voice-changer/client/demo/dist/index.js

1123 lines
7.6 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./node_modules/@dannadori/voice-changer-client-js/dist/index.js":
/*!***********************************************************************!*\
!*** ./node_modules/@dannadori/voice-changer-client-js/dist/index.js ***!
\***********************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval("/*\n * ATTENTION: The \"eval\" devtool has been used (maybe by default in mode: \"development\").\n * This devtool is neither made for production nor for readable output files.\n * It uses \"eval()\" calls to create a separate source file in the browser devtools.\n * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)\n * or disable the default devtool with \"devtool: false\".\n * If you are looking for production-ready output files, see mode: \"production\" (https://webpack.js.org/configuration/mode/).\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\n\telse { var i, a; }\n})(typeof self !== 'undefined' ? self : this, (__WEBPACK_EXTERNAL_MODULE_react__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./node_modules/@aws-crypto/crc32/build/aws_crc32.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/@aws-crypto/crc32/build/aws_crc32.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.AwsCrc32 = void 0;\\nvar tslib_1 = __webpack_require__(/*! tslib */ \\\"./node_modules/tslib/tslib.es6.js\\\");\\nvar util_1 = __webpack_require__(/*! @aws-crypto/util */ \\\"./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/index.js\\\");\\nvar index_1 = __webpack_require__(/*! ./index */ \\\"./node_modules/@aws-crypto/crc32/build/index.js\\\");\\nvar AwsCrc32 = /** @class */ (function () {\\n function AwsCrc32() {\\n this.crc32 = new index_1.Crc32();\\n }\\n AwsCrc32.prototype.update = function (toHash) {\\n if ((0, util_1.isEmptyData)(toHash))\\n return;\\n this.crc32.update((0, util_1.convertToBuffer)(toHash));\\n };\\n AwsCrc32.prototype.digest = function () {\\n return tslib_1.__awaiter(this, void 0, void 0, function () {\\n return tslib_1.__generator(this, function (_a) {\\n return [2 /*return*/, (0, util_1.numToUint8)(this.crc32.digest())];\\n });\\n });\\n };\\n AwsCrc32.prototype.reset = function () {\\n this.crc32 = new index_1.Crc32();\\n };\\n return AwsCrc32;\\n}());\\nexports.AwsCrc32 = AwsCrc32;\\n//# sourceMappingURL=aws_crc32.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/crc32/build/aws_crc32.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/crc32/build/index.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/@aws-crypto/crc32/build/index.js ***!\n \\*******************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.AwsCrc32 = exports.Crc32 = exports.crc32 = void 0;\\nvar tslib_1 = __webpack_require__(/*! tslib */ \\\"./node_modules/tslib/tslib.es6.js\\\");\\nvar util_1 = __webpack_require__(/*! @aws-crypto/util */ \\\"./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/index.js\\\");\\nfunction crc32(data) {\\n return new Crc32().update(data).digest();\\n}\\nexports.crc32 = crc32;\\nvar Crc32 = /** @class */ (function () {\\n function Crc32() {\\n this.checksum = 0xffffffff;\\n }\\n Crc32.prototype.update = function (data) {\\n var e_1, _a;\\n try {\\n for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\\n var byte = data_1_1.value;\\n this.checksum =\\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\\n }\\n }\\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\\n finally {\\n try {\\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\\n }\\n finally { if (e_1) throw e_1.error; }\\n }\\n return this;\\n };\\n Crc32.prototype.digest = function () {\\n return (this.checksum ^ 0xffffffff) >>> 0;\\n };\\n return Crc32;\\n}());\\nexports.Crc32 = Crc32;\\n// prettier-ignore\\nvar a_lookUpTable = [\\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,\\n];\\nvar lookupTable = (0, util_1.uint32ArrayFrom)(a_lookUpTable);\\nvar aws_crc32_1 = __webpack_require__(/*! ./aws_crc32 */ \\\"./node_modules/@aws-crypto/crc32/build/aws_crc32.js\\\");\\nObject.defineProperty(exports, \\\"AwsCrc32\\\", ({ enumerable: true, get: function () { return aws_crc32_1.AwsCrc32; } }));\\n//# sourceMappingURL=index.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/crc32/build/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/convertToBuffer.js\":\n/*!***********************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/convertToBuffer.js ***!\n \\***********************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \\\"./node_modules/buffer/index.js\\\")[\\\"Buffer\\\"];\\n\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.convertToBuffer = void 0;\\nvar util_utf8_browser_1 = __webpack_require__(/*! @aws-sdk/util-utf8-browser */ \\\"./node_modules/@aws-sdk/util-utf8-browser/dist-es/index.js\\\");\\n// Quick polyfill\\nvar fromUtf8 = typeof Buffer !== \\\"undefined\\\" && Buffer.from\\n ? function (input) { return Buffer.from(input, \\\"utf8\\\"); }\\n : util_utf8_browser_1.fromUtf8;\\nfunction convertToBuffer(data) {\\n // Already a Uint8, do nothing\\n if (data instanceof Uint8Array)\\n return data;\\n if (typeof data === \\\"string\\\") {\\n return fromUtf8(data);\\n }\\n if (ArrayBuffer.isView(data)) {\\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\\n }\\n return new Uint8Array(data);\\n}\\nexports.convertToBuffer = convertToBuffer;\\n//# sourceMappingURL=convertToBuffer.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/convertToBuffer.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/index.js\":\n/*!*************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/index.js ***!\n \\*************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = void 0;\\nvar convertToBuffer_1 = __webpack_require__(/*! ./convertToBuffer */ \\\"./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/convertToBuffer.js\\\");\\nObject.defineProperty(exports, \\\"convertToBuffer\\\", ({ enumerable: true, get: function () { return convertToBuffer_1.convertToBuffer; } }));\\nvar isEmptyData_1 = __webpack_require__(/*! ./isEmptyData */ \\\"./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/isEmptyData.js\\\");\\nObject.defineProperty(exports, \\\"isEmptyData\\\", ({ enumerable: true, get: function () { return isEmptyData_1.isEmptyData; } }));\\nvar numToUint8_1 = __webpack_require__(/*! ./numToUint8 */ \\\"./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/numToUint8.js\\\");\\nObject.defineProperty(exports, \\\"numToUint8\\\", ({ enumerable: true, get: function () { return numToUint8_1.numToUint8; } }));\\nvar uint32ArrayFrom_1 = __webpack_require__(/*! ./uint32ArrayFrom */ \\\"./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/uint32ArrayFrom.js\\\");\\nObject.defineProperty(exports, \\\"uint32ArrayFrom\\\", ({ enumerable: true, get: function () { return uint32ArrayFrom_1.uint32ArrayFrom; } }));\\n//# sourceMappingURL=index.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/isEmptyData.js\":\n/*!*******************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/isEmptyData.js ***!\n \\*******************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.isEmptyData = void 0;\\nfunction isEmptyData(data) {\\n if (typeof data === \\\"string\\\") {\\n return data.length === 0;\\n }\\n return data.byteLength === 0;\\n}\\nexports.isEmptyData = isEmptyData;\\n//# sourceMappingURL=isEmptyData.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/isEmptyData.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/numToUint8.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/numToUint8.js ***!\n \\******************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.numToUint8 = void 0;\\nfunction numToUint8(num) {\\n return new Uint8Array([\\n (num & 0xff000000) >> 24,\\n (num & 0x00ff0000) >> 16,\\n (num & 0x0000ff00) >> 8,\\n num & 0x000000ff,\\n ]);\\n}\\nexports.numToUint8 = numToUint8;\\n//# sourceMappingURL=numToUint8.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/numToUint8.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/uint32ArrayFrom.js\":\n/*!***********************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/uint32ArrayFrom.js ***!\n \\***********************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.uint32ArrayFrom = void 0;\\n// IE 11 does not support Array.from, so we do it manually\\nfunction uint32ArrayFrom(a_lookUpTable) {\\n if (!Uint32Array.from) {\\n var return_array = new Uint32Array(a_lookUpTable.length);\\n var a_index = 0;\\n while (a_index < a_lookUpTable.length) {\\n return_array[a_index] = a_lookUpTable[a_index];\\n a_index += 1;\\n }\\n return return_array;\\n }\\n return Uint32Array.from(a_lookUpTable);\\n}\\nexports.uint32ArrayFrom = uint32ArrayFrom;\\n//# sourceMappingURL=uint32ArrayFrom.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util/build/uint32ArrayFrom.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/ie11-detection/build/CryptoOperation.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/ie11-detection/build/CryptoOperation.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n//# sourceMappingURL=CryptoOperation.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/ie11-detection/build/CryptoOperation.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/ie11-detection/build/Key.js\":\n/*!**************************************************************!*\\\n !*** ./node_modules/@aws-crypto/ie11-detection/build/Key.js ***!\n \\**************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n//# sourceMappingURL=Key.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/ie11-detection/build/Key.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/ie11-detection/build/KeyOperation.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@aws-crypto/ie11-detection/build/KeyOperation.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n//# sourceMappingURL=KeyOperation.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/ie11-detection/build/KeyOperation.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/ie11-detection/build/MsSubtleCrypto.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/ie11-detection/build/MsSubtleCrypto.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n//# sourceMappingURL=MsSubtleCrypto.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/ie11-detection/build/MsSubtleCrypto.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/ie11-detection/build/MsWindow.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@aws-crypto/ie11-detection/build/MsWindow.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.isMsWindow = void 0;\\nvar msSubtleCryptoMethods = [\\n \\\"decrypt\\\",\\n \\\"digest\\\",\\n \\\"encrypt\\\",\\n \\\"exportKey\\\",\\n \\\"generateKey\\\",\\n \\\"importKey\\\",\\n \\\"sign\\\",\\n \\\"verify\\\"\\n];\\nfunction quacksLikeAnMsWindow(window) {\\n return \\\"MSInputMethodContext\\\" in window && \\\"msCrypto\\\" in window;\\n}\\n/**\\n * Determines if the provided window is (or is like) the window object one would\\n * expect to encounter in Internet Explorer 11.\\n */\\nfunction isMsWindow(window) {\\n if (quacksLikeAnMsWindow(window) && window.msCrypto.subtle !== undefined) {\\n var _a = window.msCrypto, getRandomValues = _a.getRandomValues, subtle_1 = _a.subtle;\\n return msSubtleCryptoMethods\\n .map(function (methodName) { return subtle_1[methodName]; })\\n .concat(getRandomValues)\\n .every(function (method) { return typeof method === \\\"function\\\"; });\\n }\\n return false;\\n}\\nexports.isMsWindow = isMsWindow;\\n//# sourceMappingURL=MsWindow.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/ie11-detection/build/MsWindow.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/ie11-detection/build/index.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@aws-crypto/ie11-detection/build/index.js ***!\n \\****************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nvar tslib_1 = __webpack_require__(/*! tslib */ \\\"./node_modules/tslib/tslib.es6.js\\\");\\ntslib_1.__exportStar(__webpack_require__(/*! ./CryptoOperation */ \\\"./node_modules/@aws-crypto/ie11-detection/build/CryptoOperation.js\\\"), exports);\\ntslib_1.__exportStar(__webpack_require__(/*! ./Key */ \\\"./node_modules/@aws-crypto/ie11-detection/build/Key.js\\\"), exports);\\ntslib_1.__exportStar(__webpack_require__(/*! ./KeyOperation */ \\\"./node_modules/@aws-crypto/ie11-detection/build/KeyOperation.js\\\"), exports);\\ntslib_1.__exportStar(__webpack_require__(/*! ./MsSubtleCrypto */ \\\"./node_modules/@aws-crypto/ie11-detection/build/MsSubtleCrypto.js\\\"), exports);\\ntslib_1.__exportStar(__webpack_require__(/*! ./MsWindow */ \\\"./node_modules/@aws-crypto/ie11-detection/build/MsWindow.js\\\"), exports);\\n//# sourceMappingURL=index.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/ie11-detection/build/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/build/constants.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/build/constants.js ***!\n \\********************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.EMPTY_DATA_SHA_256 = exports.SHA_256_HMAC_ALGO = exports.SHA_256_HASH = void 0;\\nexports.SHA_256_HASH = { name: \\\"SHA-256\\\" };\\nexports.SHA_256_HMAC_ALGO = {\\n name: \\\"HMAC\\\",\\n hash: exports.SHA_256_HASH\\n};\\nexports.EMPTY_DATA_SHA_256 = new Uint8Array([\\n 227,\\n 176,\\n 196,\\n 66,\\n 152,\\n 252,\\n 28,\\n 20,\\n 154,\\n 251,\\n 244,\\n 200,\\n 153,\\n 111,\\n 185,\\n 36,\\n 39,\\n 174,\\n 65,\\n 228,\\n 100,\\n 155,\\n 147,\\n 76,\\n 164,\\n 149,\\n 153,\\n 27,\\n 120,\\n 82,\\n 184,\\n 85\\n]);\\n//# sourceMappingURL=constants.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/build/constants.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/build/crossPlatformSha256.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/build/crossPlatformSha256.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.Sha256 = void 0;\\nvar ie11Sha256_1 = __webpack_require__(/*! ./ie11Sha256 */ \\\"./node_modules/@aws-crypto/sha256-browser/build/ie11Sha256.js\\\");\\nvar webCryptoSha256_1 = __webpack_require__(/*! ./webCryptoSha256 */ \\\"./node_modules/@aws-crypto/sha256-browser/build/webCryptoSha256.js\\\");\\nvar sha256_js_1 = __webpack_require__(/*! @aws-crypto/sha256-js */ \\\"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/index.js\\\");\\nvar supports_web_crypto_1 = __webpack_require__(/*! @aws-crypto/supports-web-crypto */ \\\"./node_modules/@aws-crypto/supports-web-crypto/build/index.js\\\");\\nvar ie11_detection_1 = __webpack_require__(/*! @aws-crypto/ie11-detection */ \\\"./node_modules/@aws-crypto/ie11-detection/build/index.js\\\");\\nvar util_locate_window_1 = __webpack_require__(/*! @aws-sdk/util-locate-window */ \\\"./node_modules/@aws-sdk/util-locate-window/dist-es/index.js\\\");\\nvar util_1 = __webpack_require__(/*! @aws-crypto/util */ \\\"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/index.js\\\");\\nvar Sha256 = /** @class */ (function () {\\n function Sha256(secret) {\\n if ((0, supports_web_crypto_1.supportsWebCrypto)((0, util_locate_window_1.locateWindow)())) {\\n this.hash = new webCryptoSha256_1.Sha256(secret);\\n }\\n else if ((0, ie11_detection_1.isMsWindow)((0, util_locate_window_1.locateWindow)())) {\\n this.hash = new ie11Sha256_1.Sha256(secret);\\n }\\n else {\\n this.hash = new sha256_js_1.Sha256(secret);\\n }\\n }\\n Sha256.prototype.update = function (data, encoding) {\\n this.hash.update((0, util_1.convertToBuffer)(data));\\n };\\n Sha256.prototype.digest = function () {\\n return this.hash.digest();\\n };\\n Sha256.prototype.reset = function () {\\n this.hash.reset();\\n };\\n return Sha256;\\n}());\\nexports.Sha256 = Sha256;\\n//# sourceMappingURL=crossPlatformSha256.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/build/crossPlatformSha256.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/build/ie11Sha256.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/build/ie11Sha256.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.Sha256 = void 0;\\nvar isEmptyData_1 = __webpack_require__(/*! ./isEmptyData */ \\\"./node_modules/@aws-crypto/sha256-browser/build/isEmptyData.js\\\");\\nvar constants_1 = __webpack_require__(/*! ./constants */ \\\"./node_modules/@aws-crypto/sha256-browser/build/constants.js\\\");\\nvar util_utf8_browser_1 = __webpack_require__(/*! @aws-sdk/util-utf8-browser */ \\\"./node_modules/@aws-sdk/util-utf8-browser/dist-es/index.js\\\");\\nvar util_locate_window_1 = __webpack_require__(/*! @aws-sdk/util-locate-window */ \\\"./node_modules/@aws-sdk/util-locate-window/dist-es/index.js\\\");\\nvar Sha256 = /** @class */ (function () {\\n function Sha256(secret) {\\n this.secret = secret;\\n this.reset();\\n }\\n Sha256.prototype.update = function (toHash) {\\n var _this = this;\\n if ((0, isEmptyData_1.isEmptyData)(toHash)) {\\n return;\\n }\\n this.operation = this.operation.then(function (operation) {\\n operation.onerror = function () {\\n _this.operation = Promise.reject(new Error(\\\"Error encountered updating hash\\\"));\\n };\\n operation.process(toArrayBufferView(toHash));\\n return operation;\\n });\\n this.operation.catch(function () { });\\n };\\n Sha256.prototype.digest = function () {\\n return this.operation.then(function (operation) {\\n return new Promise(function (resolve, reject) {\\n operation.onerror = function () {\\n reject(new Error(\\\"Error encountered finalizing hash\\\"));\\n };\\n operation.oncomplete = function () {\\n if (operation.result) {\\n resolve(new Uint8Array(operation.result));\\n }\\n reject(new Error(\\\"Error encountered finalizing hash\\\"));\\n };\\n operation.finish();\\n });\\n });\\n };\\n Sha256.prototype.reset = function () {\\n if (this.secret) {\\n this.operation = getKeyPromise(this.secret).then(function (keyData) {\\n return (0, util_locate_window_1.locateWindow)().msCrypto.subtle.sign(constants_1.SHA_256_HMAC_ALGO, keyData);\\n });\\n this.operation.catch(function () { });\\n }\\n else {\\n this.operation = Promise.resolve((0, util_locate_window_1.locateWindow)().msCrypto.subtle.digest(\\\"SHA-256\\\"));\\n }\\n };\\n return Sha256;\\n}());\\nexports.Sha256 = Sha256;\\nfunction getKeyPromise(secret) {\\n return new Promise(function (resolve, reject) {\\n var keyOperation = (0, util_locate_window_1.locateWindow)().msCrypto.subtle.importKey(\\\"raw\\\", toArrayBufferView(secret), constants_1.SHA_256_HMAC_ALGO, false, [\\\"sign\\\"]);\\n keyOperation.oncomplete = function () {\\n if (keyOperation.result) {\\n resolve(keyOperation.result);\\n }\\n reject(new Error(\\\"ImportKey completed without importing key.\\\"));\\n };\\n keyOperation.onerror = function () {\\n reject(new Error(\\\"ImportKey failed to import key.\\\"));\\n };\\n });\\n}\\nfunction toArrayBufferView(data) {\\n if (typeof data === \\\"string\\\") {\\n return (0, util_utf8_browser_1.fromUtf8)(data);\\n }\\n if (ArrayBuffer.isView(data)) {\\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\\n }\\n return new Uint8Array(data);\\n}\\n//# sourceMappingURL=ie11Sha256.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/build/ie11Sha256.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/build/index.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/build/index.js ***!\n \\****************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.WebCryptoSha256 = exports.Ie11Sha256 = void 0;\\nvar tslib_1 = __webpack_require__(/*! tslib */ \\\"./node_modules/tslib/tslib.es6.js\\\");\\ntslib_1.__exportStar(__webpack_require__(/*! ./crossPlatformSha256 */ \\\"./node_modules/@aws-crypto/sha256-browser/build/crossPlatformSha256.js\\\"), exports);\\nvar ie11Sha256_1 = __webpack_require__(/*! ./ie11Sha256 */ \\\"./node_modules/@aws-crypto/sha256-browser/build/ie11Sha256.js\\\");\\nObject.defineProperty(exports, \\\"Ie11Sha256\\\", ({ enumerable: true, get: function () { return ie11Sha256_1.Sha256; } }));\\nvar webCryptoSha256_1 = __webpack_require__(/*! ./webCryptoSha256 */ \\\"./node_modules/@aws-crypto/sha256-browser/build/webCryptoSha256.js\\\");\\nObject.defineProperty(exports, \\\"WebCryptoSha256\\\", ({ enumerable: true, get: function () { return webCryptoSha256_1.Sha256; } }));\\n//# sourceMappingURL=index.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/build/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/build/isEmptyData.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/build/isEmptyData.js ***!\n \\**********************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.isEmptyData = void 0;\\nfunction isEmptyData(data) {\\n if (typeof data === \\\"string\\\") {\\n return data.length === 0;\\n }\\n return data.byteLength === 0;\\n}\\nexports.isEmptyData = isEmptyData;\\n//# sourceMappingURL=isEmptyData.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/build/isEmptyData.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/build/webCryptoSha256.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/build/webCryptoSha256.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.Sha256 = void 0;\\nvar util_1 = __webpack_require__(/*! @aws-crypto/util */ \\\"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/index.js\\\");\\nvar constants_1 = __webpack_require__(/*! ./constants */ \\\"./node_modules/@aws-crypto/sha256-browser/build/constants.js\\\");\\nvar util_locate_window_1 = __webpack_require__(/*! @aws-sdk/util-locate-window */ \\\"./node_modules/@aws-sdk/util-locate-window/dist-es/index.js\\\");\\nvar Sha256 = /** @class */ (function () {\\n function Sha256(secret) {\\n this.toHash = new Uint8Array(0);\\n this.secret = secret;\\n this.reset();\\n }\\n Sha256.prototype.update = function (data) {\\n if ((0, util_1.isEmptyData)(data)) {\\n return;\\n }\\n var update = (0, util_1.convertToBuffer)(data);\\n var typedArray = new Uint8Array(this.toHash.byteLength + update.byteLength);\\n typedArray.set(this.toHash, 0);\\n typedArray.set(update, this.toHash.byteLength);\\n this.toHash = typedArray;\\n };\\n Sha256.prototype.digest = function () {\\n var _this = this;\\n if (this.key) {\\n return this.key.then(function (key) {\\n return (0, util_locate_window_1.locateWindow)()\\n .crypto.subtle.sign(constants_1.SHA_256_HMAC_ALGO, key, _this.toHash)\\n .then(function (data) { return new Uint8Array(data); });\\n });\\n }\\n if ((0, util_1.isEmptyData)(this.toHash)) {\\n return Promise.resolve(constants_1.EMPTY_DATA_SHA_256);\\n }\\n return Promise.resolve()\\n .then(function () {\\n return (0, util_locate_window_1.locateWindow)().crypto.subtle.digest(constants_1.SHA_256_HASH, _this.toHash);\\n })\\n .then(function (data) { return Promise.resolve(new Uint8Array(data)); });\\n };\\n Sha256.prototype.reset = function () {\\n var _this = this;\\n this.toHash = new Uint8Array(0);\\n if (this.secret && this.secret !== void 0) {\\n this.key = new Promise(function (resolve, reject) {\\n (0, util_locate_window_1.locateWindow)()\\n .crypto.subtle.importKey(\\\"raw\\\", (0, util_1.convertToBuffer)(_this.secret), constants_1.SHA_256_HMAC_ALGO, false, [\\\"sign\\\"])\\n .then(resolve, reject);\\n });\\n this.key.catch(function () { });\\n }\\n };\\n return Sha256;\\n}());\\nexports.Sha256 = Sha256;\\n//# sourceMappingURL=webCryptoSha256.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/build/webCryptoSha256.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/RawSha256.js\":\n/*!*******************************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/RawSha256.js ***!\n \\*******************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.RawSha256 = void 0;\\nvar constants_1 = __webpack_require__(/*! ./constants */ \\\"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/constants.js\\\");\\n/**\\n * @internal\\n */\\nvar RawSha256 = /** @class */ (function () {\\n function RawSha256() {\\n this.state = Int32Array.from(constants_1.INIT);\\n this.temp = new Int32Array(64);\\n this.buffer = new Uint8Array(64);\\n this.bufferLength = 0;\\n this.bytesHashed = 0;\\n /**\\n * @internal\\n */\\n this.finished = false;\\n }\\n RawSha256.prototype.update = function (data) {\\n if (this.finished) {\\n throw new Error(\\\"Attempted to update an already finished hash.\\\");\\n }\\n var position = 0;\\n var byteLength = data.byteLength;\\n this.bytesHashed += byteLength;\\n if (this.bytesHashed * 8 > constants_1.MAX_HASHABLE_LENGTH) {\\n throw new Error(\\\"Cannot hash more than 2^53 - 1 bits\\\");\\n }\\n while (byteLength > 0) {\\n this.buffer[this.bufferLength++] = data[position++];\\n byteLength--;\\n if (this.bufferLength === constants_1.BLOCK_SIZE) {\\n this.hashBuffer();\\n this.bufferLength = 0;\\n }\\n }\\n };\\n RawSha256.prototype.digest = function () {\\n if (!this.finished) {\\n var bitsHashed = this.bytesHashed * 8;\\n var bufferView = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);\\n var undecoratedLength = this.bufferLength;\\n bufferView.setUint8(this.bufferLength++, 0x80);\\n // Ensure the final block has enough room for the hashed length\\n if (undecoratedLength % constants_1.BLOCK_SIZE >= constants_1.BLOCK_SIZE - 8) {\\n for (var i = this.bufferLength; i < constants_1.BLOCK_SIZE; i++) {\\n bufferView.setUint8(i, 0);\\n }\\n this.hashBuffer();\\n this.bufferLength = 0;\\n }\\n for (var i = this.bufferLength; i < constants_1.BLOCK_SIZE - 8; i++) {\\n bufferView.setUint8(i, 0);\\n }\\n bufferView.setUint32(constants_1.BLOCK_SIZE - 8, Math.floor(bitsHashed / 0x100000000), true);\\n bufferView.setUint32(constants_1.BLOCK_SIZE - 4, bitsHashed);\\n this.hashBuffer();\\n this.finished = true;\\n }\\n // The value in state is little-endian rather than big-endian, so flip\\n // each word into a new Uint8Array\\n var out = new Uint8Array(constants_1.DIGEST_LENGTH);\\n for (var i = 0; i < 8; i++) {\\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\\n }\\n return out;\\n };\\n RawSha256.prototype.hashBuffer = function () {\\n var _a = this, buffer = _a.buffer, state = _a.state;\\n var state0 = state[0], state1 = state[1], state2 = state[2], state3 = state[3], state4 = state[4], state5 = state[5], state6 = state[6], state7 = state[7];\\n for (var i = 0; i < constants_1.BLOCK_SIZE; i++) {\\n if (i < 16) {\\n this.temp[i] =\\n ((buffer[i * 4] & 0xff) << 24) |\\n ((buffer[i * 4 + 1] & 0xff) << 16) |\\n ((buffer[i * 4 + 2] & 0xff) << 8) |\\n (buffer[i * 4 + 3] & 0xff);\\n }\\n else {\\n var u = this.temp[i - 2];\\n var t1_1 = ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\\n u = this.temp[i - 15];\\n var t2_1 = ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\\n this.temp[i] =\\n ((t1_1 + this.temp[i - 7]) | 0) + ((t2_1 + this.temp[i - 16]) | 0);\\n }\\n var t1 = ((((((state4 >>> 6) | (state4 << 26)) ^\\n ((state4 >>> 11) | (state4 << 21)) ^\\n ((state4 >>> 25) | (state4 << 7))) +\\n ((state4 & state5) ^ (~state4 & state6))) |\\n 0) +\\n ((state7 + ((constants_1.KEY[i] + this.temp[i]) | 0)) | 0)) |\\n 0;\\n var t2 = ((((state0 >>> 2) | (state0 << 30)) ^\\n ((state0 >>> 13) | (state0 << 19)) ^\\n ((state0 >>> 22) | (state0 << 10))) +\\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\\n 0;\\n state7 = state6;\\n state6 = state5;\\n state5 = state4;\\n state4 = (state3 + t1) | 0;\\n state3 = state2;\\n state2 = state1;\\n state1 = state0;\\n state0 = (t1 + t2) | 0;\\n }\\n state[0] += state0;\\n state[1] += state1;\\n state[2] += state2;\\n state[3] += state3;\\n state[4] += state4;\\n state[5] += state5;\\n state[6] += state6;\\n state[7] += state7;\\n };\\n return RawSha256;\\n}());\\nexports.RawSha256 = RawSha256;\\n//# sourceMappingURL=RawSha256.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/RawSha256.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/constants.js\":\n/*!*******************************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/constants.js ***!\n \\*******************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.MAX_HASHABLE_LENGTH = exports.INIT = exports.KEY = exports.DIGEST_LENGTH = exports.BLOCK_SIZE = void 0;\\n/**\\n * @internal\\n */\\nexports.BLOCK_SIZE = 64;\\n/**\\n * @internal\\n */\\nexports.DIGEST_LENGTH = 32;\\n/**\\n * @internal\\n */\\nexports.KEY = new Uint32Array([\\n 0x428a2f98,\\n 0x71374491,\\n 0xb5c0fbcf,\\n 0xe9b5dba5,\\n 0x3956c25b,\\n 0x59f111f1,\\n 0x923f82a4,\\n 0xab1c5ed5,\\n 0xd807aa98,\\n 0x12835b01,\\n 0x243185be,\\n 0x550c7dc3,\\n 0x72be5d74,\\n 0x80deb1fe,\\n 0x9bdc06a7,\\n 0xc19bf174,\\n 0xe49b69c1,\\n 0xefbe4786,\\n 0x0fc19dc6,\\n 0x240ca1cc,\\n 0x2de92c6f,\\n 0x4a7484aa,\\n 0x5cb0a9dc,\\n 0x76f988da,\\n 0x983e5152,\\n 0xa831c66d,\\n 0xb00327c8,\\n 0xbf597fc7,\\n 0xc6e00bf3,\\n 0xd5a79147,\\n 0x06ca6351,\\n 0x14292967,\\n 0x27b70a85,\\n 0x2e1b2138,\\n 0x4d2c6dfc,\\n 0x53380d13,\\n 0x650a7354,\\n 0x766a0abb,\\n 0x81c2c92e,\\n 0x92722c85,\\n 0xa2bfe8a1,\\n 0xa81a664b,\\n 0xc24b8b70,\\n 0xc76c51a3,\\n 0xd192e819,\\n 0xd6990624,\\n 0xf40e3585,\\n 0x106aa070,\\n 0x19a4c116,\\n 0x1e376c08,\\n 0x2748774c,\\n 0x34b0bcb5,\\n 0x391c0cb3,\\n 0x4ed8aa4a,\\n 0x5b9cca4f,\\n 0x682e6ff3,\\n 0x748f82ee,\\n 0x78a5636f,\\n 0x84c87814,\\n 0x8cc70208,\\n 0x90befffa,\\n 0xa4506ceb,\\n 0xbef9a3f7,\\n 0xc67178f2\\n]);\\n/**\\n * @internal\\n */\\nexports.INIT = [\\n 0x6a09e667,\\n 0xbb67ae85,\\n 0x3c6ef372,\\n 0xa54ff53a,\\n 0x510e527f,\\n 0x9b05688c,\\n 0x1f83d9ab,\\n 0x5be0cd19\\n];\\n/**\\n * @internal\\n */\\nexports.MAX_HASHABLE_LENGTH = Math.pow(2, 53) - 1;\\n//# sourceMappingURL=constants.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/constants.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/index.js\":\n/*!***************************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/index.js ***!\n \\***************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nvar tslib_1 = __webpack_require__(/*! tslib */ \\\"./node_modules/tslib/tslib.es6.js\\\");\\ntslib_1.__exportStar(__webpack_require__(/*! ./jsSha256 */ \\\"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/jsSha256.js\\\"), exports);\\n//# sourceMappingURL=index.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/jsSha256.js\":\n/*!******************************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/jsSha256.js ***!\n \\******************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.Sha256 = void 0;\\nvar tslib_1 = __webpack_require__(/*! tslib */ \\\"./node_modules/tslib/tslib.es6.js\\\");\\nvar constants_1 = __webpack_require__(/*! ./constants */ \\\"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/constants.js\\\");\\nvar RawSha256_1 = __webpack_require__(/*! ./RawSha256 */ \\\"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/RawSha256.js\\\");\\nvar util_1 = __webpack_require__(/*! @aws-crypto/util */ \\\"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/index.js\\\");\\nvar Sha256 = /** @class */ (function () {\\n function Sha256(secret) {\\n this.secret = secret;\\n this.hash = new RawSha256_1.RawSha256();\\n this.reset();\\n }\\n Sha256.prototype.update = function (toHash) {\\n if ((0, util_1.isEmptyData)(toHash) || this.error) {\\n return;\\n }\\n try {\\n this.hash.update((0, util_1.convertToBuffer)(toHash));\\n }\\n catch (e) {\\n this.error = e;\\n }\\n };\\n /* This synchronous method keeps compatibility\\n * with the v2 aws-sdk.\\n */\\n Sha256.prototype.digestSync = function () {\\n if (this.error) {\\n throw this.error;\\n }\\n if (this.outer) {\\n if (!this.outer.finished) {\\n this.outer.update(this.hash.digest());\\n }\\n return this.outer.digest();\\n }\\n return this.hash.digest();\\n };\\n /* The underlying digest method here is synchronous.\\n * To keep the same interface with the other hash functions\\n * the default is to expose this as an async method.\\n * However, it can sometimes be useful to have a sync method.\\n */\\n Sha256.prototype.digest = function () {\\n return tslib_1.__awaiter(this, void 0, void 0, function () {\\n return tslib_1.__generator(this, function (_a) {\\n return [2 /*return*/, this.digestSync()];\\n });\\n });\\n };\\n Sha256.prototype.reset = function () {\\n this.hash = new RawSha256_1.RawSha256();\\n if (this.secret) {\\n this.outer = new RawSha256_1.RawSha256();\\n var inner = bufferFromSecret(this.secret);\\n var outer = new Uint8Array(constants_1.BLOCK_SIZE);\\n outer.set(inner);\\n for (var i = 0; i < constants_1.BLOCK_SIZE; i++) {\\n inner[i] ^= 0x36;\\n outer[i] ^= 0x5c;\\n }\\n this.hash.update(inner);\\n this.outer.update(outer);\\n // overwrite the copied key in memory\\n for (var i = 0; i < inner.byteLength; i++) {\\n inner[i] = 0;\\n }\\n }\\n };\\n return Sha256;\\n}());\\nexports.Sha256 = Sha256;\\nfunction bufferFromSecret(secret) {\\n var input = (0, util_1.convertToBuffer)(secret);\\n if (input.byteLength > constants_1.BLOCK_SIZE) {\\n var bufferHash = new RawSha256_1.RawSha256();\\n bufferHash.update(input);\\n input = bufferHash.digest();\\n }\\n var buffer = new Uint8Array(constants_1.BLOCK_SIZE);\\n buffer.set(input);\\n return buffer;\\n}\\n//# sourceMappingURL=jsSha256.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/jsSha256.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/convertToBuffer.js\":\n/*!********************************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/convertToBuffer.js ***!\n \\********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \\\"./node_modules/buffer/index.js\\\")[\\\"Buffer\\\"];\\n\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.convertToBuffer = void 0;\\nvar util_utf8_browser_1 = __webpack_require__(/*! @aws-sdk/util-utf8-browser */ \\\"./node_modules/@aws-sdk/util-utf8-browser/dist-es/index.js\\\");\\n// Quick polyfill\\nvar fromUtf8 = typeof Buffer !== \\\"undefined\\\" && Buffer.from\\n ? function (input) { return Buffer.from(input, \\\"utf8\\\"); }\\n : util_utf8_browser_1.fromUtf8;\\nfunction convertToBuffer(data) {\\n // Already a Uint8, do nothing\\n if (data instanceof Uint8Array)\\n return data;\\n if (typeof data === \\\"string\\\") {\\n return fromUtf8(data);\\n }\\n if (ArrayBuffer.isView(data)) {\\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\\n }\\n return new Uint8Array(data);\\n}\\nexports.convertToBuffer = convertToBuffer;\\n//# sourceMappingURL=convertToBuffer.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/convertToBuffer.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/index.js\":\n/*!**********************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/index.js ***!\n \\**********************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = void 0;\\nvar convertToBuffer_1 = __webpack_require__(/*! ./convertToBuffer */ \\\"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/convertToBuffer.js\\\");\\nObject.defineProperty(exports, \\\"convertToBuffer\\\", ({ enumerable: true, get: function () { return convertToBuffer_1.convertToBuffer; } }));\\nvar isEmptyData_1 = __webpack_require__(/*! ./isEmptyData */ \\\"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/isEmptyData.js\\\");\\nObject.defineProperty(exports, \\\"isEmptyData\\\", ({ enumerable: true, get: function () { return isEmptyData_1.isEmptyData; } }));\\nvar numToUint8_1 = __webpack_require__(/*! ./numToUint8 */ \\\"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/numToUint8.js\\\");\\nObject.defineProperty(exports, \\\"numToUint8\\\", ({ enumerable: true, get: function () { return numToUint8_1.numToUint8; } }));\\nvar uint32ArrayFrom_1 = __webpack_require__(/*! ./uint32ArrayFrom */ \\\"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/uint32ArrayFrom.js\\\");\\nObject.defineProperty(exports, \\\"uint32ArrayFrom\\\", ({ enumerable: true, get: function () { return uint32ArrayFrom_1.uint32ArrayFrom; } }));\\n//# sourceMappingURL=index.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/isEmptyData.js\":\n/*!****************************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/isEmptyData.js ***!\n \\****************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.isEmptyData = void 0;\\nfunction isEmptyData(data) {\\n if (typeof data === \\\"string\\\") {\\n return data.length === 0;\\n }\\n return data.byteLength === 0;\\n}\\nexports.isEmptyData = isEmptyData;\\n//# sourceMappingURL=isEmptyData.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/isEmptyData.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/numToUint8.js\":\n/*!***************************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/numToUint8.js ***!\n \\***************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.numToUint8 = void 0;\\nfunction numToUint8(num) {\\n return new Uint8Array([\\n (num & 0xff000000) >> 24,\\n (num & 0x00ff0000) >> 16,\\n (num & 0x0000ff00) >> 8,\\n num & 0x000000ff,\\n ]);\\n}\\nexports.numToUint8 = numToUint8;\\n//# sourceMappingURL=numToUint8.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/numToUint8.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/uint32ArrayFrom.js\":\n/*!********************************************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/uint32ArrayFrom.js ***!\n \\********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.uint32ArrayFrom = void 0;\\n// IE 11 does not support Array.from, so we do it manually\\nfunction uint32ArrayFrom(a_lookUpTable) {\\n if (!Uint32Array.from) {\\n var return_array = new Uint32Array(a_lookUpTable.length);\\n var a_index = 0;\\n while (a_index < a_lookUpTable.length) {\\n return_array[a_index] = a_lookUpTable[a_index];\\n a_index += 1;\\n }\\n return return_array;\\n }\\n return Uint32Array.from(a_lookUpTable);\\n}\\nexports.uint32ArrayFrom = uint32ArrayFrom;\\n//# sourceMappingURL=uint32ArrayFrom.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util/build/uint32ArrayFrom.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-js/build/RawSha256.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-js/build/RawSha256.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.RawSha256 = void 0;\\nvar constants_1 = __webpack_require__(/*! ./constants */ \\\"./node_modules/@aws-crypto/sha256-js/build/constants.js\\\");\\n/**\\n * @internal\\n */\\nvar RawSha256 = /** @class */ (function () {\\n function RawSha256() {\\n this.state = Int32Array.from(constants_1.INIT);\\n this.temp = new Int32Array(64);\\n this.buffer = new Uint8Array(64);\\n this.bufferLength = 0;\\n this.bytesHashed = 0;\\n /**\\n * @internal\\n */\\n this.finished = false;\\n }\\n RawSha256.prototype.update = function (data) {\\n if (this.finished) {\\n throw new Error(\\\"Attempted to update an already finished hash.\\\");\\n }\\n var position = 0;\\n var byteLength = data.byteLength;\\n this.bytesHashed += byteLength;\\n if (this.bytesHashed * 8 > constants_1.MAX_HASHABLE_LENGTH) {\\n throw new Error(\\\"Cannot hash more than 2^53 - 1 bits\\\");\\n }\\n while (byteLength > 0) {\\n this.buffer[this.bufferLength++] = data[position++];\\n byteLength--;\\n if (this.bufferLength === constants_1.BLOCK_SIZE) {\\n this.hashBuffer();\\n this.bufferLength = 0;\\n }\\n }\\n };\\n RawSha256.prototype.digest = function () {\\n if (!this.finished) {\\n var bitsHashed = this.bytesHashed * 8;\\n var bufferView = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);\\n var undecoratedLength = this.bufferLength;\\n bufferView.setUint8(this.bufferLength++, 0x80);\\n // Ensure the final block has enough room for the hashed length\\n if (undecoratedLength % constants_1.BLOCK_SIZE >= constants_1.BLOCK_SIZE - 8) {\\n for (var i = this.bufferLength; i < constants_1.BLOCK_SIZE; i++) {\\n bufferView.setUint8(i, 0);\\n }\\n this.hashBuffer();\\n this.bufferLength = 0;\\n }\\n for (var i = this.bufferLength; i < constants_1.BLOCK_SIZE - 8; i++) {\\n bufferView.setUint8(i, 0);\\n }\\n bufferView.setUint32(constants_1.BLOCK_SIZE - 8, Math.floor(bitsHashed / 0x100000000), true);\\n bufferView.setUint32(constants_1.BLOCK_SIZE - 4, bitsHashed);\\n this.hashBuffer();\\n this.finished = true;\\n }\\n // The value in state is little-endian rather than big-endian, so flip\\n // each word into a new Uint8Array\\n var out = new Uint8Array(constants_1.DIGEST_LENGTH);\\n for (var i = 0; i < 8; i++) {\\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\\n }\\n return out;\\n };\\n RawSha256.prototype.hashBuffer = function () {\\n var _a = this, buffer = _a.buffer, state = _a.state;\\n var state0 = state[0], state1 = state[1], state2 = state[2], state3 = state[3], state4 = state[4], state5 = state[5], state6 = state[6], state7 = state[7];\\n for (var i = 0; i < constants_1.BLOCK_SIZE; i++) {\\n if (i < 16) {\\n this.temp[i] =\\n ((buffer[i * 4] & 0xff) << 24) |\\n ((buffer[i * 4 + 1] & 0xff) << 16) |\\n ((buffer[i * 4 + 2] & 0xff) << 8) |\\n (buffer[i * 4 + 3] & 0xff);\\n }\\n else {\\n var u = this.temp[i - 2];\\n var t1_1 = ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\\n u = this.temp[i - 15];\\n var t2_1 = ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\\n this.temp[i] =\\n ((t1_1 + this.temp[i - 7]) | 0) + ((t2_1 + this.temp[i - 16]) | 0);\\n }\\n var t1 = ((((((state4 >>> 6) | (state4 << 26)) ^\\n ((state4 >>> 11) | (state4 << 21)) ^\\n ((state4 >>> 25) | (state4 << 7))) +\\n ((state4 & state5) ^ (~state4 & state6))) |\\n 0) +\\n ((state7 + ((constants_1.KEY[i] + this.temp[i]) | 0)) | 0)) |\\n 0;\\n var t2 = ((((state0 >>> 2) | (state0 << 30)) ^\\n ((state0 >>> 13) | (state0 << 19)) ^\\n ((state0 >>> 22) | (state0 << 10))) +\\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\\n 0;\\n state7 = state6;\\n state6 = state5;\\n state5 = state4;\\n state4 = (state3 + t1) | 0;\\n state3 = state2;\\n state2 = state1;\\n state1 = state0;\\n state0 = (t1 + t2) | 0;\\n }\\n state[0] += state0;\\n state[1] += state1;\\n state[2] += state2;\\n state[3] += state3;\\n state[4] += state4;\\n state[5] += state5;\\n state[6] += state6;\\n state[7] += state7;\\n };\\n return RawSha256;\\n}());\\nexports.RawSha256 = RawSha256;\\n//# sourceMappingURL=RawSha256.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-js/build/RawSha256.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-js/build/constants.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-js/build/constants.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.MAX_HASHABLE_LENGTH = exports.INIT = exports.KEY = exports.DIGEST_LENGTH = exports.BLOCK_SIZE = void 0;\\n/**\\n * @internal\\n */\\nexports.BLOCK_SIZE = 64;\\n/**\\n * @internal\\n */\\nexports.DIGEST_LENGTH = 32;\\n/**\\n * @internal\\n */\\nexports.KEY = new Uint32Array([\\n 0x428a2f98,\\n 0x71374491,\\n 0xb5c0fbcf,\\n 0xe9b5dba5,\\n 0x3956c25b,\\n 0x59f111f1,\\n 0x923f82a4,\\n 0xab1c5ed5,\\n 0xd807aa98,\\n 0x12835b01,\\n 0x243185be,\\n 0x550c7dc3,\\n 0x72be5d74,\\n 0x80deb1fe,\\n 0x9bdc06a7,\\n 0xc19bf174,\\n 0xe49b69c1,\\n 0xefbe4786,\\n 0x0fc19dc6,\\n 0x240ca1cc,\\n 0x2de92c6f,\\n 0x4a7484aa,\\n 0x5cb0a9dc,\\n 0x76f988da,\\n 0x983e5152,\\n 0xa831c66d,\\n 0xb00327c8,\\n 0xbf597fc7,\\n 0xc6e00bf3,\\n 0xd5a79147,\\n 0x06ca6351,\\n 0x14292967,\\n 0x27b70a85,\\n 0x2e1b2138,\\n 0x4d2c6dfc,\\n 0x53380d13,\\n 0x650a7354,\\n 0x766a0abb,\\n 0x81c2c92e,\\n 0x92722c85,\\n 0xa2bfe8a1,\\n 0xa81a664b,\\n 0xc24b8b70,\\n 0xc76c51a3,\\n 0xd192e819,\\n 0xd6990624,\\n 0xf40e3585,\\n 0x106aa070,\\n 0x19a4c116,\\n 0x1e376c08,\\n 0x2748774c,\\n 0x34b0bcb5,\\n 0x391c0cb3,\\n 0x4ed8aa4a,\\n 0x5b9cca4f,\\n 0x682e6ff3,\\n 0x748f82ee,\\n 0x78a5636f,\\n 0x84c87814,\\n 0x8cc70208,\\n 0x90befffa,\\n 0xa4506ceb,\\n 0xbef9a3f7,\\n 0xc67178f2\\n]);\\n/**\\n * @internal\\n */\\nexports.INIT = [\\n 0x6a09e667,\\n 0xbb67ae85,\\n 0x3c6ef372,\\n 0xa54ff53a,\\n 0x510e527f,\\n 0x9b05688c,\\n 0x1f83d9ab,\\n 0x5be0cd19\\n];\\n/**\\n * @internal\\n */\\nexports.MAX_HASHABLE_LENGTH = Math.pow(2, 53) - 1;\\n//# sourceMappingURL=constants.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-js/build/constants.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-js/build/index.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-js/build/index.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nvar tslib_1 = __webpack_require__(/*! tslib */ \\\"./node_modules/tslib/tslib.es6.js\\\");\\ntslib_1.__exportStar(__webpack_require__(/*! ./jsSha256 */ \\\"./node_modules/@aws-crypto/sha256-js/build/jsSha256.js\\\"), exports);\\n//# sourceMappingURL=index.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-js/build/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/sha256-js/build/jsSha256.js\":\n/*!**************************************************************!*\\\n !*** ./node_modules/@aws-crypto/sha256-js/build/jsSha256.js ***!\n \\**************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.Sha256 = void 0;\\nvar tslib_1 = __webpack_require__(/*! tslib */ \\\"./node_modules/tslib/tslib.es6.js\\\");\\nvar constants_1 = __webpack_require__(/*! ./constants */ \\\"./node_modules/@aws-crypto/sha256-js/build/constants.js\\\");\\nvar RawSha256_1 = __webpack_require__(/*! ./RawSha256 */ \\\"./node_modules/@aws-crypto/sha256-js/build/RawSha256.js\\\");\\nvar util_1 = __webpack_require__(/*! @aws-crypto/util */ \\\"./node_modules/@aws-crypto/util/build/index.js\\\");\\nvar Sha256 = /** @class */ (function () {\\n function Sha256(secret) {\\n this.hash = new RawSha256_1.RawSha256();\\n if (secret) {\\n this.outer = new RawSha256_1.RawSha256();\\n var inner = bufferFromSecret(secret);\\n var outer = new Uint8Array(constants_1.BLOCK_SIZE);\\n outer.set(inner);\\n for (var i = 0; i < constants_1.BLOCK_SIZE; i++) {\\n inner[i] ^= 0x36;\\n outer[i] ^= 0x5c;\\n }\\n this.hash.update(inner);\\n this.outer.update(outer);\\n // overwrite the copied key in memory\\n for (var i = 0; i < inner.byteLength; i++) {\\n inner[i] = 0;\\n }\\n }\\n }\\n Sha256.prototype.update = function (toHash) {\\n if ((0, util_1.isEmptyData)(toHash) || this.error) {\\n return;\\n }\\n try {\\n this.hash.update((0, util_1.convertToBuffer)(toHash));\\n }\\n catch (e) {\\n this.error = e;\\n }\\n };\\n /* This synchronous method keeps compatibility\\n * with the v2 aws-sdk.\\n */\\n Sha256.prototype.digestSync = function () {\\n if (this.error) {\\n throw this.error;\\n }\\n if (this.outer) {\\n if (!this.outer.finished) {\\n this.outer.update(this.hash.digest());\\n }\\n return this.outer.digest();\\n }\\n return this.hash.digest();\\n };\\n /* The underlying digest method here is synchronous.\\n * To keep the same interface with the other hash functions\\n * the default is to expose this as an async method.\\n * However, it can sometimes be useful to have a sync method.\\n */\\n Sha256.prototype.digest = function () {\\n return tslib_1.__awaiter(this, void 0, void 0, function () {\\n return tslib_1.__generator(this, function (_a) {\\n return [2 /*return*/, this.digestSync()];\\n });\\n });\\n };\\n return Sha256;\\n}());\\nexports.Sha256 = Sha256;\\nfunction bufferFromSecret(secret) {\\n var input = (0, util_1.convertToBuffer)(secret);\\n if (input.byteLength > constants_1.BLOCK_SIZE) {\\n var bufferHash = new RawSha256_1.RawSha256();\\n bufferHash.update(input);\\n input = bufferHash.digest();\\n }\\n var buffer = new Uint8Array(constants_1.BLOCK_SIZE);\\n buffer.set(input);\\n return buffer;\\n}\\n//# sourceMappingURL=jsSha256.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/sha256-js/build/jsSha256.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/supports-web-crypto/build/index.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/@aws-crypto/supports-web-crypto/build/index.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nvar tslib_1 = __webpack_require__(/*! tslib */ \\\"./node_modules/tslib/tslib.es6.js\\\");\\ntslib_1.__exportStar(__webpack_require__(/*! ./supportsWebCrypto */ \\\"./node_modules/@aws-crypto/supports-web-crypto/build/supportsWebCrypto.js\\\"), exports);\\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOERBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc3VwcG9ydHNXZWJDcnlwdG9cIjtcbiJdfQ==\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/supports-web-crypto/build/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/supports-web-crypto/build/supportsWebCrypto.js\":\n/*!*********************************************************************************!*\\\n !*** ./node_modules/@aws-crypto/supports-web-crypto/build/supportsWebCrypto.js ***!\n \\*********************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.supportsZeroByteGCM = exports.supportsSubtleCrypto = exports.supportsSecureRandom = exports.supportsWebCrypto = void 0;\\nvar tslib_1 = __webpack_require__(/*! tslib */ \\\"./node_modules/tslib/tslib.es6.js\\\");\\nvar subtleCryptoMethods = [\\n \\\"decrypt\\\",\\n \\\"digest\\\",\\n \\\"encrypt\\\",\\n \\\"exportKey\\\",\\n \\\"generateKey\\\",\\n \\\"importKey\\\",\\n \\\"sign\\\",\\n \\\"verify\\\"\\n];\\nfunction supportsWebCrypto(window) {\\n if (supportsSecureRandom(window) &&\\n typeof window.crypto.subtle === \\\"object\\\") {\\n var subtle = window.crypto.subtle;\\n return supportsSubtleCrypto(subtle);\\n }\\n return false;\\n}\\nexports.supportsWebCrypto = supportsWebCrypto;\\nfunction supportsSecureRandom(window) {\\n if (typeof window === \\\"object\\\" && typeof window.crypto === \\\"object\\\") {\\n var getRandomValues = window.crypto.getRandomValues;\\n return typeof getRandomValues === \\\"function\\\";\\n }\\n return false;\\n}\\nexports.supportsSecureRandom = supportsSecureRandom;\\nfunction supportsSubtleCrypto(subtle) {\\n return (subtle &&\\n subtleCryptoMethods.every(function (methodName) { return typeof subtle[methodName] === \\\"function\\\"; }));\\n}\\nexports.supportsSubtleCrypto = supportsSubtleCrypto;\\nfunction supportsZeroByteGCM(subtle) {\\n return tslib_1.__awaiter(this, void 0, void 0, function () {\\n var key, zeroByteAuthTag, _a;\\n return tslib_1.__generator(this, function (_b) {\\n switch (_b.label) {\\n case 0:\\n if (!supportsSubtleCrypto(subtle))\\n return [2 /*return*/, false];\\n _b.label = 1;\\n case 1:\\n _b.trys.push([1, 4, , 5]);\\n return [4 /*yield*/, subtle.generateKey({ name: \\\"AES-GCM\\\", length: 128 }, false, [\\\"encrypt\\\"])];\\n case 2:\\n key = _b.sent();\\n return [4 /*yield*/, subtle.encrypt({\\n name: \\\"AES-GCM\\\",\\n iv: new Uint8Array(Array(12)),\\n additionalData: new Uint8Array(Array(16)),\\n tagLength: 128\\n }, key, new Uint8Array(0))];\\n case 3:\\n zeroByteAuthTag = _b.sent();\\n return [2 /*return*/, zeroByteAuthTag.byteLength === 16];\\n case 4:\\n _a = _b.sent();\\n return [2 /*return*/, false];\\n case 5: return [2 /*return*/];\\n }\\n });\\n });\\n}\\nexports.supportsZeroByteGCM = supportsZeroByteGCM;\\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydHNXZWJDcnlwdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3VwcG9ydHNXZWJDcnlwdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQVVBLElBQU0sbUJBQW1CLEdBQThCO0lBQ3JELFNBQVM7SUFDVCxRQUFRO0lBQ1IsU0FBUztJQUNULFdBQVc7SUFDWCxhQUFhO0lBQ2IsV0FBVztJQUNYLE1BQU07SUFDTixRQUFRO0NBQ1QsQ0FBQztBQUVGLFNBQWdCLGlCQUFpQixDQUFDLE1BQWM7SUFDOUMsSUFDRSxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7UUFDNUIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQ3hDO1FBQ1EsSUFBQSxNQUFNLEdBQUssTUFBTSxDQUFDLE1BQU0sT0FBbEIsQ0FBbUI7UUFFakMsT0FBTyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNyQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQVhELDhDQVdDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUMsTUFBYztJQUNqRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQzNELElBQUEsZUFBZSxHQUFLLE1BQU0sQ0FBQyxNQUFNLGdCQUFsQixDQUFtQjtRQUUxQyxPQUFPLE9BQU8sZUFBZSxLQUFLLFVBQVUsQ0FBQztLQUM5QztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQVJELG9EQVFDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUMsTUFBb0I7SUFDdkQsT0FBTyxDQUNMLE1BQU07UUFDTixtQkFBbUIsQ0FBQyxLQUFLLENBQ3ZCLFVBQUEsVUFBVSxJQUFJLE9BQUEsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssVUFBVSxFQUF4QyxDQUF3QyxDQUN2RCxDQUNGLENBQUM7QUFDSixDQUFDO0FBUEQsb0RBT0M7QUFFRCxTQUFzQixtQkFBbUIsQ0FBQyxNQUFvQjs7Ozs7O29CQUM1RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO3dCQUFFLHNCQUFPLEtBQUssRUFBQzs7OztvQkFFbEMscUJBQU0sTUFBTSxDQUFDLFdBQVcsQ0FDbEMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFDaEMsS0FBSyxFQUNMLENBQUMsU0FBUyxDQUFDLENBQ1osRUFBQTs7b0JBSkssR0FBRyxHQUFHLFNBSVg7b0JBQ3VCLHFCQUFNLE1BQU0sQ0FBQyxPQUFPLENBQzFDOzRCQUNFLElBQUksRUFBRSxTQUFTOzRCQUNmLEVBQUUsRUFBRSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQzdCLGNBQWMsRUFBRSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ3pDLFNBQVMsRUFBRSxHQUFHO3lCQUNmLEVBQ0QsR0FBRyxFQUNILElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUNsQixFQUFBOztvQkFUSyxlQUFlLEdBQUcsU0FTdkI7b0JBQ0Qsc0JBQU8sZUFBZSxDQUFDLFVBQVUsS0FBSyxFQUFFLEVBQUM7OztvQkFFekMsc0JBQU8sS0FBSyxFQUFDOzs7OztDQUVoQjtBQXRCRCxrREFzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFN1YnRsZUNyeXB0b01ldGhvZCA9XG4gIHwgXCJkZWNyeXB0XCJcbiAgfCBcImRpZ2VzdFwiXG4gIHwgXCJlbmNyeXB0XCJcbiAgfCBcImV4cG9ydEtleVwiXG4gIHwgXCJnZW5lcmF0ZUtleVwiXG4gIHwgXCJpbXBvcnRLZXlcIlxuICB8IFwic2lnblwiXG4gIHwgXCJ2ZXJpZnlcIjtcblxuY29uc3Qgc3VidGxlQ3J5cHRvTWV0aG9kczogQXJyYXk8U3VidGxlQ3J5cHRvTWV0aG9kPiA9IFtcbiAgXCJkZWNyeXB0XCIsXG4gIFwiZGlnZXN0XCIsXG4gIFwiZW5jcnlwdFwiLFxuICBcImV4cG9ydEtleVwiLFxuICBcImdlbmVyYXRlS2V5XCIsXG4gIFwiaW1wb3J0S2V5XCIsXG4gIFwic2lnblwiLFxuICBcInZlcmlmeVwiXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gc3VwcG9ydHNXZWJDcnlwdG8od2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgaWYgKFxuICAgIHN1cHBvcnRzU2VjdXJlUmFuZG9tKHdpbmRvdykgJiZcbiAgICB0eXBlb2Ygd2luZG93LmNyeXB0by5zdWJ0bGUgPT09IFwib2JqZWN0XCJcbiAgKSB7XG4gICAgY29uc3QgeyBzdWJ0bGUgfSA9IHdpbmRvdy5jcnlwdG87XG5cbiAgICByZXR1cm4gc3VwcG9ydHNTdWJ0bGVDcnlwdG8oc3VidGxlKTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvcnRzU2VjdXJlUmFuZG9tKHdpbmRvdzogV2luZG93KTogYm9vbGVhbiB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiB3aW5kb3cuY3J5cHRvID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgeyBnZXRSYW5kb21WYWx1ZXMgfSA9IHdpbmRvdy5jcnlwdG87XG5cbiAgICByZXR1cm4gdHlwZW9mIGdldFJhbmRvbVZhbHVlcyA9PT0gXCJmdW5jdGlvblwiO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VwcG9ydHNTdWJ0bGVDcnlwdG8oc3VidGxlOiBTdWJ0bGVDcnlwdG8pIHtcbiAgcmV0dXJuIChcbiAgICBzdWJ0bGUgJiZcbiAgICBzdWJ0bGVDcnlwdG9NZXRob2RzLmV2ZXJ5KFxuICAgICAgbWV0aG9kTmFtZSA9PiB0eXBlb2Ygc3VidGxlW21ldGhvZE5hbWVdID09PSBcImZ1bmN0aW9uXCJcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzdXBwb3J0c1plcm9CeXRlR0NNKHN1YnRsZTogU3VidGxlQ3J5cHRvKSB7XG4gIGlmICghc3VwcG9ydHNTdWJ0bGVDcnlwdG8oc3VidGxlKSkgcmV0dXJuIGZhbHNlO1xuICB0cnkge1xuICAgIGNvbnN0IGtleSA9IGF3YWl0IHN1YnRsZS5nZW5lcmF0ZUtleShcbiAgICAgIHsgbmFtZTogXCJBRVMtR0NNXCIsIGxlbmd0aDogMTI4IH0sXG4gICAgICBmYWxzZSxcbiAgICAgIFtcImVuY3J5cHRcIl1cbiAgICApO1xuICAgIGNvbnN0IHplcm9CeXRlQXV0aFRhZyA9IGF3YWl0IHN1YnRsZS5lbmNyeXB0KFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgaXY6IG5ldyBVaW50OEFycmF5KEFycmF5KDEyKSksXG4gICAgICAgIGFkZGl0aW9uYWxEYXRhOiBuZXcgVWludDhBcnJheShBcnJheSgxNikpLFxuICAgICAgICB0YWdMZW5ndGg6IDEyOFxuICAgICAgfSxcbiAgICAgIGtleSxcbiAgICAgIG5ldyBVaW50OEFycmF5KDApXG4gICAgKTtcbiAgICByZXR1cm4gemVyb0J5dGVBdXRoVGFnLmJ5dGVMZW5ndGggPT09IDE2O1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/supports-web-crypto/build/supportsWebCrypto.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/util/build/convertToBuffer.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@aws-crypto/util/build/convertToBuffer.js ***!\n \\****************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \\\"./node_modules/buffer/index.js\\\")[\\\"Buffer\\\"];\\n\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.convertToBuffer = void 0;\\nvar util_utf8_browser_1 = __webpack_require__(/*! @aws-sdk/util-utf8-browser */ \\\"./node_modules/@aws-sdk/util-utf8-browser/dist-es/index.js\\\");\\n// Quick polyfill\\nvar fromUtf8 = typeof Buffer !== \\\"undefined\\\" && Buffer.from\\n ? function (input) { return Buffer.from(input, \\\"utf8\\\"); }\\n : util_utf8_browser_1.fromUtf8;\\nfunction convertToBuffer(data) {\\n // Already a Uint8, do nothing\\n if (data instanceof Uint8Array)\\n return data;\\n if (typeof data === \\\"string\\\") {\\n return fromUtf8(data);\\n }\\n if (ArrayBuffer.isView(data)) {\\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\\n }\\n return new Uint8Array(data);\\n}\\nexports.convertToBuffer = convertToBuffer;\\n//# sourceMappingURL=convertToBuffer.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/util/build/convertToBuffer.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/util/build/index.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/@aws-crypto/util/build/index.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = void 0;\\nvar convertToBuffer_1 = __webpack_require__(/*! ./convertToBuffer */ \\\"./node_modules/@aws-crypto/util/build/convertToBuffer.js\\\");\\nObject.defineProperty(exports, \\\"convertToBuffer\\\", ({ enumerable: true, get: function () { return convertToBuffer_1.convertToBuffer; } }));\\nvar isEmptyData_1 = __webpack_require__(/*! ./isEmptyData */ \\\"./node_modules/@aws-crypto/util/build/isEmptyData.js\\\");\\nObject.defineProperty(exports, \\\"isEmptyData\\\", ({ enumerable: true, get: function () { return isEmptyData_1.isEmptyData; } }));\\nvar numToUint8_1 = __webpack_require__(/*! ./numToUint8 */ \\\"./node_modules/@aws-crypto/util/build/numToUint8.js\\\");\\nObject.defineProperty(exports, \\\"numToUint8\\\", ({ enumerable: true, get: function () { return numToUint8_1.numToUint8; } }));\\nvar uint32ArrayFrom_1 = __webpack_require__(/*! ./uint32ArrayFrom */ \\\"./node_modules/@aws-crypto/util/build/uint32ArrayFrom.js\\\");\\nObject.defineProperty(exports, \\\"uint32ArrayFrom\\\", ({ enumerable: true, get: function () { return uint32ArrayFrom_1.uint32ArrayFrom; } }));\\n//# sourceMappingURL=index.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/util/build/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/util/build/isEmptyData.js\":\n/*!************************************************************!*\\\n !*** ./node_modules/@aws-crypto/util/build/isEmptyData.js ***!\n \\************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.isEmptyData = void 0;\\nfunction isEmptyData(data) {\\n if (typeof data === \\\"string\\\") {\\n return data.length === 0;\\n }\\n return data.byteLength === 0;\\n}\\nexports.isEmptyData = isEmptyData;\\n//# sourceMappingURL=isEmptyData.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/util/build/isEmptyData.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/util/build/numToUint8.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/@aws-crypto/util/build/numToUint8.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.numToUint8 = void 0;\\nfunction numToUint8(num) {\\n return new Uint8Array([\\n (num & 0xff000000) >> 24,\\n (num & 0x00ff0000) >> 16,\\n (num & 0x0000ff00) >> 8,\\n num & 0x000000ff,\\n ]);\\n}\\nexports.numToUint8 = numToUint8;\\n//# sourceMappingURL=numToUint8.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/util/build/numToUint8.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-crypto/util/build/uint32ArrayFrom.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@aws-crypto/util/build/uint32ArrayFrom.js ***!\n \\****************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.uint32ArrayFrom = void 0;\\n// IE 11 does not support Array.from, so we do it manually\\nfunction uint32ArrayFrom(a_lookUpTable) {\\n if (!Uint32Array.from) {\\n var return_array = new Uint32Array(a_lookUpTable.length);\\n var a_index = 0;\\n while (a_index < a_lookUpTable.length) {\\n return_array[a_index] = a_lookUpTable[a_index];\\n a_index += 1;\\n }\\n return return_array;\\n }\\n return Uint32Array.from(a_lookUpTable);\\n}\\nexports.uint32ArrayFrom = uint32ArrayFrom;\\n//# sourceMappingURL=uint32ArrayFrom.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-crypto/util/build/uint32ArrayFrom.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessaging.js\":\n/*!***************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessaging.js ***!\n \\***************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ ChimeSDKMessaging: () => (/* binding */ ChimeSDKMessaging)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./ChimeSDKMessagingClient */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\\\");\\n/* harmony import */ var _commands_AssociateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./commands/AssociateChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/AssociateChannelFlowCommand.js\\\");\\n/* harmony import */ var _commands_BatchCreateChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./commands/BatchCreateChannelMembershipCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/BatchCreateChannelMembershipCommand.js\\\");\\n/* harmony import */ var _commands_ChannelFlowCallbackCommand__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./commands/ChannelFlowCallbackCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ChannelFlowCallbackCommand.js\\\");\\n/* harmony import */ var _commands_CreateChannelBanCommand__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./commands/CreateChannelBanCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelBanCommand.js\\\");\\n/* harmony import */ var _commands_CreateChannelCommand__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./commands/CreateChannelCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelCommand.js\\\");\\n/* harmony import */ var _commands_CreateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./commands/CreateChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelFlowCommand.js\\\");\\n/* harmony import */ var _commands_CreateChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./commands/CreateChannelMembershipCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelMembershipCommand.js\\\");\\n/* harmony import */ var _commands_CreateChannelModeratorCommand__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./commands/CreateChannelModeratorCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelModeratorCommand.js\\\");\\n/* harmony import */ var _commands_DeleteChannelBanCommand__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./commands/DeleteChannelBanCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelBanCommand.js\\\");\\n/* harmony import */ var _commands_DeleteChannelCommand__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./commands/DeleteChannelCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelCommand.js\\\");\\n/* harmony import */ var _commands_DeleteChannelFlowCommand__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./commands/DeleteChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelFlowCommand.js\\\");\\n/* harmony import */ var _commands_DeleteChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./commands/DeleteChannelMembershipCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelMembershipCommand.js\\\");\\n/* harmony import */ var _commands_DeleteChannelMessageCommand__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./commands/DeleteChannelMessageCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelMessageCommand.js\\\");\\n/* harmony import */ var _commands_DeleteChannelModeratorCommand__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./commands/DeleteChannelModeratorCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelModeratorCommand.js\\\");\\n/* harmony import */ var _commands_DeleteMessagingStreamingConfigurationsCommand__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./commands/DeleteMessagingStreamingConfigurationsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteMessagingStreamingConfigurationsCommand.js\\\");\\n/* harmony import */ var _commands_DescribeChannelBanCommand__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./commands/DescribeChannelBanCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelBanCommand.js\\\");\\n/* harmony import */ var _commands_DescribeChannelCommand__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./commands/DescribeChannelCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelCommand.js\\\");\\n/* harmony import */ var _commands_DescribeChannelFlowCommand__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./commands/DescribeChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelFlowCommand.js\\\");\\n/* harmony import */ var _commands_DescribeChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./commands/DescribeChannelMembershipCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelMembershipCommand.js\\\");\\n/* harmony import */ var _commands_DescribeChannelMembershipForAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./commands/DescribeChannelMembershipForAppInstanceUserCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelMembershipForAppInstanceUserCommand.js\\\");\\n/* harmony import */ var _commands_DescribeChannelModeratedByAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./commands/DescribeChannelModeratedByAppInstanceUserCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelModeratedByAppInstanceUserCommand.js\\\");\\n/* harmony import */ var _commands_DescribeChannelModeratorCommand__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./commands/DescribeChannelModeratorCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelModeratorCommand.js\\\");\\n/* harmony import */ var _commands_DisassociateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./commands/DisassociateChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DisassociateChannelFlowCommand.js\\\");\\n/* harmony import */ var _commands_GetChannelMembershipPreferencesCommand__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./commands/GetChannelMembershipPreferencesCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMembershipPreferencesCommand.js\\\");\\n/* harmony import */ var _commands_GetChannelMessageCommand__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./commands/GetChannelMessageCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMessageCommand.js\\\");\\n/* harmony import */ var _commands_GetChannelMessageStatusCommand__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./commands/GetChannelMessageStatusCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMessageStatusCommand.js\\\");\\n/* harmony import */ var _commands_GetMessagingSessionEndpointCommand__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./commands/GetMessagingSessionEndpointCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetMessagingSessionEndpointCommand.js\\\");\\n/* harmony import */ var _commands_GetMessagingStreamingConfigurationsCommand__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./commands/GetMessagingStreamingConfigurationsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetMessagingStreamingConfigurationsCommand.js\\\");\\n/* harmony import */ var _commands_ListChannelBansCommand__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./commands/ListChannelBansCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelBansCommand.js\\\");\\n/* harmony import */ var _commands_ListChannelFlowsCommand__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./commands/ListChannelFlowsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelFlowsCommand.js\\\");\\n/* harmony import */ var _commands_ListChannelMembershipsCommand__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./commands/ListChannelMembershipsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMembershipsCommand.js\\\");\\n/* harmony import */ var _commands_ListChannelMembershipsForAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./commands/ListChannelMembershipsForAppInstanceUserCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMembershipsForAppInstanceUserCommand.js\\\");\\n/* harmony import */ var _commands_ListChannelMessagesCommand__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./commands/ListChannelMessagesCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMessagesCommand.js\\\");\\n/* harmony import */ var _commands_ListChannelModeratorsCommand__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./commands/ListChannelModeratorsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelModeratorsCommand.js\\\");\\n/* harmony import */ var _commands_ListChannelsAssociatedWithChannelFlowCommand__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./commands/ListChannelsAssociatedWithChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsAssociatedWithChannelFlowCommand.js\\\");\\n/* harmony import */ var _commands_ListChannelsCommand__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./commands/ListChannelsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsCommand.js\\\");\\n/* harmony import */ var _commands_ListChannelsModeratedByAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./commands/ListChannelsModeratedByAppInstanceUserCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsModeratedByAppInstanceUserCommand.js\\\");\\n/* harmony import */ var _commands_ListSubChannelsCommand__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./commands/ListSubChannelsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListSubChannelsCommand.js\\\");\\n/* harmony import */ var _commands_ListTagsForResourceCommand__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./commands/ListTagsForResourceCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListTagsForResourceCommand.js\\\");\\n/* harmony import */ var _commands_PutChannelExpirationSettingsCommand__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./commands/PutChannelExpirationSettingsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutChannelExpirationSettingsCommand.js\\\");\\n/* harmony import */ var _commands_PutChannelMembershipPreferencesCommand__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./commands/PutChannelMembershipPreferencesCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutChannelMembershipPreferencesCommand.js\\\");\\n/* harmony import */ var _commands_PutMessagingStreamingConfigurationsCommand__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./commands/PutMessagingStreamingConfigurationsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutMessagingStreamingConfigurationsCommand.js\\\");\\n/* harmony import */ var _commands_RedactChannelMessageCommand__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./commands/RedactChannelMessageCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/RedactChannelMessageCommand.js\\\");\\n/* harmony import */ var _commands_SearchChannelsCommand__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./commands/SearchChannelsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/SearchChannelsCommand.js\\\");\\n/* harmony import */ var _commands_SendChannelMessageCommand__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./commands/SendChannelMessageCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/SendChannelMessageCommand.js\\\");\\n/* harmony import */ var _commands_TagResourceCommand__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./commands/TagResourceCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/TagResourceCommand.js\\\");\\n/* harmony import */ var _commands_UntagResourceCommand__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./commands/UntagResourceCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UntagResourceCommand.js\\\");\\n/* harmony import */ var _commands_UpdateChannelCommand__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./commands/UpdateChannelCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelCommand.js\\\");\\n/* harmony import */ var _commands_UpdateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./commands/UpdateChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelFlowCommand.js\\\");\\n/* harmony import */ var _commands_UpdateChannelMessageCommand__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./commands/UpdateChannelMessageCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelMessageCommand.js\\\");\\n/* harmony import */ var _commands_UpdateChannelReadMarkerCommand__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./commands/UpdateChannelReadMarkerCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelReadMarkerCommand.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nconst commands = {\\n AssociateChannelFlowCommand: _commands_AssociateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_1__.AssociateChannelFlowCommand,\\n BatchCreateChannelMembershipCommand: _commands_BatchCreateChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_2__.BatchCreateChannelMembershipCommand,\\n ChannelFlowCallbackCommand: _commands_ChannelFlowCallbackCommand__WEBPACK_IMPORTED_MODULE_3__.ChannelFlowCallbackCommand,\\n CreateChannelCommand: _commands_CreateChannelCommand__WEBPACK_IMPORTED_MODULE_4__.CreateChannelCommand,\\n CreateChannelBanCommand: _commands_CreateChannelBanCommand__WEBPACK_IMPORTED_MODULE_5__.CreateChannelBanCommand,\\n CreateChannelFlowCommand: _commands_CreateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_6__.CreateChannelFlowCommand,\\n CreateChannelMembershipCommand: _commands_CreateChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_7__.CreateChannelMembershipCommand,\\n CreateChannelModeratorCommand: _commands_CreateChannelModeratorCommand__WEBPACK_IMPORTED_MODULE_8__.CreateChannelModeratorCommand,\\n DeleteChannelCommand: _commands_DeleteChannelCommand__WEBPACK_IMPORTED_MODULE_9__.DeleteChannelCommand,\\n DeleteChannelBanCommand: _commands_DeleteChannelBanCommand__WEBPACK_IMPORTED_MODULE_10__.DeleteChannelBanCommand,\\n DeleteChannelFlowCommand: _commands_DeleteChannelFlowCommand__WEBPACK_IMPORTED_MODULE_11__.DeleteChannelFlowCommand,\\n DeleteChannelMembershipCommand: _commands_DeleteChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_12__.DeleteChannelMembershipCommand,\\n DeleteChannelMessageCommand: _commands_DeleteChannelMessageCommand__WEBPACK_IMPORTED_MODULE_13__.DeleteChannelMessageCommand,\\n DeleteChannelModeratorCommand: _commands_DeleteChannelModeratorCommand__WEBPACK_IMPORTED_MODULE_14__.DeleteChannelModeratorCommand,\\n DeleteMessagingStreamingConfigurationsCommand: _commands_DeleteMessagingStreamingConfigurationsCommand__WEBPACK_IMPORTED_MODULE_15__.DeleteMessagingStreamingConfigurationsCommand,\\n DescribeChannelCommand: _commands_DescribeChannelCommand__WEBPACK_IMPORTED_MODULE_16__.DescribeChannelCommand,\\n DescribeChannelBanCommand: _commands_DescribeChannelBanCommand__WEBPACK_IMPORTED_MODULE_17__.DescribeChannelBanCommand,\\n DescribeChannelFlowCommand: _commands_DescribeChannelFlowCommand__WEBPACK_IMPORTED_MODULE_18__.DescribeChannelFlowCommand,\\n DescribeChannelMembershipCommand: _commands_DescribeChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_19__.DescribeChannelMembershipCommand,\\n DescribeChannelMembershipForAppInstanceUserCommand: _commands_DescribeChannelMembershipForAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_20__.DescribeChannelMembershipForAppInstanceUserCommand,\\n DescribeChannelModeratedByAppInstanceUserCommand: _commands_DescribeChannelModeratedByAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_21__.DescribeChannelModeratedByAppInstanceUserCommand,\\n DescribeChannelModeratorCommand: _commands_DescribeChannelModeratorCommand__WEBPACK_IMPORTED_MODULE_22__.DescribeChannelModeratorCommand,\\n DisassociateChannelFlowCommand: _commands_DisassociateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_23__.DisassociateChannelFlowCommand,\\n GetChannelMembershipPreferencesCommand: _commands_GetChannelMembershipPreferencesCommand__WEBPACK_IMPORTED_MODULE_24__.GetChannelMembershipPreferencesCommand,\\n GetChannelMessageCommand: _commands_GetChannelMessageCommand__WEBPACK_IMPORTED_MODULE_25__.GetChannelMessageCommand,\\n GetChannelMessageStatusCommand: _commands_GetChannelMessageStatusCommand__WEBPACK_IMPORTED_MODULE_26__.GetChannelMessageStatusCommand,\\n GetMessagingSessionEndpointCommand: _commands_GetMessagingSessionEndpointCommand__WEBPACK_IMPORTED_MODULE_27__.GetMessagingSessionEndpointCommand,\\n GetMessagingStreamingConfigurationsCommand: _commands_GetMessagingStreamingConfigurationsCommand__WEBPACK_IMPORTED_MODULE_28__.GetMessagingStreamingConfigurationsCommand,\\n ListChannelBansCommand: _commands_ListChannelBansCommand__WEBPACK_IMPORTED_MODULE_29__.ListChannelBansCommand,\\n ListChannelFlowsCommand: _commands_ListChannelFlowsCommand__WEBPACK_IMPORTED_MODULE_30__.ListChannelFlowsCommand,\\n ListChannelMembershipsCommand: _commands_ListChannelMembershipsCommand__WEBPACK_IMPORTED_MODULE_31__.ListChannelMembershipsCommand,\\n ListChannelMembershipsForAppInstanceUserCommand: _commands_ListChannelMembershipsForAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_32__.ListChannelMembershipsForAppInstanceUserCommand,\\n ListChannelMessagesCommand: _commands_ListChannelMessagesCommand__WEBPACK_IMPORTED_MODULE_33__.ListChannelMessagesCommand,\\n ListChannelModeratorsCommand: _commands_ListChannelModeratorsCommand__WEBPACK_IMPORTED_MODULE_34__.ListChannelModeratorsCommand,\\n ListChannelsCommand: _commands_ListChannelsCommand__WEBPACK_IMPORTED_MODULE_35__.ListChannelsCommand,\\n ListChannelsAssociatedWithChannelFlowCommand: _commands_ListChannelsAssociatedWithChannelFlowCommand__WEBPACK_IMPORTED_MODULE_36__.ListChannelsAssociatedWithChannelFlowCommand,\\n ListChannelsModeratedByAppInstanceUserCommand: _commands_ListChannelsModeratedByAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_37__.ListChannelsModeratedByAppInstanceUserCommand,\\n ListSubChannelsCommand: _commands_ListSubChannelsCommand__WEBPACK_IMPORTED_MODULE_38__.ListSubChannelsCommand,\\n ListTagsForResourceCommand: _commands_ListTagsForResourceCommand__WEBPACK_IMPORTED_MODULE_39__.ListTagsForResourceCommand,\\n PutChannelExpirationSettingsCommand: _commands_PutChannelExpirationSettingsCommand__WEBPACK_IMPORTED_MODULE_40__.PutChannelExpirationSettingsCommand,\\n PutChannelMembershipPreferencesCommand: _commands_PutChannelMembershipPreferencesCommand__WEBPACK_IMPORTED_MODULE_41__.PutChannelMembershipPreferencesCommand,\\n PutMessagingStreamingConfigurationsCommand: _commands_PutMessagingStreamingConfigurationsCommand__WEBPACK_IMPORTED_MODULE_42__.PutMessagingStreamingConfigurationsCommand,\\n RedactChannelMessageCommand: _commands_RedactChannelMessageCommand__WEBPACK_IMPORTED_MODULE_43__.RedactChannelMessageCommand,\\n SearchChannelsCommand: _commands_SearchChannelsCommand__WEBPACK_IMPORTED_MODULE_44__.SearchChannelsCommand,\\n SendChannelMessageCommand: _commands_SendChannelMessageCommand__WEBPACK_IMPORTED_MODULE_45__.SendChannelMessageCommand,\\n TagResourceCommand: _commands_TagResourceCommand__WEBPACK_IMPORTED_MODULE_46__.TagResourceCommand,\\n UntagResourceCommand: _commands_UntagResourceCommand__WEBPACK_IMPORTED_MODULE_47__.UntagResourceCommand,\\n UpdateChannelCommand: _commands_UpdateChannelCommand__WEBPACK_IMPORTED_MODULE_48__.UpdateChannelCommand,\\n UpdateChannelFlowCommand: _commands_UpdateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_49__.UpdateChannelFlowCommand,\\n UpdateChannelMessageCommand: _commands_UpdateChannelMessageCommand__WEBPACK_IMPORTED_MODULE_50__.UpdateChannelMessageCommand,\\n UpdateChannelReadMarkerCommand: _commands_UpdateChannelReadMarkerCommand__WEBPACK_IMPORTED_MODULE_51__.UpdateChannelReadMarkerCommand,\\n};\\nclass ChimeSDKMessaging extends _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_52__.ChimeSDKMessagingClient {\\n}\\n(0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.createAggregatedClient)(commands, ChimeSDKMessaging);\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessaging.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\":\n/*!*********************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js ***!\n \\*********************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ ChimeSDKMessagingClient: () => (/* binding */ ChimeSDKMessagingClient),\\n/* harmony export */ __Client: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_9__.Client)\\n/* harmony export */ });\\n/* harmony import */ var _aws_sdk_middleware_host_header__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @aws-sdk/middleware-host-header */ \\\"./node_modules/@aws-sdk/middleware-host-header/dist-es/index.js\\\");\\n/* harmony import */ var _aws_sdk_middleware_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @aws-sdk/middleware-logger */ \\\"./node_modules/@aws-sdk/middleware-logger/dist-es/index.js\\\");\\n/* harmony import */ var _aws_sdk_middleware_recursion_detection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @aws-sdk/middleware-recursion-detection */ \\\"./node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js\\\");\\n/* harmony import */ var _aws_sdk_middleware_signing__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @aws-sdk/middleware-signing */ \\\"./node_modules/@aws-sdk/middleware-signing/dist-es/index.js\\\");\\n/* harmony import */ var _aws_sdk_middleware_user_agent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @aws-sdk/middleware-user-agent */ \\\"./node_modules/@aws-sdk/middleware-user-agent/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_config_resolver__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @smithy/config-resolver */ \\\"./node_modules/@smithy/config-resolver/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_content_length__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @smithy/middleware-content-length */ \\\"./node_modules/@smithy/middleware-content-length/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_retry__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @smithy/middleware-retry */ \\\"./node_modules/@smithy/middleware-retry/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _endpoint_EndpointParameters__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./endpoint/EndpointParameters */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/endpoint/EndpointParameters.js\\\");\\n/* harmony import */ var _runtimeConfig__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./runtimeConfig */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/runtimeConfig.browser.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nclass ChimeSDKMessagingClient extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_9__.Client {\\n constructor(configuration) {\\n const _config_0 = (0,_runtimeConfig__WEBPACK_IMPORTED_MODULE_10__.getRuntimeConfig)(configuration);\\n const _config_1 = (0,_endpoint_EndpointParameters__WEBPACK_IMPORTED_MODULE_11__.resolveClientEndpointParameters)(_config_0);\\n const _config_2 = (0,_smithy_config_resolver__WEBPACK_IMPORTED_MODULE_5__.resolveRegionConfig)(_config_1);\\n const _config_3 = (0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_7__.resolveEndpointConfig)(_config_2);\\n const _config_4 = (0,_smithy_middleware_retry__WEBPACK_IMPORTED_MODULE_8__.resolveRetryConfig)(_config_3);\\n const _config_5 = (0,_aws_sdk_middleware_host_header__WEBPACK_IMPORTED_MODULE_0__.resolveHostHeaderConfig)(_config_4);\\n const _config_6 = (0,_aws_sdk_middleware_signing__WEBPACK_IMPORTED_MODULE_3__.resolveAwsAuthConfig)(_config_5);\\n const _config_7 = (0,_aws_sdk_middleware_user_agent__WEBPACK_IMPORTED_MODULE_4__.resolveUserAgentConfig)(_config_6);\\n super(_config_7);\\n this.config = _config_7;\\n this.middlewareStack.use((0,_smithy_middleware_retry__WEBPACK_IMPORTED_MODULE_8__.getRetryPlugin)(this.config));\\n this.middlewareStack.use((0,_smithy_middleware_content_length__WEBPACK_IMPORTED_MODULE_6__.getContentLengthPlugin)(this.config));\\n this.middlewareStack.use((0,_aws_sdk_middleware_host_header__WEBPACK_IMPORTED_MODULE_0__.getHostHeaderPlugin)(this.config));\\n this.middlewareStack.use((0,_aws_sdk_middleware_logger__WEBPACK_IMPORTED_MODULE_1__.getLoggerPlugin)(this.config));\\n this.middlewareStack.use((0,_aws_sdk_middleware_recursion_detection__WEBPACK_IMPORTED_MODULE_2__.getRecursionDetectionPlugin)(this.config));\\n this.middlewareStack.use((0,_aws_sdk_middleware_signing__WEBPACK_IMPORTED_MODULE_3__.getAwsAuthPlugin)(this.config));\\n this.middlewareStack.use((0,_aws_sdk_middleware_user_agent__WEBPACK_IMPORTED_MODULE_4__.getUserAgentPlugin)(this.config));\\n }\\n destroy() {\\n super.destroy();\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/AssociateChannelFlowCommand.js\":\n/*!**********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/AssociateChannelFlowCommand.js ***!\n \\**********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ AssociateChannelFlowCommand: () => (/* binding */ AssociateChannelFlowCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass AssociateChannelFlowCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, AssociateChannelFlowCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"AssociateChannelFlowCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_AssociateChannelFlowCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_AssociateChannelFlowCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/AssociateChannelFlowCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/BatchCreateChannelMembershipCommand.js\":\n/*!******************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/BatchCreateChannelMembershipCommand.js ***!\n \\******************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ BatchCreateChannelMembershipCommand: () => (/* binding */ BatchCreateChannelMembershipCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass BatchCreateChannelMembershipCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, BatchCreateChannelMembershipCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"BatchCreateChannelMembershipCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.BatchCreateChannelMembershipResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_BatchCreateChannelMembershipCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_BatchCreateChannelMembershipCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/BatchCreateChannelMembershipCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ChannelFlowCallbackCommand.js\":\n/*!*********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ChannelFlowCallbackCommand.js ***!\n \\*********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ ChannelFlowCallbackCommand: () => (/* binding */ ChannelFlowCallbackCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass ChannelFlowCallbackCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, ChannelFlowCallbackCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"ChannelFlowCallbackCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ChannelFlowCallbackRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_ChannelFlowCallbackCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_ChannelFlowCallbackCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ChannelFlowCallbackCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelBanCommand.js\":\n/*!******************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelBanCommand.js ***!\n \\******************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ CreateChannelBanCommand: () => (/* binding */ CreateChannelBanCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass CreateChannelBanCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, CreateChannelBanCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"CreateChannelBanCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.CreateChannelBanResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_CreateChannelBanCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_CreateChannelBanCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelBanCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelCommand.js\":\n/*!***************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelCommand.js ***!\n \\***************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ CreateChannelCommand: () => (/* binding */ CreateChannelCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass CreateChannelCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, CreateChannelCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"CreateChannelCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.CreateChannelRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_CreateChannelCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_CreateChannelCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelFlowCommand.js\":\n/*!*******************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelFlowCommand.js ***!\n \\*******************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ CreateChannelFlowCommand: () => (/* binding */ CreateChannelFlowCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass CreateChannelFlowCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, CreateChannelFlowCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"CreateChannelFlowCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.CreateChannelFlowRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_CreateChannelFlowCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_CreateChannelFlowCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelFlowCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelMembershipCommand.js\":\n/*!*************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelMembershipCommand.js ***!\n \\*************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ CreateChannelMembershipCommand: () => (/* binding */ CreateChannelMembershipCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass CreateChannelMembershipCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, CreateChannelMembershipCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"CreateChannelMembershipCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.CreateChannelMembershipResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_CreateChannelMembershipCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_CreateChannelMembershipCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelMembershipCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelModeratorCommand.js\":\n/*!************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelModeratorCommand.js ***!\n \\************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ CreateChannelModeratorCommand: () => (/* binding */ CreateChannelModeratorCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass CreateChannelModeratorCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, CreateChannelModeratorCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"CreateChannelModeratorCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.CreateChannelModeratorResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_CreateChannelModeratorCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_CreateChannelModeratorCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelModeratorCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelBanCommand.js\":\n/*!******************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelBanCommand.js ***!\n \\******************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DeleteChannelBanCommand: () => (/* binding */ DeleteChannelBanCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass DeleteChannelBanCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DeleteChannelBanCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DeleteChannelBanCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_DeleteChannelBanCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_DeleteChannelBanCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelBanCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelCommand.js\":\n/*!***************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelCommand.js ***!\n \\***************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DeleteChannelCommand: () => (/* binding */ DeleteChannelCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass DeleteChannelCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DeleteChannelCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DeleteChannelCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_DeleteChannelCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_DeleteChannelCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelFlowCommand.js\":\n/*!*******************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelFlowCommand.js ***!\n \\*******************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DeleteChannelFlowCommand: () => (/* binding */ DeleteChannelFlowCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass DeleteChannelFlowCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DeleteChannelFlowCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DeleteChannelFlowCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_DeleteChannelFlowCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_DeleteChannelFlowCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelFlowCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelMembershipCommand.js\":\n/*!*************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelMembershipCommand.js ***!\n \\*************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DeleteChannelMembershipCommand: () => (/* binding */ DeleteChannelMembershipCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass DeleteChannelMembershipCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DeleteChannelMembershipCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DeleteChannelMembershipCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_DeleteChannelMembershipCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_DeleteChannelMembershipCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelMembershipCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelMessageCommand.js\":\n/*!**********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelMessageCommand.js ***!\n \\**********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DeleteChannelMessageCommand: () => (/* binding */ DeleteChannelMessageCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass DeleteChannelMessageCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DeleteChannelMessageCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DeleteChannelMessageCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_DeleteChannelMessageCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_DeleteChannelMessageCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelMessageCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelModeratorCommand.js\":\n/*!************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelModeratorCommand.js ***!\n \\************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DeleteChannelModeratorCommand: () => (/* binding */ DeleteChannelModeratorCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass DeleteChannelModeratorCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DeleteChannelModeratorCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DeleteChannelModeratorCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_DeleteChannelModeratorCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_DeleteChannelModeratorCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelModeratorCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteMessagingStreamingConfigurationsCommand.js\":\n/*!****************************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteMessagingStreamingConfigurationsCommand.js ***!\n \\****************************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DeleteMessagingStreamingConfigurationsCommand: () => (/* binding */ DeleteMessagingStreamingConfigurationsCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass DeleteMessagingStreamingConfigurationsCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DeleteMessagingStreamingConfigurationsCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DeleteMessagingStreamingConfigurationsCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_DeleteMessagingStreamingConfigurationsCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_DeleteMessagingStreamingConfigurationsCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteMessagingStreamingConfigurationsCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelBanCommand.js\":\n/*!********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelBanCommand.js ***!\n \\********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DescribeChannelBanCommand: () => (/* binding */ DescribeChannelBanCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass DescribeChannelBanCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DescribeChannelBanCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DescribeChannelBanCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.DescribeChannelBanResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_DescribeChannelBanCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_DescribeChannelBanCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelBanCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelCommand.js\":\n/*!*****************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelCommand.js ***!\n \\*****************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DescribeChannelCommand: () => (/* binding */ DescribeChannelCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass DescribeChannelCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DescribeChannelCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DescribeChannelCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.DescribeChannelResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_DescribeChannelCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_DescribeChannelCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelFlowCommand.js\":\n/*!*********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelFlowCommand.js ***!\n \\*********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DescribeChannelFlowCommand: () => (/* binding */ DescribeChannelFlowCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass DescribeChannelFlowCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DescribeChannelFlowCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DescribeChannelFlowCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.DescribeChannelFlowResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_DescribeChannelFlowCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_DescribeChannelFlowCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelFlowCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelMembershipCommand.js\":\n/*!***************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelMembershipCommand.js ***!\n \\***************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DescribeChannelMembershipCommand: () => (/* binding */ DescribeChannelMembershipCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass DescribeChannelMembershipCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DescribeChannelMembershipCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DescribeChannelMembershipCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.DescribeChannelMembershipResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_DescribeChannelMembershipCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_DescribeChannelMembershipCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelMembershipCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelMembershipForAppInstanceUserCommand.js\":\n/*!*********************************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelMembershipForAppInstanceUserCommand.js ***!\n \\*********************************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DescribeChannelMembershipForAppInstanceUserCommand: () => (/* binding */ DescribeChannelMembershipForAppInstanceUserCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass DescribeChannelMembershipForAppInstanceUserCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DescribeChannelMembershipForAppInstanceUserCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DescribeChannelMembershipForAppInstanceUserCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.DescribeChannelMembershipForAppInstanceUserResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_DescribeChannelMembershipForAppInstanceUserCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_DescribeChannelMembershipForAppInstanceUserCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelMembershipForAppInstanceUserCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelModeratedByAppInstanceUserCommand.js\":\n/*!*******************************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelModeratedByAppInstanceUserCommand.js ***!\n \\*******************************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DescribeChannelModeratedByAppInstanceUserCommand: () => (/* binding */ DescribeChannelModeratedByAppInstanceUserCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass DescribeChannelModeratedByAppInstanceUserCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DescribeChannelModeratedByAppInstanceUserCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DescribeChannelModeratedByAppInstanceUserCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.DescribeChannelModeratedByAppInstanceUserResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_DescribeChannelModeratedByAppInstanceUserCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_DescribeChannelModeratedByAppInstanceUserCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelModeratedByAppInstanceUserCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelModeratorCommand.js\":\n/*!**************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelModeratorCommand.js ***!\n \\**************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DescribeChannelModeratorCommand: () => (/* binding */ DescribeChannelModeratorCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass DescribeChannelModeratorCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DescribeChannelModeratorCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DescribeChannelModeratorCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.DescribeChannelModeratorResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_DescribeChannelModeratorCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_DescribeChannelModeratorCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelModeratorCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DisassociateChannelFlowCommand.js\":\n/*!*************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DisassociateChannelFlowCommand.js ***!\n \\*************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ DisassociateChannelFlowCommand: () => (/* binding */ DisassociateChannelFlowCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass DisassociateChannelFlowCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, DisassociateChannelFlowCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"DisassociateChannelFlowCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_DisassociateChannelFlowCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_DisassociateChannelFlowCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DisassociateChannelFlowCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMembershipPreferencesCommand.js\":\n/*!*********************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMembershipPreferencesCommand.js ***!\n \\*********************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ GetChannelMembershipPreferencesCommand: () => (/* binding */ GetChannelMembershipPreferencesCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass GetChannelMembershipPreferencesCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, GetChannelMembershipPreferencesCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"GetChannelMembershipPreferencesCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.GetChannelMembershipPreferencesResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_GetChannelMembershipPreferencesCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_GetChannelMembershipPreferencesCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMembershipPreferencesCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMessageCommand.js\":\n/*!*******************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMessageCommand.js ***!\n \\*******************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ GetChannelMessageCommand: () => (/* binding */ GetChannelMessageCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass GetChannelMessageCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, GetChannelMessageCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"GetChannelMessageCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.GetChannelMessageResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_GetChannelMessageCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_GetChannelMessageCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMessageCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMessageStatusCommand.js\":\n/*!*************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMessageStatusCommand.js ***!\n \\*************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ GetChannelMessageStatusCommand: () => (/* binding */ GetChannelMessageStatusCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass GetChannelMessageStatusCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, GetChannelMessageStatusCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"GetChannelMessageStatusCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_GetChannelMessageStatusCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_GetChannelMessageStatusCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMessageStatusCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetMessagingSessionEndpointCommand.js\":\n/*!*****************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetMessagingSessionEndpointCommand.js ***!\n \\*****************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ GetMessagingSessionEndpointCommand: () => (/* binding */ GetMessagingSessionEndpointCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass GetMessagingSessionEndpointCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, GetMessagingSessionEndpointCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"GetMessagingSessionEndpointCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_GetMessagingSessionEndpointCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_GetMessagingSessionEndpointCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetMessagingSessionEndpointCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetMessagingStreamingConfigurationsCommand.js\":\n/*!*************************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetMessagingStreamingConfigurationsCommand.js ***!\n \\*************************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ GetMessagingStreamingConfigurationsCommand: () => (/* binding */ GetMessagingStreamingConfigurationsCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass GetMessagingStreamingConfigurationsCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, GetMessagingStreamingConfigurationsCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"GetMessagingStreamingConfigurationsCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_GetMessagingStreamingConfigurationsCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_GetMessagingStreamingConfigurationsCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetMessagingStreamingConfigurationsCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelBansCommand.js\":\n/*!*****************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelBansCommand.js ***!\n \\*****************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ ListChannelBansCommand: () => (/* binding */ ListChannelBansCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass ListChannelBansCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, ListChannelBansCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"ListChannelBansCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelBansRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelBansResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_ListChannelBansCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_ListChannelBansCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelBansCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelFlowsCommand.js\":\n/*!******************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelFlowsCommand.js ***!\n \\******************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ ListChannelFlowsCommand: () => (/* binding */ ListChannelFlowsCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass ListChannelFlowsCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, ListChannelFlowsCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"ListChannelFlowsCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelFlowsRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelFlowsResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_ListChannelFlowsCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_ListChannelFlowsCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelFlowsCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMembershipsCommand.js\":\n/*!************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMembershipsCommand.js ***!\n \\************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ ListChannelMembershipsCommand: () => (/* binding */ ListChannelMembershipsCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass ListChannelMembershipsCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, ListChannelMembershipsCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"ListChannelMembershipsCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelMembershipsRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelMembershipsResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_ListChannelMembershipsCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_ListChannelMembershipsCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMembershipsCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMembershipsForAppInstanceUserCommand.js\":\n/*!******************************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMembershipsForAppInstanceUserCommand.js ***!\n \\******************************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ ListChannelMembershipsForAppInstanceUserCommand: () => (/* binding */ ListChannelMembershipsForAppInstanceUserCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass ListChannelMembershipsForAppInstanceUserCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, ListChannelMembershipsForAppInstanceUserCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"ListChannelMembershipsForAppInstanceUserCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelMembershipsForAppInstanceUserRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelMembershipsForAppInstanceUserResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_ListChannelMembershipsForAppInstanceUserCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_ListChannelMembershipsForAppInstanceUserCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMembershipsForAppInstanceUserCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMessagesCommand.js\":\n/*!*********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMessagesCommand.js ***!\n \\*********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ ListChannelMessagesCommand: () => (/* binding */ ListChannelMessagesCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass ListChannelMessagesCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, ListChannelMessagesCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"ListChannelMessagesCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelMessagesRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelMessagesResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_ListChannelMessagesCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_ListChannelMessagesCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMessagesCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelModeratorsCommand.js\":\n/*!***********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelModeratorsCommand.js ***!\n \\***********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ ListChannelModeratorsCommand: () => (/* binding */ ListChannelModeratorsCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass ListChannelModeratorsCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, ListChannelModeratorsCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"ListChannelModeratorsCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelModeratorsRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelModeratorsResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_ListChannelModeratorsCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_ListChannelModeratorsCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelModeratorsCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsAssociatedWithChannelFlowCommand.js\":\n/*!***************************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsAssociatedWithChannelFlowCommand.js ***!\n \\***************************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ ListChannelsAssociatedWithChannelFlowCommand: () => (/* binding */ ListChannelsAssociatedWithChannelFlowCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass ListChannelsAssociatedWithChannelFlowCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, ListChannelsAssociatedWithChannelFlowCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"ListChannelsAssociatedWithChannelFlowCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelsAssociatedWithChannelFlowRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelsAssociatedWithChannelFlowResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_ListChannelsAssociatedWithChannelFlowCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_ListChannelsAssociatedWithChannelFlowCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsAssociatedWithChannelFlowCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsCommand.js\":\n/*!**************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsCommand.js ***!\n \\**************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ ListChannelsCommand: () => (/* binding */ ListChannelsCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass ListChannelsCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, ListChannelsCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"ListChannelsCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelsRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelsResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_ListChannelsCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_ListChannelsCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsModeratedByAppInstanceUserCommand.js\":\n/*!****************************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsModeratedByAppInstanceUserCommand.js ***!\n \\****************************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ ListChannelsModeratedByAppInstanceUserCommand: () => (/* binding */ ListChannelsModeratedByAppInstanceUserCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass ListChannelsModeratedByAppInstanceUserCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, ListChannelsModeratedByAppInstanceUserCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"ListChannelsModeratedByAppInstanceUserCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelsModeratedByAppInstanceUserRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListChannelsModeratedByAppInstanceUserResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_ListChannelsModeratedByAppInstanceUserCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_ListChannelsModeratedByAppInstanceUserCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsModeratedByAppInstanceUserCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListSubChannelsCommand.js\":\n/*!*****************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListSubChannelsCommand.js ***!\n \\*****************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ ListSubChannelsCommand: () => (/* binding */ ListSubChannelsCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass ListSubChannelsCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, ListSubChannelsCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"ListSubChannelsCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListSubChannelsRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListSubChannelsResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_ListSubChannelsCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_ListSubChannelsCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListSubChannelsCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListTagsForResourceCommand.js\":\n/*!*********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListTagsForResourceCommand.js ***!\n \\*********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ ListTagsForResourceCommand: () => (/* binding */ ListTagsForResourceCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass ListTagsForResourceCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, ListTagsForResourceCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"ListTagsForResourceCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.ListTagsForResourceResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_ListTagsForResourceCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_ListTagsForResourceCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListTagsForResourceCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutChannelExpirationSettingsCommand.js\":\n/*!******************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutChannelExpirationSettingsCommand.js ***!\n \\******************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ PutChannelExpirationSettingsCommand: () => (/* binding */ PutChannelExpirationSettingsCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass PutChannelExpirationSettingsCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, PutChannelExpirationSettingsCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"PutChannelExpirationSettingsCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_PutChannelExpirationSettingsCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_PutChannelExpirationSettingsCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutChannelExpirationSettingsCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutChannelMembershipPreferencesCommand.js\":\n/*!*********************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutChannelMembershipPreferencesCommand.js ***!\n \\*********************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ PutChannelMembershipPreferencesCommand: () => (/* binding */ PutChannelMembershipPreferencesCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass PutChannelMembershipPreferencesCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, PutChannelMembershipPreferencesCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"PutChannelMembershipPreferencesCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.PutChannelMembershipPreferencesRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.PutChannelMembershipPreferencesResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_PutChannelMembershipPreferencesCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_PutChannelMembershipPreferencesCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutChannelMembershipPreferencesCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutMessagingStreamingConfigurationsCommand.js\":\n/*!*************************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutMessagingStreamingConfigurationsCommand.js ***!\n \\*************************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ PutMessagingStreamingConfigurationsCommand: () => (/* binding */ PutMessagingStreamingConfigurationsCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass PutMessagingStreamingConfigurationsCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, PutMessagingStreamingConfigurationsCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"PutMessagingStreamingConfigurationsCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_PutMessagingStreamingConfigurationsCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_PutMessagingStreamingConfigurationsCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutMessagingStreamingConfigurationsCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/RedactChannelMessageCommand.js\":\n/*!**********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/RedactChannelMessageCommand.js ***!\n \\**********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ RedactChannelMessageCommand: () => (/* binding */ RedactChannelMessageCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass RedactChannelMessageCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, RedactChannelMessageCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"RedactChannelMessageCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_RedactChannelMessageCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_RedactChannelMessageCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/RedactChannelMessageCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/SearchChannelsCommand.js\":\n/*!****************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/SearchChannelsCommand.js ***!\n \\****************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ SearchChannelsCommand: () => (/* binding */ SearchChannelsCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass SearchChannelsCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, SearchChannelsCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"SearchChannelsCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.SearchChannelsRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.SearchChannelsResponseFilterSensitiveLog,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_SearchChannelsCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_SearchChannelsCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/SearchChannelsCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/SendChannelMessageCommand.js\":\n/*!********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/SendChannelMessageCommand.js ***!\n \\********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ SendChannelMessageCommand: () => (/* binding */ SendChannelMessageCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass SendChannelMessageCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, SendChannelMessageCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"SendChannelMessageCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.SendChannelMessageRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_SendChannelMessageCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_SendChannelMessageCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/SendChannelMessageCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/TagResourceCommand.js\":\n/*!*************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/TagResourceCommand.js ***!\n \\*************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ TagResourceCommand: () => (/* binding */ TagResourceCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass TagResourceCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, TagResourceCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"TagResourceCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.TagResourceRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_TagResourceCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_TagResourceCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/TagResourceCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UntagResourceCommand.js\":\n/*!***************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UntagResourceCommand.js ***!\n \\***************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ UntagResourceCommand: () => (/* binding */ UntagResourceCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass UntagResourceCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, UntagResourceCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"UntagResourceCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.UntagResourceRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_UntagResourceCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_UntagResourceCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UntagResourceCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelCommand.js\":\n/*!***************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelCommand.js ***!\n \\***************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ UpdateChannelCommand: () => (/* binding */ UpdateChannelCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass UpdateChannelCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, UpdateChannelCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"UpdateChannelCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.UpdateChannelRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_UpdateChannelCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_UpdateChannelCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelFlowCommand.js\":\n/*!*******************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelFlowCommand.js ***!\n \\*******************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ UpdateChannelFlowCommand: () => (/* binding */ UpdateChannelFlowCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass UpdateChannelFlowCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, UpdateChannelFlowCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"UpdateChannelFlowCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.UpdateChannelFlowRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_UpdateChannelFlowCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_UpdateChannelFlowCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelFlowCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelMessageCommand.js\":\n/*!**********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelMessageCommand.js ***!\n \\**********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ UpdateChannelMessageCommand: () => (/* binding */ UpdateChannelMessageCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\n\\nclass UpdateChannelMessageCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, UpdateChannelMessageCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"UpdateChannelMessageCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: _models_models_0__WEBPACK_IMPORTED_MODULE_3__.UpdateChannelMessageRequestFilterSensitiveLog,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.se_UpdateChannelMessageCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_4__.de_UpdateChannelMessageCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelMessageCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelReadMarkerCommand.js\":\n/*!*************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelReadMarkerCommand.js ***!\n \\*************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command),\\n/* harmony export */ UpdateChannelReadMarkerCommand: () => (/* binding */ UpdateChannelReadMarkerCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-endpoint */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../protocols/Aws_restJson1 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\\\");\\n\\n\\n\\n\\n\\nclass UpdateChannelReadMarkerCommand extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_2__.Command {\\n static getEndpointParameterInstructions() {\\n return {\\n UseFIPS: { type: \\\"builtInParams\\\", name: \\\"useFipsEndpoint\\\" },\\n Endpoint: { type: \\\"builtInParams\\\", name: \\\"endpoint\\\" },\\n Region: { type: \\\"builtInParams\\\", name: \\\"region\\\" },\\n UseDualStack: { type: \\\"builtInParams\\\", name: \\\"useDualstackEndpoint\\\" },\\n };\\n }\\n constructor(input) {\\n super();\\n this.input = input;\\n }\\n resolveMiddleware(clientStack, configuration, options) {\\n this.middlewareStack.use((0,_smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin)(configuration, this.serialize, this.deserialize));\\n this.middlewareStack.use((0,_smithy_middleware_endpoint__WEBPACK_IMPORTED_MODULE_0__.getEndpointPlugin)(configuration, UpdateChannelReadMarkerCommand.getEndpointParameterInstructions()));\\n const stack = clientStack.concat(this.middlewareStack);\\n const { logger } = configuration;\\n const clientName = \\\"ChimeSDKMessagingClient\\\";\\n const commandName = \\\"UpdateChannelReadMarkerCommand\\\";\\n const handlerExecutionContext = {\\n logger,\\n clientName,\\n commandName,\\n inputFilterSensitiveLog: (_) => _,\\n outputFilterSensitiveLog: (_) => _,\\n };\\n const { requestHandler } = configuration;\\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\\n }\\n serialize(input, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.se_UpdateChannelReadMarkerCommand)(input, context);\\n }\\n deserialize(output, context) {\\n return (0,_protocols_Aws_restJson1__WEBPACK_IMPORTED_MODULE_3__.de_UpdateChannelReadMarkerCommand)(output, context);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelReadMarkerCommand.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/index.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/index.js ***!\n \\************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _AssociateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_0__.$Command),\\n/* harmony export */ AssociateChannelFlowCommand: () => (/* reexport safe */ _AssociateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_0__.AssociateChannelFlowCommand),\\n/* harmony export */ BatchCreateChannelMembershipCommand: () => (/* reexport safe */ _BatchCreateChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_1__.BatchCreateChannelMembershipCommand),\\n/* harmony export */ ChannelFlowCallbackCommand: () => (/* reexport safe */ _ChannelFlowCallbackCommand__WEBPACK_IMPORTED_MODULE_2__.ChannelFlowCallbackCommand),\\n/* harmony export */ CreateChannelBanCommand: () => (/* reexport safe */ _CreateChannelBanCommand__WEBPACK_IMPORTED_MODULE_3__.CreateChannelBanCommand),\\n/* harmony export */ CreateChannelCommand: () => (/* reexport safe */ _CreateChannelCommand__WEBPACK_IMPORTED_MODULE_4__.CreateChannelCommand),\\n/* harmony export */ CreateChannelFlowCommand: () => (/* reexport safe */ _CreateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_5__.CreateChannelFlowCommand),\\n/* harmony export */ CreateChannelMembershipCommand: () => (/* reexport safe */ _CreateChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_6__.CreateChannelMembershipCommand),\\n/* harmony export */ CreateChannelModeratorCommand: () => (/* reexport safe */ _CreateChannelModeratorCommand__WEBPACK_IMPORTED_MODULE_7__.CreateChannelModeratorCommand),\\n/* harmony export */ DeleteChannelBanCommand: () => (/* reexport safe */ _DeleteChannelBanCommand__WEBPACK_IMPORTED_MODULE_8__.DeleteChannelBanCommand),\\n/* harmony export */ DeleteChannelCommand: () => (/* reexport safe */ _DeleteChannelCommand__WEBPACK_IMPORTED_MODULE_9__.DeleteChannelCommand),\\n/* harmony export */ DeleteChannelFlowCommand: () => (/* reexport safe */ _DeleteChannelFlowCommand__WEBPACK_IMPORTED_MODULE_10__.DeleteChannelFlowCommand),\\n/* harmony export */ DeleteChannelMembershipCommand: () => (/* reexport safe */ _DeleteChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_11__.DeleteChannelMembershipCommand),\\n/* harmony export */ DeleteChannelMessageCommand: () => (/* reexport safe */ _DeleteChannelMessageCommand__WEBPACK_IMPORTED_MODULE_12__.DeleteChannelMessageCommand),\\n/* harmony export */ DeleteChannelModeratorCommand: () => (/* reexport safe */ _DeleteChannelModeratorCommand__WEBPACK_IMPORTED_MODULE_13__.DeleteChannelModeratorCommand),\\n/* harmony export */ DeleteMessagingStreamingConfigurationsCommand: () => (/* reexport safe */ _DeleteMessagingStreamingConfigurationsCommand__WEBPACK_IMPORTED_MODULE_14__.DeleteMessagingStreamingConfigurationsCommand),\\n/* harmony export */ DescribeChannelBanCommand: () => (/* reexport safe */ _DescribeChannelBanCommand__WEBPACK_IMPORTED_MODULE_15__.DescribeChannelBanCommand),\\n/* harmony export */ DescribeChannelCommand: () => (/* reexport safe */ _DescribeChannelCommand__WEBPACK_IMPORTED_MODULE_16__.DescribeChannelCommand),\\n/* harmony export */ DescribeChannelFlowCommand: () => (/* reexport safe */ _DescribeChannelFlowCommand__WEBPACK_IMPORTED_MODULE_17__.DescribeChannelFlowCommand),\\n/* harmony export */ DescribeChannelMembershipCommand: () => (/* reexport safe */ _DescribeChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_18__.DescribeChannelMembershipCommand),\\n/* harmony export */ DescribeChannelMembershipForAppInstanceUserCommand: () => (/* reexport safe */ _DescribeChannelMembershipForAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_19__.DescribeChannelMembershipForAppInstanceUserCommand),\\n/* harmony export */ DescribeChannelModeratedByAppInstanceUserCommand: () => (/* reexport safe */ _DescribeChannelModeratedByAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_20__.DescribeChannelModeratedByAppInstanceUserCommand),\\n/* harmony export */ DescribeChannelModeratorCommand: () => (/* reexport safe */ _DescribeChannelModeratorCommand__WEBPACK_IMPORTED_MODULE_21__.DescribeChannelModeratorCommand),\\n/* harmony export */ DisassociateChannelFlowCommand: () => (/* reexport safe */ _DisassociateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_22__.DisassociateChannelFlowCommand),\\n/* harmony export */ GetChannelMembershipPreferencesCommand: () => (/* reexport safe */ _GetChannelMembershipPreferencesCommand__WEBPACK_IMPORTED_MODULE_23__.GetChannelMembershipPreferencesCommand),\\n/* harmony export */ GetChannelMessageCommand: () => (/* reexport safe */ _GetChannelMessageCommand__WEBPACK_IMPORTED_MODULE_24__.GetChannelMessageCommand),\\n/* harmony export */ GetChannelMessageStatusCommand: () => (/* reexport safe */ _GetChannelMessageStatusCommand__WEBPACK_IMPORTED_MODULE_25__.GetChannelMessageStatusCommand),\\n/* harmony export */ GetMessagingSessionEndpointCommand: () => (/* reexport safe */ _GetMessagingSessionEndpointCommand__WEBPACK_IMPORTED_MODULE_26__.GetMessagingSessionEndpointCommand),\\n/* harmony export */ GetMessagingStreamingConfigurationsCommand: () => (/* reexport safe */ _GetMessagingStreamingConfigurationsCommand__WEBPACK_IMPORTED_MODULE_27__.GetMessagingStreamingConfigurationsCommand),\\n/* harmony export */ ListChannelBansCommand: () => (/* reexport safe */ _ListChannelBansCommand__WEBPACK_IMPORTED_MODULE_28__.ListChannelBansCommand),\\n/* harmony export */ ListChannelFlowsCommand: () => (/* reexport safe */ _ListChannelFlowsCommand__WEBPACK_IMPORTED_MODULE_29__.ListChannelFlowsCommand),\\n/* harmony export */ ListChannelMembershipsCommand: () => (/* reexport safe */ _ListChannelMembershipsCommand__WEBPACK_IMPORTED_MODULE_30__.ListChannelMembershipsCommand),\\n/* harmony export */ ListChannelMembershipsForAppInstanceUserCommand: () => (/* reexport safe */ _ListChannelMembershipsForAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_31__.ListChannelMembershipsForAppInstanceUserCommand),\\n/* harmony export */ ListChannelMessagesCommand: () => (/* reexport safe */ _ListChannelMessagesCommand__WEBPACK_IMPORTED_MODULE_32__.ListChannelMessagesCommand),\\n/* harmony export */ ListChannelModeratorsCommand: () => (/* reexport safe */ _ListChannelModeratorsCommand__WEBPACK_IMPORTED_MODULE_33__.ListChannelModeratorsCommand),\\n/* harmony export */ ListChannelsAssociatedWithChannelFlowCommand: () => (/* reexport safe */ _ListChannelsAssociatedWithChannelFlowCommand__WEBPACK_IMPORTED_MODULE_34__.ListChannelsAssociatedWithChannelFlowCommand),\\n/* harmony export */ ListChannelsCommand: () => (/* reexport safe */ _ListChannelsCommand__WEBPACK_IMPORTED_MODULE_35__.ListChannelsCommand),\\n/* harmony export */ ListChannelsModeratedByAppInstanceUserCommand: () => (/* reexport safe */ _ListChannelsModeratedByAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_36__.ListChannelsModeratedByAppInstanceUserCommand),\\n/* harmony export */ ListSubChannelsCommand: () => (/* reexport safe */ _ListSubChannelsCommand__WEBPACK_IMPORTED_MODULE_37__.ListSubChannelsCommand),\\n/* harmony export */ ListTagsForResourceCommand: () => (/* reexport safe */ _ListTagsForResourceCommand__WEBPACK_IMPORTED_MODULE_38__.ListTagsForResourceCommand),\\n/* harmony export */ PutChannelExpirationSettingsCommand: () => (/* reexport safe */ _PutChannelExpirationSettingsCommand__WEBPACK_IMPORTED_MODULE_39__.PutChannelExpirationSettingsCommand),\\n/* harmony export */ PutChannelMembershipPreferencesCommand: () => (/* reexport safe */ _PutChannelMembershipPreferencesCommand__WEBPACK_IMPORTED_MODULE_40__.PutChannelMembershipPreferencesCommand),\\n/* harmony export */ PutMessagingStreamingConfigurationsCommand: () => (/* reexport safe */ _PutMessagingStreamingConfigurationsCommand__WEBPACK_IMPORTED_MODULE_41__.PutMessagingStreamingConfigurationsCommand),\\n/* harmony export */ RedactChannelMessageCommand: () => (/* reexport safe */ _RedactChannelMessageCommand__WEBPACK_IMPORTED_MODULE_42__.RedactChannelMessageCommand),\\n/* harmony export */ SearchChannelsCommand: () => (/* reexport safe */ _SearchChannelsCommand__WEBPACK_IMPORTED_MODULE_43__.SearchChannelsCommand),\\n/* harmony export */ SendChannelMessageCommand: () => (/* reexport safe */ _SendChannelMessageCommand__WEBPACK_IMPORTED_MODULE_44__.SendChannelMessageCommand),\\n/* harmony export */ TagResourceCommand: () => (/* reexport safe */ _TagResourceCommand__WEBPACK_IMPORTED_MODULE_45__.TagResourceCommand),\\n/* harmony export */ UntagResourceCommand: () => (/* reexport safe */ _UntagResourceCommand__WEBPACK_IMPORTED_MODULE_46__.UntagResourceCommand),\\n/* harmony export */ UpdateChannelCommand: () => (/* reexport safe */ _UpdateChannelCommand__WEBPACK_IMPORTED_MODULE_47__.UpdateChannelCommand),\\n/* harmony export */ UpdateChannelFlowCommand: () => (/* reexport safe */ _UpdateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_48__.UpdateChannelFlowCommand),\\n/* harmony export */ UpdateChannelMessageCommand: () => (/* reexport safe */ _UpdateChannelMessageCommand__WEBPACK_IMPORTED_MODULE_49__.UpdateChannelMessageCommand),\\n/* harmony export */ UpdateChannelReadMarkerCommand: () => (/* reexport safe */ _UpdateChannelReadMarkerCommand__WEBPACK_IMPORTED_MODULE_50__.UpdateChannelReadMarkerCommand)\\n/* harmony export */ });\\n/* harmony import */ var _AssociateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AssociateChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/AssociateChannelFlowCommand.js\\\");\\n/* harmony import */ var _BatchCreateChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BatchCreateChannelMembershipCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/BatchCreateChannelMembershipCommand.js\\\");\\n/* harmony import */ var _ChannelFlowCallbackCommand__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ChannelFlowCallbackCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ChannelFlowCallbackCommand.js\\\");\\n/* harmony import */ var _CreateChannelBanCommand__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CreateChannelBanCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelBanCommand.js\\\");\\n/* harmony import */ var _CreateChannelCommand__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CreateChannelCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelCommand.js\\\");\\n/* harmony import */ var _CreateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CreateChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelFlowCommand.js\\\");\\n/* harmony import */ var _CreateChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./CreateChannelMembershipCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelMembershipCommand.js\\\");\\n/* harmony import */ var _CreateChannelModeratorCommand__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./CreateChannelModeratorCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/CreateChannelModeratorCommand.js\\\");\\n/* harmony import */ var _DeleteChannelBanCommand__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./DeleteChannelBanCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelBanCommand.js\\\");\\n/* harmony import */ var _DeleteChannelCommand__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./DeleteChannelCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelCommand.js\\\");\\n/* harmony import */ var _DeleteChannelFlowCommand__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./DeleteChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelFlowCommand.js\\\");\\n/* harmony import */ var _DeleteChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./DeleteChannelMembershipCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelMembershipCommand.js\\\");\\n/* harmony import */ var _DeleteChannelMessageCommand__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./DeleteChannelMessageCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelMessageCommand.js\\\");\\n/* harmony import */ var _DeleteChannelModeratorCommand__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./DeleteChannelModeratorCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteChannelModeratorCommand.js\\\");\\n/* harmony import */ var _DeleteMessagingStreamingConfigurationsCommand__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./DeleteMessagingStreamingConfigurationsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DeleteMessagingStreamingConfigurationsCommand.js\\\");\\n/* harmony import */ var _DescribeChannelBanCommand__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./DescribeChannelBanCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelBanCommand.js\\\");\\n/* harmony import */ var _DescribeChannelCommand__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./DescribeChannelCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelCommand.js\\\");\\n/* harmony import */ var _DescribeChannelFlowCommand__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./DescribeChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelFlowCommand.js\\\");\\n/* harmony import */ var _DescribeChannelMembershipCommand__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./DescribeChannelMembershipCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelMembershipCommand.js\\\");\\n/* harmony import */ var _DescribeChannelMembershipForAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./DescribeChannelMembershipForAppInstanceUserCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelMembershipForAppInstanceUserCommand.js\\\");\\n/* harmony import */ var _DescribeChannelModeratedByAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./DescribeChannelModeratedByAppInstanceUserCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelModeratedByAppInstanceUserCommand.js\\\");\\n/* harmony import */ var _DescribeChannelModeratorCommand__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./DescribeChannelModeratorCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DescribeChannelModeratorCommand.js\\\");\\n/* harmony import */ var _DisassociateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./DisassociateChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/DisassociateChannelFlowCommand.js\\\");\\n/* harmony import */ var _GetChannelMembershipPreferencesCommand__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./GetChannelMembershipPreferencesCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMembershipPreferencesCommand.js\\\");\\n/* harmony import */ var _GetChannelMessageCommand__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./GetChannelMessageCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMessageCommand.js\\\");\\n/* harmony import */ var _GetChannelMessageStatusCommand__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./GetChannelMessageStatusCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetChannelMessageStatusCommand.js\\\");\\n/* harmony import */ var _GetMessagingSessionEndpointCommand__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./GetMessagingSessionEndpointCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetMessagingSessionEndpointCommand.js\\\");\\n/* harmony import */ var _GetMessagingStreamingConfigurationsCommand__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./GetMessagingStreamingConfigurationsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/GetMessagingStreamingConfigurationsCommand.js\\\");\\n/* harmony import */ var _ListChannelBansCommand__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./ListChannelBansCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelBansCommand.js\\\");\\n/* harmony import */ var _ListChannelFlowsCommand__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./ListChannelFlowsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelFlowsCommand.js\\\");\\n/* harmony import */ var _ListChannelMembershipsCommand__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./ListChannelMembershipsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMembershipsCommand.js\\\");\\n/* harmony import */ var _ListChannelMembershipsForAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./ListChannelMembershipsForAppInstanceUserCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMembershipsForAppInstanceUserCommand.js\\\");\\n/* harmony import */ var _ListChannelMessagesCommand__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./ListChannelMessagesCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMessagesCommand.js\\\");\\n/* harmony import */ var _ListChannelModeratorsCommand__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./ListChannelModeratorsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelModeratorsCommand.js\\\");\\n/* harmony import */ var _ListChannelsAssociatedWithChannelFlowCommand__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./ListChannelsAssociatedWithChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsAssociatedWithChannelFlowCommand.js\\\");\\n/* harmony import */ var _ListChannelsCommand__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./ListChannelsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsCommand.js\\\");\\n/* harmony import */ var _ListChannelsModeratedByAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./ListChannelsModeratedByAppInstanceUserCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsModeratedByAppInstanceUserCommand.js\\\");\\n/* harmony import */ var _ListSubChannelsCommand__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./ListSubChannelsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListSubChannelsCommand.js\\\");\\n/* harmony import */ var _ListTagsForResourceCommand__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./ListTagsForResourceCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListTagsForResourceCommand.js\\\");\\n/* harmony import */ var _PutChannelExpirationSettingsCommand__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./PutChannelExpirationSettingsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutChannelExpirationSettingsCommand.js\\\");\\n/* harmony import */ var _PutChannelMembershipPreferencesCommand__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./PutChannelMembershipPreferencesCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutChannelMembershipPreferencesCommand.js\\\");\\n/* harmony import */ var _PutMessagingStreamingConfigurationsCommand__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./PutMessagingStreamingConfigurationsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/PutMessagingStreamingConfigurationsCommand.js\\\");\\n/* harmony import */ var _RedactChannelMessageCommand__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./RedactChannelMessageCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/RedactChannelMessageCommand.js\\\");\\n/* harmony import */ var _SearchChannelsCommand__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./SearchChannelsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/SearchChannelsCommand.js\\\");\\n/* harmony import */ var _SendChannelMessageCommand__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./SendChannelMessageCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/SendChannelMessageCommand.js\\\");\\n/* harmony import */ var _TagResourceCommand__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./TagResourceCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/TagResourceCommand.js\\\");\\n/* harmony import */ var _UntagResourceCommand__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./UntagResourceCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UntagResourceCommand.js\\\");\\n/* harmony import */ var _UpdateChannelCommand__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./UpdateChannelCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelCommand.js\\\");\\n/* harmony import */ var _UpdateChannelFlowCommand__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./UpdateChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelFlowCommand.js\\\");\\n/* harmony import */ var _UpdateChannelMessageCommand__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./UpdateChannelMessageCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelMessageCommand.js\\\");\\n/* harmony import */ var _UpdateChannelReadMarkerCommand__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./UpdateChannelReadMarkerCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/UpdateChannelReadMarkerCommand.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/endpoint/EndpointParameters.js\":\n/*!*************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/endpoint/EndpointParameters.js ***!\n \\*************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ resolveClientEndpointParameters: () => (/* binding */ resolveClientEndpointParameters)\\n/* harmony export */ });\\nconst resolveClientEndpointParameters = (options) => {\\n return {\\n ...options,\\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\\n useFipsEndpoint: options.useFipsEndpoint ?? false,\\n defaultSigningName: \\\"chime\\\",\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/endpoint/EndpointParameters.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/endpoint/endpointResolver.js\":\n/*!***********************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/endpoint/endpointResolver.js ***!\n \\***********************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ defaultEndpointResolver: () => (/* binding */ defaultEndpointResolver)\\n/* harmony export */ });\\n/* harmony import */ var _aws_sdk_util_endpoints__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @aws-sdk/util-endpoints */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/index.js\\\");\\n/* harmony import */ var _ruleset__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ruleset */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/endpoint/ruleset.js\\\");\\n\\n\\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\\n return (0,_aws_sdk_util_endpoints__WEBPACK_IMPORTED_MODULE_0__.resolveEndpoint)(_ruleset__WEBPACK_IMPORTED_MODULE_1__.ruleSet, {\\n endpointParams: endpointParams,\\n logger: context.logger,\\n });\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/endpoint/endpointResolver.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/endpoint/ruleset.js\":\n/*!**************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/endpoint/ruleset.js ***!\n \\**************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ ruleSet: () => (/* binding */ ruleSet)\\n/* harmony export */ });\\nconst q = \\\"required\\\", r = \\\"fn\\\", s = \\\"argv\\\", t = \\\"ref\\\";\\nconst a = \\\"isSet\\\", b = \\\"tree\\\", c = \\\"error\\\", d = \\\"endpoint\\\", e = \\\"PartitionResult\\\", f = { [q]: false, \\\"type\\\": \\\"String\\\" }, g = { [q]: true, \\\"default\\\": false, \\\"type\\\": \\\"Boolean\\\" }, h = { [t]: \\\"Endpoint\\\" }, i = { [r]: \\\"booleanEquals\\\", [s]: [{ [t]: \\\"UseFIPS\\\" }, true] }, j = { [r]: \\\"booleanEquals\\\", [s]: [{ [t]: \\\"UseDualStack\\\" }, true] }, k = {}, l = { [r]: \\\"booleanEquals\\\", [s]: [true, { [r]: \\\"getAttr\\\", [s]: [{ [t]: e }, \\\"supportsFIPS\\\"] }] }, m = { [r]: \\\"booleanEquals\\\", [s]: [true, { [r]: \\\"getAttr\\\", [s]: [{ [t]: e }, \\\"supportsDualStack\\\"] }] }, n = [i], o = [j], p = [{ [t]: \\\"Region\\\" }];\\nconst _data = { version: \\\"1.0\\\", parameters: { Region: f, UseDualStack: g, UseFIPS: g, Endpoint: f }, rules: [{ conditions: [{ [r]: a, [s]: [h] }], type: b, rules: [{ conditions: n, error: \\\"Invalid Configuration: FIPS and custom endpoint are not supported\\\", type: c }, { type: b, rules: [{ conditions: o, error: \\\"Invalid Configuration: Dualstack and custom endpoint are not supported\\\", type: c }, { endpoint: { url: h, properties: k, headers: k }, type: d }] }] }, { type: b, rules: [{ conditions: [{ [r]: a, [s]: p }], type: b, rules: [{ conditions: [{ [r]: \\\"aws.partition\\\", [s]: p, assign: e }], type: b, rules: [{ conditions: [i, j], type: b, rules: [{ conditions: [l, m], type: b, rules: [{ type: b, rules: [{ endpoint: { url: \\\"https://messaging-chime-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\\\", properties: k, headers: k }, type: d }] }] }, { error: \\\"FIPS and DualStack are enabled, but this partition does not support one or both\\\", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [l], type: b, rules: [{ type: b, rules: [{ endpoint: { url: \\\"https://messaging-chime-fips.{Region}.{PartitionResult#dnsSuffix}\\\", properties: k, headers: k }, type: d }] }] }, { error: \\\"FIPS is enabled but this partition does not support FIPS\\\", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [m], type: b, rules: [{ type: b, rules: [{ endpoint: { url: \\\"https://messaging-chime.{Region}.{PartitionResult#dualStackDnsSuffix}\\\", properties: k, headers: k }, type: d }] }] }, { error: \\\"DualStack is enabled but this partition does not support DualStack\\\", type: c }] }, { type: b, rules: [{ endpoint: { url: \\\"https://messaging-chime.{Region}.{PartitionResult#dnsSuffix}\\\", properties: k, headers: k }, type: d }] }] }] }, { error: \\\"Invalid Configuration: Missing Region\\\", type: c }] }] };\\nconst ruleSet = _data;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/endpoint/ruleset.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/index.js\":\n/*!***************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/index.js ***!\n \\***************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ $Command: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.$Command),\\n/* harmony export */ AllowNotifications: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.AllowNotifications),\\n/* harmony export */ AssociateChannelFlowCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.AssociateChannelFlowCommand),\\n/* harmony export */ BadRequestException: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.BadRequestException),\\n/* harmony export */ BatchChannelMembershipsFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.BatchChannelMembershipsFilterSensitiveLog),\\n/* harmony export */ BatchCreateChannelMembershipCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.BatchCreateChannelMembershipCommand),\\n/* harmony export */ BatchCreateChannelMembershipResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.BatchCreateChannelMembershipResponseFilterSensitiveLog),\\n/* harmony export */ ChannelAssociatedWithFlowSummaryFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelAssociatedWithFlowSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelBanFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelBanFilterSensitiveLog),\\n/* harmony export */ ChannelBanSummaryFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelBanSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelFilterSensitiveLog),\\n/* harmony export */ ChannelFlowCallbackCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.ChannelFlowCallbackCommand),\\n/* harmony export */ ChannelFlowCallbackRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelFlowCallbackRequestFilterSensitiveLog),\\n/* harmony export */ ChannelFlowFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelFlowFilterSensitiveLog),\\n/* harmony export */ ChannelFlowSummaryFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelFlowSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelMembershipFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipForAppInstanceUserSummaryFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelMembershipForAppInstanceUserSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipPreferencesFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelMembershipPreferencesFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipSummaryFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelMembershipSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipType: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelMembershipType),\\n/* harmony export */ ChannelMessageCallbackFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelMessageCallbackFilterSensitiveLog),\\n/* harmony export */ ChannelMessageFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelMessageFilterSensitiveLog),\\n/* harmony export */ ChannelMessagePersistenceType: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelMessagePersistenceType),\\n/* harmony export */ ChannelMessageStatus: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelMessageStatus),\\n/* harmony export */ ChannelMessageSummaryFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelMessageSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelMessageType: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelMessageType),\\n/* harmony export */ ChannelMode: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelMode),\\n/* harmony export */ ChannelModeratedByAppInstanceUserSummaryFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelModeratedByAppInstanceUserSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelModeratorFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelModeratorFilterSensitiveLog),\\n/* harmony export */ ChannelModeratorSummaryFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelModeratorSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelPrivacy: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelPrivacy),\\n/* harmony export */ ChannelSummaryFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ChannelSummaryFilterSensitiveLog),\\n/* harmony export */ ChimeSDKMessaging: () => (/* reexport safe */ _ChimeSDKMessaging__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessaging),\\n/* harmony export */ ChimeSDKMessagingClient: () => (/* reexport safe */ _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_0__.ChimeSDKMessagingClient),\\n/* harmony export */ ChimeSDKMessagingServiceException: () => (/* reexport safe */ _models_ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_5__.ChimeSDKMessagingServiceException),\\n/* harmony export */ ConflictException: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ConflictException),\\n/* harmony export */ CreateChannelBanCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.CreateChannelBanCommand),\\n/* harmony export */ CreateChannelBanResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.CreateChannelBanResponseFilterSensitiveLog),\\n/* harmony export */ CreateChannelCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.CreateChannelCommand),\\n/* harmony export */ CreateChannelFlowCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.CreateChannelFlowCommand),\\n/* harmony export */ CreateChannelFlowRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.CreateChannelFlowRequestFilterSensitiveLog),\\n/* harmony export */ CreateChannelMembershipCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.CreateChannelMembershipCommand),\\n/* harmony export */ CreateChannelMembershipResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.CreateChannelMembershipResponseFilterSensitiveLog),\\n/* harmony export */ CreateChannelModeratorCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.CreateChannelModeratorCommand),\\n/* harmony export */ CreateChannelModeratorResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.CreateChannelModeratorResponseFilterSensitiveLog),\\n/* harmony export */ CreateChannelRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.CreateChannelRequestFilterSensitiveLog),\\n/* harmony export */ DeleteChannelBanCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DeleteChannelBanCommand),\\n/* harmony export */ DeleteChannelCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DeleteChannelCommand),\\n/* harmony export */ DeleteChannelFlowCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DeleteChannelFlowCommand),\\n/* harmony export */ DeleteChannelMembershipCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DeleteChannelMembershipCommand),\\n/* harmony export */ DeleteChannelMessageCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DeleteChannelMessageCommand),\\n/* harmony export */ DeleteChannelModeratorCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DeleteChannelModeratorCommand),\\n/* harmony export */ DeleteMessagingStreamingConfigurationsCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DeleteMessagingStreamingConfigurationsCommand),\\n/* harmony export */ DescribeChannelBanCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DescribeChannelBanCommand),\\n/* harmony export */ DescribeChannelBanResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.DescribeChannelBanResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DescribeChannelCommand),\\n/* harmony export */ DescribeChannelFlowCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DescribeChannelFlowCommand),\\n/* harmony export */ DescribeChannelFlowResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.DescribeChannelFlowResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelMembershipCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DescribeChannelMembershipCommand),\\n/* harmony export */ DescribeChannelMembershipForAppInstanceUserCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DescribeChannelMembershipForAppInstanceUserCommand),\\n/* harmony export */ DescribeChannelMembershipForAppInstanceUserResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.DescribeChannelMembershipForAppInstanceUserResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelMembershipResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.DescribeChannelMembershipResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelModeratedByAppInstanceUserCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DescribeChannelModeratedByAppInstanceUserCommand),\\n/* harmony export */ DescribeChannelModeratedByAppInstanceUserResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.DescribeChannelModeratedByAppInstanceUserResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelModeratorCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DescribeChannelModeratorCommand),\\n/* harmony export */ DescribeChannelModeratorResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.DescribeChannelModeratorResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.DescribeChannelResponseFilterSensitiveLog),\\n/* harmony export */ DisassociateChannelFlowCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.DisassociateChannelFlowCommand),\\n/* harmony export */ ErrorCode: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ErrorCode),\\n/* harmony export */ ExpirationCriterion: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ExpirationCriterion),\\n/* harmony export */ FallbackAction: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.FallbackAction),\\n/* harmony export */ ForbiddenException: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ForbiddenException),\\n/* harmony export */ GetChannelMembershipPreferencesCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.GetChannelMembershipPreferencesCommand),\\n/* harmony export */ GetChannelMembershipPreferencesResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.GetChannelMembershipPreferencesResponseFilterSensitiveLog),\\n/* harmony export */ GetChannelMessageCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.GetChannelMessageCommand),\\n/* harmony export */ GetChannelMessageResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.GetChannelMessageResponseFilterSensitiveLog),\\n/* harmony export */ GetChannelMessageStatusCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.GetChannelMessageStatusCommand),\\n/* harmony export */ GetMessagingSessionEndpointCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.GetMessagingSessionEndpointCommand),\\n/* harmony export */ GetMessagingStreamingConfigurationsCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.GetMessagingStreamingConfigurationsCommand),\\n/* harmony export */ IdentityFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.IdentityFilterSensitiveLog),\\n/* harmony export */ InvocationType: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.InvocationType),\\n/* harmony export */ ListChannelBansCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.ListChannelBansCommand),\\n/* harmony export */ ListChannelBansRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelBansRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelBansResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelBansResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelFlowsCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.ListChannelFlowsCommand),\\n/* harmony export */ ListChannelFlowsRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelFlowsRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelFlowsResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelFlowsResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelMembershipsCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.ListChannelMembershipsCommand),\\n/* harmony export */ ListChannelMembershipsForAppInstanceUserCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.ListChannelMembershipsForAppInstanceUserCommand),\\n/* harmony export */ ListChannelMembershipsForAppInstanceUserRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelMembershipsForAppInstanceUserRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelMembershipsForAppInstanceUserResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelMembershipsForAppInstanceUserResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelMembershipsRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelMembershipsRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelMembershipsResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelMembershipsResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelMessagesCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.ListChannelMessagesCommand),\\n/* harmony export */ ListChannelMessagesRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelMessagesRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelMessagesResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelMessagesResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelModeratorsCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.ListChannelModeratorsCommand),\\n/* harmony export */ ListChannelModeratorsRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelModeratorsRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelModeratorsResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelModeratorsResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelsAssociatedWithChannelFlowCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.ListChannelsAssociatedWithChannelFlowCommand),\\n/* harmony export */ ListChannelsAssociatedWithChannelFlowRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelsAssociatedWithChannelFlowRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelsAssociatedWithChannelFlowResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelsAssociatedWithChannelFlowResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelsCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.ListChannelsCommand),\\n/* harmony export */ ListChannelsModeratedByAppInstanceUserCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.ListChannelsModeratedByAppInstanceUserCommand),\\n/* harmony export */ ListChannelsModeratedByAppInstanceUserRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelsModeratedByAppInstanceUserRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelsModeratedByAppInstanceUserResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelsModeratedByAppInstanceUserResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelsRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelsRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelsResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListChannelsResponseFilterSensitiveLog),\\n/* harmony export */ ListSubChannelsCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.ListSubChannelsCommand),\\n/* harmony export */ ListSubChannelsRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListSubChannelsRequestFilterSensitiveLog),\\n/* harmony export */ ListSubChannelsResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListSubChannelsResponseFilterSensitiveLog),\\n/* harmony export */ ListTagsForResourceCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.ListTagsForResourceCommand),\\n/* harmony export */ ListTagsForResourceResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ListTagsForResourceResponseFilterSensitiveLog),\\n/* harmony export */ MessageAttributeValueFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.MessageAttributeValueFilterSensitiveLog),\\n/* harmony export */ MessagingDataType: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.MessagingDataType),\\n/* harmony export */ NotFoundException: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.NotFoundException),\\n/* harmony export */ ProcessorFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ProcessorFilterSensitiveLog),\\n/* harmony export */ PushNotificationConfigurationFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.PushNotificationConfigurationFilterSensitiveLog),\\n/* harmony export */ PushNotificationPreferencesFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.PushNotificationPreferencesFilterSensitiveLog),\\n/* harmony export */ PushNotificationType: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.PushNotificationType),\\n/* harmony export */ PutChannelExpirationSettingsCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.PutChannelExpirationSettingsCommand),\\n/* harmony export */ PutChannelMembershipPreferencesCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.PutChannelMembershipPreferencesCommand),\\n/* harmony export */ PutChannelMembershipPreferencesRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.PutChannelMembershipPreferencesRequestFilterSensitiveLog),\\n/* harmony export */ PutChannelMembershipPreferencesResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.PutChannelMembershipPreferencesResponseFilterSensitiveLog),\\n/* harmony export */ PutMessagingStreamingConfigurationsCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.PutMessagingStreamingConfigurationsCommand),\\n/* harmony export */ RedactChannelMessageCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.RedactChannelMessageCommand),\\n/* harmony export */ ResourceLimitExceededException: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ResourceLimitExceededException),\\n/* harmony export */ SearchChannelsCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.SearchChannelsCommand),\\n/* harmony export */ SearchChannelsRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.SearchChannelsRequestFilterSensitiveLog),\\n/* harmony export */ SearchChannelsResponseFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.SearchChannelsResponseFilterSensitiveLog),\\n/* harmony export */ SearchFieldKey: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.SearchFieldKey),\\n/* harmony export */ SearchFieldOperator: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.SearchFieldOperator),\\n/* harmony export */ SendChannelMessageCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.SendChannelMessageCommand),\\n/* harmony export */ SendChannelMessageRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.SendChannelMessageRequestFilterSensitiveLog),\\n/* harmony export */ ServiceFailureException: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ServiceFailureException),\\n/* harmony export */ ServiceUnavailableException: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ServiceUnavailableException),\\n/* harmony export */ SortOrder: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.SortOrder),\\n/* harmony export */ TagFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.TagFilterSensitiveLog),\\n/* harmony export */ TagResourceCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.TagResourceCommand),\\n/* harmony export */ TagResourceRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.TagResourceRequestFilterSensitiveLog),\\n/* harmony export */ ThrottledClientException: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.ThrottledClientException),\\n/* harmony export */ UnauthorizedClientException: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.UnauthorizedClientException),\\n/* harmony export */ UntagResourceCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.UntagResourceCommand),\\n/* harmony export */ UntagResourceRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.UntagResourceRequestFilterSensitiveLog),\\n/* harmony export */ UpdateChannelCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.UpdateChannelCommand),\\n/* harmony export */ UpdateChannelFlowCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.UpdateChannelFlowCommand),\\n/* harmony export */ UpdateChannelFlowRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.UpdateChannelFlowRequestFilterSensitiveLog),\\n/* harmony export */ UpdateChannelMessageCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.UpdateChannelMessageCommand),\\n/* harmony export */ UpdateChannelMessageRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.UpdateChannelMessageRequestFilterSensitiveLog),\\n/* harmony export */ UpdateChannelReadMarkerCommand: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_2__.UpdateChannelReadMarkerCommand),\\n/* harmony export */ UpdateChannelRequestFilterSensitiveLog: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_4__.UpdateChannelRequestFilterSensitiveLog),\\n/* harmony export */ __Client: () => (/* reexport safe */ _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_0__.__Client),\\n/* harmony export */ paginateListChannelBans: () => (/* reexport safe */ _pagination__WEBPACK_IMPORTED_MODULE_3__.paginateListChannelBans),\\n/* harmony export */ paginateListChannelFlows: () => (/* reexport safe */ _pagination__WEBPACK_IMPORTED_MODULE_3__.paginateListChannelFlows),\\n/* harmony export */ paginateListChannelMemberships: () => (/* reexport safe */ _pagination__WEBPACK_IMPORTED_MODULE_3__.paginateListChannelMemberships),\\n/* harmony export */ paginateListChannelMembershipsForAppInstanceUser: () => (/* reexport safe */ _pagination__WEBPACK_IMPORTED_MODULE_3__.paginateListChannelMembershipsForAppInstanceUser),\\n/* harmony export */ paginateListChannelMessages: () => (/* reexport safe */ _pagination__WEBPACK_IMPORTED_MODULE_3__.paginateListChannelMessages),\\n/* harmony export */ paginateListChannelModerators: () => (/* reexport safe */ _pagination__WEBPACK_IMPORTED_MODULE_3__.paginateListChannelModerators),\\n/* harmony export */ paginateListChannels: () => (/* reexport safe */ _pagination__WEBPACK_IMPORTED_MODULE_3__.paginateListChannels),\\n/* harmony export */ paginateListChannelsAssociatedWithChannelFlow: () => (/* reexport safe */ _pagination__WEBPACK_IMPORTED_MODULE_3__.paginateListChannelsAssociatedWithChannelFlow),\\n/* harmony export */ paginateListChannelsModeratedByAppInstanceUser: () => (/* reexport safe */ _pagination__WEBPACK_IMPORTED_MODULE_3__.paginateListChannelsModeratedByAppInstanceUser),\\n/* harmony export */ paginateListSubChannels: () => (/* reexport safe */ _pagination__WEBPACK_IMPORTED_MODULE_3__.paginateListSubChannels),\\n/* harmony export */ paginateSearchChannels: () => (/* reexport safe */ _pagination__WEBPACK_IMPORTED_MODULE_3__.paginateSearchChannels)\\n/* harmony export */ });\\n/* harmony import */ var _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ChimeSDKMessagingClient */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\\\");\\n/* harmony import */ var _ChimeSDKMessaging__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ChimeSDKMessaging */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessaging.js\\\");\\n/* harmony import */ var _commands__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./commands */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/index.js\\\");\\n/* harmony import */ var _pagination__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pagination */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/index.js\\\");\\n/* harmony import */ var _models__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./models */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/index.js\\\");\\n/* harmony import */ var _models_ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./models/ChimeSDKMessagingServiceException */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/ChimeSDKMessagingServiceException.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/ChimeSDKMessagingServiceException.js\":\n/*!**************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/ChimeSDKMessagingServiceException.js ***!\n \\**************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ ChimeSDKMessagingServiceException: () => (/* binding */ ChimeSDKMessagingServiceException),\\n/* harmony export */ __ServiceException: () => (/* reexport safe */ _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.ServiceException)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n\\n\\nclass ChimeSDKMessagingServiceException extends _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.ServiceException {\\n constructor(options) {\\n super(options);\\n Object.setPrototypeOf(this, ChimeSDKMessagingServiceException.prototype);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/ChimeSDKMessagingServiceException.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/index.js\":\n/*!**********************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/index.js ***!\n \\**********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ AllowNotifications: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.AllowNotifications),\\n/* harmony export */ BadRequestException: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.BadRequestException),\\n/* harmony export */ BatchChannelMembershipsFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.BatchChannelMembershipsFilterSensitiveLog),\\n/* harmony export */ BatchCreateChannelMembershipResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.BatchCreateChannelMembershipResponseFilterSensitiveLog),\\n/* harmony export */ ChannelAssociatedWithFlowSummaryFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelAssociatedWithFlowSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelBanFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelBanFilterSensitiveLog),\\n/* harmony export */ ChannelBanSummaryFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelBanSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelFilterSensitiveLog),\\n/* harmony export */ ChannelFlowCallbackRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelFlowCallbackRequestFilterSensitiveLog),\\n/* harmony export */ ChannelFlowFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelFlowFilterSensitiveLog),\\n/* harmony export */ ChannelFlowSummaryFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelFlowSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelMembershipFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipForAppInstanceUserSummaryFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelMembershipForAppInstanceUserSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipPreferencesFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelMembershipPreferencesFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipSummaryFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelMembershipSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipType: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelMembershipType),\\n/* harmony export */ ChannelMessageCallbackFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelMessageCallbackFilterSensitiveLog),\\n/* harmony export */ ChannelMessageFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelMessageFilterSensitiveLog),\\n/* harmony export */ ChannelMessagePersistenceType: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelMessagePersistenceType),\\n/* harmony export */ ChannelMessageStatus: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelMessageStatus),\\n/* harmony export */ ChannelMessageSummaryFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelMessageSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelMessageType: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelMessageType),\\n/* harmony export */ ChannelMode: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelMode),\\n/* harmony export */ ChannelModeratedByAppInstanceUserSummaryFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelModeratedByAppInstanceUserSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelModeratorFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelModeratorFilterSensitiveLog),\\n/* harmony export */ ChannelModeratorSummaryFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelModeratorSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelPrivacy: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelPrivacy),\\n/* harmony export */ ChannelSummaryFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ChannelSummaryFilterSensitiveLog),\\n/* harmony export */ ConflictException: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ConflictException),\\n/* harmony export */ CreateChannelBanResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.CreateChannelBanResponseFilterSensitiveLog),\\n/* harmony export */ CreateChannelFlowRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.CreateChannelFlowRequestFilterSensitiveLog),\\n/* harmony export */ CreateChannelMembershipResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.CreateChannelMembershipResponseFilterSensitiveLog),\\n/* harmony export */ CreateChannelModeratorResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.CreateChannelModeratorResponseFilterSensitiveLog),\\n/* harmony export */ CreateChannelRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.CreateChannelRequestFilterSensitiveLog),\\n/* harmony export */ DescribeChannelBanResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.DescribeChannelBanResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelFlowResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.DescribeChannelFlowResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelMembershipForAppInstanceUserResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.DescribeChannelMembershipForAppInstanceUserResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelMembershipResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.DescribeChannelMembershipResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelModeratedByAppInstanceUserResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.DescribeChannelModeratedByAppInstanceUserResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelModeratorResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.DescribeChannelModeratorResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.DescribeChannelResponseFilterSensitiveLog),\\n/* harmony export */ ErrorCode: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ErrorCode),\\n/* harmony export */ ExpirationCriterion: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ExpirationCriterion),\\n/* harmony export */ FallbackAction: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.FallbackAction),\\n/* harmony export */ ForbiddenException: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ForbiddenException),\\n/* harmony export */ GetChannelMembershipPreferencesResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.GetChannelMembershipPreferencesResponseFilterSensitiveLog),\\n/* harmony export */ GetChannelMessageResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.GetChannelMessageResponseFilterSensitiveLog),\\n/* harmony export */ IdentityFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.IdentityFilterSensitiveLog),\\n/* harmony export */ InvocationType: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.InvocationType),\\n/* harmony export */ ListChannelBansRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelBansRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelBansResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelBansResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelFlowsRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelFlowsRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelFlowsResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelFlowsResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelMembershipsForAppInstanceUserRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelMembershipsForAppInstanceUserRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelMembershipsForAppInstanceUserResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelMembershipsForAppInstanceUserResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelMembershipsRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelMembershipsRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelMembershipsResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelMembershipsResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelMessagesRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelMessagesRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelMessagesResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelMessagesResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelModeratorsRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelModeratorsRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelModeratorsResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelModeratorsResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelsAssociatedWithChannelFlowRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelsAssociatedWithChannelFlowRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelsAssociatedWithChannelFlowResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelsAssociatedWithChannelFlowResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelsModeratedByAppInstanceUserRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelsModeratedByAppInstanceUserRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelsModeratedByAppInstanceUserResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelsModeratedByAppInstanceUserResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelsRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelsRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelsResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListChannelsResponseFilterSensitiveLog),\\n/* harmony export */ ListSubChannelsRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListSubChannelsRequestFilterSensitiveLog),\\n/* harmony export */ ListSubChannelsResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListSubChannelsResponseFilterSensitiveLog),\\n/* harmony export */ ListTagsForResourceResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ListTagsForResourceResponseFilterSensitiveLog),\\n/* harmony export */ MessageAttributeValueFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.MessageAttributeValueFilterSensitiveLog),\\n/* harmony export */ MessagingDataType: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.MessagingDataType),\\n/* harmony export */ NotFoundException: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.NotFoundException),\\n/* harmony export */ ProcessorFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ProcessorFilterSensitiveLog),\\n/* harmony export */ PushNotificationConfigurationFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.PushNotificationConfigurationFilterSensitiveLog),\\n/* harmony export */ PushNotificationPreferencesFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.PushNotificationPreferencesFilterSensitiveLog),\\n/* harmony export */ PushNotificationType: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.PushNotificationType),\\n/* harmony export */ PutChannelMembershipPreferencesRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.PutChannelMembershipPreferencesRequestFilterSensitiveLog),\\n/* harmony export */ PutChannelMembershipPreferencesResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.PutChannelMembershipPreferencesResponseFilterSensitiveLog),\\n/* harmony export */ ResourceLimitExceededException: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ResourceLimitExceededException),\\n/* harmony export */ SearchChannelsRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.SearchChannelsRequestFilterSensitiveLog),\\n/* harmony export */ SearchChannelsResponseFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.SearchChannelsResponseFilterSensitiveLog),\\n/* harmony export */ SearchFieldKey: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.SearchFieldKey),\\n/* harmony export */ SearchFieldOperator: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.SearchFieldOperator),\\n/* harmony export */ SendChannelMessageRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.SendChannelMessageRequestFilterSensitiveLog),\\n/* harmony export */ ServiceFailureException: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ServiceFailureException),\\n/* harmony export */ ServiceUnavailableException: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ServiceUnavailableException),\\n/* harmony export */ SortOrder: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.SortOrder),\\n/* harmony export */ TagFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.TagFilterSensitiveLog),\\n/* harmony export */ TagResourceRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.TagResourceRequestFilterSensitiveLog),\\n/* harmony export */ ThrottledClientException: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.ThrottledClientException),\\n/* harmony export */ UnauthorizedClientException: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.UnauthorizedClientException),\\n/* harmony export */ UntagResourceRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.UntagResourceRequestFilterSensitiveLog),\\n/* harmony export */ UpdateChannelFlowRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.UpdateChannelFlowRequestFilterSensitiveLog),\\n/* harmony export */ UpdateChannelMessageRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.UpdateChannelMessageRequestFilterSensitiveLog),\\n/* harmony export */ UpdateChannelRequestFilterSensitiveLog: () => (/* reexport safe */ _models_0__WEBPACK_IMPORTED_MODULE_0__.UpdateChannelRequestFilterSensitiveLog)\\n/* harmony export */ });\\n/* harmony import */ var _models_0__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\":\n/*!*************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js ***!\n \\*************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ AllowNotifications: () => (/* binding */ AllowNotifications),\\n/* harmony export */ BadRequestException: () => (/* binding */ BadRequestException),\\n/* harmony export */ BatchChannelMembershipsFilterSensitiveLog: () => (/* binding */ BatchChannelMembershipsFilterSensitiveLog),\\n/* harmony export */ BatchCreateChannelMembershipResponseFilterSensitiveLog: () => (/* binding */ BatchCreateChannelMembershipResponseFilterSensitiveLog),\\n/* harmony export */ ChannelAssociatedWithFlowSummaryFilterSensitiveLog: () => (/* binding */ ChannelAssociatedWithFlowSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelBanFilterSensitiveLog: () => (/* binding */ ChannelBanFilterSensitiveLog),\\n/* harmony export */ ChannelBanSummaryFilterSensitiveLog: () => (/* binding */ ChannelBanSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelFilterSensitiveLog: () => (/* binding */ ChannelFilterSensitiveLog),\\n/* harmony export */ ChannelFlowCallbackRequestFilterSensitiveLog: () => (/* binding */ ChannelFlowCallbackRequestFilterSensitiveLog),\\n/* harmony export */ ChannelFlowFilterSensitiveLog: () => (/* binding */ ChannelFlowFilterSensitiveLog),\\n/* harmony export */ ChannelFlowSummaryFilterSensitiveLog: () => (/* binding */ ChannelFlowSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipFilterSensitiveLog: () => (/* binding */ ChannelMembershipFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipForAppInstanceUserSummaryFilterSensitiveLog: () => (/* binding */ ChannelMembershipForAppInstanceUserSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipPreferencesFilterSensitiveLog: () => (/* binding */ ChannelMembershipPreferencesFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipSummaryFilterSensitiveLog: () => (/* binding */ ChannelMembershipSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelMembershipType: () => (/* binding */ ChannelMembershipType),\\n/* harmony export */ ChannelMessageCallbackFilterSensitiveLog: () => (/* binding */ ChannelMessageCallbackFilterSensitiveLog),\\n/* harmony export */ ChannelMessageFilterSensitiveLog: () => (/* binding */ ChannelMessageFilterSensitiveLog),\\n/* harmony export */ ChannelMessagePersistenceType: () => (/* binding */ ChannelMessagePersistenceType),\\n/* harmony export */ ChannelMessageStatus: () => (/* binding */ ChannelMessageStatus),\\n/* harmony export */ ChannelMessageSummaryFilterSensitiveLog: () => (/* binding */ ChannelMessageSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelMessageType: () => (/* binding */ ChannelMessageType),\\n/* harmony export */ ChannelMode: () => (/* binding */ ChannelMode),\\n/* harmony export */ ChannelModeratedByAppInstanceUserSummaryFilterSensitiveLog: () => (/* binding */ ChannelModeratedByAppInstanceUserSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelModeratorFilterSensitiveLog: () => (/* binding */ ChannelModeratorFilterSensitiveLog),\\n/* harmony export */ ChannelModeratorSummaryFilterSensitiveLog: () => (/* binding */ ChannelModeratorSummaryFilterSensitiveLog),\\n/* harmony export */ ChannelPrivacy: () => (/* binding */ ChannelPrivacy),\\n/* harmony export */ ChannelSummaryFilterSensitiveLog: () => (/* binding */ ChannelSummaryFilterSensitiveLog),\\n/* harmony export */ ConflictException: () => (/* binding */ ConflictException),\\n/* harmony export */ CreateChannelBanResponseFilterSensitiveLog: () => (/* binding */ CreateChannelBanResponseFilterSensitiveLog),\\n/* harmony export */ CreateChannelFlowRequestFilterSensitiveLog: () => (/* binding */ CreateChannelFlowRequestFilterSensitiveLog),\\n/* harmony export */ CreateChannelMembershipResponseFilterSensitiveLog: () => (/* binding */ CreateChannelMembershipResponseFilterSensitiveLog),\\n/* harmony export */ CreateChannelModeratorResponseFilterSensitiveLog: () => (/* binding */ CreateChannelModeratorResponseFilterSensitiveLog),\\n/* harmony export */ CreateChannelRequestFilterSensitiveLog: () => (/* binding */ CreateChannelRequestFilterSensitiveLog),\\n/* harmony export */ DescribeChannelBanResponseFilterSensitiveLog: () => (/* binding */ DescribeChannelBanResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelFlowResponseFilterSensitiveLog: () => (/* binding */ DescribeChannelFlowResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelMembershipForAppInstanceUserResponseFilterSensitiveLog: () => (/* binding */ DescribeChannelMembershipForAppInstanceUserResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelMembershipResponseFilterSensitiveLog: () => (/* binding */ DescribeChannelMembershipResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelModeratedByAppInstanceUserResponseFilterSensitiveLog: () => (/* binding */ DescribeChannelModeratedByAppInstanceUserResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelModeratorResponseFilterSensitiveLog: () => (/* binding */ DescribeChannelModeratorResponseFilterSensitiveLog),\\n/* harmony export */ DescribeChannelResponseFilterSensitiveLog: () => (/* binding */ DescribeChannelResponseFilterSensitiveLog),\\n/* harmony export */ ErrorCode: () => (/* binding */ ErrorCode),\\n/* harmony export */ ExpirationCriterion: () => (/* binding */ ExpirationCriterion),\\n/* harmony export */ FallbackAction: () => (/* binding */ FallbackAction),\\n/* harmony export */ ForbiddenException: () => (/* binding */ ForbiddenException),\\n/* harmony export */ GetChannelMembershipPreferencesResponseFilterSensitiveLog: () => (/* binding */ GetChannelMembershipPreferencesResponseFilterSensitiveLog),\\n/* harmony export */ GetChannelMessageResponseFilterSensitiveLog: () => (/* binding */ GetChannelMessageResponseFilterSensitiveLog),\\n/* harmony export */ IdentityFilterSensitiveLog: () => (/* binding */ IdentityFilterSensitiveLog),\\n/* harmony export */ InvocationType: () => (/* binding */ InvocationType),\\n/* harmony export */ ListChannelBansRequestFilterSensitiveLog: () => (/* binding */ ListChannelBansRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelBansResponseFilterSensitiveLog: () => (/* binding */ ListChannelBansResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelFlowsRequestFilterSensitiveLog: () => (/* binding */ ListChannelFlowsRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelFlowsResponseFilterSensitiveLog: () => (/* binding */ ListChannelFlowsResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelMembershipsForAppInstanceUserRequestFilterSensitiveLog: () => (/* binding */ ListChannelMembershipsForAppInstanceUserRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelMembershipsForAppInstanceUserResponseFilterSensitiveLog: () => (/* binding */ ListChannelMembershipsForAppInstanceUserResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelMembershipsRequestFilterSensitiveLog: () => (/* binding */ ListChannelMembershipsRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelMembershipsResponseFilterSensitiveLog: () => (/* binding */ ListChannelMembershipsResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelMessagesRequestFilterSensitiveLog: () => (/* binding */ ListChannelMessagesRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelMessagesResponseFilterSensitiveLog: () => (/* binding */ ListChannelMessagesResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelModeratorsRequestFilterSensitiveLog: () => (/* binding */ ListChannelModeratorsRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelModeratorsResponseFilterSensitiveLog: () => (/* binding */ ListChannelModeratorsResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelsAssociatedWithChannelFlowRequestFilterSensitiveLog: () => (/* binding */ ListChannelsAssociatedWithChannelFlowRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelsAssociatedWithChannelFlowResponseFilterSensitiveLog: () => (/* binding */ ListChannelsAssociatedWithChannelFlowResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelsModeratedByAppInstanceUserRequestFilterSensitiveLog: () => (/* binding */ ListChannelsModeratedByAppInstanceUserRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelsModeratedByAppInstanceUserResponseFilterSensitiveLog: () => (/* binding */ ListChannelsModeratedByAppInstanceUserResponseFilterSensitiveLog),\\n/* harmony export */ ListChannelsRequestFilterSensitiveLog: () => (/* binding */ ListChannelsRequestFilterSensitiveLog),\\n/* harmony export */ ListChannelsResponseFilterSensitiveLog: () => (/* binding */ ListChannelsResponseFilterSensitiveLog),\\n/* harmony export */ ListSubChannelsRequestFilterSensitiveLog: () => (/* binding */ ListSubChannelsRequestFilterSensitiveLog),\\n/* harmony export */ ListSubChannelsResponseFilterSensitiveLog: () => (/* binding */ ListSubChannelsResponseFilterSensitiveLog),\\n/* harmony export */ ListTagsForResourceResponseFilterSensitiveLog: () => (/* binding */ ListTagsForResourceResponseFilterSensitiveLog),\\n/* harmony export */ MessageAttributeValueFilterSensitiveLog: () => (/* binding */ MessageAttributeValueFilterSensitiveLog),\\n/* harmony export */ MessagingDataType: () => (/* binding */ MessagingDataType),\\n/* harmony export */ NotFoundException: () => (/* binding */ NotFoundException),\\n/* harmony export */ ProcessorFilterSensitiveLog: () => (/* binding */ ProcessorFilterSensitiveLog),\\n/* harmony export */ PushNotificationConfigurationFilterSensitiveLog: () => (/* binding */ PushNotificationConfigurationFilterSensitiveLog),\\n/* harmony export */ PushNotificationPreferencesFilterSensitiveLog: () => (/* binding */ PushNotificationPreferencesFilterSensitiveLog),\\n/* harmony export */ PushNotificationType: () => (/* binding */ PushNotificationType),\\n/* harmony export */ PutChannelMembershipPreferencesRequestFilterSensitiveLog: () => (/* binding */ PutChannelMembershipPreferencesRequestFilterSensitiveLog),\\n/* harmony export */ PutChannelMembershipPreferencesResponseFilterSensitiveLog: () => (/* binding */ PutChannelMembershipPreferencesResponseFilterSensitiveLog),\\n/* harmony export */ ResourceLimitExceededException: () => (/* binding */ ResourceLimitExceededException),\\n/* harmony export */ SearchChannelsRequestFilterSensitiveLog: () => (/* binding */ SearchChannelsRequestFilterSensitiveLog),\\n/* harmony export */ SearchChannelsResponseFilterSensitiveLog: () => (/* binding */ SearchChannelsResponseFilterSensitiveLog),\\n/* harmony export */ SearchFieldKey: () => (/* binding */ SearchFieldKey),\\n/* harmony export */ SearchFieldOperator: () => (/* binding */ SearchFieldOperator),\\n/* harmony export */ SendChannelMessageRequestFilterSensitiveLog: () => (/* binding */ SendChannelMessageRequestFilterSensitiveLog),\\n/* harmony export */ ServiceFailureException: () => (/* binding */ ServiceFailureException),\\n/* harmony export */ ServiceUnavailableException: () => (/* binding */ ServiceUnavailableException),\\n/* harmony export */ SortOrder: () => (/* binding */ SortOrder),\\n/* harmony export */ TagFilterSensitiveLog: () => (/* binding */ TagFilterSensitiveLog),\\n/* harmony export */ TagResourceRequestFilterSensitiveLog: () => (/* binding */ TagResourceRequestFilterSensitiveLog),\\n/* harmony export */ ThrottledClientException: () => (/* binding */ ThrottledClientException),\\n/* harmony export */ UnauthorizedClientException: () => (/* binding */ UnauthorizedClientException),\\n/* harmony export */ UntagResourceRequestFilterSensitiveLog: () => (/* binding */ UntagResourceRequestFilterSensitiveLog),\\n/* harmony export */ UpdateChannelFlowRequestFilterSensitiveLog: () => (/* binding */ UpdateChannelFlowRequestFilterSensitiveLog),\\n/* harmony export */ UpdateChannelMessageRequestFilterSensitiveLog: () => (/* binding */ UpdateChannelMessageRequestFilterSensitiveLog),\\n/* harmony export */ UpdateChannelRequestFilterSensitiveLog: () => (/* binding */ UpdateChannelRequestFilterSensitiveLog)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ChimeSDKMessagingServiceException */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/ChimeSDKMessagingServiceException.js\\\");\\n\\n\\nconst AllowNotifications = {\\n ALL: \\\"ALL\\\",\\n FILTERED: \\\"FILTERED\\\",\\n NONE: \\\"NONE\\\",\\n};\\nconst ChannelMembershipType = {\\n DEFAULT: \\\"DEFAULT\\\",\\n HIDDEN: \\\"HIDDEN\\\",\\n};\\nconst ErrorCode = {\\n AccessDenied: \\\"AccessDenied\\\",\\n BadRequest: \\\"BadRequest\\\",\\n Conflict: \\\"Conflict\\\",\\n Forbidden: \\\"Forbidden\\\",\\n NotFound: \\\"NotFound\\\",\\n PhoneNumberAssociationsExist: \\\"PhoneNumberAssociationsExist\\\",\\n PreconditionFailed: \\\"PreconditionFailed\\\",\\n ResourceLimitExceeded: \\\"ResourceLimitExceeded\\\",\\n ServiceFailure: \\\"ServiceFailure\\\",\\n ServiceUnavailable: \\\"ServiceUnavailable\\\",\\n Throttled: \\\"Throttled\\\",\\n Throttling: \\\"Throttling\\\",\\n Unauthorized: \\\"Unauthorized\\\",\\n Unprocessable: \\\"Unprocessable\\\",\\n VoiceConnectorGroupAssociationsExist: \\\"VoiceConnectorGroupAssociationsExist\\\",\\n};\\nclass BadRequestException extends _ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingServiceException {\\n constructor(opts) {\\n super({\\n name: \\\"BadRequestException\\\",\\n $fault: \\\"client\\\",\\n ...opts,\\n });\\n this.name = \\\"BadRequestException\\\";\\n this.$fault = \\\"client\\\";\\n Object.setPrototypeOf(this, BadRequestException.prototype);\\n this.Code = opts.Code;\\n this.Message = opts.Message;\\n }\\n}\\nclass ConflictException extends _ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingServiceException {\\n constructor(opts) {\\n super({\\n name: \\\"ConflictException\\\",\\n $fault: \\\"client\\\",\\n ...opts,\\n });\\n this.name = \\\"ConflictException\\\";\\n this.$fault = \\\"client\\\";\\n Object.setPrototypeOf(this, ConflictException.prototype);\\n this.Code = opts.Code;\\n this.Message = opts.Message;\\n }\\n}\\nclass ForbiddenException extends _ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingServiceException {\\n constructor(opts) {\\n super({\\n name: \\\"ForbiddenException\\\",\\n $fault: \\\"client\\\",\\n ...opts,\\n });\\n this.name = \\\"ForbiddenException\\\";\\n this.$fault = \\\"client\\\";\\n Object.setPrototypeOf(this, ForbiddenException.prototype);\\n this.Code = opts.Code;\\n this.Message = opts.Message;\\n }\\n}\\nclass NotFoundException extends _ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingServiceException {\\n constructor(opts) {\\n super({\\n name: \\\"NotFoundException\\\",\\n $fault: \\\"client\\\",\\n ...opts,\\n });\\n this.name = \\\"NotFoundException\\\";\\n this.$fault = \\\"client\\\";\\n Object.setPrototypeOf(this, NotFoundException.prototype);\\n this.Code = opts.Code;\\n this.Message = opts.Message;\\n }\\n}\\nclass ServiceFailureException extends _ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingServiceException {\\n constructor(opts) {\\n super({\\n name: \\\"ServiceFailureException\\\",\\n $fault: \\\"server\\\",\\n ...opts,\\n });\\n this.name = \\\"ServiceFailureException\\\";\\n this.$fault = \\\"server\\\";\\n Object.setPrototypeOf(this, ServiceFailureException.prototype);\\n this.Code = opts.Code;\\n this.Message = opts.Message;\\n }\\n}\\nclass ServiceUnavailableException extends _ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingServiceException {\\n constructor(opts) {\\n super({\\n name: \\\"ServiceUnavailableException\\\",\\n $fault: \\\"server\\\",\\n ...opts,\\n });\\n this.name = \\\"ServiceUnavailableException\\\";\\n this.$fault = \\\"server\\\";\\n Object.setPrototypeOf(this, ServiceUnavailableException.prototype);\\n this.Code = opts.Code;\\n this.Message = opts.Message;\\n }\\n}\\nclass ThrottledClientException extends _ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingServiceException {\\n constructor(opts) {\\n super({\\n name: \\\"ThrottledClientException\\\",\\n $fault: \\\"client\\\",\\n ...opts,\\n });\\n this.name = \\\"ThrottledClientException\\\";\\n this.$fault = \\\"client\\\";\\n Object.setPrototypeOf(this, ThrottledClientException.prototype);\\n this.Code = opts.Code;\\n this.Message = opts.Message;\\n }\\n}\\nclass UnauthorizedClientException extends _ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingServiceException {\\n constructor(opts) {\\n super({\\n name: \\\"UnauthorizedClientException\\\",\\n $fault: \\\"client\\\",\\n ...opts,\\n });\\n this.name = \\\"UnauthorizedClientException\\\";\\n this.$fault = \\\"client\\\";\\n Object.setPrototypeOf(this, UnauthorizedClientException.prototype);\\n this.Code = opts.Code;\\n this.Message = opts.Message;\\n }\\n}\\nclass ResourceLimitExceededException extends _ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingServiceException {\\n constructor(opts) {\\n super({\\n name: \\\"ResourceLimitExceededException\\\",\\n $fault: \\\"client\\\",\\n ...opts,\\n });\\n this.name = \\\"ResourceLimitExceededException\\\";\\n this.$fault = \\\"client\\\";\\n Object.setPrototypeOf(this, ResourceLimitExceededException.prototype);\\n this.Code = opts.Code;\\n this.Message = opts.Message;\\n }\\n}\\nconst ExpirationCriterion = {\\n CREATED_TIMESTAMP: \\\"CREATED_TIMESTAMP\\\",\\n LAST_MESSAGE_TIMESTAMP: \\\"LAST_MESSAGE_TIMESTAMP\\\",\\n};\\nconst ChannelMode = {\\n RESTRICTED: \\\"RESTRICTED\\\",\\n UNRESTRICTED: \\\"UNRESTRICTED\\\",\\n};\\nconst ChannelPrivacy = {\\n PRIVATE: \\\"PRIVATE\\\",\\n PUBLIC: \\\"PUBLIC\\\",\\n};\\nconst InvocationType = {\\n ASYNC: \\\"ASYNC\\\",\\n};\\nconst FallbackAction = {\\n ABORT: \\\"ABORT\\\",\\n CONTINUE: \\\"CONTINUE\\\",\\n};\\nconst PushNotificationType = {\\n DEFAULT: \\\"DEFAULT\\\",\\n VOIP: \\\"VOIP\\\",\\n};\\nconst ChannelMessagePersistenceType = {\\n NON_PERSISTENT: \\\"NON_PERSISTENT\\\",\\n PERSISTENT: \\\"PERSISTENT\\\",\\n};\\nconst ChannelMessageStatus = {\\n DENIED: \\\"DENIED\\\",\\n FAILED: \\\"FAILED\\\",\\n PENDING: \\\"PENDING\\\",\\n SENT: \\\"SENT\\\",\\n};\\nconst ChannelMessageType = {\\n CONTROL: \\\"CONTROL\\\",\\n STANDARD: \\\"STANDARD\\\",\\n};\\nconst MessagingDataType = {\\n Channel: \\\"Channel\\\",\\n ChannelMessage: \\\"ChannelMessage\\\",\\n};\\nconst SortOrder = {\\n ASCENDING: \\\"ASCENDING\\\",\\n DESCENDING: \\\"DESCENDING\\\",\\n};\\nconst SearchFieldKey = {\\n MEMBERS: \\\"MEMBERS\\\",\\n};\\nconst SearchFieldOperator = {\\n EQUALS: \\\"EQUALS\\\",\\n INCLUDES: \\\"INCLUDES\\\",\\n};\\nconst IdentityFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Name && { Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst BatchChannelMembershipsFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.InvitedBy && { InvitedBy: IdentityFilterSensitiveLog(obj.InvitedBy) }),\\n ...(obj.Members && { Members: obj.Members.map((item) => IdentityFilterSensitiveLog(item)) }),\\n});\\nconst BatchCreateChannelMembershipResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.BatchChannelMemberships && {\\n BatchChannelMemberships: BatchChannelMembershipsFilterSensitiveLog(obj.BatchChannelMemberships),\\n }),\\n});\\nconst ChannelFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Name && { Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Metadata && { Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.CreatedBy && { CreatedBy: IdentityFilterSensitiveLog(obj.CreatedBy) }),\\n});\\nconst ChannelAssociatedWithFlowSummaryFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Name && { Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Metadata && { Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ChannelBanFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Member && { Member: IdentityFilterSensitiveLog(obj.Member) }),\\n ...(obj.CreatedBy && { CreatedBy: IdentityFilterSensitiveLog(obj.CreatedBy) }),\\n});\\nconst ChannelBanSummaryFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Member && { Member: IdentityFilterSensitiveLog(obj.Member) }),\\n});\\nconst ProcessorFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Name && { Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ChannelFlowFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Processors && { Processors: obj.Processors.map((item) => ProcessorFilterSensitiveLog(item)) }),\\n ...(obj.Name && { Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst MessageAttributeValueFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.StringValues && { StringValues: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst PushNotificationConfigurationFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Title && { Title: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Body && { Body: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ChannelMessageCallbackFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Content && { Content: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Metadata && { Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.PushNotification && {\\n PushNotification: PushNotificationConfigurationFilterSensitiveLog(obj.PushNotification),\\n }),\\n ...(obj.MessageAttributes && {\\n MessageAttributes: Object.entries(obj.MessageAttributes).reduce((acc, [key, value]) => ((acc[key] = MessageAttributeValueFilterSensitiveLog(value)), acc), {}),\\n }),\\n ...(obj.ContentType && { ContentType: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ChannelFlowCallbackRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.ChannelMessage && { ChannelMessage: ChannelMessageCallbackFilterSensitiveLog(obj.ChannelMessage) }),\\n});\\nconst ChannelFlowSummaryFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Name && { Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Processors && { Processors: obj.Processors.map((item) => ProcessorFilterSensitiveLog(item)) }),\\n});\\nconst ChannelMembershipFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.InvitedBy && { InvitedBy: IdentityFilterSensitiveLog(obj.InvitedBy) }),\\n ...(obj.Member && { Member: IdentityFilterSensitiveLog(obj.Member) }),\\n});\\nconst ChannelSummaryFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Name && { Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Metadata && { Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ChannelMembershipForAppInstanceUserSummaryFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.ChannelSummary && { ChannelSummary: ChannelSummaryFilterSensitiveLog(obj.ChannelSummary) }),\\n});\\nconst PushNotificationPreferencesFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.FilterRule && { FilterRule: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ChannelMembershipPreferencesFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.PushNotifications && {\\n PushNotifications: PushNotificationPreferencesFilterSensitiveLog(obj.PushNotifications),\\n }),\\n});\\nconst ChannelMembershipSummaryFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Member && { Member: IdentityFilterSensitiveLog(obj.Member) }),\\n});\\nconst ChannelMessageFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Content && { Content: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Metadata && { Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Sender && { Sender: IdentityFilterSensitiveLog(obj.Sender) }),\\n ...(obj.MessageAttributes && {\\n MessageAttributes: Object.entries(obj.MessageAttributes).reduce((acc, [key, value]) => ((acc[key] = MessageAttributeValueFilterSensitiveLog(value)), acc), {}),\\n }),\\n ...(obj.ContentType && { ContentType: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ChannelMessageSummaryFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Content && { Content: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Metadata && { Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Sender && { Sender: IdentityFilterSensitiveLog(obj.Sender) }),\\n ...(obj.MessageAttributes && {\\n MessageAttributes: Object.entries(obj.MessageAttributes).reduce((acc, [key, value]) => ((acc[key] = MessageAttributeValueFilterSensitiveLog(value)), acc), {}),\\n }),\\n ...(obj.ContentType && { ContentType: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ChannelModeratedByAppInstanceUserSummaryFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.ChannelSummary && { ChannelSummary: ChannelSummaryFilterSensitiveLog(obj.ChannelSummary) }),\\n});\\nconst ChannelModeratorFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Moderator && { Moderator: IdentityFilterSensitiveLog(obj.Moderator) }),\\n ...(obj.CreatedBy && { CreatedBy: IdentityFilterSensitiveLog(obj.CreatedBy) }),\\n});\\nconst ChannelModeratorSummaryFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Moderator && { Moderator: IdentityFilterSensitiveLog(obj.Moderator) }),\\n});\\nconst TagFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Key && { Key: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Value && { Value: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst CreateChannelRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Name && { Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Metadata && { Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.ClientRequestToken && { ClientRequestToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Tags && { Tags: obj.Tags.map((item) => TagFilterSensitiveLog(item)) }),\\n ...(obj.ChannelId && { ChannelId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst CreateChannelBanResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Member && { Member: IdentityFilterSensitiveLog(obj.Member) }),\\n});\\nconst CreateChannelFlowRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Processors && { Processors: obj.Processors.map((item) => ProcessorFilterSensitiveLog(item)) }),\\n ...(obj.Name && { Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Tags && { Tags: obj.Tags.map((item) => TagFilterSensitiveLog(item)) }),\\n ...(obj.ClientRequestToken && { ClientRequestToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst CreateChannelMembershipResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Member && { Member: IdentityFilterSensitiveLog(obj.Member) }),\\n});\\nconst CreateChannelModeratorResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.ChannelModerator && { ChannelModerator: IdentityFilterSensitiveLog(obj.ChannelModerator) }),\\n});\\nconst DescribeChannelResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Channel && { Channel: ChannelFilterSensitiveLog(obj.Channel) }),\\n});\\nconst DescribeChannelBanResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.ChannelBan && { ChannelBan: ChannelBanFilterSensitiveLog(obj.ChannelBan) }),\\n});\\nconst DescribeChannelFlowResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.ChannelFlow && { ChannelFlow: ChannelFlowFilterSensitiveLog(obj.ChannelFlow) }),\\n});\\nconst DescribeChannelMembershipResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.ChannelMembership && { ChannelMembership: ChannelMembershipFilterSensitiveLog(obj.ChannelMembership) }),\\n});\\nconst DescribeChannelMembershipForAppInstanceUserResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.ChannelMembership && {\\n ChannelMembership: ChannelMembershipForAppInstanceUserSummaryFilterSensitiveLog(obj.ChannelMembership),\\n }),\\n});\\nconst DescribeChannelModeratedByAppInstanceUserResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Channel && { Channel: ChannelModeratedByAppInstanceUserSummaryFilterSensitiveLog(obj.Channel) }),\\n});\\nconst DescribeChannelModeratorResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.ChannelModerator && { ChannelModerator: ChannelModeratorFilterSensitiveLog(obj.ChannelModerator) }),\\n});\\nconst GetChannelMembershipPreferencesResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Member && { Member: IdentityFilterSensitiveLog(obj.Member) }),\\n ...(obj.Preferences && { Preferences: ChannelMembershipPreferencesFilterSensitiveLog(obj.Preferences) }),\\n});\\nconst GetChannelMessageResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.ChannelMessage && { ChannelMessage: ChannelMessageFilterSensitiveLog(obj.ChannelMessage) }),\\n});\\nconst ListChannelBansRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelBansResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.ChannelBans && { ChannelBans: obj.ChannelBans.map((item) => ChannelBanSummaryFilterSensitiveLog(item)) }),\\n});\\nconst ListChannelFlowsRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelFlowsResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.ChannelFlows && { ChannelFlows: obj.ChannelFlows.map((item) => ChannelFlowSummaryFilterSensitiveLog(item)) }),\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelMembershipsRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelMembershipsResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.ChannelMemberships && {\\n ChannelMemberships: obj.ChannelMemberships.map((item) => ChannelMembershipSummaryFilterSensitiveLog(item)),\\n }),\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelMembershipsForAppInstanceUserRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelMembershipsForAppInstanceUserResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.ChannelMemberships && {\\n ChannelMemberships: obj.ChannelMemberships.map((item) => ChannelMembershipForAppInstanceUserSummaryFilterSensitiveLog(item)),\\n }),\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelMessagesRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelMessagesResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.ChannelMessages && {\\n ChannelMessages: obj.ChannelMessages.map((item) => ChannelMessageSummaryFilterSensitiveLog(item)),\\n }),\\n});\\nconst ListChannelModeratorsRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelModeratorsResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.ChannelModerators && {\\n ChannelModerators: obj.ChannelModerators.map((item) => ChannelModeratorSummaryFilterSensitiveLog(item)),\\n }),\\n});\\nconst ListChannelsRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelsResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Channels && { Channels: obj.Channels.map((item) => ChannelSummaryFilterSensitiveLog(item)) }),\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelsAssociatedWithChannelFlowRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelsAssociatedWithChannelFlowResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Channels && {\\n Channels: obj.Channels.map((item) => ChannelAssociatedWithFlowSummaryFilterSensitiveLog(item)),\\n }),\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelsModeratedByAppInstanceUserRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListChannelsModeratedByAppInstanceUserResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Channels && {\\n Channels: obj.Channels.map((item) => ChannelModeratedByAppInstanceUserSummaryFilterSensitiveLog(item)),\\n }),\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListSubChannelsRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListSubChannelsResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst ListTagsForResourceResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Tags && { Tags: obj.Tags.map((item) => TagFilterSensitiveLog(item)) }),\\n});\\nconst PutChannelMembershipPreferencesRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Preferences && { Preferences: ChannelMembershipPreferencesFilterSensitiveLog(obj.Preferences) }),\\n});\\nconst PutChannelMembershipPreferencesResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Member && { Member: IdentityFilterSensitiveLog(obj.Member) }),\\n ...(obj.Preferences && { Preferences: ChannelMembershipPreferencesFilterSensitiveLog(obj.Preferences) }),\\n});\\nconst SearchChannelsRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst SearchChannelsResponseFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Channels && { Channels: obj.Channels.map((item) => ChannelSummaryFilterSensitiveLog(item)) }),\\n ...(obj.NextToken && { NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst SendChannelMessageRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Content && { Content: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Metadata && { Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.ClientRequestToken && { ClientRequestToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.PushNotification && {\\n PushNotification: PushNotificationConfigurationFilterSensitiveLog(obj.PushNotification),\\n }),\\n ...(obj.MessageAttributes && {\\n MessageAttributes: Object.entries(obj.MessageAttributes).reduce((acc, [key, value]) => ((acc[key] = MessageAttributeValueFilterSensitiveLog(value)), acc), {}),\\n }),\\n ...(obj.ContentType && { ContentType: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst TagResourceRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Tags && { Tags: obj.Tags.map((item) => TagFilterSensitiveLog(item)) }),\\n});\\nconst UntagResourceRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.TagKeys && { TagKeys: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst UpdateChannelRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Name && { Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Metadata && { Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst UpdateChannelFlowRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Processors && { Processors: obj.Processors.map((item) => ProcessorFilterSensitiveLog(item)) }),\\n ...(obj.Name && { Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\nconst UpdateChannelMessageRequestFilterSensitiveLog = (obj) => ({\\n ...obj,\\n ...(obj.Content && { Content: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.Metadata && { Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n ...(obj.ContentType && { ContentType: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.SENSITIVE_STRING }),\\n});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelBansPaginator.js\":\n/*!*********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelBansPaginator.js ***!\n \\*********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ paginateListChannelBans: () => (/* binding */ paginateListChannelBans)\\n/* harmony export */ });\\n/* harmony import */ var _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ChimeSDKMessagingClient */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\\\");\\n/* harmony import */ var _commands_ListChannelBansCommand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../commands/ListChannelBansCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelBansCommand.js\\\");\\n\\n\\nconst makePagedClientRequest = async (client, input, ...args) => {\\n return await client.send(new _commands_ListChannelBansCommand__WEBPACK_IMPORTED_MODULE_0__.ListChannelBansCommand(input), ...args);\\n};\\nasync function* paginateListChannelBans(config, input, ...additionalArguments) {\\n let token = config.startingToken || undefined;\\n let hasNext = true;\\n let page;\\n while (hasNext) {\\n input.NextToken = token;\\n input[\\\"MaxResults\\\"] = config.pageSize;\\n if (config.client instanceof _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingClient) {\\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\\n }\\n else {\\n throw new Error(\\\"Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient\\\");\\n }\\n yield page;\\n const prevToken = token;\\n token = page.NextToken;\\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\\n }\\n return undefined;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelBansPaginator.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelFlowsPaginator.js\":\n/*!**********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelFlowsPaginator.js ***!\n \\**********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ paginateListChannelFlows: () => (/* binding */ paginateListChannelFlows)\\n/* harmony export */ });\\n/* harmony import */ var _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ChimeSDKMessagingClient */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\\\");\\n/* harmony import */ var _commands_ListChannelFlowsCommand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../commands/ListChannelFlowsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelFlowsCommand.js\\\");\\n\\n\\nconst makePagedClientRequest = async (client, input, ...args) => {\\n return await client.send(new _commands_ListChannelFlowsCommand__WEBPACK_IMPORTED_MODULE_0__.ListChannelFlowsCommand(input), ...args);\\n};\\nasync function* paginateListChannelFlows(config, input, ...additionalArguments) {\\n let token = config.startingToken || undefined;\\n let hasNext = true;\\n let page;\\n while (hasNext) {\\n input.NextToken = token;\\n input[\\\"MaxResults\\\"] = config.pageSize;\\n if (config.client instanceof _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingClient) {\\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\\n }\\n else {\\n throw new Error(\\\"Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient\\\");\\n }\\n yield page;\\n const prevToken = token;\\n token = page.NextToken;\\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\\n }\\n return undefined;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelFlowsPaginator.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelMembershipsForAppInstanceUserPaginator.js\":\n/*!**********************************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelMembershipsForAppInstanceUserPaginator.js ***!\n \\**********************************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ paginateListChannelMembershipsForAppInstanceUser: () => (/* binding */ paginateListChannelMembershipsForAppInstanceUser)\\n/* harmony export */ });\\n/* harmony import */ var _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ChimeSDKMessagingClient */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\\\");\\n/* harmony import */ var _commands_ListChannelMembershipsForAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../commands/ListChannelMembershipsForAppInstanceUserCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMembershipsForAppInstanceUserCommand.js\\\");\\n\\n\\nconst makePagedClientRequest = async (client, input, ...args) => {\\n return await client.send(new _commands_ListChannelMembershipsForAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_0__.ListChannelMembershipsForAppInstanceUserCommand(input), ...args);\\n};\\nasync function* paginateListChannelMembershipsForAppInstanceUser(config, input, ...additionalArguments) {\\n let token = config.startingToken || undefined;\\n let hasNext = true;\\n let page;\\n while (hasNext) {\\n input.NextToken = token;\\n input[\\\"MaxResults\\\"] = config.pageSize;\\n if (config.client instanceof _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingClient) {\\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\\n }\\n else {\\n throw new Error(\\\"Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient\\\");\\n }\\n yield page;\\n const prevToken = token;\\n token = page.NextToken;\\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\\n }\\n return undefined;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelMembershipsForAppInstanceUserPaginator.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelMembershipsPaginator.js\":\n/*!****************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelMembershipsPaginator.js ***!\n \\****************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ paginateListChannelMemberships: () => (/* binding */ paginateListChannelMemberships)\\n/* harmony export */ });\\n/* harmony import */ var _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ChimeSDKMessagingClient */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\\\");\\n/* harmony import */ var _commands_ListChannelMembershipsCommand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../commands/ListChannelMembershipsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMembershipsCommand.js\\\");\\n\\n\\nconst makePagedClientRequest = async (client, input, ...args) => {\\n return await client.send(new _commands_ListChannelMembershipsCommand__WEBPACK_IMPORTED_MODULE_0__.ListChannelMembershipsCommand(input), ...args);\\n};\\nasync function* paginateListChannelMemberships(config, input, ...additionalArguments) {\\n let token = config.startingToken || undefined;\\n let hasNext = true;\\n let page;\\n while (hasNext) {\\n input.NextToken = token;\\n input[\\\"MaxResults\\\"] = config.pageSize;\\n if (config.client instanceof _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingClient) {\\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\\n }\\n else {\\n throw new Error(\\\"Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient\\\");\\n }\\n yield page;\\n const prevToken = token;\\n token = page.NextToken;\\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\\n }\\n return undefined;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelMembershipsPaginator.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelMessagesPaginator.js\":\n/*!*************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelMessagesPaginator.js ***!\n \\*************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ paginateListChannelMessages: () => (/* binding */ paginateListChannelMessages)\\n/* harmony export */ });\\n/* harmony import */ var _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ChimeSDKMessagingClient */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\\\");\\n/* harmony import */ var _commands_ListChannelMessagesCommand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../commands/ListChannelMessagesCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelMessagesCommand.js\\\");\\n\\n\\nconst makePagedClientRequest = async (client, input, ...args) => {\\n return await client.send(new _commands_ListChannelMessagesCommand__WEBPACK_IMPORTED_MODULE_0__.ListChannelMessagesCommand(input), ...args);\\n};\\nasync function* paginateListChannelMessages(config, input, ...additionalArguments) {\\n let token = config.startingToken || undefined;\\n let hasNext = true;\\n let page;\\n while (hasNext) {\\n input.NextToken = token;\\n input[\\\"MaxResults\\\"] = config.pageSize;\\n if (config.client instanceof _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingClient) {\\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\\n }\\n else {\\n throw new Error(\\\"Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient\\\");\\n }\\n yield page;\\n const prevToken = token;\\n token = page.NextToken;\\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\\n }\\n return undefined;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelMessagesPaginator.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelModeratorsPaginator.js\":\n/*!***************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelModeratorsPaginator.js ***!\n \\***************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ paginateListChannelModerators: () => (/* binding */ paginateListChannelModerators)\\n/* harmony export */ });\\n/* harmony import */ var _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ChimeSDKMessagingClient */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\\\");\\n/* harmony import */ var _commands_ListChannelModeratorsCommand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../commands/ListChannelModeratorsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelModeratorsCommand.js\\\");\\n\\n\\nconst makePagedClientRequest = async (client, input, ...args) => {\\n return await client.send(new _commands_ListChannelModeratorsCommand__WEBPACK_IMPORTED_MODULE_0__.ListChannelModeratorsCommand(input), ...args);\\n};\\nasync function* paginateListChannelModerators(config, input, ...additionalArguments) {\\n let token = config.startingToken || undefined;\\n let hasNext = true;\\n let page;\\n while (hasNext) {\\n input.NextToken = token;\\n input[\\\"MaxResults\\\"] = config.pageSize;\\n if (config.client instanceof _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingClient) {\\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\\n }\\n else {\\n throw new Error(\\\"Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient\\\");\\n }\\n yield page;\\n const prevToken = token;\\n token = page.NextToken;\\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\\n }\\n return undefined;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelModeratorsPaginator.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelsAssociatedWithChannelFlowPaginator.js\":\n/*!*******************************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelsAssociatedWithChannelFlowPaginator.js ***!\n \\*******************************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ paginateListChannelsAssociatedWithChannelFlow: () => (/* binding */ paginateListChannelsAssociatedWithChannelFlow)\\n/* harmony export */ });\\n/* harmony import */ var _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ChimeSDKMessagingClient */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\\\");\\n/* harmony import */ var _commands_ListChannelsAssociatedWithChannelFlowCommand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../commands/ListChannelsAssociatedWithChannelFlowCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsAssociatedWithChannelFlowCommand.js\\\");\\n\\n\\nconst makePagedClientRequest = async (client, input, ...args) => {\\n return await client.send(new _commands_ListChannelsAssociatedWithChannelFlowCommand__WEBPACK_IMPORTED_MODULE_0__.ListChannelsAssociatedWithChannelFlowCommand(input), ...args);\\n};\\nasync function* paginateListChannelsAssociatedWithChannelFlow(config, input, ...additionalArguments) {\\n let token = config.startingToken || undefined;\\n let hasNext = true;\\n let page;\\n while (hasNext) {\\n input.NextToken = token;\\n input[\\\"MaxResults\\\"] = config.pageSize;\\n if (config.client instanceof _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingClient) {\\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\\n }\\n else {\\n throw new Error(\\\"Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient\\\");\\n }\\n yield page;\\n const prevToken = token;\\n token = page.NextToken;\\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\\n }\\n return undefined;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelsAssociatedWithChannelFlowPaginator.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelsModeratedByAppInstanceUserPaginator.js\":\n/*!********************************************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelsModeratedByAppInstanceUserPaginator.js ***!\n \\********************************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ paginateListChannelsModeratedByAppInstanceUser: () => (/* binding */ paginateListChannelsModeratedByAppInstanceUser)\\n/* harmony export */ });\\n/* harmony import */ var _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ChimeSDKMessagingClient */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\\\");\\n/* harmony import */ var _commands_ListChannelsModeratedByAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../commands/ListChannelsModeratedByAppInstanceUserCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsModeratedByAppInstanceUserCommand.js\\\");\\n\\n\\nconst makePagedClientRequest = async (client, input, ...args) => {\\n return await client.send(new _commands_ListChannelsModeratedByAppInstanceUserCommand__WEBPACK_IMPORTED_MODULE_0__.ListChannelsModeratedByAppInstanceUserCommand(input), ...args);\\n};\\nasync function* paginateListChannelsModeratedByAppInstanceUser(config, input, ...additionalArguments) {\\n let token = config.startingToken || undefined;\\n let hasNext = true;\\n let page;\\n while (hasNext) {\\n input.NextToken = token;\\n input[\\\"MaxResults\\\"] = config.pageSize;\\n if (config.client instanceof _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingClient) {\\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\\n }\\n else {\\n throw new Error(\\\"Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient\\\");\\n }\\n yield page;\\n const prevToken = token;\\n token = page.NextToken;\\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\\n }\\n return undefined;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelsModeratedByAppInstanceUserPaginator.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelsPaginator.js\":\n/*!******************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelsPaginator.js ***!\n \\******************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ paginateListChannels: () => (/* binding */ paginateListChannels)\\n/* harmony export */ });\\n/* harmony import */ var _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ChimeSDKMessagingClient */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\\\");\\n/* harmony import */ var _commands_ListChannelsCommand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../commands/ListChannelsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListChannelsCommand.js\\\");\\n\\n\\nconst makePagedClientRequest = async (client, input, ...args) => {\\n return await client.send(new _commands_ListChannelsCommand__WEBPACK_IMPORTED_MODULE_0__.ListChannelsCommand(input), ...args);\\n};\\nasync function* paginateListChannels(config, input, ...additionalArguments) {\\n let token = config.startingToken || undefined;\\n let hasNext = true;\\n let page;\\n while (hasNext) {\\n input.NextToken = token;\\n input[\\\"MaxResults\\\"] = config.pageSize;\\n if (config.client instanceof _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingClient) {\\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\\n }\\n else {\\n throw new Error(\\\"Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient\\\");\\n }\\n yield page;\\n const prevToken = token;\\n token = page.NextToken;\\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\\n }\\n return undefined;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelsPaginator.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListSubChannelsPaginator.js\":\n/*!*********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListSubChannelsPaginator.js ***!\n \\*********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ paginateListSubChannels: () => (/* binding */ paginateListSubChannels)\\n/* harmony export */ });\\n/* harmony import */ var _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ChimeSDKMessagingClient */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\\\");\\n/* harmony import */ var _commands_ListSubChannelsCommand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../commands/ListSubChannelsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/ListSubChannelsCommand.js\\\");\\n\\n\\nconst makePagedClientRequest = async (client, input, ...args) => {\\n return await client.send(new _commands_ListSubChannelsCommand__WEBPACK_IMPORTED_MODULE_0__.ListSubChannelsCommand(input), ...args);\\n};\\nasync function* paginateListSubChannels(config, input, ...additionalArguments) {\\n let token = config.startingToken || undefined;\\n let hasNext = true;\\n let page;\\n while (hasNext) {\\n input.NextToken = token;\\n input[\\\"MaxResults\\\"] = config.pageSize;\\n if (config.client instanceof _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingClient) {\\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\\n }\\n else {\\n throw new Error(\\\"Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient\\\");\\n }\\n yield page;\\n const prevToken = token;\\n token = page.NextToken;\\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\\n }\\n return undefined;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListSubChannelsPaginator.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/SearchChannelsPaginator.js\":\n/*!********************************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/SearchChannelsPaginator.js ***!\n \\********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ paginateSearchChannels: () => (/* binding */ paginateSearchChannels)\\n/* harmony export */ });\\n/* harmony import */ var _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ChimeSDKMessagingClient */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/ChimeSDKMessagingClient.js\\\");\\n/* harmony import */ var _commands_SearchChannelsCommand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../commands/SearchChannelsCommand */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/commands/SearchChannelsCommand.js\\\");\\n\\n\\nconst makePagedClientRequest = async (client, input, ...args) => {\\n return await client.send(new _commands_SearchChannelsCommand__WEBPACK_IMPORTED_MODULE_0__.SearchChannelsCommand(input), ...args);\\n};\\nasync function* paginateSearchChannels(config, input, ...additionalArguments) {\\n let token = config.startingToken || undefined;\\n let hasNext = true;\\n let page;\\n while (hasNext) {\\n input.NextToken = token;\\n input[\\\"MaxResults\\\"] = config.pageSize;\\n if (config.client instanceof _ChimeSDKMessagingClient__WEBPACK_IMPORTED_MODULE_1__.ChimeSDKMessagingClient) {\\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\\n }\\n else {\\n throw new Error(\\\"Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient\\\");\\n }\\n yield page;\\n const prevToken = token;\\n token = page.NextToken;\\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\\n }\\n return undefined;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/SearchChannelsPaginator.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/index.js\":\n/*!**************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/index.js ***!\n \\**************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ paginateListChannelBans: () => (/* reexport safe */ _ListChannelBansPaginator__WEBPACK_IMPORTED_MODULE_0__.paginateListChannelBans),\\n/* harmony export */ paginateListChannelFlows: () => (/* reexport safe */ _ListChannelFlowsPaginator__WEBPACK_IMPORTED_MODULE_1__.paginateListChannelFlows),\\n/* harmony export */ paginateListChannelMemberships: () => (/* reexport safe */ _ListChannelMembershipsPaginator__WEBPACK_IMPORTED_MODULE_3__.paginateListChannelMemberships),\\n/* harmony export */ paginateListChannelMembershipsForAppInstanceUser: () => (/* reexport safe */ _ListChannelMembershipsForAppInstanceUserPaginator__WEBPACK_IMPORTED_MODULE_2__.paginateListChannelMembershipsForAppInstanceUser),\\n/* harmony export */ paginateListChannelMessages: () => (/* reexport safe */ _ListChannelMessagesPaginator__WEBPACK_IMPORTED_MODULE_4__.paginateListChannelMessages),\\n/* harmony export */ paginateListChannelModerators: () => (/* reexport safe */ _ListChannelModeratorsPaginator__WEBPACK_IMPORTED_MODULE_5__.paginateListChannelModerators),\\n/* harmony export */ paginateListChannels: () => (/* reexport safe */ _ListChannelsPaginator__WEBPACK_IMPORTED_MODULE_8__.paginateListChannels),\\n/* harmony export */ paginateListChannelsAssociatedWithChannelFlow: () => (/* reexport safe */ _ListChannelsAssociatedWithChannelFlowPaginator__WEBPACK_IMPORTED_MODULE_6__.paginateListChannelsAssociatedWithChannelFlow),\\n/* harmony export */ paginateListChannelsModeratedByAppInstanceUser: () => (/* reexport safe */ _ListChannelsModeratedByAppInstanceUserPaginator__WEBPACK_IMPORTED_MODULE_7__.paginateListChannelsModeratedByAppInstanceUser),\\n/* harmony export */ paginateListSubChannels: () => (/* reexport safe */ _ListSubChannelsPaginator__WEBPACK_IMPORTED_MODULE_9__.paginateListSubChannels),\\n/* harmony export */ paginateSearchChannels: () => (/* reexport safe */ _SearchChannelsPaginator__WEBPACK_IMPORTED_MODULE_10__.paginateSearchChannels)\\n/* harmony export */ });\\n/* harmony import */ var _ListChannelBansPaginator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ListChannelBansPaginator */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelBansPaginator.js\\\");\\n/* harmony import */ var _ListChannelFlowsPaginator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ListChannelFlowsPaginator */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelFlowsPaginator.js\\\");\\n/* harmony import */ var _ListChannelMembershipsForAppInstanceUserPaginator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ListChannelMembershipsForAppInstanceUserPaginator */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelMembershipsForAppInstanceUserPaginator.js\\\");\\n/* harmony import */ var _ListChannelMembershipsPaginator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ListChannelMembershipsPaginator */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelMembershipsPaginator.js\\\");\\n/* harmony import */ var _ListChannelMessagesPaginator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ListChannelMessagesPaginator */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelMessagesPaginator.js\\\");\\n/* harmony import */ var _ListChannelModeratorsPaginator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ListChannelModeratorsPaginator */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelModeratorsPaginator.js\\\");\\n/* harmony import */ var _ListChannelsAssociatedWithChannelFlowPaginator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ListChannelsAssociatedWithChannelFlowPaginator */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelsAssociatedWithChannelFlowPaginator.js\\\");\\n/* harmony import */ var _ListChannelsModeratedByAppInstanceUserPaginator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ListChannelsModeratedByAppInstanceUserPaginator */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelsModeratedByAppInstanceUserPaginator.js\\\");\\n/* harmony import */ var _ListChannelsPaginator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ListChannelsPaginator */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListChannelsPaginator.js\\\");\\n/* harmony import */ var _ListSubChannelsPaginator__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ListSubChannelsPaginator */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/ListSubChannelsPaginator.js\\\");\\n/* harmony import */ var _SearchChannelsPaginator__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./SearchChannelsPaginator */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/SearchChannelsPaginator.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/pagination/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js\":\n/*!*********************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js ***!\n \\*********************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ de_AssociateChannelFlowCommand: () => (/* binding */ de_AssociateChannelFlowCommand),\\n/* harmony export */ de_BatchCreateChannelMembershipCommand: () => (/* binding */ de_BatchCreateChannelMembershipCommand),\\n/* harmony export */ de_ChannelFlowCallbackCommand: () => (/* binding */ de_ChannelFlowCallbackCommand),\\n/* harmony export */ de_CreateChannelBanCommand: () => (/* binding */ de_CreateChannelBanCommand),\\n/* harmony export */ de_CreateChannelCommand: () => (/* binding */ de_CreateChannelCommand),\\n/* harmony export */ de_CreateChannelFlowCommand: () => (/* binding */ de_CreateChannelFlowCommand),\\n/* harmony export */ de_CreateChannelMembershipCommand: () => (/* binding */ de_CreateChannelMembershipCommand),\\n/* harmony export */ de_CreateChannelModeratorCommand: () => (/* binding */ de_CreateChannelModeratorCommand),\\n/* harmony export */ de_DeleteChannelBanCommand: () => (/* binding */ de_DeleteChannelBanCommand),\\n/* harmony export */ de_DeleteChannelCommand: () => (/* binding */ de_DeleteChannelCommand),\\n/* harmony export */ de_DeleteChannelFlowCommand: () => (/* binding */ de_DeleteChannelFlowCommand),\\n/* harmony export */ de_DeleteChannelMembershipCommand: () => (/* binding */ de_DeleteChannelMembershipCommand),\\n/* harmony export */ de_DeleteChannelMessageCommand: () => (/* binding */ de_DeleteChannelMessageCommand),\\n/* harmony export */ de_DeleteChannelModeratorCommand: () => (/* binding */ de_DeleteChannelModeratorCommand),\\n/* harmony export */ de_DeleteMessagingStreamingConfigurationsCommand: () => (/* binding */ de_DeleteMessagingStreamingConfigurationsCommand),\\n/* harmony export */ de_DescribeChannelBanCommand: () => (/* binding */ de_DescribeChannelBanCommand),\\n/* harmony export */ de_DescribeChannelCommand: () => (/* binding */ de_DescribeChannelCommand),\\n/* harmony export */ de_DescribeChannelFlowCommand: () => (/* binding */ de_DescribeChannelFlowCommand),\\n/* harmony export */ de_DescribeChannelMembershipCommand: () => (/* binding */ de_DescribeChannelMembershipCommand),\\n/* harmony export */ de_DescribeChannelMembershipForAppInstanceUserCommand: () => (/* binding */ de_DescribeChannelMembershipForAppInstanceUserCommand),\\n/* harmony export */ de_DescribeChannelModeratedByAppInstanceUserCommand: () => (/* binding */ de_DescribeChannelModeratedByAppInstanceUserCommand),\\n/* harmony export */ de_DescribeChannelModeratorCommand: () => (/* binding */ de_DescribeChannelModeratorCommand),\\n/* harmony export */ de_DisassociateChannelFlowCommand: () => (/* binding */ de_DisassociateChannelFlowCommand),\\n/* harmony export */ de_GetChannelMembershipPreferencesCommand: () => (/* binding */ de_GetChannelMembershipPreferencesCommand),\\n/* harmony export */ de_GetChannelMessageCommand: () => (/* binding */ de_GetChannelMessageCommand),\\n/* harmony export */ de_GetChannelMessageStatusCommand: () => (/* binding */ de_GetChannelMessageStatusCommand),\\n/* harmony export */ de_GetMessagingSessionEndpointCommand: () => (/* binding */ de_GetMessagingSessionEndpointCommand),\\n/* harmony export */ de_GetMessagingStreamingConfigurationsCommand: () => (/* binding */ de_GetMessagingStreamingConfigurationsCommand),\\n/* harmony export */ de_ListChannelBansCommand: () => (/* binding */ de_ListChannelBansCommand),\\n/* harmony export */ de_ListChannelFlowsCommand: () => (/* binding */ de_ListChannelFlowsCommand),\\n/* harmony export */ de_ListChannelMembershipsCommand: () => (/* binding */ de_ListChannelMembershipsCommand),\\n/* harmony export */ de_ListChannelMembershipsForAppInstanceUserCommand: () => (/* binding */ de_ListChannelMembershipsForAppInstanceUserCommand),\\n/* harmony export */ de_ListChannelMessagesCommand: () => (/* binding */ de_ListChannelMessagesCommand),\\n/* harmony export */ de_ListChannelModeratorsCommand: () => (/* binding */ de_ListChannelModeratorsCommand),\\n/* harmony export */ de_ListChannelsAssociatedWithChannelFlowCommand: () => (/* binding */ de_ListChannelsAssociatedWithChannelFlowCommand),\\n/* harmony export */ de_ListChannelsCommand: () => (/* binding */ de_ListChannelsCommand),\\n/* harmony export */ de_ListChannelsModeratedByAppInstanceUserCommand: () => (/* binding */ de_ListChannelsModeratedByAppInstanceUserCommand),\\n/* harmony export */ de_ListSubChannelsCommand: () => (/* binding */ de_ListSubChannelsCommand),\\n/* harmony export */ de_ListTagsForResourceCommand: () => (/* binding */ de_ListTagsForResourceCommand),\\n/* harmony export */ de_PutChannelExpirationSettingsCommand: () => (/* binding */ de_PutChannelExpirationSettingsCommand),\\n/* harmony export */ de_PutChannelMembershipPreferencesCommand: () => (/* binding */ de_PutChannelMembershipPreferencesCommand),\\n/* harmony export */ de_PutMessagingStreamingConfigurationsCommand: () => (/* binding */ de_PutMessagingStreamingConfigurationsCommand),\\n/* harmony export */ de_RedactChannelMessageCommand: () => (/* binding */ de_RedactChannelMessageCommand),\\n/* harmony export */ de_SearchChannelsCommand: () => (/* binding */ de_SearchChannelsCommand),\\n/* harmony export */ de_SendChannelMessageCommand: () => (/* binding */ de_SendChannelMessageCommand),\\n/* harmony export */ de_TagResourceCommand: () => (/* binding */ de_TagResourceCommand),\\n/* harmony export */ de_UntagResourceCommand: () => (/* binding */ de_UntagResourceCommand),\\n/* harmony export */ de_UpdateChannelCommand: () => (/* binding */ de_UpdateChannelCommand),\\n/* harmony export */ de_UpdateChannelFlowCommand: () => (/* binding */ de_UpdateChannelFlowCommand),\\n/* harmony export */ de_UpdateChannelMessageCommand: () => (/* binding */ de_UpdateChannelMessageCommand),\\n/* harmony export */ de_UpdateChannelReadMarkerCommand: () => (/* binding */ de_UpdateChannelReadMarkerCommand),\\n/* harmony export */ se_AssociateChannelFlowCommand: () => (/* binding */ se_AssociateChannelFlowCommand),\\n/* harmony export */ se_BatchCreateChannelMembershipCommand: () => (/* binding */ se_BatchCreateChannelMembershipCommand),\\n/* harmony export */ se_ChannelFlowCallbackCommand: () => (/* binding */ se_ChannelFlowCallbackCommand),\\n/* harmony export */ se_CreateChannelBanCommand: () => (/* binding */ se_CreateChannelBanCommand),\\n/* harmony export */ se_CreateChannelCommand: () => (/* binding */ se_CreateChannelCommand),\\n/* harmony export */ se_CreateChannelFlowCommand: () => (/* binding */ se_CreateChannelFlowCommand),\\n/* harmony export */ se_CreateChannelMembershipCommand: () => (/* binding */ se_CreateChannelMembershipCommand),\\n/* harmony export */ se_CreateChannelModeratorCommand: () => (/* binding */ se_CreateChannelModeratorCommand),\\n/* harmony export */ se_DeleteChannelBanCommand: () => (/* binding */ se_DeleteChannelBanCommand),\\n/* harmony export */ se_DeleteChannelCommand: () => (/* binding */ se_DeleteChannelCommand),\\n/* harmony export */ se_DeleteChannelFlowCommand: () => (/* binding */ se_DeleteChannelFlowCommand),\\n/* harmony export */ se_DeleteChannelMembershipCommand: () => (/* binding */ se_DeleteChannelMembershipCommand),\\n/* harmony export */ se_DeleteChannelMessageCommand: () => (/* binding */ se_DeleteChannelMessageCommand),\\n/* harmony export */ se_DeleteChannelModeratorCommand: () => (/* binding */ se_DeleteChannelModeratorCommand),\\n/* harmony export */ se_DeleteMessagingStreamingConfigurationsCommand: () => (/* binding */ se_DeleteMessagingStreamingConfigurationsCommand),\\n/* harmony export */ se_DescribeChannelBanCommand: () => (/* binding */ se_DescribeChannelBanCommand),\\n/* harmony export */ se_DescribeChannelCommand: () => (/* binding */ se_DescribeChannelCommand),\\n/* harmony export */ se_DescribeChannelFlowCommand: () => (/* binding */ se_DescribeChannelFlowCommand),\\n/* harmony export */ se_DescribeChannelMembershipCommand: () => (/* binding */ se_DescribeChannelMembershipCommand),\\n/* harmony export */ se_DescribeChannelMembershipForAppInstanceUserCommand: () => (/* binding */ se_DescribeChannelMembershipForAppInstanceUserCommand),\\n/* harmony export */ se_DescribeChannelModeratedByAppInstanceUserCommand: () => (/* binding */ se_DescribeChannelModeratedByAppInstanceUserCommand),\\n/* harmony export */ se_DescribeChannelModeratorCommand: () => (/* binding */ se_DescribeChannelModeratorCommand),\\n/* harmony export */ se_DisassociateChannelFlowCommand: () => (/* binding */ se_DisassociateChannelFlowCommand),\\n/* harmony export */ se_GetChannelMembershipPreferencesCommand: () => (/* binding */ se_GetChannelMembershipPreferencesCommand),\\n/* harmony export */ se_GetChannelMessageCommand: () => (/* binding */ se_GetChannelMessageCommand),\\n/* harmony export */ se_GetChannelMessageStatusCommand: () => (/* binding */ se_GetChannelMessageStatusCommand),\\n/* harmony export */ se_GetMessagingSessionEndpointCommand: () => (/* binding */ se_GetMessagingSessionEndpointCommand),\\n/* harmony export */ se_GetMessagingStreamingConfigurationsCommand: () => (/* binding */ se_GetMessagingStreamingConfigurationsCommand),\\n/* harmony export */ se_ListChannelBansCommand: () => (/* binding */ se_ListChannelBansCommand),\\n/* harmony export */ se_ListChannelFlowsCommand: () => (/* binding */ se_ListChannelFlowsCommand),\\n/* harmony export */ se_ListChannelMembershipsCommand: () => (/* binding */ se_ListChannelMembershipsCommand),\\n/* harmony export */ se_ListChannelMembershipsForAppInstanceUserCommand: () => (/* binding */ se_ListChannelMembershipsForAppInstanceUserCommand),\\n/* harmony export */ se_ListChannelMessagesCommand: () => (/* binding */ se_ListChannelMessagesCommand),\\n/* harmony export */ se_ListChannelModeratorsCommand: () => (/* binding */ se_ListChannelModeratorsCommand),\\n/* harmony export */ se_ListChannelsAssociatedWithChannelFlowCommand: () => (/* binding */ se_ListChannelsAssociatedWithChannelFlowCommand),\\n/* harmony export */ se_ListChannelsCommand: () => (/* binding */ se_ListChannelsCommand),\\n/* harmony export */ se_ListChannelsModeratedByAppInstanceUserCommand: () => (/* binding */ se_ListChannelsModeratedByAppInstanceUserCommand),\\n/* harmony export */ se_ListSubChannelsCommand: () => (/* binding */ se_ListSubChannelsCommand),\\n/* harmony export */ se_ListTagsForResourceCommand: () => (/* binding */ se_ListTagsForResourceCommand),\\n/* harmony export */ se_PutChannelExpirationSettingsCommand: () => (/* binding */ se_PutChannelExpirationSettingsCommand),\\n/* harmony export */ se_PutChannelMembershipPreferencesCommand: () => (/* binding */ se_PutChannelMembershipPreferencesCommand),\\n/* harmony export */ se_PutMessagingStreamingConfigurationsCommand: () => (/* binding */ se_PutMessagingStreamingConfigurationsCommand),\\n/* harmony export */ se_RedactChannelMessageCommand: () => (/* binding */ se_RedactChannelMessageCommand),\\n/* harmony export */ se_SearchChannelsCommand: () => (/* binding */ se_SearchChannelsCommand),\\n/* harmony export */ se_SendChannelMessageCommand: () => (/* binding */ se_SendChannelMessageCommand),\\n/* harmony export */ se_TagResourceCommand: () => (/* binding */ se_TagResourceCommand),\\n/* harmony export */ se_UntagResourceCommand: () => (/* binding */ se_UntagResourceCommand),\\n/* harmony export */ se_UpdateChannelCommand: () => (/* binding */ se_UpdateChannelCommand),\\n/* harmony export */ se_UpdateChannelFlowCommand: () => (/* binding */ se_UpdateChannelFlowCommand),\\n/* harmony export */ se_UpdateChannelMessageCommand: () => (/* binding */ se_UpdateChannelMessageCommand),\\n/* harmony export */ se_UpdateChannelReadMarkerCommand: () => (/* binding */ se_UpdateChannelReadMarkerCommand)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/protocol-http */ \\\"./node_modules/@smithy/protocol-http/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uuid */ \\\"./node_modules/uuid/dist/esm-browser/v4.js\\\");\\n/* harmony import */ var _models_ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/ChimeSDKMessagingServiceException */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/ChimeSDKMessagingServiceException.js\\\");\\n/* harmony import */ var _models_models_0__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../models/models_0 */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/models/models_0.js\\\");\\n\\n\\n\\n\\n\\nconst se_AssociateChannelFlowCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"content-type\\\": \\\"application/json\\\",\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/channel-flow\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n ChannelFlowArn: [],\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"PUT\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_BatchCreateChannelMembershipCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"content-type\\\": \\\"application/json\\\",\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/memberships\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n operation: [, \\\"batch-create\\\"],\\n });\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n MemberArns: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n SubChannelId: [],\\n Type: [],\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"POST\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_ChannelFlowCallbackCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {\\n \\\"content-type\\\": \\\"application/json\\\",\\n };\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n operation: [, \\\"channel-flow-callback\\\"],\\n });\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n CallbackId: [true, (_) => _ ?? (0,uuid__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"])()],\\n ChannelMessage: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n DeleteResource: [],\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"POST\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_CreateChannelCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"content-type\\\": \\\"application/json\\\",\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n const resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels\\\";\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n AppInstanceArn: [],\\n ChannelId: [],\\n ClientRequestToken: [true, (_) => _ ?? (0,uuid__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"])()],\\n ElasticChannelConfiguration: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n ExpirationSettings: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n MemberArns: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n Metadata: [],\\n Mode: [],\\n ModeratorArns: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n Name: [],\\n Privacy: [],\\n Tags: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"POST\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_CreateChannelBanCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"content-type\\\": \\\"application/json\\\",\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/bans\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n MemberArn: [],\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"POST\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_CreateChannelFlowCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {\\n \\\"content-type\\\": \\\"application/json\\\",\\n };\\n const resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channel-flows\\\";\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n AppInstanceArn: [],\\n ClientRequestToken: [true, (_) => _ ?? (0,uuid__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"])()],\\n Name: [],\\n Processors: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n Tags: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"POST\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_CreateChannelMembershipCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"content-type\\\": \\\"application/json\\\",\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/memberships\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n MemberArn: [],\\n SubChannelId: [],\\n Type: [],\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"POST\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_CreateChannelModeratorCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"content-type\\\": \\\"application/json\\\",\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/moderators\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n ChannelModeratorArn: [],\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"POST\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_DeleteChannelCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"DELETE\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_DeleteChannelBanCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/bans/{MemberArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"MemberArn\\\", () => input.MemberArn, \\\"{MemberArn}\\\", false);\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"DELETE\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_DeleteChannelFlowCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {};\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channel-flows/{ChannelFlowArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelFlowArn\\\", () => input.ChannelFlowArn, \\\"{ChannelFlowArn}\\\", false);\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"DELETE\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_DeleteChannelMembershipCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/channels/{ChannelArn}/memberships/{MemberArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"MemberArn\\\", () => input.MemberArn, \\\"{MemberArn}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n \\\"sub-channel-id\\\": [, input.SubChannelId],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"DELETE\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_DeleteChannelMessageCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/channels/{ChannelArn}/messages/{MessageId}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"MessageId\\\", () => input.MessageId, \\\"{MessageId}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n \\\"sub-channel-id\\\": [, input.SubChannelId],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"DELETE\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_DeleteChannelModeratorCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/channels/{ChannelArn}/moderators/{ChannelModeratorArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelModeratorArn\\\", () => input.ChannelModeratorArn, \\\"{ChannelModeratorArn}\\\", false);\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"DELETE\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_DeleteMessagingStreamingConfigurationsCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {};\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/app-instances/{AppInstanceArn}/streaming-configurations\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"AppInstanceArn\\\", () => input.AppInstanceArn, \\\"{AppInstanceArn}\\\", false);\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"DELETE\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_DescribeChannelCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_DescribeChannelBanCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/bans/{MemberArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"MemberArn\\\", () => input.MemberArn, \\\"{MemberArn}\\\", false);\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_DescribeChannelFlowCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {};\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channel-flows/{ChannelFlowArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelFlowArn\\\", () => input.ChannelFlowArn, \\\"{ChannelFlowArn}\\\", false);\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_DescribeChannelMembershipCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/channels/{ChannelArn}/memberships/{MemberArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"MemberArn\\\", () => input.MemberArn, \\\"{MemberArn}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n \\\"sub-channel-id\\\": [, input.SubChannelId],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_DescribeChannelMembershipForAppInstanceUserCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n scope: [, \\\"app-instance-user-membership\\\"],\\n \\\"app-instance-user-arn\\\": [, (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)(input.AppInstanceUserArn, `AppInstanceUserArn`)],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_DescribeChannelModeratedByAppInstanceUserCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n scope: [, \\\"app-instance-user-moderated-channel\\\"],\\n \\\"app-instance-user-arn\\\": [, (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)(input.AppInstanceUserArn, `AppInstanceUserArn`)],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_DescribeChannelModeratorCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/channels/{ChannelArn}/moderators/{ChannelModeratorArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelModeratorArn\\\", () => input.ChannelModeratorArn, \\\"{ChannelModeratorArn}\\\", false);\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_DisassociateChannelFlowCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/channels/{ChannelArn}/channel-flow/{ChannelFlowArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelFlowArn\\\", () => input.ChannelFlowArn, \\\"{ChannelFlowArn}\\\", false);\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"DELETE\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_GetChannelMembershipPreferencesCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/channels/{ChannelArn}/memberships/{MemberArn}/preferences\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"MemberArn\\\", () => input.MemberArn, \\\"{MemberArn}\\\", false);\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_GetChannelMessageCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/channels/{ChannelArn}/messages/{MessageId}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"MessageId\\\", () => input.MessageId, \\\"{MessageId}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n \\\"sub-channel-id\\\": [, input.SubChannelId],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_GetChannelMessageStatusCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/channels/{ChannelArn}/messages/{MessageId}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"MessageId\\\", () => input.MessageId, \\\"{MessageId}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n scope: [, \\\"message-status\\\"],\\n \\\"sub-channel-id\\\": [, input.SubChannelId],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_GetMessagingSessionEndpointCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {\\n \\\"content-type\\\": \\\"application/json\\\",\\n };\\n const resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/endpoints/messaging-session\\\";\\n let body;\\n body = \\\"\\\";\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_GetMessagingStreamingConfigurationsCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {};\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/app-instances/{AppInstanceArn}/streaming-configurations\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"AppInstanceArn\\\", () => input.AppInstanceArn, \\\"{AppInstanceArn}\\\", false);\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_ListChannelBansCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/bans\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n \\\"max-results\\\": [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],\\n \\\"next-token\\\": [, input.NextToken],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_ListChannelFlowsCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {};\\n const resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channel-flows\\\";\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n \\\"app-instance-arn\\\": [, (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)(input.AppInstanceArn, `AppInstanceArn`)],\\n \\\"max-results\\\": [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],\\n \\\"next-token\\\": [, input.NextToken],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_ListChannelMembershipsCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/memberships\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n type: [, input.Type],\\n \\\"max-results\\\": [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],\\n \\\"next-token\\\": [, input.NextToken],\\n \\\"sub-channel-id\\\": [, input.SubChannelId],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_ListChannelMembershipsForAppInstanceUserCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n const resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels\\\";\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n scope: [, \\\"app-instance-user-memberships\\\"],\\n \\\"app-instance-user-arn\\\": [, input.AppInstanceUserArn],\\n \\\"max-results\\\": [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],\\n \\\"next-token\\\": [, input.NextToken],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_ListChannelMessagesCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/messages\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n \\\"sort-order\\\": [, input.SortOrder],\\n \\\"not-before\\\": [\\n () => input.NotBefore !== void 0,\\n () => (input.NotBefore.toISOString().split(\\\".\\\")[0] + \\\"Z\\\").toString(),\\n ],\\n \\\"not-after\\\": [\\n () => input.NotAfter !== void 0,\\n () => (input.NotAfter.toISOString().split(\\\".\\\")[0] + \\\"Z\\\").toString(),\\n ],\\n \\\"max-results\\\": [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],\\n \\\"next-token\\\": [, input.NextToken],\\n \\\"sub-channel-id\\\": [, input.SubChannelId],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_ListChannelModeratorsCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/moderators\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n \\\"max-results\\\": [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],\\n \\\"next-token\\\": [, input.NextToken],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_ListChannelsCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n const resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels\\\";\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n \\\"app-instance-arn\\\": [, (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)(input.AppInstanceArn, `AppInstanceArn`)],\\n privacy: [, input.Privacy],\\n \\\"max-results\\\": [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],\\n \\\"next-token\\\": [, input.NextToken],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_ListChannelsAssociatedWithChannelFlowCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {};\\n const resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels\\\";\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n scope: [, \\\"channel-flow-associations\\\"],\\n \\\"channel-flow-arn\\\": [, (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)(input.ChannelFlowArn, `ChannelFlowArn`)],\\n \\\"max-results\\\": [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],\\n \\\"next-token\\\": [, input.NextToken],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_ListChannelsModeratedByAppInstanceUserCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n const resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels\\\";\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n scope: [, \\\"app-instance-user-moderated-channels\\\"],\\n \\\"app-instance-user-arn\\\": [, input.AppInstanceUserArn],\\n \\\"max-results\\\": [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],\\n \\\"next-token\\\": [, input.NextToken],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_ListSubChannelsCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/subchannels\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n \\\"max-results\\\": [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],\\n \\\"next-token\\\": [, input.NextToken],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_ListTagsForResourceCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {};\\n const resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/tags\\\";\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n arn: [, (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)(input.ResourceARN, `ResourceARN`)],\\n });\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"GET\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_PutChannelExpirationSettingsCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"content-type\\\": \\\"application/json\\\",\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/channels/{ChannelArn}/expiration-settings\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n ExpirationSettings: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"PUT\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_PutChannelMembershipPreferencesCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"content-type\\\": \\\"application/json\\\",\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/channels/{ChannelArn}/memberships/{MemberArn}/preferences\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"MemberArn\\\", () => input.MemberArn, \\\"{MemberArn}\\\", false);\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n Preferences: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"PUT\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_PutMessagingStreamingConfigurationsCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {\\n \\\"content-type\\\": \\\"application/json\\\",\\n };\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/app-instances/{AppInstanceArn}/streaming-configurations\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"AppInstanceArn\\\", () => input.AppInstanceArn, \\\"{AppInstanceArn}\\\", false);\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n StreamingConfigurations: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"PUT\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_RedactChannelMessageCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"content-type\\\": \\\"application/json\\\",\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/channels/{ChannelArn}/messages/{MessageId}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"MessageId\\\", () => input.MessageId, \\\"{MessageId}\\\", false);\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n operation: [, \\\"redact\\\"],\\n });\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n SubChannelId: [],\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"POST\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_SearchChannelsCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"content-type\\\": \\\"application/json\\\",\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n const resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels\\\";\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n operation: [, \\\"search\\\"],\\n \\\"max-results\\\": [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],\\n \\\"next-token\\\": [, input.NextToken],\\n });\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n Fields: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"POST\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_SendChannelMessageCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"content-type\\\": \\\"application/json\\\",\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/messages\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n ClientRequestToken: [true, (_) => _ ?? (0,uuid__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"])()],\\n Content: [],\\n ContentType: [],\\n MessageAttributes: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n Metadata: [],\\n Persistence: [],\\n PushNotification: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n SubChannelId: [],\\n Target: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n Type: [],\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"POST\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_TagResourceCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {\\n \\\"content-type\\\": \\\"application/json\\\",\\n };\\n const resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/tags\\\";\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n operation: [, \\\"tag-resource\\\"],\\n });\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n ResourceARN: [],\\n Tags: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"POST\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_UntagResourceCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {\\n \\\"content-type\\\": \\\"application/json\\\",\\n };\\n const resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/tags\\\";\\n const query = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n operation: [, \\\"untag-resource\\\"],\\n });\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n ResourceARN: [],\\n TagKeys: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"POST\\\",\\n headers,\\n path: resolvedPath,\\n query,\\n body,\\n });\\n};\\nconst se_UpdateChannelCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"content-type\\\": \\\"application/json\\\",\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n Metadata: [],\\n Mode: [],\\n Name: [],\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"PUT\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_UpdateChannelFlowCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = {\\n \\\"content-type\\\": \\\"application/json\\\",\\n };\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channel-flows/{ChannelFlowArn}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelFlowArn\\\", () => input.ChannelFlowArn, \\\"{ChannelFlowArn}\\\", false);\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n Name: [],\\n Processors: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json)(_),\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"PUT\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_UpdateChannelMessageCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"content-type\\\": \\\"application/json\\\",\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` +\\n \\\"/channels/{ChannelArn}/messages/{MessageId}\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"MessageId\\\", () => input.MessageId, \\\"{MessageId}\\\", false);\\n let body;\\n body = JSON.stringify((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(input, {\\n Content: [],\\n ContentType: [],\\n Metadata: [],\\n SubChannelId: [],\\n }));\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"PUT\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst se_UpdateChannelReadMarkerCommand = async (input, context) => {\\n const { hostname, protocol = \\\"https\\\", port, path: basePath } = await context.endpoint();\\n const headers = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({}, isSerializableHeaderValue, {\\n \\\"x-amz-chime-bearer\\\": input.ChimeBearer,\\n });\\n let resolvedPath = `${basePath?.endsWith(\\\"/\\\") ? basePath.slice(0, -1) : basePath || \\\"\\\"}` + \\\"/channels/{ChannelArn}/readMarker\\\";\\n resolvedPath = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.resolvedPath)(resolvedPath, input, \\\"ChannelArn\\\", () => input.ChannelArn, \\\"{ChannelArn}\\\", false);\\n let body;\\n return new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest({\\n protocol,\\n hostname,\\n port,\\n method: \\\"PUT\\\",\\n headers,\\n path: resolvedPath,\\n body,\\n });\\n};\\nconst de_AssociateChannelFlowCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_AssociateChannelFlowCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n await (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.collectBody)(output.body, context);\\n return contents;\\n};\\nconst de_AssociateChannelFlowCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"NotFoundException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#NotFoundException\\\":\\n throw await de_NotFoundExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_BatchCreateChannelMembershipCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_BatchCreateChannelMembershipCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n BatchChannelMemberships: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n Errors: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_BatchCreateChannelMembershipCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"NotFoundException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#NotFoundException\\\":\\n throw await de_NotFoundExceptionRes(parsedOutput, context);\\n case \\\"ResourceLimitExceededException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException\\\":\\n throw await de_ResourceLimitExceededExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_ChannelFlowCallbackCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_ChannelFlowCallbackCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n CallbackId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_ChannelFlowCallbackCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_CreateChannelCommand = async (output, context) => {\\n if (output.statusCode !== 201 && output.statusCode >= 300) {\\n return de_CreateChannelCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_CreateChannelCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ResourceLimitExceededException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException\\\":\\n throw await de_ResourceLimitExceededExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_CreateChannelBanCommand = async (output, context) => {\\n if (output.statusCode !== 201 && output.statusCode >= 300) {\\n return de_CreateChannelBanCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Member: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_CreateChannelBanCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ResourceLimitExceededException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException\\\":\\n throw await de_ResourceLimitExceededExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_CreateChannelFlowCommand = async (output, context) => {\\n if (output.statusCode !== 201 && output.statusCode >= 300) {\\n return de_CreateChannelFlowCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelFlowArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_CreateChannelFlowCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ResourceLimitExceededException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException\\\":\\n throw await de_ResourceLimitExceededExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_CreateChannelMembershipCommand = async (output, context) => {\\n if (output.statusCode !== 201 && output.statusCode >= 300) {\\n return de_CreateChannelMembershipCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Member: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n SubChannelId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_CreateChannelMembershipCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"NotFoundException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#NotFoundException\\\":\\n throw await de_NotFoundExceptionRes(parsedOutput, context);\\n case \\\"ResourceLimitExceededException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException\\\":\\n throw await de_ResourceLimitExceededExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_CreateChannelModeratorCommand = async (output, context) => {\\n if (output.statusCode !== 201 && output.statusCode >= 300) {\\n return de_CreateChannelModeratorCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n ChannelModerator: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_CreateChannelModeratorCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ResourceLimitExceededException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException\\\":\\n throw await de_ResourceLimitExceededExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DeleteChannelCommand = async (output, context) => {\\n if (output.statusCode !== 204 && output.statusCode >= 300) {\\n return de_DeleteChannelCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n await (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.collectBody)(output.body, context);\\n return contents;\\n};\\nconst de_DeleteChannelCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DeleteChannelBanCommand = async (output, context) => {\\n if (output.statusCode !== 204 && output.statusCode >= 300) {\\n return de_DeleteChannelBanCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n await (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.collectBody)(output.body, context);\\n return contents;\\n};\\nconst de_DeleteChannelBanCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DeleteChannelFlowCommand = async (output, context) => {\\n if (output.statusCode !== 204 && output.statusCode >= 300) {\\n return de_DeleteChannelFlowCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n await (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.collectBody)(output.body, context);\\n return contents;\\n};\\nconst de_DeleteChannelFlowCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DeleteChannelMembershipCommand = async (output, context) => {\\n if (output.statusCode !== 204 && output.statusCode >= 300) {\\n return de_DeleteChannelMembershipCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n await (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.collectBody)(output.body, context);\\n return contents;\\n};\\nconst de_DeleteChannelMembershipCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DeleteChannelMessageCommand = async (output, context) => {\\n if (output.statusCode !== 204 && output.statusCode >= 300) {\\n return de_DeleteChannelMessageCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n await (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.collectBody)(output.body, context);\\n return contents;\\n};\\nconst de_DeleteChannelMessageCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DeleteChannelModeratorCommand = async (output, context) => {\\n if (output.statusCode !== 204 && output.statusCode >= 300) {\\n return de_DeleteChannelModeratorCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n await (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.collectBody)(output.body, context);\\n return contents;\\n};\\nconst de_DeleteChannelModeratorCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DeleteMessagingStreamingConfigurationsCommand = async (output, context) => {\\n if (output.statusCode !== 204 && output.statusCode >= 300) {\\n return de_DeleteMessagingStreamingConfigurationsCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n await (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.collectBody)(output.body, context);\\n return contents;\\n};\\nconst de_DeleteMessagingStreamingConfigurationsCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DescribeChannelCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_DescribeChannelCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Channel: (_) => de_Channel(_, context),\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_DescribeChannelCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DescribeChannelBanCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_DescribeChannelBanCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelBan: (_) => de_ChannelBan(_, context),\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_DescribeChannelBanCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"NotFoundException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#NotFoundException\\\":\\n throw await de_NotFoundExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DescribeChannelFlowCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_DescribeChannelFlowCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelFlow: (_) => de_ChannelFlow(_, context),\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_DescribeChannelFlowCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DescribeChannelMembershipCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_DescribeChannelMembershipCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelMembership: (_) => de_ChannelMembership(_, context),\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_DescribeChannelMembershipCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"NotFoundException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#NotFoundException\\\":\\n throw await de_NotFoundExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DescribeChannelMembershipForAppInstanceUserCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_DescribeChannelMembershipForAppInstanceUserCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelMembership: (_) => de_ChannelMembershipForAppInstanceUserSummary(_, context),\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_DescribeChannelMembershipForAppInstanceUserCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DescribeChannelModeratedByAppInstanceUserCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_DescribeChannelModeratedByAppInstanceUserCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Channel: (_) => de_ChannelModeratedByAppInstanceUserSummary(_, context),\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_DescribeChannelModeratedByAppInstanceUserCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DescribeChannelModeratorCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_DescribeChannelModeratorCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelModerator: (_) => de_ChannelModerator(_, context),\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_DescribeChannelModeratorCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"NotFoundException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#NotFoundException\\\":\\n throw await de_NotFoundExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_DisassociateChannelFlowCommand = async (output, context) => {\\n if (output.statusCode !== 204 && output.statusCode >= 300) {\\n return de_DisassociateChannelFlowCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n await (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.collectBody)(output.body, context);\\n return contents;\\n};\\nconst de_DisassociateChannelFlowCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"NotFoundException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#NotFoundException\\\":\\n throw await de_NotFoundExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_GetChannelMembershipPreferencesCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_GetChannelMembershipPreferencesCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Member: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n Preferences: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_GetChannelMembershipPreferencesCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_GetChannelMessageCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_GetChannelMessageCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelMessage: (_) => de_ChannelMessage(_, context),\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_GetChannelMessageCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"NotFoundException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#NotFoundException\\\":\\n throw await de_NotFoundExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_GetChannelMessageStatusCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_GetChannelMessageStatusCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Status: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_GetChannelMessageStatusCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_GetMessagingSessionEndpointCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_GetMessagingSessionEndpointCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Endpoint: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_GetMessagingSessionEndpointCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_GetMessagingStreamingConfigurationsCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_GetMessagingStreamingConfigurationsCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n StreamingConfigurations: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_GetMessagingStreamingConfigurationsCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"NotFoundException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#NotFoundException\\\":\\n throw await de_NotFoundExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_ListChannelBansCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_ListChannelBansCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n ChannelBans: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_ListChannelBansCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_ListChannelFlowsCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_ListChannelFlowsCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelFlows: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_ListChannelFlowsCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_ListChannelMembershipsCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_ListChannelMembershipsCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n ChannelMemberships: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_ListChannelMembershipsCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_ListChannelMembershipsForAppInstanceUserCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_ListChannelMembershipsForAppInstanceUserCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelMemberships: (_) => de_ChannelMembershipForAppInstanceUserSummaryList(_, context),\\n NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_ListChannelMembershipsForAppInstanceUserCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_ListChannelMessagesCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_ListChannelMessagesCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n ChannelMessages: (_) => de_ChannelMessageSummaryList(_, context),\\n NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n SubChannelId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_ListChannelMessagesCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_ListChannelModeratorsCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_ListChannelModeratorsCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n ChannelModerators: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_ListChannelModeratorsCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_ListChannelsCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_ListChannelsCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Channels: (_) => de_ChannelSummaryList(_, context),\\n NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_ListChannelsCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_ListChannelsAssociatedWithChannelFlowCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_ListChannelsAssociatedWithChannelFlowCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Channels: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_ListChannelsAssociatedWithChannelFlowCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_ListChannelsModeratedByAppInstanceUserCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_ListChannelsModeratedByAppInstanceUserCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Channels: (_) => de_ChannelModeratedByAppInstanceUserSummaryList(_, context),\\n NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_ListChannelsModeratedByAppInstanceUserCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_ListSubChannelsCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_ListSubChannelsCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n SubChannels: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_ListSubChannelsCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_ListTagsForResourceCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_ListTagsForResourceCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Tags: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_ListTagsForResourceCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_PutChannelExpirationSettingsCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_PutChannelExpirationSettingsCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n ExpirationSettings: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_PutChannelExpirationSettingsCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_PutChannelMembershipPreferencesCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_PutChannelMembershipPreferencesCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Member: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n Preferences: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_PutChannelMembershipPreferencesCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_PutMessagingStreamingConfigurationsCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_PutMessagingStreamingConfigurationsCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n StreamingConfigurations: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_PutMessagingStreamingConfigurationsCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"NotFoundException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#NotFoundException\\\":\\n throw await de_NotFoundExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_RedactChannelMessageCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_RedactChannelMessageCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n MessageId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n SubChannelId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_RedactChannelMessageCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_SearchChannelsCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_SearchChannelsCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Channels: (_) => de_ChannelSummaryList(_, context),\\n NextToken: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_SearchChannelsCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_SendChannelMessageCommand = async (output, context) => {\\n if (output.statusCode !== 201 && output.statusCode >= 300) {\\n return de_SendChannelMessageCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n MessageId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Status: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n SubChannelId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_SendChannelMessageCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_TagResourceCommand = async (output, context) => {\\n if (output.statusCode !== 204 && output.statusCode >= 300) {\\n return de_TagResourceCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n await (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.collectBody)(output.body, context);\\n return contents;\\n};\\nconst de_TagResourceCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ResourceLimitExceededException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException\\\":\\n throw await de_ResourceLimitExceededExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_UntagResourceCommand = async (output, context) => {\\n if (output.statusCode !== 204 && output.statusCode >= 300) {\\n return de_UntagResourceCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n await (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.collectBody)(output.body, context);\\n return contents;\\n};\\nconst de_UntagResourceCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_UpdateChannelCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_UpdateChannelCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_UpdateChannelCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_UpdateChannelFlowCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_UpdateChannelFlowCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelFlowArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_UpdateChannelFlowCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_UpdateChannelMessageCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_UpdateChannelMessageCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n MessageId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Status: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n SubChannelId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_UpdateChannelMessageCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst de_UpdateChannelReadMarkerCommand = async (output, context) => {\\n if (output.statusCode !== 200 && output.statusCode >= 300) {\\n return de_UpdateChannelReadMarkerCommandError(output, context);\\n }\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({\\n $metadata: deserializeMetadata(output),\\n });\\n const data = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectObject)(await parseBody(output.body, context)), \\\"body\\\");\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n return contents;\\n};\\nconst de_UpdateChannelReadMarkerCommandError = async (output, context) => {\\n const parsedOutput = {\\n ...output,\\n body: await parseErrorBody(output.body, context),\\n };\\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\\n switch (errorCode) {\\n case \\\"BadRequestException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#BadRequestException\\\":\\n throw await de_BadRequestExceptionRes(parsedOutput, context);\\n case \\\"ConflictException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ConflictException\\\":\\n throw await de_ConflictExceptionRes(parsedOutput, context);\\n case \\\"ForbiddenException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ForbiddenException\\\":\\n throw await de_ForbiddenExceptionRes(parsedOutput, context);\\n case \\\"ServiceFailureException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceFailureException\\\":\\n throw await de_ServiceFailureExceptionRes(parsedOutput, context);\\n case \\\"ServiceUnavailableException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ServiceUnavailableException\\\":\\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\\n case \\\"ThrottledClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#ThrottledClientException\\\":\\n throw await de_ThrottledClientExceptionRes(parsedOutput, context);\\n case \\\"UnauthorizedClientException\\\":\\n case \\\"com.amazonaws.chimesdkmessaging#UnauthorizedClientException\\\":\\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\\n default:\\n const parsedBody = parsedOutput.body;\\n return throwDefaultError({\\n output,\\n parsedBody,\\n errorCode,\\n });\\n }\\n};\\nconst throwDefaultError = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.withBaseException)(_models_ChimeSDKMessagingServiceException__WEBPACK_IMPORTED_MODULE_3__.ChimeSDKMessagingServiceException);\\nconst de_BadRequestExceptionRes = async (parsedOutput, context) => {\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({});\\n const data = parsedOutput.body;\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Code: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Message: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n const exception = new _models_models_0__WEBPACK_IMPORTED_MODULE_4__.BadRequestException({\\n $metadata: deserializeMetadata(parsedOutput),\\n ...contents,\\n });\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.decorateServiceException)(exception, parsedOutput.body);\\n};\\nconst de_ConflictExceptionRes = async (parsedOutput, context) => {\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({});\\n const data = parsedOutput.body;\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Code: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Message: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n const exception = new _models_models_0__WEBPACK_IMPORTED_MODULE_4__.ConflictException({\\n $metadata: deserializeMetadata(parsedOutput),\\n ...contents,\\n });\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.decorateServiceException)(exception, parsedOutput.body);\\n};\\nconst de_ForbiddenExceptionRes = async (parsedOutput, context) => {\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({});\\n const data = parsedOutput.body;\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Code: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Message: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n const exception = new _models_models_0__WEBPACK_IMPORTED_MODULE_4__.ForbiddenException({\\n $metadata: deserializeMetadata(parsedOutput),\\n ...contents,\\n });\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.decorateServiceException)(exception, parsedOutput.body);\\n};\\nconst de_NotFoundExceptionRes = async (parsedOutput, context) => {\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({});\\n const data = parsedOutput.body;\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Code: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Message: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n const exception = new _models_models_0__WEBPACK_IMPORTED_MODULE_4__.NotFoundException({\\n $metadata: deserializeMetadata(parsedOutput),\\n ...contents,\\n });\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.decorateServiceException)(exception, parsedOutput.body);\\n};\\nconst de_ResourceLimitExceededExceptionRes = async (parsedOutput, context) => {\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({});\\n const data = parsedOutput.body;\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Code: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Message: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n const exception = new _models_models_0__WEBPACK_IMPORTED_MODULE_4__.ResourceLimitExceededException({\\n $metadata: deserializeMetadata(parsedOutput),\\n ...contents,\\n });\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.decorateServiceException)(exception, parsedOutput.body);\\n};\\nconst de_ServiceFailureExceptionRes = async (parsedOutput, context) => {\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({});\\n const data = parsedOutput.body;\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Code: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Message: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n const exception = new _models_models_0__WEBPACK_IMPORTED_MODULE_4__.ServiceFailureException({\\n $metadata: deserializeMetadata(parsedOutput),\\n ...contents,\\n });\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.decorateServiceException)(exception, parsedOutput.body);\\n};\\nconst de_ServiceUnavailableExceptionRes = async (parsedOutput, context) => {\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({});\\n const data = parsedOutput.body;\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Code: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Message: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n const exception = new _models_models_0__WEBPACK_IMPORTED_MODULE_4__.ServiceUnavailableException({\\n $metadata: deserializeMetadata(parsedOutput),\\n ...contents,\\n });\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.decorateServiceException)(exception, parsedOutput.body);\\n};\\nconst de_ThrottledClientExceptionRes = async (parsedOutput, context) => {\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({});\\n const data = parsedOutput.body;\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Code: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Message: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n const exception = new _models_models_0__WEBPACK_IMPORTED_MODULE_4__.ThrottledClientException({\\n $metadata: deserializeMetadata(parsedOutput),\\n ...contents,\\n });\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.decorateServiceException)(exception, parsedOutput.body);\\n};\\nconst de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => {\\n const contents = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.map)({});\\n const data = parsedOutput.body;\\n const doc = (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(data, {\\n Code: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Message: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n Object.assign(contents, doc);\\n const exception = new _models_models_0__WEBPACK_IMPORTED_MODULE_4__.UnauthorizedClientException({\\n $metadata: deserializeMetadata(parsedOutput),\\n ...contents,\\n });\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.decorateServiceException)(exception, parsedOutput.body);\\n};\\nconst de_AppInstanceUserMembershipSummary = (output, context) => {\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(output, {\\n ReadMarkerTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n SubChannelId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Type: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n};\\nconst de_Channel = (output, context) => {\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(output, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n ChannelFlowArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n CreatedBy: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n CreatedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n ElasticChannelConfiguration: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n ExpirationSettings: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n LastMessageTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n LastUpdatedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Mode: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Privacy: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n};\\nconst de_ChannelBan = (output, context) => {\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(output, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n CreatedBy: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n CreatedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n Member: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n};\\nconst de_ChannelFlow = (output, context) => {\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(output, {\\n ChannelFlowArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n CreatedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n LastUpdatedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Processors: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n};\\nconst de_ChannelMembership = (output, context) => {\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(output, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n CreatedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n InvitedBy: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n LastUpdatedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n Member: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n SubChannelId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Type: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n};\\nconst de_ChannelMembershipForAppInstanceUserSummary = (output, context) => {\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(output, {\\n AppInstanceUserMembershipSummary: (_) => de_AppInstanceUserMembershipSummary(_, context),\\n ChannelSummary: (_) => de_ChannelSummary(_, context),\\n });\\n};\\nconst de_ChannelMembershipForAppInstanceUserSummaryList = (output, context) => {\\n const retVal = (output || [])\\n .filter((e) => e != null)\\n .map((entry) => {\\n return de_ChannelMembershipForAppInstanceUserSummary(entry, context);\\n });\\n return retVal;\\n};\\nconst de_ChannelMessage = (output, context) => {\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(output, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Content: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n ContentType: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n CreatedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n LastEditedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n LastUpdatedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n MessageAttributes: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n MessageId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Persistence: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Redacted: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectBoolean,\\n Sender: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n Status: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n SubChannelId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Target: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n Type: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n};\\nconst de_ChannelMessageSummary = (output, context) => {\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(output, {\\n Content: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n ContentType: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n CreatedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n LastEditedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n LastUpdatedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n MessageAttributes: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n MessageId: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Redacted: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectBoolean,\\n Sender: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n Status: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n Target: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n Type: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n};\\nconst de_ChannelMessageSummaryList = (output, context) => {\\n const retVal = (output || [])\\n .filter((e) => e != null)\\n .map((entry) => {\\n return de_ChannelMessageSummary(entry, context);\\n });\\n return retVal;\\n};\\nconst de_ChannelModeratedByAppInstanceUserSummary = (output, context) => {\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(output, {\\n ChannelSummary: (_) => de_ChannelSummary(_, context),\\n });\\n};\\nconst de_ChannelModeratedByAppInstanceUserSummaryList = (output, context) => {\\n const retVal = (output || [])\\n .filter((e) => e != null)\\n .map((entry) => {\\n return de_ChannelModeratedByAppInstanceUserSummary(entry, context);\\n });\\n return retVal;\\n};\\nconst de_ChannelModerator = (output, context) => {\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(output, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n CreatedBy: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n CreatedTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n Moderator: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__._json,\\n });\\n};\\nconst de_ChannelSummary = (output, context) => {\\n return (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.take)(output, {\\n ChannelArn: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n LastMessageTimestamp: (_) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNonNull)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.parseEpochTimestamp)((0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectNumber)(_))),\\n Metadata: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Mode: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Name: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n Privacy: _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.expectString,\\n });\\n};\\nconst de_ChannelSummaryList = (output, context) => {\\n const retVal = (output || [])\\n .filter((e) => e != null)\\n .map((entry) => {\\n return de_ChannelSummary(entry, context);\\n });\\n return retVal;\\n};\\nconst deserializeMetadata = (output) => ({\\n httpStatusCode: output.statusCode,\\n requestId: output.headers[\\\"x-amzn-requestid\\\"] ?? output.headers[\\\"x-amzn-request-id\\\"] ?? output.headers[\\\"x-amz-request-id\\\"],\\n extendedRequestId: output.headers[\\\"x-amz-id-2\\\"],\\n cfId: output.headers[\\\"x-amz-cf-id\\\"],\\n});\\nconst collectBodyString = (streamBody, context) => (0,_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_1__.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body));\\nconst isSerializableHeaderValue = (value) => value !== undefined &&\\n value !== null &&\\n value !== \\\"\\\" &&\\n (!Object.getOwnPropertyNames(value).includes(\\\"length\\\") || value.length != 0) &&\\n (!Object.getOwnPropertyNames(value).includes(\\\"size\\\") || value.size != 0);\\nconst parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\\n if (encoded.length) {\\n return JSON.parse(encoded);\\n }\\n return {};\\n});\\nconst parseErrorBody = async (errorBody, context) => {\\n const value = await parseBody(errorBody, context);\\n value.message = value.message ?? value.Message;\\n return value;\\n};\\nconst loadRestJsonErrorCode = (output, data) => {\\n const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\\n const sanitizeErrorCode = (rawValue) => {\\n let cleanValue = rawValue;\\n if (typeof cleanValue === \\\"number\\\") {\\n cleanValue = cleanValue.toString();\\n }\\n if (cleanValue.indexOf(\\\",\\\") >= 0) {\\n cleanValue = cleanValue.split(\\\",\\\")[0];\\n }\\n if (cleanValue.indexOf(\\\":\\\") >= 0) {\\n cleanValue = cleanValue.split(\\\":\\\")[0];\\n }\\n if (cleanValue.indexOf(\\\"#\\\") >= 0) {\\n cleanValue = cleanValue.split(\\\"#\\\")[1];\\n }\\n return cleanValue;\\n };\\n const headerKey = findKey(output.headers, \\\"x-amzn-errortype\\\");\\n if (headerKey !== undefined) {\\n return sanitizeErrorCode(output.headers[headerKey]);\\n }\\n if (data.code !== undefined) {\\n return sanitizeErrorCode(data.code);\\n }\\n if (data[\\\"__type\\\"] !== undefined) {\\n return sanitizeErrorCode(data[\\\"__type\\\"]);\\n }\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/protocols/Aws_restJson1.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/runtimeConfig.browser.js\":\n/*!*******************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/runtimeConfig.browser.js ***!\n \\*******************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getRuntimeConfig: () => (/* binding */ getRuntimeConfig)\\n/* harmony export */ });\\n/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../package.json */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/package.json\\\");\\n/* harmony import */ var _aws_crypto_sha256_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @aws-crypto/sha256-browser */ \\\"./node_modules/@aws-crypto/sha256-browser/build/index.js\\\");\\n/* harmony import */ var _aws_crypto_sha256_browser__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_aws_crypto_sha256_browser__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var _aws_sdk_util_user_agent_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @aws-sdk/util-user-agent-browser */ \\\"./node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_config_resolver__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/config-resolver */ \\\"./node_modules/@smithy/config-resolver/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_fetch_http_handler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @smithy/fetch-http-handler */ \\\"./node_modules/@smithy/fetch-http-handler/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_invalid_dependency__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @smithy/invalid-dependency */ \\\"./node_modules/@smithy/invalid-dependency/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_body_length_browser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @smithy/util-body-length-browser */ \\\"./node_modules/@smithy/util-body-length-browser/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_retry__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @smithy/util-retry */ \\\"./node_modules/@smithy/util-retry/dist-es/index.js\\\");\\n/* harmony import */ var _runtimeConfig_shared__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./runtimeConfig.shared */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/runtimeConfig.shared.js\\\");\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_defaults_mode_browser__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @smithy/util-defaults-mode-browser */ \\\"./node_modules/@smithy/util-defaults-mode-browser/dist-es/index.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nconst getRuntimeConfig = (config) => {\\n const defaultsMode = (0,_smithy_util_defaults_mode_browser__WEBPACK_IMPORTED_MODULE_8__.resolveDefaultsModeConfig)(config);\\n const defaultConfigProvider = () => defaultsMode().then(_smithy_smithy_client__WEBPACK_IMPORTED_MODULE_7__.loadConfigsForDefaultMode);\\n const clientSharedValues = (0,_runtimeConfig_shared__WEBPACK_IMPORTED_MODULE_9__.getRuntimeConfig)(config);\\n return {\\n ...clientSharedValues,\\n ...config,\\n runtime: \\\"browser\\\",\\n defaultsMode,\\n bodyLengthChecker: config?.bodyLengthChecker ?? _smithy_util_body_length_browser__WEBPACK_IMPORTED_MODULE_5__.calculateBodyLength,\\n credentialDefaultProvider: config?.credentialDefaultProvider ?? ((_) => () => Promise.reject(new Error(\\\"Credential is missing\\\"))),\\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\\n (0,_aws_sdk_util_user_agent_browser__WEBPACK_IMPORTED_MODULE_1__.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: _package_json__WEBPACK_IMPORTED_MODULE_10__.version }),\\n maxAttempts: config?.maxAttempts ?? _smithy_util_retry__WEBPACK_IMPORTED_MODULE_6__.DEFAULT_MAX_ATTEMPTS,\\n region: config?.region ?? (0,_smithy_invalid_dependency__WEBPACK_IMPORTED_MODULE_4__.invalidProvider)(\\\"Region is missing\\\"),\\n requestHandler: config?.requestHandler ?? new _smithy_fetch_http_handler__WEBPACK_IMPORTED_MODULE_3__.FetchHttpHandler(defaultConfigProvider),\\n retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || _smithy_util_retry__WEBPACK_IMPORTED_MODULE_6__.DEFAULT_RETRY_MODE),\\n sha256: config?.sha256 ?? _aws_crypto_sha256_browser__WEBPACK_IMPORTED_MODULE_0__.Sha256,\\n streamCollector: config?.streamCollector ?? _smithy_fetch_http_handler__WEBPACK_IMPORTED_MODULE_3__.streamCollector,\\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(_smithy_config_resolver__WEBPACK_IMPORTED_MODULE_2__.DEFAULT_USE_DUALSTACK_ENDPOINT)),\\n useFipsEndpoint: config?.useFipsEndpoint ?? (() => Promise.resolve(_smithy_config_resolver__WEBPACK_IMPORTED_MODULE_2__.DEFAULT_USE_FIPS_ENDPOINT)),\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/runtimeConfig.browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/runtimeConfig.shared.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/runtimeConfig.shared.js ***!\n \\******************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getRuntimeConfig: () => (/* binding */ getRuntimeConfig)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/smithy-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_url_parser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/url-parser */ \\\"./node_modules/@smithy/url-parser/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/util-base64 */ \\\"./node_modules/@smithy/util-base64/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_utf8__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @smithy/util-utf8 */ \\\"./node_modules/@smithy/util-utf8/dist-es/index.js\\\");\\n/* harmony import */ var _endpoint_endpointResolver__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./endpoint/endpointResolver */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/endpoint/endpointResolver.js\\\");\\n\\n\\n\\n\\n\\nconst getRuntimeConfig = (config) => ({\\n apiVersion: \\\"2021-05-15\\\",\\n base64Decoder: config?.base64Decoder ?? _smithy_util_base64__WEBPACK_IMPORTED_MODULE_2__.fromBase64,\\n base64Encoder: config?.base64Encoder ?? _smithy_util_base64__WEBPACK_IMPORTED_MODULE_2__.toBase64,\\n disableHostPrefix: config?.disableHostPrefix ?? false,\\n endpointProvider: config?.endpointProvider ?? _endpoint_endpointResolver__WEBPACK_IMPORTED_MODULE_4__.defaultEndpointResolver,\\n logger: config?.logger ?? new _smithy_smithy_client__WEBPACK_IMPORTED_MODULE_0__.NoOpLogger(),\\n serviceId: config?.serviceId ?? \\\"Chime SDK Messaging\\\",\\n urlParser: config?.urlParser ?? _smithy_url_parser__WEBPACK_IMPORTED_MODULE_1__.parseUrl,\\n utf8Decoder: config?.utf8Decoder ?? _smithy_util_utf8__WEBPACK_IMPORTED_MODULE_3__.fromUtf8,\\n utf8Encoder: config?.utf8Encoder ?? _smithy_util_utf8__WEBPACK_IMPORTED_MODULE_3__.toUtf8,\\n});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/runtimeConfig.shared.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-host-header/dist-es/index.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-host-header/dist-es/index.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getHostHeaderPlugin: () => (/* binding */ getHostHeaderPlugin),\\n/* harmony export */ hostHeaderMiddleware: () => (/* binding */ hostHeaderMiddleware),\\n/* harmony export */ hostHeaderMiddlewareOptions: () => (/* binding */ hostHeaderMiddlewareOptions),\\n/* harmony export */ resolveHostHeaderConfig: () => (/* binding */ resolveHostHeaderConfig)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/protocol-http */ \\\"./node_modules/@smithy/protocol-http/dist-es/index.js\\\");\\n\\nfunction resolveHostHeaderConfig(input) {\\n return input;\\n}\\nconst hostHeaderMiddleware = (options) => (next) => async (args) => {\\n if (!_smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest.isInstance(args.request))\\n return next(args);\\n const { request } = args;\\n const { handlerProtocol = \\\"\\\" } = options.requestHandler.metadata || {};\\n if (handlerProtocol.indexOf(\\\"h2\\\") >= 0 && !request.headers[\\\":authority\\\"]) {\\n delete request.headers[\\\"host\\\"];\\n request.headers[\\\":authority\\\"] = \\\"\\\";\\n }\\n else if (!request.headers[\\\"host\\\"]) {\\n let host = request.hostname;\\n if (request.port != null)\\n host += `:${request.port}`;\\n request.headers[\\\"host\\\"] = host;\\n }\\n return next(args);\\n};\\nconst hostHeaderMiddlewareOptions = {\\n name: \\\"hostHeaderMiddleware\\\",\\n step: \\\"build\\\",\\n priority: \\\"low\\\",\\n tags: [\\\"HOST\\\"],\\n override: true,\\n};\\nconst getHostHeaderPlugin = (options) => ({\\n applyToStack: (clientStack) => {\\n clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);\\n },\\n});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-host-header/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-logger/dist-es/index.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-logger/dist-es/index.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getLoggerPlugin: () => (/* reexport safe */ _loggerMiddleware__WEBPACK_IMPORTED_MODULE_0__.getLoggerPlugin),\\n/* harmony export */ loggerMiddleware: () => (/* reexport safe */ _loggerMiddleware__WEBPACK_IMPORTED_MODULE_0__.loggerMiddleware),\\n/* harmony export */ loggerMiddlewareOptions: () => (/* reexport safe */ _loggerMiddleware__WEBPACK_IMPORTED_MODULE_0__.loggerMiddlewareOptions)\\n/* harmony export */ });\\n/* harmony import */ var _loggerMiddleware__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loggerMiddleware */ \\\"./node_modules/@aws-sdk/middleware-logger/dist-es/loggerMiddleware.js\\\");\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-logger/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-logger/dist-es/loggerMiddleware.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-logger/dist-es/loggerMiddleware.js ***!\n \\*****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getLoggerPlugin: () => (/* binding */ getLoggerPlugin),\\n/* harmony export */ loggerMiddleware: () => (/* binding */ loggerMiddleware),\\n/* harmony export */ loggerMiddlewareOptions: () => (/* binding */ loggerMiddlewareOptions)\\n/* harmony export */ });\\nconst loggerMiddleware = () => (next, context) => async (args) => {\\n try {\\n const response = await next(args);\\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\\n const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\\n const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog;\\n const { $metadata, ...outputWithoutMetadata } = response.output;\\n logger?.info?.({\\n clientName,\\n commandName,\\n input: inputFilterSensitiveLog(args.input),\\n output: outputFilterSensitiveLog(outputWithoutMetadata),\\n metadata: $metadata,\\n });\\n return response;\\n }\\n catch (error) {\\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\\n const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\\n logger?.error?.({\\n clientName,\\n commandName,\\n input: inputFilterSensitiveLog(args.input),\\n error,\\n metadata: error.$metadata,\\n });\\n throw error;\\n }\\n};\\nconst loggerMiddlewareOptions = {\\n name: \\\"loggerMiddleware\\\",\\n tags: [\\\"LOGGER\\\"],\\n step: \\\"initialize\\\",\\n override: true,\\n};\\nconst getLoggerPlugin = (options) => ({\\n applyToStack: (clientStack) => {\\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\\n },\\n});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-logger/dist-es/loggerMiddleware.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ addRecursionDetectionMiddlewareOptions: () => (/* binding */ addRecursionDetectionMiddlewareOptions),\\n/* harmony export */ getRecursionDetectionPlugin: () => (/* binding */ getRecursionDetectionPlugin),\\n/* harmony export */ recursionDetectionMiddleware: () => (/* binding */ recursionDetectionMiddleware)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/protocol-http */ \\\"./node_modules/@smithy/protocol-http/dist-es/index.js\\\");\\n\\nconst TRACE_ID_HEADER_NAME = \\\"X-Amzn-Trace-Id\\\";\\nconst ENV_LAMBDA_FUNCTION_NAME = \\\"AWS_LAMBDA_FUNCTION_NAME\\\";\\nconst ENV_TRACE_ID = \\\"_X_AMZN_TRACE_ID\\\";\\nconst recursionDetectionMiddleware = (options) => (next) => async (args) => {\\n const { request } = args;\\n if (!_smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest.isInstance(request) ||\\n options.runtime !== \\\"node\\\" ||\\n request.headers.hasOwnProperty(TRACE_ID_HEADER_NAME)) {\\n return next(args);\\n }\\n const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME];\\n const traceId = process.env[ENV_TRACE_ID];\\n const nonEmptyString = (str) => typeof str === \\\"string\\\" && str.length > 0;\\n if (nonEmptyString(functionName) && nonEmptyString(traceId)) {\\n request.headers[TRACE_ID_HEADER_NAME] = traceId;\\n }\\n return next({\\n ...args,\\n request,\\n });\\n};\\nconst addRecursionDetectionMiddlewareOptions = {\\n step: \\\"build\\\",\\n tags: [\\\"RECURSION_DETECTION\\\"],\\n name: \\\"recursionDetectionMiddleware\\\",\\n override: true,\\n priority: \\\"low\\\",\\n};\\nconst getRecursionDetectionPlugin = (options) => ({\\n applyToStack: (clientStack) => {\\n clientStack.add(recursionDetectionMiddleware(options), addRecursionDetectionMiddlewareOptions);\\n },\\n});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-signing/dist-es/awsAuthConfiguration.js\":\n/*!**********************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-signing/dist-es/awsAuthConfiguration.js ***!\n \\**********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ resolveAwsAuthConfig: () => (/* binding */ resolveAwsAuthConfig),\\n/* harmony export */ resolveSigV4AuthConfig: () => (/* binding */ resolveSigV4AuthConfig)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_property_provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/property-provider */ \\\"./node_modules/@smithy/property-provider/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_signature_v4__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/signature-v4 */ \\\"./node_modules/@smithy/signature-v4/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_middleware__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/util-middleware */ \\\"./node_modules/@smithy/util-middleware/dist-es/index.js\\\");\\n\\n\\n\\nconst CREDENTIAL_EXPIRE_WINDOW = 300000;\\nconst resolveAwsAuthConfig = (input) => {\\n const normalizedCreds = input.credentials\\n ? normalizeCredentialProvider(input.credentials)\\n : input.credentialDefaultProvider(input);\\n const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;\\n let signer;\\n if (input.signer) {\\n signer = (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_2__.normalizeProvider)(input.signer);\\n }\\n else if (input.regionInfoProvider) {\\n signer = () => (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_2__.normalizeProvider)(input.region)()\\n .then(async (region) => [\\n (await input.regionInfoProvider(region, {\\n useFipsEndpoint: await input.useFipsEndpoint(),\\n useDualstackEndpoint: await input.useDualstackEndpoint(),\\n })) || {},\\n region,\\n ])\\n .then(([regionInfo, region]) => {\\n const { signingRegion, signingService } = regionInfo;\\n input.signingRegion = input.signingRegion || signingRegion || region;\\n input.signingName = input.signingName || signingService || input.serviceId;\\n const params = {\\n ...input,\\n credentials: normalizedCreds,\\n region: input.signingRegion,\\n service: input.signingName,\\n sha256,\\n uriEscapePath: signingEscapePath,\\n };\\n const SignerCtor = input.signerConstructor || _smithy_signature_v4__WEBPACK_IMPORTED_MODULE_1__.SignatureV4;\\n return new SignerCtor(params);\\n });\\n }\\n else {\\n signer = async (authScheme) => {\\n authScheme = Object.assign({}, {\\n name: \\\"sigv4\\\",\\n signingName: input.signingName || input.defaultSigningName,\\n signingRegion: await (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_2__.normalizeProvider)(input.region)(),\\n properties: {},\\n }, authScheme);\\n const signingRegion = authScheme.signingRegion;\\n const signingService = authScheme.signingName;\\n input.signingRegion = input.signingRegion || signingRegion;\\n input.signingName = input.signingName || signingService || input.serviceId;\\n const params = {\\n ...input,\\n credentials: normalizedCreds,\\n region: input.signingRegion,\\n service: input.signingName,\\n sha256,\\n uriEscapePath: signingEscapePath,\\n };\\n const SignerCtor = input.signerConstructor || _smithy_signature_v4__WEBPACK_IMPORTED_MODULE_1__.SignatureV4;\\n return new SignerCtor(params);\\n };\\n }\\n return {\\n ...input,\\n systemClockOffset,\\n signingEscapePath,\\n credentials: normalizedCreds,\\n signer,\\n };\\n};\\nconst resolveSigV4AuthConfig = (input) => {\\n const normalizedCreds = input.credentials\\n ? normalizeCredentialProvider(input.credentials)\\n : input.credentialDefaultProvider(input);\\n const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;\\n let signer;\\n if (input.signer) {\\n signer = (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_2__.normalizeProvider)(input.signer);\\n }\\n else {\\n signer = (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_2__.normalizeProvider)(new _smithy_signature_v4__WEBPACK_IMPORTED_MODULE_1__.SignatureV4({\\n credentials: normalizedCreds,\\n region: input.region,\\n service: input.signingName,\\n sha256,\\n uriEscapePath: signingEscapePath,\\n }));\\n }\\n return {\\n ...input,\\n systemClockOffset,\\n signingEscapePath,\\n credentials: normalizedCreds,\\n signer,\\n };\\n};\\nconst normalizeCredentialProvider = (credentials) => {\\n if (typeof credentials === \\\"function\\\") {\\n return (0,_smithy_property_provider__WEBPACK_IMPORTED_MODULE_0__.memoize)(credentials, (credentials) => credentials.expiration !== undefined &&\\n credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW, (credentials) => credentials.expiration !== undefined);\\n }\\n return (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_2__.normalizeProvider)(credentials);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-signing/dist-es/awsAuthConfiguration.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-signing/dist-es/awsAuthMiddleware.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-signing/dist-es/awsAuthMiddleware.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ awsAuthMiddleware: () => (/* binding */ awsAuthMiddleware),\\n/* harmony export */ awsAuthMiddlewareOptions: () => (/* binding */ awsAuthMiddlewareOptions),\\n/* harmony export */ getAwsAuthPlugin: () => (/* binding */ getAwsAuthPlugin),\\n/* harmony export */ getSigV4AuthPlugin: () => (/* binding */ getSigV4AuthPlugin)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/protocol-http */ \\\"./node_modules/@smithy/protocol-http/dist-es/index.js\\\");\\n/* harmony import */ var _utils_getSkewCorrectedDate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/getSkewCorrectedDate */ \\\"./node_modules/@aws-sdk/middleware-signing/dist-es/utils/getSkewCorrectedDate.js\\\");\\n/* harmony import */ var _utils_getUpdatedSystemClockOffset__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/getUpdatedSystemClockOffset */ \\\"./node_modules/@aws-sdk/middleware-signing/dist-es/utils/getUpdatedSystemClockOffset.js\\\");\\n\\n\\n\\nconst awsAuthMiddleware = (options) => (next, context) => async function (args) {\\n if (!_smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest.isInstance(args.request))\\n return next(args);\\n const authScheme = context.endpointV2?.properties?.authSchemes?.[0];\\n const multiRegionOverride = authScheme?.name === \\\"sigv4a\\\" ? authScheme?.signingRegionSet?.join(\\\",\\\") : undefined;\\n const signer = await options.signer(authScheme);\\n const output = await next({\\n ...args,\\n request: await signer.sign(args.request, {\\n signingDate: (0,_utils_getSkewCorrectedDate__WEBPACK_IMPORTED_MODULE_1__.getSkewCorrectedDate)(options.systemClockOffset),\\n signingRegion: multiRegionOverride || context[\\\"signing_region\\\"],\\n signingService: context[\\\"signing_service\\\"],\\n }),\\n }).catch((error) => {\\n const serverTime = error.ServerTime ?? getDateHeader(error.$response);\\n if (serverTime) {\\n options.systemClockOffset = (0,_utils_getUpdatedSystemClockOffset__WEBPACK_IMPORTED_MODULE_2__.getUpdatedSystemClockOffset)(serverTime, options.systemClockOffset);\\n }\\n throw error;\\n });\\n const dateHeader = getDateHeader(output.response);\\n if (dateHeader) {\\n options.systemClockOffset = (0,_utils_getUpdatedSystemClockOffset__WEBPACK_IMPORTED_MODULE_2__.getUpdatedSystemClockOffset)(dateHeader, options.systemClockOffset);\\n }\\n return output;\\n};\\nconst getDateHeader = (response) => _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;\\nconst awsAuthMiddlewareOptions = {\\n name: \\\"awsAuthMiddleware\\\",\\n tags: [\\\"SIGNATURE\\\", \\\"AWSAUTH\\\"],\\n relation: \\\"after\\\",\\n toMiddleware: \\\"retryMiddleware\\\",\\n override: true,\\n};\\nconst getAwsAuthPlugin = (options) => ({\\n applyToStack: (clientStack) => {\\n clientStack.addRelativeTo(awsAuthMiddleware(options), awsAuthMiddlewareOptions);\\n },\\n});\\nconst getSigV4AuthPlugin = getAwsAuthPlugin;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-signing/dist-es/awsAuthMiddleware.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-signing/dist-es/index.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-signing/dist-es/index.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ awsAuthMiddleware: () => (/* reexport safe */ _awsAuthMiddleware__WEBPACK_IMPORTED_MODULE_1__.awsAuthMiddleware),\\n/* harmony export */ awsAuthMiddlewareOptions: () => (/* reexport safe */ _awsAuthMiddleware__WEBPACK_IMPORTED_MODULE_1__.awsAuthMiddlewareOptions),\\n/* harmony export */ getAwsAuthPlugin: () => (/* reexport safe */ _awsAuthMiddleware__WEBPACK_IMPORTED_MODULE_1__.getAwsAuthPlugin),\\n/* harmony export */ getSigV4AuthPlugin: () => (/* reexport safe */ _awsAuthMiddleware__WEBPACK_IMPORTED_MODULE_1__.getSigV4AuthPlugin),\\n/* harmony export */ resolveAwsAuthConfig: () => (/* reexport safe */ _awsAuthConfiguration__WEBPACK_IMPORTED_MODULE_0__.resolveAwsAuthConfig),\\n/* harmony export */ resolveSigV4AuthConfig: () => (/* reexport safe */ _awsAuthConfiguration__WEBPACK_IMPORTED_MODULE_0__.resolveSigV4AuthConfig)\\n/* harmony export */ });\\n/* harmony import */ var _awsAuthConfiguration__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./awsAuthConfiguration */ \\\"./node_modules/@aws-sdk/middleware-signing/dist-es/awsAuthConfiguration.js\\\");\\n/* harmony import */ var _awsAuthMiddleware__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./awsAuthMiddleware */ \\\"./node_modules/@aws-sdk/middleware-signing/dist-es/awsAuthMiddleware.js\\\");\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-signing/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-signing/dist-es/utils/getSkewCorrectedDate.js\":\n/*!****************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-signing/dist-es/utils/getSkewCorrectedDate.js ***!\n \\****************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getSkewCorrectedDate: () => (/* binding */ getSkewCorrectedDate)\\n/* harmony export */ });\\nconst getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-signing/dist-es/utils/getSkewCorrectedDate.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-signing/dist-es/utils/getUpdatedSystemClockOffset.js\":\n/*!***********************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-signing/dist-es/utils/getUpdatedSystemClockOffset.js ***!\n \\***********************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getUpdatedSystemClockOffset: () => (/* binding */ getUpdatedSystemClockOffset)\\n/* harmony export */ });\\n/* harmony import */ var _isClockSkewed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isClockSkewed */ \\\"./node_modules/@aws-sdk/middleware-signing/dist-es/utils/isClockSkewed.js\\\");\\n\\nconst getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {\\n const clockTimeInMs = Date.parse(clockTime);\\n if ((0,_isClockSkewed__WEBPACK_IMPORTED_MODULE_0__.isClockSkewed)(clockTimeInMs, currentSystemClockOffset)) {\\n return clockTimeInMs - Date.now();\\n }\\n return currentSystemClockOffset;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-signing/dist-es/utils/getUpdatedSystemClockOffset.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-signing/dist-es/utils/isClockSkewed.js\":\n/*!*********************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-signing/dist-es/utils/isClockSkewed.js ***!\n \\*********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ isClockSkewed: () => (/* binding */ isClockSkewed)\\n/* harmony export */ });\\n/* harmony import */ var _getSkewCorrectedDate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getSkewCorrectedDate */ \\\"./node_modules/@aws-sdk/middleware-signing/dist-es/utils/getSkewCorrectedDate.js\\\");\\n\\nconst isClockSkewed = (clockTime, systemClockOffset) => Math.abs((0,_getSkewCorrectedDate__WEBPACK_IMPORTED_MODULE_0__.getSkewCorrectedDate)(systemClockOffset).getTime() - clockTime) >= 300000;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-signing/dist-es/utils/isClockSkewed.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ resolveUserAgentConfig: () => (/* binding */ resolveUserAgentConfig)\\n/* harmony export */ });\\nfunction resolveUserAgentConfig(input) {\\n return {\\n ...input,\\n customUserAgent: typeof input.customUserAgent === \\\"string\\\" ? [[input.customUserAgent]] : input.customUserAgent,\\n };\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-user-agent/dist-es/constants.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-user-agent/dist-es/constants.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ SPACE: () => (/* binding */ SPACE),\\n/* harmony export */ UA_ESCAPE_CHAR: () => (/* binding */ UA_ESCAPE_CHAR),\\n/* harmony export */ UA_NAME_ESCAPE_REGEX: () => (/* binding */ UA_NAME_ESCAPE_REGEX),\\n/* harmony export */ UA_NAME_SEPARATOR: () => (/* binding */ UA_NAME_SEPARATOR),\\n/* harmony export */ UA_VALUE_ESCAPE_REGEX: () => (/* binding */ UA_VALUE_ESCAPE_REGEX),\\n/* harmony export */ USER_AGENT: () => (/* binding */ USER_AGENT),\\n/* harmony export */ X_AMZ_USER_AGENT: () => (/* binding */ X_AMZ_USER_AGENT)\\n/* harmony export */ });\\nconst USER_AGENT = \\\"user-agent\\\";\\nconst X_AMZ_USER_AGENT = \\\"x-amz-user-agent\\\";\\nconst SPACE = \\\" \\\";\\nconst UA_NAME_SEPARATOR = \\\"/\\\";\\nconst UA_NAME_ESCAPE_REGEX = /[^\\\\!\\\\$\\\\%\\\\&\\\\'\\\\*\\\\+\\\\-\\\\.\\\\^\\\\_\\\\`\\\\|\\\\~\\\\d\\\\w]/g;\\nconst UA_VALUE_ESCAPE_REGEX = /[^\\\\!\\\\$\\\\%\\\\&\\\\'\\\\*\\\\+\\\\-\\\\.\\\\^\\\\_\\\\`\\\\|\\\\~\\\\d\\\\w\\\\#]/g;\\nconst UA_ESCAPE_CHAR = \\\"-\\\";\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-user-agent/dist-es/constants.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-user-agent/dist-es/index.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-user-agent/dist-es/index.js ***!\n \\**********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getUserAgentMiddlewareOptions: () => (/* reexport safe */ _user_agent_middleware__WEBPACK_IMPORTED_MODULE_1__.getUserAgentMiddlewareOptions),\\n/* harmony export */ getUserAgentPlugin: () => (/* reexport safe */ _user_agent_middleware__WEBPACK_IMPORTED_MODULE_1__.getUserAgentPlugin),\\n/* harmony export */ resolveUserAgentConfig: () => (/* reexport safe */ _configurations__WEBPACK_IMPORTED_MODULE_0__.resolveUserAgentConfig),\\n/* harmony export */ userAgentMiddleware: () => (/* reexport safe */ _user_agent_middleware__WEBPACK_IMPORTED_MODULE_1__.userAgentMiddleware)\\n/* harmony export */ });\\n/* harmony import */ var _configurations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./configurations */ \\\"./node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js\\\");\\n/* harmony import */ var _user_agent_middleware__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./user-agent-middleware */ \\\"./node_modules/@aws-sdk/middleware-user-agent/dist-es/user-agent-middleware.js\\\");\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-user-agent/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/middleware-user-agent/dist-es/user-agent-middleware.js\":\n/*!**************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/middleware-user-agent/dist-es/user-agent-middleware.js ***!\n \\**************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getUserAgentMiddlewareOptions: () => (/* binding */ getUserAgentMiddlewareOptions),\\n/* harmony export */ getUserAgentPlugin: () => (/* binding */ getUserAgentPlugin),\\n/* harmony export */ userAgentMiddleware: () => (/* binding */ userAgentMiddleware)\\n/* harmony export */ });\\n/* harmony import */ var _aws_sdk_util_endpoints__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @aws-sdk/util-endpoints */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/protocol-http */ \\\"./node_modules/@smithy/protocol-http/dist-es/index.js\\\");\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@aws-sdk/middleware-user-agent/dist-es/constants.js\\\");\\n\\n\\n\\nconst userAgentMiddleware = (options) => (next, context) => async (args) => {\\n const { request } = args;\\n if (!_smithy_protocol_http__WEBPACK_IMPORTED_MODULE_1__.HttpRequest.isInstance(request))\\n return next(args);\\n const { headers } = request;\\n const userAgent = context?.userAgent?.map(escapeUserAgent) || [];\\n const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);\\n const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];\\n const prefix = (0,_aws_sdk_util_endpoints__WEBPACK_IMPORTED_MODULE_0__.getUserAgentPrefix)();\\n const sdkUserAgentValue = (prefix ? [prefix] : [])\\n .concat([...defaultUserAgent, ...userAgent, ...customUserAgent])\\n .join(_constants__WEBPACK_IMPORTED_MODULE_2__.SPACE);\\n const normalUAValue = [\\n ...defaultUserAgent.filter((section) => section.startsWith(\\\"aws-sdk-\\\")),\\n ...customUserAgent,\\n ].join(_constants__WEBPACK_IMPORTED_MODULE_2__.SPACE);\\n if (options.runtime !== \\\"browser\\\") {\\n if (normalUAValue) {\\n headers[_constants__WEBPACK_IMPORTED_MODULE_2__.X_AMZ_USER_AGENT] = headers[_constants__WEBPACK_IMPORTED_MODULE_2__.X_AMZ_USER_AGENT]\\n ? `${headers[_constants__WEBPACK_IMPORTED_MODULE_2__.USER_AGENT]} ${normalUAValue}`\\n : normalUAValue;\\n }\\n headers[_constants__WEBPACK_IMPORTED_MODULE_2__.USER_AGENT] = sdkUserAgentValue;\\n }\\n else {\\n headers[_constants__WEBPACK_IMPORTED_MODULE_2__.X_AMZ_USER_AGENT] = sdkUserAgentValue;\\n }\\n return next({\\n ...args,\\n request,\\n });\\n};\\nconst escapeUserAgent = (userAgentPair) => {\\n const name = userAgentPair[0]\\n .split(_constants__WEBPACK_IMPORTED_MODULE_2__.UA_NAME_SEPARATOR)\\n .map((part) => part.replace(_constants__WEBPACK_IMPORTED_MODULE_2__.UA_NAME_ESCAPE_REGEX, _constants__WEBPACK_IMPORTED_MODULE_2__.UA_ESCAPE_CHAR))\\n .join(_constants__WEBPACK_IMPORTED_MODULE_2__.UA_NAME_SEPARATOR);\\n const version = userAgentPair[1]?.replace(_constants__WEBPACK_IMPORTED_MODULE_2__.UA_VALUE_ESCAPE_REGEX, _constants__WEBPACK_IMPORTED_MODULE_2__.UA_ESCAPE_CHAR);\\n const prefixSeparatorIndex = name.indexOf(_constants__WEBPACK_IMPORTED_MODULE_2__.UA_NAME_SEPARATOR);\\n const prefix = name.substring(0, prefixSeparatorIndex);\\n let uaName = name.substring(prefixSeparatorIndex + 1);\\n if (prefix === \\\"api\\\") {\\n uaName = uaName.toLowerCase();\\n }\\n return [prefix, uaName, version]\\n .filter((item) => item && item.length > 0)\\n .reduce((acc, item, index) => {\\n switch (index) {\\n case 0:\\n return item;\\n case 1:\\n return `${acc}/${item}`;\\n default:\\n return `${acc}#${item}`;\\n }\\n }, \\\"\\\");\\n};\\nconst getUserAgentMiddlewareOptions = {\\n name: \\\"getUserAgentMiddleware\\\",\\n step: \\\"build\\\",\\n priority: \\\"low\\\",\\n tags: [\\\"SET_USER_AGENT\\\", \\\"USER_AGENT\\\"],\\n override: true,\\n};\\nconst getUserAgentPlugin = (config) => ({\\n applyToStack: (clientStack) => {\\n clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\\n },\\n});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/middleware-user-agent/dist-es/user-agent-middleware.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/abort.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/abort.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/abort.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/auth.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/auth.js ***!\n \\*****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ HttpAuthLocation: () => (/* binding */ HttpAuthLocation)\\n/* harmony export */ });\\nvar HttpAuthLocation;\\n(function (HttpAuthLocation) {\\n HttpAuthLocation[\\\"HEADER\\\"] = \\\"header\\\";\\n HttpAuthLocation[\\\"QUERY\\\"] = \\\"query\\\";\\n})(HttpAuthLocation || (HttpAuthLocation = {}));\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/auth.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/blob/blob-types.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/blob/blob-types.js ***!\n \\****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/blob/blob-types.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/checksum.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/checksum.js ***!\n \\*********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/checksum.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/client.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/client.js ***!\n \\*******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/client.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/command.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/command.js ***!\n \\********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/command.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/connection/config.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/connection/config.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/connection/config.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/connection/index.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/connection/index.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./config */ \\\"./node_modules/@aws-sdk/types/dist-es/connection/config.js\\\");\\n/* harmony import */ var _manager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./manager */ \\\"./node_modules/@aws-sdk/types/dist-es/connection/manager.js\\\");\\n/* harmony import */ var _pool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pool */ \\\"./node_modules/@aws-sdk/types/dist-es/connection/pool.js\\\");\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/connection/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/connection/manager.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/connection/manager.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/connection/manager.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/connection/pool.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/connection/pool.js ***!\n \\****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/connection/pool.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/credentials.js\":\n/*!************************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/credentials.js ***!\n \\************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/credentials.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/crypto.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/crypto.js ***!\n \\*******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/crypto.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/dns.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/dns.js ***!\n \\****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ HostAddressType: () => (/* binding */ HostAddressType)\\n/* harmony export */ });\\nvar HostAddressType;\\n(function (HostAddressType) {\\n HostAddressType[\\\"AAAA\\\"] = \\\"AAAA\\\";\\n HostAddressType[\\\"A\\\"] = \\\"A\\\";\\n})(HostAddressType || (HostAddressType = {}));\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/dns.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/encode.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/encode.js ***!\n \\*******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/encode.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/endpoint.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/endpoint.js ***!\n \\*********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ EndpointURLScheme: () => (/* binding */ EndpointURLScheme)\\n/* harmony export */ });\\nvar EndpointURLScheme;\\n(function (EndpointURLScheme) {\\n EndpointURLScheme[\\\"HTTP\\\"] = \\\"http\\\";\\n EndpointURLScheme[\\\"HTTPS\\\"] = \\\"https\\\";\\n})(EndpointURLScheme || (EndpointURLScheme = {}));\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/endpoint.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/eventStream.js\":\n/*!************************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/eventStream.js ***!\n \\************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/eventStream.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/http.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/http.js ***!\n \\*****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/http.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/identity/AnonymousIdentity.js\":\n/*!***************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/identity/AnonymousIdentity.js ***!\n \\***************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/identity/AnonymousIdentity.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/identity/AwsCredentialIdentity.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/identity/AwsCredentialIdentity.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/identity/AwsCredentialIdentity.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/identity/Identity.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/identity/Identity.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/identity/Identity.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/identity/LoginIdentity.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/identity/LoginIdentity.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/identity/LoginIdentity.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/identity/TokenIdentity.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/identity/TokenIdentity.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/identity/TokenIdentity.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/identity/index.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/identity/index.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _AnonymousIdentity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AnonymousIdentity */ \\\"./node_modules/@aws-sdk/types/dist-es/identity/AnonymousIdentity.js\\\");\\n/* harmony import */ var _AwsCredentialIdentity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AwsCredentialIdentity */ \\\"./node_modules/@aws-sdk/types/dist-es/identity/AwsCredentialIdentity.js\\\");\\n/* harmony import */ var _Identity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Identity */ \\\"./node_modules/@aws-sdk/types/dist-es/identity/Identity.js\\\");\\n/* harmony import */ var _LoginIdentity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./LoginIdentity */ \\\"./node_modules/@aws-sdk/types/dist-es/identity/LoginIdentity.js\\\");\\n/* harmony import */ var _TokenIdentity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TokenIdentity */ \\\"./node_modules/@aws-sdk/types/dist-es/identity/TokenIdentity.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/identity/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/index.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/index.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ EndpointURLScheme: () => (/* reexport safe */ _endpoint__WEBPACK_IMPORTED_MODULE_11__.EndpointURLScheme),\\n/* harmony export */ HostAddressType: () => (/* reexport safe */ _dns__WEBPACK_IMPORTED_MODULE_9__.HostAddressType),\\n/* harmony export */ HttpAuthLocation: () => (/* reexport safe */ _auth__WEBPACK_IMPORTED_MODULE_1__.HttpAuthLocation),\\n/* harmony export */ RequestHandlerProtocol: () => (/* reexport safe */ _transfer__WEBPACK_IMPORTED_MODULE_27__.RequestHandlerProtocol)\\n/* harmony export */ });\\n/* harmony import */ var _abort__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abort */ \\\"./node_modules/@aws-sdk/types/dist-es/abort.js\\\");\\n/* harmony import */ var _auth__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./auth */ \\\"./node_modules/@aws-sdk/types/dist-es/auth.js\\\");\\n/* harmony import */ var _blob_blob_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blob/blob-types */ \\\"./node_modules/@aws-sdk/types/dist-es/blob/blob-types.js\\\");\\n/* harmony import */ var _checksum__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./checksum */ \\\"./node_modules/@aws-sdk/types/dist-es/checksum.js\\\");\\n/* harmony import */ var _client__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./client */ \\\"./node_modules/@aws-sdk/types/dist-es/client.js\\\");\\n/* harmony import */ var _command__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./command */ \\\"./node_modules/@aws-sdk/types/dist-es/command.js\\\");\\n/* harmony import */ var _connection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./connection */ \\\"./node_modules/@aws-sdk/types/dist-es/connection/index.js\\\");\\n/* harmony import */ var _credentials__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./credentials */ \\\"./node_modules/@aws-sdk/types/dist-es/credentials.js\\\");\\n/* harmony import */ var _crypto__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./crypto */ \\\"./node_modules/@aws-sdk/types/dist-es/crypto.js\\\");\\n/* harmony import */ var _dns__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./dns */ \\\"./node_modules/@aws-sdk/types/dist-es/dns.js\\\");\\n/* harmony import */ var _encode__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./encode */ \\\"./node_modules/@aws-sdk/types/dist-es/encode.js\\\");\\n/* harmony import */ var _endpoint__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./endpoint */ \\\"./node_modules/@aws-sdk/types/dist-es/endpoint.js\\\");\\n/* harmony import */ var _eventStream__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./eventStream */ \\\"./node_modules/@aws-sdk/types/dist-es/eventStream.js\\\");\\n/* harmony import */ var _http__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./http */ \\\"./node_modules/@aws-sdk/types/dist-es/http.js\\\");\\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./identity */ \\\"./node_modules/@aws-sdk/types/dist-es/identity/index.js\\\");\\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./logger */ \\\"./node_modules/@aws-sdk/types/dist-es/logger.js\\\");\\n/* harmony import */ var _middleware__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./middleware */ \\\"./node_modules/@aws-sdk/types/dist-es/middleware.js\\\");\\n/* harmony import */ var _pagination__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./pagination */ \\\"./node_modules/@aws-sdk/types/dist-es/pagination.js\\\");\\n/* harmony import */ var _profile__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./profile */ \\\"./node_modules/@aws-sdk/types/dist-es/profile.js\\\");\\n/* harmony import */ var _request__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./request */ \\\"./node_modules/@aws-sdk/types/dist-es/request.js\\\");\\n/* harmony import */ var _response__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./response */ \\\"./node_modules/@aws-sdk/types/dist-es/response.js\\\");\\n/* harmony import */ var _retry__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./retry */ \\\"./node_modules/@aws-sdk/types/dist-es/retry.js\\\");\\n/* harmony import */ var _serde__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./serde */ \\\"./node_modules/@aws-sdk/types/dist-es/serde.js\\\");\\n/* harmony import */ var _shapes__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./shapes */ \\\"./node_modules/@aws-sdk/types/dist-es/shapes.js\\\");\\n/* harmony import */ var _signature__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./signature */ \\\"./node_modules/@aws-sdk/types/dist-es/signature.js\\\");\\n/* harmony import */ var _stream__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./stream */ \\\"./node_modules/@aws-sdk/types/dist-es/stream.js\\\");\\n/* harmony import */ var _token__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./token */ \\\"./node_modules/@aws-sdk/types/dist-es/token.js\\\");\\n/* harmony import */ var _transfer__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./transfer */ \\\"./node_modules/@aws-sdk/types/dist-es/transfer.js\\\");\\n/* harmony import */ var _uri__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./uri */ \\\"./node_modules/@aws-sdk/types/dist-es/uri.js\\\");\\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./util */ \\\"./node_modules/@aws-sdk/types/dist-es/util.js\\\");\\n/* harmony import */ var _waiter__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./waiter */ \\\"./node_modules/@aws-sdk/types/dist-es/waiter.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/logger.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/logger.js ***!\n \\*******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/logger.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/middleware.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/middleware.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/middleware.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/pagination.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/pagination.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/pagination.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/profile.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/profile.js ***!\n \\********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/profile.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/request.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/request.js ***!\n \\********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/request.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/response.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/response.js ***!\n \\*********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/response.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/retry.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/retry.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/retry.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/serde.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/serde.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/serde.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/shapes.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/shapes.js ***!\n \\*******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/shapes.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/signature.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/signature.js ***!\n \\**********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/signature.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/stream.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/stream.js ***!\n \\*******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/stream.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/token.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/token.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/token.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/transfer.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/transfer.js ***!\n \\*********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ RequestHandlerProtocol: () => (/* binding */ RequestHandlerProtocol)\\n/* harmony export */ });\\nvar RequestHandlerProtocol;\\n(function (RequestHandlerProtocol) {\\n RequestHandlerProtocol[\\\"HTTP_0_9\\\"] = \\\"http/0.9\\\";\\n RequestHandlerProtocol[\\\"HTTP_1_0\\\"] = \\\"http/1.0\\\";\\n RequestHandlerProtocol[\\\"TDS_8_0\\\"] = \\\"tds/8.0\\\";\\n})(RequestHandlerProtocol || (RequestHandlerProtocol = {}));\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/transfer.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/uri.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/uri.js ***!\n \\****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/uri.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/util.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/util.js ***!\n \\*****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/util.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/types/dist-es/waiter.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/@aws-sdk/types/dist-es/waiter.js ***!\n \\*******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/types/dist-es/waiter.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/debug/debugId.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/debug/debugId.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ debugId: () => (/* binding */ debugId)\\n/* harmony export */ });\\nconst debugId = \\\"endpoints\\\";\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/debug/debugId.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/debug/index.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/debug/index.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ debugId: () => (/* reexport safe */ _debugId__WEBPACK_IMPORTED_MODULE_0__.debugId),\\n/* harmony export */ toDebugString: () => (/* reexport safe */ _toDebugString__WEBPACK_IMPORTED_MODULE_1__.toDebugString)\\n/* harmony export */ });\\n/* harmony import */ var _debugId__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./debugId */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/debug/debugId.js\\\");\\n/* harmony import */ var _toDebugString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toDebugString */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/debug/toDebugString.js\\\");\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/debug/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/debug/toDebugString.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/debug/toDebugString.js ***!\n \\*****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ toDebugString: () => (/* binding */ toDebugString)\\n/* harmony export */ });\\nfunction toDebugString(input) {\\n if (typeof input !== \\\"object\\\" || input == null) {\\n return input;\\n }\\n if (\\\"ref\\\" in input) {\\n return `$${toDebugString(input.ref)}`;\\n }\\n if (\\\"fn\\\" in input) {\\n return `${input.fn}(${(input.argv || []).map(toDebugString).join(\\\", \\\")})`;\\n }\\n return JSON.stringify(input, null, 2);\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/debug/toDebugString.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/index.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/index.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ EndpointError: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_2__.EndpointError),\\n/* harmony export */ getUserAgentPrefix: () => (/* reexport safe */ _lib_aws_partition__WEBPACK_IMPORTED_MODULE_0__.getUserAgentPrefix),\\n/* harmony export */ partition: () => (/* reexport safe */ _lib_aws_partition__WEBPACK_IMPORTED_MODULE_0__.partition),\\n/* harmony export */ resolveEndpoint: () => (/* reexport safe */ _resolveEndpoint__WEBPACK_IMPORTED_MODULE_1__.resolveEndpoint),\\n/* harmony export */ setPartitionInfo: () => (/* reexport safe */ _lib_aws_partition__WEBPACK_IMPORTED_MODULE_0__.setPartitionInfo),\\n/* harmony export */ useDefaultPartitionInfo: () => (/* reexport safe */ _lib_aws_partition__WEBPACK_IMPORTED_MODULE_0__.useDefaultPartitionInfo)\\n/* harmony export */ });\\n/* harmony import */ var _lib_aws_partition__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/aws/partition */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partition.js\\\");\\n/* harmony import */ var _resolveEndpoint__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./resolveEndpoint */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/resolveEndpoint.js\\\");\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js\\\");\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/index.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/index.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getUserAgentPrefix: () => (/* reexport safe */ _partition__WEBPACK_IMPORTED_MODULE_2__.getUserAgentPrefix),\\n/* harmony export */ isVirtualHostableS3Bucket: () => (/* reexport safe */ _isVirtualHostableS3Bucket__WEBPACK_IMPORTED_MODULE_0__.isVirtualHostableS3Bucket),\\n/* harmony export */ parseArn: () => (/* reexport safe */ _parseArn__WEBPACK_IMPORTED_MODULE_1__.parseArn),\\n/* harmony export */ partition: () => (/* reexport safe */ _partition__WEBPACK_IMPORTED_MODULE_2__.partition),\\n/* harmony export */ setPartitionInfo: () => (/* reexport safe */ _partition__WEBPACK_IMPORTED_MODULE_2__.setPartitionInfo),\\n/* harmony export */ useDefaultPartitionInfo: () => (/* reexport safe */ _partition__WEBPACK_IMPORTED_MODULE_2__.useDefaultPartitionInfo)\\n/* harmony export */ });\\n/* harmony import */ var _isVirtualHostableS3Bucket__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isVirtualHostableS3Bucket */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/isVirtualHostableS3Bucket.js\\\");\\n/* harmony import */ var _parseArn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parseArn */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/parseArn.js\\\");\\n/* harmony import */ var _partition__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./partition */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partition.js\\\");\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/isVirtualHostableS3Bucket.js\":\n/*!*******************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/isVirtualHostableS3Bucket.js ***!\n \\*******************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ isVirtualHostableS3Bucket: () => (/* binding */ isVirtualHostableS3Bucket)\\n/* harmony export */ });\\n/* harmony import */ var _isIpAddress__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isIpAddress */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isIpAddress.js\\\");\\n/* harmony import */ var _isValidHostLabel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../isValidHostLabel */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isValidHostLabel.js\\\");\\n\\n\\nconst isVirtualHostableS3Bucket = (value, allowSubDomains = false) => {\\n if (allowSubDomains) {\\n for (const label of value.split(\\\".\\\")) {\\n if (!isVirtualHostableS3Bucket(label)) {\\n return false;\\n }\\n }\\n return true;\\n }\\n if (!(0,_isValidHostLabel__WEBPACK_IMPORTED_MODULE_1__.isValidHostLabel)(value)) {\\n return false;\\n }\\n if (value.length < 3 || value.length > 63) {\\n return false;\\n }\\n if (value !== value.toLowerCase()) {\\n return false;\\n }\\n if ((0,_isIpAddress__WEBPACK_IMPORTED_MODULE_0__.isIpAddress)(value)) {\\n return false;\\n }\\n return true;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/isVirtualHostableS3Bucket.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/parseArn.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/parseArn.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ parseArn: () => (/* binding */ parseArn)\\n/* harmony export */ });\\nconst parseArn = (value) => {\\n const segments = value.split(\\\":\\\");\\n if (segments.length < 6)\\n return null;\\n const [arn, partition, service, region, accountId, ...resourceId] = segments;\\n if (arn !== \\\"arn\\\" || partition === \\\"\\\" || service === \\\"\\\" || resourceId[0] === \\\"\\\")\\n return null;\\n return {\\n partition,\\n service,\\n region,\\n accountId,\\n resourceId: resourceId[0].includes(\\\"/\\\") ? resourceId[0].split(\\\"/\\\") : resourceId,\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/parseArn.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partition.js\":\n/*!***************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partition.js ***!\n \\***************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getUserAgentPrefix: () => (/* binding */ getUserAgentPrefix),\\n/* harmony export */ partition: () => (/* binding */ partition),\\n/* harmony export */ setPartitionInfo: () => (/* binding */ setPartitionInfo),\\n/* harmony export */ useDefaultPartitionInfo: () => (/* binding */ useDefaultPartitionInfo)\\n/* harmony export */ });\\n/* harmony import */ var _partitions_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./partitions.json */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json\\\");\\n\\nlet selectedPartitionsInfo = _partitions_json__WEBPACK_IMPORTED_MODULE_0__;\\nlet selectedUserAgentPrefix = \\\"\\\";\\nconst partition = (value) => {\\n const { partitions } = selectedPartitionsInfo;\\n for (const partition of partitions) {\\n const { regions, outputs } = partition;\\n for (const [region, regionData] of Object.entries(regions)) {\\n if (region === value) {\\n return {\\n ...outputs,\\n ...regionData,\\n };\\n }\\n }\\n }\\n for (const partition of partitions) {\\n const { regionRegex, outputs } = partition;\\n if (new RegExp(regionRegex).test(value)) {\\n return {\\n ...outputs,\\n };\\n }\\n }\\n const DEFAULT_PARTITION = partitions.find((partition) => partition.id === \\\"aws\\\");\\n if (!DEFAULT_PARTITION) {\\n throw new Error(\\\"Provided region was not found in the partition array or regex,\\\" +\\n \\\" and default partition with id 'aws' doesn't exist.\\\");\\n }\\n return {\\n ...DEFAULT_PARTITION.outputs,\\n };\\n};\\nconst setPartitionInfo = (partitionsInfo, userAgentPrefix = \\\"\\\") => {\\n selectedPartitionsInfo = partitionsInfo;\\n selectedUserAgentPrefix = userAgentPrefix;\\n};\\nconst useDefaultPartitionInfo = () => {\\n setPartitionInfo(_partitions_json__WEBPACK_IMPORTED_MODULE_0__, \\\"\\\");\\n};\\nconst getUserAgentPrefix = () => selectedUserAgentPrefix;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partition.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/booleanEquals.js\":\n/*!***************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/booleanEquals.js ***!\n \\***************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ booleanEquals: () => (/* binding */ booleanEquals)\\n/* harmony export */ });\\nconst booleanEquals = (value1, value2) => value1 === value2;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/booleanEquals.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/getAttr.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/getAttr.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getAttr: () => (/* binding */ getAttr)\\n/* harmony export */ });\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../types */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js\\\");\\n/* harmony import */ var _getAttrPathList__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getAttrPathList */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/getAttrPathList.js\\\");\\n\\n\\nconst getAttr = (value, path) => (0,_getAttrPathList__WEBPACK_IMPORTED_MODULE_1__.getAttrPathList)(path).reduce((acc, index) => {\\n if (typeof acc !== \\\"object\\\") {\\n throw new _types__WEBPACK_IMPORTED_MODULE_0__.EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);\\n }\\n else if (Array.isArray(acc)) {\\n return acc[parseInt(index)];\\n }\\n return acc[index];\\n}, value);\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/getAttr.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/getAttrPathList.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/getAttrPathList.js ***!\n \\*****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getAttrPathList: () => (/* binding */ getAttrPathList)\\n/* harmony export */ });\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../types */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js\\\");\\n\\nconst getAttrPathList = (path) => {\\n const parts = path.split(\\\".\\\");\\n const pathList = [];\\n for (const part of parts) {\\n const squareBracketIndex = part.indexOf(\\\"[\\\");\\n if (squareBracketIndex !== -1) {\\n if (part.indexOf(\\\"]\\\") !== part.length - 1) {\\n throw new _types__WEBPACK_IMPORTED_MODULE_0__.EndpointError(`Path: '${path}' does not end with ']'`);\\n }\\n const arrayIndex = part.slice(squareBracketIndex + 1, -1);\\n if (Number.isNaN(parseInt(arrayIndex))) {\\n throw new _types__WEBPACK_IMPORTED_MODULE_0__.EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`);\\n }\\n if (squareBracketIndex !== 0) {\\n pathList.push(part.slice(0, squareBracketIndex));\\n }\\n pathList.push(arrayIndex);\\n }\\n else {\\n pathList.push(part);\\n }\\n }\\n return pathList;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/getAttrPathList.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/index.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/index.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ aws: () => (/* reexport module object */ _aws__WEBPACK_IMPORTED_MODULE_0__),\\n/* harmony export */ booleanEquals: () => (/* reexport safe */ _booleanEquals__WEBPACK_IMPORTED_MODULE_1__.booleanEquals),\\n/* harmony export */ getAttr: () => (/* reexport safe */ _getAttr__WEBPACK_IMPORTED_MODULE_2__.getAttr),\\n/* harmony export */ isSet: () => (/* reexport safe */ _isSet__WEBPACK_IMPORTED_MODULE_3__.isSet),\\n/* harmony export */ isValidHostLabel: () => (/* reexport safe */ _isValidHostLabel__WEBPACK_IMPORTED_MODULE_4__.isValidHostLabel),\\n/* harmony export */ not: () => (/* reexport safe */ _not__WEBPACK_IMPORTED_MODULE_5__.not),\\n/* harmony export */ parseURL: () => (/* reexport safe */ _parseURL__WEBPACK_IMPORTED_MODULE_6__.parseURL),\\n/* harmony export */ stringEquals: () => (/* reexport safe */ _stringEquals__WEBPACK_IMPORTED_MODULE_7__.stringEquals),\\n/* harmony export */ substring: () => (/* reexport safe */ _substring__WEBPACK_IMPORTED_MODULE_8__.substring),\\n/* harmony export */ uriEncode: () => (/* reexport safe */ _uriEncode__WEBPACK_IMPORTED_MODULE_9__.uriEncode)\\n/* harmony export */ });\\n/* harmony import */ var _aws__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./aws */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/index.js\\\");\\n/* harmony import */ var _booleanEquals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./booleanEquals */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/booleanEquals.js\\\");\\n/* harmony import */ var _getAttr__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getAttr */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/getAttr.js\\\");\\n/* harmony import */ var _isSet__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isSet */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isSet.js\\\");\\n/* harmony import */ var _isValidHostLabel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isValidHostLabel */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isValidHostLabel.js\\\");\\n/* harmony import */ var _not__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./not */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/not.js\\\");\\n/* harmony import */ var _parseURL__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./parseURL */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/parseURL.js\\\");\\n/* harmony import */ var _stringEquals__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./stringEquals */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/stringEquals.js\\\");\\n/* harmony import */ var _substring__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./substring */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/substring.js\\\");\\n/* harmony import */ var _uriEncode__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./uriEncode */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/uriEncode.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isIpAddress.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isIpAddress.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ isIpAddress: () => (/* binding */ isIpAddress)\\n/* harmony export */ });\\nconst IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\\\\\\\d|1\\\\\\\\d\\\\\\\\d|[1-9]\\\\\\\\d|\\\\\\\\d)(?:\\\\\\\\.(?:25[0-5]|2[0-4]\\\\\\\\d|1\\\\\\\\d\\\\\\\\d|[1-9]\\\\\\\\d|\\\\\\\\d)){3}$`);\\nconst isIpAddress = (value) => IP_V4_REGEX.test(value) || (value.startsWith(\\\"[\\\") && value.endsWith(\\\"]\\\"));\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isIpAddress.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isSet.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isSet.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ isSet: () => (/* binding */ isSet)\\n/* harmony export */ });\\nconst isSet = (value) => value != null;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isSet.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isValidHostLabel.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isValidHostLabel.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ isValidHostLabel: () => (/* binding */ isValidHostLabel)\\n/* harmony export */ });\\nconst VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);\\nconst isValidHostLabel = (value, allowSubDomains = false) => {\\n if (!allowSubDomains) {\\n return VALID_HOST_LABEL_REGEX.test(value);\\n }\\n const labels = value.split(\\\".\\\");\\n for (const label of labels) {\\n if (!isValidHostLabel(label)) {\\n return false;\\n }\\n }\\n return true;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isValidHostLabel.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/not.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/not.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ not: () => (/* binding */ not)\\n/* harmony export */ });\\nconst not = (value) => !value;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/not.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/parseURL.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/parseURL.js ***!\n \\**********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ parseURL: () => (/* binding */ parseURL)\\n/* harmony export */ });\\n/* harmony import */ var _aws_sdk_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @aws-sdk/types */ \\\"./node_modules/@aws-sdk/types/dist-es/index.js\\\");\\n/* harmony import */ var _isIpAddress__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isIpAddress */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/isIpAddress.js\\\");\\n\\n\\nconst DEFAULT_PORTS = {\\n [_aws_sdk_types__WEBPACK_IMPORTED_MODULE_0__.EndpointURLScheme.HTTP]: 80,\\n [_aws_sdk_types__WEBPACK_IMPORTED_MODULE_0__.EndpointURLScheme.HTTPS]: 443,\\n};\\nconst parseURL = (value) => {\\n const whatwgURL = (() => {\\n try {\\n if (value instanceof URL) {\\n return value;\\n }\\n if (typeof value === \\\"object\\\" && \\\"hostname\\\" in value) {\\n const { hostname, port, protocol = \\\"\\\", path = \\\"\\\", query = {} } = value;\\n const url = new URL(`${protocol}//${hostname}${port ? `:${port}` : \\\"\\\"}${path}`);\\n url.search = Object.entries(query)\\n .map(([k, v]) => `${k}=${v}`)\\n .join(\\\"&\\\");\\n return url;\\n }\\n return new URL(value);\\n }\\n catch (error) {\\n return null;\\n }\\n })();\\n if (!whatwgURL) {\\n console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`);\\n return null;\\n }\\n const urlString = whatwgURL.href;\\n const { host, hostname, pathname, protocol, search } = whatwgURL;\\n if (search) {\\n return null;\\n }\\n const scheme = protocol.slice(0, -1);\\n if (!Object.values(_aws_sdk_types__WEBPACK_IMPORTED_MODULE_0__.EndpointURLScheme).includes(scheme)) {\\n return null;\\n }\\n const isIp = (0,_isIpAddress__WEBPACK_IMPORTED_MODULE_1__.isIpAddress)(hostname);\\n const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) ||\\n (typeof value === \\\"string\\\" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`));\\n const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`;\\n return {\\n scheme,\\n authority,\\n path: pathname,\\n normalizedPath: pathname.endsWith(\\\"/\\\") ? pathname : `${pathname}/`,\\n isIp,\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/parseURL.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/stringEquals.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/stringEquals.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ stringEquals: () => (/* binding */ stringEquals)\\n/* harmony export */ });\\nconst stringEquals = (value1, value2) => value1 === value2;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/stringEquals.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/substring.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/substring.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ substring: () => (/* binding */ substring)\\n/* harmony export */ });\\nconst substring = (input, start, stop, reverse) => {\\n if (start >= stop || input.length < stop) {\\n return null;\\n }\\n if (!reverse) {\\n return input.substring(start, stop);\\n }\\n return input.substring(input.length - stop, input.length - start);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/substring.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/uriEncode.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/uriEncode.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ uriEncode: () => (/* binding */ uriEncode)\\n/* harmony export */ });\\nconst uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/uriEncode.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/resolveEndpoint.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/resolveEndpoint.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ resolveEndpoint: () => (/* binding */ resolveEndpoint)\\n/* harmony export */ });\\n/* harmony import */ var _debug__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./debug */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/debug/index.js\\\");\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js\\\");\\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/index.js\\\");\\n\\n\\n\\nconst resolveEndpoint = (ruleSetObject, options) => {\\n const { endpointParams, logger } = options;\\n const { parameters, rules } = ruleSetObject;\\n options.logger?.debug?.(`${_debug__WEBPACK_IMPORTED_MODULE_0__.debugId} Initial EndpointParams: ${(0,_debug__WEBPACK_IMPORTED_MODULE_0__.toDebugString)(endpointParams)}`);\\n const paramsWithDefault = Object.entries(parameters)\\n .filter(([, v]) => v.default != null)\\n .map(([k, v]) => [k, v.default]);\\n if (paramsWithDefault.length > 0) {\\n for (const [paramKey, paramDefaultValue] of paramsWithDefault) {\\n endpointParams[paramKey] = endpointParams[paramKey] ?? paramDefaultValue;\\n }\\n }\\n const requiredParams = Object.entries(parameters)\\n .filter(([, v]) => v.required)\\n .map(([k]) => k);\\n for (const requiredParam of requiredParams) {\\n if (endpointParams[requiredParam] == null) {\\n throw new _types__WEBPACK_IMPORTED_MODULE_1__.EndpointError(`Missing required parameter: '${requiredParam}'`);\\n }\\n }\\n const endpoint = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.evaluateRules)(rules, { endpointParams, logger, referenceRecord: {} });\\n if (options.endpointParams?.Endpoint) {\\n try {\\n const givenEndpoint = new URL(options.endpointParams.Endpoint);\\n const { protocol, port } = givenEndpoint;\\n endpoint.url.protocol = protocol;\\n endpoint.url.port = port;\\n }\\n catch (e) {\\n }\\n }\\n options.logger?.debug?.(`${_debug__WEBPACK_IMPORTED_MODULE_0__.debugId} Resolved endpoint: ${(0,_debug__WEBPACK_IMPORTED_MODULE_0__.toDebugString)(endpoint)}`);\\n return endpoint;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/resolveEndpoint.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointError.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointError.js ***!\n \\*****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ EndpointError: () => (/* binding */ EndpointError)\\n/* harmony export */ });\\nclass EndpointError extends Error {\\n constructor(message) {\\n super(message);\\n this.name = \\\"EndpointError\\\";\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointError.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointRuleObject.js\":\n/*!**********************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointRuleObject.js ***!\n \\**********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointRuleObject.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/types/ErrorRuleObject.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/types/ErrorRuleObject.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/types/ErrorRuleObject.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/types/RuleSetObject.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/types/RuleSetObject.js ***!\n \\*****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/types/RuleSetObject.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/types/TreeRuleObject.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/types/TreeRuleObject.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/types/TreeRuleObject.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ EndpointError: () => (/* reexport safe */ _EndpointError__WEBPACK_IMPORTED_MODULE_0__.EndpointError)\\n/* harmony export */ });\\n/* harmony import */ var _EndpointError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EndpointError */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointError.js\\\");\\n/* harmony import */ var _EndpointRuleObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EndpointRuleObject */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointRuleObject.js\\\");\\n/* harmony import */ var _ErrorRuleObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ErrorRuleObject */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/ErrorRuleObject.js\\\");\\n/* harmony import */ var _RuleSetObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./RuleSetObject */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/RuleSetObject.js\\\");\\n/* harmony import */ var _TreeRuleObject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TreeRuleObject */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/TreeRuleObject.js\\\");\\n/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./shared */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/shared.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/types/shared.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/types/shared.js ***!\n \\**********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/types/shared.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/callFunction.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/callFunction.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ callFunction: () => (/* binding */ callFunction)\\n/* harmony export */ });\\n/* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lib */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/index.js\\\");\\n/* harmony import */ var _evaluateExpression__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./evaluateExpression */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateExpression.js\\\");\\n\\n\\nconst callFunction = ({ fn, argv }, options) => {\\n const evaluatedArgs = argv.map((arg) => [\\\"boolean\\\", \\\"number\\\"].includes(typeof arg) ? arg : (0,_evaluateExpression__WEBPACK_IMPORTED_MODULE_1__.evaluateExpression)(arg, \\\"arg\\\", options));\\n return fn.split(\\\".\\\").reduce((acc, key) => acc[key], _lib__WEBPACK_IMPORTED_MODULE_0__)(...evaluatedArgs);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/callFunction.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateCondition.js\":\n/*!*********************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateCondition.js ***!\n \\*********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ evaluateCondition: () => (/* binding */ evaluateCondition)\\n/* harmony export */ });\\n/* harmony import */ var _debug__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../debug */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/debug/index.js\\\");\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../types */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js\\\");\\n/* harmony import */ var _callFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./callFunction */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/callFunction.js\\\");\\n\\n\\n\\nconst evaluateCondition = ({ assign, ...fnArgs }, options) => {\\n if (assign && assign in options.referenceRecord) {\\n throw new _types__WEBPACK_IMPORTED_MODULE_1__.EndpointError(`'${assign}' is already defined in Reference Record.`);\\n }\\n const value = (0,_callFunction__WEBPACK_IMPORTED_MODULE_2__.callFunction)(fnArgs, options);\\n options.logger?.debug?.(_debug__WEBPACK_IMPORTED_MODULE_0__.debugId, `evaluateCondition: ${(0,_debug__WEBPACK_IMPORTED_MODULE_0__.toDebugString)(fnArgs)} = ${(0,_debug__WEBPACK_IMPORTED_MODULE_0__.toDebugString)(value)}`);\\n return {\\n result: value === \\\"\\\" ? true : !!value,\\n ...(assign != null && { toAssign: { name: assign, value } }),\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateCondition.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateConditions.js\":\n/*!**********************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateConditions.js ***!\n \\**********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ evaluateConditions: () => (/* binding */ evaluateConditions)\\n/* harmony export */ });\\n/* harmony import */ var _debug__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../debug */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/debug/index.js\\\");\\n/* harmony import */ var _evaluateCondition__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./evaluateCondition */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateCondition.js\\\");\\n\\n\\nconst evaluateConditions = (conditions = [], options) => {\\n const conditionsReferenceRecord = {};\\n for (const condition of conditions) {\\n const { result, toAssign } = (0,_evaluateCondition__WEBPACK_IMPORTED_MODULE_1__.evaluateCondition)(condition, {\\n ...options,\\n referenceRecord: {\\n ...options.referenceRecord,\\n ...conditionsReferenceRecord,\\n },\\n });\\n if (!result) {\\n return { result };\\n }\\n if (toAssign) {\\n conditionsReferenceRecord[toAssign.name] = toAssign.value;\\n options.logger?.debug?.(_debug__WEBPACK_IMPORTED_MODULE_0__.debugId, `assign: ${toAssign.name} := ${(0,_debug__WEBPACK_IMPORTED_MODULE_0__.toDebugString)(toAssign.value)}`);\\n }\\n }\\n return { result: true, referenceRecord: conditionsReferenceRecord };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateConditions.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateEndpointRule.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateEndpointRule.js ***!\n \\************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ evaluateEndpointRule: () => (/* binding */ evaluateEndpointRule)\\n/* harmony export */ });\\n/* harmony import */ var _debug__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../debug */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/debug/index.js\\\");\\n/* harmony import */ var _evaluateConditions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./evaluateConditions */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateConditions.js\\\");\\n/* harmony import */ var _getEndpointHeaders__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getEndpointHeaders */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointHeaders.js\\\");\\n/* harmony import */ var _getEndpointProperties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getEndpointProperties */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointProperties.js\\\");\\n/* harmony import */ var _getEndpointUrl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getEndpointUrl */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointUrl.js\\\");\\n\\n\\n\\n\\n\\nconst evaluateEndpointRule = (endpointRule, options) => {\\n const { conditions, endpoint } = endpointRule;\\n const { result, referenceRecord } = (0,_evaluateConditions__WEBPACK_IMPORTED_MODULE_1__.evaluateConditions)(conditions, options);\\n if (!result) {\\n return;\\n }\\n const endpointRuleOptions = {\\n ...options,\\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\\n };\\n const { url, properties, headers } = endpoint;\\n options.logger?.debug?.(_debug__WEBPACK_IMPORTED_MODULE_0__.debugId, `Resolving endpoint from template: ${(0,_debug__WEBPACK_IMPORTED_MODULE_0__.toDebugString)(endpoint)}`);\\n return {\\n ...(headers != undefined && {\\n headers: (0,_getEndpointHeaders__WEBPACK_IMPORTED_MODULE_2__.getEndpointHeaders)(headers, endpointRuleOptions),\\n }),\\n ...(properties != undefined && {\\n properties: (0,_getEndpointProperties__WEBPACK_IMPORTED_MODULE_3__.getEndpointProperties)(properties, endpointRuleOptions),\\n }),\\n url: (0,_getEndpointUrl__WEBPACK_IMPORTED_MODULE_4__.getEndpointUrl)(url, endpointRuleOptions),\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateEndpointRule.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateErrorRule.js\":\n/*!*********************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateErrorRule.js ***!\n \\*********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ evaluateErrorRule: () => (/* binding */ evaluateErrorRule)\\n/* harmony export */ });\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../types */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js\\\");\\n/* harmony import */ var _evaluateConditions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./evaluateConditions */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateConditions.js\\\");\\n/* harmony import */ var _evaluateExpression__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./evaluateExpression */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateExpression.js\\\");\\n\\n\\n\\nconst evaluateErrorRule = (errorRule, options) => {\\n const { conditions, error } = errorRule;\\n const { result, referenceRecord } = (0,_evaluateConditions__WEBPACK_IMPORTED_MODULE_1__.evaluateConditions)(conditions, options);\\n if (!result) {\\n return;\\n }\\n throw new _types__WEBPACK_IMPORTED_MODULE_0__.EndpointError((0,_evaluateExpression__WEBPACK_IMPORTED_MODULE_2__.evaluateExpression)(error, \\\"Error\\\", {\\n ...options,\\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\\n }));\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateErrorRule.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateExpression.js\":\n/*!**********************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateExpression.js ***!\n \\**********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ evaluateExpression: () => (/* binding */ evaluateExpression)\\n/* harmony export */ });\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../types */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js\\\");\\n/* harmony import */ var _callFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./callFunction */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/callFunction.js\\\");\\n/* harmony import */ var _evaluateTemplate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./evaluateTemplate */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateTemplate.js\\\");\\n/* harmony import */ var _getReferenceValue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getReferenceValue */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getReferenceValue.js\\\");\\n\\n\\n\\n\\nconst evaluateExpression = (obj, keyName, options) => {\\n if (typeof obj === \\\"string\\\") {\\n return (0,_evaluateTemplate__WEBPACK_IMPORTED_MODULE_2__.evaluateTemplate)(obj, options);\\n }\\n else if (obj[\\\"fn\\\"]) {\\n return (0,_callFunction__WEBPACK_IMPORTED_MODULE_1__.callFunction)(obj, options);\\n }\\n else if (obj[\\\"ref\\\"]) {\\n return (0,_getReferenceValue__WEBPACK_IMPORTED_MODULE_3__.getReferenceValue)(obj, options);\\n }\\n throw new _types__WEBPACK_IMPORTED_MODULE_0__.EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateExpression.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateRules.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateRules.js ***!\n \\*****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ evaluateRules: () => (/* binding */ evaluateRules)\\n/* harmony export */ });\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../types */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js\\\");\\n/* harmony import */ var _evaluateEndpointRule__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./evaluateEndpointRule */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateEndpointRule.js\\\");\\n/* harmony import */ var _evaluateErrorRule__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./evaluateErrorRule */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateErrorRule.js\\\");\\n/* harmony import */ var _evaluateTreeRule__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./evaluateTreeRule */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateTreeRule.js\\\");\\n\\n\\n\\n\\nconst evaluateRules = (rules, options) => {\\n for (const rule of rules) {\\n if (rule.type === \\\"endpoint\\\") {\\n const endpointOrUndefined = (0,_evaluateEndpointRule__WEBPACK_IMPORTED_MODULE_1__.evaluateEndpointRule)(rule, options);\\n if (endpointOrUndefined) {\\n return endpointOrUndefined;\\n }\\n }\\n else if (rule.type === \\\"error\\\") {\\n (0,_evaluateErrorRule__WEBPACK_IMPORTED_MODULE_2__.evaluateErrorRule)(rule, options);\\n }\\n else if (rule.type === \\\"tree\\\") {\\n const endpointOrUndefined = (0,_evaluateTreeRule__WEBPACK_IMPORTED_MODULE_3__.evaluateTreeRule)(rule, options);\\n if (endpointOrUndefined) {\\n return endpointOrUndefined;\\n }\\n }\\n else {\\n throw new _types__WEBPACK_IMPORTED_MODULE_0__.EndpointError(`Unknown endpoint rule: ${rule}`);\\n }\\n }\\n throw new _types__WEBPACK_IMPORTED_MODULE_0__.EndpointError(`Rules evaluation failed`);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateRules.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateTemplate.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateTemplate.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ evaluateTemplate: () => (/* binding */ evaluateTemplate)\\n/* harmony export */ });\\n/* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lib */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/index.js\\\");\\n\\nconst evaluateTemplate = (template, options) => {\\n const evaluatedTemplateArr = [];\\n const templateContext = {\\n ...options.endpointParams,\\n ...options.referenceRecord,\\n };\\n let currentIndex = 0;\\n while (currentIndex < template.length) {\\n const openingBraceIndex = template.indexOf(\\\"{\\\", currentIndex);\\n if (openingBraceIndex === -1) {\\n evaluatedTemplateArr.push(template.slice(currentIndex));\\n break;\\n }\\n evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex));\\n const closingBraceIndex = template.indexOf(\\\"}\\\", openingBraceIndex);\\n if (closingBraceIndex === -1) {\\n evaluatedTemplateArr.push(template.slice(openingBraceIndex));\\n break;\\n }\\n if (template[openingBraceIndex + 1] === \\\"{\\\" && template[closingBraceIndex + 1] === \\\"}\\\") {\\n evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex));\\n currentIndex = closingBraceIndex + 2;\\n }\\n const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);\\n if (parameterName.includes(\\\"#\\\")) {\\n const [refName, attrName] = parameterName.split(\\\"#\\\");\\n evaluatedTemplateArr.push((0,_lib__WEBPACK_IMPORTED_MODULE_0__.getAttr)(templateContext[refName], attrName));\\n }\\n else {\\n evaluatedTemplateArr.push(templateContext[parameterName]);\\n }\\n currentIndex = closingBraceIndex + 1;\\n }\\n return evaluatedTemplateArr.join(\\\"\\\");\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateTemplate.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateTreeRule.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateTreeRule.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ evaluateTreeRule: () => (/* binding */ evaluateTreeRule)\\n/* harmony export */ });\\n/* harmony import */ var _evaluateConditions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./evaluateConditions */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateConditions.js\\\");\\n/* harmony import */ var _evaluateRules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./evaluateRules */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateRules.js\\\");\\n\\n\\nconst evaluateTreeRule = (treeRule, options) => {\\n const { conditions, rules } = treeRule;\\n const { result, referenceRecord } = (0,_evaluateConditions__WEBPACK_IMPORTED_MODULE_0__.evaluateConditions)(conditions, options);\\n if (!result) {\\n return;\\n }\\n return (0,_evaluateRules__WEBPACK_IMPORTED_MODULE_1__.evaluateRules)(rules, {\\n ...options,\\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\\n });\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateTreeRule.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointHeaders.js\":\n/*!**********************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointHeaders.js ***!\n \\**********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getEndpointHeaders: () => (/* binding */ getEndpointHeaders)\\n/* harmony export */ });\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../types */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js\\\");\\n/* harmony import */ var _evaluateExpression__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./evaluateExpression */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateExpression.js\\\");\\n\\n\\nconst getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({\\n ...acc,\\n [headerKey]: headerVal.map((headerValEntry) => {\\n const processedExpr = (0,_evaluateExpression__WEBPACK_IMPORTED_MODULE_1__.evaluateExpression)(headerValEntry, \\\"Header value entry\\\", options);\\n if (typeof processedExpr !== \\\"string\\\") {\\n throw new _types__WEBPACK_IMPORTED_MODULE_0__.EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);\\n }\\n return processedExpr;\\n }),\\n}), {});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointHeaders.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointProperties.js\":\n/*!*************************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointProperties.js ***!\n \\*************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getEndpointProperties: () => (/* binding */ getEndpointProperties)\\n/* harmony export */ });\\n/* harmony import */ var _getEndpointProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getEndpointProperty */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointProperty.js\\\");\\n\\nconst getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({\\n ...acc,\\n [propertyKey]: (0,_getEndpointProperty__WEBPACK_IMPORTED_MODULE_0__.getEndpointProperty)(propertyVal, options),\\n}), {});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointProperties.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointProperty.js\":\n/*!***********************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointProperty.js ***!\n \\***********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getEndpointProperty: () => (/* binding */ getEndpointProperty)\\n/* harmony export */ });\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../types */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js\\\");\\n/* harmony import */ var _evaluateTemplate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./evaluateTemplate */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateTemplate.js\\\");\\n/* harmony import */ var _getEndpointProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getEndpointProperties */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointProperties.js\\\");\\n\\n\\n\\nconst getEndpointProperty = (property, options) => {\\n if (Array.isArray(property)) {\\n return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options));\\n }\\n switch (typeof property) {\\n case \\\"string\\\":\\n return (0,_evaluateTemplate__WEBPACK_IMPORTED_MODULE_1__.evaluateTemplate)(property, options);\\n case \\\"object\\\":\\n if (property === null) {\\n throw new _types__WEBPACK_IMPORTED_MODULE_0__.EndpointError(`Unexpected endpoint property: ${property}`);\\n }\\n return (0,_getEndpointProperties__WEBPACK_IMPORTED_MODULE_2__.getEndpointProperties)(property, options);\\n case \\\"boolean\\\":\\n return property;\\n default:\\n throw new _types__WEBPACK_IMPORTED_MODULE_0__.EndpointError(`Unexpected endpoint property type: ${typeof property}`);\\n }\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointProperty.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointUrl.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointUrl.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getEndpointUrl: () => (/* binding */ getEndpointUrl)\\n/* harmony export */ });\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../types */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js\\\");\\n/* harmony import */ var _evaluateExpression__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./evaluateExpression */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateExpression.js\\\");\\n\\n\\nconst getEndpointUrl = (endpointUrl, options) => {\\n const expression = (0,_evaluateExpression__WEBPACK_IMPORTED_MODULE_1__.evaluateExpression)(endpointUrl, \\\"Endpoint URL\\\", options);\\n if (typeof expression === \\\"string\\\") {\\n try {\\n return new URL(expression);\\n }\\n catch (error) {\\n console.error(`Failed to construct URL with ${expression}`, error);\\n throw error;\\n }\\n }\\n throw new _types__WEBPACK_IMPORTED_MODULE_0__.EndpointError(`Endpoint URL must be a string, got ${typeof expression}`);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getEndpointUrl.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getReferenceValue.js\":\n/*!*********************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getReferenceValue.js ***!\n \\*********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getReferenceValue: () => (/* binding */ getReferenceValue)\\n/* harmony export */ });\\nconst getReferenceValue = ({ ref }, options) => {\\n const referenceRecord = {\\n ...options.endpointParams,\\n ...options.referenceRecord,\\n };\\n return referenceRecord[ref];\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/getReferenceValue.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/index.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/utils/index.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ evaluateRules: () => (/* reexport safe */ _evaluateRules__WEBPACK_IMPORTED_MODULE_0__.evaluateRules)\\n/* harmony export */ });\\n/* harmony import */ var _evaluateRules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./evaluateRules */ \\\"./node_modules/@aws-sdk/util-endpoints/dist-es/utils/evaluateRules.js\\\");\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/utils/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-hex-encoding/dist-es/index.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-hex-encoding/dist-es/index.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ fromHex: () => (/* binding */ fromHex),\\n/* harmony export */ toHex: () => (/* binding */ toHex)\\n/* harmony export */ });\\nconst SHORT_TO_HEX = {};\\nconst HEX_TO_SHORT = {};\\nfor (let i = 0; i < 256; i++) {\\n let encodedByte = i.toString(16).toLowerCase();\\n if (encodedByte.length === 1) {\\n encodedByte = `0${encodedByte}`;\\n }\\n SHORT_TO_HEX[i] = encodedByte;\\n HEX_TO_SHORT[encodedByte] = i;\\n}\\nfunction fromHex(encoded) {\\n if (encoded.length % 2 !== 0) {\\n throw new Error(\\\"Hex encoded strings must have an even number length\\\");\\n }\\n const out = new Uint8Array(encoded.length / 2);\\n for (let i = 0; i < encoded.length; i += 2) {\\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\\n if (encodedByte in HEX_TO_SHORT) {\\n out[i / 2] = HEX_TO_SHORT[encodedByte];\\n }\\n else {\\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\\n }\\n }\\n return out;\\n}\\nfunction toHex(bytes) {\\n let out = \\\"\\\";\\n for (let i = 0; i < bytes.byteLength; i++) {\\n out += SHORT_TO_HEX[bytes[i]];\\n }\\n return out;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-hex-encoding/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-locate-window/dist-es/index.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-locate-window/dist-es/index.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ locateWindow: () => (/* binding */ locateWindow)\\n/* harmony export */ });\\nconst fallbackWindow = {};\\nfunction locateWindow() {\\n if (typeof window !== \\\"undefined\\\") {\\n return window;\\n }\\n else if (typeof self !== \\\"undefined\\\") {\\n return self;\\n }\\n return fallbackWindow;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-locate-window/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.js ***!\n \\************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ defaultUserAgent: () => (/* binding */ defaultUserAgent)\\n/* harmony export */ });\\n/* harmony import */ var bowser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! bowser */ \\\"./node_modules/bowser/es5.js\\\");\\n/* harmony import */ var bowser__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(bowser__WEBPACK_IMPORTED_MODULE_0__);\\n\\nconst defaultUserAgent = ({ serviceId, clientVersion }) => async () => {\\n const parsedUA = typeof window !== \\\"undefined\\\" && window?.navigator?.userAgent\\n ? bowser__WEBPACK_IMPORTED_MODULE_0___default().parse(window.navigator.userAgent)\\n : undefined;\\n const sections = [\\n [\\\"aws-sdk-js\\\", clientVersion],\\n [\\\"ua\\\", \\\"2.0\\\"],\\n [`os/${parsedUA?.os?.name || \\\"other\\\"}`, parsedUA?.os?.version],\\n [\\\"lang/js\\\"],\\n [\\\"md/browser\\\", `${parsedUA?.browser?.name ?? \\\"unknown\\\"}_${parsedUA?.browser?.version ?? \\\"unknown\\\"}`],\\n ];\\n if (serviceId) {\\n sections.push([`api/${serviceId}`, clientVersion]);\\n }\\n return sections;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-utf8-browser/dist-es/index.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-utf8-browser/dist-es/index.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ fromUtf8: () => (/* binding */ fromUtf8),\\n/* harmony export */ toUtf8: () => (/* binding */ toUtf8)\\n/* harmony export */ });\\n/* harmony import */ var _pureJs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pureJs */ \\\"./node_modules/@aws-sdk/util-utf8-browser/dist-es/pureJs.js\\\");\\n/* harmony import */ var _whatwgEncodingApi__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./whatwgEncodingApi */ \\\"./node_modules/@aws-sdk/util-utf8-browser/dist-es/whatwgEncodingApi.js\\\");\\n\\n\\nconst fromUtf8 = (input) => typeof TextEncoder === \\\"function\\\" ? (0,_whatwgEncodingApi__WEBPACK_IMPORTED_MODULE_1__.fromUtf8)(input) : (0,_pureJs__WEBPACK_IMPORTED_MODULE_0__.fromUtf8)(input);\\nconst toUtf8 = (input) => typeof TextDecoder === \\\"function\\\" ? (0,_whatwgEncodingApi__WEBPACK_IMPORTED_MODULE_1__.toUtf8)(input) : (0,_pureJs__WEBPACK_IMPORTED_MODULE_0__.toUtf8)(input);\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-utf8-browser/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-utf8-browser/dist-es/pureJs.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-utf8-browser/dist-es/pureJs.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ fromUtf8: () => (/* binding */ fromUtf8),\\n/* harmony export */ toUtf8: () => (/* binding */ toUtf8)\\n/* harmony export */ });\\nconst fromUtf8 = (input) => {\\n const bytes = [];\\n for (let i = 0, len = input.length; i < len; i++) {\\n const value = input.charCodeAt(i);\\n if (value < 0x80) {\\n bytes.push(value);\\n }\\n else if (value < 0x800) {\\n bytes.push((value >> 6) | 0b11000000, (value & 0b111111) | 0b10000000);\\n }\\n else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\\n const surrogatePair = 0x10000 + ((value & 0b1111111111) << 10) + (input.charCodeAt(++i) & 0b1111111111);\\n bytes.push((surrogatePair >> 18) | 0b11110000, ((surrogatePair >> 12) & 0b111111) | 0b10000000, ((surrogatePair >> 6) & 0b111111) | 0b10000000, (surrogatePair & 0b111111) | 0b10000000);\\n }\\n else {\\n bytes.push((value >> 12) | 0b11100000, ((value >> 6) & 0b111111) | 0b10000000, (value & 0b111111) | 0b10000000);\\n }\\n }\\n return Uint8Array.from(bytes);\\n};\\nconst toUtf8 = (input) => {\\n let decoded = \\\"\\\";\\n for (let i = 0, len = input.length; i < len; i++) {\\n const byte = input[i];\\n if (byte < 0x80) {\\n decoded += String.fromCharCode(byte);\\n }\\n else if (0b11000000 <= byte && byte < 0b11100000) {\\n const nextByte = input[++i];\\n decoded += String.fromCharCode(((byte & 0b11111) << 6) | (nextByte & 0b111111));\\n }\\n else if (0b11110000 <= byte && byte < 0b101101101) {\\n const surrogatePair = [byte, input[++i], input[++i], input[++i]];\\n const encoded = \\\"%\\\" + surrogatePair.map((byteValue) => byteValue.toString(16)).join(\\\"%\\\");\\n decoded += decodeURIComponent(encoded);\\n }\\n else {\\n decoded += String.fromCharCode(((byte & 0b1111) << 12) | ((input[++i] & 0b111111) << 6) | (input[++i] & 0b111111));\\n }\\n }\\n return decoded;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-utf8-browser/dist-es/pureJs.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-utf8-browser/dist-es/whatwgEncodingApi.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-utf8-browser/dist-es/whatwgEncodingApi.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ fromUtf8: () => (/* binding */ fromUtf8),\\n/* harmony export */ toUtf8: () => (/* binding */ toUtf8)\\n/* harmony export */ });\\nfunction fromUtf8(input) {\\n return new TextEncoder().encode(input);\\n}\\nfunction toUtf8(input) {\\n return new TextDecoder(\\\"utf-8\\\").decode(input);\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-utf8-browser/dist-es/whatwgEncodingApi.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@protobufjs/aspromise/index.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/@protobufjs/aspromise/index.js ***!\n \\*****************************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\r\\nmodule.exports = asPromise;\\r\\n\\r\\n/**\\r\\n * Callback as used by {@link util.asPromise}.\\r\\n * @typedef asPromiseCallback\\r\\n * @type {function}\\r\\n * @param {Error|null} error Error, if any\\r\\n * @param {...*} params Additional arguments\\r\\n * @returns {undefined}\\r\\n */\\r\\n\\r\\n/**\\r\\n * Returns a promise from a node-style callback function.\\r\\n * @memberof util\\r\\n * @param {asPromiseCallback} fn Function to call\\r\\n * @param {*} ctx Function context\\r\\n * @param {...*} params Function arguments\\r\\n * @returns {Promise<*>} Promisified function\\r\\n */\\r\\nfunction asPromise(fn, ctx/*, varargs */) {\\r\\n var params = new Array(arguments.length - 1),\\r\\n offset = 0,\\r\\n index = 2,\\r\\n pending = true;\\r\\n while (index < arguments.length)\\r\\n params[offset++] = arguments[index++];\\r\\n return new Promise(function executor(resolve, reject) {\\r\\n params[offset] = function callback(err/*, varargs */) {\\r\\n if (pending) {\\r\\n pending = false;\\r\\n if (err)\\r\\n reject(err);\\r\\n else {\\r\\n var params = new Array(arguments.length - 1),\\r\\n offset = 0;\\r\\n while (offset < params.length)\\r\\n params[offset++] = arguments[offset];\\r\\n resolve.apply(null, params);\\r\\n }\\r\\n }\\r\\n };\\r\\n try {\\r\\n fn.apply(ctx || null, params);\\r\\n } catch (err) {\\r\\n if (pending) {\\r\\n pending = false;\\r\\n reject(err);\\r\\n }\\r\\n }\\r\\n });\\r\\n}\\r\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@protobufjs/aspromise/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@protobufjs/base64/index.js\":\n/*!**************************************************!*\\\n !*** ./node_modules/@protobufjs/base64/index.js ***!\n \\**************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\r\\n\\r\\n/**\\r\\n * A minimal base64 implementation for number arrays.\\r\\n * @memberof util\\r\\n * @namespace\\r\\n */\\r\\nvar base64 = exports;\\r\\n\\r\\n/**\\r\\n * Calculates the byte length of a base64 encoded string.\\r\\n * @param {string} string Base64 encoded string\\r\\n * @returns {number} Byte length\\r\\n */\\r\\nbase64.length = function length(string) {\\r\\n var p = string.length;\\r\\n if (!p)\\r\\n return 0;\\r\\n var n = 0;\\r\\n while (--p % 4 > 1 && string.charAt(p) === \\\"=\\\")\\r\\n ++n;\\r\\n return Math.ceil(string.length * 3) / 4 - n;\\r\\n};\\r\\n\\r\\n// Base64 encoding table\\r\\nvar b64 = new Array(64);\\r\\n\\r\\n// Base64 decoding table\\r\\nvar s64 = new Array(123);\\r\\n\\r\\n// 65..90, 97..122, 48..57, 43, 47\\r\\nfor (var i = 0; i < 64;)\\r\\n s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;\\r\\n\\r\\n/**\\r\\n * Encodes a buffer to a base64 encoded string.\\r\\n * @param {Uint8Array} buffer Source buffer\\r\\n * @param {number} start Source start\\r\\n * @param {number} end Source end\\r\\n * @returns {string} Base64 encoded string\\r\\n */\\r\\nbase64.encode = function encode(buffer, start, end) {\\r\\n var parts = null,\\r\\n chunk = [];\\r\\n var i = 0, // output index\\r\\n j = 0, // goto index\\r\\n t; // temporary\\r\\n while (start < end) {\\r\\n var b = buffer[start++];\\r\\n switch (j) {\\r\\n case 0:\\r\\n chunk[i++] = b64[b >> 2];\\r\\n t = (b & 3) << 4;\\r\\n j = 1;\\r\\n break;\\r\\n case 1:\\r\\n chunk[i++] = b64[t | b >> 4];\\r\\n t = (b & 15) << 2;\\r\\n j = 2;\\r\\n break;\\r\\n case 2:\\r\\n chunk[i++] = b64[t | b >> 6];\\r\\n chunk[i++] = b64[b & 63];\\r\\n j = 0;\\r\\n break;\\r\\n }\\r\\n if (i > 8191) {\\r\\n (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));\\r\\n i = 0;\\r\\n }\\r\\n }\\r\\n if (j) {\\r\\n chunk[i++] = b64[t];\\r\\n chunk[i++] = 61;\\r\\n if (j === 1)\\r\\n chunk[i++] = 61;\\r\\n }\\r\\n if (parts) {\\r\\n if (i)\\r\\n parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));\\r\\n return parts.join(\\\"\\\");\\r\\n }\\r\\n return String.fromCharCode.apply(String, chunk.slice(0, i));\\r\\n};\\r\\n\\r\\nvar invalidEncoding = \\\"invalid encoding\\\";\\r\\n\\r\\n/**\\r\\n * Decodes a base64 encoded string to a buffer.\\r\\n * @param {string} string Source string\\r\\n * @param {Uint8Array} buffer Destination buffer\\r\\n * @param {number} offset Destination offset\\r\\n * @returns {number} Number of bytes written\\r\\n * @throws {Error} If encoding is invalid\\r\\n */\\r\\nbase64.decode = function decode(string, buffer, offset) {\\r\\n var start = offset;\\r\\n var j = 0, // goto index\\r\\n t; // temporary\\r\\n for (var i = 0; i < string.length;) {\\r\\n var c = string.charCodeAt(i++);\\r\\n if (c === 61 && j > 1)\\r\\n break;\\r\\n if ((c = s64[c]) === undefined)\\r\\n throw Error(invalidEncoding);\\r\\n switch (j) {\\r\\n case 0:\\r\\n t = c;\\r\\n j = 1;\\r\\n break;\\r\\n case 1:\\r\\n buffer[offset++] = t << 2 | (c & 48) >> 4;\\r\\n t = c;\\r\\n j = 2;\\r\\n break;\\r\\n case 2:\\r\\n buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;\\r\\n t = c;\\r\\n j = 3;\\r\\n break;\\r\\n case 3:\\r\\n buffer[offset++] = (t & 3) << 6 | c;\\r\\n j = 0;\\r\\n break;\\r\\n }\\r\\n }\\r\\n if (j === 1)\\r\\n throw Error(invalidEncoding);\\r\\n return offset - start;\\r\\n};\\r\\n\\r\\n/**\\r\\n * Tests if the specified string appears to be base64 encoded.\\r\\n * @param {string} string String to test\\r\\n * @returns {boolean} `true` if probably base64 encoded, otherwise false\\r\\n */\\r\\nbase64.test = function test(string) {\\r\\n return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);\\r\\n};\\r\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@protobufjs/base64/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@protobufjs/eventemitter/index.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/@protobufjs/eventemitter/index.js ***!\n \\********************************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\r\\nmodule.exports = EventEmitter;\\r\\n\\r\\n/**\\r\\n * Constructs a new event emitter instance.\\r\\n * @classdesc A minimal event emitter.\\r\\n * @memberof util\\r\\n * @constructor\\r\\n */\\r\\nfunction EventEmitter() {\\r\\n\\r\\n /**\\r\\n * Registered listeners.\\r\\n * @type {Object.<string,*>}\\r\\n * @private\\r\\n */\\r\\n this._listeners = {};\\r\\n}\\r\\n\\r\\n/**\\r\\n * Registers an event listener.\\r\\n * @param {string} evt Event name\\r\\n * @param {function} fn Listener\\r\\n * @param {*} [ctx] Listener context\\r\\n * @returns {util.EventEmitter} `this`\\r\\n */\\r\\nEventEmitter.prototype.on = function on(evt, fn, ctx) {\\r\\n (this._listeners[evt] || (this._listeners[evt] = [])).push({\\r\\n fn : fn,\\r\\n ctx : ctx || this\\r\\n });\\r\\n return this;\\r\\n};\\r\\n\\r\\n/**\\r\\n * Removes an event listener or any matching listeners if arguments are omitted.\\r\\n * @param {string} [evt] Event name. Removes all listeners if omitted.\\r\\n * @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.\\r\\n * @returns {util.EventEmitter} `this`\\r\\n */\\r\\nEventEmitter.prototype.off = function off(evt, fn) {\\r\\n if (evt === undefined)\\r\\n this._listeners = {};\\r\\n else {\\r\\n if (fn === undefined)\\r\\n this._listeners[evt] = [];\\r\\n else {\\r\\n var listeners = this._listeners[evt];\\r\\n for (var i = 0; i < listeners.length;)\\r\\n if (listeners[i].fn === fn)\\r\\n listeners.splice(i, 1);\\r\\n else\\r\\n ++i;\\r\\n }\\r\\n }\\r\\n return this;\\r\\n};\\r\\n\\r\\n/**\\r\\n * Emits an event by calling its listeners with the specified arguments.\\r\\n * @param {string} evt Event name\\r\\n * @param {...*} args Arguments\\r\\n * @returns {util.EventEmitter} `this`\\r\\n */\\r\\nEventEmitter.prototype.emit = function emit(evt) {\\r\\n var listeners = this._listeners[evt];\\r\\n if (listeners) {\\r\\n var args = [],\\r\\n i = 1;\\r\\n for (; i < arguments.length;)\\r\\n args.push(arguments[i++]);\\r\\n for (i = 0; i < listeners.length;)\\r\\n listeners[i].fn.apply(listeners[i++].ctx, args);\\r\\n }\\r\\n return this;\\r\\n};\\r\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@protobufjs/eventemitter/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@protobufjs/float/index.js\":\n/*!*************************************************!*\\\n !*** ./node_modules/@protobufjs/float/index.js ***!\n \\*************************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\r\\n\\r\\nmodule.exports = factory(factory);\\r\\n\\r\\n/**\\r\\n * Reads / writes floats / doubles from / to buffers.\\r\\n * @name util.float\\r\\n * @namespace\\r\\n */\\r\\n\\r\\n/**\\r\\n * Writes a 32 bit float to a buffer using little endian byte order.\\r\\n * @name util.float.writeFloatLE\\r\\n * @function\\r\\n * @param {number} val Value to write\\r\\n * @param {Uint8Array} buf Target buffer\\r\\n * @param {number} pos Target buffer offset\\r\\n * @returns {undefined}\\r\\n */\\r\\n\\r\\n/**\\r\\n * Writes a 32 bit float to a buffer using big endian byte order.\\r\\n * @name util.float.writeFloatBE\\r\\n * @function\\r\\n * @param {number} val Value to write\\r\\n * @param {Uint8Array} buf Target buffer\\r\\n * @param {number} pos Target buffer offset\\r\\n * @returns {undefined}\\r\\n */\\r\\n\\r\\n/**\\r\\n * Reads a 32 bit float from a buffer using little endian byte order.\\r\\n * @name util.float.readFloatLE\\r\\n * @function\\r\\n * @param {Uint8Array} buf Source buffer\\r\\n * @param {number} pos Source buffer offset\\r\\n * @returns {number} Value read\\r\\n */\\r\\n\\r\\n/**\\r\\n * Reads a 32 bit float from a buffer using big endian byte order.\\r\\n * @name util.float.readFloatBE\\r\\n * @function\\r\\n * @param {Uint8Array} buf Source buffer\\r\\n * @param {number} pos Source buffer offset\\r\\n * @returns {number} Value read\\r\\n */\\r\\n\\r\\n/**\\r\\n * Writes a 64 bit double to a buffer using little endian byte order.\\r\\n * @name util.float.writeDoubleLE\\r\\n * @function\\r\\n * @param {number} val Value to write\\r\\n * @param {Uint8Array} buf Target buffer\\r\\n * @param {number} pos Target buffer offset\\r\\n * @returns {undefined}\\r\\n */\\r\\n\\r\\n/**\\r\\n * Writes a 64 bit double to a buffer using big endian byte order.\\r\\n * @name util.float.writeDoubleBE\\r\\n * @function\\r\\n * @param {number} val Value to write\\r\\n * @param {Uint8Array} buf Target buffer\\r\\n * @param {number} pos Target buffer offset\\r\\n * @returns {undefined}\\r\\n */\\r\\n\\r\\n/**\\r\\n * Reads a 64 bit double from a buffer using little endian byte order.\\r\\n * @name util.float.readDoubleLE\\r\\n * @function\\r\\n * @param {Uint8Array} buf Source buffer\\r\\n * @param {number} pos Source buffer offset\\r\\n * @returns {number} Value read\\r\\n */\\r\\n\\r\\n/**\\r\\n * Reads a 64 bit double from a buffer using big endian byte order.\\r\\n * @name util.float.readDoubleBE\\r\\n * @function\\r\\n * @param {Uint8Array} buf Source buffer\\r\\n * @param {number} pos Source buffer offset\\r\\n * @returns {number} Value read\\r\\n */\\r\\n\\r\\n// Factory function for the purpose of node-based testing in modified global environments\\r\\nfunction factory(exports) {\\r\\n\\r\\n // float: typed array\\r\\n if (typeof Float32Array !== \\\"undefined\\\") (function() {\\r\\n\\r\\n var f32 = new Float32Array([ -0 ]),\\r\\n f8b = new Uint8Array(f32.buffer),\\r\\n le = f8b[3] === 128;\\r\\n\\r\\n function writeFloat_f32_cpy(val, buf, pos) {\\r\\n f32[0] = val;\\r\\n buf[pos ] = f8b[0];\\r\\n buf[pos + 1] = f8b[1];\\r\\n buf[pos + 2] = f8b[2];\\r\\n buf[pos + 3] = f8b[3];\\r\\n }\\r\\n\\r\\n function writeFloat_f32_rev(val, buf, pos) {\\r\\n f32[0] = val;\\r\\n buf[pos ] = f8b[3];\\r\\n buf[pos + 1] = f8b[2];\\r\\n buf[pos + 2] = f8b[1];\\r\\n buf[pos + 3] = f8b[0];\\r\\n }\\r\\n\\r\\n /* istanbul ignore next */\\r\\n exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;\\r\\n /* istanbul ignore next */\\r\\n exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;\\r\\n\\r\\n function readFloat_f32_cpy(buf, pos) {\\r\\n f8b[0] = buf[pos ];\\r\\n f8b[1] = buf[pos + 1];\\r\\n f8b[2] = buf[pos + 2];\\r\\n f8b[3] = buf[pos + 3];\\r\\n return f32[0];\\r\\n }\\r\\n\\r\\n function readFloat_f32_rev(buf, pos) {\\r\\n f8b[3] = buf[pos ];\\r\\n f8b[2] = buf[pos + 1];\\r\\n f8b[1] = buf[pos + 2];\\r\\n f8b[0] = buf[pos + 3];\\r\\n return f32[0];\\r\\n }\\r\\n\\r\\n /* istanbul ignore next */\\r\\n exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;\\r\\n /* istanbul ignore next */\\r\\n exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;\\r\\n\\r\\n // float: ieee754\\r\\n })(); else (function() {\\r\\n\\r\\n function writeFloat_ieee754(writeUint, val, buf, pos) {\\r\\n var sign = val < 0 ? 1 : 0;\\r\\n if (sign)\\r\\n val = -val;\\r\\n if (val === 0)\\r\\n writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);\\r\\n else if (isNaN(val))\\r\\n writeUint(2143289344, buf, pos);\\r\\n else if (val > 3.4028234663852886e+38) // +-Infinity\\r\\n writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);\\r\\n else if (val < 1.1754943508222875e-38) // denormal\\r\\n writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);\\r\\n else {\\r\\n var exponent = Math.floor(Math.log(val) / Math.LN2),\\r\\n mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;\\r\\n writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);\\r\\n }\\r\\n }\\r\\n\\r\\n exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);\\r\\n exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);\\r\\n\\r\\n function readFloat_ieee754(readUint, buf, pos) {\\r\\n var uint = readUint(buf, pos),\\r\\n sign = (uint >> 31) * 2 + 1,\\r\\n exponent = uint >>> 23 & 255,\\r\\n mantissa = uint & 8388607;\\r\\n return exponent === 255\\r\\n ? mantissa\\r\\n ? NaN\\r\\n : sign * Infinity\\r\\n : exponent === 0 // denormal\\r\\n ? sign * 1.401298464324817e-45 * mantissa\\r\\n : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);\\r\\n }\\r\\n\\r\\n exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);\\r\\n exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);\\r\\n\\r\\n })();\\r\\n\\r\\n // double: typed array\\r\\n if (typeof Float64Array !== \\\"undefined\\\") (function() {\\r\\n\\r\\n var f64 = new Float64Array([-0]),\\r\\n f8b = new Uint8Array(f64.buffer),\\r\\n le = f8b[7] === 128;\\r\\n\\r\\n function writeDouble_f64_cpy(val, buf, pos) {\\r\\n f64[0] = val;\\r\\n buf[pos ] = f8b[0];\\r\\n buf[pos + 1] = f8b[1];\\r\\n buf[pos + 2] = f8b[2];\\r\\n buf[pos + 3] = f8b[3];\\r\\n buf[pos + 4] = f8b[4];\\r\\n buf[pos + 5] = f8b[5];\\r\\n buf[pos + 6] = f8b[6];\\r\\n buf[pos + 7] = f8b[7];\\r\\n }\\r\\n\\r\\n function writeDouble_f64_rev(val, buf, pos) {\\r\\n f64[0] = val;\\r\\n buf[pos ] = f8b[7];\\r\\n buf[pos + 1] = f8b[6];\\r\\n buf[pos + 2] = f8b[5];\\r\\n buf[pos + 3] = f8b[4];\\r\\n buf[pos + 4] = f8b[3];\\r\\n buf[pos + 5] = f8b[2];\\r\\n buf[pos + 6] = f8b[1];\\r\\n buf[pos + 7] = f8b[0];\\r\\n }\\r\\n\\r\\n /* istanbul ignore next */\\r\\n exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;\\r\\n /* istanbul ignore next */\\r\\n exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;\\r\\n\\r\\n function readDouble_f64_cpy(buf, pos) {\\r\\n f8b[0] = buf[pos ];\\r\\n f8b[1] = buf[pos + 1];\\r\\n f8b[2] = buf[pos + 2];\\r\\n f8b[3] = buf[pos + 3];\\r\\n f8b[4] = buf[pos + 4];\\r\\n f8b[5] = buf[pos + 5];\\r\\n f8b[6] = buf[pos + 6];\\r\\n f8b[7] = buf[pos + 7];\\r\\n return f64[0];\\r\\n }\\r\\n\\r\\n function readDouble_f64_rev(buf, pos) {\\r\\n f8b[7] = buf[pos ];\\r\\n f8b[6] = buf[pos + 1];\\r\\n f8b[5] = buf[pos + 2];\\r\\n f8b[4] = buf[pos + 3];\\r\\n f8b[3] = buf[pos + 4];\\r\\n f8b[2] = buf[pos + 5];\\r\\n f8b[1] = buf[pos + 6];\\r\\n f8b[0] = buf[pos + 7];\\r\\n return f64[0];\\r\\n }\\r\\n\\r\\n /* istanbul ignore next */\\r\\n exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;\\r\\n /* istanbul ignore next */\\r\\n exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;\\r\\n\\r\\n // double: ieee754\\r\\n })(); else (function() {\\r\\n\\r\\n function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {\\r\\n var sign = val < 0 ? 1 : 0;\\r\\n if (sign)\\r\\n val = -val;\\r\\n if (val === 0) {\\r\\n writeUint(0, buf, pos + off0);\\r\\n writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);\\r\\n } else if (isNaN(val)) {\\r\\n writeUint(0, buf, pos + off0);\\r\\n writeUint(2146959360, buf, pos + off1);\\r\\n } else if (val > 1.7976931348623157e+308) { // +-Infinity\\r\\n writeUint(0, buf, pos + off0);\\r\\n writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);\\r\\n } else {\\r\\n var mantissa;\\r\\n if (val < 2.2250738585072014e-308) { // denormal\\r\\n mantissa = val / 5e-324;\\r\\n writeUint(mantissa >>> 0, buf, pos + off0);\\r\\n writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);\\r\\n } else {\\r\\n var exponent = Math.floor(Math.log(val) / Math.LN2);\\r\\n if (exponent === 1024)\\r\\n exponent = 1023;\\r\\n mantissa = val * Math.pow(2, -exponent);\\r\\n writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);\\r\\n writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);\\r\\n }\\r\\n }\\r\\n }\\r\\n\\r\\n exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);\\r\\n exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);\\r\\n\\r\\n function readDouble_ieee754(readUint, off0, off1, buf, pos) {\\r\\n var lo = readUint(buf, pos + off0),\\r\\n hi = readUint(buf, pos + off1);\\r\\n var sign = (hi >> 31) * 2 + 1,\\r\\n exponent = hi >>> 20 & 2047,\\r\\n mantissa = 4294967296 * (hi & 1048575) + lo;\\r\\n return exponent === 2047\\r\\n ? mantissa\\r\\n ? NaN\\r\\n : sign * Infinity\\r\\n : exponent === 0 // denormal\\r\\n ? sign * 5e-324 * mantissa\\r\\n : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);\\r\\n }\\r\\n\\r\\n exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);\\r\\n exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);\\r\\n\\r\\n })();\\r\\n\\r\\n return exports;\\r\\n}\\r\\n\\r\\n// uint helpers\\r\\n\\r\\nfunction writeUintLE(val, buf, pos) {\\r\\n buf[pos ] = val & 255;\\r\\n buf[pos + 1] = val >>> 8 & 255;\\r\\n buf[pos + 2] = val >>> 16 & 255;\\r\\n buf[pos + 3] = val >>> 24;\\r\\n}\\r\\n\\r\\nfunction writeUintBE(val, buf, pos) {\\r\\n buf[pos ] = val >>> 24;\\r\\n buf[pos + 1] = val >>> 16 & 255;\\r\\n buf[pos + 2] = val >>> 8 & 255;\\r\\n buf[pos + 3] = val & 255;\\r\\n}\\r\\n\\r\\nfunction readUintLE(buf, pos) {\\r\\n return (buf[pos ]\\r\\n | buf[pos + 1] << 8\\r\\n | buf[pos + 2] << 16\\r\\n | buf[pos + 3] << 24) >>> 0;\\r\\n}\\r\\n\\r\\nfunction readUintBE(buf, pos) {\\r\\n return (buf[pos ] << 24\\r\\n | buf[pos + 1] << 16\\r\\n | buf[pos + 2] << 8\\r\\n | buf[pos + 3]) >>> 0;\\r\\n}\\r\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@protobufjs/float/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@protobufjs/inquire/index.js\":\n/*!***************************************************!*\\\n !*** ./node_modules/@protobufjs/inquire/index.js ***!\n \\***************************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\r\\nmodule.exports = inquire;\\r\\n\\r\\n/**\\r\\n * Requires a module only if available.\\r\\n * @memberof util\\r\\n * @param {string} moduleName Module to require\\r\\n * @returns {?Object} Required module if available and not empty, otherwise `null`\\r\\n */\\r\\nfunction inquire(moduleName) {\\r\\n try {\\r\\n var mod = eval(\\\"quire\\\".replace(/^/,\\\"re\\\"))(moduleName); // eslint-disable-line no-eval\\r\\n if (mod && (mod.length || Object.keys(mod).length))\\r\\n return mod;\\r\\n } catch (e) {} // eslint-disable-line no-empty\\r\\n return null;\\r\\n}\\r\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@protobufjs/inquire/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@protobufjs/pool/index.js\":\n/*!************************************************!*\\\n !*** ./node_modules/@protobufjs/pool/index.js ***!\n \\************************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\r\\nmodule.exports = pool;\\r\\n\\r\\n/**\\r\\n * An allocator as used by {@link util.pool}.\\r\\n * @typedef PoolAllocator\\r\\n * @type {function}\\r\\n * @param {number} size Buffer size\\r\\n * @returns {Uint8Array} Buffer\\r\\n */\\r\\n\\r\\n/**\\r\\n * A slicer as used by {@link util.pool}.\\r\\n * @typedef PoolSlicer\\r\\n * @type {function}\\r\\n * @param {number} start Start offset\\r\\n * @param {number} end End offset\\r\\n * @returns {Uint8Array} Buffer slice\\r\\n * @this {Uint8Array}\\r\\n */\\r\\n\\r\\n/**\\r\\n * A general purpose buffer pool.\\r\\n * @memberof util\\r\\n * @function\\r\\n * @param {PoolAllocator} alloc Allocator\\r\\n * @param {PoolSlicer} slice Slicer\\r\\n * @param {number} [size=8192] Slab size\\r\\n * @returns {PoolAllocator} Pooled allocator\\r\\n */\\r\\nfunction pool(alloc, slice, size) {\\r\\n var SIZE = size || 8192;\\r\\n var MAX = SIZE >>> 1;\\r\\n var slab = null;\\r\\n var offset = SIZE;\\r\\n return function pool_alloc(size) {\\r\\n if (size < 1 || size > MAX)\\r\\n return alloc(size);\\r\\n if (offset + size > SIZE) {\\r\\n slab = alloc(SIZE);\\r\\n offset = 0;\\r\\n }\\r\\n var buf = slice.call(slab, offset, offset += size);\\r\\n if (offset & 7) // align to 32 bit\\r\\n offset = (offset | 7) + 1;\\r\\n return buf;\\r\\n };\\r\\n}\\r\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@protobufjs/pool/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@protobufjs/utf8/index.js\":\n/*!************************************************!*\\\n !*** ./node_modules/@protobufjs/utf8/index.js ***!\n \\************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\r\\n\\r\\n/**\\r\\n * A minimal UTF8 implementation for number arrays.\\r\\n * @memberof util\\r\\n * @namespace\\r\\n */\\r\\nvar utf8 = exports;\\r\\n\\r\\n/**\\r\\n * Calculates the UTF8 byte length of a string.\\r\\n * @param {string} string String\\r\\n * @returns {number} Byte length\\r\\n */\\r\\nutf8.length = function utf8_length(string) {\\r\\n var len = 0,\\r\\n c = 0;\\r\\n for (var i = 0; i < string.length; ++i) {\\r\\n c = string.charCodeAt(i);\\r\\n if (c < 128)\\r\\n len += 1;\\r\\n else if (c < 2048)\\r\\n len += 2;\\r\\n else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {\\r\\n ++i;\\r\\n len += 4;\\r\\n } else\\r\\n len += 3;\\r\\n }\\r\\n return len;\\r\\n};\\r\\n\\r\\n/**\\r\\n * Reads UTF8 bytes as a string.\\r\\n * @param {Uint8Array} buffer Source buffer\\r\\n * @param {number} start Source start\\r\\n * @param {number} end Source end\\r\\n * @returns {string} String read\\r\\n */\\r\\nutf8.read = function utf8_read(buffer, start, end) {\\r\\n var len = end - start;\\r\\n if (len < 1)\\r\\n return \\\"\\\";\\r\\n var parts = null,\\r\\n chunk = [],\\r\\n i = 0, // char offset\\r\\n t; // temporary\\r\\n while (start < end) {\\r\\n t = buffer[start++];\\r\\n if (t < 128)\\r\\n chunk[i++] = t;\\r\\n else if (t > 191 && t < 224)\\r\\n chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;\\r\\n else if (t > 239 && t < 365) {\\r\\n t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;\\r\\n chunk[i++] = 0xD800 + (t >> 10);\\r\\n chunk[i++] = 0xDC00 + (t & 1023);\\r\\n } else\\r\\n chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;\\r\\n if (i > 8191) {\\r\\n (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));\\r\\n i = 0;\\r\\n }\\r\\n }\\r\\n if (parts) {\\r\\n if (i)\\r\\n parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));\\r\\n return parts.join(\\\"\\\");\\r\\n }\\r\\n return String.fromCharCode.apply(String, chunk.slice(0, i));\\r\\n};\\r\\n\\r\\n/**\\r\\n * Writes a string as UTF8 bytes.\\r\\n * @param {string} string Source string\\r\\n * @param {Uint8Array} buffer Destination buffer\\r\\n * @param {number} offset Destination offset\\r\\n * @returns {number} Bytes written\\r\\n */\\r\\nutf8.write = function utf8_write(string, buffer, offset) {\\r\\n var start = offset,\\r\\n c1, // character 1\\r\\n c2; // character 2\\r\\n for (var i = 0; i < string.length; ++i) {\\r\\n c1 = string.charCodeAt(i);\\r\\n if (c1 < 128) {\\r\\n buffer[offset++] = c1;\\r\\n } else if (c1 < 2048) {\\r\\n buffer[offset++] = c1 >> 6 | 192;\\r\\n buffer[offset++] = c1 & 63 | 128;\\r\\n } else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {\\r\\n c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);\\r\\n ++i;\\r\\n buffer[offset++] = c1 >> 18 | 240;\\r\\n buffer[offset++] = c1 >> 12 & 63 | 128;\\r\\n buffer[offset++] = c1 >> 6 & 63 | 128;\\r\\n buffer[offset++] = c1 & 63 | 128;\\r\\n } else {\\r\\n buffer[offset++] = c1 >> 12 | 224;\\r\\n buffer[offset++] = c1 >> 6 & 63 | 128;\\r\\n buffer[offset++] = c1 & 63 | 128;\\r\\n }\\r\\n }\\r\\n return offset - start;\\r\\n};\\r\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@protobufjs/utf8/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js\":\n/*!***************************************************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js ***!\n \\***************************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ CONFIG_USE_DUALSTACK_ENDPOINT: () => (/* binding */ CONFIG_USE_DUALSTACK_ENDPOINT),\\n/* harmony export */ DEFAULT_USE_DUALSTACK_ENDPOINT: () => (/* binding */ DEFAULT_USE_DUALSTACK_ENDPOINT),\\n/* harmony export */ ENV_USE_DUALSTACK_ENDPOINT: () => (/* binding */ ENV_USE_DUALSTACK_ENDPOINT),\\n/* harmony export */ NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS: () => (/* binding */ NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_config_provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-config-provider */ \\\"./node_modules/@smithy/util-config-provider/dist-es/index.js\\\");\\n\\nconst ENV_USE_DUALSTACK_ENDPOINT = \\\"AWS_USE_DUALSTACK_ENDPOINT\\\";\\nconst CONFIG_USE_DUALSTACK_ENDPOINT = \\\"use_dualstack_endpoint\\\";\\nconst DEFAULT_USE_DUALSTACK_ENDPOINT = false;\\nconst NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {\\n environmentVariableSelector: (env) => (0,_smithy_util_config_provider__WEBPACK_IMPORTED_MODULE_0__.booleanSelector)(env, ENV_USE_DUALSTACK_ENDPOINT, _smithy_util_config_provider__WEBPACK_IMPORTED_MODULE_0__.SelectorType.ENV),\\n configFileSelector: (profile) => (0,_smithy_util_config_provider__WEBPACK_IMPORTED_MODULE_0__.booleanSelector)(profile, CONFIG_USE_DUALSTACK_ENDPOINT, _smithy_util_config_provider__WEBPACK_IMPORTED_MODULE_0__.SelectorType.CONFIG),\\n default: false,\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js\":\n/*!**********************************************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js ***!\n \\**********************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ CONFIG_USE_FIPS_ENDPOINT: () => (/* binding */ CONFIG_USE_FIPS_ENDPOINT),\\n/* harmony export */ DEFAULT_USE_FIPS_ENDPOINT: () => (/* binding */ DEFAULT_USE_FIPS_ENDPOINT),\\n/* harmony export */ ENV_USE_FIPS_ENDPOINT: () => (/* binding */ ENV_USE_FIPS_ENDPOINT),\\n/* harmony export */ NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS: () => (/* binding */ NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_config_provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-config-provider */ \\\"./node_modules/@smithy/util-config-provider/dist-es/index.js\\\");\\n\\nconst ENV_USE_FIPS_ENDPOINT = \\\"AWS_USE_FIPS_ENDPOINT\\\";\\nconst CONFIG_USE_FIPS_ENDPOINT = \\\"use_fips_endpoint\\\";\\nconst DEFAULT_USE_FIPS_ENDPOINT = false;\\nconst NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {\\n environmentVariableSelector: (env) => (0,_smithy_util_config_provider__WEBPACK_IMPORTED_MODULE_0__.booleanSelector)(env, ENV_USE_FIPS_ENDPOINT, _smithy_util_config_provider__WEBPACK_IMPORTED_MODULE_0__.SelectorType.ENV),\\n configFileSelector: (profile) => (0,_smithy_util_config_provider__WEBPACK_IMPORTED_MODULE_0__.booleanSelector)(profile, CONFIG_USE_FIPS_ENDPOINT, _smithy_util_config_provider__WEBPACK_IMPORTED_MODULE_0__.SelectorType.CONFIG),\\n default: false,\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/index.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/index.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ CONFIG_USE_DUALSTACK_ENDPOINT: () => (/* reexport safe */ _NodeUseDualstackEndpointConfigOptions__WEBPACK_IMPORTED_MODULE_0__.CONFIG_USE_DUALSTACK_ENDPOINT),\\n/* harmony export */ CONFIG_USE_FIPS_ENDPOINT: () => (/* reexport safe */ _NodeUseFipsEndpointConfigOptions__WEBPACK_IMPORTED_MODULE_1__.CONFIG_USE_FIPS_ENDPOINT),\\n/* harmony export */ DEFAULT_USE_DUALSTACK_ENDPOINT: () => (/* reexport safe */ _NodeUseDualstackEndpointConfigOptions__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_USE_DUALSTACK_ENDPOINT),\\n/* harmony export */ DEFAULT_USE_FIPS_ENDPOINT: () => (/* reexport safe */ _NodeUseFipsEndpointConfigOptions__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_USE_FIPS_ENDPOINT),\\n/* harmony export */ ENV_USE_DUALSTACK_ENDPOINT: () => (/* reexport safe */ _NodeUseDualstackEndpointConfigOptions__WEBPACK_IMPORTED_MODULE_0__.ENV_USE_DUALSTACK_ENDPOINT),\\n/* harmony export */ ENV_USE_FIPS_ENDPOINT: () => (/* reexport safe */ _NodeUseFipsEndpointConfigOptions__WEBPACK_IMPORTED_MODULE_1__.ENV_USE_FIPS_ENDPOINT),\\n/* harmony export */ NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS: () => (/* reexport safe */ _NodeUseDualstackEndpointConfigOptions__WEBPACK_IMPORTED_MODULE_0__.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\\n/* harmony export */ NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS: () => (/* reexport safe */ _NodeUseFipsEndpointConfigOptions__WEBPACK_IMPORTED_MODULE_1__.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\\n/* harmony export */ resolveCustomEndpointsConfig: () => (/* reexport safe */ _resolveCustomEndpointsConfig__WEBPACK_IMPORTED_MODULE_2__.resolveCustomEndpointsConfig),\\n/* harmony export */ resolveEndpointsConfig: () => (/* reexport safe */ _resolveEndpointsConfig__WEBPACK_IMPORTED_MODULE_3__.resolveEndpointsConfig)\\n/* harmony export */ });\\n/* harmony import */ var _NodeUseDualstackEndpointConfigOptions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NodeUseDualstackEndpointConfigOptions */ \\\"./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js\\\");\\n/* harmony import */ var _NodeUseFipsEndpointConfigOptions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./NodeUseFipsEndpointConfigOptions */ \\\"./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js\\\");\\n/* harmony import */ var _resolveCustomEndpointsConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./resolveCustomEndpointsConfig */ \\\"./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveCustomEndpointsConfig.js\\\");\\n/* harmony import */ var _resolveEndpointsConfig__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./resolveEndpointsConfig */ \\\"./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveEndpointsConfig.js\\\");\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveCustomEndpointsConfig.js\":\n/*!******************************************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveCustomEndpointsConfig.js ***!\n \\******************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ resolveCustomEndpointsConfig: () => (/* binding */ resolveCustomEndpointsConfig)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_middleware__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-middleware */ \\\"./node_modules/@smithy/util-middleware/dist-es/index.js\\\");\\n\\nconst resolveCustomEndpointsConfig = (input) => {\\n const { endpoint, urlParser } = input;\\n return {\\n ...input,\\n tls: input.tls ?? true,\\n endpoint: (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_0__.normalizeProvider)(typeof endpoint === \\\"string\\\" ? urlParser(endpoint) : endpoint),\\n isCustomEndpoint: true,\\n useDualstackEndpoint: (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_0__.normalizeProvider)(input.useDualstackEndpoint ?? false),\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveCustomEndpointsConfig.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveEndpointsConfig.js\":\n/*!************************************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveEndpointsConfig.js ***!\n \\************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ resolveEndpointsConfig: () => (/* binding */ resolveEndpointsConfig)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_middleware__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-middleware */ \\\"./node_modules/@smithy/util-middleware/dist-es/index.js\\\");\\n/* harmony import */ var _utils_getEndpointFromRegion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/getEndpointFromRegion */ \\\"./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/utils/getEndpointFromRegion.js\\\");\\n\\n\\nconst resolveEndpointsConfig = (input) => {\\n const useDualstackEndpoint = (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_0__.normalizeProvider)(input.useDualstackEndpoint ?? false);\\n const { endpoint, useFipsEndpoint, urlParser } = input;\\n return {\\n ...input,\\n tls: input.tls ?? true,\\n endpoint: endpoint\\n ? (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_0__.normalizeProvider)(typeof endpoint === \\\"string\\\" ? urlParser(endpoint) : endpoint)\\n : () => (0,_utils_getEndpointFromRegion__WEBPACK_IMPORTED_MODULE_1__.getEndpointFromRegion)({ ...input, useDualstackEndpoint, useFipsEndpoint }),\\n isCustomEndpoint: !!endpoint,\\n useDualstackEndpoint,\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveEndpointsConfig.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/utils/getEndpointFromRegion.js\":\n/*!*****************************************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/utils/getEndpointFromRegion.js ***!\n \\*****************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getEndpointFromRegion: () => (/* binding */ getEndpointFromRegion)\\n/* harmony export */ });\\nconst getEndpointFromRegion = async (input) => {\\n const { tls = true } = input;\\n const region = await input.region();\\n const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);\\n if (!dnsHostRegex.test(region)) {\\n throw new Error(\\\"Invalid region in client config\\\");\\n }\\n const useDualstackEndpoint = await input.useDualstackEndpoint();\\n const useFipsEndpoint = await input.useFipsEndpoint();\\n const { hostname } = (await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint })) ?? {};\\n if (!hostname) {\\n throw new Error(\\\"Cannot resolve hostname from client config\\\");\\n }\\n return input.urlParser(`${tls ? \\\"https:\\\" : \\\"http:\\\"}//${hostname}`);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/utils/getEndpointFromRegion.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/index.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/index.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ CONFIG_USE_DUALSTACK_ENDPOINT: () => (/* reexport safe */ _endpointsConfig__WEBPACK_IMPORTED_MODULE_0__.CONFIG_USE_DUALSTACK_ENDPOINT),\\n/* harmony export */ CONFIG_USE_FIPS_ENDPOINT: () => (/* reexport safe */ _endpointsConfig__WEBPACK_IMPORTED_MODULE_0__.CONFIG_USE_FIPS_ENDPOINT),\\n/* harmony export */ DEFAULT_USE_DUALSTACK_ENDPOINT: () => (/* reexport safe */ _endpointsConfig__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_USE_DUALSTACK_ENDPOINT),\\n/* harmony export */ DEFAULT_USE_FIPS_ENDPOINT: () => (/* reexport safe */ _endpointsConfig__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_USE_FIPS_ENDPOINT),\\n/* harmony export */ ENV_USE_DUALSTACK_ENDPOINT: () => (/* reexport safe */ _endpointsConfig__WEBPACK_IMPORTED_MODULE_0__.ENV_USE_DUALSTACK_ENDPOINT),\\n/* harmony export */ ENV_USE_FIPS_ENDPOINT: () => (/* reexport safe */ _endpointsConfig__WEBPACK_IMPORTED_MODULE_0__.ENV_USE_FIPS_ENDPOINT),\\n/* harmony export */ NODE_REGION_CONFIG_FILE_OPTIONS: () => (/* reexport safe */ _regionConfig__WEBPACK_IMPORTED_MODULE_1__.NODE_REGION_CONFIG_FILE_OPTIONS),\\n/* harmony export */ NODE_REGION_CONFIG_OPTIONS: () => (/* reexport safe */ _regionConfig__WEBPACK_IMPORTED_MODULE_1__.NODE_REGION_CONFIG_OPTIONS),\\n/* harmony export */ NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS: () => (/* reexport safe */ _endpointsConfig__WEBPACK_IMPORTED_MODULE_0__.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\\n/* harmony export */ NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS: () => (/* reexport safe */ _endpointsConfig__WEBPACK_IMPORTED_MODULE_0__.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\\n/* harmony export */ REGION_ENV_NAME: () => (/* reexport safe */ _regionConfig__WEBPACK_IMPORTED_MODULE_1__.REGION_ENV_NAME),\\n/* harmony export */ REGION_INI_NAME: () => (/* reexport safe */ _regionConfig__WEBPACK_IMPORTED_MODULE_1__.REGION_INI_NAME),\\n/* harmony export */ getRegionInfo: () => (/* reexport safe */ _regionInfo__WEBPACK_IMPORTED_MODULE_2__.getRegionInfo),\\n/* harmony export */ resolveCustomEndpointsConfig: () => (/* reexport safe */ _endpointsConfig__WEBPACK_IMPORTED_MODULE_0__.resolveCustomEndpointsConfig),\\n/* harmony export */ resolveEndpointsConfig: () => (/* reexport safe */ _endpointsConfig__WEBPACK_IMPORTED_MODULE_0__.resolveEndpointsConfig),\\n/* harmony export */ resolveRegionConfig: () => (/* reexport safe */ _regionConfig__WEBPACK_IMPORTED_MODULE_1__.resolveRegionConfig)\\n/* harmony export */ });\\n/* harmony import */ var _endpointsConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./endpointsConfig */ \\\"./node_modules/@smithy/config-resolver/dist-es/endpointsConfig/index.js\\\");\\n/* harmony import */ var _regionConfig__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./regionConfig */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionConfig/index.js\\\");\\n/* harmony import */ var _regionInfo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./regionInfo */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionInfo/index.js\\\");\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/regionConfig/config.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/regionConfig/config.js ***!\n \\*****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ NODE_REGION_CONFIG_FILE_OPTIONS: () => (/* binding */ NODE_REGION_CONFIG_FILE_OPTIONS),\\n/* harmony export */ NODE_REGION_CONFIG_OPTIONS: () => (/* binding */ NODE_REGION_CONFIG_OPTIONS),\\n/* harmony export */ REGION_ENV_NAME: () => (/* binding */ REGION_ENV_NAME),\\n/* harmony export */ REGION_INI_NAME: () => (/* binding */ REGION_INI_NAME)\\n/* harmony export */ });\\nconst REGION_ENV_NAME = \\\"AWS_REGION\\\";\\nconst REGION_INI_NAME = \\\"region\\\";\\nconst NODE_REGION_CONFIG_OPTIONS = {\\n environmentVariableSelector: (env) => env[REGION_ENV_NAME],\\n configFileSelector: (profile) => profile[REGION_INI_NAME],\\n default: () => {\\n throw new Error(\\\"Region is missing\\\");\\n },\\n};\\nconst NODE_REGION_CONFIG_FILE_OPTIONS = {\\n preferredFile: \\\"credentials\\\",\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/regionConfig/config.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/regionConfig/getRealRegion.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/regionConfig/getRealRegion.js ***!\n \\************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getRealRegion: () => (/* binding */ getRealRegion)\\n/* harmony export */ });\\n/* harmony import */ var _isFipsRegion__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isFipsRegion */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionConfig/isFipsRegion.js\\\");\\n\\nconst getRealRegion = (region) => (0,_isFipsRegion__WEBPACK_IMPORTED_MODULE_0__.isFipsRegion)(region)\\n ? [\\\"fips-aws-global\\\", \\\"aws-fips\\\"].includes(region)\\n ? \\\"us-east-1\\\"\\n : region.replace(/fips-(dkr-|prod-)?|-fips/, \\\"\\\")\\n : region;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/regionConfig/getRealRegion.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/regionConfig/index.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/regionConfig/index.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ NODE_REGION_CONFIG_FILE_OPTIONS: () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.NODE_REGION_CONFIG_FILE_OPTIONS),\\n/* harmony export */ NODE_REGION_CONFIG_OPTIONS: () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.NODE_REGION_CONFIG_OPTIONS),\\n/* harmony export */ REGION_ENV_NAME: () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.REGION_ENV_NAME),\\n/* harmony export */ REGION_INI_NAME: () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.REGION_INI_NAME),\\n/* harmony export */ resolveRegionConfig: () => (/* reexport safe */ _resolveRegionConfig__WEBPACK_IMPORTED_MODULE_1__.resolveRegionConfig)\\n/* harmony export */ });\\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./config */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionConfig/config.js\\\");\\n/* harmony import */ var _resolveRegionConfig__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./resolveRegionConfig */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js\\\");\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/regionConfig/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/regionConfig/isFipsRegion.js\":\n/*!***********************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/regionConfig/isFipsRegion.js ***!\n \\***********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ isFipsRegion: () => (/* binding */ isFipsRegion)\\n/* harmony export */ });\\nconst isFipsRegion = (region) => typeof region === \\\"string\\\" && (region.startsWith(\\\"fips-\\\") || region.endsWith(\\\"-fips\\\"));\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/regionConfig/isFipsRegion.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js ***!\n \\******************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ resolveRegionConfig: () => (/* binding */ resolveRegionConfig)\\n/* harmony export */ });\\n/* harmony import */ var _getRealRegion__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getRealRegion */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionConfig/getRealRegion.js\\\");\\n/* harmony import */ var _isFipsRegion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isFipsRegion */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionConfig/isFipsRegion.js\\\");\\n\\n\\nconst resolveRegionConfig = (input) => {\\n const { region, useFipsEndpoint } = input;\\n if (!region) {\\n throw new Error(\\\"Region is missing\\\");\\n }\\n return {\\n ...input,\\n region: async () => {\\n if (typeof region === \\\"string\\\") {\\n return (0,_getRealRegion__WEBPACK_IMPORTED_MODULE_0__.getRealRegion)(region);\\n }\\n const providedRegion = await region();\\n return (0,_getRealRegion__WEBPACK_IMPORTED_MODULE_0__.getRealRegion)(providedRegion);\\n },\\n useFipsEndpoint: async () => {\\n const providedRegion = typeof region === \\\"string\\\" ? region : await region();\\n if ((0,_isFipsRegion__WEBPACK_IMPORTED_MODULE_1__.isFipsRegion)(providedRegion)) {\\n return true;\\n }\\n return typeof useFipsEndpoint !== \\\"function\\\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\\n },\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/regionInfo/PartitionHash.js\":\n/*!**********************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/regionInfo/PartitionHash.js ***!\n \\**********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/regionInfo/PartitionHash.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/regionInfo/RegionHash.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/regionInfo/RegionHash.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/regionInfo/RegionHash.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/regionInfo/getHostnameFromVariants.js\":\n/*!********************************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/regionInfo/getHostnameFromVariants.js ***!\n \\********************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getHostnameFromVariants: () => (/* binding */ getHostnameFromVariants)\\n/* harmony export */ });\\nconst getHostnameFromVariants = (variants = [], { useFipsEndpoint, useDualstackEndpoint }) => variants.find(({ tags }) => useFipsEndpoint === tags.includes(\\\"fips\\\") && useDualstackEndpoint === tags.includes(\\\"dualstack\\\"))?.hostname;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/regionInfo/getHostnameFromVariants.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/regionInfo/getRegionInfo.js\":\n/*!**********************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/regionInfo/getRegionInfo.js ***!\n \\**********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getRegionInfo: () => (/* binding */ getRegionInfo)\\n/* harmony export */ });\\n/* harmony import */ var _getHostnameFromVariants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getHostnameFromVariants */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionInfo/getHostnameFromVariants.js\\\");\\n/* harmony import */ var _getResolvedHostname__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getResolvedHostname */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedHostname.js\\\");\\n/* harmony import */ var _getResolvedPartition__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getResolvedPartition */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedPartition.js\\\");\\n/* harmony import */ var _getResolvedSigningRegion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getResolvedSigningRegion */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedSigningRegion.js\\\");\\n\\n\\n\\n\\nconst getRegionInfo = (region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash, }) => {\\n const partition = (0,_getResolvedPartition__WEBPACK_IMPORTED_MODULE_2__.getResolvedPartition)(region, { partitionHash });\\n const resolvedRegion = region in regionHash ? region : partitionHash[partition]?.endpoint ?? region;\\n const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint };\\n const regionHostname = (0,_getHostnameFromVariants__WEBPACK_IMPORTED_MODULE_0__.getHostnameFromVariants)(regionHash[resolvedRegion]?.variants, hostnameOptions);\\n const partitionHostname = (0,_getHostnameFromVariants__WEBPACK_IMPORTED_MODULE_0__.getHostnameFromVariants)(partitionHash[partition]?.variants, hostnameOptions);\\n const hostname = (0,_getResolvedHostname__WEBPACK_IMPORTED_MODULE_1__.getResolvedHostname)(resolvedRegion, { regionHostname, partitionHostname });\\n if (hostname === undefined) {\\n throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`);\\n }\\n const signingRegion = (0,_getResolvedSigningRegion__WEBPACK_IMPORTED_MODULE_3__.getResolvedSigningRegion)(hostname, {\\n signingRegion: regionHash[resolvedRegion]?.signingRegion,\\n regionRegex: partitionHash[partition].regionRegex,\\n useFipsEndpoint,\\n });\\n return {\\n partition,\\n signingService,\\n hostname,\\n ...(signingRegion && { signingRegion }),\\n ...(regionHash[resolvedRegion]?.signingService && {\\n signingService: regionHash[resolvedRegion].signingService,\\n }),\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/regionInfo/getRegionInfo.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedHostname.js\":\n/*!****************************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedHostname.js ***!\n \\****************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getResolvedHostname: () => (/* binding */ getResolvedHostname)\\n/* harmony export */ });\\nconst getResolvedHostname = (resolvedRegion, { regionHostname, partitionHostname }) => regionHostname\\n ? regionHostname\\n : partitionHostname\\n ? partitionHostname.replace(\\\"{region}\\\", resolvedRegion)\\n : undefined;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedHostname.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedPartition.js\":\n/*!*****************************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedPartition.js ***!\n \\*****************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getResolvedPartition: () => (/* binding */ getResolvedPartition)\\n/* harmony export */ });\\nconst getResolvedPartition = (region, { partitionHash }) => Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region)) ?? \\\"aws\\\";\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedPartition.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedSigningRegion.js\":\n/*!*********************************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedSigningRegion.js ***!\n \\*********************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getResolvedSigningRegion: () => (/* binding */ getResolvedSigningRegion)\\n/* harmony export */ });\\nconst getResolvedSigningRegion = (hostname, { signingRegion, regionRegex, useFipsEndpoint }) => {\\n if (signingRegion) {\\n return signingRegion;\\n }\\n else if (useFipsEndpoint) {\\n const regionRegexJs = regionRegex.replace(\\\"\\\\\\\\\\\\\\\\\\\", \\\"\\\\\\\\\\\").replace(/^\\\\^/g, \\\"\\\\\\\\.\\\").replace(/\\\\$$/g, \\\"\\\\\\\\.\\\");\\n const regionRegexmatchArray = hostname.match(regionRegexJs);\\n if (regionRegexmatchArray) {\\n return regionRegexmatchArray[0].slice(1, -1);\\n }\\n }\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedSigningRegion.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/config-resolver/dist-es/regionInfo/index.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/@smithy/config-resolver/dist-es/regionInfo/index.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getRegionInfo: () => (/* reexport safe */ _getRegionInfo__WEBPACK_IMPORTED_MODULE_2__.getRegionInfo)\\n/* harmony export */ });\\n/* harmony import */ var _PartitionHash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PartitionHash */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionInfo/PartitionHash.js\\\");\\n/* harmony import */ var _RegionHash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RegionHash */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionInfo/RegionHash.js\\\");\\n/* harmony import */ var _getRegionInfo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getRegionInfo */ \\\"./node_modules/@smithy/config-resolver/dist-es/regionInfo/getRegionInfo.js\\\");\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/config-resolver/dist-es/regionInfo/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/eventstream-codec/dist-es/EventStreamCodec.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/@smithy/eventstream-codec/dist-es/EventStreamCodec.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ EventStreamCodec: () => (/* binding */ EventStreamCodec)\\n/* harmony export */ });\\n/* harmony import */ var _aws_crypto_crc32__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @aws-crypto/crc32 */ \\\"./node_modules/@aws-crypto/crc32/build/index.js\\\");\\n/* harmony import */ var _HeaderMarshaller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./HeaderMarshaller */ \\\"./node_modules/@smithy/eventstream-codec/dist-es/HeaderMarshaller.js\\\");\\n/* harmony import */ var _splitMessage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./splitMessage */ \\\"./node_modules/@smithy/eventstream-codec/dist-es/splitMessage.js\\\");\\n\\n\\n\\nclass EventStreamCodec {\\n constructor(toUtf8, fromUtf8) {\\n this.headerMarshaller = new _HeaderMarshaller__WEBPACK_IMPORTED_MODULE_1__.HeaderMarshaller(toUtf8, fromUtf8);\\n this.messageBuffer = [];\\n this.isEndOfStream = false;\\n }\\n feed(message) {\\n this.messageBuffer.push(this.decode(message));\\n }\\n endOfStream() {\\n this.isEndOfStream = true;\\n }\\n getMessage() {\\n const message = this.messageBuffer.pop();\\n const isEndOfStream = this.isEndOfStream;\\n return {\\n getMessage() {\\n return message;\\n },\\n isEndOfStream() {\\n return isEndOfStream;\\n },\\n };\\n }\\n getAvailableMessages() {\\n const messages = this.messageBuffer;\\n this.messageBuffer = [];\\n const isEndOfStream = this.isEndOfStream;\\n return {\\n getMessages() {\\n return messages;\\n },\\n isEndOfStream() {\\n return isEndOfStream;\\n },\\n };\\n }\\n encode({ headers: rawHeaders, body }) {\\n const headers = this.headerMarshaller.format(rawHeaders);\\n const length = headers.byteLength + body.byteLength + 16;\\n const out = new Uint8Array(length);\\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\\n const checksum = new _aws_crypto_crc32__WEBPACK_IMPORTED_MODULE_0__.Crc32();\\n view.setUint32(0, length, false);\\n view.setUint32(4, headers.byteLength, false);\\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\\n out.set(headers, 12);\\n out.set(body, headers.byteLength + 12);\\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\\n return out;\\n }\\n decode(message) {\\n const { headers, body } = (0,_splitMessage__WEBPACK_IMPORTED_MODULE_2__.splitMessage)(message);\\n return { headers: this.headerMarshaller.parse(headers), body };\\n }\\n formatHeaders(rawHeaders) {\\n return this.headerMarshaller.format(rawHeaders);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/eventstream-codec/dist-es/EventStreamCodec.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/eventstream-codec/dist-es/HeaderMarshaller.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/@smithy/eventstream-codec/dist-es/HeaderMarshaller.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ HeaderMarshaller: () => (/* binding */ HeaderMarshaller)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-hex-encoding */ \\\"./node_modules/@smithy/util-hex-encoding/dist-es/index.js\\\");\\n/* harmony import */ var _Int64__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Int64 */ \\\"./node_modules/@smithy/eventstream-codec/dist-es/Int64.js\\\");\\n\\n\\nclass HeaderMarshaller {\\n constructor(toUtf8, fromUtf8) {\\n this.toUtf8 = toUtf8;\\n this.fromUtf8 = fromUtf8;\\n }\\n format(headers) {\\n const chunks = [];\\n for (const headerName of Object.keys(headers)) {\\n const bytes = this.fromUtf8(headerName);\\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\\n }\\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\\n let position = 0;\\n for (const chunk of chunks) {\\n out.set(chunk, position);\\n position += chunk.byteLength;\\n }\\n return out;\\n }\\n formatHeaderValue(header) {\\n switch (header.type) {\\n case \\\"boolean\\\":\\n return Uint8Array.from([header.value ? 0 : 1]);\\n case \\\"byte\\\":\\n return Uint8Array.from([2, header.value]);\\n case \\\"short\\\":\\n const shortView = new DataView(new ArrayBuffer(3));\\n shortView.setUint8(0, 3);\\n shortView.setInt16(1, header.value, false);\\n return new Uint8Array(shortView.buffer);\\n case \\\"integer\\\":\\n const intView = new DataView(new ArrayBuffer(5));\\n intView.setUint8(0, 4);\\n intView.setInt32(1, header.value, false);\\n return new Uint8Array(intView.buffer);\\n case \\\"long\\\":\\n const longBytes = new Uint8Array(9);\\n longBytes[0] = 5;\\n longBytes.set(header.value.bytes, 1);\\n return longBytes;\\n case \\\"binary\\\":\\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\\n binView.setUint8(0, 6);\\n binView.setUint16(1, header.value.byteLength, false);\\n const binBytes = new Uint8Array(binView.buffer);\\n binBytes.set(header.value, 3);\\n return binBytes;\\n case \\\"string\\\":\\n const utf8Bytes = this.fromUtf8(header.value);\\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\\n strView.setUint8(0, 7);\\n strView.setUint16(1, utf8Bytes.byteLength, false);\\n const strBytes = new Uint8Array(strView.buffer);\\n strBytes.set(utf8Bytes, 3);\\n return strBytes;\\n case \\\"timestamp\\\":\\n const tsBytes = new Uint8Array(9);\\n tsBytes[0] = 8;\\n tsBytes.set(_Int64__WEBPACK_IMPORTED_MODULE_1__.Int64.fromNumber(header.value.valueOf()).bytes, 1);\\n return tsBytes;\\n case \\\"uuid\\\":\\n if (!UUID_PATTERN.test(header.value)) {\\n throw new Error(`Invalid UUID received: ${header.value}`);\\n }\\n const uuidBytes = new Uint8Array(17);\\n uuidBytes[0] = 9;\\n uuidBytes.set((0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_0__.fromHex)(header.value.replace(/\\\\-/g, \\\"\\\")), 1);\\n return uuidBytes;\\n }\\n }\\n parse(headers) {\\n const out = {};\\n let position = 0;\\n while (position < headers.byteLength) {\\n const nameLength = headers.getUint8(position++);\\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\\n position += nameLength;\\n switch (headers.getUint8(position++)) {\\n case 0:\\n out[name] = {\\n type: BOOLEAN_TAG,\\n value: true,\\n };\\n break;\\n case 1:\\n out[name] = {\\n type: BOOLEAN_TAG,\\n value: false,\\n };\\n break;\\n case 2:\\n out[name] = {\\n type: BYTE_TAG,\\n value: headers.getInt8(position++),\\n };\\n break;\\n case 3:\\n out[name] = {\\n type: SHORT_TAG,\\n value: headers.getInt16(position, false),\\n };\\n position += 2;\\n break;\\n case 4:\\n out[name] = {\\n type: INT_TAG,\\n value: headers.getInt32(position, false),\\n };\\n position += 4;\\n break;\\n case 5:\\n out[name] = {\\n type: LONG_TAG,\\n value: new _Int64__WEBPACK_IMPORTED_MODULE_1__.Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\\n };\\n position += 8;\\n break;\\n case 6:\\n const binaryLength = headers.getUint16(position, false);\\n position += 2;\\n out[name] = {\\n type: BINARY_TAG,\\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\\n };\\n position += binaryLength;\\n break;\\n case 7:\\n const stringLength = headers.getUint16(position, false);\\n position += 2;\\n out[name] = {\\n type: STRING_TAG,\\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\\n };\\n position += stringLength;\\n break;\\n case 8:\\n out[name] = {\\n type: TIMESTAMP_TAG,\\n value: new Date(new _Int64__WEBPACK_IMPORTED_MODULE_1__.Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\\n };\\n position += 8;\\n break;\\n case 9:\\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\\n position += 16;\\n out[name] = {\\n type: UUID_TAG,\\n value: `${(0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_0__.toHex)(uuidBytes.subarray(0, 4))}-${(0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_0__.toHex)(uuidBytes.subarray(4, 6))}-${(0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_0__.toHex)(uuidBytes.subarray(6, 8))}-${(0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_0__.toHex)(uuidBytes.subarray(8, 10))}-${(0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_0__.toHex)(uuidBytes.subarray(10))}`,\\n };\\n break;\\n default:\\n throw new Error(`Unrecognized header type tag`);\\n }\\n }\\n return out;\\n }\\n}\\nvar HEADER_VALUE_TYPE;\\n(function (HEADER_VALUE_TYPE) {\\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\\\"boolTrue\\\"] = 0] = \\\"boolTrue\\\";\\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\\\"boolFalse\\\"] = 1] = \\\"boolFalse\\\";\\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\\\"byte\\\"] = 2] = \\\"byte\\\";\\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\\\"short\\\"] = 3] = \\\"short\\\";\\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\\\"integer\\\"] = 4] = \\\"integer\\\";\\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\\\"long\\\"] = 5] = \\\"long\\\";\\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\\\"byteArray\\\"] = 6] = \\\"byteArray\\\";\\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\\\"string\\\"] = 7] = \\\"string\\\";\\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\\\"timestamp\\\"] = 8] = \\\"timestamp\\\";\\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\\\"uuid\\\"] = 9] = \\\"uuid\\\";\\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\\nconst BOOLEAN_TAG = \\\"boolean\\\";\\nconst BYTE_TAG = \\\"byte\\\";\\nconst SHORT_TAG = \\\"short\\\";\\nconst INT_TAG = \\\"integer\\\";\\nconst LONG_TAG = \\\"long\\\";\\nconst BINARY_TAG = \\\"binary\\\";\\nconst STRING_TAG = \\\"string\\\";\\nconst TIMESTAMP_TAG = \\\"timestamp\\\";\\nconst UUID_TAG = \\\"uuid\\\";\\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/eventstream-codec/dist-es/HeaderMarshaller.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/eventstream-codec/dist-es/Int64.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@smithy/eventstream-codec/dist-es/Int64.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Int64: () => (/* binding */ Int64)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-hex-encoding */ \\\"./node_modules/@smithy/util-hex-encoding/dist-es/index.js\\\");\\n\\nclass Int64 {\\n constructor(bytes) {\\n this.bytes = bytes;\\n if (bytes.byteLength !== 8) {\\n throw new Error(\\\"Int64 buffers must be exactly 8 bytes\\\");\\n }\\n }\\n static fromNumber(number) {\\n if (number > 9223372036854776000 || number < -9223372036854776000) {\\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\\n }\\n const bytes = new Uint8Array(8);\\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\\n bytes[i] = remaining;\\n }\\n if (number < 0) {\\n negate(bytes);\\n }\\n return new Int64(bytes);\\n }\\n valueOf() {\\n const bytes = this.bytes.slice(0);\\n const negative = bytes[0] & 0b10000000;\\n if (negative) {\\n negate(bytes);\\n }\\n return parseInt((0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_0__.toHex)(bytes), 16) * (negative ? -1 : 1);\\n }\\n toString() {\\n return String(this.valueOf());\\n }\\n}\\nfunction negate(bytes) {\\n for (let i = 0; i < 8; i++) {\\n bytes[i] ^= 0xff;\\n }\\n for (let i = 7; i > -1; i--) {\\n bytes[i]++;\\n if (bytes[i] !== 0)\\n break;\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/eventstream-codec/dist-es/Int64.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/eventstream-codec/dist-es/Message.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@smithy/eventstream-codec/dist-es/Message.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/eventstream-codec/dist-es/Message.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/eventstream-codec/dist-es/MessageDecoderStream.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/@smithy/eventstream-codec/dist-es/MessageDecoderStream.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ MessageDecoderStream: () => (/* binding */ MessageDecoderStream)\\n/* harmony export */ });\\nclass MessageDecoderStream {\\n constructor(options) {\\n this.options = options;\\n }\\n [Symbol.asyncIterator]() {\\n return this.asyncIterator();\\n }\\n async *asyncIterator() {\\n for await (const bytes of this.options.inputStream) {\\n const decoded = this.options.decoder.decode(bytes);\\n yield decoded;\\n }\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/eventstream-codec/dist-es/MessageDecoderStream.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/eventstream-codec/dist-es/MessageEncoderStream.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/@smithy/eventstream-codec/dist-es/MessageEncoderStream.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ MessageEncoderStream: () => (/* binding */ MessageEncoderStream)\\n/* harmony export */ });\\nclass MessageEncoderStream {\\n constructor(options) {\\n this.options = options;\\n }\\n [Symbol.asyncIterator]() {\\n return this.asyncIterator();\\n }\\n async *asyncIterator() {\\n for await (const msg of this.options.messageStream) {\\n const encoded = this.options.encoder.encode(msg);\\n yield encoded;\\n }\\n if (this.options.includeEndFrame) {\\n yield new Uint8Array(0);\\n }\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/eventstream-codec/dist-es/MessageEncoderStream.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageDecoderStream.js\":\n/*!**************************************************************************************!*\\\n !*** ./node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageDecoderStream.js ***!\n \\**************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ SmithyMessageDecoderStream: () => (/* binding */ SmithyMessageDecoderStream)\\n/* harmony export */ });\\nclass SmithyMessageDecoderStream {\\n constructor(options) {\\n this.options = options;\\n }\\n [Symbol.asyncIterator]() {\\n return this.asyncIterator();\\n }\\n async *asyncIterator() {\\n for await (const message of this.options.messageStream) {\\n const deserialized = await this.options.deserializer(message);\\n if (deserialized === undefined)\\n continue;\\n yield deserialized;\\n }\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageDecoderStream.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageEncoderStream.js\":\n/*!**************************************************************************************!*\\\n !*** ./node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageEncoderStream.js ***!\n \\**************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ SmithyMessageEncoderStream: () => (/* binding */ SmithyMessageEncoderStream)\\n/* harmony export */ });\\nclass SmithyMessageEncoderStream {\\n constructor(options) {\\n this.options = options;\\n }\\n [Symbol.asyncIterator]() {\\n return this.asyncIterator();\\n }\\n async *asyncIterator() {\\n for await (const chunk of this.options.inputStream) {\\n const payloadBuf = this.options.serializer(chunk);\\n yield payloadBuf;\\n }\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageEncoderStream.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/eventstream-codec/dist-es/index.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@smithy/eventstream-codec/dist-es/index.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ EventStreamCodec: () => (/* reexport safe */ _EventStreamCodec__WEBPACK_IMPORTED_MODULE_0__.EventStreamCodec),\\n/* harmony export */ HeaderMarshaller: () => (/* reexport safe */ _HeaderMarshaller__WEBPACK_IMPORTED_MODULE_1__.HeaderMarshaller),\\n/* harmony export */ Int64: () => (/* reexport safe */ _Int64__WEBPACK_IMPORTED_MODULE_2__.Int64),\\n/* harmony export */ MessageDecoderStream: () => (/* reexport safe */ _MessageDecoderStream__WEBPACK_IMPORTED_MODULE_4__.MessageDecoderStream),\\n/* harmony export */ MessageEncoderStream: () => (/* reexport safe */ _MessageEncoderStream__WEBPACK_IMPORTED_MODULE_5__.MessageEncoderStream),\\n/* harmony export */ SmithyMessageDecoderStream: () => (/* reexport safe */ _SmithyMessageDecoderStream__WEBPACK_IMPORTED_MODULE_6__.SmithyMessageDecoderStream),\\n/* harmony export */ SmithyMessageEncoderStream: () => (/* reexport safe */ _SmithyMessageEncoderStream__WEBPACK_IMPORTED_MODULE_7__.SmithyMessageEncoderStream)\\n/* harmony export */ });\\n/* harmony import */ var _EventStreamCodec__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EventStreamCodec */ \\\"./node_modules/@smithy/eventstream-codec/dist-es/EventStreamCodec.js\\\");\\n/* harmony import */ var _HeaderMarshaller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./HeaderMarshaller */ \\\"./node_modules/@smithy/eventstream-codec/dist-es/HeaderMarshaller.js\\\");\\n/* harmony import */ var _Int64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Int64 */ \\\"./node_modules/@smithy/eventstream-codec/dist-es/Int64.js\\\");\\n/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Message */ \\\"./node_modules/@smithy/eventstream-codec/dist-es/Message.js\\\");\\n/* harmony import */ var _MessageDecoderStream__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./MessageDecoderStream */ \\\"./node_modules/@smithy/eventstream-codec/dist-es/MessageDecoderStream.js\\\");\\n/* harmony import */ var _MessageEncoderStream__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MessageEncoderStream */ \\\"./node_modules/@smithy/eventstream-codec/dist-es/MessageEncoderStream.js\\\");\\n/* harmony import */ var _SmithyMessageDecoderStream__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./SmithyMessageDecoderStream */ \\\"./node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageDecoderStream.js\\\");\\n/* harmony import */ var _SmithyMessageEncoderStream__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./SmithyMessageEncoderStream */ \\\"./node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageEncoderStream.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/eventstream-codec/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/eventstream-codec/dist-es/splitMessage.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/@smithy/eventstream-codec/dist-es/splitMessage.js ***!\n \\************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ splitMessage: () => (/* binding */ splitMessage)\\n/* harmony export */ });\\n/* harmony import */ var _aws_crypto_crc32__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @aws-crypto/crc32 */ \\\"./node_modules/@aws-crypto/crc32/build/index.js\\\");\\n\\nconst PRELUDE_MEMBER_LENGTH = 4;\\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\\nconst CHECKSUM_LENGTH = 4;\\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\\nfunction splitMessage({ byteLength, byteOffset, buffer }) {\\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\\n throw new Error(\\\"Provided message too short to accommodate event stream message overhead\\\");\\n }\\n const view = new DataView(buffer, byteOffset, byteLength);\\n const messageLength = view.getUint32(0, false);\\n if (byteLength !== messageLength) {\\n throw new Error(\\\"Reported message length does not match received message length\\\");\\n }\\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\\n const checksummer = new _aws_crypto_crc32__WEBPACK_IMPORTED_MODULE_0__.Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\\n if (expectedPreludeChecksum !== checksummer.digest()) {\\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);\\n }\\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\\n if (expectedMessageChecksum !== checksummer.digest()) {\\n throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);\\n }\\n return {\\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\\n };\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/eventstream-codec/dist-es/splitMessage.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ FetchHttpHandler: () => (/* binding */ FetchHttpHandler)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/protocol-http */ \\\"./node_modules/@smithy/protocol-http/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_querystring_builder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/querystring-builder */ \\\"./node_modules/@smithy/querystring-builder/dist-es/index.js\\\");\\n/* harmony import */ var _request_timeout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./request-timeout */ \\\"./node_modules/@smithy/fetch-http-handler/dist-es/request-timeout.js\\\");\\n\\n\\n\\nclass FetchHttpHandler {\\n constructor(options) {\\n if (typeof options === \\\"function\\\") {\\n this.configProvider = options().then((opts) => opts || {});\\n }\\n else {\\n this.config = options ?? {};\\n this.configProvider = Promise.resolve(this.config);\\n }\\n }\\n destroy() {\\n }\\n async handle(request, { abortSignal } = {}) {\\n if (!this.config) {\\n this.config = await this.configProvider;\\n }\\n const requestTimeoutInMs = this.config.requestTimeout;\\n if (abortSignal?.aborted) {\\n const abortError = new Error(\\\"Request aborted\\\");\\n abortError.name = \\\"AbortError\\\";\\n return Promise.reject(abortError);\\n }\\n let path = request.path;\\n const queryString = (0,_smithy_querystring_builder__WEBPACK_IMPORTED_MODULE_1__.buildQueryString)(request.query || {});\\n if (queryString) {\\n path += `?${queryString}`;\\n }\\n if (request.fragment) {\\n path += `#${request.fragment}`;\\n }\\n let auth = \\\"\\\";\\n if (request.username != null || request.password != null) {\\n const username = request.username ?? \\\"\\\";\\n const password = request.password ?? \\\"\\\";\\n auth = `${username}:${password}@`;\\n }\\n const { port, method } = request;\\n const url = `${request.protocol}//${auth}${request.hostname}${port ? `:${port}` : \\\"\\\"}${path}`;\\n const body = method === \\\"GET\\\" || method === \\\"HEAD\\\" ? undefined : request.body;\\n const requestOptions = {\\n body,\\n headers: new Headers(request.headers),\\n method: method,\\n };\\n if (typeof AbortController !== \\\"undefined\\\") {\\n requestOptions[\\\"signal\\\"] = abortSignal;\\n }\\n const fetchRequest = new Request(url, requestOptions);\\n const raceOfPromises = [\\n fetch(fetchRequest).then((response) => {\\n const fetchHeaders = response.headers;\\n const transformedHeaders = {};\\n for (const pair of fetchHeaders.entries()) {\\n transformedHeaders[pair[0]] = pair[1];\\n }\\n const hasReadableStream = response.body != undefined;\\n if (!hasReadableStream) {\\n return response.blob().then((body) => ({\\n response: new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpResponse({\\n headers: transformedHeaders,\\n reason: response.statusText,\\n statusCode: response.status,\\n body,\\n }),\\n }));\\n }\\n return {\\n response: new _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpResponse({\\n headers: transformedHeaders,\\n reason: response.statusText,\\n statusCode: response.status,\\n body: response.body,\\n }),\\n };\\n }),\\n (0,_request_timeout__WEBPACK_IMPORTED_MODULE_2__.requestTimeout)(requestTimeoutInMs),\\n ];\\n if (abortSignal) {\\n raceOfPromises.push(new Promise((resolve, reject) => {\\n abortSignal.onabort = () => {\\n const abortError = new Error(\\\"Request aborted\\\");\\n abortError.name = \\\"AbortError\\\";\\n reject(abortError);\\n };\\n }));\\n }\\n return Promise.race(raceOfPromises);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/fetch-http-handler/dist-es/index.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@smithy/fetch-http-handler/dist-es/index.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ FetchHttpHandler: () => (/* reexport safe */ _fetch_http_handler__WEBPACK_IMPORTED_MODULE_0__.FetchHttpHandler),\\n/* harmony export */ streamCollector: () => (/* reexport safe */ _stream_collector__WEBPACK_IMPORTED_MODULE_1__.streamCollector)\\n/* harmony export */ });\\n/* harmony import */ var _fetch_http_handler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fetch-http-handler */ \\\"./node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js\\\");\\n/* harmony import */ var _stream_collector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stream-collector */ \\\"./node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js\\\");\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/fetch-http-handler/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/fetch-http-handler/dist-es/request-timeout.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/@smithy/fetch-http-handler/dist-es/request-timeout.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ requestTimeout: () => (/* binding */ requestTimeout)\\n/* harmony export */ });\\nfunction requestTimeout(timeoutInMs = 0) {\\n return new Promise((resolve, reject) => {\\n if (timeoutInMs) {\\n setTimeout(() => {\\n const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`);\\n timeoutError.name = \\\"TimeoutError\\\";\\n reject(timeoutError);\\n }, timeoutInMs);\\n }\\n });\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/fetch-http-handler/dist-es/request-timeout.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js ***!\n \\*****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ streamCollector: () => (/* binding */ streamCollector)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-base64 */ \\\"./node_modules/@smithy/util-base64/dist-es/index.js\\\");\\n\\nconst streamCollector = (stream) => {\\n if (typeof Blob === \\\"function\\\" && stream instanceof Blob) {\\n return collectBlob(stream);\\n }\\n return collectStream(stream);\\n};\\nasync function collectBlob(blob) {\\n const base64 = await readToBase64(blob);\\n const arrayBuffer = (0,_smithy_util_base64__WEBPACK_IMPORTED_MODULE_0__.fromBase64)(base64);\\n return new Uint8Array(arrayBuffer);\\n}\\nasync function collectStream(stream) {\\n let res = new Uint8Array(0);\\n const reader = stream.getReader();\\n let isDone = false;\\n while (!isDone) {\\n const { done, value } = await reader.read();\\n if (value) {\\n const prior = res;\\n res = new Uint8Array(prior.length + value.length);\\n res.set(prior);\\n res.set(value, prior.length);\\n }\\n isDone = done;\\n }\\n return res;\\n}\\nfunction readToBase64(blob) {\\n return new Promise((resolve, reject) => {\\n const reader = new FileReader();\\n reader.onloadend = () => {\\n if (reader.readyState !== 2) {\\n return reject(new Error(\\\"Reader aborted too early\\\"));\\n }\\n const result = (reader.result ?? \\\"\\\");\\n const commaIndex = result.indexOf(\\\",\\\");\\n const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\\n resolve(result.substring(dataOffset));\\n };\\n reader.onabort = () => reject(new Error(\\\"Read aborted\\\"));\\n reader.onerror = () => reject(reader.error);\\n reader.readAsDataURL(blob);\\n });\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/invalid-dependency/dist-es/index.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@smithy/invalid-dependency/dist-es/index.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ invalidFunction: () => (/* reexport safe */ _invalidFunction__WEBPACK_IMPORTED_MODULE_0__.invalidFunction),\\n/* harmony export */ invalidProvider: () => (/* reexport safe */ _invalidProvider__WEBPACK_IMPORTED_MODULE_1__.invalidProvider)\\n/* harmony export */ });\\n/* harmony import */ var _invalidFunction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invalidFunction */ \\\"./node_modules/@smithy/invalid-dependency/dist-es/invalidFunction.js\\\");\\n/* harmony import */ var _invalidProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./invalidProvider */ \\\"./node_modules/@smithy/invalid-dependency/dist-es/invalidProvider.js\\\");\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/invalid-dependency/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/invalid-dependency/dist-es/invalidFunction.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/@smithy/invalid-dependency/dist-es/invalidFunction.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ invalidFunction: () => (/* binding */ invalidFunction)\\n/* harmony export */ });\\nconst invalidFunction = (message) => () => {\\n throw new Error(message);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/invalid-dependency/dist-es/invalidFunction.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/invalid-dependency/dist-es/invalidProvider.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/@smithy/invalid-dependency/dist-es/invalidProvider.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ invalidProvider: () => (/* binding */ invalidProvider)\\n/* harmony export */ });\\nconst invalidProvider = (message) => () => Promise.reject(message);\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/invalid-dependency/dist-es/invalidProvider.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/is-array-buffer/dist-es/index.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@smithy/is-array-buffer/dist-es/index.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ isArrayBuffer: () => (/* binding */ isArrayBuffer)\\n/* harmony export */ });\\nconst isArrayBuffer = (arg) => (typeof ArrayBuffer === \\\"function\\\" && arg instanceof ArrayBuffer) ||\\n Object.prototype.toString.call(arg) === \\\"[object ArrayBuffer]\\\";\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/is-array-buffer/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-content-length/dist-es/index.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-content-length/dist-es/index.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ contentLengthMiddleware: () => (/* binding */ contentLengthMiddleware),\\n/* harmony export */ contentLengthMiddlewareOptions: () => (/* binding */ contentLengthMiddlewareOptions),\\n/* harmony export */ getContentLengthPlugin: () => (/* binding */ getContentLengthPlugin)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/protocol-http */ \\\"./node_modules/@smithy/protocol-http/dist-es/index.js\\\");\\n\\nconst CONTENT_LENGTH_HEADER = \\\"content-length\\\";\\nfunction contentLengthMiddleware(bodyLengthChecker) {\\n return (next) => async (args) => {\\n const request = args.request;\\n if (_smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest.isInstance(request)) {\\n const { body, headers } = request;\\n if (body &&\\n Object.keys(headers)\\n .map((str) => str.toLowerCase())\\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\\n try {\\n const length = bodyLengthChecker(body);\\n request.headers = {\\n ...request.headers,\\n [CONTENT_LENGTH_HEADER]: String(length),\\n };\\n }\\n catch (error) {\\n }\\n }\\n }\\n return next({\\n ...args,\\n request,\\n });\\n };\\n}\\nconst contentLengthMiddlewareOptions = {\\n step: \\\"build\\\",\\n tags: [\\\"SET_CONTENT_LENGTH\\\", \\\"CONTENT_LENGTH\\\"],\\n name: \\\"contentLengthMiddleware\\\",\\n override: true,\\n};\\nconst getContentLengthPlugin = (options) => ({\\n applyToStack: (clientStack) => {\\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\\n },\\n});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-content-length/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/createConfigValueProvider.js\":\n/*!************************************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/createConfigValueProvider.js ***!\n \\************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ createConfigValueProvider: () => (/* binding */ createConfigValueProvider)\\n/* harmony export */ });\\nconst createConfigValueProvider = (configKey, canonicalEndpointParamKey, config) => {\\n const configProvider = async () => {\\n const configValue = config[configKey] ?? config[canonicalEndpointParamKey];\\n if (typeof configValue === \\\"function\\\") {\\n return configValue();\\n }\\n return configValue;\\n };\\n if (configKey === \\\"endpoint\\\" || canonicalEndpointParamKey === \\\"endpoint\\\") {\\n return async () => {\\n const endpoint = await configProvider();\\n if (endpoint && typeof endpoint === \\\"object\\\") {\\n if (\\\"url\\\" in endpoint) {\\n return endpoint.url.href;\\n }\\n if (\\\"hostname\\\" in endpoint) {\\n const { protocol, hostname, port, path } = endpoint;\\n return `${protocol}//${hostname}${port ? \\\":\\\" + port : \\\"\\\"}${path}`;\\n }\\n }\\n return endpoint;\\n };\\n }\\n return configProvider;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/createConfigValueProvider.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js\":\n/*!**************************************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js ***!\n \\**************************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getEndpointFromInstructions: () => (/* binding */ getEndpointFromInstructions),\\n/* harmony export */ resolveParams: () => (/* binding */ resolveParams)\\n/* harmony export */ });\\n/* harmony import */ var _service_customizations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../service-customizations */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/index.js\\\");\\n/* harmony import */ var _createConfigValueProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createConfigValueProvider */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/createConfigValueProvider.js\\\");\\n\\n\\nconst getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {\\n const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);\\n if (typeof clientConfig.endpointProvider !== \\\"function\\\") {\\n throw new Error(\\\"config.endpointProvider is not set.\\\");\\n }\\n const endpoint = clientConfig.endpointProvider(endpointParams, context);\\n return endpoint;\\n};\\nconst resolveParams = async (commandInput, instructionsSupplier, clientConfig) => {\\n const endpointParams = {};\\n const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {};\\n for (const [name, instruction] of Object.entries(instructions)) {\\n switch (instruction.type) {\\n case \\\"staticContextParams\\\":\\n endpointParams[name] = instruction.value;\\n break;\\n case \\\"contextParams\\\":\\n endpointParams[name] = commandInput[instruction.name];\\n break;\\n case \\\"clientContextParams\\\":\\n case \\\"builtInParams\\\":\\n endpointParams[name] = await (0,_createConfigValueProvider__WEBPACK_IMPORTED_MODULE_1__.createConfigValueProvider)(instruction.name, name, clientConfig)();\\n break;\\n default:\\n throw new Error(\\\"Unrecognized endpoint parameter instruction: \\\" + JSON.stringify(instruction));\\n }\\n }\\n if (Object.keys(instructions).length === 0) {\\n Object.assign(endpointParams, clientConfig);\\n }\\n if (String(clientConfig.serviceId).toLowerCase() === \\\"s3\\\") {\\n await (0,_service_customizations__WEBPACK_IMPORTED_MODULE_0__.resolveParamsForS3)(endpointParams);\\n }\\n return endpointParams;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/index.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/index.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getEndpointFromInstructions: () => (/* reexport safe */ _getEndpointFromInstructions__WEBPACK_IMPORTED_MODULE_0__.getEndpointFromInstructions),\\n/* harmony export */ resolveParams: () => (/* reexport safe */ _getEndpointFromInstructions__WEBPACK_IMPORTED_MODULE_0__.resolveParams),\\n/* harmony export */ toEndpointV1: () => (/* reexport safe */ _toEndpointV1__WEBPACK_IMPORTED_MODULE_1__.toEndpointV1)\\n/* harmony export */ });\\n/* harmony import */ var _getEndpointFromInstructions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getEndpointFromInstructions */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js\\\");\\n/* harmony import */ var _toEndpointV1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toEndpointV1 */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js\\\");\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js\":\n/*!***********************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js ***!\n \\***********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ toEndpointV1: () => (/* binding */ toEndpointV1)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_url_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/url-parser */ \\\"./node_modules/@smithy/url-parser/dist-es/index.js\\\");\\n\\nconst toEndpointV1 = (endpoint) => {\\n if (typeof endpoint === \\\"object\\\") {\\n if (\\\"url\\\" in endpoint) {\\n return (0,_smithy_url_parser__WEBPACK_IMPORTED_MODULE_0__.parseUrl)(endpoint.url);\\n }\\n return endpoint;\\n }\\n return (0,_smithy_url_parser__WEBPACK_IMPORTED_MODULE_0__.parseUrl)(endpoint);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-endpoint/dist-es/endpointMiddleware.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-endpoint/dist-es/endpointMiddleware.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ endpointMiddleware: () => (/* binding */ endpointMiddleware)\\n/* harmony export */ });\\n/* harmony import */ var _adaptors_getEndpointFromInstructions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./adaptors/getEndpointFromInstructions */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js\\\");\\n\\nconst endpointMiddleware = ({ config, instructions, }) => {\\n return (next, context) => async (args) => {\\n const endpoint = await (0,_adaptors_getEndpointFromInstructions__WEBPACK_IMPORTED_MODULE_0__.getEndpointFromInstructions)(args.input, {\\n getEndpointParameterInstructions() {\\n return instructions;\\n },\\n }, { ...config }, context);\\n context.endpointV2 = endpoint;\\n context.authSchemes = endpoint.properties?.authSchemes;\\n const authScheme = context.authSchemes?.[0];\\n if (authScheme) {\\n context[\\\"signing_region\\\"] = authScheme.signingRegion;\\n context[\\\"signing_service\\\"] = authScheme.signingName;\\n }\\n return next({\\n ...args,\\n });\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-endpoint/dist-es/endpointMiddleware.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-endpoint/dist-es/getEndpointPlugin.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-endpoint/dist-es/getEndpointPlugin.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ endpointMiddlewareOptions: () => (/* binding */ endpointMiddlewareOptions),\\n/* harmony export */ getEndpointPlugin: () => (/* binding */ getEndpointPlugin)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-serde */ \\\"./node_modules/@smithy/middleware-serde/dist-es/index.js\\\");\\n/* harmony import */ var _endpointMiddleware__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./endpointMiddleware */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/endpointMiddleware.js\\\");\\n\\n\\nconst endpointMiddlewareOptions = {\\n step: \\\"serialize\\\",\\n tags: [\\\"ENDPOINT_PARAMETERS\\\", \\\"ENDPOINT_V2\\\", \\\"ENDPOINT\\\"],\\n name: \\\"endpointV2Middleware\\\",\\n override: true,\\n relation: \\\"before\\\",\\n toMiddleware: _smithy_middleware_serde__WEBPACK_IMPORTED_MODULE_0__.serializerMiddlewareOption.name,\\n};\\nconst getEndpointPlugin = (config, instructions) => ({\\n applyToStack: (clientStack) => {\\n clientStack.addRelativeTo((0,_endpointMiddleware__WEBPACK_IMPORTED_MODULE_1__.endpointMiddleware)({\\n config,\\n instructions,\\n }), endpointMiddlewareOptions);\\n },\\n});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-endpoint/dist-es/getEndpointPlugin.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-endpoint/dist-es/index.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-endpoint/dist-es/index.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ endpointMiddleware: () => (/* reexport safe */ _endpointMiddleware__WEBPACK_IMPORTED_MODULE_1__.endpointMiddleware),\\n/* harmony export */ endpointMiddlewareOptions: () => (/* reexport safe */ _getEndpointPlugin__WEBPACK_IMPORTED_MODULE_2__.endpointMiddlewareOptions),\\n/* harmony export */ getEndpointFromInstructions: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_0__.getEndpointFromInstructions),\\n/* harmony export */ getEndpointPlugin: () => (/* reexport safe */ _getEndpointPlugin__WEBPACK_IMPORTED_MODULE_2__.getEndpointPlugin),\\n/* harmony export */ resolveEndpointConfig: () => (/* reexport safe */ _resolveEndpointConfig__WEBPACK_IMPORTED_MODULE_3__.resolveEndpointConfig),\\n/* harmony export */ resolveParams: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_0__.resolveParams),\\n/* harmony export */ toEndpointV1: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_0__.toEndpointV1)\\n/* harmony export */ });\\n/* harmony import */ var _adaptors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./adaptors */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/index.js\\\");\\n/* harmony import */ var _endpointMiddleware__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./endpointMiddleware */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/endpointMiddleware.js\\\");\\n/* harmony import */ var _getEndpointPlugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getEndpointPlugin */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/getEndpointPlugin.js\\\");\\n/* harmony import */ var _resolveEndpointConfig__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./resolveEndpointConfig */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointConfig.js\\\");\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./types */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/types.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-endpoint/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointConfig.js\":\n/*!***********************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointConfig.js ***!\n \\***********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ resolveEndpointConfig: () => (/* binding */ resolveEndpointConfig)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_middleware__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-middleware */ \\\"./node_modules/@smithy/util-middleware/dist-es/index.js\\\");\\n/* harmony import */ var _adaptors_toEndpointV1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adaptors/toEndpointV1 */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js\\\");\\n\\n\\nconst resolveEndpointConfig = (input) => {\\n const tls = input.tls ?? true;\\n const { endpoint } = input;\\n const customEndpointProvider = endpoint != null ? async () => (0,_adaptors_toEndpointV1__WEBPACK_IMPORTED_MODULE_1__.toEndpointV1)(await (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_0__.normalizeProvider)(endpoint)()) : undefined;\\n const isCustomEndpoint = !!endpoint;\\n return {\\n ...input,\\n endpoint: customEndpointProvider,\\n tls,\\n isCustomEndpoint,\\n useDualstackEndpoint: (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_0__.normalizeProvider)(input.useDualstackEndpoint ?? false),\\n useFipsEndpoint: (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_0__.normalizeProvider)(input.useFipsEndpoint ?? false),\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointConfig.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/index.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/index.js ***!\n \\******************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ DOT_PATTERN: () => (/* reexport safe */ _s3__WEBPACK_IMPORTED_MODULE_0__.DOT_PATTERN),\\n/* harmony export */ S3_HOSTNAME_PATTERN: () => (/* reexport safe */ _s3__WEBPACK_IMPORTED_MODULE_0__.S3_HOSTNAME_PATTERN),\\n/* harmony export */ isArnBucketName: () => (/* reexport safe */ _s3__WEBPACK_IMPORTED_MODULE_0__.isArnBucketName),\\n/* harmony export */ isDnsCompatibleBucketName: () => (/* reexport safe */ _s3__WEBPACK_IMPORTED_MODULE_0__.isDnsCompatibleBucketName),\\n/* harmony export */ resolveParamsForS3: () => (/* reexport safe */ _s3__WEBPACK_IMPORTED_MODULE_0__.resolveParamsForS3)\\n/* harmony export */ });\\n/* harmony import */ var _s3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./s3 */ \\\"./node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/s3.js\\\");\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/s3.js\":\n/*!***************************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/s3.js ***!\n \\***************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ DOT_PATTERN: () => (/* binding */ DOT_PATTERN),\\n/* harmony export */ S3_HOSTNAME_PATTERN: () => (/* binding */ S3_HOSTNAME_PATTERN),\\n/* harmony export */ isArnBucketName: () => (/* binding */ isArnBucketName),\\n/* harmony export */ isDnsCompatibleBucketName: () => (/* binding */ isDnsCompatibleBucketName),\\n/* harmony export */ resolveParamsForS3: () => (/* binding */ resolveParamsForS3)\\n/* harmony export */ });\\nconst resolveParamsForS3 = async (endpointParams) => {\\n const bucket = endpointParams?.Bucket || \\\"\\\";\\n if (typeof endpointParams.Bucket === \\\"string\\\") {\\n endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent(\\\"#\\\")).replace(/\\\\?/g, encodeURIComponent(\\\"?\\\"));\\n }\\n if (isArnBucketName(bucket)) {\\n if (endpointParams.ForcePathStyle === true) {\\n throw new Error(\\\"Path-style addressing cannot be used with ARN buckets\\\");\\n }\\n }\\n else if (!isDnsCompatibleBucketName(bucket) ||\\n (bucket.indexOf(\\\".\\\") !== -1 && !String(endpointParams.Endpoint).startsWith(\\\"http:\\\")) ||\\n bucket.toLowerCase() !== bucket ||\\n bucket.length < 3) {\\n endpointParams.ForcePathStyle = true;\\n }\\n if (endpointParams.DisableMultiRegionAccessPoints) {\\n endpointParams.disableMultiRegionAccessPoints = true;\\n endpointParams.DisableMRAP = true;\\n }\\n return endpointParams;\\n};\\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\\\.\\\\-]{1,61}[a-z0-9]$/;\\nconst IP_ADDRESS_PATTERN = /(\\\\d+\\\\.){3}\\\\d+/;\\nconst DOTS_PATTERN = /\\\\.\\\\./;\\nconst DOT_PATTERN = /\\\\./;\\nconst S3_HOSTNAME_PATTERN = /^(.+\\\\.)?s3(-fips)?(\\\\.dualstack)?[.-]([a-z0-9-]+)\\\\./;\\nconst isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\\nconst isArnBucketName = (bucketName) => {\\n const [arn, partition, service, region, account, typeOrId] = bucketName.split(\\\":\\\");\\n const isArn = arn === \\\"arn\\\" && bucketName.split(\\\":\\\").length >= 6;\\n const isValidArn = [arn, partition, service, account, typeOrId].filter(Boolean).length === 5;\\n if (isArn && !isValidArn) {\\n throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);\\n }\\n return arn === \\\"arn\\\" && !!partition && !!service && !!account && !!typeOrId;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/s3.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-endpoint/dist-es/types.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-endpoint/dist-es/types.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-endpoint/dist-es/types.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-retry/dist-es/AdaptiveRetryStrategy.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-retry/dist-es/AdaptiveRetryStrategy.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ AdaptiveRetryStrategy: () => (/* binding */ AdaptiveRetryStrategy)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_retry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-retry */ \\\"./node_modules/@smithy/util-retry/dist-es/index.js\\\");\\n/* harmony import */ var _StandardRetryStrategy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./StandardRetryStrategy */ \\\"./node_modules/@smithy/middleware-retry/dist-es/StandardRetryStrategy.js\\\");\\n\\n\\nclass AdaptiveRetryStrategy extends _StandardRetryStrategy__WEBPACK_IMPORTED_MODULE_1__.StandardRetryStrategy {\\n constructor(maxAttemptsProvider, options) {\\n const { rateLimiter, ...superOptions } = options ?? {};\\n super(maxAttemptsProvider, superOptions);\\n this.rateLimiter = rateLimiter ?? new _smithy_util_retry__WEBPACK_IMPORTED_MODULE_0__.DefaultRateLimiter();\\n this.mode = _smithy_util_retry__WEBPACK_IMPORTED_MODULE_0__.RETRY_MODES.ADAPTIVE;\\n }\\n async retry(next, args) {\\n return super.retry(next, args, {\\n beforeRequest: async () => {\\n return this.rateLimiter.getSendToken();\\n },\\n afterRequest: (response) => {\\n this.rateLimiter.updateClientSendingRate(response);\\n },\\n });\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-retry/dist-es/AdaptiveRetryStrategy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-retry/dist-es/StandardRetryStrategy.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-retry/dist-es/StandardRetryStrategy.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ StandardRetryStrategy: () => (/* binding */ StandardRetryStrategy)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/protocol-http */ \\\"./node_modules/@smithy/protocol-http/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_service_error_classification__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/service-error-classification */ \\\"./node_modules/@smithy/service-error-classification/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_retry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/util-retry */ \\\"./node_modules/@smithy/util-retry/dist-es/index.js\\\");\\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uuid */ \\\"./node_modules/uuid/dist/esm-browser/v4.js\\\");\\n/* harmony import */ var _defaultRetryQuota__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./defaultRetryQuota */ \\\"./node_modules/@smithy/middleware-retry/dist-es/defaultRetryQuota.js\\\");\\n/* harmony import */ var _delayDecider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./delayDecider */ \\\"./node_modules/@smithy/middleware-retry/dist-es/delayDecider.js\\\");\\n/* harmony import */ var _retryDecider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./retryDecider */ \\\"./node_modules/@smithy/middleware-retry/dist-es/retryDecider.js\\\");\\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./util */ \\\"./node_modules/@smithy/middleware-retry/dist-es/util.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\nclass StandardRetryStrategy {\\n constructor(maxAttemptsProvider, options) {\\n this.maxAttemptsProvider = maxAttemptsProvider;\\n this.mode = _smithy_util_retry__WEBPACK_IMPORTED_MODULE_2__.RETRY_MODES.STANDARD;\\n this.retryDecider = options?.retryDecider ?? _retryDecider__WEBPACK_IMPORTED_MODULE_5__.defaultRetryDecider;\\n this.delayDecider = options?.delayDecider ?? _delayDecider__WEBPACK_IMPORTED_MODULE_4__.defaultDelayDecider;\\n this.retryQuota = options?.retryQuota ?? (0,_defaultRetryQuota__WEBPACK_IMPORTED_MODULE_3__.getDefaultRetryQuota)(_smithy_util_retry__WEBPACK_IMPORTED_MODULE_2__.INITIAL_RETRY_TOKENS);\\n }\\n shouldRetry(error, attempts, maxAttempts) {\\n return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error);\\n }\\n async getMaxAttempts() {\\n let maxAttempts;\\n try {\\n maxAttempts = await this.maxAttemptsProvider();\\n }\\n catch (error) {\\n maxAttempts = _smithy_util_retry__WEBPACK_IMPORTED_MODULE_2__.DEFAULT_MAX_ATTEMPTS;\\n }\\n return maxAttempts;\\n }\\n async retry(next, args, options) {\\n let retryTokenAmount;\\n let attempts = 0;\\n let totalDelay = 0;\\n const maxAttempts = await this.getMaxAttempts();\\n const { request } = args;\\n if (_smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest.isInstance(request)) {\\n request.headers[_smithy_util_retry__WEBPACK_IMPORTED_MODULE_2__.INVOCATION_ID_HEADER] = (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\\\"default\\\"])();\\n }\\n while (true) {\\n try {\\n if (_smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest.isInstance(request)) {\\n request.headers[_smithy_util_retry__WEBPACK_IMPORTED_MODULE_2__.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\\n }\\n if (options?.beforeRequest) {\\n await options.beforeRequest();\\n }\\n const { response, output } = await next(args);\\n if (options?.afterRequest) {\\n options.afterRequest(response);\\n }\\n this.retryQuota.releaseRetryTokens(retryTokenAmount);\\n output.$metadata.attempts = attempts + 1;\\n output.$metadata.totalRetryDelay = totalDelay;\\n return { response, output };\\n }\\n catch (e) {\\n const err = (0,_util__WEBPACK_IMPORTED_MODULE_6__.asSdkError)(e);\\n attempts++;\\n if (this.shouldRetry(err, attempts, maxAttempts)) {\\n retryTokenAmount = this.retryQuota.retrieveRetryTokens(err);\\n const delayFromDecider = this.delayDecider((0,_smithy_service_error_classification__WEBPACK_IMPORTED_MODULE_1__.isThrottlingError)(err) ? _smithy_util_retry__WEBPACK_IMPORTED_MODULE_2__.THROTTLING_RETRY_DELAY_BASE : _smithy_util_retry__WEBPACK_IMPORTED_MODULE_2__.DEFAULT_RETRY_DELAY_BASE, attempts);\\n const delayFromResponse = getDelayFromRetryAfterHeader(err.$response);\\n const delay = Math.max(delayFromResponse || 0, delayFromDecider);\\n totalDelay += delay;\\n await new Promise((resolve) => setTimeout(resolve, delay));\\n continue;\\n }\\n if (!err.$metadata) {\\n err.$metadata = {};\\n }\\n err.$metadata.attempts = attempts;\\n err.$metadata.totalRetryDelay = totalDelay;\\n throw err;\\n }\\n }\\n }\\n}\\nconst getDelayFromRetryAfterHeader = (response) => {\\n if (!_smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpResponse.isInstance(response))\\n return;\\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \\\"retry-after\\\");\\n if (!retryAfterHeaderName)\\n return;\\n const retryAfter = response.headers[retryAfterHeaderName];\\n const retryAfterSeconds = Number(retryAfter);\\n if (!Number.isNaN(retryAfterSeconds))\\n return retryAfterSeconds * 1000;\\n const retryAfterDate = new Date(retryAfter);\\n return retryAfterDate.getTime() - Date.now();\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-retry/dist-es/StandardRetryStrategy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-retry/dist-es/configurations.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-retry/dist-es/configurations.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ CONFIG_MAX_ATTEMPTS: () => (/* binding */ CONFIG_MAX_ATTEMPTS),\\n/* harmony export */ CONFIG_RETRY_MODE: () => (/* binding */ CONFIG_RETRY_MODE),\\n/* harmony export */ ENV_MAX_ATTEMPTS: () => (/* binding */ ENV_MAX_ATTEMPTS),\\n/* harmony export */ ENV_RETRY_MODE: () => (/* binding */ ENV_RETRY_MODE),\\n/* harmony export */ NODE_MAX_ATTEMPT_CONFIG_OPTIONS: () => (/* binding */ NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\\n/* harmony export */ NODE_RETRY_MODE_CONFIG_OPTIONS: () => (/* binding */ NODE_RETRY_MODE_CONFIG_OPTIONS),\\n/* harmony export */ resolveRetryConfig: () => (/* binding */ resolveRetryConfig)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_middleware__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-middleware */ \\\"./node_modules/@smithy/util-middleware/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_retry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/util-retry */ \\\"./node_modules/@smithy/util-retry/dist-es/index.js\\\");\\n\\n\\nconst ENV_MAX_ATTEMPTS = \\\"AWS_MAX_ATTEMPTS\\\";\\nconst CONFIG_MAX_ATTEMPTS = \\\"max_attempts\\\";\\nconst NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {\\n environmentVariableSelector: (env) => {\\n const value = env[ENV_MAX_ATTEMPTS];\\n if (!value)\\n return undefined;\\n const maxAttempt = parseInt(value);\\n if (Number.isNaN(maxAttempt)) {\\n throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got \\\"${value}\\\"`);\\n }\\n return maxAttempt;\\n },\\n configFileSelector: (profile) => {\\n const value = profile[CONFIG_MAX_ATTEMPTS];\\n if (!value)\\n return undefined;\\n const maxAttempt = parseInt(value);\\n if (Number.isNaN(maxAttempt)) {\\n throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got \\\"${value}\\\"`);\\n }\\n return maxAttempt;\\n },\\n default: _smithy_util_retry__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_MAX_ATTEMPTS,\\n};\\nconst resolveRetryConfig = (input) => {\\n const { retryStrategy } = input;\\n const maxAttempts = (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_0__.normalizeProvider)(input.maxAttempts ?? _smithy_util_retry__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_MAX_ATTEMPTS);\\n return {\\n ...input,\\n maxAttempts,\\n retryStrategy: async () => {\\n if (retryStrategy) {\\n return retryStrategy;\\n }\\n const retryMode = await (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_0__.normalizeProvider)(input.retryMode)();\\n if (retryMode === _smithy_util_retry__WEBPACK_IMPORTED_MODULE_1__.RETRY_MODES.ADAPTIVE) {\\n return new _smithy_util_retry__WEBPACK_IMPORTED_MODULE_1__.AdaptiveRetryStrategy(maxAttempts);\\n }\\n return new _smithy_util_retry__WEBPACK_IMPORTED_MODULE_1__.StandardRetryStrategy(maxAttempts);\\n },\\n };\\n};\\nconst ENV_RETRY_MODE = \\\"AWS_RETRY_MODE\\\";\\nconst CONFIG_RETRY_MODE = \\\"retry_mode\\\";\\nconst NODE_RETRY_MODE_CONFIG_OPTIONS = {\\n environmentVariableSelector: (env) => env[ENV_RETRY_MODE],\\n configFileSelector: (profile) => profile[CONFIG_RETRY_MODE],\\n default: _smithy_util_retry__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_RETRY_MODE,\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-retry/dist-es/configurations.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-retry/dist-es/defaultRetryQuota.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-retry/dist-es/defaultRetryQuota.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getDefaultRetryQuota: () => (/* binding */ getDefaultRetryQuota)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_retry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-retry */ \\\"./node_modules/@smithy/util-retry/dist-es/index.js\\\");\\n\\nconst getDefaultRetryQuota = (initialRetryTokens, options) => {\\n const MAX_CAPACITY = initialRetryTokens;\\n const noRetryIncrement = options?.noRetryIncrement ?? _smithy_util_retry__WEBPACK_IMPORTED_MODULE_0__.NO_RETRY_INCREMENT;\\n const retryCost = options?.retryCost ?? _smithy_util_retry__WEBPACK_IMPORTED_MODULE_0__.RETRY_COST;\\n const timeoutRetryCost = options?.timeoutRetryCost ?? _smithy_util_retry__WEBPACK_IMPORTED_MODULE_0__.TIMEOUT_RETRY_COST;\\n let availableCapacity = initialRetryTokens;\\n const getCapacityAmount = (error) => (error.name === \\\"TimeoutError\\\" ? timeoutRetryCost : retryCost);\\n const hasRetryTokens = (error) => getCapacityAmount(error) <= availableCapacity;\\n const retrieveRetryTokens = (error) => {\\n if (!hasRetryTokens(error)) {\\n throw new Error(\\\"No retry token available\\\");\\n }\\n const capacityAmount = getCapacityAmount(error);\\n availableCapacity -= capacityAmount;\\n return capacityAmount;\\n };\\n const releaseRetryTokens = (capacityReleaseAmount) => {\\n availableCapacity += capacityReleaseAmount ?? noRetryIncrement;\\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\\n };\\n return Object.freeze({\\n hasRetryTokens,\\n retrieveRetryTokens,\\n releaseRetryTokens,\\n });\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-retry/dist-es/defaultRetryQuota.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-retry/dist-es/delayDecider.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-retry/dist-es/delayDecider.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ defaultDelayDecider: () => (/* binding */ defaultDelayDecider)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_retry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-retry */ \\\"./node_modules/@smithy/util-retry/dist-es/index.js\\\");\\n\\nconst defaultDelayDecider = (delayBase, attempts) => Math.floor(Math.min(_smithy_util_retry__WEBPACK_IMPORTED_MODULE_0__.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-retry/dist-es/delayDecider.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-retry/dist-es/index.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-retry/dist-es/index.js ***!\n \\****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ AdaptiveRetryStrategy: () => (/* reexport safe */ _AdaptiveRetryStrategy__WEBPACK_IMPORTED_MODULE_0__.AdaptiveRetryStrategy),\\n/* harmony export */ CONFIG_MAX_ATTEMPTS: () => (/* reexport safe */ _configurations__WEBPACK_IMPORTED_MODULE_2__.CONFIG_MAX_ATTEMPTS),\\n/* harmony export */ CONFIG_RETRY_MODE: () => (/* reexport safe */ _configurations__WEBPACK_IMPORTED_MODULE_2__.CONFIG_RETRY_MODE),\\n/* harmony export */ ENV_MAX_ATTEMPTS: () => (/* reexport safe */ _configurations__WEBPACK_IMPORTED_MODULE_2__.ENV_MAX_ATTEMPTS),\\n/* harmony export */ ENV_RETRY_MODE: () => (/* reexport safe */ _configurations__WEBPACK_IMPORTED_MODULE_2__.ENV_RETRY_MODE),\\n/* harmony export */ NODE_MAX_ATTEMPT_CONFIG_OPTIONS: () => (/* reexport safe */ _configurations__WEBPACK_IMPORTED_MODULE_2__.NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\\n/* harmony export */ NODE_RETRY_MODE_CONFIG_OPTIONS: () => (/* reexport safe */ _configurations__WEBPACK_IMPORTED_MODULE_2__.NODE_RETRY_MODE_CONFIG_OPTIONS),\\n/* harmony export */ StandardRetryStrategy: () => (/* reexport safe */ _StandardRetryStrategy__WEBPACK_IMPORTED_MODULE_1__.StandardRetryStrategy),\\n/* harmony export */ defaultDelayDecider: () => (/* reexport safe */ _delayDecider__WEBPACK_IMPORTED_MODULE_3__.defaultDelayDecider),\\n/* harmony export */ defaultRetryDecider: () => (/* reexport safe */ _retryDecider__WEBPACK_IMPORTED_MODULE_5__.defaultRetryDecider),\\n/* harmony export */ getOmitRetryHeadersPlugin: () => (/* reexport safe */ _omitRetryHeadersMiddleware__WEBPACK_IMPORTED_MODULE_4__.getOmitRetryHeadersPlugin),\\n/* harmony export */ getRetryAfterHint: () => (/* reexport safe */ _retryMiddleware__WEBPACK_IMPORTED_MODULE_6__.getRetryAfterHint),\\n/* harmony export */ getRetryPlugin: () => (/* reexport safe */ _retryMiddleware__WEBPACK_IMPORTED_MODULE_6__.getRetryPlugin),\\n/* harmony export */ omitRetryHeadersMiddleware: () => (/* reexport safe */ _omitRetryHeadersMiddleware__WEBPACK_IMPORTED_MODULE_4__.omitRetryHeadersMiddleware),\\n/* harmony export */ omitRetryHeadersMiddlewareOptions: () => (/* reexport safe */ _omitRetryHeadersMiddleware__WEBPACK_IMPORTED_MODULE_4__.omitRetryHeadersMiddlewareOptions),\\n/* harmony export */ resolveRetryConfig: () => (/* reexport safe */ _configurations__WEBPACK_IMPORTED_MODULE_2__.resolveRetryConfig),\\n/* harmony export */ retryMiddleware: () => (/* reexport safe */ _retryMiddleware__WEBPACK_IMPORTED_MODULE_6__.retryMiddleware),\\n/* harmony export */ retryMiddlewareOptions: () => (/* reexport safe */ _retryMiddleware__WEBPACK_IMPORTED_MODULE_6__.retryMiddlewareOptions)\\n/* harmony export */ });\\n/* harmony import */ var _AdaptiveRetryStrategy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AdaptiveRetryStrategy */ \\\"./node_modules/@smithy/middleware-retry/dist-es/AdaptiveRetryStrategy.js\\\");\\n/* harmony import */ var _StandardRetryStrategy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./StandardRetryStrategy */ \\\"./node_modules/@smithy/middleware-retry/dist-es/StandardRetryStrategy.js\\\");\\n/* harmony import */ var _configurations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./configurations */ \\\"./node_modules/@smithy/middleware-retry/dist-es/configurations.js\\\");\\n/* harmony import */ var _delayDecider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./delayDecider */ \\\"./node_modules/@smithy/middleware-retry/dist-es/delayDecider.js\\\");\\n/* harmony import */ var _omitRetryHeadersMiddleware__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./omitRetryHeadersMiddleware */ \\\"./node_modules/@smithy/middleware-retry/dist-es/omitRetryHeadersMiddleware.js\\\");\\n/* harmony import */ var _retryDecider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./retryDecider */ \\\"./node_modules/@smithy/middleware-retry/dist-es/retryDecider.js\\\");\\n/* harmony import */ var _retryMiddleware__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./retryMiddleware */ \\\"./node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-retry/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-retry/dist-es/omitRetryHeadersMiddleware.js\":\n/*!*************************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-retry/dist-es/omitRetryHeadersMiddleware.js ***!\n \\*************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getOmitRetryHeadersPlugin: () => (/* binding */ getOmitRetryHeadersPlugin),\\n/* harmony export */ omitRetryHeadersMiddleware: () => (/* binding */ omitRetryHeadersMiddleware),\\n/* harmony export */ omitRetryHeadersMiddlewareOptions: () => (/* binding */ omitRetryHeadersMiddlewareOptions)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/protocol-http */ \\\"./node_modules/@smithy/protocol-http/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_retry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/util-retry */ \\\"./node_modules/@smithy/util-retry/dist-es/index.js\\\");\\n\\n\\nconst omitRetryHeadersMiddleware = () => (next) => async (args) => {\\n const { request } = args;\\n if (_smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest.isInstance(request)) {\\n delete request.headers[_smithy_util_retry__WEBPACK_IMPORTED_MODULE_1__.INVOCATION_ID_HEADER];\\n delete request.headers[_smithy_util_retry__WEBPACK_IMPORTED_MODULE_1__.REQUEST_HEADER];\\n }\\n return next(args);\\n};\\nconst omitRetryHeadersMiddlewareOptions = {\\n name: \\\"omitRetryHeadersMiddleware\\\",\\n tags: [\\\"RETRY\\\", \\\"HEADERS\\\", \\\"OMIT_RETRY_HEADERS\\\"],\\n relation: \\\"before\\\",\\n toMiddleware: \\\"awsAuthMiddleware\\\",\\n override: true,\\n};\\nconst getOmitRetryHeadersPlugin = (options) => ({\\n applyToStack: (clientStack) => {\\n clientStack.addRelativeTo(omitRetryHeadersMiddleware(), omitRetryHeadersMiddlewareOptions);\\n },\\n});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-retry/dist-es/omitRetryHeadersMiddleware.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-retry/dist-es/retryDecider.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-retry/dist-es/retryDecider.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ defaultRetryDecider: () => (/* binding */ defaultRetryDecider)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_service_error_classification__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/service-error-classification */ \\\"./node_modules/@smithy/service-error-classification/dist-es/index.js\\\");\\n\\nconst defaultRetryDecider = (error) => {\\n if (!error) {\\n return false;\\n }\\n return (0,_smithy_service_error_classification__WEBPACK_IMPORTED_MODULE_0__.isRetryableByTrait)(error) || (0,_smithy_service_error_classification__WEBPACK_IMPORTED_MODULE_0__.isClockSkewError)(error) || (0,_smithy_service_error_classification__WEBPACK_IMPORTED_MODULE_0__.isThrottlingError)(error) || (0,_smithy_service_error_classification__WEBPACK_IMPORTED_MODULE_0__.isTransientError)(error);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-retry/dist-es/retryDecider.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getRetryAfterHint: () => (/* binding */ getRetryAfterHint),\\n/* harmony export */ getRetryPlugin: () => (/* binding */ getRetryPlugin),\\n/* harmony export */ retryMiddleware: () => (/* binding */ retryMiddleware),\\n/* harmony export */ retryMiddlewareOptions: () => (/* binding */ retryMiddlewareOptions)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/protocol-http */ \\\"./node_modules/@smithy/protocol-http/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_service_error_classification__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/service-error-classification */ \\\"./node_modules/@smithy/service-error-classification/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_retry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/util-retry */ \\\"./node_modules/@smithy/util-retry/dist-es/index.js\\\");\\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! uuid */ \\\"./node_modules/uuid/dist/esm-browser/v4.js\\\");\\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util */ \\\"./node_modules/@smithy/middleware-retry/dist-es/util.js\\\");\\n\\n\\n\\n\\n\\nconst retryMiddleware = (options) => (next, context) => async (args) => {\\n let retryStrategy = await options.retryStrategy();\\n const maxAttempts = await options.maxAttempts();\\n if (isRetryStrategyV2(retryStrategy)) {\\n retryStrategy = retryStrategy;\\n let retryToken = await retryStrategy.acquireInitialRetryToken(context[\\\"partition_id\\\"]);\\n let lastError = new Error();\\n let attempts = 0;\\n let totalRetryDelay = 0;\\n const { request } = args;\\n if (_smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest.isInstance(request)) {\\n request.headers[_smithy_util_retry__WEBPACK_IMPORTED_MODULE_2__.INVOCATION_ID_HEADER] = (0,uuid__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"])();\\n }\\n while (true) {\\n try {\\n if (_smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpRequest.isInstance(request)) {\\n request.headers[_smithy_util_retry__WEBPACK_IMPORTED_MODULE_2__.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\\n }\\n const { response, output } = await next(args);\\n retryStrategy.recordSuccess(retryToken);\\n output.$metadata.attempts = attempts + 1;\\n output.$metadata.totalRetryDelay = totalRetryDelay;\\n return { response, output };\\n }\\n catch (e) {\\n const retryErrorInfo = getRetryErrorInfo(e);\\n lastError = (0,_util__WEBPACK_IMPORTED_MODULE_3__.asSdkError)(e);\\n try {\\n retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);\\n }\\n catch (refreshError) {\\n if (!lastError.$metadata) {\\n lastError.$metadata = {};\\n }\\n lastError.$metadata.attempts = attempts + 1;\\n lastError.$metadata.totalRetryDelay = totalRetryDelay;\\n throw lastError;\\n }\\n attempts = retryToken.getRetryCount();\\n const delay = retryToken.getRetryDelay();\\n totalRetryDelay += delay;\\n await new Promise((resolve) => setTimeout(resolve, delay));\\n }\\n }\\n }\\n else {\\n retryStrategy = retryStrategy;\\n if (retryStrategy?.mode)\\n context.userAgent = [...(context.userAgent || []), [\\\"cfg/retry-mode\\\", retryStrategy.mode]];\\n return retryStrategy.retry(next, args);\\n }\\n};\\nconst isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== \\\"undefined\\\" &&\\n typeof retryStrategy.refreshRetryTokenForRetry !== \\\"undefined\\\" &&\\n typeof retryStrategy.recordSuccess !== \\\"undefined\\\";\\nconst getRetryErrorInfo = (error) => {\\n const errorInfo = {\\n errorType: getRetryErrorType(error),\\n };\\n const retryAfterHint = getRetryAfterHint(error.$response);\\n if (retryAfterHint) {\\n errorInfo.retryAfterHint = retryAfterHint;\\n }\\n return errorInfo;\\n};\\nconst getRetryErrorType = (error) => {\\n if ((0,_smithy_service_error_classification__WEBPACK_IMPORTED_MODULE_1__.isThrottlingError)(error))\\n return \\\"THROTTLING\\\";\\n if ((0,_smithy_service_error_classification__WEBPACK_IMPORTED_MODULE_1__.isTransientError)(error))\\n return \\\"TRANSIENT\\\";\\n if ((0,_smithy_service_error_classification__WEBPACK_IMPORTED_MODULE_1__.isServerError)(error))\\n return \\\"SERVER_ERROR\\\";\\n return \\\"CLIENT_ERROR\\\";\\n};\\nconst retryMiddlewareOptions = {\\n name: \\\"retryMiddleware\\\",\\n tags: [\\\"RETRY\\\"],\\n step: \\\"finalizeRequest\\\",\\n priority: \\\"high\\\",\\n override: true,\\n};\\nconst getRetryPlugin = (options) => ({\\n applyToStack: (clientStack) => {\\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\\n },\\n});\\nconst getRetryAfterHint = (response) => {\\n if (!_smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__.HttpResponse.isInstance(response))\\n return;\\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \\\"retry-after\\\");\\n if (!retryAfterHeaderName)\\n return;\\n const retryAfter = response.headers[retryAfterHeaderName];\\n const retryAfterSeconds = Number(retryAfter);\\n if (!Number.isNaN(retryAfterSeconds))\\n return new Date(retryAfterSeconds * 1000);\\n const retryAfterDate = new Date(retryAfter);\\n return retryAfterDate;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-retry/dist-es/util.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-retry/dist-es/util.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ asSdkError: () => (/* binding */ asSdkError)\\n/* harmony export */ });\\nconst asSdkError = (error) => {\\n if (error instanceof Error)\\n return error;\\n if (error instanceof Object)\\n return Object.assign(new Error(), error);\\n if (typeof error === \\\"string\\\")\\n return new Error(error);\\n return new Error(`AWS SDK error wrapper for ${error}`);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-retry/dist-es/util.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-serde/dist-es/deserializerMiddleware.js\":\n/*!*********************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-serde/dist-es/deserializerMiddleware.js ***!\n \\*********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ deserializerMiddleware: () => (/* binding */ deserializerMiddleware)\\n/* harmony export */ });\\nconst deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => {\\n const { response } = await next(args);\\n try {\\n const parsed = await deserializer(response, options);\\n return {\\n response,\\n output: parsed,\\n };\\n }\\n catch (error) {\\n Object.defineProperty(error, \\\"$response\\\", {\\n value: response,\\n });\\n if (!(\\\"$metadata\\\" in error)) {\\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\\n error.message += \\\"\\\\n \\\" + hint;\\n }\\n throw error;\\n }\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-serde/dist-es/deserializerMiddleware.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-serde/dist-es/index.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-serde/dist-es/index.js ***!\n \\****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ deserializerMiddleware: () => (/* reexport safe */ _deserializerMiddleware__WEBPACK_IMPORTED_MODULE_0__.deserializerMiddleware),\\n/* harmony export */ deserializerMiddlewareOption: () => (/* reexport safe */ _serdePlugin__WEBPACK_IMPORTED_MODULE_1__.deserializerMiddlewareOption),\\n/* harmony export */ getSerdePlugin: () => (/* reexport safe */ _serdePlugin__WEBPACK_IMPORTED_MODULE_1__.getSerdePlugin),\\n/* harmony export */ serializerMiddleware: () => (/* reexport safe */ _serializerMiddleware__WEBPACK_IMPORTED_MODULE_2__.serializerMiddleware),\\n/* harmony export */ serializerMiddlewareOption: () => (/* reexport safe */ _serdePlugin__WEBPACK_IMPORTED_MODULE_1__.serializerMiddlewareOption)\\n/* harmony export */ });\\n/* harmony import */ var _deserializerMiddleware__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./deserializerMiddleware */ \\\"./node_modules/@smithy/middleware-serde/dist-es/deserializerMiddleware.js\\\");\\n/* harmony import */ var _serdePlugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./serdePlugin */ \\\"./node_modules/@smithy/middleware-serde/dist-es/serdePlugin.js\\\");\\n/* harmony import */ var _serializerMiddleware__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./serializerMiddleware */ \\\"./node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js\\\");\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-serde/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-serde/dist-es/serdePlugin.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-serde/dist-es/serdePlugin.js ***!\n \\**********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ deserializerMiddlewareOption: () => (/* binding */ deserializerMiddlewareOption),\\n/* harmony export */ getSerdePlugin: () => (/* binding */ getSerdePlugin),\\n/* harmony export */ serializerMiddlewareOption: () => (/* binding */ serializerMiddlewareOption)\\n/* harmony export */ });\\n/* harmony import */ var _deserializerMiddleware__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./deserializerMiddleware */ \\\"./node_modules/@smithy/middleware-serde/dist-es/deserializerMiddleware.js\\\");\\n/* harmony import */ var _serializerMiddleware__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./serializerMiddleware */ \\\"./node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js\\\");\\n\\n\\nconst deserializerMiddlewareOption = {\\n name: \\\"deserializerMiddleware\\\",\\n step: \\\"deserialize\\\",\\n tags: [\\\"DESERIALIZER\\\"],\\n override: true,\\n};\\nconst serializerMiddlewareOption = {\\n name: \\\"serializerMiddleware\\\",\\n step: \\\"serialize\\\",\\n tags: [\\\"SERIALIZER\\\"],\\n override: true,\\n};\\nfunction getSerdePlugin(config, serializer, deserializer) {\\n return {\\n applyToStack: (commandStack) => {\\n commandStack.add((0,_deserializerMiddleware__WEBPACK_IMPORTED_MODULE_0__.deserializerMiddleware)(config, deserializer), deserializerMiddlewareOption);\\n commandStack.add((0,_serializerMiddleware__WEBPACK_IMPORTED_MODULE_1__.serializerMiddleware)(config, serializer), serializerMiddlewareOption);\\n },\\n };\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-serde/dist-es/serdePlugin.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ serializerMiddleware: () => (/* binding */ serializerMiddleware)\\n/* harmony export */ });\\nconst serializerMiddleware = (options, serializer) => (next, context) => async (args) => {\\n const endpoint = context.endpointV2?.url && options.urlParser\\n ? async () => options.urlParser(context.endpointV2.url)\\n : options.endpoint;\\n if (!endpoint) {\\n throw new Error(\\\"No valid endpoint provider available.\\\");\\n }\\n const request = await serializer(args.input, { ...options, endpoint });\\n return next({\\n ...args,\\n request,\\n });\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-stack/dist-es/MiddlewareStack.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-stack/dist-es/MiddlewareStack.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ constructStack: () => (/* binding */ constructStack)\\n/* harmony export */ });\\nconst constructStack = () => {\\n let absoluteEntries = [];\\n let relativeEntries = [];\\n const entriesNameSet = new Set();\\n const sort = (entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] ||\\n priorityWeights[b.priority || \\\"normal\\\"] - priorityWeights[a.priority || \\\"normal\\\"]);\\n const removeByName = (toRemove) => {\\n let isRemoved = false;\\n const filterCb = (entry) => {\\n if (entry.name && entry.name === toRemove) {\\n isRemoved = true;\\n entriesNameSet.delete(toRemove);\\n return false;\\n }\\n return true;\\n };\\n absoluteEntries = absoluteEntries.filter(filterCb);\\n relativeEntries = relativeEntries.filter(filterCb);\\n return isRemoved;\\n };\\n const removeByReference = (toRemove) => {\\n let isRemoved = false;\\n const filterCb = (entry) => {\\n if (entry.middleware === toRemove) {\\n isRemoved = true;\\n if (entry.name)\\n entriesNameSet.delete(entry.name);\\n return false;\\n }\\n return true;\\n };\\n absoluteEntries = absoluteEntries.filter(filterCb);\\n relativeEntries = relativeEntries.filter(filterCb);\\n return isRemoved;\\n };\\n const cloneTo = (toStack) => {\\n absoluteEntries.forEach((entry) => {\\n toStack.add(entry.middleware, { ...entry });\\n });\\n relativeEntries.forEach((entry) => {\\n toStack.addRelativeTo(entry.middleware, { ...entry });\\n });\\n return toStack;\\n };\\n const expandRelativeMiddlewareList = (from) => {\\n const expandedMiddlewareList = [];\\n from.before.forEach((entry) => {\\n if (entry.before.length === 0 && entry.after.length === 0) {\\n expandedMiddlewareList.push(entry);\\n }\\n else {\\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\\n }\\n });\\n expandedMiddlewareList.push(from);\\n from.after.reverse().forEach((entry) => {\\n if (entry.before.length === 0 && entry.after.length === 0) {\\n expandedMiddlewareList.push(entry);\\n }\\n else {\\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\\n }\\n });\\n return expandedMiddlewareList;\\n };\\n const getMiddlewareList = (debug = false) => {\\n const normalizedAbsoluteEntries = [];\\n const normalizedRelativeEntries = [];\\n const normalizedEntriesNameMap = {};\\n absoluteEntries.forEach((entry) => {\\n const normalizedEntry = {\\n ...entry,\\n before: [],\\n after: [],\\n };\\n if (normalizedEntry.name)\\n normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\\n normalizedAbsoluteEntries.push(normalizedEntry);\\n });\\n relativeEntries.forEach((entry) => {\\n const normalizedEntry = {\\n ...entry,\\n before: [],\\n after: [],\\n };\\n if (normalizedEntry.name)\\n normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\\n normalizedRelativeEntries.push(normalizedEntry);\\n });\\n normalizedRelativeEntries.forEach((entry) => {\\n if (entry.toMiddleware) {\\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\\n if (toMiddleware === undefined) {\\n if (debug) {\\n return;\\n }\\n throw new Error(`${entry.toMiddleware} is not found when adding ${entry.name || \\\"anonymous\\\"} middleware ${entry.relation} ${entry.toMiddleware}`);\\n }\\n if (entry.relation === \\\"after\\\") {\\n toMiddleware.after.push(entry);\\n }\\n if (entry.relation === \\\"before\\\") {\\n toMiddleware.before.push(entry);\\n }\\n }\\n });\\n const mainChain = sort(normalizedAbsoluteEntries)\\n .map(expandRelativeMiddlewareList)\\n .reduce((wholeList, expandedMiddlewareList) => {\\n wholeList.push(...expandedMiddlewareList);\\n return wholeList;\\n }, []);\\n return mainChain;\\n };\\n const stack = {\\n add: (middleware, options = {}) => {\\n const { name, override } = options;\\n const entry = {\\n step: \\\"initialize\\\",\\n priority: \\\"normal\\\",\\n middleware,\\n ...options,\\n };\\n if (name) {\\n if (entriesNameSet.has(name)) {\\n if (!override)\\n throw new Error(`Duplicate middleware name '${name}'`);\\n const toOverrideIndex = absoluteEntries.findIndex((entry) => entry.name === name);\\n const toOverride = absoluteEntries[toOverrideIndex];\\n if (toOverride.step !== entry.step || toOverride.priority !== entry.priority) {\\n throw new Error(`\\\"${name}\\\" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be ` +\\n `overridden by same-name middleware with ${entry.priority} priority in ${entry.step} step.`);\\n }\\n absoluteEntries.splice(toOverrideIndex, 1);\\n }\\n entriesNameSet.add(name);\\n }\\n absoluteEntries.push(entry);\\n },\\n addRelativeTo: (middleware, options) => {\\n const { name, override } = options;\\n const entry = {\\n middleware,\\n ...options,\\n };\\n if (name) {\\n if (entriesNameSet.has(name)) {\\n if (!override)\\n throw new Error(`Duplicate middleware name '${name}'`);\\n const toOverrideIndex = relativeEntries.findIndex((entry) => entry.name === name);\\n const toOverride = relativeEntries[toOverrideIndex];\\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\\n throw new Error(`\\\"${name}\\\" middleware ${toOverride.relation} \\\"${toOverride.toMiddleware}\\\" middleware cannot be overridden ` +\\n `by same-name middleware ${entry.relation} \\\"${entry.toMiddleware}\\\" middleware.`);\\n }\\n relativeEntries.splice(toOverrideIndex, 1);\\n }\\n entriesNameSet.add(name);\\n }\\n relativeEntries.push(entry);\\n },\\n clone: () => cloneTo(constructStack()),\\n use: (plugin) => {\\n plugin.applyToStack(stack);\\n },\\n remove: (toRemove) => {\\n if (typeof toRemove === \\\"string\\\")\\n return removeByName(toRemove);\\n else\\n return removeByReference(toRemove);\\n },\\n removeByTag: (toRemove) => {\\n let isRemoved = false;\\n const filterCb = (entry) => {\\n const { tags, name } = entry;\\n if (tags && tags.includes(toRemove)) {\\n if (name)\\n entriesNameSet.delete(name);\\n isRemoved = true;\\n return false;\\n }\\n return true;\\n };\\n absoluteEntries = absoluteEntries.filter(filterCb);\\n relativeEntries = relativeEntries.filter(filterCb);\\n return isRemoved;\\n },\\n concat: (from) => {\\n const cloned = cloneTo(constructStack());\\n cloned.use(from);\\n return cloned;\\n },\\n applyToStack: cloneTo,\\n identify: () => {\\n return getMiddlewareList(true).map((mw) => {\\n return mw.name + \\\": \\\" + (mw.tags || []).join(\\\",\\\");\\n });\\n },\\n resolve: (handler, context) => {\\n for (const middleware of getMiddlewareList()\\n .map((entry) => entry.middleware)\\n .reverse()) {\\n handler = middleware(handler, context);\\n }\\n return handler;\\n },\\n };\\n return stack;\\n};\\nconst stepWeights = {\\n initialize: 5,\\n serialize: 4,\\n build: 3,\\n finalizeRequest: 2,\\n deserialize: 1,\\n};\\nconst priorityWeights = {\\n high: 3,\\n normal: 2,\\n low: 1,\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-stack/dist-es/MiddlewareStack.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/middleware-stack/dist-es/index.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@smithy/middleware-stack/dist-es/index.js ***!\n \\****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ constructStack: () => (/* reexport safe */ _MiddlewareStack__WEBPACK_IMPORTED_MODULE_0__.constructStack)\\n/* harmony export */ });\\n/* harmony import */ var _MiddlewareStack__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MiddlewareStack */ \\\"./node_modules/@smithy/middleware-stack/dist-es/MiddlewareStack.js\\\");\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/middleware-stack/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js ***!\n \\************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ CredentialsProviderError: () => (/* binding */ CredentialsProviderError)\\n/* harmony export */ });\\n/* harmony import */ var _ProviderError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ProviderError */ \\\"./node_modules/@smithy/property-provider/dist-es/ProviderError.js\\\");\\n\\nclass CredentialsProviderError extends _ProviderError__WEBPACK_IMPORTED_MODULE_0__.ProviderError {\\n constructor(message, tryNextLink = true) {\\n super(message, tryNextLink);\\n this.tryNextLink = tryNextLink;\\n this.name = \\\"CredentialsProviderError\\\";\\n Object.setPrototypeOf(this, CredentialsProviderError.prototype);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/property-provider/dist-es/ProviderError.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/@smithy/property-provider/dist-es/ProviderError.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ ProviderError: () => (/* binding */ ProviderError)\\n/* harmony export */ });\\nclass ProviderError extends Error {\\n constructor(message, tryNextLink = true) {\\n super(message);\\n this.tryNextLink = tryNextLink;\\n this.name = \\\"ProviderError\\\";\\n Object.setPrototypeOf(this, ProviderError.prototype);\\n }\\n static from(error, tryNextLink = true) {\\n return Object.assign(new this(error.message, tryNextLink), error);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/property-provider/dist-es/ProviderError.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/property-provider/dist-es/TokenProviderError.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/@smithy/property-provider/dist-es/TokenProviderError.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ TokenProviderError: () => (/* binding */ TokenProviderError)\\n/* harmony export */ });\\n/* harmony import */ var _ProviderError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ProviderError */ \\\"./node_modules/@smithy/property-provider/dist-es/ProviderError.js\\\");\\n\\nclass TokenProviderError extends _ProviderError__WEBPACK_IMPORTED_MODULE_0__.ProviderError {\\n constructor(message, tryNextLink = true) {\\n super(message, tryNextLink);\\n this.tryNextLink = tryNextLink;\\n this.name = \\\"TokenProviderError\\\";\\n Object.setPrototypeOf(this, TokenProviderError.prototype);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/property-provider/dist-es/TokenProviderError.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/property-provider/dist-es/chain.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@smithy/property-provider/dist-es/chain.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ chain: () => (/* binding */ chain)\\n/* harmony export */ });\\n/* harmony import */ var _ProviderError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ProviderError */ \\\"./node_modules/@smithy/property-provider/dist-es/ProviderError.js\\\");\\n\\nfunction chain(...providers) {\\n return () => {\\n let promise = Promise.reject(new _ProviderError__WEBPACK_IMPORTED_MODULE_0__.ProviderError(\\\"No providers in chain\\\"));\\n for (const provider of providers) {\\n promise = promise.catch((err) => {\\n if (err?.tryNextLink) {\\n return provider();\\n }\\n throw err;\\n });\\n }\\n return promise;\\n };\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/property-provider/dist-es/chain.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/property-provider/dist-es/fromStatic.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/@smithy/property-provider/dist-es/fromStatic.js ***!\n \\**********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ fromStatic: () => (/* binding */ fromStatic)\\n/* harmony export */ });\\nconst fromStatic = (staticValue) => () => Promise.resolve(staticValue);\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/property-provider/dist-es/fromStatic.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/property-provider/dist-es/index.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@smithy/property-provider/dist-es/index.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ CredentialsProviderError: () => (/* reexport safe */ _CredentialsProviderError__WEBPACK_IMPORTED_MODULE_0__.CredentialsProviderError),\\n/* harmony export */ ProviderError: () => (/* reexport safe */ _ProviderError__WEBPACK_IMPORTED_MODULE_1__.ProviderError),\\n/* harmony export */ TokenProviderError: () => (/* reexport safe */ _TokenProviderError__WEBPACK_IMPORTED_MODULE_2__.TokenProviderError),\\n/* harmony export */ chain: () => (/* reexport safe */ _chain__WEBPACK_IMPORTED_MODULE_3__.chain),\\n/* harmony export */ fromStatic: () => (/* reexport safe */ _fromStatic__WEBPACK_IMPORTED_MODULE_4__.fromStatic),\\n/* harmony export */ memoize: () => (/* reexport safe */ _memoize__WEBPACK_IMPORTED_MODULE_5__.memoize)\\n/* harmony export */ });\\n/* harmony import */ var _CredentialsProviderError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CredentialsProviderError */ \\\"./node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js\\\");\\n/* harmony import */ var _ProviderError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ProviderError */ \\\"./node_modules/@smithy/property-provider/dist-es/ProviderError.js\\\");\\n/* harmony import */ var _TokenProviderError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TokenProviderError */ \\\"./node_modules/@smithy/property-provider/dist-es/TokenProviderError.js\\\");\\n/* harmony import */ var _chain__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./chain */ \\\"./node_modules/@smithy/property-provider/dist-es/chain.js\\\");\\n/* harmony import */ var _fromStatic__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fromStatic */ \\\"./node_modules/@smithy/property-provider/dist-es/fromStatic.js\\\");\\n/* harmony import */ var _memoize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./memoize */ \\\"./node_modules/@smithy/property-provider/dist-es/memoize.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/property-provider/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/property-provider/dist-es/memoize.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@smithy/property-provider/dist-es/memoize.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ memoize: () => (/* binding */ memoize)\\n/* harmony export */ });\\nconst memoize = (provider, isExpired, requiresRefresh) => {\\n let resolved;\\n let pending;\\n let hasResult;\\n let isConstant = false;\\n const coalesceProvider = async () => {\\n if (!pending) {\\n pending = provider();\\n }\\n try {\\n resolved = await pending;\\n hasResult = true;\\n isConstant = false;\\n }\\n finally {\\n pending = undefined;\\n }\\n return resolved;\\n };\\n if (isExpired === undefined) {\\n return async (options) => {\\n if (!hasResult || options?.forceRefresh) {\\n resolved = await coalesceProvider();\\n }\\n return resolved;\\n };\\n }\\n return async (options) => {\\n if (!hasResult || options?.forceRefresh) {\\n resolved = await coalesceProvider();\\n }\\n if (isConstant) {\\n return resolved;\\n }\\n if (requiresRefresh && !requiresRefresh(resolved)) {\\n isConstant = true;\\n return resolved;\\n }\\n if (isExpired(resolved)) {\\n await coalesceProvider();\\n return resolved;\\n }\\n return resolved;\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/property-provider/dist-es/memoize.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/protocol-http/dist-es/Field.js\":\n/*!*************************************************************!*\\\n !*** ./node_modules/@smithy/protocol-http/dist-es/Field.js ***!\n \\*************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Field: () => (/* binding */ Field)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/types */ \\\"./node_modules/@smithy/types/dist-es/index.js\\\");\\n\\nclass Field {\\n constructor({ name, kind = _smithy_types__WEBPACK_IMPORTED_MODULE_0__.FieldPosition.HEADER, values = [] }) {\\n this.name = name;\\n this.kind = kind;\\n this.values = values;\\n }\\n add(value) {\\n this.values.push(value);\\n }\\n set(values) {\\n this.values = values;\\n }\\n remove(value) {\\n this.values = this.values.filter((v) => v !== value);\\n }\\n toString() {\\n return this.values.map((v) => (v.includes(\\\",\\\") || v.includes(\\\" \\\") ? `\\\"${v}\\\"` : v)).join(\\\", \\\");\\n }\\n get() {\\n return this.values;\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/protocol-http/dist-es/Field.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/protocol-http/dist-es/Fields.js\":\n/*!**************************************************************!*\\\n !*** ./node_modules/@smithy/protocol-http/dist-es/Fields.js ***!\n \\**************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Fields: () => (/* binding */ Fields)\\n/* harmony export */ });\\nclass Fields {\\n constructor({ fields = [], encoding = \\\"utf-8\\\" }) {\\n this.entries = {};\\n fields.forEach(this.setField.bind(this));\\n this.encoding = encoding;\\n }\\n setField(field) {\\n this.entries[field.name.toLowerCase()] = field;\\n }\\n getField(name) {\\n return this.entries[name.toLowerCase()];\\n }\\n removeField(name) {\\n delete this.entries[name.toLowerCase()];\\n }\\n getByType(kind) {\\n return Object.values(this.entries).filter((field) => field.kind === kind);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/protocol-http/dist-es/Fields.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/protocol-http/dist-es/httpHandler.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@smithy/protocol-http/dist-es/httpHandler.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/protocol-http/dist-es/httpHandler.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/protocol-http/dist-es/httpRequest.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@smithy/protocol-http/dist-es/httpRequest.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ HttpRequest: () => (/* binding */ HttpRequest)\\n/* harmony export */ });\\nclass HttpRequest {\\n constructor(options) {\\n this.method = options.method || \\\"GET\\\";\\n this.hostname = options.hostname || \\\"localhost\\\";\\n this.port = options.port;\\n this.query = options.query || {};\\n this.headers = options.headers || {};\\n this.body = options.body;\\n this.protocol = options.protocol\\n ? options.protocol.slice(-1) !== \\\":\\\"\\n ? `${options.protocol}:`\\n : options.protocol\\n : \\\"https:\\\";\\n this.path = options.path ? (options.path.charAt(0) !== \\\"/\\\" ? `/${options.path}` : options.path) : \\\"/\\\";\\n this.username = options.username;\\n this.password = options.password;\\n this.fragment = options.fragment;\\n }\\n static isInstance(request) {\\n if (!request)\\n return false;\\n const req = request;\\n return (\\\"method\\\" in req &&\\n \\\"protocol\\\" in req &&\\n \\\"hostname\\\" in req &&\\n \\\"path\\\" in req &&\\n typeof req[\\\"query\\\"] === \\\"object\\\" &&\\n typeof req[\\\"headers\\\"] === \\\"object\\\");\\n }\\n clone() {\\n const cloned = new HttpRequest({\\n ...this,\\n headers: { ...this.headers },\\n });\\n if (cloned.query)\\n cloned.query = cloneQuery(cloned.query);\\n return cloned;\\n }\\n}\\nfunction cloneQuery(query) {\\n return Object.keys(query).reduce((carry, paramName) => {\\n const param = query[paramName];\\n return {\\n ...carry,\\n [paramName]: Array.isArray(param) ? [...param] : param,\\n };\\n }, {});\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/protocol-http/dist-es/httpRequest.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/protocol-http/dist-es/httpResponse.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/@smithy/protocol-http/dist-es/httpResponse.js ***!\n \\********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ HttpResponse: () => (/* binding */ HttpResponse)\\n/* harmony export */ });\\nclass HttpResponse {\\n constructor(options) {\\n this.statusCode = options.statusCode;\\n this.reason = options.reason;\\n this.headers = options.headers || {};\\n this.body = options.body;\\n }\\n static isInstance(response) {\\n if (!response)\\n return false;\\n const resp = response;\\n return typeof resp.statusCode === \\\"number\\\" && typeof resp.headers === \\\"object\\\";\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/protocol-http/dist-es/httpResponse.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/protocol-http/dist-es/index.js\":\n/*!*************************************************************!*\\\n !*** ./node_modules/@smithy/protocol-http/dist-es/index.js ***!\n \\*************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Field: () => (/* reexport safe */ _Field__WEBPACK_IMPORTED_MODULE_0__.Field),\\n/* harmony export */ Fields: () => (/* reexport safe */ _Fields__WEBPACK_IMPORTED_MODULE_1__.Fields),\\n/* harmony export */ HttpRequest: () => (/* reexport safe */ _httpRequest__WEBPACK_IMPORTED_MODULE_3__.HttpRequest),\\n/* harmony export */ HttpResponse: () => (/* reexport safe */ _httpResponse__WEBPACK_IMPORTED_MODULE_4__.HttpResponse),\\n/* harmony export */ isValidHostname: () => (/* reexport safe */ _isValidHostname__WEBPACK_IMPORTED_MODULE_5__.isValidHostname)\\n/* harmony export */ });\\n/* harmony import */ var _Field__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Field */ \\\"./node_modules/@smithy/protocol-http/dist-es/Field.js\\\");\\n/* harmony import */ var _Fields__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Fields */ \\\"./node_modules/@smithy/protocol-http/dist-es/Fields.js\\\");\\n/* harmony import */ var _httpHandler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./httpHandler */ \\\"./node_modules/@smithy/protocol-http/dist-es/httpHandler.js\\\");\\n/* harmony import */ var _httpRequest__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./httpRequest */ \\\"./node_modules/@smithy/protocol-http/dist-es/httpRequest.js\\\");\\n/* harmony import */ var _httpResponse__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./httpResponse */ \\\"./node_modules/@smithy/protocol-http/dist-es/httpResponse.js\\\");\\n/* harmony import */ var _isValidHostname__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isValidHostname */ \\\"./node_modules/@smithy/protocol-http/dist-es/isValidHostname.js\\\");\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./types */ \\\"./node_modules/@smithy/protocol-http/dist-es/types.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/protocol-http/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/protocol-http/dist-es/isValidHostname.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@smithy/protocol-http/dist-es/isValidHostname.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ isValidHostname: () => (/* binding */ isValidHostname)\\n/* harmony export */ });\\nfunction isValidHostname(hostname) {\\n const hostPattern = /^[a-z0-9][a-z0-9\\\\.\\\\-]*[a-z0-9]$/;\\n return hostPattern.test(hostname);\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/protocol-http/dist-es/isValidHostname.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/protocol-http/dist-es/types.js\":\n/*!*************************************************************!*\\\n !*** ./node_modules/@smithy/protocol-http/dist-es/types.js ***!\n \\*************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/protocol-http/dist-es/types.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/querystring-builder/dist-es/index.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@smithy/querystring-builder/dist-es/index.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ buildQueryString: () => (/* binding */ buildQueryString)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_uri_escape__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-uri-escape */ \\\"./node_modules/@smithy/util-uri-escape/dist-es/index.js\\\");\\n\\nfunction buildQueryString(query) {\\n const parts = [];\\n for (let key of Object.keys(query).sort()) {\\n const value = query[key];\\n key = (0,_smithy_util_uri_escape__WEBPACK_IMPORTED_MODULE_0__.escapeUri)(key);\\n if (Array.isArray(value)) {\\n for (let i = 0, iLen = value.length; i < iLen; i++) {\\n parts.push(`${key}=${(0,_smithy_util_uri_escape__WEBPACK_IMPORTED_MODULE_0__.escapeUri)(value[i])}`);\\n }\\n }\\n else {\\n let qsEntry = key;\\n if (value || typeof value === \\\"string\\\") {\\n qsEntry += `=${(0,_smithy_util_uri_escape__WEBPACK_IMPORTED_MODULE_0__.escapeUri)(value)}`;\\n }\\n parts.push(qsEntry);\\n }\\n }\\n return parts.join(\\\"&\\\");\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/querystring-builder/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/querystring-parser/dist-es/index.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@smithy/querystring-parser/dist-es/index.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ parseQueryString: () => (/* binding */ parseQueryString)\\n/* harmony export */ });\\nfunction parseQueryString(querystring) {\\n const query = {};\\n querystring = querystring.replace(/^\\\\?/, \\\"\\\");\\n if (querystring) {\\n for (const pair of querystring.split(\\\"&\\\")) {\\n let [key, value = null] = pair.split(\\\"=\\\");\\n key = decodeURIComponent(key);\\n if (value) {\\n value = decodeURIComponent(value);\\n }\\n if (!(key in query)) {\\n query[key] = value;\\n }\\n else if (Array.isArray(query[key])) {\\n query[key].push(value);\\n }\\n else {\\n query[key] = [query[key], value];\\n }\\n }\\n }\\n return query;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/querystring-parser/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/service-error-classification/dist-es/constants.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/@smithy/service-error-classification/dist-es/constants.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ CLOCK_SKEW_ERROR_CODES: () => (/* binding */ CLOCK_SKEW_ERROR_CODES),\\n/* harmony export */ NODEJS_TIMEOUT_ERROR_CODES: () => (/* binding */ NODEJS_TIMEOUT_ERROR_CODES),\\n/* harmony export */ THROTTLING_ERROR_CODES: () => (/* binding */ THROTTLING_ERROR_CODES),\\n/* harmony export */ TRANSIENT_ERROR_CODES: () => (/* binding */ TRANSIENT_ERROR_CODES),\\n/* harmony export */ TRANSIENT_ERROR_STATUS_CODES: () => (/* binding */ TRANSIENT_ERROR_STATUS_CODES)\\n/* harmony export */ });\\nconst CLOCK_SKEW_ERROR_CODES = [\\n \\\"AuthFailure\\\",\\n \\\"InvalidSignatureException\\\",\\n \\\"RequestExpired\\\",\\n \\\"RequestInTheFuture\\\",\\n \\\"RequestTimeTooSkewed\\\",\\n \\\"SignatureDoesNotMatch\\\",\\n];\\nconst THROTTLING_ERROR_CODES = [\\n \\\"BandwidthLimitExceeded\\\",\\n \\\"EC2ThrottledException\\\",\\n \\\"LimitExceededException\\\",\\n \\\"PriorRequestNotComplete\\\",\\n \\\"ProvisionedThroughputExceededException\\\",\\n \\\"RequestLimitExceeded\\\",\\n \\\"RequestThrottled\\\",\\n \\\"RequestThrottledException\\\",\\n \\\"SlowDown\\\",\\n \\\"ThrottledException\\\",\\n \\\"Throttling\\\",\\n \\\"ThrottlingException\\\",\\n \\\"TooManyRequestsException\\\",\\n \\\"TransactionInProgressException\\\",\\n];\\nconst TRANSIENT_ERROR_CODES = [\\\"TimeoutError\\\", \\\"RequestTimeout\\\", \\\"RequestTimeoutException\\\"];\\nconst TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\\nconst NODEJS_TIMEOUT_ERROR_CODES = [\\\"ECONNRESET\\\", \\\"ECONNREFUSED\\\", \\\"EPIPE\\\", \\\"ETIMEDOUT\\\"];\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/service-error-classification/dist-es/constants.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/service-error-classification/dist-es/index.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/@smithy/service-error-classification/dist-es/index.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ isClockSkewError: () => (/* binding */ isClockSkewError),\\n/* harmony export */ isRetryableByTrait: () => (/* binding */ isRetryableByTrait),\\n/* harmony export */ isServerError: () => (/* binding */ isServerError),\\n/* harmony export */ isThrottlingError: () => (/* binding */ isThrottlingError),\\n/* harmony export */ isTransientError: () => (/* binding */ isTransientError)\\n/* harmony export */ });\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/service-error-classification/dist-es/constants.js\\\");\\n\\nconst isRetryableByTrait = (error) => error.$retryable !== undefined;\\nconst isClockSkewError = (error) => _constants__WEBPACK_IMPORTED_MODULE_0__.CLOCK_SKEW_ERROR_CODES.includes(error.name);\\nconst isThrottlingError = (error) => error.$metadata?.httpStatusCode === 429 ||\\n _constants__WEBPACK_IMPORTED_MODULE_0__.THROTTLING_ERROR_CODES.includes(error.name) ||\\n error.$retryable?.throttling == true;\\nconst isTransientError = (error) => _constants__WEBPACK_IMPORTED_MODULE_0__.TRANSIENT_ERROR_CODES.includes(error.name) ||\\n _constants__WEBPACK_IMPORTED_MODULE_0__.NODEJS_TIMEOUT_ERROR_CODES.includes(error?.code || \\\"\\\") ||\\n _constants__WEBPACK_IMPORTED_MODULE_0__.TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0);\\nconst isServerError = (error) => {\\n if (error.$metadata?.httpStatusCode !== undefined) {\\n const statusCode = error.$metadata.httpStatusCode;\\n if (500 <= statusCode && statusCode <= 599 && !isTransientError(error)) {\\n return true;\\n }\\n return false;\\n }\\n return false;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/service-error-classification/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/signature-v4/dist-es/SignatureV4.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@smithy/signature-v4/dist-es/SignatureV4.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ SignatureV4: () => (/* binding */ SignatureV4)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_eventstream_codec__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/eventstream-codec */ \\\"./node_modules/@smithy/eventstream-codec/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/util-hex-encoding */ \\\"./node_modules/@smithy/util-hex-encoding/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_middleware__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/util-middleware */ \\\"./node_modules/@smithy/util-middleware/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_utf8__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @smithy/util-utf8 */ \\\"./node_modules/@smithy/util-utf8/dist-es/index.js\\\");\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/signature-v4/dist-es/constants.js\\\");\\n/* harmony import */ var _credentialDerivation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./credentialDerivation */ \\\"./node_modules/@smithy/signature-v4/dist-es/credentialDerivation.js\\\");\\n/* harmony import */ var _getCanonicalHeaders__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getCanonicalHeaders */ \\\"./node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js\\\");\\n/* harmony import */ var _getCanonicalQuery__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./getCanonicalQuery */ \\\"./node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js\\\");\\n/* harmony import */ var _getPayloadHash__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./getPayloadHash */ \\\"./node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js\\\");\\n/* harmony import */ var _headerUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./headerUtil */ \\\"./node_modules/@smithy/signature-v4/dist-es/headerUtil.js\\\");\\n/* harmony import */ var _moveHeadersToQuery__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./moveHeadersToQuery */ \\\"./node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js\\\");\\n/* harmony import */ var _prepareRequest__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./prepareRequest */ \\\"./node_modules/@smithy/signature-v4/dist-es/prepareRequest.js\\\");\\n/* harmony import */ var _utilDate__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./utilDate */ \\\"./node_modules/@smithy/signature-v4/dist-es/utilDate.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nclass SignatureV4 {\\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\\n this.headerMarshaller = new _smithy_eventstream_codec__WEBPACK_IMPORTED_MODULE_0__.HeaderMarshaller(_smithy_util_utf8__WEBPACK_IMPORTED_MODULE_3__.toUtf8, _smithy_util_utf8__WEBPACK_IMPORTED_MODULE_3__.fromUtf8);\\n this.service = service;\\n this.sha256 = sha256;\\n this.uriEscapePath = uriEscapePath;\\n this.applyChecksum = typeof applyChecksum === \\\"boolean\\\" ? applyChecksum : true;\\n this.regionProvider = (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_2__.normalizeProvider)(region);\\n this.credentialProvider = (0,_smithy_util_middleware__WEBPACK_IMPORTED_MODULE_2__.normalizeProvider)(credentials);\\n }\\n async presign(originalRequest, options = {}) {\\n const { signingDate = new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, signingRegion, signingService, } = options;\\n const credentials = await this.credentialProvider();\\n this.validateResolvedCredentials(credentials);\\n const region = signingRegion ?? (await this.regionProvider());\\n const { longDate, shortDate } = formatDate(signingDate);\\n if (expiresIn > _constants__WEBPACK_IMPORTED_MODULE_4__.MAX_PRESIGNED_TTL) {\\n return Promise.reject(\\\"Signature version 4 presigned URLs\\\" + \\\" must have an expiration date less than one week in\\\" + \\\" the future\\\");\\n }\\n const scope = (0,_credentialDerivation__WEBPACK_IMPORTED_MODULE_5__.createScope)(shortDate, region, signingService ?? this.service);\\n const request = (0,_moveHeadersToQuery__WEBPACK_IMPORTED_MODULE_10__.moveHeadersToQuery)((0,_prepareRequest__WEBPACK_IMPORTED_MODULE_11__.prepareRequest)(originalRequest), { unhoistableHeaders });\\n if (credentials.sessionToken) {\\n request.query[_constants__WEBPACK_IMPORTED_MODULE_4__.TOKEN_QUERY_PARAM] = credentials.sessionToken;\\n }\\n request.query[_constants__WEBPACK_IMPORTED_MODULE_4__.ALGORITHM_QUERY_PARAM] = _constants__WEBPACK_IMPORTED_MODULE_4__.ALGORITHM_IDENTIFIER;\\n request.query[_constants__WEBPACK_IMPORTED_MODULE_4__.CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\\n request.query[_constants__WEBPACK_IMPORTED_MODULE_4__.AMZ_DATE_QUERY_PARAM] = longDate;\\n request.query[_constants__WEBPACK_IMPORTED_MODULE_4__.EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\\n const canonicalHeaders = (0,_getCanonicalHeaders__WEBPACK_IMPORTED_MODULE_6__.getCanonicalHeaders)(request, unsignableHeaders, signableHeaders);\\n request.query[_constants__WEBPACK_IMPORTED_MODULE_4__.SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders);\\n request.query[_constants__WEBPACK_IMPORTED_MODULE_4__.SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await (0,_getPayloadHash__WEBPACK_IMPORTED_MODULE_8__.getPayloadHash)(originalRequest, this.sha256)));\\n return request;\\n }\\n async sign(toSign, options) {\\n if (typeof toSign === \\\"string\\\") {\\n return this.signString(toSign, options);\\n }\\n else if (toSign.headers && toSign.payload) {\\n return this.signEvent(toSign, options);\\n }\\n else if (toSign.message) {\\n return this.signMessage(toSign, options);\\n }\\n else {\\n return this.signRequest(toSign, options);\\n }\\n }\\n async signEvent({ headers, payload }, { signingDate = new Date(), priorSignature, signingRegion, signingService }) {\\n const region = signingRegion ?? (await this.regionProvider());\\n const { shortDate, longDate } = formatDate(signingDate);\\n const scope = (0,_credentialDerivation__WEBPACK_IMPORTED_MODULE_5__.createScope)(shortDate, region, signingService ?? this.service);\\n const hashedPayload = await (0,_getPayloadHash__WEBPACK_IMPORTED_MODULE_8__.getPayloadHash)({ headers: {}, body: payload }, this.sha256);\\n const hash = new this.sha256();\\n hash.update(headers);\\n const hashedHeaders = (0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_1__.toHex)(await hash.digest());\\n const stringToSign = [\\n _constants__WEBPACK_IMPORTED_MODULE_4__.EVENT_ALGORITHM_IDENTIFIER,\\n longDate,\\n scope,\\n priorSignature,\\n hashedHeaders,\\n hashedPayload,\\n ].join(\\\"\\\\n\\\");\\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\\n }\\n async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService }) {\\n const promise = this.signEvent({\\n headers: this.headerMarshaller.format(signableMessage.message.headers),\\n payload: signableMessage.message.body,\\n }, {\\n signingDate,\\n signingRegion,\\n signingService,\\n priorSignature: signableMessage.priorSignature,\\n });\\n return promise.then((signature) => {\\n return { message: signableMessage.message, signature };\\n });\\n }\\n async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {\\n const credentials = await this.credentialProvider();\\n this.validateResolvedCredentials(credentials);\\n const region = signingRegion ?? (await this.regionProvider());\\n const { shortDate } = formatDate(signingDate);\\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\\n hash.update((0,_smithy_util_utf8__WEBPACK_IMPORTED_MODULE_3__.toUint8Array)(stringToSign));\\n return (0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_1__.toHex)(await hash.digest());\\n }\\n async signRequest(requestToSign, { signingDate = new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService, } = {}) {\\n const credentials = await this.credentialProvider();\\n this.validateResolvedCredentials(credentials);\\n const region = signingRegion ?? (await this.regionProvider());\\n const request = (0,_prepareRequest__WEBPACK_IMPORTED_MODULE_11__.prepareRequest)(requestToSign);\\n const { longDate, shortDate } = formatDate(signingDate);\\n const scope = (0,_credentialDerivation__WEBPACK_IMPORTED_MODULE_5__.createScope)(shortDate, region, signingService ?? this.service);\\n request.headers[_constants__WEBPACK_IMPORTED_MODULE_4__.AMZ_DATE_HEADER] = longDate;\\n if (credentials.sessionToken) {\\n request.headers[_constants__WEBPACK_IMPORTED_MODULE_4__.TOKEN_HEADER] = credentials.sessionToken;\\n }\\n const payloadHash = await (0,_getPayloadHash__WEBPACK_IMPORTED_MODULE_8__.getPayloadHash)(request, this.sha256);\\n if (!(0,_headerUtil__WEBPACK_IMPORTED_MODULE_9__.hasHeader)(_constants__WEBPACK_IMPORTED_MODULE_4__.SHA256_HEADER, request.headers) && this.applyChecksum) {\\n request.headers[_constants__WEBPACK_IMPORTED_MODULE_4__.SHA256_HEADER] = payloadHash;\\n }\\n const canonicalHeaders = (0,_getCanonicalHeaders__WEBPACK_IMPORTED_MODULE_6__.getCanonicalHeaders)(request, unsignableHeaders, signableHeaders);\\n const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));\\n request.headers[_constants__WEBPACK_IMPORTED_MODULE_4__.AUTH_HEADER] =\\n `${_constants__WEBPACK_IMPORTED_MODULE_4__.ALGORITHM_IDENTIFIER} ` +\\n `Credential=${credentials.accessKeyId}/${scope}, ` +\\n `SignedHeaders=${getCanonicalHeaderList(canonicalHeaders)}, ` +\\n `Signature=${signature}`;\\n return request;\\n }\\n createCanonicalRequest(request, canonicalHeaders, payloadHash) {\\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\\n return `${request.method}\\n${this.getCanonicalPath(request)}\\n${(0,_getCanonicalQuery__WEBPACK_IMPORTED_MODULE_7__.getCanonicalQuery)(request)}\\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\\\"\\\\n\\\")}\\n\\n${sortedHeaders.join(\\\";\\\")}\\n${payloadHash}`;\\n }\\n async createStringToSign(longDate, credentialScope, canonicalRequest) {\\n const hash = new this.sha256();\\n hash.update((0,_smithy_util_utf8__WEBPACK_IMPORTED_MODULE_3__.toUint8Array)(canonicalRequest));\\n const hashedRequest = await hash.digest();\\n return `${_constants__WEBPACK_IMPORTED_MODULE_4__.ALGORITHM_IDENTIFIER}\\n${longDate}\\n${credentialScope}\\n${(0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_1__.toHex)(hashedRequest)}`;\\n }\\n getCanonicalPath({ path }) {\\n if (this.uriEscapePath) {\\n const normalizedPathSegments = [];\\n for (const pathSegment of path.split(\\\"/\\\")) {\\n if (pathSegment?.length === 0)\\n continue;\\n if (pathSegment === \\\".\\\")\\n continue;\\n if (pathSegment === \\\"..\\\") {\\n normalizedPathSegments.pop();\\n }\\n else {\\n normalizedPathSegments.push(pathSegment);\\n }\\n }\\n const normalizedPath = `${path?.startsWith(\\\"/\\\") ? \\\"/\\\" : \\\"\\\"}${normalizedPathSegments.join(\\\"/\\\")}${normalizedPathSegments.length > 0 && path?.endsWith(\\\"/\\\") ? \\\"/\\\" : \\\"\\\"}`;\\n const doubleEncoded = encodeURIComponent(normalizedPath);\\n return doubleEncoded.replace(/%2F/g, \\\"/\\\");\\n }\\n return path;\\n }\\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest);\\n const hash = new this.sha256(await keyPromise);\\n hash.update((0,_smithy_util_utf8__WEBPACK_IMPORTED_MODULE_3__.toUint8Array)(stringToSign));\\n return (0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_1__.toHex)(await hash.digest());\\n }\\n getSigningKey(credentials, region, shortDate, service) {\\n return (0,_credentialDerivation__WEBPACK_IMPORTED_MODULE_5__.getSigningKey)(this.sha256, credentials, shortDate, region, service || this.service);\\n }\\n validateResolvedCredentials(credentials) {\\n if (typeof credentials !== \\\"object\\\" ||\\n typeof credentials.accessKeyId !== \\\"string\\\" ||\\n typeof credentials.secretAccessKey !== \\\"string\\\") {\\n throw new Error(\\\"Resolved credential object is not valid\\\");\\n }\\n }\\n}\\nconst formatDate = (now) => {\\n const longDate = (0,_utilDate__WEBPACK_IMPORTED_MODULE_12__.iso8601)(now).replace(/[\\\\-:]/g, \\\"\\\");\\n return {\\n longDate,\\n shortDate: longDate.slice(0, 8),\\n };\\n};\\nconst getCanonicalHeaderList = (headers) => Object.keys(headers).sort().join(\\\";\\\");\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/signature-v4/dist-es/SignatureV4.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/signature-v4/dist-es/cloneRequest.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@smithy/signature-v4/dist-es/cloneRequest.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ cloneQuery: () => (/* binding */ cloneQuery),\\n/* harmony export */ cloneRequest: () => (/* binding */ cloneRequest)\\n/* harmony export */ });\\nconst cloneRequest = ({ headers, query, ...rest }) => ({\\n ...rest,\\n headers: { ...headers },\\n query: query ? cloneQuery(query) : undefined,\\n});\\nconst cloneQuery = (query) => Object.keys(query).reduce((carry, paramName) => {\\n const param = query[paramName];\\n return {\\n ...carry,\\n [paramName]: Array.isArray(param) ? [...param] : param,\\n };\\n}, {});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/signature-v4/dist-es/cloneRequest.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/signature-v4/dist-es/constants.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@smithy/signature-v4/dist-es/constants.js ***!\n \\****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ ALGORITHM_IDENTIFIER: () => (/* binding */ ALGORITHM_IDENTIFIER),\\n/* harmony export */ ALGORITHM_IDENTIFIER_V4A: () => (/* binding */ ALGORITHM_IDENTIFIER_V4A),\\n/* harmony export */ ALGORITHM_QUERY_PARAM: () => (/* binding */ ALGORITHM_QUERY_PARAM),\\n/* harmony export */ ALWAYS_UNSIGNABLE_HEADERS: () => (/* binding */ ALWAYS_UNSIGNABLE_HEADERS),\\n/* harmony export */ AMZ_DATE_HEADER: () => (/* binding */ AMZ_DATE_HEADER),\\n/* harmony export */ AMZ_DATE_QUERY_PARAM: () => (/* binding */ AMZ_DATE_QUERY_PARAM),\\n/* harmony export */ AUTH_HEADER: () => (/* binding */ AUTH_HEADER),\\n/* harmony export */ CREDENTIAL_QUERY_PARAM: () => (/* binding */ CREDENTIAL_QUERY_PARAM),\\n/* harmony export */ DATE_HEADER: () => (/* binding */ DATE_HEADER),\\n/* harmony export */ EVENT_ALGORITHM_IDENTIFIER: () => (/* binding */ EVENT_ALGORITHM_IDENTIFIER),\\n/* harmony export */ EXPIRES_QUERY_PARAM: () => (/* binding */ EXPIRES_QUERY_PARAM),\\n/* harmony export */ GENERATED_HEADERS: () => (/* binding */ GENERATED_HEADERS),\\n/* harmony export */ HOST_HEADER: () => (/* binding */ HOST_HEADER),\\n/* harmony export */ KEY_TYPE_IDENTIFIER: () => (/* binding */ KEY_TYPE_IDENTIFIER),\\n/* harmony export */ MAX_CACHE_SIZE: () => (/* binding */ MAX_CACHE_SIZE),\\n/* harmony export */ MAX_PRESIGNED_TTL: () => (/* binding */ MAX_PRESIGNED_TTL),\\n/* harmony export */ PROXY_HEADER_PATTERN: () => (/* binding */ PROXY_HEADER_PATTERN),\\n/* harmony export */ REGION_SET_PARAM: () => (/* binding */ REGION_SET_PARAM),\\n/* harmony export */ SEC_HEADER_PATTERN: () => (/* binding */ SEC_HEADER_PATTERN),\\n/* harmony export */ SHA256_HEADER: () => (/* binding */ SHA256_HEADER),\\n/* harmony export */ SIGNATURE_HEADER: () => (/* binding */ SIGNATURE_HEADER),\\n/* harmony export */ SIGNATURE_QUERY_PARAM: () => (/* binding */ SIGNATURE_QUERY_PARAM),\\n/* harmony export */ SIGNED_HEADERS_QUERY_PARAM: () => (/* binding */ SIGNED_HEADERS_QUERY_PARAM),\\n/* harmony export */ TOKEN_HEADER: () => (/* binding */ TOKEN_HEADER),\\n/* harmony export */ TOKEN_QUERY_PARAM: () => (/* binding */ TOKEN_QUERY_PARAM),\\n/* harmony export */ UNSIGNABLE_PATTERNS: () => (/* binding */ UNSIGNABLE_PATTERNS),\\n/* harmony export */ UNSIGNED_PAYLOAD: () => (/* binding */ UNSIGNED_PAYLOAD)\\n/* harmony export */ });\\nconst ALGORITHM_QUERY_PARAM = \\\"X-Amz-Algorithm\\\";\\nconst CREDENTIAL_QUERY_PARAM = \\\"X-Amz-Credential\\\";\\nconst AMZ_DATE_QUERY_PARAM = \\\"X-Amz-Date\\\";\\nconst SIGNED_HEADERS_QUERY_PARAM = \\\"X-Amz-SignedHeaders\\\";\\nconst EXPIRES_QUERY_PARAM = \\\"X-Amz-Expires\\\";\\nconst SIGNATURE_QUERY_PARAM = \\\"X-Amz-Signature\\\";\\nconst TOKEN_QUERY_PARAM = \\\"X-Amz-Security-Token\\\";\\nconst REGION_SET_PARAM = \\\"X-Amz-Region-Set\\\";\\nconst AUTH_HEADER = \\\"authorization\\\";\\nconst AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\\nconst DATE_HEADER = \\\"date\\\";\\nconst GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\\nconst SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\\nconst SHA256_HEADER = \\\"x-amz-content-sha256\\\";\\nconst TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\\nconst HOST_HEADER = \\\"host\\\";\\nconst ALWAYS_UNSIGNABLE_HEADERS = {\\n authorization: true,\\n \\\"cache-control\\\": true,\\n connection: true,\\n expect: true,\\n from: true,\\n \\\"keep-alive\\\": true,\\n \\\"max-forwards\\\": true,\\n pragma: true,\\n referer: true,\\n te: true,\\n trailer: true,\\n \\\"transfer-encoding\\\": true,\\n upgrade: true,\\n \\\"user-agent\\\": true,\\n \\\"x-amzn-trace-id\\\": true,\\n};\\nconst PROXY_HEADER_PATTERN = /^proxy-/;\\nconst SEC_HEADER_PATTERN = /^sec-/;\\nconst UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\\nconst ALGORITHM_IDENTIFIER = \\\"AWS4-HMAC-SHA256\\\";\\nconst ALGORITHM_IDENTIFIER_V4A = \\\"AWS4-ECDSA-P256-SHA256\\\";\\nconst EVENT_ALGORITHM_IDENTIFIER = \\\"AWS4-HMAC-SHA256-PAYLOAD\\\";\\nconst UNSIGNED_PAYLOAD = \\\"UNSIGNED-PAYLOAD\\\";\\nconst MAX_CACHE_SIZE = 50;\\nconst KEY_TYPE_IDENTIFIER = \\\"aws4_request\\\";\\nconst MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/signature-v4/dist-es/constants.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/signature-v4/dist-es/credentialDerivation.js\":\n/*!***************************************************************************!*\\\n !*** ./node_modules/@smithy/signature-v4/dist-es/credentialDerivation.js ***!\n \\***************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ clearCredentialCache: () => (/* binding */ clearCredentialCache),\\n/* harmony export */ createScope: () => (/* binding */ createScope),\\n/* harmony export */ getSigningKey: () => (/* binding */ getSigningKey)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-hex-encoding */ \\\"./node_modules/@smithy/util-hex-encoding/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_utf8__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/util-utf8 */ \\\"./node_modules/@smithy/util-utf8/dist-es/index.js\\\");\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/signature-v4/dist-es/constants.js\\\");\\n\\n\\n\\nconst signingKeyCache = {};\\nconst cacheQueue = [];\\nconst createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${_constants__WEBPACK_IMPORTED_MODULE_2__.KEY_TYPE_IDENTIFIER}`;\\nconst getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {\\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\\n const cacheKey = `${shortDate}:${region}:${service}:${(0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_0__.toHex)(credsHash)}:${credentials.sessionToken}`;\\n if (cacheKey in signingKeyCache) {\\n return signingKeyCache[cacheKey];\\n }\\n cacheQueue.push(cacheKey);\\n while (cacheQueue.length > _constants__WEBPACK_IMPORTED_MODULE_2__.MAX_CACHE_SIZE) {\\n delete signingKeyCache[cacheQueue.shift()];\\n }\\n let key = `AWS4${credentials.secretAccessKey}`;\\n for (const signable of [shortDate, region, service, _constants__WEBPACK_IMPORTED_MODULE_2__.KEY_TYPE_IDENTIFIER]) {\\n key = await hmac(sha256Constructor, key, signable);\\n }\\n return (signingKeyCache[cacheKey] = key);\\n};\\nconst clearCredentialCache = () => {\\n cacheQueue.length = 0;\\n Object.keys(signingKeyCache).forEach((cacheKey) => {\\n delete signingKeyCache[cacheKey];\\n });\\n};\\nconst hmac = (ctor, secret, data) => {\\n const hash = new ctor(secret);\\n hash.update((0,_smithy_util_utf8__WEBPACK_IMPORTED_MODULE_1__.toUint8Array)(data));\\n return hash.digest();\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/signature-v4/dist-es/credentialDerivation.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getCanonicalHeaders: () => (/* binding */ getCanonicalHeaders)\\n/* harmony export */ });\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/signature-v4/dist-es/constants.js\\\");\\n\\nconst getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {\\n const canonical = {};\\n for (const headerName of Object.keys(headers).sort()) {\\n if (headers[headerName] == undefined) {\\n continue;\\n }\\n const canonicalHeaderName = headerName.toLowerCase();\\n if (canonicalHeaderName in _constants__WEBPACK_IMPORTED_MODULE_0__.ALWAYS_UNSIGNABLE_HEADERS ||\\n unsignableHeaders?.has(canonicalHeaderName) ||\\n _constants__WEBPACK_IMPORTED_MODULE_0__.PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\\n _constants__WEBPACK_IMPORTED_MODULE_0__.SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\\n continue;\\n }\\n }\\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\\\s+/g, \\\" \\\");\\n }\\n return canonical;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js ***!\n \\************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getCanonicalQuery: () => (/* binding */ getCanonicalQuery)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_uri_escape__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-uri-escape */ \\\"./node_modules/@smithy/util-uri-escape/dist-es/index.js\\\");\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/signature-v4/dist-es/constants.js\\\");\\n\\n\\nconst getCanonicalQuery = ({ query = {} }) => {\\n const keys = [];\\n const serialized = {};\\n for (const key of Object.keys(query).sort()) {\\n if (key.toLowerCase() === _constants__WEBPACK_IMPORTED_MODULE_1__.SIGNATURE_HEADER) {\\n continue;\\n }\\n keys.push(key);\\n const value = query[key];\\n if (typeof value === \\\"string\\\") {\\n serialized[key] = `${(0,_smithy_util_uri_escape__WEBPACK_IMPORTED_MODULE_0__.escapeUri)(key)}=${(0,_smithy_util_uri_escape__WEBPACK_IMPORTED_MODULE_0__.escapeUri)(value)}`;\\n }\\n else if (Array.isArray(value)) {\\n serialized[key] = value\\n .slice(0)\\n .sort()\\n .reduce((encoded, value) => encoded.concat([`${(0,_smithy_util_uri_escape__WEBPACK_IMPORTED_MODULE_0__.escapeUri)(key)}=${(0,_smithy_util_uri_escape__WEBPACK_IMPORTED_MODULE_0__.escapeUri)(value)}`]), [])\\n .join(\\\"&\\\");\\n }\\n }\\n return keys\\n .map((key) => serialized[key])\\n .filter((serialized) => serialized)\\n .join(\\\"&\\\");\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getPayloadHash: () => (/* binding */ getPayloadHash)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_is_array_buffer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/is-array-buffer */ \\\"./node_modules/@smithy/is-array-buffer/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/util-hex-encoding */ \\\"./node_modules/@smithy/util-hex-encoding/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_utf8__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/util-utf8 */ \\\"./node_modules/@smithy/util-utf8/dist-es/index.js\\\");\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/signature-v4/dist-es/constants.js\\\");\\n\\n\\n\\n\\nconst getPayloadHash = async ({ headers, body }, hashConstructor) => {\\n for (const headerName of Object.keys(headers)) {\\n if (headerName.toLowerCase() === _constants__WEBPACK_IMPORTED_MODULE_3__.SHA256_HEADER) {\\n return headers[headerName];\\n }\\n }\\n if (body == undefined) {\\n return \\\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\\\";\\n }\\n else if (typeof body === \\\"string\\\" || ArrayBuffer.isView(body) || (0,_smithy_is_array_buffer__WEBPACK_IMPORTED_MODULE_0__.isArrayBuffer)(body)) {\\n const hashCtor = new hashConstructor();\\n hashCtor.update((0,_smithy_util_utf8__WEBPACK_IMPORTED_MODULE_2__.toUint8Array)(body));\\n return (0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_1__.toHex)(await hashCtor.digest());\\n }\\n return _constants__WEBPACK_IMPORTED_MODULE_3__.UNSIGNED_PAYLOAD;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/signature-v4/dist-es/headerUtil.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@smithy/signature-v4/dist-es/headerUtil.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ deleteHeader: () => (/* binding */ deleteHeader),\\n/* harmony export */ getHeaderValue: () => (/* binding */ getHeaderValue),\\n/* harmony export */ hasHeader: () => (/* binding */ hasHeader)\\n/* harmony export */ });\\nconst hasHeader = (soughtHeader, headers) => {\\n soughtHeader = soughtHeader.toLowerCase();\\n for (const headerName of Object.keys(headers)) {\\n if (soughtHeader === headerName.toLowerCase()) {\\n return true;\\n }\\n }\\n return false;\\n};\\nconst getHeaderValue = (soughtHeader, headers) => {\\n soughtHeader = soughtHeader.toLowerCase();\\n for (const headerName of Object.keys(headers)) {\\n if (soughtHeader === headerName.toLowerCase()) {\\n return headers[headerName];\\n }\\n }\\n return undefined;\\n};\\nconst deleteHeader = (soughtHeader, headers) => {\\n soughtHeader = soughtHeader.toLowerCase();\\n for (const headerName of Object.keys(headers)) {\\n if (soughtHeader === headerName.toLowerCase()) {\\n delete headers[headerName];\\n }\\n }\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/signature-v4/dist-es/headerUtil.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/signature-v4/dist-es/index.js\":\n/*!************************************************************!*\\\n !*** ./node_modules/@smithy/signature-v4/dist-es/index.js ***!\n \\************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ SignatureV4: () => (/* reexport safe */ _SignatureV4__WEBPACK_IMPORTED_MODULE_0__.SignatureV4),\\n/* harmony export */ clearCredentialCache: () => (/* reexport safe */ _credentialDerivation__WEBPACK_IMPORTED_MODULE_6__.clearCredentialCache),\\n/* harmony export */ createScope: () => (/* reexport safe */ _credentialDerivation__WEBPACK_IMPORTED_MODULE_6__.createScope),\\n/* harmony export */ getCanonicalHeaders: () => (/* reexport safe */ _getCanonicalHeaders__WEBPACK_IMPORTED_MODULE_1__.getCanonicalHeaders),\\n/* harmony export */ getCanonicalQuery: () => (/* reexport safe */ _getCanonicalQuery__WEBPACK_IMPORTED_MODULE_2__.getCanonicalQuery),\\n/* harmony export */ getPayloadHash: () => (/* reexport safe */ _getPayloadHash__WEBPACK_IMPORTED_MODULE_3__.getPayloadHash),\\n/* harmony export */ getSigningKey: () => (/* reexport safe */ _credentialDerivation__WEBPACK_IMPORTED_MODULE_6__.getSigningKey),\\n/* harmony export */ moveHeadersToQuery: () => (/* reexport safe */ _moveHeadersToQuery__WEBPACK_IMPORTED_MODULE_4__.moveHeadersToQuery),\\n/* harmony export */ prepareRequest: () => (/* reexport safe */ _prepareRequest__WEBPACK_IMPORTED_MODULE_5__.prepareRequest)\\n/* harmony export */ });\\n/* harmony import */ var _SignatureV4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SignatureV4 */ \\\"./node_modules/@smithy/signature-v4/dist-es/SignatureV4.js\\\");\\n/* harmony import */ var _getCanonicalHeaders__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getCanonicalHeaders */ \\\"./node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js\\\");\\n/* harmony import */ var _getCanonicalQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getCanonicalQuery */ \\\"./node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js\\\");\\n/* harmony import */ var _getPayloadHash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getPayloadHash */ \\\"./node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js\\\");\\n/* harmony import */ var _moveHeadersToQuery__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./moveHeadersToQuery */ \\\"./node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js\\\");\\n/* harmony import */ var _prepareRequest__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./prepareRequest */ \\\"./node_modules/@smithy/signature-v4/dist-es/prepareRequest.js\\\");\\n/* harmony import */ var _credentialDerivation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./credentialDerivation */ \\\"./node_modules/@smithy/signature-v4/dist-es/credentialDerivation.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/signature-v4/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ moveHeadersToQuery: () => (/* binding */ moveHeadersToQuery)\\n/* harmony export */ });\\n/* harmony import */ var _cloneRequest__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cloneRequest */ \\\"./node_modules/@smithy/signature-v4/dist-es/cloneRequest.js\\\");\\n\\nconst moveHeadersToQuery = (request, options = {}) => {\\n const { headers, query = {} } = typeof request.clone === \\\"function\\\" ? request.clone() : (0,_cloneRequest__WEBPACK_IMPORTED_MODULE_0__.cloneRequest)(request);\\n for (const name of Object.keys(headers)) {\\n const lname = name.toLowerCase();\\n if (lname.slice(0, 6) === \\\"x-amz-\\\" && !options.unhoistableHeaders?.has(lname)) {\\n query[name] = headers[name];\\n delete headers[name];\\n }\\n }\\n return {\\n ...request,\\n headers,\\n query,\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/signature-v4/dist-es/prepareRequest.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/@smithy/signature-v4/dist-es/prepareRequest.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ prepareRequest: () => (/* binding */ prepareRequest)\\n/* harmony export */ });\\n/* harmony import */ var _cloneRequest__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cloneRequest */ \\\"./node_modules/@smithy/signature-v4/dist-es/cloneRequest.js\\\");\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/signature-v4/dist-es/constants.js\\\");\\n\\n\\nconst prepareRequest = (request) => {\\n request = typeof request.clone === \\\"function\\\" ? request.clone() : (0,_cloneRequest__WEBPACK_IMPORTED_MODULE_0__.cloneRequest)(request);\\n for (const headerName of Object.keys(request.headers)) {\\n if (_constants__WEBPACK_IMPORTED_MODULE_1__.GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\\n delete request.headers[headerName];\\n }\\n }\\n return request;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/signature-v4/dist-es/prepareRequest.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/signature-v4/dist-es/utilDate.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@smithy/signature-v4/dist-es/utilDate.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ iso8601: () => (/* binding */ iso8601),\\n/* harmony export */ toDate: () => (/* binding */ toDate)\\n/* harmony export */ });\\nconst iso8601 = (time) => toDate(time)\\n .toISOString()\\n .replace(/\\\\.\\\\d{3}Z$/, \\\"Z\\\");\\nconst toDate = (time) => {\\n if (typeof time === \\\"number\\\") {\\n return new Date(time * 1000);\\n }\\n if (typeof time === \\\"string\\\") {\\n if (Number(time)) {\\n return new Date(Number(time) * 1000);\\n }\\n return new Date(time);\\n }\\n return time;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/signature-v4/dist-es/utilDate.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/NoOpLogger.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/NoOpLogger.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ NoOpLogger: () => (/* binding */ NoOpLogger)\\n/* harmony export */ });\\nclass NoOpLogger {\\n trace() { }\\n debug() { }\\n info() { }\\n warn() { }\\n error() { }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/NoOpLogger.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/client.js\":\n/*!**************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/client.js ***!\n \\**************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Client: () => (/* binding */ Client)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_stack__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-stack */ \\\"./node_modules/@smithy/middleware-stack/dist-es/index.js\\\");\\n\\nclass Client {\\n constructor(config) {\\n this.middlewareStack = (0,_smithy_middleware_stack__WEBPACK_IMPORTED_MODULE_0__.constructStack)();\\n this.config = config;\\n }\\n send(command, optionsOrCb, cb) {\\n const options = typeof optionsOrCb !== \\\"function\\\" ? optionsOrCb : undefined;\\n const callback = typeof optionsOrCb === \\\"function\\\" ? optionsOrCb : cb;\\n const handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\\n if (callback) {\\n handler(command)\\n .then((result) => callback(null, result.output), (err) => callback(err))\\n .catch(() => { });\\n }\\n else {\\n return handler(command).then((result) => result.output);\\n }\\n }\\n destroy() {\\n if (this.config.requestHandler.destroy)\\n this.config.requestHandler.destroy();\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/client.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/collect-stream-body.js\":\n/*!***************************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/collect-stream-body.js ***!\n \\***************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ collectBody: () => (/* binding */ collectBody)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_stream__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-stream */ \\\"./node_modules/@smithy/util-stream/dist-es/index.js\\\");\\n\\nconst collectBody = async (streamBody = new Uint8Array(), context) => {\\n if (streamBody instanceof Uint8Array) {\\n return _smithy_util_stream__WEBPACK_IMPORTED_MODULE_0__.Uint8ArrayBlobAdapter.mutate(streamBody);\\n }\\n if (!streamBody) {\\n return _smithy_util_stream__WEBPACK_IMPORTED_MODULE_0__.Uint8ArrayBlobAdapter.mutate(new Uint8Array());\\n }\\n const fromContext = context.streamCollector(streamBody);\\n return _smithy_util_stream__WEBPACK_IMPORTED_MODULE_0__.Uint8ArrayBlobAdapter.mutate(await fromContext);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/collect-stream-body.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/command.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/command.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Command: () => (/* binding */ Command)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_middleware_stack__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/middleware-stack */ \\\"./node_modules/@smithy/middleware-stack/dist-es/index.js\\\");\\n\\nclass Command {\\n constructor() {\\n this.middlewareStack = (0,_smithy_middleware_stack__WEBPACK_IMPORTED_MODULE_0__.constructStack)();\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/command.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/constants.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/constants.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ SENSITIVE_STRING: () => (/* binding */ SENSITIVE_STRING)\\n/* harmony export */ });\\nconst SENSITIVE_STRING = \\\"***SensitiveInformation***\\\";\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/constants.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/create-aggregated-client.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/create-aggregated-client.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ createAggregatedClient: () => (/* binding */ createAggregatedClient)\\n/* harmony export */ });\\nconst createAggregatedClient = (commands, Client) => {\\n for (const command of Object.keys(commands)) {\\n const CommandCtor = commands[command];\\n const methodImpl = async function (args, optionsOrCb, cb) {\\n const command = new CommandCtor(args);\\n if (typeof optionsOrCb === \\\"function\\\") {\\n this.send(command, optionsOrCb);\\n }\\n else if (typeof cb === \\\"function\\\") {\\n if (typeof optionsOrCb !== \\\"object\\\")\\n throw new Error(`Expected http options but got ${typeof optionsOrCb}`);\\n this.send(command, optionsOrCb || {}, cb);\\n }\\n else {\\n return this.send(command, optionsOrCb);\\n }\\n };\\n const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, \\\"\\\");\\n Client.prototype[methodName] = methodImpl;\\n }\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/create-aggregated-client.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/date-utils.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/date-utils.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ dateToUtcString: () => (/* binding */ dateToUtcString),\\n/* harmony export */ parseEpochTimestamp: () => (/* binding */ parseEpochTimestamp),\\n/* harmony export */ parseRfc3339DateTime: () => (/* binding */ parseRfc3339DateTime),\\n/* harmony export */ parseRfc3339DateTimeWithOffset: () => (/* binding */ parseRfc3339DateTimeWithOffset),\\n/* harmony export */ parseRfc7231DateTime: () => (/* binding */ parseRfc7231DateTime)\\n/* harmony export */ });\\n/* harmony import */ var _parse_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./parse-utils */ \\\"./node_modules/@smithy/smithy-client/dist-es/parse-utils.js\\\");\\n\\nconst DAYS = [\\\"Sun\\\", \\\"Mon\\\", \\\"Tue\\\", \\\"Wed\\\", \\\"Thu\\\", \\\"Fri\\\", \\\"Sat\\\"];\\nconst MONTHS = [\\\"Jan\\\", \\\"Feb\\\", \\\"Mar\\\", \\\"Apr\\\", \\\"May\\\", \\\"Jun\\\", \\\"Jul\\\", \\\"Aug\\\", \\\"Sep\\\", \\\"Oct\\\", \\\"Nov\\\", \\\"Dec\\\"];\\nfunction dateToUtcString(date) {\\n const year = date.getUTCFullYear();\\n const month = date.getUTCMonth();\\n const dayOfWeek = date.getUTCDay();\\n const dayOfMonthInt = date.getUTCDate();\\n const hoursInt = date.getUTCHours();\\n const minutesInt = date.getUTCMinutes();\\n const secondsInt = date.getUTCSeconds();\\n const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;\\n const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;\\n const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;\\n const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;\\n return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`;\\n}\\nconst RFC3339 = new RegExp(/^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})[tT](\\\\d{2}):(\\\\d{2}):(\\\\d{2})(?:\\\\.(\\\\d+))?[zZ]$/);\\nconst parseRfc3339DateTime = (value) => {\\n if (value === null || value === undefined) {\\n return undefined;\\n }\\n if (typeof value !== \\\"string\\\") {\\n throw new TypeError(\\\"RFC-3339 date-times must be expressed as strings\\\");\\n }\\n const match = RFC3339.exec(value);\\n if (!match) {\\n throw new TypeError(\\\"Invalid RFC-3339 date-time value\\\");\\n }\\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;\\n const year = (0,_parse_utils__WEBPACK_IMPORTED_MODULE_0__.strictParseShort)(stripLeadingZeroes(yearStr));\\n const month = parseDateValue(monthStr, \\\"month\\\", 1, 12);\\n const day = parseDateValue(dayStr, \\\"day\\\", 1, 31);\\n return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\\n};\\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})[tT](\\\\d{2}):(\\\\d{2}):(\\\\d{2})(?:\\\\.(\\\\d+))?(([-+]\\\\d{2}\\\\:\\\\d{2})|[zZ])$/);\\nconst parseRfc3339DateTimeWithOffset = (value) => {\\n if (value === null || value === undefined) {\\n return undefined;\\n }\\n if (typeof value !== \\\"string\\\") {\\n throw new TypeError(\\\"RFC-3339 date-times must be expressed as strings\\\");\\n }\\n const match = RFC3339_WITH_OFFSET.exec(value);\\n if (!match) {\\n throw new TypeError(\\\"Invalid RFC-3339 date-time value\\\");\\n }\\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;\\n const year = (0,_parse_utils__WEBPACK_IMPORTED_MODULE_0__.strictParseShort)(stripLeadingZeroes(yearStr));\\n const month = parseDateValue(monthStr, \\\"month\\\", 1, 12);\\n const day = parseDateValue(dayStr, \\\"day\\\", 1, 31);\\n const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\\n if (offsetStr.toUpperCase() != \\\"Z\\\") {\\n date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr));\\n }\\n return date;\\n};\\nconst IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\\\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\\\d{4}) (\\\\d{1,2}):(\\\\d{2}):(\\\\d{2})(?:\\\\.(\\\\d+))? GMT$/);\\nconst RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\\\d{2}) (\\\\d{1,2}):(\\\\d{2}):(\\\\d{2})(?:\\\\.(\\\\d+))? GMT$/);\\nconst ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\\\\d{2}) (\\\\d{1,2}):(\\\\d{2}):(\\\\d{2})(?:\\\\.(\\\\d+))? (\\\\d{4})$/);\\nconst parseRfc7231DateTime = (value) => {\\n if (value === null || value === undefined) {\\n return undefined;\\n }\\n if (typeof value !== \\\"string\\\") {\\n throw new TypeError(\\\"RFC-7231 date-times must be expressed as strings\\\");\\n }\\n let match = IMF_FIXDATE.exec(value);\\n if (match) {\\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\\n return buildDate((0,_parse_utils__WEBPACK_IMPORTED_MODULE_0__.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, \\\"day\\\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\\n }\\n match = RFC_850_DATE.exec(value);\\n if (match) {\\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\\n return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, \\\"day\\\", 1, 31), {\\n hours,\\n minutes,\\n seconds,\\n fractionalMilliseconds,\\n }));\\n }\\n match = ASC_TIME.exec(value);\\n if (match) {\\n const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;\\n return buildDate((0,_parse_utils__WEBPACK_IMPORTED_MODULE_0__.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), \\\"day\\\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\\n }\\n throw new TypeError(\\\"Invalid RFC-7231 date-time value\\\");\\n};\\nconst parseEpochTimestamp = (value) => {\\n if (value === null || value === undefined) {\\n return undefined;\\n }\\n let valueAsDouble;\\n if (typeof value === \\\"number\\\") {\\n valueAsDouble = value;\\n }\\n else if (typeof value === \\\"string\\\") {\\n valueAsDouble = (0,_parse_utils__WEBPACK_IMPORTED_MODULE_0__.strictParseDouble)(value);\\n }\\n else {\\n throw new TypeError(\\\"Epoch timestamps must be expressed as floating point numbers or their string representation\\\");\\n }\\n if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {\\n throw new TypeError(\\\"Epoch timestamps must be valid, non-Infinite, non-NaN numerics\\\");\\n }\\n return new Date(Math.round(valueAsDouble * 1000));\\n};\\nconst buildDate = (year, month, day, time) => {\\n const adjustedMonth = month - 1;\\n validateDayOfMonth(year, adjustedMonth, day);\\n return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, \\\"hour\\\", 0, 23), parseDateValue(time.minutes, \\\"minute\\\", 0, 59), parseDateValue(time.seconds, \\\"seconds\\\", 0, 60), parseMilliseconds(time.fractionalMilliseconds)));\\n};\\nconst parseTwoDigitYear = (value) => {\\n const thisYear = new Date().getUTCFullYear();\\n const valueInThisCentury = Math.floor(thisYear / 100) * 100 + (0,_parse_utils__WEBPACK_IMPORTED_MODULE_0__.strictParseShort)(stripLeadingZeroes(value));\\n if (valueInThisCentury < thisYear) {\\n return valueInThisCentury + 100;\\n }\\n return valueInThisCentury;\\n};\\nconst FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000;\\nconst adjustRfc850Year = (input) => {\\n if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) {\\n return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));\\n }\\n return input;\\n};\\nconst parseMonthByShortName = (value) => {\\n const monthIdx = MONTHS.indexOf(value);\\n if (monthIdx < 0) {\\n throw new TypeError(`Invalid month: ${value}`);\\n }\\n return monthIdx + 1;\\n};\\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\\nconst validateDayOfMonth = (year, month, day) => {\\n let maxDays = DAYS_IN_MONTH[month];\\n if (month === 1 && isLeapYear(year)) {\\n maxDays = 29;\\n }\\n if (day > maxDays) {\\n throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`);\\n }\\n};\\nconst isLeapYear = (year) => {\\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\\n};\\nconst parseDateValue = (value, type, lower, upper) => {\\n const dateVal = (0,_parse_utils__WEBPACK_IMPORTED_MODULE_0__.strictParseByte)(stripLeadingZeroes(value));\\n if (dateVal < lower || dateVal > upper) {\\n throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);\\n }\\n return dateVal;\\n};\\nconst parseMilliseconds = (value) => {\\n if (value === null || value === undefined) {\\n return 0;\\n }\\n return (0,_parse_utils__WEBPACK_IMPORTED_MODULE_0__.strictParseFloat32)(\\\"0.\\\" + value) * 1000;\\n};\\nconst parseOffsetToMilliseconds = (value) => {\\n const directionStr = value[0];\\n let direction = 1;\\n if (directionStr == \\\"+\\\") {\\n direction = 1;\\n }\\n else if (directionStr == \\\"-\\\") {\\n direction = -1;\\n }\\n else {\\n throw new TypeError(`Offset direction, ${directionStr}, must be \\\"+\\\" or \\\"-\\\"`);\\n }\\n const hour = Number(value.substring(1, 3));\\n const minute = Number(value.substring(4, 6));\\n return direction * (hour * 60 + minute) * 60 * 1000;\\n};\\nconst stripLeadingZeroes = (value) => {\\n let idx = 0;\\n while (idx < value.length - 1 && value.charAt(idx) === \\\"0\\\") {\\n idx++;\\n }\\n if (idx === 0) {\\n return value;\\n }\\n return value.slice(idx);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/date-utils.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/default-error-handler.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/default-error-handler.js ***!\n \\*****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ throwDefaultError: () => (/* binding */ throwDefaultError),\\n/* harmony export */ withBaseException: () => (/* binding */ withBaseException)\\n/* harmony export */ });\\n/* harmony import */ var _exceptions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./exceptions */ \\\"./node_modules/@smithy/smithy-client/dist-es/exceptions.js\\\");\\n\\nconst throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {\\n const $metadata = deserializeMetadata(output);\\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \\\"\\\" : undefined;\\n const response = new exceptionCtor({\\n name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || \\\"UnknownError\\\",\\n $fault: \\\"client\\\",\\n $metadata,\\n });\\n throw (0,_exceptions__WEBPACK_IMPORTED_MODULE_0__.decorateServiceException)(response, parsedBody);\\n};\\nconst withBaseException = (ExceptionCtor) => {\\n return ({ output, parsedBody, errorCode }) => {\\n throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });\\n };\\n};\\nconst deserializeMetadata = (output) => ({\\n httpStatusCode: output.statusCode,\\n requestId: output.headers[\\\"x-amzn-requestid\\\"] ?? output.headers[\\\"x-amzn-request-id\\\"] ?? output.headers[\\\"x-amz-request-id\\\"],\\n extendedRequestId: output.headers[\\\"x-amz-id-2\\\"],\\n cfId: output.headers[\\\"x-amz-cf-id\\\"],\\n});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/default-error-handler.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/defaults-mode.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/defaults-mode.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ loadConfigsForDefaultMode: () => (/* binding */ loadConfigsForDefaultMode)\\n/* harmony export */ });\\nconst loadConfigsForDefaultMode = (mode) => {\\n switch (mode) {\\n case \\\"standard\\\":\\n return {\\n retryMode: \\\"standard\\\",\\n connectionTimeout: 3100,\\n };\\n case \\\"in-region\\\":\\n return {\\n retryMode: \\\"standard\\\",\\n connectionTimeout: 1100,\\n };\\n case \\\"cross-region\\\":\\n return {\\n retryMode: \\\"standard\\\",\\n connectionTimeout: 3100,\\n };\\n case \\\"mobile\\\":\\n return {\\n retryMode: \\\"standard\\\",\\n connectionTimeout: 30000,\\n };\\n default:\\n return {};\\n }\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/defaults-mode.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/emitWarningIfUnsupportedVersion.js\":\n/*!***************************************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/emitWarningIfUnsupportedVersion.js ***!\n \\***************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ emitWarningIfUnsupportedVersion: () => (/* binding */ emitWarningIfUnsupportedVersion)\\n/* harmony export */ });\\nlet warningEmitted = false;\\nconst emitWarningIfUnsupportedVersion = (version) => {\\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\\\".\\\"))) < 14) {\\n warningEmitted = true;\\n }\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/emitWarningIfUnsupportedVersion.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/exceptions.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/exceptions.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ ServiceException: () => (/* binding */ ServiceException),\\n/* harmony export */ decorateServiceException: () => (/* binding */ decorateServiceException)\\n/* harmony export */ });\\nclass ServiceException extends Error {\\n constructor(options) {\\n super(options.message);\\n Object.setPrototypeOf(this, ServiceException.prototype);\\n this.name = options.name;\\n this.$fault = options.$fault;\\n this.$metadata = options.$metadata;\\n }\\n}\\nconst decorateServiceException = (exception, additions = {}) => {\\n Object.entries(additions)\\n .filter(([, v]) => v !== undefined)\\n .forEach(([k, v]) => {\\n if (exception[k] == undefined || exception[k] === \\\"\\\") {\\n exception[k] = v;\\n }\\n });\\n const message = exception.message || exception.Message || \\\"UnknownError\\\";\\n exception.message = message;\\n delete exception.Message;\\n return exception;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/exceptions.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/extended-encode-uri-component.js\":\n/*!*************************************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/extended-encode-uri-component.js ***!\n \\*************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ extendedEncodeURIComponent: () => (/* binding */ extendedEncodeURIComponent)\\n/* harmony export */ });\\nfunction extendedEncodeURIComponent(str) {\\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\\n return \\\"%\\\" + c.charCodeAt(0).toString(16).toUpperCase();\\n });\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/extended-encode-uri-component.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/get-array-if-single-item.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/get-array-if-single-item.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getArrayIfSingleItem: () => (/* binding */ getArrayIfSingleItem)\\n/* harmony export */ });\\nconst getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/get-array-if-single-item.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/get-value-from-text-node.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/get-value-from-text-node.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getValueFromTextNode: () => (/* binding */ getValueFromTextNode)\\n/* harmony export */ });\\nconst getValueFromTextNode = (obj) => {\\n const textNodeName = \\\"#text\\\";\\n for (const key in obj) {\\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\\n obj[key] = obj[key][textNodeName];\\n }\\n else if (typeof obj[key] === \\\"object\\\" && obj[key] !== null) {\\n obj[key] = getValueFromTextNode(obj[key]);\\n }\\n }\\n return obj;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/get-value-from-text-node.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/index.js\":\n/*!*************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/index.js ***!\n \\*************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Client: () => (/* reexport safe */ _client__WEBPACK_IMPORTED_MODULE_1__.Client),\\n/* harmony export */ Command: () => (/* reexport safe */ _command__WEBPACK_IMPORTED_MODULE_3__.Command),\\n/* harmony export */ LazyJsonString: () => (/* reexport safe */ _lazy_json__WEBPACK_IMPORTED_MODULE_14__.LazyJsonString),\\n/* harmony export */ NoOpLogger: () => (/* reexport safe */ _NoOpLogger__WEBPACK_IMPORTED_MODULE_0__.NoOpLogger),\\n/* harmony export */ SENSITIVE_STRING: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_4__.SENSITIVE_STRING),\\n/* harmony export */ ServiceException: () => (/* reexport safe */ _exceptions__WEBPACK_IMPORTED_MODULE_10__.ServiceException),\\n/* harmony export */ StringWrapper: () => (/* reexport safe */ _lazy_json__WEBPACK_IMPORTED_MODULE_14__.StringWrapper),\\n/* harmony export */ _json: () => (/* reexport safe */ _serde_json__WEBPACK_IMPORTED_MODULE_19__._json),\\n/* harmony export */ collectBody: () => (/* reexport safe */ _collect_stream_body__WEBPACK_IMPORTED_MODULE_2__.collectBody),\\n/* harmony export */ convertMap: () => (/* reexport safe */ _object_mapping__WEBPACK_IMPORTED_MODULE_15__.convertMap),\\n/* harmony export */ createAggregatedClient: () => (/* reexport safe */ _create_aggregated_client__WEBPACK_IMPORTED_MODULE_5__.createAggregatedClient),\\n/* harmony export */ dateToUtcString: () => (/* reexport safe */ _date_utils__WEBPACK_IMPORTED_MODULE_6__.dateToUtcString),\\n/* harmony export */ decorateServiceException: () => (/* reexport safe */ _exceptions__WEBPACK_IMPORTED_MODULE_10__.decorateServiceException),\\n/* harmony export */ emitWarningIfUnsupportedVersion: () => (/* reexport safe */ _emitWarningIfUnsupportedVersion__WEBPACK_IMPORTED_MODULE_9__.emitWarningIfUnsupportedVersion),\\n/* harmony export */ expectBoolean: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.expectBoolean),\\n/* harmony export */ expectByte: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.expectByte),\\n/* harmony export */ expectFloat32: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.expectFloat32),\\n/* harmony export */ expectInt: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.expectInt),\\n/* harmony export */ expectInt32: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.expectInt32),\\n/* harmony export */ expectLong: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.expectLong),\\n/* harmony export */ expectNonNull: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.expectNonNull),\\n/* harmony export */ expectNumber: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.expectNumber),\\n/* harmony export */ expectObject: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.expectObject),\\n/* harmony export */ expectShort: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.expectShort),\\n/* harmony export */ expectString: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.expectString),\\n/* harmony export */ expectUnion: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.expectUnion),\\n/* harmony export */ extendedEncodeURIComponent: () => (/* reexport safe */ _extended_encode_uri_component__WEBPACK_IMPORTED_MODULE_11__.extendedEncodeURIComponent),\\n/* harmony export */ getArrayIfSingleItem: () => (/* reexport safe */ _get_array_if_single_item__WEBPACK_IMPORTED_MODULE_12__.getArrayIfSingleItem),\\n/* harmony export */ getValueFromTextNode: () => (/* reexport safe */ _get_value_from_text_node__WEBPACK_IMPORTED_MODULE_13__.getValueFromTextNode),\\n/* harmony export */ handleFloat: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.handleFloat),\\n/* harmony export */ limitedParseDouble: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.limitedParseDouble),\\n/* harmony export */ limitedParseFloat: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.limitedParseFloat),\\n/* harmony export */ limitedParseFloat32: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.limitedParseFloat32),\\n/* harmony export */ loadConfigsForDefaultMode: () => (/* reexport safe */ _defaults_mode__WEBPACK_IMPORTED_MODULE_8__.loadConfigsForDefaultMode),\\n/* harmony export */ logger: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.logger),\\n/* harmony export */ map: () => (/* reexport safe */ _object_mapping__WEBPACK_IMPORTED_MODULE_15__.map),\\n/* harmony export */ parseBoolean: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.parseBoolean),\\n/* harmony export */ parseEpochTimestamp: () => (/* reexport safe */ _date_utils__WEBPACK_IMPORTED_MODULE_6__.parseEpochTimestamp),\\n/* harmony export */ parseRfc3339DateTime: () => (/* reexport safe */ _date_utils__WEBPACK_IMPORTED_MODULE_6__.parseRfc3339DateTime),\\n/* harmony export */ parseRfc3339DateTimeWithOffset: () => (/* reexport safe */ _date_utils__WEBPACK_IMPORTED_MODULE_6__.parseRfc3339DateTimeWithOffset),\\n/* harmony export */ parseRfc7231DateTime: () => (/* reexport safe */ _date_utils__WEBPACK_IMPORTED_MODULE_6__.parseRfc7231DateTime),\\n/* harmony export */ resolvedPath: () => (/* reexport safe */ _resolve_path__WEBPACK_IMPORTED_MODULE_17__.resolvedPath),\\n/* harmony export */ serializeFloat: () => (/* reexport safe */ _ser_utils__WEBPACK_IMPORTED_MODULE_18__.serializeFloat),\\n/* harmony export */ splitEvery: () => (/* reexport safe */ _split_every__WEBPACK_IMPORTED_MODULE_20__.splitEvery),\\n/* harmony export */ strictParseByte: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.strictParseByte),\\n/* harmony export */ strictParseDouble: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.strictParseDouble),\\n/* harmony export */ strictParseFloat: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.strictParseFloat),\\n/* harmony export */ strictParseFloat32: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.strictParseFloat32),\\n/* harmony export */ strictParseInt: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.strictParseInt),\\n/* harmony export */ strictParseInt32: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.strictParseInt32),\\n/* harmony export */ strictParseLong: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.strictParseLong),\\n/* harmony export */ strictParseShort: () => (/* reexport safe */ _parse_utils__WEBPACK_IMPORTED_MODULE_16__.strictParseShort),\\n/* harmony export */ take: () => (/* reexport safe */ _object_mapping__WEBPACK_IMPORTED_MODULE_15__.take),\\n/* harmony export */ throwDefaultError: () => (/* reexport safe */ _default_error_handler__WEBPACK_IMPORTED_MODULE_7__.throwDefaultError),\\n/* harmony export */ withBaseException: () => (/* reexport safe */ _default_error_handler__WEBPACK_IMPORTED_MODULE_7__.withBaseException)\\n/* harmony export */ });\\n/* harmony import */ var _NoOpLogger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NoOpLogger */ \\\"./node_modules/@smithy/smithy-client/dist-es/NoOpLogger.js\\\");\\n/* harmony import */ var _client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./client */ \\\"./node_modules/@smithy/smithy-client/dist-es/client.js\\\");\\n/* harmony import */ var _collect_stream_body__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./collect-stream-body */ \\\"./node_modules/@smithy/smithy-client/dist-es/collect-stream-body.js\\\");\\n/* harmony import */ var _command__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./command */ \\\"./node_modules/@smithy/smithy-client/dist-es/command.js\\\");\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/smithy-client/dist-es/constants.js\\\");\\n/* harmony import */ var _create_aggregated_client__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./create-aggregated-client */ \\\"./node_modules/@smithy/smithy-client/dist-es/create-aggregated-client.js\\\");\\n/* harmony import */ var _date_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./date-utils */ \\\"./node_modules/@smithy/smithy-client/dist-es/date-utils.js\\\");\\n/* harmony import */ var _default_error_handler__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./default-error-handler */ \\\"./node_modules/@smithy/smithy-client/dist-es/default-error-handler.js\\\");\\n/* harmony import */ var _defaults_mode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./defaults-mode */ \\\"./node_modules/@smithy/smithy-client/dist-es/defaults-mode.js\\\");\\n/* harmony import */ var _emitWarningIfUnsupportedVersion__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./emitWarningIfUnsupportedVersion */ \\\"./node_modules/@smithy/smithy-client/dist-es/emitWarningIfUnsupportedVersion.js\\\");\\n/* harmony import */ var _exceptions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./exceptions */ \\\"./node_modules/@smithy/smithy-client/dist-es/exceptions.js\\\");\\n/* harmony import */ var _extended_encode_uri_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./extended-encode-uri-component */ \\\"./node_modules/@smithy/smithy-client/dist-es/extended-encode-uri-component.js\\\");\\n/* harmony import */ var _get_array_if_single_item__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./get-array-if-single-item */ \\\"./node_modules/@smithy/smithy-client/dist-es/get-array-if-single-item.js\\\");\\n/* harmony import */ var _get_value_from_text_node__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./get-value-from-text-node */ \\\"./node_modules/@smithy/smithy-client/dist-es/get-value-from-text-node.js\\\");\\n/* harmony import */ var _lazy_json__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./lazy-json */ \\\"./node_modules/@smithy/smithy-client/dist-es/lazy-json.js\\\");\\n/* harmony import */ var _object_mapping__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./object-mapping */ \\\"./node_modules/@smithy/smithy-client/dist-es/object-mapping.js\\\");\\n/* harmony import */ var _parse_utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./parse-utils */ \\\"./node_modules/@smithy/smithy-client/dist-es/parse-utils.js\\\");\\n/* harmony import */ var _resolve_path__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./resolve-path */ \\\"./node_modules/@smithy/smithy-client/dist-es/resolve-path.js\\\");\\n/* harmony import */ var _ser_utils__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./ser-utils */ \\\"./node_modules/@smithy/smithy-client/dist-es/ser-utils.js\\\");\\n/* harmony import */ var _serde_json__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./serde-json */ \\\"./node_modules/@smithy/smithy-client/dist-es/serde-json.js\\\");\\n/* harmony import */ var _split_every__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./split-every */ \\\"./node_modules/@smithy/smithy-client/dist-es/split-every.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/lazy-json.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/lazy-json.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ LazyJsonString: () => (/* binding */ LazyJsonString),\\n/* harmony export */ StringWrapper: () => (/* binding */ StringWrapper)\\n/* harmony export */ });\\nconst StringWrapper = function () {\\n const Class = Object.getPrototypeOf(this).constructor;\\n const Constructor = Function.bind.apply(String, [null, ...arguments]);\\n const instance = new Constructor();\\n Object.setPrototypeOf(instance, Class.prototype);\\n return instance;\\n};\\nStringWrapper.prototype = Object.create(String.prototype, {\\n constructor: {\\n value: StringWrapper,\\n enumerable: false,\\n writable: true,\\n configurable: true,\\n },\\n});\\nObject.setPrototypeOf(StringWrapper, String);\\nclass LazyJsonString extends StringWrapper {\\n deserializeJSON() {\\n return JSON.parse(super.toString());\\n }\\n toJSON() {\\n return super.toString();\\n }\\n static fromObject(object) {\\n if (object instanceof LazyJsonString) {\\n return object;\\n }\\n else if (object instanceof String || typeof object === \\\"string\\\") {\\n return new LazyJsonString(object);\\n }\\n return new LazyJsonString(JSON.stringify(object));\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/lazy-json.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/object-mapping.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/object-mapping.js ***!\n \\**********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ convertMap: () => (/* binding */ convertMap),\\n/* harmony export */ map: () => (/* binding */ map),\\n/* harmony export */ take: () => (/* binding */ take)\\n/* harmony export */ });\\nfunction map(arg0, arg1, arg2) {\\n let target;\\n let filter;\\n let instructions;\\n if (typeof arg1 === \\\"undefined\\\" && typeof arg2 === \\\"undefined\\\") {\\n target = {};\\n instructions = arg0;\\n }\\n else {\\n target = arg0;\\n if (typeof arg1 === \\\"function\\\") {\\n filter = arg1;\\n instructions = arg2;\\n return mapWithFilter(target, filter, instructions);\\n }\\n else {\\n instructions = arg1;\\n }\\n }\\n for (const key of Object.keys(instructions)) {\\n if (!Array.isArray(instructions[key])) {\\n target[key] = instructions[key];\\n continue;\\n }\\n applyInstruction(target, null, instructions, key);\\n }\\n return target;\\n}\\nconst convertMap = (target) => {\\n const output = {};\\n for (const [k, v] of Object.entries(target || {})) {\\n output[k] = [, v];\\n }\\n return output;\\n};\\nconst take = (source, instructions) => {\\n const out = {};\\n for (const key in instructions) {\\n applyInstruction(out, source, instructions, key);\\n }\\n return out;\\n};\\nconst mapWithFilter = (target, filter, instructions) => {\\n return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => {\\n if (Array.isArray(value)) {\\n _instructions[key] = value;\\n }\\n else {\\n if (typeof value === \\\"function\\\") {\\n _instructions[key] = [filter, value()];\\n }\\n else {\\n _instructions[key] = [filter, value];\\n }\\n }\\n return _instructions;\\n }, {}));\\n};\\nconst applyInstruction = (target, source, instructions, targetKey) => {\\n if (source !== null) {\\n let instruction = instructions[targetKey];\\n if (typeof instruction === \\\"function\\\") {\\n instruction = [, instruction];\\n }\\n const [filter = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;\\n if ((typeof filter === \\\"function\\\" && filter(source[sourceKey])) || (typeof filter !== \\\"function\\\" && !!filter)) {\\n target[targetKey] = valueFn(source[sourceKey]);\\n }\\n return;\\n }\\n let [filter, value] = instructions[targetKey];\\n if (typeof value === \\\"function\\\") {\\n let _value;\\n const defaultFilterPassed = filter === undefined && (_value = value()) != null;\\n const customFilterPassed = (typeof filter === \\\"function\\\" && !!filter(void 0)) || (typeof filter !== \\\"function\\\" && !!filter);\\n if (defaultFilterPassed) {\\n target[targetKey] = _value;\\n }\\n else if (customFilterPassed) {\\n target[targetKey] = value();\\n }\\n }\\n else {\\n const defaultFilterPassed = filter === undefined && value != null;\\n const customFilterPassed = (typeof filter === \\\"function\\\" && !!filter(value)) || (typeof filter !== \\\"function\\\" && !!filter);\\n if (defaultFilterPassed || customFilterPassed) {\\n target[targetKey] = value;\\n }\\n }\\n};\\nconst nonNullish = (_) => _ != null;\\nconst pass = (_) => _;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/object-mapping.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/parse-utils.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/parse-utils.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ expectBoolean: () => (/* binding */ expectBoolean),\\n/* harmony export */ expectByte: () => (/* binding */ expectByte),\\n/* harmony export */ expectFloat32: () => (/* binding */ expectFloat32),\\n/* harmony export */ expectInt: () => (/* binding */ expectInt),\\n/* harmony export */ expectInt32: () => (/* binding */ expectInt32),\\n/* harmony export */ expectLong: () => (/* binding */ expectLong),\\n/* harmony export */ expectNonNull: () => (/* binding */ expectNonNull),\\n/* harmony export */ expectNumber: () => (/* binding */ expectNumber),\\n/* harmony export */ expectObject: () => (/* binding */ expectObject),\\n/* harmony export */ expectShort: () => (/* binding */ expectShort),\\n/* harmony export */ expectString: () => (/* binding */ expectString),\\n/* harmony export */ expectUnion: () => (/* binding */ expectUnion),\\n/* harmony export */ handleFloat: () => (/* binding */ handleFloat),\\n/* harmony export */ limitedParseDouble: () => (/* binding */ limitedParseDouble),\\n/* harmony export */ limitedParseFloat: () => (/* binding */ limitedParseFloat),\\n/* harmony export */ limitedParseFloat32: () => (/* binding */ limitedParseFloat32),\\n/* harmony export */ logger: () => (/* binding */ logger),\\n/* harmony export */ parseBoolean: () => (/* binding */ parseBoolean),\\n/* harmony export */ strictParseByte: () => (/* binding */ strictParseByte),\\n/* harmony export */ strictParseDouble: () => (/* binding */ strictParseDouble),\\n/* harmony export */ strictParseFloat: () => (/* binding */ strictParseFloat),\\n/* harmony export */ strictParseFloat32: () => (/* binding */ strictParseFloat32),\\n/* harmony export */ strictParseInt: () => (/* binding */ strictParseInt),\\n/* harmony export */ strictParseInt32: () => (/* binding */ strictParseInt32),\\n/* harmony export */ strictParseLong: () => (/* binding */ strictParseLong),\\n/* harmony export */ strictParseShort: () => (/* binding */ strictParseShort)\\n/* harmony export */ });\\nconst parseBoolean = (value) => {\\n switch (value) {\\n case \\\"true\\\":\\n return true;\\n case \\\"false\\\":\\n return false;\\n default:\\n throw new Error(`Unable to parse boolean value \\\"${value}\\\"`);\\n }\\n};\\nconst expectBoolean = (value) => {\\n if (value === null || value === undefined) {\\n return undefined;\\n }\\n if (typeof value === \\\"number\\\") {\\n if (value === 0 || value === 1) {\\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\\n }\\n if (value === 0) {\\n return false;\\n }\\n if (value === 1) {\\n return true;\\n }\\n }\\n if (typeof value === \\\"string\\\") {\\n const lower = value.toLowerCase();\\n if (lower === \\\"false\\\" || lower === \\\"true\\\") {\\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\\n }\\n if (lower === \\\"false\\\") {\\n return false;\\n }\\n if (lower === \\\"true\\\") {\\n return true;\\n }\\n }\\n if (typeof value === \\\"boolean\\\") {\\n return value;\\n }\\n throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);\\n};\\nconst expectNumber = (value) => {\\n if (value === null || value === undefined) {\\n return undefined;\\n }\\n if (typeof value === \\\"string\\\") {\\n const parsed = parseFloat(value);\\n if (!Number.isNaN(parsed)) {\\n if (String(parsed) !== String(value)) {\\n logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));\\n }\\n return parsed;\\n }\\n }\\n if (typeof value === \\\"number\\\") {\\n return value;\\n }\\n throw new TypeError(`Expected number, got ${typeof value}: ${value}`);\\n};\\nconst MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));\\nconst expectFloat32 = (value) => {\\n const expected = expectNumber(value);\\n if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {\\n if (Math.abs(expected) > MAX_FLOAT) {\\n throw new TypeError(`Expected 32-bit float, got ${value}`);\\n }\\n }\\n return expected;\\n};\\nconst expectLong = (value) => {\\n if (value === null || value === undefined) {\\n return undefined;\\n }\\n if (Number.isInteger(value) && !Number.isNaN(value)) {\\n return value;\\n }\\n throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);\\n};\\nconst expectInt = expectLong;\\nconst expectInt32 = (value) => expectSizedInt(value, 32);\\nconst expectShort = (value) => expectSizedInt(value, 16);\\nconst expectByte = (value) => expectSizedInt(value, 8);\\nconst expectSizedInt = (value, size) => {\\n const expected = expectLong(value);\\n if (expected !== undefined && castInt(expected, size) !== expected) {\\n throw new TypeError(`Expected ${size}-bit integer, got ${value}`);\\n }\\n return expected;\\n};\\nconst castInt = (value, size) => {\\n switch (size) {\\n case 32:\\n return Int32Array.of(value)[0];\\n case 16:\\n return Int16Array.of(value)[0];\\n case 8:\\n return Int8Array.of(value)[0];\\n }\\n};\\nconst expectNonNull = (value, location) => {\\n if (value === null || value === undefined) {\\n if (location) {\\n throw new TypeError(`Expected a non-null value for ${location}`);\\n }\\n throw new TypeError(\\\"Expected a non-null value\\\");\\n }\\n return value;\\n};\\nconst expectObject = (value) => {\\n if (value === null || value === undefined) {\\n return undefined;\\n }\\n if (typeof value === \\\"object\\\" && !Array.isArray(value)) {\\n return value;\\n }\\n const receivedType = Array.isArray(value) ? \\\"array\\\" : typeof value;\\n throw new TypeError(`Expected object, got ${receivedType}: ${value}`);\\n};\\nconst expectString = (value) => {\\n if (value === null || value === undefined) {\\n return undefined;\\n }\\n if (typeof value === \\\"string\\\") {\\n return value;\\n }\\n if ([\\\"boolean\\\", \\\"number\\\", \\\"bigint\\\"].includes(typeof value)) {\\n logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));\\n return String(value);\\n }\\n throw new TypeError(`Expected string, got ${typeof value}: ${value}`);\\n};\\nconst expectUnion = (value) => {\\n if (value === null || value === undefined) {\\n return undefined;\\n }\\n const asObject = expectObject(value);\\n const setKeys = Object.entries(asObject)\\n .filter(([, v]) => v != null)\\n .map(([k]) => k);\\n if (setKeys.length === 0) {\\n throw new TypeError(`Unions must have exactly one non-null member. None were found.`);\\n }\\n if (setKeys.length > 1) {\\n throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);\\n }\\n return asObject;\\n};\\nconst strictParseDouble = (value) => {\\n if (typeof value == \\\"string\\\") {\\n return expectNumber(parseNumber(value));\\n }\\n return expectNumber(value);\\n};\\nconst strictParseFloat = strictParseDouble;\\nconst strictParseFloat32 = (value) => {\\n if (typeof value == \\\"string\\\") {\\n return expectFloat32(parseNumber(value));\\n }\\n return expectFloat32(value);\\n};\\nconst NUMBER_REGEX = /(-?(?:0|[1-9]\\\\d*)(?:\\\\.\\\\d+)?(?:[eE][+-]?\\\\d+)?)|(-?Infinity)|(NaN)/g;\\nconst parseNumber = (value) => {\\n const matches = value.match(NUMBER_REGEX);\\n if (matches === null || matches[0].length !== value.length) {\\n throw new TypeError(`Expected real number, got implicit NaN`);\\n }\\n return parseFloat(value);\\n};\\nconst limitedParseDouble = (value) => {\\n if (typeof value == \\\"string\\\") {\\n return parseFloatString(value);\\n }\\n return expectNumber(value);\\n};\\nconst handleFloat = limitedParseDouble;\\nconst limitedParseFloat = limitedParseDouble;\\nconst limitedParseFloat32 = (value) => {\\n if (typeof value == \\\"string\\\") {\\n return parseFloatString(value);\\n }\\n return expectFloat32(value);\\n};\\nconst parseFloatString = (value) => {\\n switch (value) {\\n case \\\"NaN\\\":\\n return NaN;\\n case \\\"Infinity\\\":\\n return Infinity;\\n case \\\"-Infinity\\\":\\n return -Infinity;\\n default:\\n throw new Error(`Unable to parse float value: ${value}`);\\n }\\n};\\nconst strictParseLong = (value) => {\\n if (typeof value === \\\"string\\\") {\\n return expectLong(parseNumber(value));\\n }\\n return expectLong(value);\\n};\\nconst strictParseInt = strictParseLong;\\nconst strictParseInt32 = (value) => {\\n if (typeof value === \\\"string\\\") {\\n return expectInt32(parseNumber(value));\\n }\\n return expectInt32(value);\\n};\\nconst strictParseShort = (value) => {\\n if (typeof value === \\\"string\\\") {\\n return expectShort(parseNumber(value));\\n }\\n return expectShort(value);\\n};\\nconst strictParseByte = (value) => {\\n if (typeof value === \\\"string\\\") {\\n return expectByte(parseNumber(value));\\n }\\n return expectByte(value);\\n};\\nconst stackTraceWarning = (message) => {\\n return String(new TypeError(message).stack || message)\\n .split(\\\"\\\\n\\\")\\n .slice(0, 5)\\n .filter((s) => !s.includes(\\\"stackTraceWarning\\\"))\\n .join(\\\"\\\\n\\\");\\n};\\nconst logger = {\\n warn: console.warn,\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/parse-utils.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/resolve-path.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/resolve-path.js ***!\n \\********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ resolvedPath: () => (/* binding */ resolvedPath)\\n/* harmony export */ });\\n/* harmony import */ var _extended_encode_uri_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./extended-encode-uri-component */ \\\"./node_modules/@smithy/smithy-client/dist-es/extended-encode-uri-component.js\\\");\\n\\nconst resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {\\n if (input != null && input[memberName] !== undefined) {\\n const labelValue = labelValueProvider();\\n if (labelValue.length <= 0) {\\n throw new Error(\\\"Empty value provided for input HTTP label: \\\" + memberName + \\\".\\\");\\n }\\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\\n ? labelValue\\n .split(\\\"/\\\")\\n .map((segment) => (0,_extended_encode_uri_component__WEBPACK_IMPORTED_MODULE_0__.extendedEncodeURIComponent)(segment))\\n .join(\\\"/\\\")\\n : (0,_extended_encode_uri_component__WEBPACK_IMPORTED_MODULE_0__.extendedEncodeURIComponent)(labelValue));\\n }\\n else {\\n throw new Error(\\\"No value provided for input HTTP label: \\\" + memberName + \\\".\\\");\\n }\\n return resolvedPath;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/resolve-path.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/ser-utils.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/ser-utils.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ serializeFloat: () => (/* binding */ serializeFloat)\\n/* harmony export */ });\\nconst serializeFloat = (value) => {\\n if (value !== value) {\\n return \\\"NaN\\\";\\n }\\n switch (value) {\\n case Infinity:\\n return \\\"Infinity\\\";\\n case -Infinity:\\n return \\\"-Infinity\\\";\\n default:\\n return value;\\n }\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/ser-utils.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/serde-json.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/serde-json.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ _json: () => (/* binding */ _json)\\n/* harmony export */ });\\nconst _json = (obj) => {\\n if (obj == null) {\\n return {};\\n }\\n if (Array.isArray(obj)) {\\n return obj.filter((_) => _ != null);\\n }\\n if (typeof obj === \\\"object\\\") {\\n const target = {};\\n for (const key of Object.keys(obj)) {\\n if (obj[key] == null) {\\n continue;\\n }\\n target[key] = _json(obj[key]);\\n }\\n return target;\\n }\\n return obj;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/serde-json.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/smithy-client/dist-es/split-every.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/@smithy/smithy-client/dist-es/split-every.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ splitEvery: () => (/* binding */ splitEvery)\\n/* harmony export */ });\\nfunction splitEvery(value, delimiter, numDelimiters) {\\n if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {\\n throw new Error(\\\"Invalid number of delimiters (\\\" + numDelimiters + \\\") for splitEvery.\\\");\\n }\\n const segments = value.split(delimiter);\\n if (numDelimiters === 1) {\\n return segments;\\n }\\n const compoundSegments = [];\\n let currentSegment = \\\"\\\";\\n for (let i = 0; i < segments.length; i++) {\\n if (currentSegment === \\\"\\\") {\\n currentSegment = segments[i];\\n }\\n else {\\n currentSegment += delimiter + segments[i];\\n }\\n if ((i + 1) % numDelimiters === 0) {\\n compoundSegments.push(currentSegment);\\n currentSegment = \\\"\\\";\\n }\\n }\\n if (currentSegment !== \\\"\\\") {\\n compoundSegments.push(currentSegment);\\n }\\n return compoundSegments;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/smithy-client/dist-es/split-every.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/abort.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/abort.js ***!\n \\*****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/abort.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/auth.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/auth.js ***!\n \\****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ HttpAuthLocation: () => (/* binding */ HttpAuthLocation)\\n/* harmony export */ });\\nvar HttpAuthLocation;\\n(function (HttpAuthLocation) {\\n HttpAuthLocation[\\\"HEADER\\\"] = \\\"header\\\";\\n HttpAuthLocation[\\\"QUERY\\\"] = \\\"query\\\";\\n})(HttpAuthLocation || (HttpAuthLocation = {}));\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/auth.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/checksum.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/checksum.js ***!\n \\********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/checksum.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/client.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/client.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/client.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/command.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/command.js ***!\n \\*******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/command.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/connection/config.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/connection/config.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/connection/config.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/connection/index.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/connection/index.js ***!\n \\****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./config */ \\\"./node_modules/@smithy/types/dist-es/connection/config.js\\\");\\n/* harmony import */ var _manager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./manager */ \\\"./node_modules/@smithy/types/dist-es/connection/manager.js\\\");\\n/* harmony import */ var _pool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pool */ \\\"./node_modules/@smithy/types/dist-es/connection/pool.js\\\");\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/connection/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/connection/manager.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/connection/manager.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/connection/manager.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/connection/pool.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/connection/pool.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/connection/pool.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/crypto.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/crypto.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/crypto.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/encode.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/encode.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/encode.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/endpoint.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/endpoint.js ***!\n \\********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ EndpointURLScheme: () => (/* binding */ EndpointURLScheme)\\n/* harmony export */ });\\nvar EndpointURLScheme;\\n(function (EndpointURLScheme) {\\n EndpointURLScheme[\\\"HTTP\\\"] = \\\"http\\\";\\n EndpointURLScheme[\\\"HTTPS\\\"] = \\\"https\\\";\\n})(EndpointURLScheme || (EndpointURLScheme = {}));\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/endpoint.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/endpoints/EndpointRuleObject.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/endpoints/EndpointRuleObject.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/endpoints/EndpointRuleObject.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/endpoints/ErrorRuleObject.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/endpoints/ErrorRuleObject.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/endpoints/ErrorRuleObject.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/endpoints/RuleSetObject.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/endpoints/RuleSetObject.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/endpoints/RuleSetObject.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/endpoints/TreeRuleObject.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/endpoints/TreeRuleObject.js ***!\n \\************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/endpoints/TreeRuleObject.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/endpoints/index.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/endpoints/index.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _EndpointRuleObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EndpointRuleObject */ \\\"./node_modules/@smithy/types/dist-es/endpoints/EndpointRuleObject.js\\\");\\n/* harmony import */ var _ErrorRuleObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ErrorRuleObject */ \\\"./node_modules/@smithy/types/dist-es/endpoints/ErrorRuleObject.js\\\");\\n/* harmony import */ var _RuleSetObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RuleSetObject */ \\\"./node_modules/@smithy/types/dist-es/endpoints/RuleSetObject.js\\\");\\n/* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shared */ \\\"./node_modules/@smithy/types/dist-es/endpoints/shared.js\\\");\\n/* harmony import */ var _TreeRuleObject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TreeRuleObject */ \\\"./node_modules/@smithy/types/dist-es/endpoints/TreeRuleObject.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/endpoints/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/endpoints/shared.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/endpoints/shared.js ***!\n \\****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/endpoints/shared.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/eventStream.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/eventStream.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/eventStream.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/http.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/http.js ***!\n \\****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ FieldPosition: () => (/* binding */ FieldPosition)\\n/* harmony export */ });\\nvar FieldPosition;\\n(function (FieldPosition) {\\n FieldPosition[FieldPosition[\\\"HEADER\\\"] = 0] = \\\"HEADER\\\";\\n FieldPosition[FieldPosition[\\\"TRAILER\\\"] = 1] = \\\"TRAILER\\\";\\n})(FieldPosition || (FieldPosition = {}));\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/http.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/identity/awsCredentialIdentity.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/identity/awsCredentialIdentity.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/identity/awsCredentialIdentity.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/identity/identity.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/identity/identity.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/identity/identity.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/identity/index.js\":\n/*!**************************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/identity/index.js ***!\n \\**************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _awsCredentialIdentity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./awsCredentialIdentity */ \\\"./node_modules/@smithy/types/dist-es/identity/awsCredentialIdentity.js\\\");\\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./identity */ \\\"./node_modules/@smithy/types/dist-es/identity/identity.js\\\");\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/identity/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/index.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/index.js ***!\n \\*****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ EndpointURLScheme: () => (/* reexport safe */ _endpoint__WEBPACK_IMPORTED_MODULE_8__.EndpointURLScheme),\\n/* harmony export */ FieldPosition: () => (/* reexport safe */ _http__WEBPACK_IMPORTED_MODULE_11__.FieldPosition),\\n/* harmony export */ HttpAuthLocation: () => (/* reexport safe */ _auth__WEBPACK_IMPORTED_MODULE_1__.HttpAuthLocation),\\n/* harmony export */ RequestHandlerProtocol: () => (/* reexport safe */ _transfer__WEBPACK_IMPORTED_MODULE_23__.RequestHandlerProtocol)\\n/* harmony export */ });\\n/* harmony import */ var _abort__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abort */ \\\"./node_modules/@smithy/types/dist-es/abort.js\\\");\\n/* harmony import */ var _auth__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./auth */ \\\"./node_modules/@smithy/types/dist-es/auth.js\\\");\\n/* harmony import */ var _checksum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./checksum */ \\\"./node_modules/@smithy/types/dist-es/checksum.js\\\");\\n/* harmony import */ var _client__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./client */ \\\"./node_modules/@smithy/types/dist-es/client.js\\\");\\n/* harmony import */ var _command__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./command */ \\\"./node_modules/@smithy/types/dist-es/command.js\\\");\\n/* harmony import */ var _connection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./connection */ \\\"./node_modules/@smithy/types/dist-es/connection/index.js\\\");\\n/* harmony import */ var _crypto__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./crypto */ \\\"./node_modules/@smithy/types/dist-es/crypto.js\\\");\\n/* harmony import */ var _encode__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./encode */ \\\"./node_modules/@smithy/types/dist-es/encode.js\\\");\\n/* harmony import */ var _endpoint__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./endpoint */ \\\"./node_modules/@smithy/types/dist-es/endpoint.js\\\");\\n/* harmony import */ var _endpoints__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./endpoints */ \\\"./node_modules/@smithy/types/dist-es/endpoints/index.js\\\");\\n/* harmony import */ var _eventStream__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./eventStream */ \\\"./node_modules/@smithy/types/dist-es/eventStream.js\\\");\\n/* harmony import */ var _http__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./http */ \\\"./node_modules/@smithy/types/dist-es/http.js\\\");\\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./identity */ \\\"./node_modules/@smithy/types/dist-es/identity/index.js\\\");\\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./logger */ \\\"./node_modules/@smithy/types/dist-es/logger.js\\\");\\n/* harmony import */ var _middleware__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./middleware */ \\\"./node_modules/@smithy/types/dist-es/middleware.js\\\");\\n/* harmony import */ var _pagination__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./pagination */ \\\"./node_modules/@smithy/types/dist-es/pagination.js\\\");\\n/* harmony import */ var _profile__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./profile */ \\\"./node_modules/@smithy/types/dist-es/profile.js\\\");\\n/* harmony import */ var _response__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./response */ \\\"./node_modules/@smithy/types/dist-es/response.js\\\");\\n/* harmony import */ var _retry__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./retry */ \\\"./node_modules/@smithy/types/dist-es/retry.js\\\");\\n/* harmony import */ var _serde__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./serde */ \\\"./node_modules/@smithy/types/dist-es/serde.js\\\");\\n/* harmony import */ var _shapes__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./shapes */ \\\"./node_modules/@smithy/types/dist-es/shapes.js\\\");\\n/* harmony import */ var _signature__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./signature */ \\\"./node_modules/@smithy/types/dist-es/signature.js\\\");\\n/* harmony import */ var _stream__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./stream */ \\\"./node_modules/@smithy/types/dist-es/stream.js\\\");\\n/* harmony import */ var _transfer__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./transfer */ \\\"./node_modules/@smithy/types/dist-es/transfer.js\\\");\\n/* harmony import */ var _uri__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./uri */ \\\"./node_modules/@smithy/types/dist-es/uri.js\\\");\\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./util */ \\\"./node_modules/@smithy/types/dist-es/util.js\\\");\\n/* harmony import */ var _waiter__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./waiter */ \\\"./node_modules/@smithy/types/dist-es/waiter.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/logger.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/logger.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/logger.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/middleware.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/middleware.js ***!\n \\**********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/middleware.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/pagination.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/pagination.js ***!\n \\**********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/pagination.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/profile.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/profile.js ***!\n \\*******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/profile.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/response.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/response.js ***!\n \\********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/response.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/retry.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/retry.js ***!\n \\*****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/retry.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/serde.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/serde.js ***!\n \\*****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/serde.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/shapes.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/shapes.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/shapes.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/signature.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/signature.js ***!\n \\*********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/signature.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/stream.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/stream.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/stream.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/transfer.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/transfer.js ***!\n \\********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ RequestHandlerProtocol: () => (/* binding */ RequestHandlerProtocol)\\n/* harmony export */ });\\nvar RequestHandlerProtocol;\\n(function (RequestHandlerProtocol) {\\n RequestHandlerProtocol[\\\"HTTP_0_9\\\"] = \\\"http/0.9\\\";\\n RequestHandlerProtocol[\\\"HTTP_1_0\\\"] = \\\"http/1.0\\\";\\n RequestHandlerProtocol[\\\"TDS_8_0\\\"] = \\\"tds/8.0\\\";\\n})(RequestHandlerProtocol || (RequestHandlerProtocol = {}));\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/transfer.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/uri.js\":\n/*!***************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/uri.js ***!\n \\***************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/uri.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/util.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/util.js ***!\n \\****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/util.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/types/dist-es/waiter.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/@smithy/types/dist-es/waiter.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/types/dist-es/waiter.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/url-parser/dist-es/index.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/@smithy/url-parser/dist-es/index.js ***!\n \\**********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ parseUrl: () => (/* binding */ parseUrl)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_querystring_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/querystring-parser */ \\\"./node_modules/@smithy/querystring-parser/dist-es/index.js\\\");\\n\\nconst parseUrl = (url) => {\\n if (typeof url === \\\"string\\\") {\\n return parseUrl(new URL(url));\\n }\\n const { hostname, pathname, port, protocol, search } = url;\\n let query;\\n if (search) {\\n query = (0,_smithy_querystring_parser__WEBPACK_IMPORTED_MODULE_0__.parseQueryString)(search);\\n }\\n return {\\n hostname,\\n port: port ? parseInt(port) : undefined,\\n protocol,\\n path: pathname,\\n query,\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/url-parser/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-base64/dist-es/constants.browser.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@smithy/util-base64/dist-es/constants.browser.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ alphabetByEncoding: () => (/* binding */ alphabetByEncoding),\\n/* harmony export */ alphabetByValue: () => (/* binding */ alphabetByValue),\\n/* harmony export */ bitsPerByte: () => (/* binding */ bitsPerByte),\\n/* harmony export */ bitsPerLetter: () => (/* binding */ bitsPerLetter),\\n/* harmony export */ maxLetterValue: () => (/* binding */ maxLetterValue)\\n/* harmony export */ });\\nconst alphabetByEncoding = {};\\nconst alphabetByValue = new Array(64);\\nfor (let i = 0, start = \\\"A\\\".charCodeAt(0), limit = \\\"Z\\\".charCodeAt(0); i + start <= limit; i++) {\\n const char = String.fromCharCode(i + start);\\n alphabetByEncoding[char] = i;\\n alphabetByValue[i] = char;\\n}\\nfor (let i = 0, start = \\\"a\\\".charCodeAt(0), limit = \\\"z\\\".charCodeAt(0); i + start <= limit; i++) {\\n const char = String.fromCharCode(i + start);\\n const index = i + 26;\\n alphabetByEncoding[char] = index;\\n alphabetByValue[index] = char;\\n}\\nfor (let i = 0; i < 10; i++) {\\n alphabetByEncoding[i.toString(10)] = i + 52;\\n const char = i.toString(10);\\n const index = i + 52;\\n alphabetByEncoding[char] = index;\\n alphabetByValue[index] = char;\\n}\\nalphabetByEncoding[\\\"+\\\"] = 62;\\nalphabetByValue[62] = \\\"+\\\";\\nalphabetByEncoding[\\\"/\\\"] = 63;\\nalphabetByValue[63] = \\\"/\\\";\\nconst bitsPerLetter = 6;\\nconst bitsPerByte = 8;\\nconst maxLetterValue = 0b111111;\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-base64/dist-es/constants.browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-base64/dist-es/fromBase64.browser.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/@smithy/util-base64/dist-es/fromBase64.browser.js ***!\n \\************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ fromBase64: () => (/* binding */ fromBase64)\\n/* harmony export */ });\\n/* harmony import */ var _constants_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.browser */ \\\"./node_modules/@smithy/util-base64/dist-es/constants.browser.js\\\");\\n\\nconst fromBase64 = (input) => {\\n let totalByteLength = (input.length / 4) * 3;\\n if (input.slice(-2) === \\\"==\\\") {\\n totalByteLength -= 2;\\n }\\n else if (input.slice(-1) === \\\"=\\\") {\\n totalByteLength--;\\n }\\n const out = new ArrayBuffer(totalByteLength);\\n const dataView = new DataView(out);\\n for (let i = 0; i < input.length; i += 4) {\\n let bits = 0;\\n let bitLength = 0;\\n for (let j = i, limit = i + 3; j <= limit; j++) {\\n if (input[j] !== \\\"=\\\") {\\n if (!(input[j] in _constants_browser__WEBPACK_IMPORTED_MODULE_0__.alphabetByEncoding)) {\\n throw new TypeError(`Invalid character ${input[j]} in base64 string.`);\\n }\\n bits |= _constants_browser__WEBPACK_IMPORTED_MODULE_0__.alphabetByEncoding[input[j]] << ((limit - j) * _constants_browser__WEBPACK_IMPORTED_MODULE_0__.bitsPerLetter);\\n bitLength += _constants_browser__WEBPACK_IMPORTED_MODULE_0__.bitsPerLetter;\\n }\\n else {\\n bits >>= _constants_browser__WEBPACK_IMPORTED_MODULE_0__.bitsPerLetter;\\n }\\n }\\n const chunkOffset = (i / 4) * 3;\\n bits >>= bitLength % _constants_browser__WEBPACK_IMPORTED_MODULE_0__.bitsPerByte;\\n const byteLength = Math.floor(bitLength / _constants_browser__WEBPACK_IMPORTED_MODULE_0__.bitsPerByte);\\n for (let k = 0; k < byteLength; k++) {\\n const offset = (byteLength - k - 1) * _constants_browser__WEBPACK_IMPORTED_MODULE_0__.bitsPerByte;\\n dataView.setUint8(chunkOffset + k, (bits & (255 << offset)) >> offset);\\n }\\n }\\n return new Uint8Array(out);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-base64/dist-es/fromBase64.browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-base64/dist-es/index.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/@smithy/util-base64/dist-es/index.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ fromBase64: () => (/* reexport safe */ _fromBase64__WEBPACK_IMPORTED_MODULE_0__.fromBase64),\\n/* harmony export */ toBase64: () => (/* reexport safe */ _toBase64__WEBPACK_IMPORTED_MODULE_1__.toBase64)\\n/* harmony export */ });\\n/* harmony import */ var _fromBase64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fromBase64 */ \\\"./node_modules/@smithy/util-base64/dist-es/fromBase64.browser.js\\\");\\n/* harmony import */ var _toBase64__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toBase64 */ \\\"./node_modules/@smithy/util-base64/dist-es/toBase64.browser.js\\\");\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-base64/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-base64/dist-es/toBase64.browser.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/@smithy/util-base64/dist-es/toBase64.browser.js ***!\n \\**********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ toBase64: () => (/* binding */ toBase64)\\n/* harmony export */ });\\n/* harmony import */ var _constants_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.browser */ \\\"./node_modules/@smithy/util-base64/dist-es/constants.browser.js\\\");\\n\\nfunction toBase64(input) {\\n let str = \\\"\\\";\\n for (let i = 0; i < input.length; i += 3) {\\n let bits = 0;\\n let bitLength = 0;\\n for (let j = i, limit = Math.min(i + 3, input.length); j < limit; j++) {\\n bits |= input[j] << ((limit - j - 1) * _constants_browser__WEBPACK_IMPORTED_MODULE_0__.bitsPerByte);\\n bitLength += _constants_browser__WEBPACK_IMPORTED_MODULE_0__.bitsPerByte;\\n }\\n const bitClusterCount = Math.ceil(bitLength / _constants_browser__WEBPACK_IMPORTED_MODULE_0__.bitsPerLetter);\\n bits <<= bitClusterCount * _constants_browser__WEBPACK_IMPORTED_MODULE_0__.bitsPerLetter - bitLength;\\n for (let k = 1; k <= bitClusterCount; k++) {\\n const offset = (bitClusterCount - k) * _constants_browser__WEBPACK_IMPORTED_MODULE_0__.bitsPerLetter;\\n str += _constants_browser__WEBPACK_IMPORTED_MODULE_0__.alphabetByValue[(bits & (_constants_browser__WEBPACK_IMPORTED_MODULE_0__.maxLetterValue << offset)) >> offset];\\n }\\n str += \\\"==\\\".slice(0, 4 - bitClusterCount);\\n }\\n return str;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-base64/dist-es/toBase64.browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-body-length-browser/dist-es/calculateBodyLength.js\":\n/*!**************************************************************************************!*\\\n !*** ./node_modules/@smithy/util-body-length-browser/dist-es/calculateBodyLength.js ***!\n \\**************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ calculateBodyLength: () => (/* binding */ calculateBodyLength)\\n/* harmony export */ });\\nconst calculateBodyLength = (body) => {\\n if (typeof body === \\\"string\\\") {\\n let len = body.length;\\n for (let i = len - 1; i >= 0; i--) {\\n const code = body.charCodeAt(i);\\n if (code > 0x7f && code <= 0x7ff)\\n len++;\\n else if (code > 0x7ff && code <= 0xffff)\\n len += 2;\\n if (code >= 0xdc00 && code <= 0xdfff)\\n i--;\\n }\\n return len;\\n }\\n else if (typeof body.byteLength === \\\"number\\\") {\\n return body.byteLength;\\n }\\n else if (typeof body.size === \\\"number\\\") {\\n return body.size;\\n }\\n throw new Error(`Body Length computation failed for ${body}`);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-body-length-browser/dist-es/calculateBodyLength.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-body-length-browser/dist-es/index.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/@smithy/util-body-length-browser/dist-es/index.js ***!\n \\************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ calculateBodyLength: () => (/* reexport safe */ _calculateBodyLength__WEBPACK_IMPORTED_MODULE_0__.calculateBodyLength)\\n/* harmony export */ });\\n/* harmony import */ var _calculateBodyLength__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./calculateBodyLength */ \\\"./node_modules/@smithy/util-body-length-browser/dist-es/calculateBodyLength.js\\\");\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-body-length-browser/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-config-provider/dist-es/booleanSelector.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/@smithy/util-config-provider/dist-es/booleanSelector.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ SelectorType: () => (/* binding */ SelectorType),\\n/* harmony export */ booleanSelector: () => (/* binding */ booleanSelector)\\n/* harmony export */ });\\nvar SelectorType;\\n(function (SelectorType) {\\n SelectorType[\\\"ENV\\\"] = \\\"env\\\";\\n SelectorType[\\\"CONFIG\\\"] = \\\"shared config entry\\\";\\n})(SelectorType || (SelectorType = {}));\\nconst booleanSelector = (obj, key, type) => {\\n if (!(key in obj))\\n return undefined;\\n if (obj[key] === \\\"true\\\")\\n return true;\\n if (obj[key] === \\\"false\\\")\\n return false;\\n throw new Error(`Cannot load ${type} \\\"${key}\\\". Expected \\\"true\\\" or \\\"false\\\", got ${obj[key]}.`);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-config-provider/dist-es/booleanSelector.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-config-provider/dist-es/index.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/@smithy/util-config-provider/dist-es/index.js ***!\n \\********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ SelectorType: () => (/* reexport safe */ _booleanSelector__WEBPACK_IMPORTED_MODULE_0__.SelectorType),\\n/* harmony export */ booleanSelector: () => (/* reexport safe */ _booleanSelector__WEBPACK_IMPORTED_MODULE_0__.booleanSelector)\\n/* harmony export */ });\\n/* harmony import */ var _booleanSelector__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./booleanSelector */ \\\"./node_modules/@smithy/util-config-provider/dist-es/booleanSelector.js\\\");\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-config-provider/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-defaults-mode-browser/dist-es/constants.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/@smithy/util-defaults-mode-browser/dist-es/constants.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ DEFAULTS_MODE_OPTIONS: () => (/* binding */ DEFAULTS_MODE_OPTIONS)\\n/* harmony export */ });\\nconst DEFAULTS_MODE_OPTIONS = [\\\"in-region\\\", \\\"cross-region\\\", \\\"mobile\\\", \\\"standard\\\", \\\"legacy\\\"];\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-defaults-mode-browser/dist-es/constants.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-defaults-mode-browser/dist-es/index.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/@smithy/util-defaults-mode-browser/dist-es/index.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ resolveDefaultsModeConfig: () => (/* reexport safe */ _resolveDefaultsModeConfig__WEBPACK_IMPORTED_MODULE_0__.resolveDefaultsModeConfig)\\n/* harmony export */ });\\n/* harmony import */ var _resolveDefaultsModeConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./resolveDefaultsModeConfig */ \\\"./node_modules/@smithy/util-defaults-mode-browser/dist-es/resolveDefaultsModeConfig.js\\\");\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-defaults-mode-browser/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-defaults-mode-browser/dist-es/resolveDefaultsModeConfig.js\":\n/*!**********************************************************************************************!*\\\n !*** ./node_modules/@smithy/util-defaults-mode-browser/dist-es/resolveDefaultsModeConfig.js ***!\n \\**********************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ resolveDefaultsModeConfig: () => (/* binding */ resolveDefaultsModeConfig)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_property_provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/property-provider */ \\\"./node_modules/@smithy/property-provider/dist-es/index.js\\\");\\n/* harmony import */ var bowser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! bowser */ \\\"./node_modules/bowser/es5.js\\\");\\n/* harmony import */ var bowser__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(bowser__WEBPACK_IMPORTED_MODULE_1__);\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/util-defaults-mode-browser/dist-es/constants.js\\\");\\n\\n\\n\\nconst resolveDefaultsModeConfig = ({ defaultsMode, } = {}) => (0,_smithy_property_provider__WEBPACK_IMPORTED_MODULE_0__.memoize)(async () => {\\n const mode = typeof defaultsMode === \\\"function\\\" ? await defaultsMode() : defaultsMode;\\n switch (mode?.toLowerCase()) {\\n case \\\"auto\\\":\\n return Promise.resolve(isMobileBrowser() ? \\\"mobile\\\" : \\\"standard\\\");\\n case \\\"mobile\\\":\\n case \\\"in-region\\\":\\n case \\\"cross-region\\\":\\n case \\\"standard\\\":\\n case \\\"legacy\\\":\\n return Promise.resolve(mode?.toLocaleLowerCase());\\n case undefined:\\n return Promise.resolve(\\\"legacy\\\");\\n default:\\n throw new Error(`Invalid parameter for \\\"defaultsMode\\\", expect ${_constants__WEBPACK_IMPORTED_MODULE_2__.DEFAULTS_MODE_OPTIONS.join(\\\", \\\")}, got ${mode}`);\\n }\\n});\\nconst isMobileBrowser = () => {\\n const parsedUA = typeof window !== \\\"undefined\\\" && window?.navigator?.userAgent\\n ? bowser__WEBPACK_IMPORTED_MODULE_1___default().parse(window.navigator.userAgent)\\n : undefined;\\n const platform = parsedUA?.platform?.type;\\n return platform === \\\"tablet\\\" || platform === \\\"mobile\\\";\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-defaults-mode-browser/dist-es/resolveDefaultsModeConfig.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-hex-encoding/dist-es/index.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@smithy/util-hex-encoding/dist-es/index.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ fromHex: () => (/* binding */ fromHex),\\n/* harmony export */ toHex: () => (/* binding */ toHex)\\n/* harmony export */ });\\nconst SHORT_TO_HEX = {};\\nconst HEX_TO_SHORT = {};\\nfor (let i = 0; i < 256; i++) {\\n let encodedByte = i.toString(16).toLowerCase();\\n if (encodedByte.length === 1) {\\n encodedByte = `0${encodedByte}`;\\n }\\n SHORT_TO_HEX[i] = encodedByte;\\n HEX_TO_SHORT[encodedByte] = i;\\n}\\nfunction fromHex(encoded) {\\n if (encoded.length % 2 !== 0) {\\n throw new Error(\\\"Hex encoded strings must have an even number length\\\");\\n }\\n const out = new Uint8Array(encoded.length / 2);\\n for (let i = 0; i < encoded.length; i += 2) {\\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\\n if (encodedByte in HEX_TO_SHORT) {\\n out[i / 2] = HEX_TO_SHORT[encodedByte];\\n }\\n else {\\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\\n }\\n }\\n return out;\\n}\\nfunction toHex(bytes) {\\n let out = \\\"\\\";\\n for (let i = 0; i < bytes.byteLength; i++) {\\n out += SHORT_TO_HEX[bytes[i]];\\n }\\n return out;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-hex-encoding/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-middleware/dist-es/index.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@smithy/util-middleware/dist-es/index.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ normalizeProvider: () => (/* reexport safe */ _normalizeProvider__WEBPACK_IMPORTED_MODULE_0__.normalizeProvider)\\n/* harmony export */ });\\n/* harmony import */ var _normalizeProvider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./normalizeProvider */ \\\"./node_modules/@smithy/util-middleware/dist-es/normalizeProvider.js\\\");\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-middleware/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-middleware/dist-es/normalizeProvider.js\":\n/*!***************************************************************************!*\\\n !*** ./node_modules/@smithy/util-middleware/dist-es/normalizeProvider.js ***!\n \\***************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ normalizeProvider: () => (/* binding */ normalizeProvider)\\n/* harmony export */ });\\nconst normalizeProvider = (input) => {\\n if (typeof input === \\\"function\\\")\\n return input;\\n const promisified = Promise.resolve(input);\\n return () => promisified;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-middleware/dist-es/normalizeProvider.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ AdaptiveRetryStrategy: () => (/* binding */ AdaptiveRetryStrategy)\\n/* harmony export */ });\\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./config */ \\\"./node_modules/@smithy/util-retry/dist-es/config.js\\\");\\n/* harmony import */ var _DefaultRateLimiter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DefaultRateLimiter */ \\\"./node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js\\\");\\n/* harmony import */ var _StandardRetryStrategy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./StandardRetryStrategy */ \\\"./node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js\\\");\\n\\n\\n\\nclass AdaptiveRetryStrategy {\\n constructor(maxAttemptsProvider, options) {\\n this.maxAttemptsProvider = maxAttemptsProvider;\\n this.mode = _config__WEBPACK_IMPORTED_MODULE_0__.RETRY_MODES.ADAPTIVE;\\n const { rateLimiter } = options ?? {};\\n this.rateLimiter = rateLimiter ?? new _DefaultRateLimiter__WEBPACK_IMPORTED_MODULE_1__.DefaultRateLimiter();\\n this.standardRetryStrategy = new _StandardRetryStrategy__WEBPACK_IMPORTED_MODULE_2__.StandardRetryStrategy(maxAttemptsProvider);\\n }\\n async acquireInitialRetryToken(retryTokenScope) {\\n await this.rateLimiter.getSendToken();\\n return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);\\n }\\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\\n this.rateLimiter.updateClientSendingRate(errorInfo);\\n return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\\n }\\n recordSuccess(token) {\\n this.rateLimiter.updateClientSendingRate({});\\n this.standardRetryStrategy.recordSuccess(token);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-retry/dist-es/ConfiguredRetryStrategy.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/@smithy/util-retry/dist-es/ConfiguredRetryStrategy.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ ConfiguredRetryStrategy: () => (/* binding */ ConfiguredRetryStrategy)\\n/* harmony export */ });\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/util-retry/dist-es/constants.js\\\");\\n/* harmony import */ var _StandardRetryStrategy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./StandardRetryStrategy */ \\\"./node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js\\\");\\n\\n\\nclass ConfiguredRetryStrategy extends _StandardRetryStrategy__WEBPACK_IMPORTED_MODULE_1__.StandardRetryStrategy {\\n constructor(maxAttempts, computeNextBackoffDelay = _constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_RETRY_DELAY_BASE) {\\n super(typeof maxAttempts === \\\"function\\\" ? maxAttempts : async () => maxAttempts);\\n if (typeof computeNextBackoffDelay === \\\"number\\\") {\\n this.computeNextBackoffDelay = () => computeNextBackoffDelay;\\n }\\n else {\\n this.computeNextBackoffDelay = computeNextBackoffDelay;\\n }\\n }\\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\\n const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\\n token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount());\\n return token;\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-retry/dist-es/ConfiguredRetryStrategy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ DefaultRateLimiter: () => (/* binding */ DefaultRateLimiter)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_service_error_classification__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/service-error-classification */ \\\"./node_modules/@smithy/service-error-classification/dist-es/index.js\\\");\\n\\nclass DefaultRateLimiter {\\n constructor(options) {\\n this.currentCapacity = 0;\\n this.enabled = false;\\n this.lastMaxRate = 0;\\n this.measuredTxRate = 0;\\n this.requestCount = 0;\\n this.lastTimestamp = 0;\\n this.timeWindow = 0;\\n this.beta = options?.beta ?? 0.7;\\n this.minCapacity = options?.minCapacity ?? 1;\\n this.minFillRate = options?.minFillRate ?? 0.5;\\n this.scaleConstant = options?.scaleConstant ?? 0.4;\\n this.smooth = options?.smooth ?? 0.8;\\n const currentTimeInSeconds = this.getCurrentTimeInSeconds();\\n this.lastThrottleTime = currentTimeInSeconds;\\n this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds());\\n this.fillRate = this.minFillRate;\\n this.maxCapacity = this.minCapacity;\\n }\\n getCurrentTimeInSeconds() {\\n return Date.now() / 1000;\\n }\\n async getSendToken() {\\n return this.acquireTokenBucket(1);\\n }\\n async acquireTokenBucket(amount) {\\n if (!this.enabled) {\\n return;\\n }\\n this.refillTokenBucket();\\n if (amount > this.currentCapacity) {\\n const delay = ((amount - this.currentCapacity) / this.fillRate) * 1000;\\n await new Promise((resolve) => setTimeout(resolve, delay));\\n }\\n this.currentCapacity = this.currentCapacity - amount;\\n }\\n refillTokenBucket() {\\n const timestamp = this.getCurrentTimeInSeconds();\\n if (!this.lastTimestamp) {\\n this.lastTimestamp = timestamp;\\n return;\\n }\\n const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate;\\n this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount);\\n this.lastTimestamp = timestamp;\\n }\\n updateClientSendingRate(response) {\\n let calculatedRate;\\n this.updateMeasuredRate();\\n if ((0,_smithy_service_error_classification__WEBPACK_IMPORTED_MODULE_0__.isThrottlingError)(response)) {\\n const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate);\\n this.lastMaxRate = rateToUse;\\n this.calculateTimeWindow();\\n this.lastThrottleTime = this.getCurrentTimeInSeconds();\\n calculatedRate = this.cubicThrottle(rateToUse);\\n this.enableTokenBucket();\\n }\\n else {\\n this.calculateTimeWindow();\\n calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds());\\n }\\n const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate);\\n this.updateTokenBucketRate(newRate);\\n }\\n calculateTimeWindow() {\\n this.timeWindow = this.getPrecise(Math.pow((this.lastMaxRate * (1 - this.beta)) / this.scaleConstant, 1 / 3));\\n }\\n cubicThrottle(rateToUse) {\\n return this.getPrecise(rateToUse * this.beta);\\n }\\n cubicSuccess(timestamp) {\\n return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate);\\n }\\n enableTokenBucket() {\\n this.enabled = true;\\n }\\n updateTokenBucketRate(newRate) {\\n this.refillTokenBucket();\\n this.fillRate = Math.max(newRate, this.minFillRate);\\n this.maxCapacity = Math.max(newRate, this.minCapacity);\\n this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity);\\n }\\n updateMeasuredRate() {\\n const t = this.getCurrentTimeInSeconds();\\n const timeBucket = Math.floor(t * 2) / 2;\\n this.requestCount++;\\n if (timeBucket > this.lastTxRateBucket) {\\n const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket);\\n this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth));\\n this.requestCount = 0;\\n this.lastTxRateBucket = timeBucket;\\n }\\n }\\n getPrecise(num) {\\n return parseFloat(num.toFixed(8));\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ StandardRetryStrategy: () => (/* binding */ StandardRetryStrategy)\\n/* harmony export */ });\\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./config */ \\\"./node_modules/@smithy/util-retry/dist-es/config.js\\\");\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/util-retry/dist-es/constants.js\\\");\\n/* harmony import */ var _defaultRetryBackoffStrategy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./defaultRetryBackoffStrategy */ \\\"./node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js\\\");\\n/* harmony import */ var _defaultRetryToken__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./defaultRetryToken */ \\\"./node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js\\\");\\n\\n\\n\\n\\nclass StandardRetryStrategy {\\n constructor(maxAttempts) {\\n this.maxAttempts = maxAttempts;\\n this.mode = _config__WEBPACK_IMPORTED_MODULE_0__.RETRY_MODES.STANDARD;\\n this.capacity = _constants__WEBPACK_IMPORTED_MODULE_1__.INITIAL_RETRY_TOKENS;\\n this.retryBackoffStrategy = (0,_defaultRetryBackoffStrategy__WEBPACK_IMPORTED_MODULE_2__.getDefaultRetryBackoffStrategy)();\\n this.maxAttemptsProvider = typeof maxAttempts === \\\"function\\\" ? maxAttempts : async () => maxAttempts;\\n }\\n async acquireInitialRetryToken(retryTokenScope) {\\n return (0,_defaultRetryToken__WEBPACK_IMPORTED_MODULE_3__.createDefaultRetryToken)({\\n retryDelay: _constants__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_RETRY_DELAY_BASE,\\n retryCount: 0,\\n });\\n }\\n async refreshRetryTokenForRetry(token, errorInfo) {\\n const maxAttempts = await this.getMaxAttempts();\\n if (this.shouldRetry(token, errorInfo, maxAttempts)) {\\n const errorType = errorInfo.errorType;\\n this.retryBackoffStrategy.setDelayBase(errorType === \\\"THROTTLING\\\" ? _constants__WEBPACK_IMPORTED_MODULE_1__.THROTTLING_RETRY_DELAY_BASE : _constants__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_RETRY_DELAY_BASE);\\n const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount());\\n const retryDelay = errorInfo.retryAfterHint\\n ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType)\\n : delayFromErrorType;\\n const capacityCost = this.getCapacityCost(errorType);\\n this.capacity -= capacityCost;\\n return (0,_defaultRetryToken__WEBPACK_IMPORTED_MODULE_3__.createDefaultRetryToken)({\\n retryDelay,\\n retryCount: token.getRetryCount() + 1,\\n retryCost: capacityCost,\\n });\\n }\\n throw new Error(\\\"No retry token available\\\");\\n }\\n recordSuccess(token) {\\n this.capacity = Math.max(_constants__WEBPACK_IMPORTED_MODULE_1__.INITIAL_RETRY_TOKENS, this.capacity + (token.getRetryCost() ?? _constants__WEBPACK_IMPORTED_MODULE_1__.NO_RETRY_INCREMENT));\\n }\\n getCapacity() {\\n return this.capacity;\\n }\\n async getMaxAttempts() {\\n try {\\n return await this.maxAttemptsProvider();\\n }\\n catch (error) {\\n console.warn(`Max attempts provider could not resolve. Using default of ${_config__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_MAX_ATTEMPTS}`);\\n return _config__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_MAX_ATTEMPTS;\\n }\\n }\\n shouldRetry(tokenToRenew, errorInfo, maxAttempts) {\\n const attempts = tokenToRenew.getRetryCount() + 1;\\n return (attempts < maxAttempts &&\\n this.capacity >= this.getCapacityCost(errorInfo.errorType) &&\\n this.isRetryableError(errorInfo.errorType));\\n }\\n getCapacityCost(errorType) {\\n return errorType === \\\"TRANSIENT\\\" ? _constants__WEBPACK_IMPORTED_MODULE_1__.TIMEOUT_RETRY_COST : _constants__WEBPACK_IMPORTED_MODULE_1__.RETRY_COST;\\n }\\n isRetryableError(errorType) {\\n return errorType === \\\"THROTTLING\\\" || errorType === \\\"TRANSIENT\\\";\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-retry/dist-es/config.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/@smithy/util-retry/dist-es/config.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ DEFAULT_MAX_ATTEMPTS: () => (/* binding */ DEFAULT_MAX_ATTEMPTS),\\n/* harmony export */ DEFAULT_RETRY_MODE: () => (/* binding */ DEFAULT_RETRY_MODE),\\n/* harmony export */ RETRY_MODES: () => (/* binding */ RETRY_MODES)\\n/* harmony export */ });\\nvar RETRY_MODES;\\n(function (RETRY_MODES) {\\n RETRY_MODES[\\\"STANDARD\\\"] = \\\"standard\\\";\\n RETRY_MODES[\\\"ADAPTIVE\\\"] = \\\"adaptive\\\";\\n})(RETRY_MODES || (RETRY_MODES = {}));\\nconst DEFAULT_MAX_ATTEMPTS = 3;\\nconst DEFAULT_RETRY_MODE = RETRY_MODES.STANDARD;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-retry/dist-es/config.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-retry/dist-es/constants.js\":\n/*!**************************************************************!*\\\n !*** ./node_modules/@smithy/util-retry/dist-es/constants.js ***!\n \\**************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ DEFAULT_RETRY_DELAY_BASE: () => (/* binding */ DEFAULT_RETRY_DELAY_BASE),\\n/* harmony export */ INITIAL_RETRY_TOKENS: () => (/* binding */ INITIAL_RETRY_TOKENS),\\n/* harmony export */ INVOCATION_ID_HEADER: () => (/* binding */ INVOCATION_ID_HEADER),\\n/* harmony export */ MAXIMUM_RETRY_DELAY: () => (/* binding */ MAXIMUM_RETRY_DELAY),\\n/* harmony export */ NO_RETRY_INCREMENT: () => (/* binding */ NO_RETRY_INCREMENT),\\n/* harmony export */ REQUEST_HEADER: () => (/* binding */ REQUEST_HEADER),\\n/* harmony export */ RETRY_COST: () => (/* binding */ RETRY_COST),\\n/* harmony export */ THROTTLING_RETRY_DELAY_BASE: () => (/* binding */ THROTTLING_RETRY_DELAY_BASE),\\n/* harmony export */ TIMEOUT_RETRY_COST: () => (/* binding */ TIMEOUT_RETRY_COST)\\n/* harmony export */ });\\nconst DEFAULT_RETRY_DELAY_BASE = 100;\\nconst MAXIMUM_RETRY_DELAY = 20 * 1000;\\nconst THROTTLING_RETRY_DELAY_BASE = 500;\\nconst INITIAL_RETRY_TOKENS = 500;\\nconst RETRY_COST = 5;\\nconst TIMEOUT_RETRY_COST = 10;\\nconst NO_RETRY_INCREMENT = 1;\\nconst INVOCATION_ID_HEADER = \\\"amz-sdk-invocation-id\\\";\\nconst REQUEST_HEADER = \\\"amz-sdk-request\\\";\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-retry/dist-es/constants.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getDefaultRetryBackoffStrategy: () => (/* binding */ getDefaultRetryBackoffStrategy)\\n/* harmony export */ });\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/util-retry/dist-es/constants.js\\\");\\n\\nconst getDefaultRetryBackoffStrategy = () => {\\n let delayBase = _constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_RETRY_DELAY_BASE;\\n const computeNextBackoffDelay = (attempts) => {\\n return Math.floor(Math.min(_constants__WEBPACK_IMPORTED_MODULE_0__.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\\n };\\n const setDelayBase = (delay) => {\\n delayBase = delay;\\n };\\n return {\\n computeNextBackoffDelay,\\n setDelayBase,\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js ***!\n \\**********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ createDefaultRetryToken: () => (/* binding */ createDefaultRetryToken)\\n/* harmony export */ });\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/util-retry/dist-es/constants.js\\\");\\n\\nconst createDefaultRetryToken = ({ retryDelay, retryCount, retryCost, }) => {\\n const getRetryCount = () => retryCount;\\n const getRetryDelay = () => Math.min(_constants__WEBPACK_IMPORTED_MODULE_0__.MAXIMUM_RETRY_DELAY, retryDelay);\\n const getRetryCost = () => retryCost;\\n return {\\n getRetryCount,\\n getRetryDelay,\\n getRetryCost,\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-retry/dist-es/index.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/@smithy/util-retry/dist-es/index.js ***!\n \\**********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ AdaptiveRetryStrategy: () => (/* reexport safe */ _AdaptiveRetryStrategy__WEBPACK_IMPORTED_MODULE_0__.AdaptiveRetryStrategy),\\n/* harmony export */ ConfiguredRetryStrategy: () => (/* reexport safe */ _ConfiguredRetryStrategy__WEBPACK_IMPORTED_MODULE_1__.ConfiguredRetryStrategy),\\n/* harmony export */ DEFAULT_MAX_ATTEMPTS: () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_4__.DEFAULT_MAX_ATTEMPTS),\\n/* harmony export */ DEFAULT_RETRY_DELAY_BASE: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_5__.DEFAULT_RETRY_DELAY_BASE),\\n/* harmony export */ DEFAULT_RETRY_MODE: () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_4__.DEFAULT_RETRY_MODE),\\n/* harmony export */ DefaultRateLimiter: () => (/* reexport safe */ _DefaultRateLimiter__WEBPACK_IMPORTED_MODULE_2__.DefaultRateLimiter),\\n/* harmony export */ INITIAL_RETRY_TOKENS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_5__.INITIAL_RETRY_TOKENS),\\n/* harmony export */ INVOCATION_ID_HEADER: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_5__.INVOCATION_ID_HEADER),\\n/* harmony export */ MAXIMUM_RETRY_DELAY: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_5__.MAXIMUM_RETRY_DELAY),\\n/* harmony export */ NO_RETRY_INCREMENT: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_5__.NO_RETRY_INCREMENT),\\n/* harmony export */ REQUEST_HEADER: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_5__.REQUEST_HEADER),\\n/* harmony export */ RETRY_COST: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_5__.RETRY_COST),\\n/* harmony export */ RETRY_MODES: () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_4__.RETRY_MODES),\\n/* harmony export */ StandardRetryStrategy: () => (/* reexport safe */ _StandardRetryStrategy__WEBPACK_IMPORTED_MODULE_3__.StandardRetryStrategy),\\n/* harmony export */ THROTTLING_RETRY_DELAY_BASE: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_5__.THROTTLING_RETRY_DELAY_BASE),\\n/* harmony export */ TIMEOUT_RETRY_COST: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_5__.TIMEOUT_RETRY_COST)\\n/* harmony export */ });\\n/* harmony import */ var _AdaptiveRetryStrategy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AdaptiveRetryStrategy */ \\\"./node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js\\\");\\n/* harmony import */ var _ConfiguredRetryStrategy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ConfiguredRetryStrategy */ \\\"./node_modules/@smithy/util-retry/dist-es/ConfiguredRetryStrategy.js\\\");\\n/* harmony import */ var _DefaultRateLimiter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./DefaultRateLimiter */ \\\"./node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js\\\");\\n/* harmony import */ var _StandardRetryStrategy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./StandardRetryStrategy */ \\\"./node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js\\\");\\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./config */ \\\"./node_modules/@smithy/util-retry/dist-es/config.js\\\");\\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./constants */ \\\"./node_modules/@smithy/util-retry/dist-es/constants.js\\\");\\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./types */ \\\"./node_modules/@smithy/util-retry/dist-es/types.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-retry/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-retry/dist-es/types.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/@smithy/util-retry/dist-es/types.js ***!\n \\**********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-retry/dist-es/types.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-stream/dist-es/blob/Uint8ArrayBlobAdapter.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/@smithy/util-stream/dist-es/blob/Uint8ArrayBlobAdapter.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Uint8ArrayBlobAdapter: () => (/* binding */ Uint8ArrayBlobAdapter)\\n/* harmony export */ });\\n/* harmony import */ var _transforms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transforms */ \\\"./node_modules/@smithy/util-stream/dist-es/blob/transforms.js\\\");\\n\\nclass Uint8ArrayBlobAdapter extends Uint8Array {\\n static fromString(source, encoding = \\\"utf-8\\\") {\\n switch (typeof source) {\\n case \\\"string\\\":\\n return (0,_transforms__WEBPACK_IMPORTED_MODULE_0__.transformFromString)(source, encoding);\\n default:\\n throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`);\\n }\\n }\\n static mutate(source) {\\n Object.setPrototypeOf(source, Uint8ArrayBlobAdapter.prototype);\\n return source;\\n }\\n transformToString(encoding = \\\"utf-8\\\") {\\n return (0,_transforms__WEBPACK_IMPORTED_MODULE_0__.transformToString)(this, encoding);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-stream/dist-es/blob/Uint8ArrayBlobAdapter.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-stream/dist-es/blob/transforms.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/@smithy/util-stream/dist-es/blob/transforms.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ transformFromString: () => (/* binding */ transformFromString),\\n/* harmony export */ transformToString: () => (/* binding */ transformToString)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_util_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/util-base64 */ \\\"./node_modules/@smithy/util-base64/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_utf8__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/util-utf8 */ \\\"./node_modules/@smithy/util-utf8/dist-es/index.js\\\");\\n/* harmony import */ var _Uint8ArrayBlobAdapter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Uint8ArrayBlobAdapter */ \\\"./node_modules/@smithy/util-stream/dist-es/blob/Uint8ArrayBlobAdapter.js\\\");\\n\\n\\n\\nfunction transformToString(payload, encoding = \\\"utf-8\\\") {\\n if (encoding === \\\"base64\\\") {\\n return (0,_smithy_util_base64__WEBPACK_IMPORTED_MODULE_0__.toBase64)(payload);\\n }\\n return (0,_smithy_util_utf8__WEBPACK_IMPORTED_MODULE_1__.toUtf8)(payload);\\n}\\nfunction transformFromString(str, encoding) {\\n if (encoding === \\\"base64\\\") {\\n return _Uint8ArrayBlobAdapter__WEBPACK_IMPORTED_MODULE_2__.Uint8ArrayBlobAdapter.mutate((0,_smithy_util_base64__WEBPACK_IMPORTED_MODULE_0__.fromBase64)(str));\\n }\\n return _Uint8ArrayBlobAdapter__WEBPACK_IMPORTED_MODULE_2__.Uint8ArrayBlobAdapter.mutate((0,_smithy_util_utf8__WEBPACK_IMPORTED_MODULE_1__.fromUtf8)(str));\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-stream/dist-es/blob/transforms.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-stream/dist-es/getAwsChunkedEncodingStream.browser.js\":\n/*!*****************************************************************************************!*\\\n !*** ./node_modules/@smithy/util-stream/dist-es/getAwsChunkedEncodingStream.browser.js ***!\n \\*****************************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ getAwsChunkedEncodingStream: () => (/* binding */ getAwsChunkedEncodingStream)\\n/* harmony export */ });\\nconst getAwsChunkedEncodingStream = (readableStream, options) => {\\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\\n const checksumRequired = base64Encoder !== undefined &&\\n bodyLengthChecker !== undefined &&\\n checksumAlgorithmFn !== undefined &&\\n checksumLocationName !== undefined &&\\n streamHasher !== undefined;\\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : undefined;\\n const reader = readableStream.getReader();\\n return new ReadableStream({\\n async pull(controller) {\\n const { value, done } = await reader.read();\\n if (done) {\\n controller.enqueue(`0\\\\r\\\\n`);\\n if (checksumRequired) {\\n const checksum = base64Encoder(await digest);\\n controller.enqueue(`${checksumLocationName}:${checksum}\\\\r\\\\n`);\\n controller.enqueue(`\\\\r\\\\n`);\\n }\\n controller.close();\\n }\\n else {\\n controller.enqueue(`${(bodyLengthChecker(value) || 0).toString(16)}\\\\r\\\\n${value}\\\\r\\\\n`);\\n }\\n },\\n });\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-stream/dist-es/getAwsChunkedEncodingStream.browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-stream/dist-es/index.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/@smithy/util-stream/dist-es/index.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Uint8ArrayBlobAdapter: () => (/* reexport safe */ _blob_Uint8ArrayBlobAdapter__WEBPACK_IMPORTED_MODULE_0__.Uint8ArrayBlobAdapter),\\n/* harmony export */ getAwsChunkedEncodingStream: () => (/* reexport safe */ _getAwsChunkedEncodingStream__WEBPACK_IMPORTED_MODULE_1__.getAwsChunkedEncodingStream),\\n/* harmony export */ sdkStreamMixin: () => (/* reexport safe */ _sdk_stream_mixin__WEBPACK_IMPORTED_MODULE_2__.sdkStreamMixin)\\n/* harmony export */ });\\n/* harmony import */ var _blob_Uint8ArrayBlobAdapter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./blob/Uint8ArrayBlobAdapter */ \\\"./node_modules/@smithy/util-stream/dist-es/blob/Uint8ArrayBlobAdapter.js\\\");\\n/* harmony import */ var _getAwsChunkedEncodingStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getAwsChunkedEncodingStream */ \\\"./node_modules/@smithy/util-stream/dist-es/getAwsChunkedEncodingStream.browser.js\\\");\\n/* harmony import */ var _sdk_stream_mixin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sdk-stream-mixin */ \\\"./node_modules/@smithy/util-stream/dist-es/sdk-stream-mixin.browser.js\\\");\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-stream/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-stream/dist-es/sdk-stream-mixin.browser.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/@smithy/util-stream/dist-es/sdk-stream-mixin.browser.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ sdkStreamMixin: () => (/* binding */ sdkStreamMixin)\\n/* harmony export */ });\\n/* harmony import */ var _smithy_fetch_http_handler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @smithy/fetch-http-handler */ \\\"./node_modules/@smithy/fetch-http-handler/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_base64__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smithy/util-base64 */ \\\"./node_modules/@smithy/util-base64/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @smithy/util-hex-encoding */ \\\"./node_modules/@smithy/util-hex-encoding/dist-es/index.js\\\");\\n/* harmony import */ var _smithy_util_utf8__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @smithy/util-utf8 */ \\\"./node_modules/@smithy/util-utf8/dist-es/index.js\\\");\\n\\n\\n\\n\\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \\\"The stream has already been transformed.\\\";\\nconst sdkStreamMixin = (stream) => {\\n if (!isBlobInstance(stream) && !isReadableStreamInstance(stream)) {\\n const name = stream?.__proto__?.constructor?.name || stream;\\n throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`);\\n }\\n let transformed = false;\\n const transformToByteArray = async () => {\\n if (transformed) {\\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\\n }\\n transformed = true;\\n return await (0,_smithy_fetch_http_handler__WEBPACK_IMPORTED_MODULE_0__.streamCollector)(stream);\\n };\\n const blobToWebStream = (blob) => {\\n if (typeof blob.stream !== \\\"function\\\") {\\n throw new Error(\\\"Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\\\\n\\\" +\\n \\\"If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body\\\");\\n }\\n return blob.stream();\\n };\\n return Object.assign(stream, {\\n transformToByteArray: transformToByteArray,\\n transformToString: async (encoding) => {\\n const buf = await transformToByteArray();\\n if (encoding === \\\"base64\\\") {\\n return (0,_smithy_util_base64__WEBPACK_IMPORTED_MODULE_1__.toBase64)(buf);\\n }\\n else if (encoding === \\\"hex\\\") {\\n return (0,_smithy_util_hex_encoding__WEBPACK_IMPORTED_MODULE_2__.toHex)(buf);\\n }\\n else if (encoding === undefined || encoding === \\\"utf8\\\" || encoding === \\\"utf-8\\\") {\\n return (0,_smithy_util_utf8__WEBPACK_IMPORTED_MODULE_3__.toUtf8)(buf);\\n }\\n else if (typeof TextDecoder === \\\"function\\\") {\\n return new TextDecoder(encoding).decode(buf);\\n }\\n else {\\n throw new Error(\\\"TextDecoder is not available, please make sure polyfill is provided.\\\");\\n }\\n },\\n transformToWebStream: () => {\\n if (transformed) {\\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\\n }\\n transformed = true;\\n if (isBlobInstance(stream)) {\\n return blobToWebStream(stream);\\n }\\n else if (isReadableStreamInstance(stream)) {\\n return stream;\\n }\\n else {\\n throw new Error(`Cannot transform payload to web stream, got ${stream}`);\\n }\\n },\\n });\\n};\\nconst isBlobInstance = (stream) => typeof Blob === \\\"function\\\" && stream instanceof Blob;\\nconst isReadableStreamInstance = (stream) => typeof ReadableStream === \\\"function\\\" && stream instanceof ReadableStream;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-stream/dist-es/sdk-stream-mixin.browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-uri-escape/dist-es/escape-uri-path.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/@smithy/util-uri-escape/dist-es/escape-uri-path.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ escapeUriPath: () => (/* binding */ escapeUriPath)\\n/* harmony export */ });\\n/* harmony import */ var _escape_uri__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./escape-uri */ \\\"./node_modules/@smithy/util-uri-escape/dist-es/escape-uri.js\\\");\\n\\nconst escapeUriPath = (uri) => uri.split(\\\"/\\\").map(_escape_uri__WEBPACK_IMPORTED_MODULE_0__.escapeUri).join(\\\"/\\\");\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-uri-escape/dist-es/escape-uri-path.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-uri-escape/dist-es/escape-uri.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/@smithy/util-uri-escape/dist-es/escape-uri.js ***!\n \\********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ escapeUri: () => (/* binding */ escapeUri)\\n/* harmony export */ });\\nconst escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-uri-escape/dist-es/escape-uri.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-uri-escape/dist-es/index.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@smithy/util-uri-escape/dist-es/index.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ escapeUri: () => (/* reexport safe */ _escape_uri__WEBPACK_IMPORTED_MODULE_0__.escapeUri),\\n/* harmony export */ escapeUriPath: () => (/* reexport safe */ _escape_uri_path__WEBPACK_IMPORTED_MODULE_1__.escapeUriPath)\\n/* harmony export */ });\\n/* harmony import */ var _escape_uri__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./escape-uri */ \\\"./node_modules/@smithy/util-uri-escape/dist-es/escape-uri.js\\\");\\n/* harmony import */ var _escape_uri_path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./escape-uri-path */ \\\"./node_modules/@smithy/util-uri-escape/dist-es/escape-uri-path.js\\\");\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-uri-escape/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js ***!\n \\********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ fromUtf8: () => (/* binding */ fromUtf8)\\n/* harmony export */ });\\nconst fromUtf8 = (input) => new TextEncoder().encode(input);\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-utf8/dist-es/index.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/@smithy/util-utf8/dist-es/index.js ***!\n \\*********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ fromUtf8: () => (/* reexport safe */ _fromUtf8__WEBPACK_IMPORTED_MODULE_0__.fromUtf8),\\n/* harmony export */ toUint8Array: () => (/* reexport safe */ _toUint8Array__WEBPACK_IMPORTED_MODULE_1__.toUint8Array),\\n/* harmony export */ toUtf8: () => (/* reexport safe */ _toUtf8__WEBPACK_IMPORTED_MODULE_2__.toUtf8)\\n/* harmony export */ });\\n/* harmony import */ var _fromUtf8__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fromUtf8 */ \\\"./node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js\\\");\\n/* harmony import */ var _toUint8Array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toUint8Array */ \\\"./node_modules/@smithy/util-utf8/dist-es/toUint8Array.js\\\");\\n/* harmony import */ var _toUtf8__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toUtf8 */ \\\"./node_modules/@smithy/util-utf8/dist-es/toUtf8.browser.js\\\");\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-utf8/dist-es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-utf8/dist-es/toUint8Array.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@smithy/util-utf8/dist-es/toUint8Array.js ***!\n \\****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ toUint8Array: () => (/* binding */ toUint8Array)\\n/* harmony export */ });\\n/* harmony import */ var _fromUtf8__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fromUtf8 */ \\\"./node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js\\\");\\n\\nconst toUint8Array = (data) => {\\n if (typeof data === \\\"string\\\") {\\n return (0,_fromUtf8__WEBPACK_IMPORTED_MODULE_0__.fromUtf8)(data);\\n }\\n if (ArrayBuffer.isView(data)) {\\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\\n }\\n return new Uint8Array(data);\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-utf8/dist-es/toUint8Array.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@smithy/util-utf8/dist-es/toUtf8.browser.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@smithy/util-utf8/dist-es/toUtf8.browser.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ toUtf8: () => (/* binding */ toUtf8)\\n/* harmony export */ });\\nconst toUtf8 = (input) => new TextDecoder(\\\"utf-8\\\").decode(input);\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@smithy/util-utf8/dist-es/toUtf8.browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/activespeakerdetector/DefaultActiveSpeakerDetector.js\":\n/*!******************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/activespeakerdetector/DefaultActiveSpeakerDetector.js ***!\n \\******************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst IntervalScheduler_1 = __webpack_require__(/*! ../scheduler/IntervalScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/IntervalScheduler.js\\\");\\nclass DefaultActiveSpeakerDetector {\\n constructor(realtimeController, selfAttendeeId, hasBandwidthPriorityCallback, waitIntervalMs = 1000, updateIntervalMs = 200) {\\n this.realtimeController = realtimeController;\\n this.selfAttendeeId = selfAttendeeId;\\n this.hasBandwidthPriorityCallback = hasBandwidthPriorityCallback;\\n this.waitIntervalMs = waitIntervalMs;\\n this.updateIntervalMs = updateIntervalMs;\\n this.speakerScores = {};\\n this.speakerMuteState = {};\\n this.detectorCallbackToHandler = new Map();\\n this.detectorCallbackToScoresTimer = new Map();\\n this.detectorCallbackToActivityTimer = new Map();\\n this.hasBandwidthPriority = false;\\n this.mostRecentUpdateTimestamp = {};\\n }\\n needUpdate(attendeeId) {\\n if (!this.activeSpeakers) {\\n return true;\\n }\\n return ((this.speakerScores[attendeeId] === 0 && this.activeSpeakers.includes(attendeeId)) ||\\n (this.speakerScores[attendeeId] > 0 && !this.activeSpeakers.includes(attendeeId)));\\n }\\n updateActiveSpeakers(policy, callback, attendeeId) {\\n if (!this.needUpdate(attendeeId)) {\\n return;\\n }\\n const sortedSpeakers = [];\\n const attendeeIds = Object.keys(this.speakerScores);\\n for (let i = 0; i < attendeeIds.length; i++) {\\n const attendeeId = attendeeIds[i];\\n sortedSpeakers.push({ attendeeId: attendeeId, activeScore: this.speakerScores[attendeeId] });\\n }\\n const sortedAttendeeIds = sortedSpeakers\\n .sort((s1, s2) => s2.activeScore - s1.activeScore)\\n .filter(function (s) {\\n return s.activeScore > 0;\\n })\\n .map(function (s) {\\n return s.attendeeId;\\n });\\n this.activeSpeakers = sortedAttendeeIds;\\n callback(sortedAttendeeIds);\\n const selfIsActive = sortedAttendeeIds.length > 0 && sortedAttendeeIds[0] === this.selfAttendeeId;\\n const hasBandwidthPriority = selfIsActive && policy.prioritizeVideoSendBandwidthForActiveSpeaker();\\n const hasBandwidthPriorityDidChange = this.hasBandwidthPriority !== hasBandwidthPriority;\\n if (hasBandwidthPriorityDidChange) {\\n this.hasBandwidthPriority = hasBandwidthPriority;\\n this.hasBandwidthPriorityCallback(hasBandwidthPriority);\\n }\\n }\\n updateScore(policy, callback, attendeeId, volume, muted) {\\n const activeScore = policy.calculateScore(attendeeId, volume, muted);\\n if (this.speakerScores[attendeeId] !== activeScore) {\\n this.speakerScores[attendeeId] = activeScore;\\n this.mostRecentUpdateTimestamp[attendeeId] = Date.now();\\n this.updateActiveSpeakers(policy, callback, attendeeId);\\n }\\n }\\n subscribe(policy, callback, scoresCallback, scoresCallbackIntervalMs) {\\n const handler = (attendeeId, present) => {\\n if (!present) {\\n this.speakerScores[attendeeId] = 0;\\n this.mostRecentUpdateTimestamp[attendeeId] = Date.now();\\n this.updateActiveSpeakers(policy, callback, attendeeId);\\n return;\\n }\\n this.realtimeController.realtimeSubscribeToVolumeIndicator(attendeeId, (attendeeId, volume, muted, _signalStrength) => {\\n this.mostRecentUpdateTimestamp[attendeeId] = Date.now();\\n if (muted !== null) {\\n this.speakerMuteState[attendeeId] = muted;\\n }\\n this.updateScore(policy, callback, attendeeId, volume, muted);\\n });\\n };\\n this.detectorCallbackToHandler.set(callback, handler);\\n const activityTimer = new IntervalScheduler_1.default(this.updateIntervalMs);\\n activityTimer.start(() => {\\n for (const attendeeId in this.speakerScores) {\\n if (Date.now() - this.mostRecentUpdateTimestamp[attendeeId] > this.waitIntervalMs) {\\n this.updateScore(policy, callback, attendeeId, 0, this.speakerMuteState[attendeeId]);\\n }\\n }\\n });\\n this.detectorCallbackToActivityTimer.set(callback, activityTimer);\\n if (scoresCallback && scoresCallbackIntervalMs) {\\n const scoresTimer = new IntervalScheduler_1.default(scoresCallbackIntervalMs);\\n scoresTimer.start(() => {\\n scoresCallback(this.speakerScores);\\n });\\n this.detectorCallbackToScoresTimer.set(callback, scoresTimer);\\n }\\n this.realtimeController.realtimeSubscribeToAttendeeIdPresence(handler);\\n }\\n unsubscribe(callback) {\\n const handler = this.detectorCallbackToHandler.get(callback);\\n this.detectorCallbackToHandler.delete(callback);\\n if (handler) {\\n this.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(handler);\\n }\\n const activityTimer = this.detectorCallbackToActivityTimer.get(callback);\\n if (activityTimer) {\\n activityTimer.stop();\\n this.detectorCallbackToActivityTimer.delete(callback);\\n }\\n const scoresTimer = this.detectorCallbackToScoresTimer.get(callback);\\n if (scoresTimer) {\\n scoresTimer.stop();\\n this.detectorCallbackToHandler.delete(callback);\\n }\\n }\\n destroy() {\\n return __awaiter(this, void 0, void 0, function* () {\\n for (const handler of this.detectorCallbackToHandler.values()) {\\n this.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(handler);\\n }\\n for (const activityTimer of this.detectorCallbackToActivityTimer.values()) {\\n activityTimer.stop();\\n }\\n for (const scoresTimer of this.detectorCallbackToScoresTimer.values()) {\\n scoresTimer.stop();\\n }\\n this.detectorCallbackToHandler.clear();\\n this.detectorCallbackToActivityTimer.clear();\\n this.detectorCallbackToScoresTimer.clear();\\n });\\n }\\n}\\nexports[\\\"default\\\"] = DefaultActiveSpeakerDetector;\\n//# sourceMappingURL=DefaultActiveSpeakerDetector.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/activespeakerdetector/DefaultActiveSpeakerDetector.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/activespeakerpolicy/DefaultActiveSpeakerPolicy.js\":\n/*!**************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/activespeakerpolicy/DefaultActiveSpeakerPolicy.js ***!\n \\**************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass DefaultActiveSpeakerPolicy {\\n /** Creates active speaker policy with speakerWeight, cutoffThreshold, silenceThreshold, and takeoverRate.\\n *\\n * @param speakerWeight\\n * The number used to calculate new active speaker score for current attendee.\\n * ```js\\n * Formula:\\n * updatedCurrentAttendeeScore = currentAttendeeExistingScore * speakerWeight + currentReceivedVolume * (1 - speakerWeight)\\n * ```\\n *\\n * @param cutoffThreshold\\n * The threshold number compared with updated active speaker score.\\n * If the updated active speaker score is less than this threshold value,\\n * the updated score is returned as 0, else the updated score is returned.\\n *\\n * @param silenceThreshold\\n * The threshold number compared with current received volume.\\n * While calculating the new active speaker score, if the current received\\n * volume is less than this threshold value, the current received volume is considered as 0,\\n * else 1.\\n *\\n * @param takeoverRate\\n * The number used to calculate other attendee's active speaker score, other than the current attendee.\\n * ```js\\n * Formula:\\n * updatedOtherAttendeeActiveSpeakerScore = Math.max(\\n * existingOtherAttendeeActiveSpeakerScore - takeoverRate * currentReceivedVolume,\\n * 0\\n * );\\n * ```\\n */\\n constructor(speakerWeight = 0.9, cutoffThreshold = 0.01, silenceThreshold = 0.2, takeoverRate = 0.2) {\\n this.speakerWeight = speakerWeight;\\n this.cutoffThreshold = cutoffThreshold;\\n this.silenceThreshold = silenceThreshold;\\n this.takeoverRate = takeoverRate;\\n /**\\n * The map of attendeeIds to their active speaker score values\\n */\\n this.volumes = {};\\n }\\n calculateScore(attendeeId, volume, muted) {\\n if (muted || volume === null) {\\n volume = 0;\\n }\\n if (!this.volumes.hasOwnProperty(attendeeId)) {\\n this.volumes[attendeeId] = 0;\\n }\\n if (volume > this.silenceThreshold) {\\n volume = 1.0;\\n }\\n else {\\n volume = 0.0;\\n }\\n const score = this.volumes[attendeeId] * this.speakerWeight + volume * (1 - this.speakerWeight);\\n this.volumes[attendeeId] = score;\\n for (const otherAttendeeId in this.volumes) {\\n if (otherAttendeeId !== attendeeId) {\\n this.volumes[otherAttendeeId] = Math.max(this.volumes[otherAttendeeId] - this.takeoverRate * volume, 0);\\n }\\n }\\n if (score < this.cutoffThreshold) {\\n return 0;\\n }\\n return score;\\n }\\n prioritizeVideoSendBandwidthForActiveSpeaker() {\\n return true;\\n }\\n}\\nexports[\\\"default\\\"] = DefaultActiveSpeakerPolicy;\\n//# sourceMappingURL=DefaultActiveSpeakerPolicy.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/activespeakerpolicy/DefaultActiveSpeakerPolicy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/applicationmetadata/ApplicationMetadata.js\":\n/*!*******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/applicationmetadata/ApplicationMetadata.js ***!\n \\*******************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n *\\n * [[ApplicationMetadata]] contains application metadata such as application name and version.\\n * Amazon Chime SDK for JavaScript allows builders to provide application metadata in\\n * the meeting session configuration. This field is optional. Amazon Chime uses application metadata to\\n * analyze meeting health trends or identify common failures to improve your meeting experience.\\n *\\n * Do not pass any Personal Identifiable Information (PII).\\n *\\n * ```js\\n * import { MeetingSessionConfiguration, ApplicationMetadata } from 'amazon-chime-sdk-js';\\n *\\n * const createMeetingResponse = // CreateMeeting API response.\\n * const createAttendeeResponse = // CreateAttendee API response.\\n * const meetingSessionConfiguration = new MeetingSessionConfiguration(\\n * createMeetingResponse,\\n * createAttendeeResponse\\n * );\\n *\\n * meetingSessionConfiguration.applicationMetadata = ApplicationMetadata.create({\\n * appName: 'AppName',\\n * appVersion: '1.0.0'\\n * });\\n *\\n * ```\\n */\\nclass ApplicationMetadata {\\n constructor(appName, appVersion) {\\n this.appName = appName;\\n this.appVersion = appVersion;\\n }\\n /**\\n *\\n * @param appName Builder's application name.\\n * The app name must satisfy following regular expression:\\n * `/^[a-zA-Z0-9]+[a-zA-Z0-9_-]*[a-zA-Z0-9]+$/g`\\n *\\n * @param appVersion Builder's application version.\\n * The app version must follow the [Semantic Versioning](https://semver.org/) format.\\n *\\n * @returns [[ApplicationMetadata]]\\n */\\n static create(appName, appVersion) {\\n const APP_NAME_REGEX = /^[a-zA-Z0-9]+[a-zA-Z0-9_-]*[a-zA-Z0-9]+$/g;\\n if (!appName || appName.length > 32) {\\n throw new Error(`appName should be a valid string and 1 to 32 characters in length`);\\n }\\n if (!APP_NAME_REGEX.test(appName)) {\\n throw new Error(`appName must satisfy ${APP_NAME_REGEX} regular expression`);\\n }\\n const APP_VERSION_REGEX = /^(0|[1-9]\\\\d*)\\\\.(0|[1-9]\\\\d*)\\\\.(0|[1-9]\\\\d*)(?:-((?:0|[1-9]\\\\d*|\\\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\\\.(?:0|[1-9]\\\\d*|\\\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\\\+([0-9a-zA-Z-]+(?:\\\\.[0-9a-zA-Z-]+)*))?$/gm;\\n if (!appVersion || appVersion.length > 32) {\\n throw new Error(`appVersion should be a valid string and 1 to 32 characters in length`);\\n }\\n if (!APP_VERSION_REGEX.test(appVersion)) {\\n throw new Error(`appVersion must satisfy Semantic Versioning format`);\\n }\\n return new ApplicationMetadata(appName, appVersion);\\n }\\n}\\nexports[\\\"default\\\"] = ApplicationMetadata;\\n//# sourceMappingURL=ApplicationMetadata.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/applicationmetadata/ApplicationMetadata.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/attendee/Attendee.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/attendee/Attendee.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[Attendee]] contains the information of an attendee.\\n */\\nclass Attendee {\\n}\\nexports[\\\"default\\\"] = Attendee;\\n//# sourceMappingURL=Attendee.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/attendee/Attendee.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/audiomixcontroller/DefaultAudioMixController.js\":\n/*!************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/audiomixcontroller/DefaultAudioMixController.js ***!\n \\************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nconst AsyncScheduler_1 = __webpack_require__(/*! ../scheduler/AsyncScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/AsyncScheduler.js\\\");\\nclass DefaultAudioMixController {\\n constructor(logger) {\\n this.logger = logger;\\n this.audioDevice = null;\\n this.audioElement = null;\\n this.audioStream = null;\\n this.browserBehavior = new DefaultBrowserBehavior_1.default();\\n this.observers = new Set();\\n }\\n bindAudioElement(element) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!element) {\\n throw new Error(`Cannot bind audio element: ${element}`);\\n }\\n this.audioElement = element;\\n this.audioElement.autoplay = true;\\n return this.bindAudioMix();\\n });\\n }\\n unbindAudioElement() {\\n if (!this.audioElement) {\\n return;\\n }\\n this.audioElement.srcObject = null;\\n this.audioElement = null;\\n this.forEachObserver((observer) => {\\n if (this.audioStream) {\\n observer.meetingAudioStreamBecameInactive(this.audioStream);\\n }\\n });\\n }\\n bindAudioStream(stream) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!stream) {\\n return;\\n }\\n this.audioStream = stream;\\n try {\\n yield this.bindAudioMix();\\n }\\n catch (error) {\\n /* istanbul ignore else */\\n if (this.logger) {\\n this.logger.warn(`Failed to bind audio stream: ${error}`);\\n }\\n }\\n });\\n }\\n bindAudioDevice(device) {\\n return __awaiter(this, void 0, void 0, function* () {\\n /**\\n * Throw error if browser doesn't even support setSinkId\\n * Read more: https://caniuse.com/?search=setSinkId\\n */\\n if (device && !this.browserBehavior.supportsSetSinkId()) {\\n throw new Error('Cannot select audio output device. This browser does not support setSinkId.');\\n }\\n // Always set device -- we might be setting it back to `null` to reselect\\n // the default, and even in that case we need to call `bindAudioMix` in\\n // order to update the sink ID to the empty string.\\n this.audioDevice = device;\\n return this.bindAudioMix();\\n });\\n }\\n forEachObserver(observerFunc) {\\n for (const observer of this.observers) {\\n AsyncScheduler_1.default.nextTick(() => {\\n observerFunc(observer);\\n });\\n }\\n }\\n bindAudioMix() {\\n var _a, _b;\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this.audioElement) {\\n return;\\n }\\n const previousStream = this.audioElement.srcObject;\\n if (this.audioStream) {\\n this.audioElement.srcObject = this.audioStream;\\n }\\n if (previousStream !== this.audioStream) {\\n this.forEachObserver((observer) => {\\n if (previousStream) {\\n observer.meetingAudioStreamBecameInactive(previousStream);\\n }\\n if (this.audioStream) {\\n observer.meetingAudioStreamBecameActive(this.audioStream);\\n }\\n });\\n }\\n // In usual operation, the output device is undefined, and so is the element\\n // sink ID. In this case, don't throw an error -- we're being called as a side\\n // effect of just binding the audio element, not choosing an output device.\\n const shouldSetSinkId = ((_a = this.audioDevice) === null || _a === void 0 ? void 0 : _a.deviceId) !== this.audioElement.sinkId;\\n if (shouldSetSinkId &&\\n typeof this.audioElement.sinkId === 'undefined') {\\n throw new Error('Cannot select audio output device. This browser does not support setSinkId.');\\n }\\n const newSinkId = this.audioDevice ? this.audioDevice.deviceId : '';\\n const oldSinkId = this.audioElement.sinkId;\\n if (newSinkId === oldSinkId) {\\n return;\\n }\\n // Take the existing stream and temporarily unbind it while we change\\n // the sink ID.\\n const existingAudioElement = this\\n .audioElement;\\n const existingStream = this.audioStream;\\n if (this.browserBehavior.hasChromiumWebRTC()) {\\n existingAudioElement.srcObject = null;\\n }\\n if (shouldSetSinkId) {\\n try {\\n yield existingAudioElement.setSinkId(newSinkId);\\n }\\n catch (error) {\\n (_b = this.logger) === null || _b === void 0 ? void 0 : _b.error(`Failed to set sinkId for audio element: ${error}`);\\n throw error;\\n }\\n }\\n if (this.browserBehavior.hasChromiumWebRTC()) {\\n existingAudioElement.srcObject = existingStream;\\n }\\n });\\n }\\n getCurrentMeetingAudioStream() {\\n return __awaiter(this, void 0, void 0, function* () {\\n return this.audioStream;\\n });\\n }\\n addAudioMixObserver(observer) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.observers.add(observer);\\n });\\n }\\n removeAudioMixObserver(observer) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.observers.delete(observer);\\n });\\n }\\n audioOutputDidChange(device) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.logger.info('Receive an audio output change event');\\n return this.bindAudioDevice(device);\\n });\\n }\\n}\\nexports[\\\"default\\\"] = DefaultAudioMixController;\\n//# sourceMappingURL=DefaultAudioMixController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/audiomixcontroller/DefaultAudioMixController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/audioprofile/AudioProfile.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/audioprofile/AudioProfile.js ***!\n \\*****************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * AudioProfile defines quality settings of the audio input\\n * device. Use the static methods to create presets optimized\\n * for fullband speech and fullband music with a mono channel.\\n */\\nclass AudioProfile {\\n /**\\n * Constructs an AudioProfile given an audio bitrate. If no\\n * audio bitrate is supplied, then the default AudioProfile\\n * is constructed. The default AudioProfile does not adjust\\n * the browser's internal bitrate setting.\\n */\\n constructor(audioBitrateBps = null) {\\n this.audioBitrateBps = audioBitrateBps;\\n }\\n /**\\n * Creates an AudioProfile optimized for fullband speech (40 kbit/s mono).\\n */\\n static fullbandSpeechMono() {\\n return new AudioProfile(40000);\\n }\\n /**\\n * Creates an AudioProfile optimized for fullband music (64 kbit/s mono).\\n */\\n static fullbandMusicMono() {\\n return new AudioProfile(64000);\\n }\\n /**\\n * Creates an AudioProfile optimized for fullband stereo music (128 kbit/s stereo).\\n */\\n static fullbandMusicStereo() {\\n return new AudioProfile(128000);\\n }\\n /**\\n * Returns true if audio profile is set to stereo mode.\\n */\\n isStereo() {\\n return this.audioBitrateBps === 128000;\\n }\\n}\\nexports[\\\"default\\\"] = AudioProfile;\\n//# sourceMappingURL=AudioProfile.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/audioprofile/AudioProfile.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/AudioVideoControllerState.js\":\n/*!**************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/AudioVideoControllerState.js ***!\n \\**************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.DEFAULT_VIDEO_SUBSCRIPTION_LIMIT = void 0;\\nexports.DEFAULT_VIDEO_SUBSCRIPTION_LIMIT = 25;\\n/**\\n * [[AudioVideoControllerState]] includes the compute resources shared by [[DefaultAudioVideoController]] and any running [[Task]].\\n *\\n * **Note**: Any additions to this class need to consider whether they need to be reset in `resetConnectionSpecificState`, `CleanStoppedSessionTask`, or\\n * `CleanRestartedSessionTask`, e.g. if it is relies on backend state and will go stale across reconnections. Failing\\n * to reset state may lead to unexpected behavior.\\n */\\nclass AudioVideoControllerState {\\n constructor() {\\n this.logger = null;\\n this.browserBehavior = null;\\n this.meetingSessionConfiguration = null;\\n this.signalingClient = null;\\n this.peer = null;\\n this.previousSdpOffer = null;\\n this.sdpOfferInit = null;\\n this.audioVideoController = null;\\n this.realtimeController = null;\\n this.videoTileController = null;\\n this.mediaStreamBroker = null;\\n this.activeAudioInput = undefined;\\n this.activeVideoInput = undefined;\\n this.audioMixController = null;\\n this.transceiverController = null;\\n this.indexFrame = null;\\n this.iceCandidates = [];\\n this.iceCandidateHandler = null;\\n this.iceGatheringStateEventHandler = null;\\n this.sdpAnswer = null;\\n this.turnCredentials = null;\\n this.reconnectController = null;\\n this.removableObservers = [];\\n this.audioProfile = null;\\n this.videoStreamIndex = null;\\n this.videoDownlinkBandwidthPolicy = null;\\n this.videoUplinkBandwidthPolicy = null;\\n this.lastKnownVideoAvailability = null;\\n this.videoCaptureAndEncodeParameter = null;\\n // An unordered list of IDs provided by the downlink policy that\\n // we will eventually subscribe to.\\n this.videosToReceive = null;\\n // The last processed set of IDs provided by the policy, so that we can\\n // compare what changes were additions, stream switches, or removals.\\n this.lastVideosToReceive = null;\\n // An ordered list corresponding to `videosToReceive` where the order\\n // itself correspond to transceivers; 0 in this list corresponds to an inactive tranceiver.\\n this.videoSubscriptions = null;\\n // The last calculated list of subscription configuration used to send a remote video\\n // update (i.e. not necessarily related to what is in subscribe). This is used to make the remote\\n // video update a differential message (i.e. only sending changes)\\n //\\n // This is stored as a map keyed by group ID for convenience\\n this.lastVideoSubscriptionConfiguration = new Map();\\n // The video subscription limit is set by the backend and is subject to change in future.\\n // This value is set in the `JoinAndReceiveIndexTask` when we process the `SdkJoinAckFrame`\\n // and is used in the `ReceiveVideoStreamIndexTask` to limit the total number of streams\\n // that we include in the `videosToReceive`.\\n this.videoSubscriptionLimit = exports.DEFAULT_VIDEO_SUBSCRIPTION_LIMIT;\\n // The previous SDP answer will be used as a dictionary to seed the compression library\\n // during decompressing the compressed SDP answer.\\n this.previousSdpAnswerAsString = '';\\n // This flag indicates if the backend supports compression for the client.\\n this.serverSupportsCompression = false;\\n // Values set by `setVideoCodecSendPreferences`.\\n this.videoSendCodecPreferences = [];\\n // Calculated as the highest priority available codec set in the (possibly munged) SDP answer\\n // that is provide to the peer connection, which will be what is sent.\\n this.currentVideoSendCodec = undefined;\\n // Intersection of `videoSendCodecPreferences` and the supported receive codecs of\\n // all the other clients in the meeting.\\n this.meetingSupportedVideoSendCodecPreferences = undefined;\\n this.videosPaused = null;\\n this.videoDuplexMode = null;\\n this.volumeIndicatorAdapter = null;\\n this.statsCollector = null;\\n this.connectionMonitor = null;\\n // This state is deprecated and unused.\\n this.videoInputAttachedTimestampMs = 0;\\n // This state is deprecated and unused.\\n this.audioDeviceInformation = {};\\n // This state is deprecated and unused.\\n this.videoDeviceInformation = {};\\n this.enableSimulcast = false;\\n this.eventController = null;\\n this.signalingOpenDurationMs = null;\\n this.iceGatheringDurationMs = null;\\n this.startAudioVideoTimestamp = null;\\n this.attendeePresenceDurationMs = null;\\n this.meetingStartDurationMs = null;\\n this.poorConnectionCount = 0;\\n this.maxVideoTileCount = 0;\\n this.startTimeMs = null;\\n }\\n /*\\n * Reset state corresponding to state that is dependent on a individual connection\\n * and may not be valid for others, e.g. on a reconnection.\\n */\\n resetConnectionSpecificState() {\\n // For auditing reasons, we will comment on the state that we do not touch here. Note that `DefaultAudioVideoController.actionConnect`\\n // also resets certain state, some to cached members:\\n // Reset to empty/null/new state: `browserBehavior`, `transceiverController`, `volumeIndicatorAdapter`, `enableSimulcast`\\n // `signalingOpenDurationMs`, `iceGatheringDurationMs`, `startAudioVideoTimestamp`, `attendeePresenceDurationMs`\\n // `meetingStartDurationMs`, `startTimeMs`, `lastKnownVideoAvailability`, `videoCaptureAndEncodeParameter`, `videosToReceive`\\n // `videosPaused`, `videoStreamIndex`, `statsCollector`, `connectionMonitor`\\n // Reset to existing/cached values: `logger`, `meetingSessionConfiguration`, `realtimeController`, `mediaStreamBroker`,\\n // `audioMixController`, `reconnectController, `audioProfile`, `eventController`\\n // `signalingClient` can be reused from a failed/disconnected state.\\n if (this.peer) {\\n this.peer.close();\\n }\\n this.peer = null;\\n this.previousSdpOffer = null;\\n this.sdpOfferInit = null;\\n // `audioVideoController` members should either be reusable, or moved to `AudioVideoControllerState` and\\n // cleaned up here.\\n // We don't want to mutate `videoTileController` as most video tiles will still be there on reconnect. We can remove tiles on the\\n // first index we receive if they no longer exist\\n // `mediaStreamBroker`, `activeAudioInput`, and `activeVideoInput` are cleaned up seperately in `DefaultAudioVideoController.cleanUpMediaStreamsAfterStop`\\n // but only on `stop` or non-reconnectable failures. They are also set to cached `DefaultAudioVideoController` members on restart.\\n if (this.transceiverController !== undefined) {\\n this.transceiverController.reset();\\n }\\n this.indexFrame = null;\\n this.iceCandidates = [];\\n this.iceCandidateHandler = null;\\n this.sdpAnswer = null;\\n this.turnCredentials = null;\\n this.videoDownlinkBandwidthPolicy.reset();\\n if (this.videoUplinkBandwidthPolicy.reset) {\\n this.videoUplinkBandwidthPolicy.reset();\\n }\\n this.lastVideosToReceive = null;\\n this.lastVideoSubscriptionConfiguration = new Map();\\n this.videoSubscriptions = null;\\n this.videoSubscriptionLimit = exports.DEFAULT_VIDEO_SUBSCRIPTION_LIMIT;\\n this.previousSdpAnswerAsString = '';\\n this.serverSupportsCompression = false;\\n // `videoSendCodecPreferences` is set by builder and needs to stay consistent.\\n this.currentVideoSendCodec = undefined;\\n this.meetingSupportedVideoSendCodecPreferences = undefined;\\n this.videoDuplexMode = null;\\n // `poorConnectionCount`and `maxVideoTileCount` is intentionally not set to 0 across reconnections.\\n }\\n}\\nexports[\\\"default\\\"] = AudioVideoControllerState;\\n//# sourceMappingURL=AudioVideoControllerState.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/AudioVideoControllerState.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/DefaultAudioVideoController.js\":\n/*!****************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/DefaultAudioVideoController.js ***!\n \\****************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultActiveSpeakerDetector_1 = __webpack_require__(/*! ../activespeakerdetector/DefaultActiveSpeakerDetector */ \\\"./node_modules/amazon-chime-sdk-js/build/activespeakerdetector/DefaultActiveSpeakerDetector.js\\\");\\nconst DefaultAudioMixController_1 = __webpack_require__(/*! ../audiomixcontroller/DefaultAudioMixController */ \\\"./node_modules/amazon-chime-sdk-js/build/audiomixcontroller/DefaultAudioMixController.js\\\");\\nconst AudioProfile_1 = __webpack_require__(/*! ../audioprofile/AudioProfile */ \\\"./node_modules/amazon-chime-sdk-js/build/audioprofile/AudioProfile.js\\\");\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nconst ConnectionHealthData_1 = __webpack_require__(/*! ../connectionhealthpolicy/ConnectionHealthData */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ConnectionHealthData.js\\\");\\nconst SignalingAndMetricsConnectionMonitor_1 = __webpack_require__(/*! ../connectionmonitor/SignalingAndMetricsConnectionMonitor */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionmonitor/SignalingAndMetricsConnectionMonitor.js\\\");\\nconst MeetingSessionStatus_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatus */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatus.js\\\");\\nconst MeetingSessionStatusCode_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatusCode */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js\\\");\\nconst MeetingSessionVideoAvailability_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionVideoAvailability */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionVideoAvailability.js\\\");\\nconst DefaultModality_1 = __webpack_require__(/*! ../modality/DefaultModality */ \\\"./node_modules/amazon-chime-sdk-js/build/modality/DefaultModality.js\\\");\\nconst DefaultPingPong_1 = __webpack_require__(/*! ../pingpong/DefaultPingPong */ \\\"./node_modules/amazon-chime-sdk-js/build/pingpong/DefaultPingPong.js\\\");\\nconst DefaultRealtimeController_1 = __webpack_require__(/*! ../realtimecontroller/DefaultRealtimeController */ \\\"./node_modules/amazon-chime-sdk-js/build/realtimecontroller/DefaultRealtimeController.js\\\");\\nconst AsyncScheduler_1 = __webpack_require__(/*! ../scheduler/AsyncScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/AsyncScheduler.js\\\");\\nconst DefaultSessionStateController_1 = __webpack_require__(/*! ../sessionstatecontroller/DefaultSessionStateController */ \\\"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/DefaultSessionStateController.js\\\");\\nconst SessionStateControllerAction_1 = __webpack_require__(/*! ../sessionstatecontroller/SessionStateControllerAction */ \\\"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerAction.js\\\");\\nconst SessionStateControllerState_1 = __webpack_require__(/*! ../sessionstatecontroller/SessionStateControllerState */ \\\"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerState.js\\\");\\nconst SessionStateControllerTransitionResult_1 = __webpack_require__(/*! ../sessionstatecontroller/SessionStateControllerTransitionResult */ \\\"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerTransitionResult.js\\\");\\nconst DefaultSignalingClient_1 = __webpack_require__(/*! ../signalingclient/DefaultSignalingClient */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/DefaultSignalingClient.js\\\");\\nconst ServerSideNetworkAdaption_1 = __webpack_require__(/*! ../signalingclient/ServerSideNetworkAdaption */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/ServerSideNetworkAdaption.js\\\");\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ../signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nconst SignalingClientVideoSubscriptionConfiguration_1 = __webpack_require__(/*! ../signalingclient/SignalingClientVideoSubscriptionConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientVideoSubscriptionConfiguration.js\\\");\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst StatsCollector_1 = __webpack_require__(/*! ../statscollector/StatsCollector */ \\\"./node_modules/amazon-chime-sdk-js/build/statscollector/StatsCollector.js\\\");\\nconst AttachMediaInputTask_1 = __webpack_require__(/*! ../task/AttachMediaInputTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/AttachMediaInputTask.js\\\");\\nconst CleanRestartedSessionTask_1 = __webpack_require__(/*! ../task/CleanRestartedSessionTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/CleanRestartedSessionTask.js\\\");\\nconst CleanStoppedSessionTask_1 = __webpack_require__(/*! ../task/CleanStoppedSessionTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/CleanStoppedSessionTask.js\\\");\\nconst CreatePeerConnectionTask_1 = __webpack_require__(/*! ../task/CreatePeerConnectionTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/CreatePeerConnectionTask.js\\\");\\nconst CreateSDPTask_1 = __webpack_require__(/*! ../task/CreateSDPTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/CreateSDPTask.js\\\");\\nconst FinishGatheringICECandidatesTask_1 = __webpack_require__(/*! ../task/FinishGatheringICECandidatesTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/FinishGatheringICECandidatesTask.js\\\");\\nconst JoinAndReceiveIndexTask_1 = __webpack_require__(/*! ../task/JoinAndReceiveIndexTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/JoinAndReceiveIndexTask.js\\\");\\nconst LeaveAndReceiveLeaveAckTask_1 = __webpack_require__(/*! ../task/LeaveAndReceiveLeaveAckTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/LeaveAndReceiveLeaveAckTask.js\\\");\\nconst ListenForVolumeIndicatorsTask_1 = __webpack_require__(/*! ../task/ListenForVolumeIndicatorsTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ListenForVolumeIndicatorsTask.js\\\");\\nconst MonitorTask_1 = __webpack_require__(/*! ../task/MonitorTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/MonitorTask.js\\\");\\nconst OpenSignalingConnectionTask_1 = __webpack_require__(/*! ../task/OpenSignalingConnectionTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/OpenSignalingConnectionTask.js\\\");\\nconst ParallelGroupTask_1 = __webpack_require__(/*! ../task/ParallelGroupTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ParallelGroupTask.js\\\");\\nconst PromoteToPrimaryMeetingTask_1 = __webpack_require__(/*! ../task/PromoteToPrimaryMeetingTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/PromoteToPrimaryMeetingTask.js\\\");\\nconst ReceiveAudioInputTask_1 = __webpack_require__(/*! ../task/ReceiveAudioInputTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ReceiveAudioInputTask.js\\\");\\nconst ReceiveRemoteVideoPauseResumeTask_1 = __webpack_require__(/*! ../task/ReceiveRemoteVideoPauseResumeTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ReceiveRemoteVideoPauseResumeTask.js\\\");\\nconst ReceiveTURNCredentialsTask_1 = __webpack_require__(/*! ../task/ReceiveTURNCredentialsTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ReceiveTURNCredentialsTask.js\\\");\\nconst ReceiveVideoInputTask_1 = __webpack_require__(/*! ../task/ReceiveVideoInputTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ReceiveVideoInputTask.js\\\");\\nconst ReceiveVideoStreamIndexTask_1 = __webpack_require__(/*! ../task/ReceiveVideoStreamIndexTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ReceiveVideoStreamIndexTask.js\\\");\\nconst SendAndReceiveDataMessagesTask_1 = __webpack_require__(/*! ../task/SendAndReceiveDataMessagesTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/SendAndReceiveDataMessagesTask.js\\\");\\nconst SerialGroupTask_1 = __webpack_require__(/*! ../task/SerialGroupTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/SerialGroupTask.js\\\");\\nconst SetLocalDescriptionTask_1 = __webpack_require__(/*! ../task/SetLocalDescriptionTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/SetLocalDescriptionTask.js\\\");\\nconst SetRemoteDescriptionTask_1 = __webpack_require__(/*! ../task/SetRemoteDescriptionTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/SetRemoteDescriptionTask.js\\\");\\nconst SubscribeAndReceiveSubscribeAckTask_1 = __webpack_require__(/*! ../task/SubscribeAndReceiveSubscribeAckTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/SubscribeAndReceiveSubscribeAckTask.js\\\");\\nconst TimeoutTask_1 = __webpack_require__(/*! ../task/TimeoutTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/TimeoutTask.js\\\");\\nconst WaitForAttendeePresenceTask_1 = __webpack_require__(/*! ../task/WaitForAttendeePresenceTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/WaitForAttendeePresenceTask.js\\\");\\nconst DefaultTransceiverController_1 = __webpack_require__(/*! ../transceivercontroller/DefaultTransceiverController */ \\\"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/DefaultTransceiverController.js\\\");\\nconst SimulcastContentShareTransceiverController_1 = __webpack_require__(/*! ../transceivercontroller/SimulcastContentShareTransceiverController */ \\\"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/SimulcastContentShareTransceiverController.js\\\");\\nconst SimulcastTransceiverController_1 = __webpack_require__(/*! ../transceivercontroller/SimulcastTransceiverController */ \\\"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/SimulcastTransceiverController.js\\\");\\nconst VideoOnlyTransceiverController_1 = __webpack_require__(/*! ../transceivercontroller/VideoOnlyTransceiverController */ \\\"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/VideoOnlyTransceiverController.js\\\");\\nconst Types_1 = __webpack_require__(/*! ../utils/Types */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Types.js\\\");\\nconst DefaultVideoCaptureAndEncodeParameter_1 = __webpack_require__(/*! ../videocaptureandencodeparameter/DefaultVideoCaptureAndEncodeParameter */ \\\"./node_modules/amazon-chime-sdk-js/build/videocaptureandencodeparameter/DefaultVideoCaptureAndEncodeParameter.js\\\");\\nconst AllHighestVideoBandwidthPolicy_1 = __webpack_require__(/*! ../videodownlinkbandwidthpolicy/AllHighestVideoBandwidthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/AllHighestVideoBandwidthPolicy.js\\\");\\nconst VideoAdaptiveProbePolicy_1 = __webpack_require__(/*! ../videodownlinkbandwidthpolicy/VideoAdaptiveProbePolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoAdaptiveProbePolicy.js\\\");\\nconst VideoPreferences_1 = __webpack_require__(/*! ../videodownlinkbandwidthpolicy/VideoPreferences */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreferences.js\\\");\\nconst DefaultVideoStreamIdSet_1 = __webpack_require__(/*! ../videostreamidset/DefaultVideoStreamIdSet */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamidset/DefaultVideoStreamIdSet.js\\\");\\nconst DefaultVideoStreamIndex_1 = __webpack_require__(/*! ../videostreamindex/DefaultVideoStreamIndex */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamindex/DefaultVideoStreamIndex.js\\\");\\nconst SimulcastVideoStreamIndex_1 = __webpack_require__(/*! ../videostreamindex/SimulcastVideoStreamIndex */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamindex/SimulcastVideoStreamIndex.js\\\");\\nconst DefaultVideoTileController_1 = __webpack_require__(/*! ../videotilecontroller/DefaultVideoTileController */ \\\"./node_modules/amazon-chime-sdk-js/build/videotilecontroller/DefaultVideoTileController.js\\\");\\nconst DefaultVideoTileFactory_1 = __webpack_require__(/*! ../videotilefactory/DefaultVideoTileFactory */ \\\"./node_modules/amazon-chime-sdk-js/build/videotilefactory/DefaultVideoTileFactory.js\\\");\\nconst DefaultSimulcastUplinkPolicy_1 = __webpack_require__(/*! ../videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.js\\\");\\nconst NScaleVideoUplinkBandwidthPolicy_1 = __webpack_require__(/*! ../videouplinkbandwidthpolicy/NScaleVideoUplinkBandwidthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/NScaleVideoUplinkBandwidthPolicy.js\\\");\\nconst DefaultVolumeIndicatorAdapter_1 = __webpack_require__(/*! ../volumeindicatoradapter/DefaultVolumeIndicatorAdapter */ \\\"./node_modules/amazon-chime-sdk-js/build/volumeindicatoradapter/DefaultVolumeIndicatorAdapter.js\\\");\\nconst AudioVideoControllerState_1 = __webpack_require__(/*! ./AudioVideoControllerState */ \\\"./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/AudioVideoControllerState.js\\\");\\nclass DefaultAudioVideoController {\\n constructor(configuration, logger, webSocketAdapter, mediaStreamBroker, reconnectController, eventController) {\\n this._audioProfile = new AudioProfile_1.default();\\n this.connectionHealthData = new ConnectionHealthData_1.default();\\n this.observerQueue = new Set();\\n this.meetingSessionContext = new AudioVideoControllerState_1.default();\\n this.enableSimulcast = false;\\n this.useUpdateTransceiverControllerForUplink = false;\\n this.totalRetryCount = 0;\\n this.startAudioVideoTimestamp = 0;\\n this.mayNeedRenegotiationForSimulcastLayerChange = false;\\n // Stored solely to trigger demotion callback on disconnection (expected behavior).\\n //\\n // We otherwise intentionally do not use this for any other behavior to avoid the complexity\\n // of the added state.\\n this.promotedToPrimaryMeeting = false;\\n this.hasGetRTCPeerConnectionStatsDeprecationMessageBeenSent = false;\\n // `connectWithPromises`, and `actionUpdateWithRenegotiation` all\\n // contains a significant portion of asynchronous tasks, so we need to explicitly defer\\n // any task operation which may be performed on the event queue that may modify\\n // mutable state in `MeetingSessionContext`, as this mutable state needs to be consistent over the course of the update.\\n //\\n // Currently this includes\\n // * `ReceiveVideoStreamIndexTask` which updates `videosToReceive` and `videoCaptureAndEncodeParameter`\\n // * `MonitorTask` which updates `videosToReceive`\\n this.receiveIndexTask = undefined;\\n this.monitorTask = undefined;\\n this.destroyed = false;\\n this._logger = logger;\\n this.sessionStateController = new DefaultSessionStateController_1.default(this._logger);\\n this._configuration = configuration;\\n this._webSocketAdapter = webSocketAdapter;\\n this._realtimeController = new DefaultRealtimeController_1.default(mediaStreamBroker);\\n this._realtimeController.realtimeSetLocalAttendeeId(configuration.credentials.attendeeId, configuration.credentials.externalUserId);\\n this._mediaStreamBroker = mediaStreamBroker;\\n this._reconnectController = reconnectController;\\n this._videoTileController = new DefaultVideoTileController_1.default(new DefaultVideoTileFactory_1.default(), this, this._logger);\\n this._audioMixController = new DefaultAudioMixController_1.default(this._logger);\\n this._mediaStreamBroker.addMediaStreamBrokerObserver(this._audioMixController);\\n this.meetingSessionContext.logger = this._logger;\\n this._eventController = eventController;\\n }\\n destroy() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.observerQueue.clear();\\n this._mediaStreamBroker.removeMediaStreamBrokerObserver(this._audioMixController);\\n this.destroyed = true;\\n });\\n }\\n get configuration() {\\n return this._configuration;\\n }\\n get realtimeController() {\\n return this._realtimeController;\\n }\\n get activeSpeakerDetector() {\\n // Lazy init.\\n if (!this._activeSpeakerDetector) {\\n this._activeSpeakerDetector = new DefaultActiveSpeakerDetector_1.default(this._realtimeController, this._configuration.credentials.attendeeId, this.handleHasBandwidthPriority.bind(this));\\n }\\n return this._activeSpeakerDetector;\\n }\\n get videoTileController() {\\n return this._videoTileController;\\n }\\n get audioMixController() {\\n return this._audioMixController;\\n }\\n get logger() {\\n return this._logger;\\n }\\n get rtcPeerConnection() {\\n return (this.meetingSessionContext && this.meetingSessionContext.peer) || null;\\n }\\n get mediaStreamBroker() {\\n return this._mediaStreamBroker;\\n }\\n get eventController() {\\n return this._eventController;\\n }\\n /**\\n * This API will be deprecated in favor of `ClientMetricReport.getRTCStatsReport()`.\\n *\\n * It makes an additional call to the `getStats` API and therefore may cause slight performance degradation.\\n *\\n * Please subscribe to `metricsDidReceive(clientMetricReport: ClientMetricReport)` callback,\\n * and get the raw `RTCStatsReport` via `clientMetricReport.getRTCStatsReport()`.\\n */\\n getRTCPeerConnectionStats(selector) {\\n /* istanbul ignore else */\\n if (!this.hasGetRTCPeerConnectionStatsDeprecationMessageBeenSent) {\\n this.logger.warn('The `getRTCPeerConnectionStats()` is on its way to be deprecated. It makes an additional call to the `getStats` API and therefore may cause slight performance degradation. Please use the new API `clientMetricReport.getRTCStatsReport()` returned by `metricsDidReceive(clientMetricReport)` callback instead.');\\n this.hasGetRTCPeerConnectionStatsDeprecationMessageBeenSent = true;\\n }\\n if (!this.rtcPeerConnection) {\\n return null;\\n }\\n return this.rtcPeerConnection.getStats(selector);\\n }\\n setAudioProfile(audioProfile) {\\n this._audioProfile = audioProfile;\\n }\\n addObserver(observer) {\\n this.logger.info('adding meeting observer');\\n this.observerQueue.add(observer);\\n }\\n removeObserver(observer) {\\n this.logger.info('removing meeting observer');\\n this.observerQueue.delete(observer);\\n }\\n forEachObserver(observerFunc) {\\n for (const observer of this.observerQueue) {\\n AsyncScheduler_1.default.nextTick(() => {\\n if (this.observerQueue.has(observer)) {\\n observerFunc(observer);\\n }\\n });\\n }\\n }\\n initSignalingClient() {\\n this.connectionHealthData.reset();\\n if (this.meetingSessionContext.signalingClient) {\\n return;\\n }\\n this.meetingSessionContext = new AudioVideoControllerState_1.default();\\n this.meetingSessionContext.logger = this.logger;\\n this.meetingSessionContext.eventController = this.eventController;\\n this.meetingSessionContext.browserBehavior = new DefaultBrowserBehavior_1.default();\\n this.meetingSessionContext.videoSendCodecPreferences = this.videoSendCodecPreferences;\\n this.meetingSessionContext.meetingSessionConfiguration = this.configuration;\\n this.meetingSessionContext.signalingClient = new DefaultSignalingClient_1.default(this._webSocketAdapter, this.logger);\\n }\\n uninstallPreStartObserver() {\\n this.meetingSessionContext.signalingClient.removeObserver(this.preStartObserver);\\n this.preStartObserver = undefined;\\n }\\n prestart() {\\n this.logger.info('Pre-connecting signaling connection.');\\n return this.createOrReuseSignalingTask()\\n .run()\\n .then(() => {\\n const handleClosed = () => __awaiter(this, void 0, void 0, function* () {\\n this.logger.info('Early connection closed; discarding signaling task.');\\n this.signalingTask = undefined;\\n this.uninstallPreStartObserver();\\n });\\n this.preStartObserver = {\\n handleSignalingClientEvent(event) {\\n if (event.type === SignalingClientEventType_1.default.WebSocketClosed) {\\n handleClosed();\\n }\\n },\\n };\\n this.meetingSessionContext.signalingClient.registerObserver(this.preStartObserver);\\n })\\n .catch(e => {\\n this.logger.error(`Signaling task pre-start failed: ${e}`);\\n // Clean up just in case a subsequent attempt will succeed.\\n this.signalingTask = undefined;\\n });\\n }\\n start(options) {\\n this.startReturningPromise(options)\\n .then(() => {\\n this.logger.info('start completed');\\n })\\n // Just-in-case error handling.\\n .catch(\\n /* istanbul ignore next */\\n e => {\\n this.logger.error(`start failed: ${e}`);\\n });\\n }\\n // This is public (albeit marked internal) for tests only.\\n /* @internal */\\n startReturningPromise(options) {\\n if ((options === null || options === void 0 ? void 0 : options.signalingOnly) === true) {\\n return this.prestart();\\n }\\n // For side-effects: lazy getter.\\n this.activeSpeakerDetector;\\n return new Promise((resolve, reject) => {\\n this.sessionStateController.perform(SessionStateControllerAction_1.default.Connect, () => {\\n this.actionConnect(false).then(resolve).catch(reject);\\n });\\n });\\n }\\n // @ts-ignore\\n connectWithPromises(needsToWaitForAttendeePresence) {\\n const context = this.meetingSessionContext;\\n // Syntactic sugar.\\n const timeout = (timeoutMs, task) => {\\n return new TimeoutTask_1.default(this.logger, task, timeoutMs);\\n };\\n // First layer.\\n this.monitorTask = new MonitorTask_1.default(context, this.configuration.connectionHealthPolicyConfiguration, this.connectionHealthData);\\n const monitor = this.monitorTask.once();\\n // Second layer.\\n const receiveAudioInput = new ReceiveAudioInputTask_1.default(context).once();\\n this.receiveIndexTask = new ReceiveVideoStreamIndexTask_1.default(context);\\n // See declaration (unpaused in actionFinishConnecting)\\n this.monitorTask.pauseResubscribeCheck();\\n this.receiveIndexTask.pauseIngestion();\\n const signaling = new SerialGroupTask_1.default(this.logger, 'Signaling', [\\n // If pre-connecting, this will be an existing task that has already been run.\\n this.createOrReuseSignalingTask(),\\n new ListenForVolumeIndicatorsTask_1.default(context),\\n new SendAndReceiveDataMessagesTask_1.default(context),\\n new JoinAndReceiveIndexTask_1.default(context),\\n new ReceiveTURNCredentialsTask_1.default(context),\\n this.receiveIndexTask,\\n ]).once();\\n // Third layer.\\n const createPeerConnection = new CreatePeerConnectionTask_1.default(context).once(signaling);\\n const attachMediaInput = new AttachMediaInputTask_1.default(context).once(createPeerConnection, receiveAudioInput);\\n // Mostly serial section -- kept as promises to allow for finer-grained breakdown.\\n const createSDP = new CreateSDPTask_1.default(context).once(attachMediaInput);\\n const setLocalDescription = new SetLocalDescriptionTask_1.default(context).once(createSDP);\\n const ice = new FinishGatheringICECandidatesTask_1.default(context).once(setLocalDescription);\\n const subscribeAck = new SubscribeAndReceiveSubscribeAckTask_1.default(context).once(ice);\\n const receivePauseResume = new ReceiveRemoteVideoPauseResumeTask_1.default(context).once(subscribeAck);\\n // The ending is a delicate time: we need the connection as a whole to have a timeout,\\n // and for the attendee presence timer to not start ticking until after the subscribe/ack.\\n return new SerialGroupTask_1.default(this.logger, this.wrapTaskName('AudioVideoStart'), [\\n monitor,\\n timeout(this.configuration.connectionTimeoutMs, new SerialGroupTask_1.default(this.logger, 'Peer', [\\n // The order of these two matters. If canceled, the first one that's still running\\n // will contribute any special rejection, and we don't want that to be \\\"attendee not found\\\"!\\n subscribeAck,\\n receivePauseResume,\\n needsToWaitForAttendeePresence\\n ? new TimeoutTask_1.default(this.logger, new ParallelGroupTask_1.default(this.logger, 'FinalizeConnection', [\\n new WaitForAttendeePresenceTask_1.default(context),\\n new SetRemoteDescriptionTask_1.default(context),\\n ]), this.meetingSessionContext.meetingSessionConfiguration.attendeePresenceTimeoutMs)\\n : /* istanbul ignore next */ new SetRemoteDescriptionTask_1.default(context),\\n ])),\\n ]);\\n }\\n actionConnect(reconnecting) {\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n this.initSignalingClient();\\n // We no longer need to watch for the early connection dropping; we're back where\\n // we otherwise would have been had we not pre-started.\\n this.uninstallPreStartObserver();\\n // Note that some of the assignments in this function exist to clean up previous connections.\\n // All future 'clean up' assignments should go in `AudioVideoControllerState.resetConnectionSpecificState`\\n // for consolidation purposes.\\n this.meetingSessionContext.mediaStreamBroker = this._mediaStreamBroker;\\n this.meetingSessionContext.realtimeController = this._realtimeController;\\n this.meetingSessionContext.audioMixController = this._audioMixController;\\n this.meetingSessionContext.audioVideoController = this;\\n this.enableSimulcast =\\n this.configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers &&\\n new DefaultBrowserBehavior_1.default().hasChromiumWebRTC();\\n const useAudioConnection = !!this.configuration.urls.audioHostURL;\\n if (!useAudioConnection) {\\n this.logger.info(`Using video only transceiver controller`);\\n this.meetingSessionContext.transceiverController = new VideoOnlyTransceiverController_1.default(this.logger, this.meetingSessionContext.browserBehavior);\\n }\\n else if (this.enableSimulcast) {\\n this.logger.info(`Using transceiver controller with simulcast support`);\\n if (new DefaultModality_1.default(this.configuration.credentials.attendeeId).hasModality(DefaultModality_1.default.MODALITY_CONTENT)) {\\n this.meetingSessionContext.transceiverController = new SimulcastContentShareTransceiverController_1.default(this.logger, this.meetingSessionContext.browserBehavior);\\n }\\n else {\\n this.meetingSessionContext.transceiverController = new SimulcastTransceiverController_1.default(this.logger, this.meetingSessionContext.browserBehavior);\\n }\\n }\\n else {\\n this.logger.info(`Using default transceiver controller`);\\n this.meetingSessionContext.transceiverController = new DefaultTransceiverController_1.default(this.logger, this.meetingSessionContext.browserBehavior);\\n }\\n this.meetingSessionContext.volumeIndicatorAdapter = new DefaultVolumeIndicatorAdapter_1.default(this.logger, this._realtimeController, DefaultAudioVideoController.MIN_VOLUME_DECIBELS, DefaultAudioVideoController.MAX_VOLUME_DECIBELS, this.configuration.credentials.attendeeId);\\n this.meetingSessionContext.videoTileController = this._videoTileController;\\n this.meetingSessionContext.videoDownlinkBandwidthPolicy = this.configuration.videoDownlinkBandwidthPolicy;\\n this.meetingSessionContext.videoUplinkBandwidthPolicy = this.configuration.videoUplinkBandwidthPolicy;\\n this.meetingSessionContext.enableSimulcast = this.enableSimulcast;\\n if (this.enableSimulcast) {\\n let simulcastPolicy = this.meetingSessionContext\\n .videoUplinkBandwidthPolicy;\\n if (!simulcastPolicy) {\\n simulcastPolicy = new DefaultSimulcastUplinkPolicy_1.default(this.configuration.credentials.attendeeId, this.meetingSessionContext.logger);\\n this.meetingSessionContext.videoUplinkBandwidthPolicy = simulcastPolicy;\\n }\\n simulcastPolicy.addObserver(this);\\n if (!this.meetingSessionContext.videoDownlinkBandwidthPolicy) {\\n this.meetingSessionContext.videoDownlinkBandwidthPolicy = new VideoAdaptiveProbePolicy_1.default(this.meetingSessionContext.logger);\\n }\\n this.meetingSessionContext.videoStreamIndex = new SimulcastVideoStreamIndex_1.default(this.logger);\\n }\\n else {\\n this.meetingSessionContext.enableSimulcast = false;\\n this.meetingSessionContext.videoStreamIndex = new DefaultVideoStreamIndex_1.default(this.logger);\\n if (!this.meetingSessionContext.videoUplinkBandwidthPolicy) {\\n this.meetingSessionContext.videoUplinkBandwidthPolicy = new NScaleVideoUplinkBandwidthPolicy_1.default(this.configuration.credentials.attendeeId, !this.meetingSessionContext.browserBehavior.disableResolutionScaleDown(), this.meetingSessionContext.logger, this.meetingSessionContext.browserBehavior);\\n }\\n if (!this.meetingSessionContext.videoDownlinkBandwidthPolicy) {\\n this.meetingSessionContext.videoDownlinkBandwidthPolicy = new AllHighestVideoBandwidthPolicy_1.default(this.configuration.credentials.attendeeId);\\n }\\n if (this.meetingSessionContext.videoUplinkBandwidthPolicy.setTransceiverController &&\\n this.meetingSessionContext.videoUplinkBandwidthPolicy.updateTransceiverController) {\\n this.useUpdateTransceiverControllerForUplink = true;\\n this.meetingSessionContext.videoUplinkBandwidthPolicy.setTransceiverController(this.meetingSessionContext.transceiverController);\\n }\\n this.meetingSessionContext.audioProfile = this._audioProfile;\\n }\\n if (this.meetingSessionContext.videoUplinkBandwidthPolicy && this.maxUplinkBandwidthKbps) {\\n this.meetingSessionContext.videoUplinkBandwidthPolicy.setIdealMaxBandwidthKbps(this.maxUplinkBandwidthKbps);\\n }\\n if (this.meetingSessionContext.videoDownlinkBandwidthPolicy.bindToTileController) {\\n this.meetingSessionContext.videoDownlinkBandwidthPolicy.bindToTileController(this._videoTileController);\\n }\\n if (this.meetingSessionContext.videoDownlinkBandwidthPolicy.setWantsResubscribeObserver) {\\n this.meetingSessionContext.videoDownlinkBandwidthPolicy.setWantsResubscribeObserver(() => this.update({ needsRenegotiation: false }));\\n }\\n this.meetingSessionContext.lastKnownVideoAvailability = new MeetingSessionVideoAvailability_1.default();\\n this.meetingSessionContext.videoCaptureAndEncodeParameter = new DefaultVideoCaptureAndEncodeParameter_1.default(0, 0, 0, 0, false);\\n this.meetingSessionContext.videosToReceive = new DefaultVideoStreamIdSet_1.default();\\n this.meetingSessionContext.videosPaused = new DefaultVideoStreamIdSet_1.default();\\n this.meetingSessionContext.statsCollector = new StatsCollector_1.default(this, this.logger);\\n this.meetingSessionContext.connectionMonitor = new SignalingAndMetricsConnectionMonitor_1.default(this, this._realtimeController, this.connectionHealthData, new DefaultPingPong_1.default(this.meetingSessionContext.signalingClient, DefaultAudioVideoController.PING_PONG_INTERVAL_MS, this.logger), this.meetingSessionContext.statsCollector);\\n this.meetingSessionContext.reconnectController = this._reconnectController;\\n this.meetingSessionContext.videoDeviceInformation = {};\\n if (!reconnecting) {\\n this.totalRetryCount = 0;\\n this._reconnectController.reset();\\n this.startAudioVideoTimestamp = Date.now();\\n this.forEachObserver(observer => {\\n Types_1.Maybe.of(observer.audioVideoDidStartConnecting).map(f => f.bind(observer)(false));\\n });\\n (_a = this.eventController) === null || _a === void 0 ? void 0 : _a.publishEvent('meetingStartRequested');\\n }\\n this.meetingSessionContext.startAudioVideoTimestamp = this.startAudioVideoTimestamp;\\n if (this._reconnectController.hasStartedConnectionAttempt()) {\\n // This does not reset the reconnect deadline, but declare it's not the first connection.\\n this._reconnectController.startedConnectionAttempt(false);\\n }\\n else {\\n this._reconnectController.startedConnectionAttempt(true);\\n }\\n // No attendee presence event will be triggered if there is no audio connection.\\n // Waiting for attendee presence is explicitly executed\\n // if `attendeePresenceTimeoutMs` is configured to larger than 0.\\n const needsToWaitForAttendeePresence = useAudioConnection &&\\n this.meetingSessionContext.meetingSessionConfiguration.attendeePresenceTimeoutMs > 0;\\n this.logger.info('Needs to wait for attendee presence? ' + needsToWaitForAttendeePresence);\\n const connect = this.connectWithPromises(needsToWaitForAttendeePresence);\\n // The rest.\\n try {\\n yield connect.run();\\n this.connectionHealthData.setConnectionStartTime();\\n this._mediaStreamBroker.addMediaStreamBrokerObserver(this);\\n this.sessionStateController.perform(SessionStateControllerAction_1.default.FinishConnecting, () => {\\n /* istanbul ignore else */\\n if (this.eventController) {\\n this.meetingSessionContext.meetingStartDurationMs =\\n Date.now() - this.startAudioVideoTimestamp;\\n this.eventController.publishEvent('meetingStartSucceeded', {\\n maxVideoTileCount: this.meetingSessionContext.maxVideoTileCount,\\n poorConnectionCount: this.meetingSessionContext.poorConnectionCount,\\n retryCount: this.totalRetryCount,\\n signalingOpenDurationMs: this.meetingSessionContext.signalingOpenDurationMs,\\n iceGatheringDurationMs: this.meetingSessionContext.iceGatheringDurationMs,\\n meetingStartDurationMs: this.meetingSessionContext.meetingStartDurationMs,\\n });\\n }\\n this.meetingSessionContext.startTimeMs = Date.now();\\n this.actionFinishConnecting();\\n });\\n }\\n catch (error) {\\n this.signalingTask = undefined;\\n const status = new MeetingSessionStatus_1.default(this.getMeetingStatusCode(error) || MeetingSessionStatusCode_1.default.TaskFailed);\\n this.logger.info(`Start failed: ${status} due to error ${error}.`);\\n // I am not able to successfully reach this state in the test suite with mock\\n // websockets -- it always ends up in 'Disconnecting' instead. As such, this\\n // has to be marked for Istanbul.\\n /* istanbul ignore if */\\n if (this.sessionStateController.state() === SessionStateControllerState_1.default.NotConnected) {\\n // There's no point trying to 'disconnect', because we're not connected.\\n // The session state controller will bail.\\n this.logger.info('Start failed and not connected. Not cleaning up.');\\n return;\\n }\\n this.sessionStateController.perform(SessionStateControllerAction_1.default.Fail, () => __awaiter(this, void 0, void 0, function* () {\\n yield this.actionDisconnect(status, true, error);\\n if (!this.handleMeetingSessionStatus(status, error)) {\\n this.notifyStop(status, error);\\n }\\n }));\\n }\\n });\\n }\\n createOrReuseSignalingTask() {\\n if (!this.signalingTask) {\\n this.initSignalingClient();\\n this.signalingTask = new TimeoutTask_1.default(this.logger, new OpenSignalingConnectionTask_1.default(this.meetingSessionContext), this.configuration.connectionTimeoutMs).once();\\n }\\n return this.signalingTask;\\n }\\n actionFinishConnecting() {\\n this.signalingTask = undefined;\\n this.meetingSessionContext.videoDuplexMode = SignalingProtocol_js_1.SdkStreamServiceType.RX;\\n if (!this.meetingSessionContext.enableSimulcast) {\\n if (this.useUpdateTransceiverControllerForUplink) {\\n this.meetingSessionContext.videoUplinkBandwidthPolicy.updateTransceiverController();\\n }\\n else {\\n this.enforceBandwidthLimitationForSender(this.meetingSessionContext.videoCaptureAndEncodeParameter.encodeBitrates()[0]);\\n }\\n }\\n this.forEachObserver(observer => {\\n Types_1.Maybe.of(observer.audioVideoDidStart).map(f => f.bind(observer)());\\n });\\n this._reconnectController.reset();\\n // `receiveIndexTask` needs to be resumed first so it can set `remoteStreamDescriptions`\\n this.receiveIndexTask.resumeIngestion();\\n this.monitorTask.resumeResubscribeCheck();\\n }\\n /* @internal */\\n stopReturningPromise() {\\n var _a;\\n // In order to avoid breaking backward compatibility, when only the\\n // signaling connection is established we appear to not be connected.\\n // We handle this by simply disconnecting the websocket directly.\\n if (this.sessionStateController.state() === SessionStateControllerState_1.default.NotConnected) {\\n // Unfortunately, this does not return a promise.\\n (_a = this.meetingSessionContext.signalingClient) === null || _a === void 0 ? void 0 : _a.closeConnection();\\n this.cleanUpMediaStreamsAfterStop();\\n return Promise.resolve();\\n }\\n /*\\n Stops the current audio video meeting session.\\n The stop method execution is deferred and executed after\\n the current reconnection attempt completes.\\n It disables any further reconnection attempts.\\n Upon completion, AudioVideoObserver's `audioVideoDidStop`\\n callback function is called with `MeetingSessionStatusCode.Left`.\\n */\\n return new Promise((resolve, reject) => {\\n this.sessionStateController.perform(SessionStateControllerAction_1.default.Disconnect, () => {\\n this._reconnectController.disableReconnect();\\n this.logger.info('attendee left meeting, session will not be reconnected');\\n this.actionDisconnect(new MeetingSessionStatus_1.default(MeetingSessionStatusCode_1.default.Left), false, null)\\n .then(resolve)\\n .catch(reject);\\n });\\n });\\n }\\n stop() {\\n this.stopReturningPromise();\\n }\\n actionDisconnect(status, reconnecting, error) {\\n return __awaiter(this, void 0, void 0, function* () {\\n try {\\n yield new SerialGroupTask_1.default(this.logger, this.wrapTaskName('AudioVideoStop'), [\\n new TimeoutTask_1.default(this.logger, new LeaveAndReceiveLeaveAckTask_1.default(this.meetingSessionContext), this.configuration.connectionTimeoutMs),\\n ]).run();\\n }\\n catch (stopError) {\\n this.logger.info('fail to stop');\\n }\\n try {\\n const subtasks = [\\n new TimeoutTask_1.default(this.logger, new CleanStoppedSessionTask_1.default(this.meetingSessionContext), this.configuration.connectionTimeoutMs),\\n ];\\n this.cleanUpMediaStreamsAfterStop();\\n yield new SerialGroupTask_1.default(this.logger, this.wrapTaskName('AudioVideoClean'), subtasks).run();\\n }\\n catch (cleanError) {\\n /* istanbul ignore next */\\n this.logger.info('fail to clean');\\n }\\n this.sessionStateController.perform(SessionStateControllerAction_1.default.FinishDisconnecting, () => {\\n if (!reconnecting) {\\n this.notifyStop(status, error);\\n }\\n });\\n });\\n }\\n update(options = { needsRenegotiation: true }) {\\n let needsRenegotiation = options.needsRenegotiation;\\n // Check in case this function has been called before peer connection is set up\\n // since that is necessary to try to update remote videos without the full resubscribe path\\n needsRenegotiation || (needsRenegotiation = this.meetingSessionContext.peer === undefined);\\n needsRenegotiation || (needsRenegotiation = !this.updateRemoteVideosFromPolicy());\\n needsRenegotiation || (needsRenegotiation = !this.updateLocalVideoFromPolicy());\\n // `MeetingSessionContext.lastVideosToReceive` needs to be updated regardless\\n this.meetingSessionContext.lastVideosToReceive = this.meetingSessionContext.videosToReceive;\\n if (!needsRenegotiation) {\\n this.logger.info('Update request does not require resubscribe');\\n // Call `actionFinishUpdating` to apply the new encoding parameters that may have been set in `updateLocalVideoFromPolicy`.\\n this.actionFinishUpdating();\\n return true; // Skip the subscribe!\\n }\\n this.logger.info('Update request requires resubscribe');\\n const result = this.sessionStateController.perform(SessionStateControllerAction_1.default.Update, () => {\\n this.actionUpdateWithRenegotiation(true);\\n });\\n return (result === SessionStateControllerTransitionResult_1.default.Transitioned ||\\n result === SessionStateControllerTransitionResult_1.default.DeferredTransition);\\n }\\n // Depending on if using server-side bandwidth probing and if using server-side quality adaption,\\n // decide if needs to send necessary updates, and if send through full renegotiaton.\\n // It returns true if downlink policy took care of everything and no renegotiation needed.\\n updateRemoteVideosFromPolicy() {\\n if (this.meetingSessionContext.videoDownlinkBandwidthPolicy &&\\n this.meetingSessionContext.videoDownlinkBandwidthPolicy.getVideoPreferences !== undefined &&\\n this.meetingSessionContext.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption !==\\n undefined &&\\n !ServerSideNetworkAdaption_1.serverSideNetworkAdaptionIsNoneOrDefault(this.meetingSessionContext.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption())) {\\n // Send up-to-date video preferences to server. This is fine if it includes remote sources/MIDs we need a full renegotiation for (i.e.\\n // ones that were added or removed). We will re-include these updates in the subscribe.\\n /* istanbul ignore if: Extremely unlikely that `videosToReceive` is null */\\n if (!this.sendRemoteVideoUpdate()) {\\n return false;\\n }\\n if (this.meetingSessionContext.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption() ===\\n ServerSideNetworkAdaption_1.default.BandwidthProbingAndRemoteVideoQualityAdaption) {\\n // If using server side remote video quality adaption (i.e. server is picking the encoding to send), we don't need\\n // to do anything after sending the update, as long as we are not adding or removing streams, in which case\\n // we need to complete a full renegotiation.\\n return this.isNotAddingOrRemovingStreams();\\n }\\n }\\n // If using client-side network adaptation, try skipping renegotitaiton if only simulcast stream swicth.\\n return this.updateRemoteVideosIfNotAddingOrRemovingStreams();\\n }\\n // When `ServerSideNetworkAdaption.BandwidthProbingAndRemoteVideoQualityAdaption` has been signalled,\\n // trigger server side video quality adaption logic through `SignalingClient.remoteVideoUpdate` and skip full subscribe.\\n //\\n // This function also tries to use the diff between `this.meetingSessionContext.lastVideosToReceive`\\n // and `this.meetingSessionContext.videosToReceive` to determine if update is only simulcast stream switch,\\n // which is accomplished through `SignalingClient.remoteVideoUpdate` rather than the full subscribe.\\n //\\n // It requires the caller to manage `this.meetingSessionContext.lastVideosToReceive`\\n // and `this.meetingSessionContext.videosToReceive` so that `this.meetingSessionContext.lastVideosToReceive`\\n // contains the stream IDs from either last time a subscribe was set, or last time this function was set.\\n //\\n // It will return true if successful, if false the caller must fall back to a full renegotiation\\n updateRemoteVideosIfNotAddingOrRemovingStreams() {\\n const streamChanges = this.detectChangesInVideosToReceive();\\n /* istanbul ignore if: Extremely unlikely that `videosToReceive` is null or missing requisite functions and made it this far */\\n if (streamChanges === undefined) {\\n return false;\\n }\\n const added = streamChanges.added;\\n const simulcastStreamUpdates = streamChanges.simulcastStreamUpdates;\\n const removed = streamChanges.removed;\\n const context = this.meetingSessionContext;\\n const updatedVideoSubscriptionConfigurations = [];\\n for (const [previousId, currentId] of simulcastStreamUpdates.entries()) {\\n const updatedConfig = new SignalingClientVideoSubscriptionConfiguration_1.default();\\n updatedConfig.streamId = currentId;\\n updatedConfig.attendeeId = context.videoStreamIndex.attendeeIdForStreamId(currentId);\\n updatedConfig.mid = context.transceiverController.getMidForStreamId(previousId);\\n if (updatedConfig.mid === undefined) {\\n this.logger.info(`No MID found for stream ID ${previousId}, cannot update stream without renegotiation`);\\n return false;\\n }\\n updatedVideoSubscriptionConfigurations.push(updatedConfig);\\n // We need to override some other components dependent on the subscribe paths for certain functionality\\n context.transceiverController.setStreamIdForMid(updatedConfig.mid, currentId);\\n context.videoStreamIndex.overrideStreamIdMappings(previousId, currentId);\\n if (context.videoTileController.haveVideoTileForAttendeeId(updatedConfig.attendeeId)) {\\n const tile = context.videoTileController.getVideoTileForAttendeeId(updatedConfig.attendeeId);\\n if (!tile.setStreamId) {\\n // Required function\\n return false;\\n }\\n tile.setStreamId(currentId);\\n }\\n }\\n // accomplish simulcast stream switches by sending removeVideoUpdate signaling frame instead of full renegotiation\\n if (updatedVideoSubscriptionConfigurations.length !== 0) {\\n context.signalingClient.remoteVideoUpdate(updatedVideoSubscriptionConfigurations, []);\\n }\\n // but cannot skip renegotiation if there are more changes than simulcast stream switch (i.e. add/remove/source switches)\\n if (added.length !== 0 || removed.length !== 0) {\\n return false;\\n }\\n // `updateRemoteVideosFromLastVideosToReceive` does not actually send a subscribe but it uses\\n // `subscribeFrameSent` to cache the previous index so that we are able to do switches (not add/removes)\\n // for simulcast stream layer changes. See `subscribeFrameSent` for more details.\\n context.videoStreamIndex.subscribeFrameSent();\\n return true;\\n }\\n detectChangesInVideosToReceive() {\\n const context = this.meetingSessionContext;\\n /* istanbul ignore next: Extremely unlikely that `videosToReceive` is null */\\n if (context.videosToReceive === null) {\\n return undefined;\\n }\\n // Check existence of all required dependencies and requisite functions\\n if (!context.transceiverController ||\\n !context.transceiverController.getMidForStreamId ||\\n !context.transceiverController.setStreamIdForMid ||\\n !context.videosToReceive.forEach ||\\n !context.signalingClient.remoteVideoUpdate ||\\n !context.videoStreamIndex.overrideStreamIdMappings) {\\n return undefined;\\n }\\n let added = [];\\n const simulcastStreamUpdates = new Map();\\n let removed = [];\\n if (context.lastVideosToReceive === null) {\\n added = context.videosToReceive.array();\\n }\\n else {\\n const index = context.videoStreamIndex;\\n context.videosToReceive.forEach((currentId) => {\\n if (context.lastVideosToReceive.contain(currentId)) {\\n return;\\n }\\n // Check if group ID exists in previous set (i.e. simulcast stream switch)\\n let foundUpdatedPreviousStreamId = false;\\n context.lastVideosToReceive.forEach((previousId) => {\\n if (foundUpdatedPreviousStreamId) {\\n return; // Short circuit since we have already found it\\n }\\n if (index.StreamIdsInSameGroup(previousId, currentId)) {\\n simulcastStreamUpdates.set(previousId, currentId);\\n foundUpdatedPreviousStreamId = true;\\n }\\n });\\n if (!foundUpdatedPreviousStreamId) {\\n // Otherwise this must be a new stream\\n added.push(currentId);\\n }\\n });\\n removed = context.lastVideosToReceive.array().filter(idFromPrevious => {\\n const stillReceiving = context.videosToReceive.contain(idFromPrevious);\\n const isUpdated = simulcastStreamUpdates.has(idFromPrevious);\\n return !stillReceiving && !isUpdated;\\n });\\n }\\n this.logger.info(`Request to update remote videos with added: ${added}, updated: ${[\\n ...simulcastStreamUpdates.entries(),\\n ]}, removed: ${removed}`);\\n return {\\n added,\\n removed,\\n simulcastStreamUpdates,\\n };\\n }\\n isNotAddingOrRemovingStreams() {\\n const streamChanges = this.detectChangesInVideosToReceive();\\n /* istanbul ignore if: Extremely unlikely that `videosToReceive` is null or missing requisite functions and made it this far */\\n if (streamChanges === undefined) {\\n return false;\\n }\\n const added = streamChanges.added;\\n const removed = streamChanges.removed;\\n // but cannot skip renegotiation if there are more changes than simulcast stream switch (i.e. add/remove/source switches)\\n if (added.length !== 0 || removed.length !== 0) {\\n return false;\\n }\\n return true;\\n }\\n // This funtion should be called only when any server side network adaption feature is enabled.\\n // It sends `RemoteVideoUpdate` frame to server to update remote video preferences, which is needed for server side bandwidth probing.\\n // The `RemoteVideoUpdate` signaling frame maybe also trigger server side video quality adaption if such feature has been signalled.\\n //\\n // It requires the caller to manage `this.meetingSessionContext.lastVideosToReceive`\\n // and `this.meetingSessionContext.videosToReceive` so that `this.meetingSessionContext.lastVideosToReceive`\\n // contains the stream IDs from either last time a subscribe was set, or last time this function was set.\\n //\\n // It will return false if not receiving any remote videos or found new video sources with MID not set yet.\\n // It will return true if sent current preferences to server. It maybe also triggered server side quality adaption..\\n sendRemoteVideoUpdate() {\\n const context = this.meetingSessionContext;\\n /* istanbul ignore next: Extremely unlikely that `videosToReceive` is null */\\n if (context.videosToReceive === null) {\\n return false;\\n }\\n const groupIdsToReceive = context.videosToReceive.array().map((streamId) => {\\n return context.videoStreamIndex.groupIdForStreamId(streamId);\\n });\\n const currentConfigs = VideoPreferences_1.convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration(context, groupIdsToReceive, context.videoDownlinkBandwidthPolicy.getVideoPreferences());\\n const newVideoSubscriptionConfigurationsMap = new Map();\\n const addedOrUpdated = [];\\n for (const config of currentConfigs) {\\n let shouldIncludeInUpdate = false;\\n if (!context.lastVideoSubscriptionConfiguration.has(config.groupId)) {\\n shouldIncludeInUpdate = true;\\n }\\n else {\\n const lastConfig = context.lastVideoSubscriptionConfiguration.get(config.groupId);\\n if (!config.equals(lastConfig)) {\\n this.logger.debug(`${JSON.stringify(config)} does not equal ${JSON.stringify(lastConfig)}, sending update`);\\n shouldIncludeInUpdate = true;\\n }\\n }\\n newVideoSubscriptionConfigurationsMap.set(config.groupId, config);\\n if (shouldIncludeInUpdate) {\\n addedOrUpdated.push(config);\\n }\\n }\\n context.lastVideoSubscriptionConfiguration = newVideoSubscriptionConfigurationsMap;\\n const removedMids = [];\\n if (context.lastVideosToReceive !== null) {\\n const groupIdsToReceiveSet = new Set(groupIdsToReceive);\\n for (const streamId of context.lastVideosToReceive.array()) {\\n const groupId = context.videoStreamIndex.groupIdForStreamId(streamId);\\n if (!groupIdsToReceiveSet.has(groupId)) {\\n const mid = context.transceiverController.getMidForGroupId(groupId);\\n if (mid === undefined) {\\n context.logger.warn(`Could not find MID for group ID to remove: ${groupId}`);\\n continue;\\n }\\n removedMids.push(mid);\\n }\\n }\\n }\\n // pass updated preference configurations to server for server-side bandwdith padding/probing\\n // additionally, trigger server-side video quality adaption if enabed\\n if (addedOrUpdated.length !== 0 || removedMids.length !== 0) {\\n context.signalingClient.remoteVideoUpdate(addedOrUpdated, removedMids);\\n }\\n return true;\\n }\\n updateLocalVideoFromPolicy() {\\n // Try updating parameters without renegotiation\\n if (this.meetingSessionContext.enableSimulcast) {\\n // The following may result in `this.mayNeedRenegotiationForSimulcastLayerChange` being switched on\\n const encodingParam = this.meetingSessionContext.videoUplinkBandwidthPolicy.chooseEncodingParameters();\\n if (this.mayNeedRenegotiationForSimulcastLayerChange &&\\n !this.negotiatedBitrateLayersAllocationRtpHeaderExtension()) {\\n this.logger.info('Needs regenotiation for local video simulcast layer change');\\n this.mayNeedRenegotiationForSimulcastLayerChange = false;\\n return false;\\n }\\n this.meetingSessionContext.transceiverController.setEncodingParameters(encodingParam);\\n }\\n else {\\n this.meetingSessionContext.videoCaptureAndEncodeParameter = this.meetingSessionContext.videoUplinkBandwidthPolicy.chooseCaptureAndEncodeParameters();\\n // Bitrate will be set in `actionFinishUpdating`. This should never need a resubscribe.\\n }\\n this.logger.info('Updated local video from policy without renegotiation');\\n return true;\\n }\\n negotiatedBitrateLayersAllocationRtpHeaderExtension() {\\n if (!this.meetingSessionContext.transceiverController.localVideoTransceiver()) {\\n return false;\\n }\\n const parameters = this.meetingSessionContext.transceiverController\\n .localVideoTransceiver()\\n .sender.getParameters();\\n if (!parameters || !parameters.headerExtensions) {\\n return false;\\n }\\n return parameters.headerExtensions.some(extension => extension.uri === 'http://www.webrtc.org/experiments/rtp-hdrext/video-layers-allocation00');\\n }\\n restartLocalVideo(callback) {\\n const restartVideo = () => __awaiter(this, void 0, void 0, function* () {\\n if (this._videoTileController.hasStartedLocalVideoTile()) {\\n this.logger.info('stopping local video tile prior to local video restart');\\n this._videoTileController.stopLocalVideoTile();\\n this.logger.info('preparing local video restart update');\\n yield this.actionUpdateWithRenegotiation(false);\\n this.logger.info('starting local video tile for local video restart');\\n this._videoTileController.startLocalVideoTile();\\n }\\n this.logger.info('finalizing local video restart update');\\n yield this.actionUpdateWithRenegotiation(true);\\n callback();\\n });\\n const result = this.sessionStateController.perform(SessionStateControllerAction_1.default.Update, () => {\\n restartVideo();\\n });\\n return (result === SessionStateControllerTransitionResult_1.default.Transitioned ||\\n result === SessionStateControllerTransitionResult_1.default.DeferredTransition);\\n }\\n replaceLocalVideo(videoStream) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!videoStream || videoStream.getVideoTracks().length < 1) {\\n throw new Error('could not acquire video track');\\n }\\n if (!this.meetingSessionContext || !this.meetingSessionContext.peer) {\\n throw new Error('no active meeting and peer connection');\\n }\\n // if there is a local tile, a video tile update event should be fired.\\n const localTile = this.meetingSessionContext.videoTileController.getLocalVideoTile();\\n if (localTile) {\\n const state = localTile.state();\\n const settings = videoStream.getVideoTracks()[0].getSettings();\\n // so tile update wil be fired.\\n localTile.bindVideoStream(state.boundAttendeeId, true, videoStream, settings.width, settings.height, state.streamId, state.boundExternalUserId);\\n }\\n yield this.meetingSessionContext.transceiverController.setVideoInput(videoStream.getVideoTracks()[0]);\\n // Update the active video input on subscription context to match what we just changed\\n // so that subsequent meeting actions can reuse and destroy it.\\n this.meetingSessionContext.activeVideoInput = videoStream;\\n this.logger.info('Local video input is updated');\\n });\\n }\\n replaceLocalAudio(audioStream) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!audioStream || audioStream.getAudioTracks().length < 1) {\\n throw new Error('could not acquire audio track');\\n }\\n if (!this.meetingSessionContext || !this.meetingSessionContext.peer) {\\n throw new Error('no active meeting and peer connection');\\n }\\n this.connectionHealthData.reset();\\n this.connectionHealthData.setConnectionStartTime();\\n const replaceTrackSuccess = yield this.meetingSessionContext.transceiverController.replaceAudioTrack(audioStream.getAudioTracks()[0]);\\n if (!replaceTrackSuccess) {\\n throw new Error('Failed to replace audio track');\\n }\\n this.meetingSessionContext.activeAudioInput = audioStream;\\n this.logger.info('Local audio input is updated');\\n });\\n }\\n actionUpdateWithRenegotiation(notify) {\\n return __awaiter(this, void 0, void 0, function* () {\\n // See declaration (unpaused in actionFinishUpdating)\\n // The operations in `update` do not need this protection because they are synchronous.\\n this.monitorTask.pauseResubscribeCheck();\\n this.receiveIndexTask.pauseIngestion();\\n // TODO: do not block other updates while waiting for video input\\n try {\\n yield new SerialGroupTask_1.default(this.logger, this.wrapTaskName('AudioVideoUpdate'), [\\n new ReceiveVideoInputTask_1.default(this.meetingSessionContext),\\n new TimeoutTask_1.default(this.logger, new SerialGroupTask_1.default(this.logger, 'UpdateSession', [\\n new AttachMediaInputTask_1.default(this.meetingSessionContext),\\n new CreateSDPTask_1.default(this.meetingSessionContext),\\n new SetLocalDescriptionTask_1.default(this.meetingSessionContext),\\n new FinishGatheringICECandidatesTask_1.default(this.meetingSessionContext),\\n new SubscribeAndReceiveSubscribeAckTask_1.default(this.meetingSessionContext),\\n new SetRemoteDescriptionTask_1.default(this.meetingSessionContext),\\n ]), this.configuration.connectionTimeoutMs),\\n ]).run();\\n if (notify) {\\n this.sessionStateController.perform(SessionStateControllerAction_1.default.FinishUpdating, () => {\\n this.actionFinishUpdating();\\n });\\n }\\n }\\n catch (error) {\\n this.sessionStateController.perform(SessionStateControllerAction_1.default.FinishUpdating, () => {\\n const status = new MeetingSessionStatus_1.default(this.getMeetingStatusCode(error) || MeetingSessionStatusCode_1.default.TaskFailed);\\n if (status.statusCode() !== MeetingSessionStatusCode_1.default.IncompatibleSDP) {\\n this.logger.info('failed to update audio-video session');\\n }\\n this.handleMeetingSessionStatus(status, error);\\n });\\n }\\n });\\n }\\n notifyStop(status, error) {\\n var _a;\\n this.forEachObserver(observer => {\\n Types_1.Maybe.of(observer.audioVideoDidStop).map(f => f.bind(observer)(status));\\n });\\n if (this.promotedToPrimaryMeeting && error) {\\n this.forEachObserver(observer => {\\n this.promotedToPrimaryMeeting = false;\\n Types_1.Maybe.of(observer.audioVideoWasDemotedFromPrimaryMeeting).map(f => f.bind(observer)(new MeetingSessionStatus_1.default(MeetingSessionStatusCode_1.default.SignalingInternalServerError)));\\n });\\n }\\n /* istanbul ignore else */\\n if (this.eventController) {\\n const { signalingOpenDurationMs, poorConnectionCount, startTimeMs, iceGatheringDurationMs, attendeePresenceDurationMs, meetingStartDurationMs, } = this.meetingSessionContext;\\n const attributes = {\\n maxVideoTileCount: this.meetingSessionContext.maxVideoTileCount,\\n meetingDurationMs: startTimeMs === null ? 0 : Math.round(Date.now() - startTimeMs),\\n meetingStatus: MeetingSessionStatusCode_1.default[status.statusCode()],\\n signalingOpenDurationMs,\\n iceGatheringDurationMs,\\n attendeePresenceDurationMs,\\n poorConnectionCount,\\n meetingStartDurationMs,\\n retryCount: this.totalRetryCount,\\n };\\n /* istanbul ignore next: toString is optional */\\n const meetingErrorMessage = (error && error.message) || ((_a = status.toString) === null || _a === void 0 ? void 0 : _a.call(status)) || '';\\n if (attributes.meetingDurationMs === 0) {\\n attributes.meetingErrorMessage = meetingErrorMessage;\\n delete attributes.meetingDurationMs;\\n delete attributes.attendeePresenceDurationMs;\\n delete attributes.meetingStartDurationMs;\\n this.eventController.publishEvent('meetingStartFailed', attributes);\\n }\\n else if (status.isFailure() || status.isAudioConnectionFailure()) {\\n attributes.meetingErrorMessage = meetingErrorMessage;\\n this.eventController.publishEvent('meetingFailed', attributes);\\n }\\n else {\\n this.eventController.publishEvent('meetingEnded', attributes);\\n }\\n }\\n }\\n actionFinishUpdating() {\\n // we do not update parameter for simulcast since they are updated in AttachMediaInputTask\\n if (!this.meetingSessionContext.enableSimulcast) {\\n if (this.useUpdateTransceiverControllerForUplink) {\\n this.meetingSessionContext.videoUplinkBandwidthPolicy.updateTransceiverController();\\n }\\n else {\\n const maxBitrateKbps = this.meetingSessionContext.videoCaptureAndEncodeParameter.encodeBitrates()[0];\\n this.enforceBandwidthLimitationForSender(maxBitrateKbps);\\n }\\n }\\n this.monitorTask.resumeResubscribeCheck();\\n this.receiveIndexTask.resumeIngestion();\\n this.logger.info('updated audio-video session');\\n }\\n reconnect(status, error) {\\n const willRetry = this._reconnectController.retryWithBackoff(() => __awaiter(this, void 0, void 0, function* () {\\n if (this.sessionStateController.state() === SessionStateControllerState_1.default.NotConnected) {\\n this.sessionStateController.perform(SessionStateControllerAction_1.default.Connect, () => {\\n this.actionConnect(true);\\n });\\n }\\n else {\\n this.sessionStateController.perform(SessionStateControllerAction_1.default.Reconnect, () => {\\n this.actionReconnect(status);\\n });\\n }\\n this.totalRetryCount += 1;\\n }), () => {\\n this.logger.info('canceled retry');\\n });\\n if (!willRetry) {\\n this.sessionStateController.perform(SessionStateControllerAction_1.default.Fail, () => {\\n this.actionDisconnect(status, false, error);\\n });\\n }\\n return willRetry;\\n }\\n actionReconnect(status) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this._reconnectController.hasStartedConnectionAttempt()) {\\n this._reconnectController.startedConnectionAttempt(false);\\n this.forEachObserver(observer => {\\n Types_1.Maybe.of(observer.audioVideoDidStartConnecting).map(f => f.bind(observer)(true));\\n });\\n }\\n this.meetingSessionContext.volumeIndicatorAdapter.onReconnect();\\n this.connectionHealthData.reset();\\n try {\\n yield new SerialGroupTask_1.default(this.logger, this.wrapTaskName('AudioVideoReconnect'), [\\n new TimeoutTask_1.default(this.logger, new SerialGroupTask_1.default(this.logger, 'Media', [\\n new CleanRestartedSessionTask_1.default(this.meetingSessionContext),\\n new SerialGroupTask_1.default(this.logger, 'Signaling', [\\n new OpenSignalingConnectionTask_1.default(this.meetingSessionContext),\\n new JoinAndReceiveIndexTask_1.default(this.meetingSessionContext),\\n new ReceiveTURNCredentialsTask_1.default(this.meetingSessionContext),\\n ]),\\n new CreatePeerConnectionTask_1.default(this.meetingSessionContext),\\n ]), this.configuration.connectionTimeoutMs),\\n // TODO: Do we need ReceiveVideoInputTask in the reconnect operation?\\n new ReceiveVideoInputTask_1.default(this.meetingSessionContext),\\n new TimeoutTask_1.default(this.logger, new SerialGroupTask_1.default(this.logger, 'UpdateSession', [\\n new AttachMediaInputTask_1.default(this.meetingSessionContext),\\n new CreateSDPTask_1.default(this.meetingSessionContext),\\n new SetLocalDescriptionTask_1.default(this.meetingSessionContext),\\n new FinishGatheringICECandidatesTask_1.default(this.meetingSessionContext),\\n new SubscribeAndReceiveSubscribeAckTask_1.default(this.meetingSessionContext),\\n new SetRemoteDescriptionTask_1.default(this.meetingSessionContext),\\n ]), this.configuration.connectionTimeoutMs),\\n ]).run();\\n this.sessionStateController.perform(SessionStateControllerAction_1.default.FinishConnecting, () => {\\n /* istanbul ignore else */\\n if (this.eventController) {\\n const { signalingOpenDurationMs, poorConnectionCount, startTimeMs, iceGatheringDurationMs, attendeePresenceDurationMs, meetingStartDurationMs, } = this.meetingSessionContext;\\n const attributes = {\\n maxVideoTileCount: this.meetingSessionContext.maxVideoTileCount,\\n meetingDurationMs: Math.round(Date.now() - startTimeMs),\\n meetingStatus: MeetingSessionStatusCode_1.default[status.statusCode()],\\n signalingOpenDurationMs,\\n iceGatheringDurationMs,\\n attendeePresenceDurationMs,\\n poorConnectionCount,\\n meetingStartDurationMs,\\n retryCount: this.totalRetryCount,\\n };\\n this.eventController.publishEvent('meetingReconnected', attributes);\\n }\\n this.actionFinishConnecting();\\n });\\n }\\n catch (error) {\\n // To perform the \\\"Reconnect\\\" action again, the session should be in the \\\"Connected\\\" state.\\n this.sessionStateController.perform(SessionStateControllerAction_1.default.FinishConnecting, () => {\\n this.logger.info('failed to reconnect audio-video session');\\n const status = new MeetingSessionStatus_1.default(this.getMeetingStatusCode(error) || MeetingSessionStatusCode_1.default.TaskFailed);\\n this.handleMeetingSessionStatus(status, error);\\n });\\n }\\n this.connectionHealthData.setConnectionStartTime();\\n });\\n }\\n wrapTaskName(taskName) {\\n return `${taskName}/${this.configuration.meetingId}/${this.configuration.credentials.attendeeId}`;\\n }\\n cleanUpMediaStreamsAfterStop() {\\n this._mediaStreamBroker.removeMediaStreamBrokerObserver(this);\\n this.meetingSessionContext.activeAudioInput = undefined;\\n this.meetingSessionContext.activeVideoInput = undefined;\\n }\\n // Extract the meeting status from `Error.message`, relying on specific phrasing\\n // 'the meeting status code ${CODE}`.\\n //\\n // e.g. reject(new Error(\\n // `canceling ${this.name()} due to the meeting status code: ${MeetingSessionStatusCode.MeetingEnded}`));\\n getMeetingStatusCode(error) {\\n const matched = /the meeting status code: (\\\\d+)/.exec(error && error.message);\\n if (matched && matched.length > 1) {\\n return Number.parseInt(matched[1], 10);\\n }\\n return null;\\n }\\n enforceBandwidthLimitationForSender(maxBitrateKbps) {\\n return __awaiter(this, void 0, void 0, function* () {\\n yield this.meetingSessionContext.transceiverController.setVideoSendingBitrateKbps(maxBitrateKbps);\\n });\\n }\\n handleMeetingSessionStatus(status, error) {\\n this.logger.info(`handling status: ${MeetingSessionStatusCode_1.default[status.statusCode()]}`);\\n if (!status.isTerminal()) {\\n if (this.meetingSessionContext.statsCollector) {\\n this.meetingSessionContext.statsCollector.logMeetingSessionStatus(status);\\n }\\n }\\n if (status.statusCode() === MeetingSessionStatusCode_1.default.IncompatibleSDP) {\\n this.restartLocalVideo(() => {\\n this.logger.info('handled incompatible SDP by attempting to restart video');\\n });\\n return true;\\n }\\n if (status.statusCode() === MeetingSessionStatusCode_1.default.VideoCallSwitchToViewOnly) {\\n this._videoTileController.removeLocalVideoTile();\\n this.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.videoSendDidBecomeUnavailable).map(f => f.bind(observer)());\\n });\\n return false;\\n }\\n if (status.statusCode() === MeetingSessionStatusCode_1.default.AudioVideoWasRemovedFromPrimaryMeeting) {\\n this.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.audioVideoWasDemotedFromPrimaryMeeting).map(f => f.bind(observer)(status));\\n });\\n return false;\\n }\\n if (status.isTerminal()) {\\n this.logger.error('session will not be reconnected');\\n if (this.meetingSessionContext.reconnectController) {\\n this.meetingSessionContext.reconnectController.disableReconnect();\\n }\\n }\\n if (status.isFailure() || status.isTerminal()) {\\n if (this.meetingSessionContext.reconnectController) {\\n const willRetry = this.reconnect(status, error);\\n if (willRetry) {\\n this.logger.warn(`will retry due to status code ${MeetingSessionStatusCode_1.default[status.statusCode()]}${error ? ` and error: ${error.message}` : ``}`);\\n }\\n else {\\n this.logger.error(`failed with status code ${MeetingSessionStatusCode_1.default[status.statusCode()]}${error ? ` and error: ${error.message}` : ``}`);\\n }\\n return willRetry;\\n }\\n }\\n return false;\\n }\\n setVideoMaxBandwidthKbps(maxBandwidthKbps) {\\n if (maxBandwidthKbps <= 0) {\\n throw new Error('Max bandwidth kbps has to be greater than 0');\\n }\\n if (this.meetingSessionContext && this.meetingSessionContext.videoUplinkBandwidthPolicy) {\\n this.logger.info(`video send has ideal max bandwidth ${maxBandwidthKbps} kbps`);\\n this.meetingSessionContext.videoUplinkBandwidthPolicy.setIdealMaxBandwidthKbps(maxBandwidthKbps);\\n }\\n this.maxUplinkBandwidthKbps = maxBandwidthKbps;\\n }\\n handleHasBandwidthPriority(hasBandwidthPriority) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.meetingSessionContext &&\\n this.meetingSessionContext.videoUplinkBandwidthPolicy &&\\n !this.meetingSessionContext.enableSimulcast) {\\n if (this.useUpdateTransceiverControllerForUplink) {\\n this.meetingSessionContext.videoUplinkBandwidthPolicy.setHasBandwidthPriority(hasBandwidthPriority);\\n yield this.meetingSessionContext.videoUplinkBandwidthPolicy.updateTransceiverController();\\n return;\\n }\\n const oldMaxBandwidth = this.meetingSessionContext.videoUplinkBandwidthPolicy.maxBandwidthKbps();\\n this.meetingSessionContext.videoUplinkBandwidthPolicy.setHasBandwidthPriority(hasBandwidthPriority);\\n const newMaxBandwidth = this.meetingSessionContext.videoUplinkBandwidthPolicy.maxBandwidthKbps();\\n if (oldMaxBandwidth !== newMaxBandwidth) {\\n this.logger.info(`video send bandwidth priority ${hasBandwidthPriority} max has changed from ${oldMaxBandwidth} kbps to ${newMaxBandwidth} kbps`);\\n yield this.enforceBandwidthLimitationForSender(newMaxBandwidth);\\n }\\n }\\n });\\n }\\n pauseReceivingStream(streamId) {\\n if (!!this.meetingSessionContext && this.meetingSessionContext.signalingClient) {\\n this.meetingSessionContext.signalingClient.pause([streamId]);\\n }\\n }\\n resumeReceivingStream(streamId) {\\n if (!!this.meetingSessionContext && this.meetingSessionContext.signalingClient) {\\n this.meetingSessionContext.signalingClient.resume([streamId]);\\n }\\n }\\n setVideoCodecSendPreferences(preferences) {\\n this.videoSendCodecPreferences = preferences; // In case we haven't called `initSignalingClient` yet\\n this.meetingSessionContext.videoSendCodecPreferences = preferences;\\n this.update({ needsRenegotiation: true });\\n }\\n getRemoteVideoSources() {\\n const { videoStreamIndex } = this.meetingSessionContext;\\n if (!videoStreamIndex) {\\n this.logger.info('meeting has not started');\\n return [];\\n }\\n const selfAttendeeId = this.configuration.credentials.attendeeId;\\n return videoStreamIndex.allVideoSendingSourcesExcludingSelf(selfAttendeeId);\\n }\\n encodingSimulcastLayersDidChange(simulcastLayers) {\\n this.mayNeedRenegotiationForSimulcastLayerChange = true;\\n this.forEachObserver(observer => {\\n Types_1.Maybe.of(observer.encodingSimulcastLayersDidChange).map(f => f.bind(observer)(simulcastLayers));\\n });\\n }\\n promoteToPrimaryMeeting(credentials) {\\n return this.actionPromoteToPrimaryMeeting(credentials);\\n }\\n actionPromoteToPrimaryMeeting(credentials) {\\n return __awaiter(this, void 0, void 0, function* () {\\n let resultingStatus = new MeetingSessionStatus_1.default(MeetingSessionStatusCode_1.default.SignalingRequestFailed);\\n yield new SerialGroupTask_1.default(this.logger, this.wrapTaskName('PromoteToPrimaryMeeting'), [\\n new TimeoutTask_1.default(this.logger, new PromoteToPrimaryMeetingTask_1.default(this.meetingSessionContext, credentials, (status) => {\\n resultingStatus = status;\\n }), this.configuration.connectionTimeoutMs),\\n ]).run();\\n this.promotedToPrimaryMeeting = resultingStatus.statusCode() === MeetingSessionStatusCode_1.default.OK;\\n return resultingStatus;\\n });\\n }\\n demoteFromPrimaryMeeting() {\\n this.meetingSessionContext.signalingClient.demoteFromPrimaryMeeting();\\n this.forEachObserver(observer => {\\n Types_1.Maybe.of(observer.audioVideoWasDemotedFromPrimaryMeeting).map(f => f.bind(observer)(new MeetingSessionStatus_1.default(MeetingSessionStatusCode_1.default.OK)));\\n });\\n }\\n videoInputDidChange(videoStream) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.logger.info('Receive a video input change event');\\n // No active meeting, there is nothing to do\\n if (!this.meetingSessionContext || !this.meetingSessionContext.peer) {\\n this.logger.info('Skip updating video input because there is no active meeting and peer connection');\\n return;\\n }\\n if (this._videoTileController.hasStartedLocalVideoTile()) {\\n if (videoStream) {\\n yield this.replaceLocalVideo(videoStream);\\n }\\n else {\\n this._videoTileController.stopLocalVideoTile();\\n }\\n }\\n });\\n }\\n audioInputDidChange(audioStream) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.logger.info('Receive an audio input change event');\\n // No active meeting, there is nothing to do\\n if (!this.meetingSessionContext || !this.meetingSessionContext.peer) {\\n this.logger.info('Skip updating audio input because there is no active meeting and peer connection');\\n return;\\n }\\n if (!audioStream) {\\n // If audio input stream stopped, try to get empty audio device from media stream broker\\n try {\\n audioStream = yield this.mediaStreamBroker.acquireAudioInputStream();\\n }\\n catch (error) {\\n this.logger.error('Could not acquire audio track from mediaStreamBroker');\\n return;\\n }\\n }\\n yield this.replaceLocalAudio(audioStream);\\n });\\n }\\n}\\nexports[\\\"default\\\"] = DefaultAudioVideoController;\\nDefaultAudioVideoController.MIN_VOLUME_DECIBELS = -42;\\nDefaultAudioVideoController.MAX_VOLUME_DECIBELS = -14;\\nDefaultAudioVideoController.PING_PONG_INTERVAL_MS = 10000;\\n//# sourceMappingURL=DefaultAudioVideoController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/DefaultAudioVideoController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/NoOpAudioVideoController.js\":\n/*!*************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/NoOpAudioVideoController.js ***!\n \\*************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst FullJitterBackoff_1 = __webpack_require__(/*! ../backoff/FullJitterBackoff */ \\\"./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoff.js\\\");\\nconst DefaultEventController_1 = __webpack_require__(/*! ../eventcontroller/DefaultEventController */ \\\"./node_modules/amazon-chime-sdk-js/build/eventcontroller/DefaultEventController.js\\\");\\nconst NoOpDebugLogger_1 = __webpack_require__(/*! ../logger/NoOpDebugLogger */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/NoOpDebugLogger.js\\\");\\nconst NoOpMediaStreamBroker_1 = __webpack_require__(/*! ../mediastreambroker/NoOpMediaStreamBroker */ \\\"./node_modules/amazon-chime-sdk-js/build/mediastreambroker/NoOpMediaStreamBroker.js\\\");\\nconst MeetingSessionConfiguration_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionConfiguration.js\\\");\\nconst MeetingSessionCredentials_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionCredentials */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionCredentials.js\\\");\\nconst MeetingSessionStatus_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatus */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatus.js\\\");\\nconst MeetingSessionStatusCode_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatusCode */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js\\\");\\nconst MeetingSessionURLs_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionURLs */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionURLs.js\\\");\\nconst DefaultReconnectController_1 = __webpack_require__(/*! ../reconnectcontroller/DefaultReconnectController */ \\\"./node_modules/amazon-chime-sdk-js/build/reconnectcontroller/DefaultReconnectController.js\\\");\\nconst DefaultWebSocketAdapter_1 = __webpack_require__(/*! ../websocketadapter/DefaultWebSocketAdapter */ \\\"./node_modules/amazon-chime-sdk-js/build/websocketadapter/DefaultWebSocketAdapter.js\\\");\\nconst DefaultAudioVideoController_1 = __webpack_require__(/*! ./DefaultAudioVideoController */ \\\"./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/DefaultAudioVideoController.js\\\");\\nclass NoOpAudioVideoController extends DefaultAudioVideoController_1.default {\\n constructor(configuration) {\\n const emptyConfiguration = new MeetingSessionConfiguration_1.default();\\n emptyConfiguration.meetingId = '';\\n emptyConfiguration.externalMeetingId = '';\\n emptyConfiguration.credentials = new MeetingSessionCredentials_1.default();\\n emptyConfiguration.credentials.attendeeId = '';\\n emptyConfiguration.credentials.joinToken = '';\\n emptyConfiguration.urls = new MeetingSessionURLs_1.default();\\n emptyConfiguration.urls.turnControlURL = '';\\n emptyConfiguration.urls.audioHostURL = '';\\n emptyConfiguration.urls.signalingURL = 'wss://localhost/';\\n const noOpLogger = new NoOpDebugLogger_1.default();\\n super(configuration ? configuration : emptyConfiguration, noOpLogger, new DefaultWebSocketAdapter_1.default(new NoOpDebugLogger_1.default()), new NoOpMediaStreamBroker_1.default(), new DefaultReconnectController_1.default(0, new FullJitterBackoff_1.default(0, 0, 0)), new DefaultEventController_1.default(configuration ? configuration : emptyConfiguration, noOpLogger));\\n }\\n setAudioProfile(_audioProfile) { }\\n start() { }\\n stop() { }\\n promoteToPrimaryMeeting(_) {\\n return Promise.resolve(new MeetingSessionStatus_1.default(MeetingSessionStatusCode_1.default.OK));\\n }\\n demoteFromPrimaryMeeting() { }\\n}\\nexports[\\\"default\\\"] = NoOpAudioVideoController;\\n//# sourceMappingURL=NoOpAudioVideoController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/NoOpAudioVideoController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/audiovideofacade/DefaultAudioVideoFacade.js\":\n/*!********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/audiovideofacade/DefaultAudioVideoFacade.js ***!\n \\********************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst VideoTransformDevice_1 = __webpack_require__(/*! ../devicecontroller/VideoTransformDevice */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/VideoTransformDevice.js\\\");\\nclass DefaultAudioVideoFacade {\\n constructor(audioVideoController, videoTileController, realtimeController, audioMixController, deviceController, contentShareController) {\\n this.audioVideoController = audioVideoController;\\n this.videoTileController = videoTileController;\\n this.realtimeController = realtimeController;\\n this.audioMixController = audioMixController;\\n this.deviceController = deviceController;\\n this.contentShareController = contentShareController;\\n }\\n addObserver(observer) {\\n this.audioVideoController.addObserver(observer);\\n this.trace('addObserver');\\n }\\n removeObserver(observer) {\\n this.audioVideoController.removeObserver(observer);\\n this.trace('removeObserver');\\n }\\n setAudioProfile(audioProfile) {\\n this.trace('setAudioProfile', audioProfile);\\n this.audioVideoController.setAudioProfile(audioProfile);\\n }\\n start(options) {\\n this.audioVideoController.start(options);\\n this.trace('start');\\n }\\n stop() {\\n this.audioVideoController.stop();\\n this.trace('stop');\\n }\\n /**\\n * This API will be deprecated in favor of `ClientMetricReport.getRTCStatsReport()`.\\n *\\n * It makes an additional call to the `getStats` API and therefore may cause slight performance degradation.\\n *\\n * Please subscribe to `metricsDidReceive(clientMetricReport: ClientMetricReport)` callback,\\n * and get the raw `RTCStatsReport` via `clientMetricReport.getRTCStatsReport()`.\\n */\\n getRTCPeerConnectionStats(selector) {\\n this.trace('getRTCPeerConnectionStats', selector ? selector.id : null);\\n return this.audioVideoController.getRTCPeerConnectionStats(selector);\\n }\\n bindAudioElement(element) {\\n const result = this.audioMixController.bindAudioElement(element);\\n this.trace('bindAudioElement', element.id, result);\\n return result;\\n }\\n unbindAudioElement() {\\n this.audioMixController.unbindAudioElement();\\n this.trace('unbindAudioElement');\\n }\\n getCurrentMeetingAudioStream() {\\n this.trace('getCurrentConferenceStream');\\n return this.audioMixController.getCurrentMeetingAudioStream();\\n }\\n addAudioMixObserver(observer) {\\n this.trace('addAudioMixObserver');\\n this.audioMixController.addAudioMixObserver(observer);\\n }\\n removeAudioMixObserver(observer) {\\n this.trace('removeAudioMixObserver');\\n this.audioMixController.removeAudioMixObserver(observer);\\n }\\n bindVideoElement(tileId, videoElement) {\\n this.videoTileController.bindVideoElement(tileId, videoElement);\\n this.trace('bindVideoElement', { tileId: tileId, videoElementId: videoElement.id });\\n }\\n unbindVideoElement(tileId, cleanUpVideoElement = true) {\\n this.videoTileController.unbindVideoElement(tileId, cleanUpVideoElement);\\n this.trace('unbindVideoElement', { tileId: tileId, cleanUpVideoElement: cleanUpVideoElement });\\n }\\n startLocalVideoTile() {\\n const result = this.videoTileController.startLocalVideoTile();\\n this.trace('startLocalVideoTile', null, result);\\n return result;\\n }\\n stopLocalVideoTile() {\\n this.videoTileController.stopLocalVideoTile();\\n this.trace('stopLocalVideoTile');\\n }\\n hasStartedLocalVideoTile() {\\n const result = this.videoTileController.hasStartedLocalVideoTile();\\n this.trace('hasStartedLocalVideoTile', null, result);\\n return result;\\n }\\n removeLocalVideoTile() {\\n this.videoTileController.removeLocalVideoTile();\\n this.trace('removeLocalVideoTile');\\n }\\n getLocalVideoTile() {\\n const result = this.videoTileController.getLocalVideoTile();\\n this.trace('getLocalVideoTile');\\n return result;\\n }\\n pauseVideoTile(tileId) {\\n this.videoTileController.pauseVideoTile(tileId);\\n this.trace('pauseVideoTile', tileId);\\n }\\n unpauseVideoTile(tileId) {\\n this.videoTileController.unpauseVideoTile(tileId);\\n this.trace('unpauseVideoTile', tileId);\\n }\\n getVideoTile(tileId) {\\n const result = this.videoTileController.getVideoTile(tileId);\\n this.trace('getVideoTile', tileId);\\n return result;\\n }\\n getAllRemoteVideoTiles() {\\n const result = this.videoTileController.getAllRemoteVideoTiles();\\n this.trace('getAllRemoteVideoTiles');\\n return result;\\n }\\n getAllVideoTiles() {\\n const result = this.videoTileController.getAllVideoTiles();\\n this.trace('getAllVideoTiles');\\n return result;\\n }\\n addVideoTile() {\\n const result = this.videoTileController.addVideoTile();\\n this.trace('addVideoTile', null, result.state());\\n return result;\\n }\\n removeVideoTile(tileId) {\\n this.videoTileController.removeVideoTile(tileId);\\n this.trace('removeVideoTile', tileId);\\n }\\n removeVideoTilesByAttendeeId(attendeeId) {\\n const result = this.videoTileController.removeVideoTilesByAttendeeId(attendeeId);\\n this.trace('removeVideoTilesByAttendeeId', attendeeId, result);\\n return result;\\n }\\n removeAllVideoTiles() {\\n this.videoTileController.removeAllVideoTiles();\\n this.trace('removeAllVideoTiles');\\n }\\n captureVideoTile(tileId) {\\n const result = this.videoTileController.captureVideoTile(tileId);\\n this.trace('captureVideoTile', tileId);\\n return result;\\n }\\n realtimeSubscribeToAttendeeIdPresence(callback) {\\n this.realtimeController.realtimeSubscribeToAttendeeIdPresence(callback);\\n this.trace('realtimeSubscribeToAttendeeIdPresence');\\n }\\n realtimeUnsubscribeToAttendeeIdPresence(callback) {\\n this.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(callback);\\n this.trace('realtimeUnsubscribeToAttendeeIdPresence');\\n }\\n realtimeSetCanUnmuteLocalAudio(canUnmute) {\\n this.realtimeController.realtimeSetCanUnmuteLocalAudio(canUnmute);\\n this.trace('realtimeSetCanUnmuteLocalAudio', canUnmute);\\n }\\n realtimeSubscribeToSetCanUnmuteLocalAudio(callback) {\\n this.realtimeController.realtimeSubscribeToSetCanUnmuteLocalAudio(callback);\\n this.trace('realtimeSubscribeToSetCanUnmuteLocalAudio');\\n }\\n realtimeUnsubscribeToSetCanUnmuteLocalAudio(callback) {\\n this.realtimeController.realtimeUnsubscribeToSetCanUnmuteLocalAudio(callback);\\n this.trace('realtimeUnsubscribeToSetCanUnmuteLocalAudio');\\n }\\n realtimeCanUnmuteLocalAudio() {\\n const result = this.realtimeController.realtimeCanUnmuteLocalAudio();\\n this.trace('realtimeCanUnmuteLocalAudio', null, result);\\n return result;\\n }\\n realtimeMuteLocalAudio() {\\n this.realtimeController.realtimeMuteLocalAudio();\\n this.trace('realtimeMuteLocalAudio');\\n }\\n realtimeUnmuteLocalAudio() {\\n const result = this.realtimeController.realtimeUnmuteLocalAudio();\\n this.trace('realtimeUnmuteLocalAudio');\\n return result;\\n }\\n realtimeSubscribeToMuteAndUnmuteLocalAudio(callback) {\\n this.realtimeController.realtimeSubscribeToMuteAndUnmuteLocalAudio(callback);\\n this.trace('realtimeSubscribeToMuteAndUnmuteLocalAudio');\\n }\\n realtimeUnsubscribeToMuteAndUnmuteLocalAudio(callback) {\\n this.realtimeController.realtimeUnsubscribeToMuteAndUnmuteLocalAudio(callback);\\n this.trace('realtimeUnsubscribeToMuteAndUnmuteLocalAudio');\\n }\\n realtimeIsLocalAudioMuted() {\\n const result = this.realtimeController.realtimeIsLocalAudioMuted();\\n this.trace('realtimeIsLocalAudioMuted');\\n return result;\\n }\\n realtimeSubscribeToVolumeIndicator(attendeeId, callback) {\\n this.realtimeController.realtimeSubscribeToVolumeIndicator(attendeeId, callback);\\n this.trace('realtimeSubscribeToVolumeIndicator', attendeeId);\\n }\\n realtimeUnsubscribeFromVolumeIndicator(attendeeId, callback) {\\n this.realtimeController.realtimeUnsubscribeFromVolumeIndicator(attendeeId, callback);\\n this.trace('realtimeUnsubscribeFromVolumeIndicator', attendeeId, callback);\\n }\\n realtimeSubscribeToLocalSignalStrengthChange(callback) {\\n this.realtimeController.realtimeSubscribeToLocalSignalStrengthChange(callback);\\n this.trace('realtimeSubscribeToLocalSignalStrengthChange');\\n }\\n realtimeUnsubscribeToLocalSignalStrengthChange(callback) {\\n this.realtimeController.realtimeUnsubscribeToLocalSignalStrengthChange(callback);\\n this.trace('realtimeUnsubscribeToLocalSignalStrengthChange');\\n }\\n realtimeSendDataMessage(topic, // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n data, lifetimeMs) {\\n this.realtimeController.realtimeSendDataMessage(topic, data, lifetimeMs);\\n this.trace('realtimeSendDataMessage');\\n }\\n realtimeSubscribeToReceiveDataMessage(topic, callback) {\\n this.realtimeController.realtimeSubscribeToReceiveDataMessage(topic, callback);\\n this.trace('realtimeSubscribeToReceiveDataMessage');\\n }\\n realtimeUnsubscribeFromReceiveDataMessage(topic) {\\n this.realtimeController.realtimeUnsubscribeFromReceiveDataMessage(topic);\\n this.trace('realtimeUnsubscribeFromReceiveDataMessage');\\n }\\n realtimeSubscribeToFatalError(callback) {\\n this.realtimeController.realtimeSubscribeToFatalError(callback);\\n this.trace('realtimeSubscribeToFatalError');\\n }\\n realtimeUnsubscribeToFatalError(callback) {\\n this.realtimeController.realtimeUnsubscribeToFatalError(callback);\\n this.trace('realtimeUnsubscribeToFatalError');\\n }\\n subscribeToActiveSpeakerDetector(policy, callback, scoresCallback, scoresCallbackIntervalMs) {\\n this.audioVideoController.activeSpeakerDetector.subscribe(policy, callback, scoresCallback, scoresCallbackIntervalMs);\\n this.trace('subscribeToActiveSpeakerDetector');\\n }\\n unsubscribeFromActiveSpeakerDetector(callback) {\\n this.audioVideoController.activeSpeakerDetector.unsubscribe(callback);\\n this.trace('unsubscribeFromActiveSpeakerDetector');\\n }\\n listAudioInputDevices(forceUpdate = false) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const result = yield this.deviceController.listAudioInputDevices(forceUpdate);\\n this.trace('listAudioInputDevices', forceUpdate, result);\\n return result;\\n });\\n }\\n listVideoInputDevices(forceUpdate = false) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const result = yield this.deviceController.listVideoInputDevices(forceUpdate);\\n this.trace('listVideoInputDevices', forceUpdate, result);\\n return result;\\n });\\n }\\n listAudioOutputDevices(forceUpdate = false) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const result = yield this.deviceController.listAudioOutputDevices(forceUpdate);\\n this.trace('listAudioOutputDevices', forceUpdate, result);\\n return result;\\n });\\n }\\n startAudioInput(device) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.trace('startAudioInput', device);\\n return this.deviceController.startAudioInput(device);\\n });\\n }\\n stopAudioInput() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.trace('stopAudioInput');\\n return this.deviceController.stopAudioInput();\\n });\\n }\\n startVideoInput(device) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (VideoTransformDevice_1.isVideoTransformDevice(device)) {\\n // Don't stringify the device to avoid failures when cyclic object references are present.\\n this.trace('startVideoInput with transform device');\\n }\\n else {\\n this.trace('startVideoInput', device);\\n }\\n return this.deviceController.startVideoInput(device);\\n });\\n }\\n stopVideoInput() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.trace('stopVideoInput');\\n return this.deviceController.stopVideoInput();\\n });\\n }\\n chooseAudioOutput(deviceId) {\\n const result = this.deviceController.chooseAudioOutput(deviceId);\\n this.trace('chooseAudioOutput', deviceId);\\n return result;\\n }\\n addDeviceChangeObserver(observer) {\\n this.deviceController.addDeviceChangeObserver(observer);\\n this.trace('addDeviceChangeObserver');\\n }\\n removeDeviceChangeObserver(observer) {\\n this.deviceController.removeDeviceChangeObserver(observer);\\n this.trace('removeDeviceChangeObserver');\\n }\\n createAnalyserNodeForAudioInput() {\\n const result = this.deviceController.createAnalyserNodeForAudioInput();\\n this.trace('createAnalyserNodeForAudioInput');\\n return result;\\n }\\n startVideoPreviewForVideoInput(element) {\\n this.deviceController.startVideoPreviewForVideoInput(element);\\n this.trace('startVideoPreviewForVideoInput', element.id);\\n }\\n stopVideoPreviewForVideoInput(element) {\\n this.deviceController.stopVideoPreviewForVideoInput(element);\\n this.trace('stopVideoPreviewForVideoInput', element.id);\\n }\\n setDeviceLabelTrigger(trigger) {\\n this.deviceController.setDeviceLabelTrigger(trigger);\\n this.trace('setDeviceLabelTrigger');\\n }\\n mixIntoAudioInput(stream) {\\n const result = this.deviceController.mixIntoAudioInput(stream);\\n this.trace('mixIntoAudioInput', stream.id);\\n return result;\\n }\\n chooseVideoInputQuality(width, height, frameRate) {\\n this.deviceController.chooseVideoInputQuality(width, height, frameRate);\\n this.trace('chooseVideoInputQuality', {\\n width: width,\\n height: height,\\n frameRate: frameRate,\\n });\\n }\\n setVideoMaxBandwidthKbps(maxBandwidthKbps) {\\n this.audioVideoController.setVideoMaxBandwidthKbps(maxBandwidthKbps);\\n this.trace('setVideoMaxBandwidthKbps', maxBandwidthKbps);\\n }\\n setVideoCodecSendPreferences(preferences) {\\n this.audioVideoController.setVideoCodecSendPreferences(preferences);\\n this.trace('setVideoCodecSendPreferences', preferences);\\n }\\n getVideoInputQualitySettings() {\\n const result = this.deviceController.getVideoInputQualitySettings();\\n this.trace('getVideoInputQualitySettings');\\n return result;\\n }\\n setContentAudioProfile(audioProfile) {\\n this.trace('setContentAudioProfile', audioProfile);\\n this.contentShareController.setContentAudioProfile(audioProfile);\\n }\\n enableSimulcastForContentShare(enable, encodingParams) {\\n this.trace('enableSimulcastForContentShare');\\n this.contentShareController.enableSimulcastForContentShare(enable, encodingParams);\\n }\\n startContentShare(stream) {\\n const result = this.contentShareController.startContentShare(stream);\\n this.trace('startContentShare');\\n return result;\\n }\\n startContentShareFromScreenCapture(sourceId, frameRate) {\\n const result = this.contentShareController.startContentShareFromScreenCapture(sourceId, frameRate);\\n this.trace('startContentShareFromScreenCapture');\\n return result;\\n }\\n pauseContentShare() {\\n this.contentShareController.pauseContentShare();\\n this.trace('pauseContentShare');\\n }\\n unpauseContentShare() {\\n this.contentShareController.unpauseContentShare();\\n this.trace('unpauseContentShare');\\n }\\n stopContentShare() {\\n this.contentShareController.stopContentShare();\\n this.trace('stopContentShare');\\n }\\n addContentShareObserver(observer) {\\n this.contentShareController.addContentShareObserver(observer);\\n this.trace('addContentShareObserver');\\n }\\n removeContentShareObserver(observer) {\\n this.contentShareController.removeContentShareObserver(observer);\\n this.trace('removeContentShareObserver');\\n }\\n setContentShareVideoCodecPreferences(preferences) {\\n this.contentShareController.setContentShareVideoCodecPreferences(preferences);\\n this.trace('setContentShareVideoCodecPreferences');\\n }\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n trace(name, input, output) {\\n const meetingId = this.audioVideoController.configuration.meetingId;\\n const attendeeId = this.audioVideoController.configuration.credentials.attendeeId;\\n let s = `API/DefaultAudioVideoFacade/${meetingId}/${attendeeId}/${name}`;\\n if (typeof input !== 'undefined') {\\n s += ` ${JSON.stringify(input)}`;\\n }\\n if (typeof output !== 'undefined') {\\n s += ` -> ${JSON.stringify(output)}`;\\n }\\n this.audioVideoController.logger.info(s);\\n }\\n getRemoteVideoSources() {\\n const result = this.audioVideoController.getRemoteVideoSources();\\n this.trace('getRemoteVideoSources', null, result);\\n return result;\\n }\\n get transcriptionController() {\\n return this.realtimeController.transcriptionController;\\n }\\n promoteToPrimaryMeeting(credentials) {\\n this.audioVideoController.removeObserver(this); // Avoid adding multiple times\\n this.audioVideoController.addObserver(this); // See note in `audioVideoWasDemotedFromPrimaryMeeting`\\n const result = this.audioVideoController.promoteToPrimaryMeeting(credentials);\\n this.trace('promoteToPrimaryMeeting', null, result); // Don't trace credentials\\n return result;\\n }\\n demoteFromPrimaryMeeting() {\\n this.trace('demoteFromPrimaryMeeting');\\n this.audioVideoController.demoteFromPrimaryMeeting();\\n }\\n audioVideoWasDemotedFromPrimaryMeeting(_) {\\n // `DefaultContentShareController` currently does not respond to the connection ending\\n // so `contentShareDidStop` will not be called even if backend cleans up the connection.\\n // Thus we try to pre-emptively clean up on client side.\\n this.contentShareController.stopContentShare();\\n this.audioVideoController.removeObserver(this);\\n }\\n}\\nexports[\\\"default\\\"] = DefaultAudioVideoFacade;\\n//# sourceMappingURL=DefaultAudioVideoFacade.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/audiovideofacade/DefaultAudioVideoFacade.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurProcessorBuiltIn.js\":\n/*!**********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurProcessorBuiltIn.js ***!\n \\**********************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BackgroundBlurProcessorProvided_1 = __webpack_require__(/*! ./BackgroundBlurProcessorProvided */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurProcessorProvided.js\\\");\\nconst BackgroundBlurStrength_1 = __webpack_require__(/*! ./BackgroundBlurStrength */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurStrength.js\\\");\\n/**\\n * The [[BackgroundBlurProcessorBuiltIn]] uses the browser's built-in capability to apply blurring to\\n * the background image as apposed to [[BackgroundBlurProcessorProvided]] that uses WASM and\\n * TensorFlow Lite to apply the blur.\\n */\\n/** @internal */\\nclass BackgroundBlurProcessorBuiltIn extends BackgroundBlurProcessorProvided_1.default {\\n /**\\n * A constructor that will apply default values if spec and strength are not provided.\\n * If no spec is provided the selfie segmentation model is used with default paths to CDN for the\\n * worker and wasm files used to process each frame.\\n * @param spec The spec defines the assets that will be used for adding background blur to a frame.\\n * @param options How much blur to apply to a frame.\\n */\\n constructor(spec, options) {\\n super(spec, options);\\n this.blurCanvas = document.createElement('canvas');\\n this.blurCanvasCtx = this.blurCanvas.getContext('2d');\\n this.blurCanvas.width = this.spec.model.input.width;\\n this.blurCanvas.height = this.spec.model.input.height;\\n this.logger.info('BackgroundBlur processor using builtin blur');\\n }\\n drawImageWithMask(inputCanvas, mask) {\\n // Mask will not be set until the worker has completed handling the predict event. Until the first frame is processed,\\n // the whole frame will be blurred.\\n const blurredImage = this.blurredImage;\\n const { canvasCtx, targetCanvas } = this;\\n const { width, height } = targetCanvas;\\n if (!mask || !blurredImage) {\\n canvasCtx.clearRect(0, 0, width, height);\\n return;\\n }\\n const scaledCtx = this.scaledCanvas.getContext('2d');\\n scaledCtx.putImageData(mask, 0, 0);\\n this.blurCanvasCtx.putImageData(this.blurredImage, 0, 0);\\n // draw the mask\\n canvasCtx.save();\\n canvasCtx.clearRect(0, 0, width, height);\\n canvasCtx.drawImage(this.scaledCanvas, 0, 0, width, height);\\n // Only overwrite existing pixels.\\n canvasCtx.globalCompositeOperation = 'source-in';\\n // draw image over mask...\\n canvasCtx.drawImage(inputCanvas, 0, 0, width, height);\\n // draw under person\\n canvasCtx.globalCompositeOperation = 'destination-over';\\n canvasCtx.drawImage(this.blurCanvas, 0, 0, width, height);\\n canvasCtx.restore();\\n }\\n setBlurStrength(blurStrength) {\\n super.setBlurStrength(blurStrength);\\n if (this.worker) {\\n // live update\\n this.modelInitialized = false;\\n this.worker.postMessage({ msg: 'destroy' });\\n const model = this.spec.model;\\n this.worker.postMessage({\\n msg: 'loadModel',\\n payload: {\\n modelUrl: model.path,\\n inputHeight: model.input.height,\\n inputWidth: model.input.width,\\n inputChannels: 4,\\n modelRangeMin: model.input.range[0],\\n modelRangeMax: model.input.range[1],\\n blurPixels: this.blurAmount,\\n },\\n });\\n }\\n }\\n setBlurPixels() {\\n // the blurred image is sized down to 144, regardless of what the canvas size is, so\\n // we use the default blur strengths (540p)\\n this.blurAmount = BackgroundBlurStrength_1.BlurStrengthMapper.getBlurAmount(this._blurStrength, { height: 540 });\\n this.logger.info(`background blur amount set to ${this.blurAmount}`);\\n }\\n handleInitialize(msg) {\\n this.logger.info(`received initialize message: ${this.stringify(msg)}`);\\n if (!msg.payload) {\\n this.logger.error('failed to initialize module');\\n this.initWorkerPromise.reject(new Error('failed to initialize the module'));\\n return;\\n }\\n const model = this.spec.model;\\n this.worker.postMessage({\\n msg: 'loadModel',\\n payload: {\\n modelUrl: model.path,\\n inputHeight: model.input.height,\\n inputWidth: model.input.width,\\n inputChannels: 4,\\n modelRangeMin: model.input.range[0],\\n modelRangeMax: model.input.range[1],\\n blurPixels: this.blurAmount,\\n },\\n });\\n this.initWorkerPromise.resolve({});\\n }\\n handlePredict(msg) {\\n this.blurredImage = msg.payload.blurOutput;\\n super.handlePredict(msg);\\n }\\n destroy() {\\n const _super = Object.create(null, {\\n destroy: { get: () => super.destroy }\\n });\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n _super.destroy.call(this);\\n (_a = this.blurCanvas) === null || _a === void 0 ? void 0 : _a.remove();\\n this.blurCanvas = undefined;\\n });\\n }\\n}\\nexports[\\\"default\\\"] = BackgroundBlurProcessorBuiltIn;\\n//# sourceMappingURL=BackgroundBlurProcessorBuiltIn.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurProcessorBuiltIn.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurProcessorProvided.js\":\n/*!***********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurProcessorProvided.js ***!\n \\***********************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BackgroundFilterProcessor_1 = __webpack_require__(/*! ../backgroundfilter/BackgroundFilterProcessor */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterProcessor.js\\\");\\nconst BackgroundBlurStrength_1 = __webpack_require__(/*! ./BackgroundBlurStrength */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurStrength.js\\\");\\nconst BackgroundBlurVideoFrameProcessorDelegate_1 = __webpack_require__(/*! ./BackgroundBlurVideoFrameProcessorDelegate */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurVideoFrameProcessorDelegate.js\\\");\\n/**\\n * [[BackgroundBlurProcessorProvided]] implements [[BackgroundBlurProcessor]].\\n * It's a background blur processor and input is passed into a worker that will apply a segmentation\\n * to separate the foreground from the background. Then the background will have a blur applied.\\n *\\n * The [[BackgroundBlurProcessorProvided]] uses WASM and TensorFlow Lite to apply the blurring of the\\n * background image as apposed to [[BackgroundBlurProcessorBuiltIn]] that uses the browser's built-in\\n * capability to apply the blur.\\n */\\n/** @internal */\\nclass BackgroundBlurProcessorProvided extends BackgroundFilterProcessor_1.default {\\n /**\\n * A constructor that will apply default values if spec and strength are not provided.\\n * If no spec is provided the selfie segmentation model is used with default paths to CDN for the\\n * worker and wasm files used to process each frame.\\n * @param spec The spec defines the assets that will be used for adding background blur to a frame\\n * @param options How much blur to apply to a frame\\n */\\n constructor(spec, options) {\\n super('background blur', spec, options, new BackgroundBlurVideoFrameProcessorDelegate_1.default());\\n this.blurAmount = 0;\\n this.setBlurStrength(options.blurStrength);\\n this.logger.info('BackgroundBlur processor successfully created');\\n this.logger.info(`BackgroundBlur spec: ${this.stringify(this.spec)}`);\\n this.logger.info(`BackgroundBlur options: ${this.stringify(options)}`);\\n }\\n validateOptions(options) {\\n super.validateOptions(options);\\n if (!options.blurStrength) {\\n throw new Error('processor has null options - blurStrength');\\n }\\n }\\n initOnFirstExecution() {\\n this.setBlurPixels();\\n }\\n drawImageWithMask(inputCanvas, mask) {\\n // Mask will not be set until the worker has completed handling the predict event. Until the first frame is processed,\\n // the whole frame will be blurred.\\n if (!mask) {\\n mask = new ImageData(this.spec.model.input.width, this.spec.model.input.height);\\n }\\n const scaledCtx = this.scaledCanvas.getContext('2d');\\n scaledCtx.putImageData(mask, 0, 0);\\n const { canvasCtx, targetCanvas } = this;\\n const { width, height } = targetCanvas;\\n // draw the mask\\n canvasCtx.save();\\n canvasCtx.clearRect(0, 0, width, height);\\n canvasCtx.drawImage(this.scaledCanvas, 0, 0, width, height);\\n // Only overwrite existing pixels.\\n canvasCtx.globalCompositeOperation = 'source-in';\\n // draw image over mask...\\n canvasCtx.drawImage(inputCanvas, 0, 0, width, height);\\n // draw under person\\n canvasCtx.globalCompositeOperation = 'destination-over';\\n canvasCtx.filter = `blur(${this.blurAmount}px)`;\\n canvasCtx.drawImage(inputCanvas, 0, 0, targetCanvas.width, targetCanvas.height);\\n canvasCtx.restore();\\n }\\n setBlurStrength(blurStrength) {\\n this._blurStrength = blurStrength;\\n this.logger.info(`blur strength set to ${this._blurStrength}`);\\n this.setBlurPixels();\\n }\\n /**\\n * Calculate the blur amount based on the blur strength passed in and height of the image being blurred.\\n */\\n setBlurPixels() {\\n this.blurAmount = BackgroundBlurStrength_1.BlurStrengthMapper.getBlurAmount(this._blurStrength, {\\n height: this.sourceHeight,\\n });\\n this.logger.info(`background blur amount set to ${this.blurAmount}`);\\n }\\n addObserver(observer) {\\n this.delegate.addObserver(observer);\\n }\\n removeObserver(observer) {\\n this.delegate.removeObserver(observer);\\n }\\n static isSupported() {\\n return __awaiter(this, void 0, void 0, function* () {\\n const canvas = document.createElement('canvas');\\n const supportsBlurFilter = canvas.getContext('2d').filter !== undefined;\\n canvas.remove();\\n return supportsBlurFilter;\\n });\\n }\\n /** @internal */\\n setEventController(eventController) {\\n /*\\n if this is a first time we set the eventController, need to publish the current BackgroundFilterConfig.\\n Otherwise, just set the eventController.\\n */\\n if (this.eventController) {\\n this.eventController = eventController;\\n }\\n else {\\n this.eventController = eventController;\\n this.publishBackgroundFilterEvent();\\n }\\n }\\n publishBackgroundFilterEvent() {\\n const backgroundFilterEventAttributes = {\\n backgroundBlurEnabled: 'true',\\n backgroundBlurStrength: this._blurStrength,\\n backgroundReplacementEnabled: 'false',\\n backgroundFilterVersion: 1,\\n };\\n this.eventController.publishEvent('backgroundFilterConfigSelected', backgroundFilterEventAttributes);\\n }\\n}\\nexports[\\\"default\\\"] = BackgroundBlurProcessorProvided;\\n//# sourceMappingURL=BackgroundBlurProcessorProvided.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurProcessorProvided.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurStrength.js\":\n/*!**************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurStrength.js ***!\n \\**************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.BlurStrengthMapper = void 0;\\n/**\\n * The numbers below indicate the amount of blur to apply. Larger numbers will produce\\n * more blur.\\n */\\nconst BlurStrength = {\\n LOW: 7,\\n MEDIUM: 15,\\n HIGH: 30,\\n};\\n/** @internal */\\nclass BlurStrengthMapper {\\n static getBlurAmount(bstrength, options) {\\n if (bstrength <= 0) {\\n throw new Error(`invalid value for blur strength: ${bstrength}`);\\n }\\n return Math.round((bstrength * options.height) / this.BLUR_STRENGTH_DIVISOR);\\n }\\n}\\nexports.BlurStrengthMapper = BlurStrengthMapper;\\nBlurStrengthMapper.BLUR_STRENGTH_DIVISOR = 540; // use 540P as baseline blur strength\\nexports[\\\"default\\\"] = BlurStrength;\\n//# sourceMappingURL=BackgroundBlurStrength.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurStrength.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurVideoFrameProcessor.js\":\n/*!*************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurVideoFrameProcessor.js ***!\n \\*************************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BackgroundFilterVideoFrameProcessor_1 = __webpack_require__(/*! ../backgroundfilter/BackgroundFilterVideoFrameProcessor */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterVideoFrameProcessor.js\\\");\\nconst ConsoleLogger_1 = __webpack_require__(/*! ../logger/ConsoleLogger */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/ConsoleLogger.js\\\");\\nconst LogLevel_1 = __webpack_require__(/*! ../logger/LogLevel */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/LogLevel.js\\\");\\nconst NoOpVideoFrameProcessor_1 = __webpack_require__(/*! ../videoframeprocessor/NoOpVideoFrameProcessor */ \\\"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/NoOpVideoFrameProcessor.js\\\");\\nconst BackgroundBlurProcessorBuiltIn_1 = __webpack_require__(/*! ./BackgroundBlurProcessorBuiltIn */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurProcessorBuiltIn.js\\\");\\nconst BackgroundBlurProcessorProvided_1 = __webpack_require__(/*! ./BackgroundBlurProcessorProvided */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurProcessorProvided.js\\\");\\nconst BackgroundBlurStrength_1 = __webpack_require__(/*! ./BackgroundBlurStrength */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurStrength.js\\\");\\n/**\\n * No-op implementation of the blur processor. An instance of this class will be returned when a user attempts\\n * to create a blur processor when it is not supported.\\n */\\n/** @internal */\\nclass NoOpBackgroundBlurProcessor extends NoOpVideoFrameProcessor_1.default {\\n /**\\n * no-op\\n */\\n setBlurStrength() { }\\n /**\\n * no-op\\n * @returns\\n */\\n loadAssets() {\\n return __awaiter(this, void 0, void 0, function* () {\\n return;\\n });\\n }\\n /**\\n * no-op\\n */\\n addObserver() { }\\n /**\\n * no-op\\n */\\n removeObserver() { }\\n}\\n/**\\n * [[BackgroundBlurVideoFrameProcessor]]\\n * Creates a background blur processor which identifies the foreground person and blurs the background.\\n */\\nclass BackgroundBlurVideoFrameProcessor extends BackgroundFilterVideoFrameProcessor_1.default {\\n /**\\n * A factory method that will call the private constructor to instantiate the processor and asynchronously\\n * initialize the worker, wasm, and ML models. Upon completion of the initialization the promise will either\\n * be resolved or rejected.\\n * @param spec The spec defines the assets that will be used for adding background blur to a frame\\n * @param blurStrength How much blur to apply to a frame\\n * @returns\\n */\\n static create(spec, options) {\\n return __awaiter(this, void 0, void 0, function* () {\\n spec = BackgroundBlurVideoFrameProcessor.resolveSpec(spec);\\n options = BackgroundBlurVideoFrameProcessor.resolveOptions(options);\\n const { logger } = options;\\n const supported = yield BackgroundBlurVideoFrameProcessor.isSupported(spec, options);\\n // if blur is not supported do not initialize. The processor will become a no op if not supported.\\n logger.info(`processor is ${supported ? '' : 'not'} supported`);\\n if (!supported) {\\n logger.warn('Using no-op processor because background blur is not supported');\\n return new NoOpBackgroundBlurProcessor();\\n }\\n let processor;\\n if (yield BackgroundBlurProcessorProvided_1.default.isSupported()) {\\n logger.info('Using browser-provided background blur');\\n processor = new BackgroundBlurProcessorProvided_1.default(spec, options);\\n }\\n else {\\n logger.info('Using built-in background blur');\\n processor = new BackgroundBlurProcessorBuiltIn_1.default(spec, options);\\n }\\n yield processor.loadAssets();\\n return processor;\\n });\\n }\\n /**\\n * Based on the options that are passed in set defaults for options\\n * @param options the options that are passed in\\n * @returns An updated set of options with defaults set\\n */\\n static resolveOptions(options = {}) {\\n let processorOptions = Object.assign({}, options);\\n if (!processorOptions.blurStrength) {\\n processorOptions.blurStrength = BackgroundBlurStrength_1.default.MEDIUM;\\n }\\n if (!processorOptions.logger) {\\n processorOptions.logger = new ConsoleLogger_1.default('BackgroundBlurProcessor', LogLevel_1.default.INFO);\\n }\\n processorOptions = super.resolveOptions(processorOptions);\\n return processorOptions;\\n }\\n /**\\n * This method will detect the environment in which it is being used and determine if background\\n * blur can be used.\\n * @param spec The {@link BackgroundBlurSpec} spec that will be used to initialize assets\\n * @param options options such as logger\\n * @returns a boolean promise that will resolve to true if supported and false if not\\n */\\n static isSupported(spec, options) {\\n spec = BackgroundBlurVideoFrameProcessor.resolveSpec(spec);\\n options = BackgroundBlurVideoFrameProcessor.resolveOptions(options);\\n return super.isSupported(spec, options);\\n }\\n}\\nexports[\\\"default\\\"] = BackgroundBlurVideoFrameProcessor;\\n//# sourceMappingURL=BackgroundBlurVideoFrameProcessor.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurVideoFrameProcessor.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurVideoFrameProcessorDelegate.js\":\n/*!*********************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurVideoFrameProcessorDelegate.js ***!\n \\*********************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BackgroundFilterVideoFrameProcessorDelegate_1 = __webpack_require__(/*! ../backgroundfilter/BackgroundFilterVideoFrameProcessorDelegate */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterVideoFrameProcessorDelegate.js\\\");\\n/**\\n * This class adds the functionality to allow for a set of unique observers to be added to the\\n * video frame processor.\\n */\\n/** @internal */\\nclass BackgroundBlurVideoFrameProcessorDelegate extends BackgroundFilterVideoFrameProcessorDelegate_1.default {\\n}\\nexports[\\\"default\\\"] = BackgroundBlurVideoFrameProcessorDelegate;\\n//# sourceMappingURL=BackgroundBlurVideoFrameProcessorDelegate.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurVideoFrameProcessorDelegate.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/ModelSpecBuilder.js\":\n/*!********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/ModelSpecBuilder.js ***!\n \\********************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * A builder class to instantiate a model spec.\\n */\\nclass ModelSpecBuilder {\\n constructor() {\\n this.path = null;\\n this.input = null;\\n this.output = null;\\n }\\n static builder() {\\n return new ModelSpecBuilder();\\n }\\n /**\\n * Set up the builder to use the default model implementation.\\n *\\n * Members of this interface can change without a major version bump to accommodate new browser\\n * bugs and capabilities. If you extend this type, you might need to rework your code for new minor\\n * versions of this library.\\n * @returns a reference to the current builder.\\n */\\n withDefaultModel() {\\n return this.withSelfieSegmentationDefaults();\\n }\\n /**\\n * Set up the builder to use the defaults for selfie segmentation model.\\n * @returns the builder to allow for fluent API (e.g., ModelSpecBuilder.withSelfieSegmentationDefaults().build()).\\n */\\n withSelfieSegmentationDefaults() {\\n const SELFIE_MODEL_INPUT_SHAPE = {\\n height: 144,\\n width: 256,\\n range: [0, 1],\\n channels: 3,\\n };\\n const SELFIE_MODEL_OUTPUT_SHAPE = {\\n height: 144,\\n width: 256,\\n range: [0, 1],\\n channels: 1,\\n };\\n const DEFAULT_SELFIE_MODEL_PATH = 'https://static.sdkassets.chime.aws/bgblur/models/selfie_segmentation_landscape.tflite';\\n this.path = DEFAULT_SELFIE_MODEL_PATH;\\n this.input = SELFIE_MODEL_INPUT_SHAPE;\\n this.output = SELFIE_MODEL_OUTPUT_SHAPE;\\n return this;\\n }\\n /**\\n * A method to override the path to the segmentation model.\\n * @param path A function that returns the path to the segmentation model.\\n * @returns the builder to allow for fluent API (e.g., ModelSpecBuilder.builder().withPath(\\\"some path\\\").build()).\\n */\\n withPath(path) {\\n this.path = path;\\n return this;\\n }\\n /**\\n * A method to override the input shape to the segmentation model.\\n * @param input An object that defines input shape of the segmentation model.\\n * @returns the builder to allow for fluent API (e.g., ModelSpecBuilder.builder().withInput({}).build()).\\n */\\n withInput(input) {\\n this.input = input;\\n return this;\\n }\\n /**\\n * A method to override the output shape to the segmentation model.\\n * @param input An object that defines input shape of the segmentation model.\\n * @returns the builder to allow for fluent API (e.g., ModelSpecBuilder.builder().withOutput({}).build()).\\n */\\n withOutput(output) {\\n this.output = output;\\n return this;\\n }\\n /**\\n * Validate that inputs to the model spec are valid.\\n */\\n validate() {\\n if (!this.path) {\\n throw new Error('model spec path is not set');\\n }\\n if (!this.input) {\\n throw new Error('model spec input is not set');\\n }\\n if (!this.output) {\\n throw new Error('model spec output is not set');\\n }\\n }\\n /**\\n * A method that returns an instantiated object that implements the ModelSpec interface with values set for\\n * the use of the selfie segmentation model.\\n * @returns an object that implements the ModelSpec interface.\\n */\\n build() {\\n this.validate();\\n return {\\n path: this.path,\\n input: this.input,\\n output: this.output,\\n };\\n }\\n}\\nexports[\\\"default\\\"] = ModelSpecBuilder;\\n//# sourceMappingURL=ModelSpecBuilder.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/ModelSpecBuilder.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterFrameCounter.js\":\n/*!*************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterFrameCounter.js ***!\n \\*************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst FILTER_DURATION_FACTOR = 0.8;\\n/**\\n * The frame counter tracks frame rates of video and segmentation.\\n */\\n/** @internal */\\nclass BackgroundFilterFrameCounter {\\n constructor(delegate, reportingPeriodMillis, filterCPUUtilization, logger) {\\n this.delegate = delegate;\\n this.reportingPeriodMillis = reportingPeriodMillis;\\n this.filterCPUUtilization = filterCPUUtilization;\\n this.logger = logger;\\n this._processingFilter = true;\\n this.lastReportedEventTimestamp = 0;\\n this.lastFilterCompleteTimestamp = 0;\\n this.filterTotalMillis = 0;\\n this.filterCount = 0;\\n this.framerate = 0;\\n this.filterDurationNotifyMillis = 0;\\n this.setSegmentationDuration();\\n }\\n /**\\n * Report events once per period.\\n */\\n reportEvent(timestamp) {\\n const timeDiff = timestamp - this.lastReportedEventTimestamp;\\n if (timeDiff >= this.reportingPeriodMillis) {\\n const currentFilterCount = this.filterCount;\\n const currentFilterTotalMillis = this.filterTotalMillis;\\n this.filterCount = 0;\\n this.filterTotalMillis = 0;\\n this.lastReportedEventTimestamp = timestamp;\\n // Do not send notification unless a valid framerate or segment count is set.\\n if (this.framerate === 0 || currentFilterCount === 0) {\\n return;\\n }\\n const avgFilterDurationMillis = Math.round(currentFilterTotalMillis / currentFilterCount);\\n const framesDropped = Math.round(this.framerate * (timeDiff / 1000)) - currentFilterCount;\\n const cpuUtilization = Math.round((100 * currentFilterTotalMillis) / timeDiff);\\n if (avgFilterDurationMillis >= this.filterDurationNotifyMillis) {\\n this.delegate.filterFrameDurationHigh({\\n framesDropped,\\n avgFilterDurationMillis,\\n framerate: this.framerate,\\n periodMillis: timeDiff,\\n });\\n }\\n if (cpuUtilization >= this.filterCPUUtilization) {\\n this.delegate.filterCPUUtilizationHigh({\\n cpuUtilization,\\n filterMillis: currentFilterTotalMillis,\\n periodMillis: timeDiff,\\n });\\n }\\n }\\n }\\n setSegmentationDuration() {\\n // allow filtering to take up to 80% of the expected frame duration\\n this.filterDurationNotifyMillis = Math.round((1000 / this.framerate) * FILTER_DURATION_FACTOR);\\n }\\n frameReceived(framerate) {\\n if (framerate !== this.framerate) {\\n this.framerate = framerate;\\n this.logger.info(`frame counter setting frame rate to ${this.framerate}`);\\n this.setSegmentationDuration();\\n }\\n const timestamp = Date.now();\\n this.reportEvent(timestamp);\\n }\\n filterSubmitted() {\\n this._processingFilter = true;\\n this.lastFilterCompleteTimestamp = Date.now();\\n }\\n filterComplete() {\\n this.filterTotalMillis += Date.now() - this.lastFilterCompleteTimestamp;\\n this._processingFilter = false;\\n this.filterCount++;\\n }\\n get processingSegment() {\\n return this._processingFilter;\\n }\\n}\\nexports[\\\"default\\\"] = BackgroundFilterFrameCounter;\\n//# sourceMappingURL=BackgroundFilterFrameCounter.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterFrameCounter.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterProcessor.js\":\n/*!**********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterProcessor.js ***!\n \\**********************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.BackgroundFilterMonitor = void 0;\\nconst loader_1 = __webpack_require__(/*! ../../libs/voicefocus/loader */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/loader.js\\\");\\nconst CanvasVideoFrameBuffer_1 = __webpack_require__(/*! ../videoframeprocessor/CanvasVideoFrameBuffer */ \\\"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/CanvasVideoFrameBuffer.js\\\");\\nconst BackgroundFilterFrameCounter_1 = __webpack_require__(/*! ./BackgroundFilterFrameCounter */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterFrameCounter.js\\\");\\n/** @internal */\\nclass DeferredObservable {\\n constructor() {\\n /** Access the last-resolved value of next()\\n */\\n this.value = undefined;\\n this.resolve = null;\\n }\\n /** Create a promise that resolves once next() is called\\n */\\n whenNext() {\\n /* istanbul ignore else */\\n if (!this.promise) {\\n // externally-resolvable promise\\n this.promise = new Promise(resolve => (this.resolve = resolve));\\n }\\n return this.promise;\\n }\\n /** Update the value and resolve\\n */\\n next(value) {\\n // store the value, for sync access\\n this.value = value;\\n // resolve the promise so anyone awaiting whenNext resolves\\n this.resolve(value);\\n // delete the promise so future whenNext calls get a new promise\\n delete this.promise;\\n }\\n}\\n/**\\n * The [[BackgroundFilterProcessor]] uses WASM and TensorFlow Lite to apply changes to the\\n * background image.\\n */\\n/** @internal */\\nclass BackgroundFilterProcessor {\\n constructor(filterType, spec, options, delegate, eventController) {\\n this.targetCanvas = document.createElement('canvas');\\n this.canvasCtx = this.targetCanvas.getContext('2d');\\n this.canvasVideoFrameBuffer = new CanvasVideoFrameBuffer_1.default(this.targetCanvas);\\n this.mask$ = new DeferredObservable();\\n this.sourceWidth = 0;\\n this.sourceHeight = 0;\\n this.frameNumber = 0;\\n this.videoFramesPerFilterUpdate = 1;\\n this.initWorkerPromise = BackgroundFilterProcessor.createWorkerPromise();\\n this.loadModelPromise = BackgroundFilterProcessor.createWorkerPromise();\\n this.modelInitialized = false;\\n this.destroyed = false;\\n this.filterType = filterType;\\n this.validateSpec(spec);\\n this.validateOptions(options);\\n this.spec = spec;\\n this.logger = options.logger;\\n this.delegate = delegate;\\n this.initCPUMonitor(options);\\n this.eventController = eventController;\\n }\\n static createWorkerPromise() {\\n const resolver = { resolve: null, reject: null, promise: null };\\n resolver.promise = new Promise((resolve, reject) => {\\n resolver.resolve = resolve;\\n resolver.reject = reject;\\n });\\n return resolver;\\n }\\n /** Check if the input spec are not null\\n */\\n validateSpec(spec) {\\n if (!spec) {\\n throw new Error('processor has null spec');\\n }\\n if (!spec.model) {\\n throw new Error('processor spec has null model');\\n }\\n if (!spec.paths) {\\n throw new Error('processor spec has null paths');\\n }\\n }\\n validateOptions(options) {\\n if (!options) {\\n throw new Error('processor has null options');\\n }\\n if (!options.logger) {\\n throw new Error('processor has null options - logger');\\n }\\n if (!options.reportingPeriodMillis) {\\n throw new Error('processor has null options - reportingPeriodMillis');\\n }\\n if (!options.filterCPUUtilization) {\\n throw new Error('processor has null options - filterCPUUtilization');\\n }\\n }\\n initCPUMonitor(options) {\\n const CPU_MONITORING_PERIOD_MILLIS = 5000;\\n const MAX_SEGMENTATION_SKIP_RATE = 10;\\n const MIN_SEGMENTATION_SKIP_RATE = 1;\\n this.videoFramesPerFilterUpdate = 1;\\n this.frameCounter = new BackgroundFilterFrameCounter_1.default(this.delegate, options.reportingPeriodMillis, options.filterCPUUtilization, this.logger);\\n this.cpuMonitor = new BackgroundFilterMonitor(CPU_MONITORING_PERIOD_MILLIS, {\\n reduceCPUUtilization: () => {\\n this.updateVideoFramesPerFilterUpdate(Math.min(this.videoFramesPerFilterUpdate + 1, MAX_SEGMENTATION_SKIP_RATE));\\n },\\n increaseCPUUtilization: () => {\\n this.updateVideoFramesPerFilterUpdate(Math.max(this.videoFramesPerFilterUpdate - 1, MIN_SEGMENTATION_SKIP_RATE));\\n },\\n });\\n this.delegate.addObserver(this.cpuMonitor);\\n }\\n /** Converts a value to a JSON string\\n */\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n stringify(value) {\\n return JSON.stringify(value, null, 2);\\n }\\n /**\\n * Sends a message to worker and resolves promise in response to worker's initialize event\\n */\\n handleInitialize(msg) {\\n this.logger.info(`received initialize message: ${this.stringify(msg)}`);\\n if (!msg.payload) {\\n this.logger.error('failed to initialize module');\\n this.initWorkerPromise.reject(new Error('failed to initialize the module'));\\n return;\\n }\\n const model = this.spec.model;\\n this.worker.postMessage({\\n msg: 'loadModel',\\n payload: {\\n modelUrl: model.path,\\n inputHeight: model.input.height,\\n inputWidth: model.input.width,\\n inputChannels: 4,\\n modelRangeMin: model.input.range[0],\\n modelRangeMax: model.input.range[1],\\n blurPixels: 0,\\n },\\n });\\n this.initWorkerPromise.resolve({});\\n }\\n /**\\n * Resolves promise in response to worker's loadModel event\\n */\\n handleLoadModel(msg) {\\n this.logger.info(`received load model message: ${this.stringify(msg)}`);\\n if (msg.payload !== 2) {\\n this.logger.error('failed to load model! status: ' + msg.payload);\\n /** Rejects model promise\\n */\\n this.loadModelPromise.reject(new Error('failed to load model! status: ' + msg.payload));\\n return;\\n }\\n this.modelInitialized = true;\\n this.loadModelPromise.resolve({});\\n }\\n /** Updates the payload output value in response to worker's predict event\\n */\\n handlePredict(msg) {\\n this.mask$.next(msg.payload.output);\\n }\\n /**\\n * This method will handle the asynchronous messaging between the main JS thread\\n * and the worker thread.\\n * @param evt An event that was sent from the worker to the JS thread.\\n * @returns\\n */\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n handleWorkerEvent(evt) {\\n const msg = evt.data;\\n switch (msg.msg) {\\n case 'initialize':\\n this.handleInitialize(msg);\\n break;\\n case 'loadModel':\\n this.handleLoadModel(msg);\\n break;\\n case 'predict':\\n this.handlePredict(msg);\\n break;\\n default:\\n this.logger.info(`unexpected event msg: ${this.stringify(msg)}`);\\n break;\\n }\\n }\\n /**\\n * This method initializes all of the resource necessary to processs background filter. It returns\\n * a promise and resolves or rejects the promise once the initialization is complete.\\n * @returns\\n * @throws An error will be thrown\\n */\\n loadAssets() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.logger.info('start initializing the processor');\\n try {\\n this.worker = yield loader_1.loadWorker(this.spec.paths.worker, 'BackgroundFilterWorker', {}, null);\\n this.worker.addEventListener('message', ev => this.handleWorkerEvent(ev));\\n this.worker.postMessage({\\n msg: 'initialize',\\n payload: {\\n wasmPath: this.spec.paths.wasm,\\n simdPath: this.spec.paths.simd,\\n },\\n });\\n yield this.initWorkerPromise.promise;\\n this.logger.info(`successfully initialized the ${this.filterType} worker`);\\n yield this.loadModelPromise.promise;\\n this.logger.info(`successfully loaded ${this.filterType} worker segmentation model`);\\n }\\n catch (error) {\\n throw new Error(`could not initialize the ${this.filterType} video frame processor due to '${error.message}'`);\\n }\\n this.logger.info(`successfully initialized the ${this.filterType} processor`);\\n });\\n }\\n /**\\n * Processes the VideoFrameBuffer by applying a segmentation mask and replacing the background.\\n * @param buffers object that contains the canvas element that will be used to obtain the image data to process\\n * @returns the updated buffer that contains the image with the background replaced.\\n */\\n process(buffers) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.destroyed) {\\n return buffers;\\n }\\n this.frameCounter.frameReceived(buffers[0].framerate);\\n this.cpuMonitor.frameReceived();\\n const inputCanvas = buffers[0].asCanvasElement();\\n if (!inputCanvas) {\\n return buffers;\\n }\\n if (!this.modelInitialized) {\\n // return existing buffer, if any\\n buffers[0] = this.canvasVideoFrameBuffer;\\n return buffers;\\n }\\n const frameWidth = inputCanvas.width;\\n const frameHeight = inputCanvas.height;\\n if (frameWidth === 0 || frameHeight === 0) {\\n return buffers;\\n }\\n // on first execution of process the source width will be zero\\n if (this.sourceWidth === 0) {\\n this.sourceWidth = frameWidth;\\n this.sourceHeight = frameHeight;\\n // update target canvas size to match the frame size\\n this.targetCanvas.width = this.sourceWidth;\\n this.targetCanvas.height = this.sourceHeight;\\n this.logger.info(`${this.filterType} source width: ${this.sourceWidth}`);\\n this.logger.info(`${this.filterType} source height: ${this.sourceHeight}`);\\n this.initOnFirstExecution();\\n }\\n if (this.sourceWidth !== frameWidth || this.sourceHeight !== frameHeight) {\\n this.sourceWidth = frameWidth;\\n this.sourceHeight = frameHeight;\\n // update target canvas size to match the frame size\\n this.targetCanvas.width = this.sourceWidth;\\n this.targetCanvas.height = this.sourceHeight;\\n }\\n try {\\n this.frameCounter.filterSubmitted();\\n let mask = this.mask$.value;\\n const hscale = this.spec.model.input.width / inputCanvas.width;\\n const vscale = this.spec.model.input.height / inputCanvas.height;\\n if (this.scaledCanvas === undefined) {\\n this.scaledCanvas = document.createElement('canvas');\\n this.scaledCanvas.width = this.spec.model.input.width;\\n this.scaledCanvas.height = this.spec.model.input.height;\\n }\\n const scaledCtx = this.scaledCanvas.getContext('2d');\\n scaledCtx.save();\\n scaledCtx.scale(hscale, vscale);\\n scaledCtx.drawImage(inputCanvas, 0, 0);\\n scaledCtx.restore();\\n const imageData = scaledCtx.getImageData(0, 0, this.scaledCanvas.width, this.scaledCanvas.height);\\n // update the filter mask based on the filter update rate\\n if (this.frameNumber % this.videoFramesPerFilterUpdate === 0) {\\n // process frame...\\n const maskPromise = this.mask$.whenNext();\\n this.worker.postMessage({ msg: 'predict', payload: imageData }, [imageData.data.buffer]);\\n mask = yield maskPromise;\\n }\\n // It's possible that while waiting for the predict to complete the processor was destroyed.\\n // adding a destroyed check here to ensure the implementation of drawImageWithMask does not throw\\n // an error due to destroyed processor.\\n if (!this.destroyed) {\\n this.drawImageWithMask(inputCanvas, mask);\\n }\\n }\\n catch (error) {\\n this.logger.error(`could not process ${this.filterType} frame buffer due to ${error}`);\\n return buffers;\\n }\\n finally {\\n this.frameCounter.filterComplete();\\n this.frameNumber++;\\n }\\n buffers[0] = this.canvasVideoFrameBuffer;\\n return buffers;\\n });\\n }\\n updateVideoFramesPerFilterUpdate(newRate) {\\n if (newRate !== this.videoFramesPerFilterUpdate) {\\n this.videoFramesPerFilterUpdate = newRate;\\n this.logger.info(`Adjusting filter rate to compensate for CPU utilization. ` +\\n `Filter rate is ${this.videoFramesPerFilterUpdate} video frames per filter.`);\\n }\\n }\\n /**\\n * Clean up processor resources\\n */\\n destroy() {\\n var _a, _b, _c, _d;\\n return __awaiter(this, void 0, void 0, function* () {\\n this.destroyed = true;\\n this.delegate.removeObserver(this.cpuMonitor);\\n this.canvasVideoFrameBuffer.destroy();\\n (_a = this.worker) === null || _a === void 0 ? void 0 : _a.postMessage({ msg: 'destroy' });\\n (_b = this.worker) === null || _b === void 0 ? void 0 : _b.postMessage({ msg: 'stop' });\\n (_c = this.targetCanvas) === null || _c === void 0 ? void 0 : _c.remove();\\n this.targetCanvas = undefined;\\n (_d = this.scaledCanvas) === null || _d === void 0 ? void 0 : _d.remove();\\n this.scaledCanvas = undefined;\\n this.logger.info(`${this.filterType} frame process destroyed`);\\n });\\n }\\n}\\nexports[\\\"default\\\"] = BackgroundFilterProcessor;\\n/** @internal */\\nclass BackgroundFilterMonitor {\\n constructor(monitoringPeriodMillis, observer) {\\n this.monitoringPeriodMillis = monitoringPeriodMillis;\\n this.observer = observer;\\n this.lastCPUChangeTimestamp = 0;\\n }\\n filterCPUUtilizationHigh() {\\n const timestamp = Date.now();\\n // Allow some time to pass before we check CPU utilization.\\n if (timestamp - this.lastCPUChangeTimestamp >= this.monitoringPeriodMillis) {\\n this.lastCPUChangeTimestamp = timestamp;\\n this.observer.reduceCPUUtilization();\\n }\\n }\\n frameReceived() {\\n const timestamp = Date.now();\\n // If a enough time has passed, reset the processor and continue to monitor\\n if (timestamp - this.lastCPUChangeTimestamp >= this.monitoringPeriodMillis * 2) {\\n this.lastCPUChangeTimestamp = timestamp;\\n this.observer.increaseCPUUtilization();\\n }\\n }\\n}\\nexports.BackgroundFilterMonitor = BackgroundFilterMonitor;\\n//# sourceMappingURL=BackgroundFilterProcessor.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterProcessor.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterVideoFrameProcessor.js\":\n/*!********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterVideoFrameProcessor.js ***!\n \\********************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst loader_1 = __webpack_require__(/*! ../../libs/voicefocus/loader */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/loader.js\\\");\\nconst support_1 = __webpack_require__(/*! ../../libs/voicefocus/support */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/support.js\\\");\\nconst ModelSpecBuilder_1 = __webpack_require__(/*! ../backgroundblurprocessor/ModelSpecBuilder */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/ModelSpecBuilder.js\\\");\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nconst Versioning_1 = __webpack_require__(/*! ../versioning/Versioning */ \\\"./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js\\\");\\n/** @internal */\\nconst CREATE_DEFAULT_MODEL_SPEC = () => ModelSpecBuilder_1.default.builder().withSelfieSegmentationDefaults().build();\\n/** @internal */\\nconst DEFAULT_CDN = 'https://static.sdkassets.chime.aws';\\n/** @internal */\\nconst DEFAULT_PATHS = {\\n worker: `${DEFAULT_CDN}/bgblur/workers/worker.js`,\\n wasm: `${DEFAULT_CDN}/bgblur/wasm/_cwt-wasm.wasm`,\\n simd: `${DEFAULT_CDN}/bgblur/wasm/_cwt-wasm-simd.wasm`,\\n};\\nclass BackgroundFilterVideoFrameProcessor {\\n /**\\n * Based on the SDK version, return an asset group.\\n *\\n * @returns the default asset spec, based on the SDK version.\\n */\\n static defaultAssetSpec() {\\n const version = Versioning_1.default.sdkVersionSemVer;\\n return {\\n assetGroup: `sdk-${version.major}.${version.minor}`,\\n };\\n }\\n /**\\n * Set the given parameters to the url. Existing parameters in the url are preserved.\\n * If duplicate parameters exist, they are overwritten, so it's safe to call this method multiple\\n * times on the same url.\\n *\\n * @param url the initial url, can include query parameters\\n * @param queryParams the query parameters to set\\n * @returns a new url with the given query parameters.\\n */\\n static createUrlWithParams(url, queryParams) {\\n const u = new URL(url);\\n const keys = Object.keys(queryParams);\\n for (const key of keys) {\\n if (queryParams[key] !== undefined) {\\n u.searchParams.set(key, queryParams[key]);\\n }\\n }\\n return u.toString();\\n }\\n /**\\n * Based on the spec that is passed in set defaults for spec\\n * @param spec the spec that was passed in\\n * @returns An updated spec with defaults set\\n */\\n static resolveSpec(spec) {\\n const { paths = DEFAULT_PATHS, model = CREATE_DEFAULT_MODEL_SPEC(), assetGroup = this.defaultAssetSpec().assetGroup, revisionID = this.defaultAssetSpec().revisionID, } = spec || {};\\n const params = {\\n assetGroup,\\n revisionID,\\n sdk: encodeURIComponent(Versioning_1.default.sdkVersion),\\n ua: encodeURIComponent(Versioning_1.default.sdkUserAgentLowResolution),\\n };\\n paths.worker = this.createUrlWithParams(paths.worker, params);\\n paths.wasm = this.createUrlWithParams(paths.wasm, params);\\n paths.simd = this.createUrlWithParams(paths.simd, params);\\n model.path = this.createUrlWithParams(model.path, params);\\n return {\\n paths,\\n model,\\n assetGroup,\\n revisionID,\\n };\\n }\\n /**\\n * Based on the options that are passed in set defaults for options\\n * @param options the options that are passed in\\n * @returns An updated set of options with defaults set\\n */\\n static resolveOptions(options) {\\n if (!options.reportingPeriodMillis) {\\n options.reportingPeriodMillis = 1000;\\n }\\n const DEFAULT_FILTER_CPU_UTILIZATION = 30;\\n if (!options.filterCPUUtilization) {\\n options.filterCPUUtilization = DEFAULT_FILTER_CPU_UTILIZATION;\\n }\\n else if (options.filterCPUUtilization < 0 || options.filterCPUUtilization > 100) {\\n options.logger.warn(`filterCPUUtilization must be set to a range between 0 and 100 percent. Falling back to default of ${DEFAULT_FILTER_CPU_UTILIZATION} percent`);\\n options.filterCPUUtilization = DEFAULT_FILTER_CPU_UTILIZATION;\\n }\\n return options;\\n }\\n /**\\n * This method will detect the environment in which it is being used and determine if background\\n * blur/replacement can be used.\\n * @param spec The {@link BackgroundBlurSpec} spec that will be used to initialize assets\\n * @param options options such as logger\\n * @returns a boolean promise that will resolve to true if supported and false if not\\n */\\n static isSupported(spec, options) {\\n const { logger } = options;\\n // could not figure out how to remove globalThis to test failure case\\n /* istanbul ignore next */\\n if (typeof globalThis === 'undefined') {\\n logger.info('Browser does not have globalThis.');\\n return Promise.resolve(false);\\n }\\n const browser = new DefaultBrowserBehavior_1.default();\\n if (!browser.supportsBackgroundFilter()) {\\n logger.info('Browser is not supported.');\\n return Promise.resolve(false);\\n }\\n if (!support_1.supportsWASM(globalThis, logger)) {\\n logger.info('Browser does not support WASM.');\\n return Promise.resolve(false);\\n }\\n return this.supportsBackgroundFilter(globalThis, spec, logger);\\n }\\n static supportsBackgroundFilter(\\n /* istanbul ignore next */\\n scope = globalThis, spec, logger) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!support_1.supportsWorker(scope, logger)) {\\n logger.info('Browser does not support web workers.');\\n return false;\\n }\\n // Use the actual worker path -- it's only 20KB, and it'll get the cache warm.\\n const workerURL = spec.paths.worker;\\n try {\\n const worker = yield loader_1.loadWorker(workerURL, 'BackgroundFilterWorker', {}, null);\\n try {\\n worker.terminate();\\n }\\n catch (e) {\\n logger.info(`Failed to terminate worker. ${e.message}`);\\n }\\n return true;\\n }\\n catch (e) {\\n logger.info(`Failed to fetch and instantiate test worker ${e.message}`);\\n return false;\\n }\\n });\\n }\\n}\\nexports[\\\"default\\\"] = BackgroundFilterVideoFrameProcessor;\\n//# sourceMappingURL=BackgroundFilterVideoFrameProcessor.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterVideoFrameProcessor.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterVideoFrameProcessorDelegate.js\":\n/*!****************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterVideoFrameProcessorDelegate.js ***!\n \\****************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * This class adds the functionality to allow for a set of unique observers to be added to the\\n * video frame processor.\\n */\\n/** @internal */\\nclass BackgroundFilterVideoFrameProcessorDelegate {\\n constructor() {\\n this.observers = new Set();\\n }\\n /**\\n * Add an observer to the unique set. If a duplicate observer cannot be added.\\n * @param observer An implementation of the observer interface.\\n */\\n addObserver(observer) {\\n this.observers.add(observer);\\n }\\n /**\\n * Remove the observer from the set of observers.\\n * @param observer An implementation of the observer interface.\\n */\\n removeObserver(observer) {\\n this.observers.delete(observer);\\n }\\n /**\\n * Call the observer method with the event information. See [[BackgroundFilterVideoFrameProcessorObserver]]\\n * for detailed info on this event.\\n * @param event\\n */\\n filterFrameDurationHigh(event) {\\n var _a;\\n for (const observer of this.observers) {\\n (_a = observer.filterFrameDurationHigh) === null || _a === void 0 ? void 0 : _a.call(observer, event);\\n }\\n }\\n filterCPUUtilizationHigh(event) {\\n var _a;\\n for (const observer of this.observers) {\\n (_a = observer.filterCPUUtilizationHigh) === null || _a === void 0 ? void 0 : _a.call(observer, event);\\n }\\n }\\n}\\nexports[\\\"default\\\"] = BackgroundFilterVideoFrameProcessorDelegate;\\n//# sourceMappingURL=BackgroundFilterVideoFrameProcessorDelegate.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterVideoFrameProcessorDelegate.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backgroundreplacementprocessor/BackgroundReplacementFilter.js\":\n/*!**************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backgroundreplacementprocessor/BackgroundReplacementFilter.js ***!\n \\**************************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BackgroundFilterProcessor_1 = __webpack_require__(/*! ../backgroundfilter/BackgroundFilterProcessor */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterProcessor.js\\\");\\nconst BackgroundReplacementVideoFrameProcessorDelegate_1 = __webpack_require__(/*! ./BackgroundReplacementVideoFrameProcessorDelegate */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundreplacementprocessor/BackgroundReplacementVideoFrameProcessorDelegate.js\\\");\\n/**\\n * [[BackgroundReplacementFilter]] implements [[BackgroundReplacementProcessor]].\\n * It's a background replacement processor and input is passed into a worker that will apply a segmentation\\n * to separate the foreground from the background. Then the background will have a replacement applied.\\n *\\n * The [[BackgroundReplacementProcessorProvided]] uses WASM and TensorFlow Lite to apply replacement of the\\n * background image.\\n */\\n/** @internal */\\nclass BackgroundReplacementFilter extends BackgroundFilterProcessor_1.default {\\n /**\\n * A constructor that will apply default values if spec and strength are not provided.\\n * If no spec is provided the selfie segmentation model is used with default paths to CDN for the\\n * worker and wasm files used to process each frame.\\n * @param spec The spec defines the assets that will be used for adding background filter to a frame\\n * @param options The background replacement image path\\n */\\n constructor(spec, options) {\\n super('background replacement', spec, options, new BackgroundReplacementVideoFrameProcessorDelegate_1.default());\\n this.replacementBlob = options.imageBlob;\\n this.logger.info('BackgroundReplacement processor successfully created');\\n this.logger.info(`BackgroundReplacement spec: ${this.stringify(this.spec)}`);\\n this.logger.info(`BackgroundReplacement options: ${this.stringify(options)}`);\\n }\\n setImageBlob(blob) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.replacementBlob = blob;\\n this.replacementImage = yield BackgroundReplacementFilter.loadImage(this.createReplacementObjectUrl());\\n });\\n }\\n initOnFirstExecution() { }\\n drawImageWithMask(inputCanvas, mask) {\\n // Mask will not be set until the worker has completed handling the predict event. Until the first frame is processed,\\n // the whole frame will be replaced.\\n if (!mask) {\\n mask = new ImageData(this.spec.model.input.width, this.spec.model.input.height);\\n }\\n const scaledCtx = this.scaledCanvas.getContext('2d');\\n scaledCtx.putImageData(mask, 0, 0);\\n const { canvasCtx, targetCanvas } = this;\\n const { width, height } = targetCanvas;\\n // draw the mask\\n canvasCtx.save();\\n canvasCtx.clearRect(0, 0, width, height);\\n canvasCtx.drawImage(this.scaledCanvas, 0, 0, width, height);\\n // Only overwrite existing pixels.\\n canvasCtx.globalCompositeOperation = 'source-in';\\n // draw image over mask...\\n canvasCtx.drawImage(inputCanvas, 0, 0, width, height);\\n // draw under person\\n canvasCtx.globalCompositeOperation = 'destination-over';\\n canvasCtx.drawImage(this.replacementImage, 0, 0, targetCanvas.width, targetCanvas.height);\\n canvasCtx.restore();\\n }\\n /* istanbul ignore next */\\n static loadImageExecutor(resolve, \\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n reject, imageUrl) {\\n const image = new Image();\\n image.crossOrigin = 'Anonymous';\\n image.addEventListener('load', () => {\\n resolve(image);\\n }, false);\\n image.addEventListener('error', error => {\\n reject(new Error(`Could not load replacement image ${image.src}: ${error.message}`));\\n }, false);\\n image.src = imageUrl;\\n }\\n /** @internal */\\n static loadImage(imageUrl) {\\n return __awaiter(this, void 0, void 0, function* () {\\n return new Promise((resolve, reject) => this.loadImageExecutor(resolve, reject, imageUrl));\\n });\\n }\\n revokeReplacementObjectUrl() {\\n if (this.replacementObjectUrl) {\\n URL.revokeObjectURL(this.replacementObjectUrl);\\n }\\n }\\n createReplacementObjectUrl() {\\n this.revokeReplacementObjectUrl();\\n this.replacementObjectUrl = URL.createObjectURL(this.replacementBlob);\\n return this.replacementObjectUrl;\\n }\\n /**\\n * This method initializes all of the resource necessary to process background replacement. It returns\\n * a promise and resolves or rejects the promise once the initialization is complete.\\n * @returns\\n * @throws An error will be thrown\\n */\\n loadAssets() {\\n const _super = Object.create(null, {\\n loadAssets: { get: () => super.loadAssets }\\n });\\n return __awaiter(this, void 0, void 0, function* () {\\n this.replacementImage = yield BackgroundReplacementFilter.loadImage(this.createReplacementObjectUrl());\\n _super.loadAssets.call(this);\\n return;\\n });\\n }\\n addObserver(observer) {\\n this.delegate.addObserver(observer);\\n }\\n removeObserver(observer) {\\n this.delegate.removeObserver(observer);\\n }\\n destroy() {\\n const _super = Object.create(null, {\\n destroy: { get: () => super.destroy }\\n });\\n return __awaiter(this, void 0, void 0, function* () {\\n _super.destroy.call(this);\\n this.revokeReplacementObjectUrl();\\n });\\n }\\n /** @internal */\\n setEventController(eventController) {\\n /*\\n if this is a first time we set the eventController, need to publish the current BackgroundFilterConfig.\\n Otherwise, just set the eventController.\\n */\\n if (this.eventController) {\\n this.eventController = eventController;\\n }\\n else {\\n this.eventController = eventController;\\n this.publishBackgroundFilterEvent();\\n }\\n }\\n publishBackgroundFilterEvent() {\\n const backgroundFilterEventAttributes = {\\n backgroundBlurEnabled: 'false',\\n backgroundBlurStrength: 'low',\\n backgroundReplacementEnabled: 'true',\\n backgroundFilterVersion: 1,\\n };\\n this.eventController.publishEvent('backgroundFilterConfigSelected', backgroundFilterEventAttributes);\\n }\\n}\\nexports[\\\"default\\\"] = BackgroundReplacementFilter;\\n//# sourceMappingURL=BackgroundReplacementFilter.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backgroundreplacementprocessor/BackgroundReplacementFilter.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backgroundreplacementprocessor/BackgroundReplacementVideoFrameProcessor.js\":\n/*!***************************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backgroundreplacementprocessor/BackgroundReplacementVideoFrameProcessor.js ***!\n \\***************************************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BackgroundFilterVideoFrameProcessor_1 = __webpack_require__(/*! ../backgroundfilter/BackgroundFilterVideoFrameProcessor */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterVideoFrameProcessor.js\\\");\\nconst ConsoleLogger_1 = __webpack_require__(/*! ../logger/ConsoleLogger */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/ConsoleLogger.js\\\");\\nconst LogLevel_1 = __webpack_require__(/*! ../logger/LogLevel */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/LogLevel.js\\\");\\nconst NoOpVideoFrameProcessor_1 = __webpack_require__(/*! ../videoframeprocessor/NoOpVideoFrameProcessor */ \\\"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/NoOpVideoFrameProcessor.js\\\");\\nconst BackgroundReplacementFilter_1 = __webpack_require__(/*! ./BackgroundReplacementFilter */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundreplacementprocessor/BackgroundReplacementFilter.js\\\");\\n/**\\n * No-op implementation of the background replacement processor. An instance of this class will be returned when a user attempts\\n * to create a background replacement processor when it is not supported.\\n */\\n/** @internal */\\nclass NoOpBackgroundReplacementProcessor extends NoOpVideoFrameProcessor_1.default {\\n /**\\n * no-op\\n * @returns\\n */\\n loadAssets() {\\n return __awaiter(this, void 0, void 0, function* () {\\n return;\\n });\\n }\\n /**\\n * no-op\\n */\\n addObserver() { }\\n /**\\n * no-op\\n */\\n removeObserver() { }\\n /**\\n * no-op\\n */\\n setImageBlob() {\\n return __awaiter(this, void 0, void 0, function* () {\\n return;\\n });\\n }\\n}\\n/**\\n * [[BackgroundReplacementVideoFrameProcessor]]\\n * Creates a background replacement processor which identifies the foreground person and replaces the background.\\n */\\nclass BackgroundReplacementVideoFrameProcessor extends BackgroundFilterVideoFrameProcessor_1.default {\\n /**\\n * A factory method that will call the private constructor to instantiate the processor and asynchronously\\n * initialize the worker, wasm, and ML models. Upon completion of the initialization the promise will either\\n * be resolved or rejected.\\n * @param spec The spec defines the assets that will be used for adding background filter to a frame\\n * @param imagePath The background replacement image path\\n */\\n static create(spec, options) {\\n return __awaiter(this, void 0, void 0, function* () {\\n spec = this.resolveSpec(spec);\\n options = this.resolveOptions(options);\\n yield this.resolveOptionsAsync(options);\\n const { logger } = options;\\n const supported = yield BackgroundReplacementVideoFrameProcessor.isSupported(spec, options);\\n // if background replacement is not supported do not initialize. The processor will become a no op if not supported.\\n if (!supported) {\\n logger.warn('Using no-op processor because background replacement is not supported');\\n return new NoOpBackgroundReplacementProcessor();\\n }\\n logger.info('Using background replacement filter');\\n const processor = new BackgroundReplacementFilter_1.default(spec, options);\\n yield processor.loadAssets();\\n return processor;\\n });\\n }\\n /**\\n * Based on the options that are passed in set defaults for options\\n * @param options the options that are passed in\\n * @returns An updated set of options with defaults set\\n */\\n static resolveOptions(options = {}) {\\n const processorOptions = Object.assign({}, options);\\n if (!processorOptions.logger) {\\n processorOptions.logger = new ConsoleLogger_1.default('BackgroundReplacementProcessor', LogLevel_1.default.INFO);\\n }\\n return super.resolveOptions(processorOptions);\\n }\\n static resolveOptionsAsync(options) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!options.imageBlob) {\\n const canvas = document.createElement('canvas');\\n canvas.width = 100;\\n canvas.height = 100;\\n const ctx = canvas.getContext('2d');\\n ctx.fillStyle = 'blue';\\n ctx.fillRect(0, 0, 100, 100);\\n const blob = yield new Promise(resolve => {\\n canvas.toBlob(resolve);\\n });\\n options.imageBlob = blob;\\n }\\n return;\\n });\\n }\\n /**\\n * This method will detect the environment in which it is being used and determine if background\\n * replacement can be used.\\n * @param spec The {@link BackgroundFilterSpec} spec that will be used to initialize assets\\n * @param options options such as logger and imagePath\\n * @returns a boolean promise that will resolve to true if supported and false if not\\n */\\n static isSupported(spec, options) {\\n const _super = Object.create(null, {\\n isSupported: { get: () => super.isSupported }\\n });\\n return __awaiter(this, void 0, void 0, function* () {\\n spec = this.resolveSpec(spec);\\n options = this.resolveOptions(options);\\n yield this.resolveOptionsAsync(options);\\n const imageBlob = options.imageBlob;\\n const imageUrl = URL.createObjectURL(imageBlob);\\n try {\\n yield BackgroundReplacementFilter_1.default.loadImage(imageUrl);\\n }\\n catch (e) {\\n options.logger.info(`Failed to fetch load replacement image ${e.message}`);\\n return false;\\n }\\n finally {\\n URL.revokeObjectURL(imageUrl);\\n }\\n return _super.isSupported.call(this, spec, options);\\n });\\n }\\n}\\nexports[\\\"default\\\"] = BackgroundReplacementVideoFrameProcessor;\\n//# sourceMappingURL=BackgroundReplacementVideoFrameProcessor.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backgroundreplacementprocessor/BackgroundReplacementVideoFrameProcessor.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backgroundreplacementprocessor/BackgroundReplacementVideoFrameProcessorDelegate.js\":\n/*!***********************************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backgroundreplacementprocessor/BackgroundReplacementVideoFrameProcessorDelegate.js ***!\n \\***********************************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BackgroundFilterVideoFrameProcessorDelegate_1 = __webpack_require__(/*! ../backgroundfilter/BackgroundFilterVideoFrameProcessorDelegate */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterVideoFrameProcessorDelegate.js\\\");\\n/**\\n * This class adds the functionality to allow for a set of unique observers to be added to the\\n * video frame processor.\\n */\\n/** @internal */\\nclass BackgroundReplacementVideoFrameProcessorDelegate extends BackgroundFilterVideoFrameProcessorDelegate_1.default {\\n}\\nexports[\\\"default\\\"] = BackgroundReplacementVideoFrameProcessorDelegate;\\n//# sourceMappingURL=BackgroundReplacementVideoFrameProcessorDelegate.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backgroundreplacementprocessor/BackgroundReplacementVideoFrameProcessorDelegate.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoff.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoff.js ***!\n \\*****************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * Implements the [Full Jitter algorithm](\\n * https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/)\\n * and also allows for specifying a fixed wait added to the full jitter backoff\\n * (which can be zero).\\n */\\nclass FullJitterBackoff {\\n constructor(fixedWaitMs, shortBackoffMs, longBackoffMs) {\\n this.fixedWaitMs = fixedWaitMs;\\n this.shortBackoffMs = shortBackoffMs;\\n this.longBackoffMs = longBackoffMs;\\n this.currentRetry = 0;\\n if (this.fixedWaitMs < 0) {\\n this.fixedWaitMs = 0;\\n }\\n if (this.shortBackoffMs < 0) {\\n this.shortBackoffMs = 0;\\n }\\n if (this.longBackoffMs < 0) {\\n this.longBackoffMs = 0;\\n }\\n this.reset();\\n }\\n reset() {\\n this.currentRetry = 0;\\n }\\n nextBackoffAmountMs() {\\n const fullJitterMs = Math.random() *\\n Math.min(this.longBackoffMs, this.shortBackoffMs * Math.pow(2.0, this.currentRetry)) +\\n this.fixedWaitMs;\\n this.currentRetry += 1;\\n return fullJitterMs;\\n }\\n}\\nexports[\\\"default\\\"] = FullJitterBackoff;\\n//# sourceMappingURL=FullJitterBackoff.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoff.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoffFactory.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoffFactory.js ***!\n \\************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst FullJitterBackoff_1 = __webpack_require__(/*! ./FullJitterBackoff */ \\\"./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoff.js\\\");\\nconst FullJitterLimitedBackoff_1 = __webpack_require__(/*! ./FullJitterLimitedBackoff */ \\\"./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterLimitedBackoff.js\\\");\\nclass FullJitterBackoffFactory {\\n constructor(fixedWaitMs, shortBackoffMs, longBackoffMs) {\\n this.fixedWaitMs = fixedWaitMs;\\n this.shortBackoffMs = shortBackoffMs;\\n this.longBackoffMs = longBackoffMs;\\n }\\n create() {\\n return new FullJitterBackoff_1.default(this.fixedWaitMs, this.shortBackoffMs, this.longBackoffMs);\\n }\\n createWithLimit(limit) {\\n return new FullJitterLimitedBackoff_1.default(this.fixedWaitMs, this.shortBackoffMs, this.longBackoffMs, limit);\\n }\\n}\\nexports[\\\"default\\\"] = FullJitterBackoffFactory;\\n//# sourceMappingURL=FullJitterBackoffFactory.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoffFactory.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterLimitedBackoff.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterLimitedBackoff.js ***!\n \\************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst FullJitterBackoff_1 = __webpack_require__(/*! ./FullJitterBackoff */ \\\"./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoff.js\\\");\\nclass FullJitterLimitedBackoff extends FullJitterBackoff_1.default {\\n constructor(fixedWaitMs, shortBackoffMs, longBackoffMs, limit) {\\n super(fixedWaitMs, shortBackoffMs, longBackoffMs);\\n this.limit = limit;\\n this.attempts = 0;\\n }\\n nextBackoffAmountMs() {\\n this.attempts++;\\n if (this.attempts > this.limit) {\\n throw new Error('retry limit exceeded');\\n }\\n return super.nextBackoffAmountMs();\\n }\\n}\\nexports[\\\"default\\\"] = FullJitterLimitedBackoff;\\n//# sourceMappingURL=FullJitterLimitedBackoff.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterLimitedBackoff.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js ***!\n \\******************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst detect_browser_1 = __webpack_require__(/*! detect-browser */ \\\"./node_modules/detect-browser/es/index.js\\\");\\nconst ua_parser_js_1 = __webpack_require__(/*! ua-parser-js */ \\\"./node_modules/ua-parser-js/src/ua-parser.js\\\");\\nclass DefaultBrowserBehavior {\\n constructor() {\\n this.FALLBACK_BROWSER = {\\n type: 'browser',\\n name: 'unknown',\\n version: 'unknown',\\n os: 'unknown',\\n };\\n this.browser = detect_browser_1.detect() || this.FALLBACK_BROWSER;\\n this.uaParserResult = navigator && navigator.userAgent ? new ua_parser_js_1.UAParser(navigator.userAgent).getResult() : null;\\n this.browserSupport = {\\n chrome: 78,\\n 'edge-chromium': 79,\\n electron: 7,\\n firefox: 75,\\n ios: 13,\\n safari: 13,\\n opera: 66,\\n samsung: 12,\\n crios: 86,\\n fxios: 23,\\n 'ios-webview': 605,\\n 'chromium-webview': 92,\\n };\\n this.browserName = {\\n chrome: 'Google Chrome',\\n 'edge-chromium': 'Microsoft Edge',\\n electron: 'Electron',\\n firefox: 'Mozilla Firefox',\\n ios: 'Safari iOS',\\n safari: 'Safari',\\n opera: 'Opera',\\n samsung: 'Samsung Internet',\\n crios: 'Chrome iOS',\\n fxios: 'Firefox iOS',\\n 'ios-webview': 'WKWebView iOS',\\n 'chromium-webview': 'Chrome WebView',\\n };\\n this.chromeLike = [\\n 'chrome',\\n 'edge-chromium',\\n 'chromium-webview',\\n 'opera',\\n 'samsung',\\n ];\\n this.webkitBrowsers = ['crios', 'fxios', 'safari', 'ios', 'ios-webview', 'edge-ios'];\\n }\\n version() {\\n return this.browser.version;\\n }\\n majorVersion() {\\n return this.version() !== null ? parseInt(this.version().split('.')[0]) : -1;\\n }\\n osMajorVersion() {\\n return parseInt(this.uaParserResult.os.version.split('.')[0]);\\n }\\n name() {\\n return this.browser.name;\\n }\\n hasChromiumWebRTC() {\\n for (const browser of this.chromeLike) {\\n if (browser === this.browser.name) {\\n return true;\\n }\\n }\\n return false;\\n }\\n hasWebKitWebRTC() {\\n for (const browser of this.webkitBrowsers) {\\n if (browser === this.browser.name) {\\n return true;\\n }\\n }\\n return false;\\n }\\n hasFirefoxWebRTC() {\\n return this.isFirefox();\\n }\\n requiresPlaybackLatencyHintForAudioContext() {\\n return navigator.userAgent.indexOf('Windows') !== -1;\\n }\\n supportsCanvasCapturedStreamPlayback() {\\n return (\\n // Desktop browser\\n (!this.isIOSSafari() && !this.isIOSChrome() && !this.isIOSFirefox() && !this.isIOSEdge()) ||\\n // iOS Safari (Firefox on iOS with desktop view will be identified as iOS Safari\\n (this.isIOSSafari() &&\\n this.majorVersion() >= DefaultBrowserBehavior.MIN_IOS_SUPPORT_CANVAS_STREAM_PLAYBACK) ||\\n // Chrome, Edge, or Firefox (mobile view) on iOS\\n this.majorVersion() >=\\n DefaultBrowserBehavior.MIN_IOS_NON_SAFARI_SUPPORT_CANVAS_STREAM_PLAYBACK);\\n }\\n supportsBackgroundFilter() {\\n // disable Safari 15\\n // see: https://github.com/aws/amazon-chime-sdk-js/issues/1059\\n if (this.name() === 'safari' && this.majorVersion() === 15) {\\n return false;\\n }\\n if (!this.supportsCanvasCapturedStreamPlayback()) {\\n return false;\\n }\\n return true;\\n }\\n supportsVideoLayersAllocationRtpHeaderExtension() {\\n return this.hasChromiumWebRTC();\\n }\\n requiresResolutionAlignment(width, height) {\\n if (this.isAndroid() && this.isPixel3()) {\\n return [Math.ceil(width / 64) * 64, Math.ceil(height / 64) * 64];\\n }\\n return [width, height];\\n }\\n requiresCheckForSdpConnectionAttributes() {\\n return !this.isIOSSafari() && !this.isIOSChrome() && !this.isIOSFirefox();\\n }\\n requiresIceCandidateGatheringTimeoutWorkaround() {\\n return this.hasChromiumWebRTC();\\n }\\n requiresBundlePolicy() {\\n return 'max-bundle';\\n }\\n requiresNoExactMediaStreamConstraints() {\\n return this.isSamsungInternet();\\n }\\n requiresGroupIdMediaStreamConstraints() {\\n return this.isSamsungInternet();\\n }\\n getDisplayMediaAudioCaptureSupport() {\\n return this.isChrome() || this.isEdge();\\n }\\n // There's a issue in Chormium WebView that causes enumerate devices to return empty labels, this is a check for this issue.\\n // https://bugs.chromium.org/p/chromium/issues/detail?id=669492\\n doesNotSupportMediaDeviceLabels() {\\n return this.browser.name === 'chromium-webview';\\n }\\n isSupported() {\\n if (!this.browserSupport[this.browser.name] ||\\n this.majorVersion() < this.browserSupport[this.browser.name]) {\\n return false;\\n }\\n if (this.browser.name === 'firefox' && this.isAndroid()) {\\n return false;\\n }\\n return true;\\n }\\n isSimulcastSupported() {\\n return this.hasChromiumWebRTC();\\n }\\n supportDownlinkBandwidthEstimation() {\\n return !this.isFirefox();\\n }\\n supportString() {\\n if (this.isAndroid()) {\\n return `${this.browserName['chrome']} ${this.browserSupport['chrome']}+, ${this.browserName['samsung']} ${this.browserSupport['samsung']}+`;\\n }\\n const s = [];\\n for (const k in this.browserSupport) {\\n s.push(`${this.browserName[k]} ${this.browserSupport[k]}+`);\\n }\\n return s.join(', ');\\n }\\n supportedVideoCodecs() {\\n return __awaiter(this, void 0, void 0, function* () {\\n const pc = new RTCPeerConnection();\\n pc.addTransceiver('video', { direction: 'inactive', streams: [] });\\n return (yield pc.createOffer({ offerToReceiveVideo: true })).sdp\\n .split('\\\\r\\\\n')\\n .filter(x => {\\n return x.includes('a=rtpmap:');\\n })\\n .map(x => {\\n return x.replace(/.* /, '').replace(/\\\\/.*/, '');\\n })\\n .filter((v, i, a) => {\\n return a.indexOf(v) === i;\\n })\\n .filter(x => {\\n return x !== 'rtx' && x !== 'red' && x !== 'ulpfec';\\n });\\n });\\n }\\n supportsSetSinkId() {\\n return 'setSinkId' in HTMLAudioElement.prototype;\\n }\\n disableResolutionScaleDown() {\\n return this.isAndroid();\\n }\\n disable480pResolutionScaleDown() {\\n return /( Chrome\\\\/98\\\\.)/i.test(navigator.userAgent) && this.browser.os.startsWith('Windows');\\n }\\n requiresDisablingH264Encoding() {\\n return ((this.isIOSSafari() || this.isIOSChrome() || this.isIOSFirefox()) &&\\n (this.version() === '15.1.0' || /( OS 15_1)/i.test(navigator.userAgent)));\\n }\\n // In Safari, a hidden video element can show a black screen.\\n // See https://bugs.webkit.org/show_bug.cgi?id=241152 for more information.\\n requiresVideoPlayWorkaround() {\\n return this.isSafari();\\n }\\n /**\\n * Check if the current browser supports the [[VideoFxProcessor]].\\n * @returns boolean representing if browser supports [[VideoFxProcessor]].\\n */\\n isVideoFxSupportedBrowser() {\\n // Not supported on safari 15 and on environments without canvas capture playback\\n return this.supportsBackgroundFilter();\\n }\\n // These helpers should be kept private to encourage\\n // feature detection instead of browser detection.\\n isIOSSafari() {\\n return (this.browser.name === 'ios' ||\\n this.browser.name === 'ios-webview' ||\\n (this.browser.name === 'safari' &&\\n /( Mac )/i.test(navigator.userAgent) &&\\n navigator.maxTouchPoints > 1) //Ipad\\n );\\n }\\n isSafari() {\\n return this.browser.name === 'safari' || this.isIOSSafari();\\n }\\n isFirefox() {\\n return this.browser.name === 'firefox';\\n }\\n isIOSFirefox() {\\n return this.browser.name === 'fxios';\\n }\\n isIOSChrome() {\\n return this.browser.name === 'crios';\\n }\\n isChrome() {\\n return this.browser.name === 'chrome';\\n }\\n isEdge() {\\n return this.browser.name === 'edge-chromium';\\n }\\n isIOSEdge() {\\n return this.browser.name === 'edge-ios';\\n }\\n isSamsungInternet() {\\n return this.browser.name === 'samsung';\\n }\\n isAndroid() {\\n return /(android)/i.test(navigator.userAgent);\\n }\\n isPixel3() {\\n return /( pixel 3)/i.test(navigator.userAgent);\\n }\\n}\\nexports[\\\"default\\\"] = DefaultBrowserBehavior;\\nDefaultBrowserBehavior.MIN_IOS_SUPPORT_CANVAS_STREAM_PLAYBACK = 16;\\nDefaultBrowserBehavior.MIN_IOS_NON_SAFARI_SUPPORT_CANVAS_STREAM_PLAYBACK = 106;\\n//# sourceMappingURL=DefaultBrowserBehavior.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReport.js\":\n/*!*****************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReport.js ***!\n \\*****************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst ClientMetricReportDirection_1 = __webpack_require__(/*! ./ClientMetricReportDirection */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportDirection.js\\\");\\nconst ClientMetricReportMediaType_1 = __webpack_require__(/*! ./ClientMetricReportMediaType */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportMediaType.js\\\");\\nconst GlobalMetricReport_1 = __webpack_require__(/*! ./GlobalMetricReport */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/GlobalMetricReport.js\\\");\\n/**\\n * [[ClientMetricReport]] gets the media metrics used by ConnectionMonitor to\\n * update connection health data.\\n */\\nclass ClientMetricReport {\\n constructor(logger, videoStreamIndex, selfAttendeeId) {\\n this.logger = logger;\\n this.videoStreamIndex = videoStreamIndex;\\n this.selfAttendeeId = selfAttendeeId;\\n this.globalMetricReport = new GlobalMetricReport_1.default();\\n this.streamMetricReports = {};\\n this.rtcStatsReport = {};\\n this.currentTimestampMs = 0;\\n this.previousTimestampMs = 0;\\n this.currentSsrcs = {};\\n this.overriddenObservableMetrics = new Map();\\n /**\\n * Metric transform functions\\n */\\n this.identityValue = (metricName, ssrc) => {\\n const metricReport = ssrc ? this.streamMetricReports[ssrc] : this.globalMetricReport;\\n return Number(metricReport.currentMetrics[metricName]);\\n };\\n this.decoderLossPercent = (metricName, ssrc) => {\\n const metricReport = this.streamMetricReports[ssrc];\\n const concealedSamples = metricReport.currentMetrics['concealedSamples'] -\\n (metricReport.previousMetrics['concealedSamples'] || 0);\\n const totalSamplesReceived = metricReport.currentMetrics['totalSamplesReceived'] -\\n (metricReport.previousMetrics['totalSamplesReceived'] || 0);\\n if (totalSamplesReceived <= 0) {\\n return 0;\\n }\\n const decoderAbnormal = totalSamplesReceived - concealedSamples;\\n if (decoderAbnormal <= 0) {\\n return 0;\\n }\\n return (concealedSamples / totalSamplesReceived) * 100;\\n };\\n this.packetLossPercent = (sourceMetricName, ssrc) => {\\n const metricReport = this.streamMetricReports[ssrc];\\n const sentOrReceived = metricReport.currentMetrics[sourceMetricName] -\\n (metricReport.previousMetrics[sourceMetricName] || 0);\\n const lost = metricReport.currentMetrics['packetsLost'] -\\n (metricReport.previousMetrics['packetsLost'] || 0);\\n const total = sentOrReceived + lost;\\n if (total <= 0 || lost <= 0) {\\n return 0;\\n }\\n return (lost * 100) / total;\\n };\\n this.jitterBufferMs = (metricName, ssrc) => {\\n const metricReport = this.streamMetricReports[ssrc];\\n const jitterBufferDelay = metricReport.currentMetrics['jitterBufferDelay'] -\\n (metricReport.previousMetrics['jitterBufferDelay'] || 0);\\n const jitterBufferEmittedCount = metricReport.currentMetrics['jitterBufferEmittedCount'] -\\n (metricReport.previousMetrics['jitterBufferEmittedCount'] || 0);\\n if (jitterBufferDelay <= 0) {\\n return 0;\\n }\\n if (jitterBufferEmittedCount <= 0) {\\n return 0;\\n }\\n return (jitterBufferDelay / jitterBufferEmittedCount) * 1000;\\n };\\n this.countPerSecond = (metricName, ssrc) => {\\n const metricReport = ssrc ? this.streamMetricReports[ssrc] : this.globalMetricReport;\\n let intervalSeconds = (this.currentTimestampMs - this.previousTimestampMs) / 1000;\\n if (intervalSeconds <= 0) {\\n return 0;\\n }\\n if (this.previousTimestampMs <= 0) {\\n intervalSeconds = 1;\\n }\\n const diff = metricReport.currentMetrics[metricName] - (metricReport.previousMetrics[metricName] || 0);\\n if (diff <= 0) {\\n return 0;\\n }\\n return Math.trunc(diff / intervalSeconds);\\n };\\n this.bitsPerSecond = (metricName, ssrc) => {\\n const metricReport = ssrc ? this.streamMetricReports[ssrc] : this.globalMetricReport;\\n let intervalSeconds = (this.currentTimestampMs - this.previousTimestampMs) / 1000;\\n if (intervalSeconds <= 0) {\\n return 0;\\n }\\n if (this.previousTimestampMs <= 0) {\\n intervalSeconds = 1;\\n }\\n const diff = (metricReport.currentMetrics[metricName] - (metricReport.previousMetrics[metricName] || 0)) *\\n 8;\\n if (diff <= 0) {\\n return 0;\\n }\\n return Math.trunc(diff / intervalSeconds);\\n };\\n this.secondsToMilliseconds = (metricName, ssrc) => {\\n const metricReport = ssrc ? this.streamMetricReports[ssrc] : this.globalMetricReport;\\n return Number(metricReport.currentMetrics[metricName] * 1000);\\n };\\n this.averageTimeSpentPerSecondInMilliseconds = (metricName, ssrc) => {\\n const metricReport = ssrc ? this.streamMetricReports[ssrc] : this.globalMetricReport;\\n let intervalSeconds = (this.currentTimestampMs - this.previousTimestampMs) / 1000;\\n if (intervalSeconds <= 0) {\\n return 0;\\n }\\n if (this.previousTimestampMs <= 0) {\\n intervalSeconds = 1;\\n }\\n const diff = metricReport.currentMetrics[metricName] - (metricReport.previousMetrics[metricName] || 0);\\n if (diff <= 0) {\\n return 0;\\n }\\n return (diff * 1000) / intervalSeconds;\\n };\\n this.isHardwareImplementation = (metricName, ssrc) => {\\n const metricReport = this.streamMetricReports[ssrc];\\n const implName = String(metricReport.currentStringMetrics[metricName]);\\n const hasHwName = implName.includes('ExternalDecoder') ||\\n implName.includes('ExternalEncoder') ||\\n implName.includes('EncodeAccelerator') ||\\n implName.includes('DecodeAccelerator');\\n const isFallback = implName.includes('fallback from');\\n return hasHwName && !isFallback ? 1 : 0;\\n };\\n /**\\n * Canonical and derived metric maps\\n */\\n this.globalMetricMap = {\\n retransmittedBytesSent: {\\n transform: this.identityValue,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_RETRANSMIT_BITRATE,\\n },\\n totalEncodedBytesTarget: {\\n transform: this.identityValue,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_TARGET_ENCODER_BITRATE,\\n },\\n totalPacketSendDelay: {\\n transform: this.identityValue,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_BUCKET_DELAY_MS,\\n },\\n packetsDiscardedOnSend: {\\n transform: this.countPerSecond,\\n type: SignalingProtocol_js_1.SdkMetric.Type.SOCKET_DISCARDED_PPS,\\n },\\n availableIncomingBitrate: {\\n transform: this.identityValue,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_AVAILABLE_RECEIVE_BANDWIDTH,\\n },\\n availableOutgoingBitrate: {\\n transform: this.identityValue,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_AVAILABLE_SEND_BANDWIDTH,\\n },\\n currentRoundTripTime: {\\n transform: this.secondsToMilliseconds,\\n type: SignalingProtocol_js_1.SdkMetric.Type.STUN_RTT_MS,\\n },\\n };\\n this.audioUpstreamMetricMap = {\\n jitter: { transform: this.secondsToMilliseconds, type: SignalingProtocol_js_1.SdkMetric.Type.RTC_MIC_JITTER_MS },\\n packetsSent: { transform: this.countPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.RTC_MIC_PPS },\\n bytesSent: { transform: this.bitsPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.RTC_MIC_BITRATE },\\n roundTripTime: { transform: this.secondsToMilliseconds, type: SignalingProtocol_js_1.SdkMetric.Type.RTC_MIC_RTT_MS },\\n packetsLost: {\\n transform: this.packetLossPercent,\\n type: SignalingProtocol_js_1.SdkMetric.Type.RTC_MIC_FRACTION_PACKET_LOST_PERCENT,\\n source: 'packetsSent',\\n },\\n };\\n this.audioDownstreamMetricMap = {\\n concealedSamples: {\\n transform: this.countPerSecond,\\n },\\n totalSamplesReceived: {\\n transform: this.countPerSecond,\\n },\\n decoderLoss: {\\n transform: this.decoderLossPercent,\\n type: SignalingProtocol_js_1.SdkMetric.Type.RTC_SPK_FRACTION_DECODER_LOSS_PERCENT,\\n },\\n packetsReceived: { transform: this.countPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.RTC_SPK_PPS },\\n packetsLost: {\\n transform: this.packetLossPercent,\\n type: SignalingProtocol_js_1.SdkMetric.Type.RTC_SPK_FRACTION_PACKET_LOST_PERCENT,\\n source: 'packetsReceived',\\n },\\n jitter: { transform: this.secondsToMilliseconds, type: SignalingProtocol_js_1.SdkMetric.Type.RTC_SPK_JITTER_MS },\\n jitterBufferDelay: {\\n transform: this.countPerSecond,\\n },\\n jitterBufferEmittedCount: {\\n transform: this.countPerSecond,\\n },\\n jitterBufferMs: {\\n transform: this.jitterBufferMs,\\n type: SignalingProtocol_js_1.SdkMetric.Type.RTC_SPK_JITTER_BUFFER_MS,\\n },\\n bytesReceived: { transform: this.bitsPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.RTC_SPK_BITRATE },\\n };\\n this.videoUpstreamMetricMap = {\\n roundTripTime: {\\n transform: this.secondsToMilliseconds,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_SENT_RTT_MS,\\n },\\n nackCount: { transform: this.countPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_NACKS_RECEIVED },\\n pliCount: { transform: this.countPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_PLIS_RECEIVED },\\n firCount: { transform: this.countPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_FIRS_RECEIVED },\\n framesPerSecond: { transform: this.identityValue, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_INPUT_FPS },\\n framesEncoded: { transform: this.countPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_ENCODE_FPS },\\n packetsSent: { transform: this.countPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_SENT_PPS },\\n packetsLost: {\\n transform: this.packetLossPercent,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_SENT_FRACTION_PACKET_LOST_PERCENT,\\n source: 'packetsSent',\\n },\\n bytesSent: { transform: this.bitsPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_SENT_BITRATE },\\n qpSum: { transform: this.countPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_SENT_QP_SUM },\\n frameHeight: { transform: this.identityValue, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_ENCODE_HEIGHT },\\n frameWidth: { transform: this.identityValue, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_ENCODE_WIDTH },\\n jitter: {\\n transform: this.secondsToMilliseconds,\\n },\\n totalEncodeTime: {\\n transform: this.averageTimeSpentPerSecondInMilliseconds,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_ENCODE_MS,\\n },\\n encoderImplementation: {\\n transform: this.isHardwareImplementation,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_ENCODER_IS_HARDWARE,\\n },\\n };\\n this.videoDownstreamMetricMap = {\\n packetsReceived: { transform: this.countPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_RECEIVED_PPS },\\n packetsLost: {\\n transform: this.packetLossPercent,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_RECEIVED_FRACTION_PACKET_LOST_PERCENT,\\n source: 'packetsReceived',\\n },\\n framesReceived: {\\n transform: this.identityValue,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_RECEIVED_FPS,\\n },\\n framesDecoded: { transform: this.countPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_DECODE_FPS },\\n nackCount: { transform: this.countPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_NACKS_SENT },\\n firCount: { transform: this.countPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_FIRS_SENT },\\n pliCount: { transform: this.countPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_PLIS_SENT },\\n bytesReceived: { transform: this.bitsPerSecond, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_RECEIVED_BITRATE },\\n jitter: {\\n transform: this.secondsToMilliseconds,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_RECEIVED_JITTER_MS,\\n },\\n jitterBufferDelay: {\\n transform: this.countPerSecond,\\n },\\n jitterBufferEmittedCount: {\\n transform: this.countPerSecond,\\n },\\n jitterBufferMs: {\\n transform: this.jitterBufferMs,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_JITTER_BUFFER_MS,\\n },\\n qpSum: {\\n transform: this.countPerSecond,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_RECEIVED_QP_SUM,\\n },\\n frameHeight: { transform: this.identityValue, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_DECODE_HEIGHT },\\n frameWidth: { transform: this.identityValue, type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_DECODE_WIDTH },\\n totalDecodeTime: {\\n transform: this.averageTimeSpentPerSecondInMilliseconds,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_DECODE_MS,\\n },\\n decoderImplementation: {\\n transform: this.isHardwareImplementation,\\n type: SignalingProtocol_js_1.SdkMetric.Type.VIDEO_DECODER_IS_HARDWARE,\\n },\\n };\\n /**\\n * Dimensions derived from metric\\n */\\n this.streamDimensionMap = {\\n encoderImplementation: SignalingProtocol_js_1.SdkStreamDimension.Type.VIDEO_ENCODER_NAME,\\n decoderImplementation: SignalingProtocol_js_1.SdkStreamDimension.Type.VIDEO_DECODER_NAME,\\n };\\n /**\\n * media Stream metrics\\n */\\n this.observableVideoMetricSpec = {\\n videoUpstreamBitrate: {\\n source: 'bytesSent',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n videoUpstreamPacketsSent: {\\n source: 'packetsSent',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n videoUpstreamPacketLossPercent: {\\n source: 'packetsLost',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n videoUpstreamFramesEncodedPerSecond: {\\n source: 'framesEncoded',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n videoUpstreamFrameHeight: {\\n source: 'frameHeight',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n videoUpstreamFrameWidth: {\\n source: 'frameWidth',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n videoUpstreamJitterMs: {\\n source: 'jitter',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n videoUpstreamRoundTripTimeMs: {\\n source: 'roundTripTime',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n videoDownstreamBitrate: {\\n source: 'bytesReceived',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.DOWNSTREAM,\\n },\\n videoDownstreamPacketLossPercent: {\\n source: 'packetsLost',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.DOWNSTREAM,\\n },\\n videoDownstreamPacketsReceived: {\\n source: 'packetsReceived',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.DOWNSTREAM,\\n },\\n videoDownstreamFramesDecodedPerSecond: {\\n source: 'framesDecoded',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.DOWNSTREAM,\\n },\\n videoDownstreamFrameHeight: {\\n source: 'frameHeight',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.DOWNSTREAM,\\n },\\n videoDownstreamFrameWidth: {\\n source: 'frameWidth',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.DOWNSTREAM,\\n },\\n videoDownstreamJitterMs: {\\n source: 'jitter',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.DOWNSTREAM,\\n },\\n videoDownstreamDelayMs: {\\n source: 'jitterBufferMs',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.DOWNSTREAM,\\n },\\n };\\n /**\\n * Observable metrics and related APIs\\n */\\n this.observableMetricSpec = {\\n audioPacketsReceived: {\\n source: 'packetsReceived',\\n media: ClientMetricReportMediaType_1.default.AUDIO,\\n dir: ClientMetricReportDirection_1.default.DOWNSTREAM,\\n },\\n audioPacketsReceivedFractionLoss: {\\n source: 'packetsLost',\\n media: ClientMetricReportMediaType_1.default.AUDIO,\\n dir: ClientMetricReportDirection_1.default.DOWNSTREAM,\\n },\\n audioDecoderLoss: {\\n source: 'decoderLoss',\\n media: ClientMetricReportMediaType_1.default.AUDIO,\\n dir: ClientMetricReportDirection_1.default.DOWNSTREAM,\\n },\\n audioPacketsSent: {\\n source: 'packetsSent',\\n media: ClientMetricReportMediaType_1.default.AUDIO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n audioPacketLossPercent: {\\n source: 'packetsLost',\\n media: ClientMetricReportMediaType_1.default.AUDIO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n audioUpstreamRoundTripTimeMs: {\\n source: 'roundTripTime',\\n media: ClientMetricReportMediaType_1.default.AUDIO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n videoUpstreamBitrate: { source: 'bytesSent', media: ClientMetricReportMediaType_1.default.VIDEO, dir: ClientMetricReportDirection_1.default.UPSTREAM },\\n videoPacketSentPerSecond: {\\n source: 'packetsSent',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n audioSpeakerDelayMs: {\\n source: 'jitterBufferMs',\\n media: ClientMetricReportMediaType_1.default.AUDIO,\\n dir: ClientMetricReportDirection_1.default.DOWNSTREAM,\\n },\\n audioUpstreamJitterMs: {\\n source: 'jitter',\\n media: ClientMetricReportMediaType_1.default.AUDIO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n audioDownstreamJitterMs: {\\n source: 'jitter',\\n media: ClientMetricReportMediaType_1.default.AUDIO,\\n dir: ClientMetricReportDirection_1.default.DOWNSTREAM,\\n },\\n nackCountReceivedPerSecond: {\\n source: 'nackCount',\\n media: ClientMetricReportMediaType_1.default.VIDEO,\\n dir: ClientMetricReportDirection_1.default.UPSTREAM,\\n },\\n availableOutgoingBitrate: { source: 'availableOutgoingBitrate' },\\n availableIncomingBitrate: { source: 'availableIncomingBitrate' },\\n currentRoundTripTimeMs: { source: 'currentRoundTripTime' },\\n };\\n }\\n getMetricMap(mediaType, direction) {\\n switch (mediaType) {\\n case ClientMetricReportMediaType_1.default.AUDIO:\\n switch (direction) {\\n case ClientMetricReportDirection_1.default.UPSTREAM:\\n return this.audioUpstreamMetricMap;\\n case ClientMetricReportDirection_1.default.DOWNSTREAM:\\n return this.audioDownstreamMetricMap;\\n }\\n case ClientMetricReportMediaType_1.default.VIDEO:\\n switch (direction) {\\n case ClientMetricReportDirection_1.default.UPSTREAM:\\n return this.videoUpstreamMetricMap;\\n case ClientMetricReportDirection_1.default.DOWNSTREAM:\\n return this.videoDownstreamMetricMap;\\n }\\n default:\\n return this.globalMetricMap;\\n }\\n }\\n getStreamDimensionMap() {\\n return this.streamDimensionMap;\\n }\\n /**\\n * Returns the value of the specific metric in observableMetricSpec.\\n */\\n getObservableMetricValue(metricName) {\\n if (this.overriddenObservableMetrics.has(metricName)) {\\n return this.overriddenObservableMetrics.get(metricName);\\n }\\n const observableMetricSpec = this.observableMetricSpec[metricName];\\n const metricMap = this.getMetricMap(observableMetricSpec.media, observableMetricSpec.dir);\\n const metricSpec = metricMap[observableMetricSpec.source];\\n const { transform, source } = metricSpec;\\n if (observableMetricSpec.hasOwnProperty('media')) {\\n for (const ssrc in this.streamMetricReports) {\\n const streamMetricReport = this.streamMetricReports[ssrc];\\n if (streamMetricReport.direction === observableMetricSpec.dir &&\\n streamMetricReport.mediaType === observableMetricSpec.media) {\\n return source\\n ? transform(source, Number(ssrc))\\n : transform(observableMetricSpec.source, Number(ssrc));\\n }\\n }\\n }\\n else {\\n return source ? transform(source) : transform(observableMetricSpec.source);\\n }\\n return 0;\\n }\\n /**\\n * Returns the value of the specific metric in observableVideoMetricSpec.\\n */\\n getObservableVideoMetricValue(metricName, ssrcNum) {\\n const observableVideoMetricSpec = this.observableVideoMetricSpec[metricName];\\n const metricMap = this.getMetricMap(observableVideoMetricSpec.media, observableVideoMetricSpec.dir);\\n const metricSpec = metricMap[observableVideoMetricSpec.source];\\n const { transform, source } = metricSpec;\\n return source\\n ? transform(source, ssrcNum)\\n : transform(observableVideoMetricSpec.source, ssrcNum);\\n }\\n /**\\n * Returns the value of metrics in observableMetricSpec.\\n */\\n getObservableMetrics() {\\n const metric = {};\\n for (const metricName in this.observableMetricSpec) {\\n metric[metricName] = this.getObservableMetricValue(metricName);\\n }\\n return metric;\\n }\\n /**\\n * Returns the value of metrics in observableVideoMetricSpec for each SSRC.\\n */\\n getObservableVideoMetrics() {\\n const videoStreamMetrics = {};\\n if (!this.videoStreamIndex || !this.selfAttendeeId) {\\n this.logger.error('Need to define VideoStreamIndex and selfAttendeeId if using getObservableVideoMetrics API');\\n return videoStreamMetrics;\\n }\\n for (const ssrc in this.streamMetricReports) {\\n if (this.streamMetricReports[ssrc].mediaType === ClientMetricReportMediaType_1.default.VIDEO) {\\n const metric = {};\\n for (const metricName in this.observableVideoMetricSpec) {\\n if (this.observableVideoMetricSpec[metricName].dir ===\\n this.streamMetricReports[ssrc].direction) {\\n const metricValue = this.getObservableVideoMetricValue(metricName, Number(ssrc));\\n if (!isNaN(metricValue)) {\\n metric[metricName] = metricValue;\\n }\\n }\\n }\\n const groupId = this.streamMetricReports[ssrc].groupId;\\n const streamId = this.streamMetricReports[ssrc].streamId;\\n let attendeeId = '';\\n /* istanbul ignore else */\\n if (this.videoStreamIndex.attendeeIdForGroupId !== undefined) {\\n attendeeId = groupId\\n ? this.videoStreamIndex.attendeeIdForGroupId(groupId)\\n : this.selfAttendeeId;\\n }\\n else {\\n // This usage may be inaccurate if server side network adaptation (SSNA) is enabled,\\n // and a simulcast sender has dropped their originally highest stream.\\n //\\n // We are ok with this given the unlikeliness of someone reimplmententing the entire\\n // audio video controller (no way otherwise to inject your own index impl.), implementing\\n // both simulcast and SSNA, but reusing this class :) .\\n attendeeId = streamId\\n ? this.videoStreamIndex.attendeeIdForStreamId(streamId)\\n : this.selfAttendeeId;\\n }\\n videoStreamMetrics[attendeeId] = videoStreamMetrics[attendeeId]\\n ? videoStreamMetrics[attendeeId]\\n : {};\\n videoStreamMetrics[attendeeId][ssrc] = metric;\\n }\\n }\\n return videoStreamMetrics;\\n }\\n /**\\n * Returns the raw RTCStatsReport from RTCPeerConnection.getStats() API.\\n */\\n getRTCStatsReport() {\\n return this.rtcStatsReport;\\n }\\n /**\\n * Clones the ClientMetricReport and returns it.\\n */\\n clone() {\\n const cloned = new ClientMetricReport(this.logger, this.videoStreamIndex, this.selfAttendeeId);\\n cloned.globalMetricReport = this.globalMetricReport;\\n cloned.streamMetricReports = this.streamMetricReports;\\n cloned.rtcStatsReport = this.rtcStatsReport;\\n cloned.currentTimestampMs = this.currentTimestampMs;\\n cloned.previousTimestampMs = this.previousTimestampMs;\\n cloned.overriddenObservableMetrics = this.overriddenObservableMetrics;\\n return cloned;\\n }\\n /**\\n * Prints out the globalMetricReport, streamMetricReports and the corresponding timestamps from the current ClientMetricReport.\\n */\\n print() {\\n const clientMetricReport = {\\n globalMetricReport: this.globalMetricReport,\\n streamMetricReports: this.streamMetricReports,\\n currentTimestampMs: this.currentTimestampMs,\\n previousTimestampMs: this.previousTimestampMs,\\n };\\n this.logger.debug(() => {\\n return `Client Metric Report: ${JSON.stringify(clientMetricReport)}`;\\n });\\n }\\n /**\\n * Removes the SSRCs that are no longer valid.\\n */\\n removeDestroyedSsrcs() {\\n for (const ssrc in this.streamMetricReports) {\\n if (!this.currentSsrcs[ssrc]) {\\n delete this.streamMetricReports[ssrc];\\n }\\n }\\n }\\n /**\\n * Overrides a specific observable metric value (e.g. with one that didn't come from the WebRTC report)\\n */\\n overrideObservableMetric(name, value) {\\n this.overriddenObservableMetrics.set(name, value);\\n }\\n}\\nexports[\\\"default\\\"] = ClientMetricReport;\\n//# sourceMappingURL=ClientMetricReport.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReport.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportDirection.js\":\n/*!**************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportDirection.js ***!\n \\**************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.ClientMetricReportDirection = void 0;\\nvar ClientMetricReportDirection;\\n(function (ClientMetricReportDirection) {\\n ClientMetricReportDirection[ClientMetricReportDirection[\\\"UPSTREAM\\\"] = 0] = \\\"UPSTREAM\\\";\\n ClientMetricReportDirection[ClientMetricReportDirection[\\\"DOWNSTREAM\\\"] = 1] = \\\"DOWNSTREAM\\\";\\n})(ClientMetricReportDirection = exports.ClientMetricReportDirection || (exports.ClientMetricReportDirection = {}));\\nexports[\\\"default\\\"] = ClientMetricReportDirection;\\n//# sourceMappingURL=ClientMetricReportDirection.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportDirection.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportMediaType.js\":\n/*!**************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportMediaType.js ***!\n \\**************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.ClientMetricReportMediaType = void 0;\\nvar ClientMetricReportMediaType;\\n(function (ClientMetricReportMediaType) {\\n ClientMetricReportMediaType[ClientMetricReportMediaType[\\\"AUDIO\\\"] = 0] = \\\"AUDIO\\\";\\n ClientMetricReportMediaType[ClientMetricReportMediaType[\\\"VIDEO\\\"] = 1] = \\\"VIDEO\\\";\\n})(ClientMetricReportMediaType = exports.ClientMetricReportMediaType || (exports.ClientMetricReportMediaType = {}));\\nexports[\\\"default\\\"] = ClientMetricReportMediaType;\\n//# sourceMappingURL=ClientMetricReportMediaType.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportMediaType.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientVideoStreamReceivingReport.js\":\n/*!*******************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientVideoStreamReceivingReport.js ***!\n \\*******************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass ClientVideoStreamReceivingReport {\\n}\\nexports[\\\"default\\\"] = ClientVideoStreamReceivingReport;\\n//# sourceMappingURL=ClientVideoStreamReceivingReport.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientVideoStreamReceivingReport.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/GlobalMetricReport.js\":\n/*!*****************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/clientmetricreport/GlobalMetricReport.js ***!\n \\*****************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass GlobalMetricReport {\\n constructor() {\\n this.previousMetrics = {};\\n this.currentMetrics = {};\\n // As metric values do not necessarily be number, this is a workaround in case metric value is string\\n this.currentStringMetrics = {};\\n }\\n}\\nexports[\\\"default\\\"] = GlobalMetricReport;\\n//# sourceMappingURL=GlobalMetricReport.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/clientmetricreport/GlobalMetricReport.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/StreamMetricReport.js\":\n/*!*****************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/clientmetricreport/StreamMetricReport.js ***!\n \\*****************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass StreamMetricReport {\\n constructor() {\\n this.previousMetrics = {};\\n this.currentMetrics = {};\\n // As metric values do not necessarily be number, this is a workaround in case metric value is string\\n this.currentStringMetrics = {};\\n }\\n}\\nexports[\\\"default\\\"] = StreamMetricReport;\\n//# sourceMappingURL=StreamMetricReport.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/clientmetricreport/StreamMetricReport.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/BaseConnectionHealthPolicy.js\":\n/*!*****************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/BaseConnectionHealthPolicy.js ***!\n \\*****************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass BaseConnectionHealthPolicy {\\n constructor(configuration, data, name) {\\n this.minHealth = configuration.minHealth;\\n this.maxHealth = configuration.maxHealth;\\n this.currentHealth = configuration.initialHealth;\\n this.currentData = data.clone();\\n this.name = name;\\n }\\n minimumHealth() {\\n return this.minHealth;\\n }\\n maximumHealth() {\\n return this.maxHealth;\\n }\\n health() {\\n return this.maximumHealth();\\n }\\n update(connectionHealthData) {\\n this.currentData = connectionHealthData;\\n }\\n getConnectionHealthData() {\\n return this.currentData.clone();\\n }\\n healthy() {\\n return this.health() > this.minimumHealth();\\n }\\n healthIfChanged() {\\n const newHealth = this.health();\\n if (newHealth !== this.currentHealth) {\\n this.currentHealth = newHealth;\\n return newHealth;\\n }\\n return null;\\n }\\n}\\nexports[\\\"default\\\"] = BaseConnectionHealthPolicy;\\n//# sourceMappingURL=BaseConnectionHealthPolicy.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/BaseConnectionHealthPolicy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ConnectionHealthData.js\":\n/*!***********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ConnectionHealthData.js ***!\n \\***********************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass ConnectionHealthData {\\n constructor() {\\n this.connectionStartTimestampMs = 0;\\n this.consecutiveStatsWithNoPackets = 0;\\n this.consecutiveStatsWithNoAudioPacketsSent = 0;\\n this.lastPacketLossInboundTimestampMs = 0;\\n this.lastGoodSignalTimestampMs = 0;\\n this.lastWeakSignalTimestampMs = 0;\\n this.lastNoSignalTimestampMs = 0;\\n this.consecutiveMissedPongs = 0;\\n this.packetsReceivedInLastMinute = [];\\n this.fractionPacketsLostInboundInLastMinute = [];\\n this.audioSpeakerDelayMs = 0;\\n this.connectionStartTimestampMs = Date.now();\\n this.lastGoodSignalTimestampMs = Date.now();\\n }\\n static isTimestampRecent(timestampMs, recentDurationMs) {\\n return Date.now() < timestampMs + recentDurationMs;\\n }\\n setConnectionStartTime() {\\n this.connectionStartTimestampMs = Date.now();\\n this.lastGoodSignalTimestampMs = Date.now();\\n }\\n reset() {\\n this.connectionStartTimestampMs = 0;\\n this.consecutiveStatsWithNoPackets = 0;\\n this.consecutiveStatsWithNoAudioPacketsSent = 0;\\n this.lastPacketLossInboundTimestampMs = 0;\\n this.lastGoodSignalTimestampMs = 0;\\n this.lastWeakSignalTimestampMs = 0;\\n this.lastNoSignalTimestampMs = 0;\\n this.consecutiveMissedPongs = 0;\\n this.packetsReceivedInLastMinute = [];\\n this.fractionPacketsLostInboundInLastMinute = [];\\n this.audioSpeakerDelayMs = 0;\\n this.connectionStartTimestampMs = Date.now();\\n this.lastGoodSignalTimestampMs = Date.now();\\n }\\n isConnectionStartRecent(recentDurationMs) {\\n return ConnectionHealthData.isTimestampRecent(this.connectionStartTimestampMs, recentDurationMs);\\n }\\n isLastPacketLossRecent(recentDurationMs) {\\n return ConnectionHealthData.isTimestampRecent(this.lastPacketLossInboundTimestampMs, recentDurationMs);\\n }\\n isGoodSignalRecent(recentDurationMs) {\\n return ConnectionHealthData.isTimestampRecent(this.lastGoodSignalTimestampMs, recentDurationMs);\\n }\\n isWeakSignalRecent(recentDurationMs) {\\n return ConnectionHealthData.isTimestampRecent(this.lastWeakSignalTimestampMs, recentDurationMs);\\n }\\n isNoSignalRecent(recentDurationMs) {\\n return ConnectionHealthData.isTimestampRecent(this.lastNoSignalTimestampMs, recentDurationMs);\\n }\\n clone() {\\n const cloned = new ConnectionHealthData();\\n cloned.connectionStartTimestampMs = this.connectionStartTimestampMs;\\n cloned.consecutiveStatsWithNoPackets = this.consecutiveStatsWithNoPackets;\\n cloned.consecutiveStatsWithNoAudioPacketsSent = this.consecutiveStatsWithNoAudioPacketsSent;\\n cloned.lastPacketLossInboundTimestampMs = this.lastPacketLossInboundTimestampMs;\\n cloned.lastGoodSignalTimestampMs = this.lastGoodSignalTimestampMs;\\n cloned.lastWeakSignalTimestampMs = this.lastWeakSignalTimestampMs;\\n cloned.lastNoSignalTimestampMs = this.lastNoSignalTimestampMs;\\n cloned.consecutiveMissedPongs = this.consecutiveMissedPongs;\\n cloned.packetsReceivedInLastMinute = this.packetsReceivedInLastMinute.slice(0);\\n cloned.fractionPacketsLostInboundInLastMinute = this.fractionPacketsLostInboundInLastMinute.slice(0);\\n cloned.audioSpeakerDelayMs = this.audioSpeakerDelayMs;\\n return cloned;\\n }\\n setConsecutiveMissedPongs(pongs) {\\n this.consecutiveMissedPongs = pongs;\\n }\\n setConsecutiveStatsWithNoPackets(stats) {\\n this.consecutiveStatsWithNoPackets = stats;\\n }\\n setConsecutiveStatsWithNoAudioPacketsSent(stats) {\\n this.consecutiveStatsWithNoAudioPacketsSent = stats;\\n }\\n setLastPacketLossInboundTimestampMs(timeStamp) {\\n this.lastPacketLossInboundTimestampMs = timeStamp;\\n }\\n setLastNoSignalTimestampMs(timeStamp) {\\n this.lastNoSignalTimestampMs = timeStamp;\\n }\\n setLastWeakSignalTimestampMs(timeStamp) {\\n this.lastWeakSignalTimestampMs = timeStamp;\\n }\\n setLastGoodSignalTimestampMs(timeStamp) {\\n this.lastGoodSignalTimestampMs = timeStamp;\\n }\\n setAudioSpeakerDelayMs(delayMs) {\\n this.audioSpeakerDelayMs = delayMs;\\n }\\n}\\nexports[\\\"default\\\"] = ConnectionHealthData;\\n//# sourceMappingURL=ConnectionHealthData.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ConnectionHealthData.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ConnectionHealthPolicyConfiguration.js\":\n/*!**************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ConnectionHealthPolicyConfiguration.js ***!\n \\**************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass ConnectionHealthPolicyConfiguration {\\n constructor() {\\n this.minHealth = 0;\\n this.maxHealth = 1;\\n this.initialHealth = 1;\\n this.connectionUnhealthyThreshold = 25;\\n this.noSignalThresholdTimeMs = 10000;\\n this.connectionWaitTimeMs = 10000;\\n this.zeroBarsNoSignalTimeMs = 5000;\\n this.oneBarWeakSignalTimeMs = 5000;\\n this.twoBarsTimeMs = 5000;\\n this.threeBarsTimeMs = 10000;\\n this.fourBarsTimeMs = 20000;\\n this.fiveBarsTimeMs = 60000;\\n this.cooldownTimeMs = 60000;\\n this.pastSamplesToConsider = 15;\\n this.goodSignalTimeMs = 15000;\\n this.fractionalLoss = 0.5;\\n this.packetsExpected = 50;\\n this.maximumTimesToWarn = 2;\\n this.missedPongsLowerThreshold = 1;\\n this.missedPongsUpperThreshold = 4;\\n this.maximumAudioDelayMs = 60000;\\n this.maximumAudioDelayDataPoints = 10;\\n /**\\n * The number of samples required to consider sending-audio to be unhealthy\\n *\\n * The default value is derived from the median for time taken for receiving an attendee presence message from the\\n * server after joining. Attendee presence is only received when the client sends audio packets to the server, so\\n * this metric is used as a proxy.\\n */\\n this.sendingAudioFailureSamplesToConsider = 2;\\n /**\\n * The purpose of this field is to add a wait time/delay to our evaluation of sending audio health\\n * as the microphone may sometimes cause a delay in sending audio packets during the initial stages of a connection.\\n */\\n this.sendingAudioFailureInitialWaitTimeMs = 3000;\\n }\\n}\\nexports[\\\"default\\\"] = ConnectionHealthPolicyConfiguration;\\n//# sourceMappingURL=ConnectionHealthPolicyConfiguration.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ConnectionHealthPolicyConfiguration.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ReconnectionHealthPolicy.js\":\n/*!***************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ReconnectionHealthPolicy.js ***!\n \\***************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BaseConnectionHealthPolicy_1 = __webpack_require__(/*! ./BaseConnectionHealthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/BaseConnectionHealthPolicy.js\\\");\\nclass ReconnectionHealthPolicy extends BaseConnectionHealthPolicy_1.default {\\n constructor(logger, configuration, data) {\\n super(configuration, data, 'Reconnection Health');\\n this.logger = logger;\\n this.audioDelayPointsOverMaximum = 0;\\n ReconnectionHealthPolicy.CONNECTION_UNHEALTHY_THRESHOLD =\\n configuration.connectionUnhealthyThreshold;\\n ReconnectionHealthPolicy.CONNECTION_WAIT_TIME_MS = configuration.connectionWaitTimeMs;\\n ReconnectionHealthPolicy.MISSED_PONGS_THRESHOLD = configuration.missedPongsUpperThreshold;\\n ReconnectionHealthPolicy.MAXIMUM_AUDIO_DELAY_MS = configuration.maximumAudioDelayMs;\\n ReconnectionHealthPolicy.MAXIMUM_AUDIO_DELAY_DATA_POINTS =\\n configuration.maximumAudioDelayDataPoints;\\n }\\n health() {\\n const connectionStartedRecently = this.currentData.isConnectionStartRecent(ReconnectionHealthPolicy.CONNECTION_WAIT_TIME_MS);\\n if (connectionStartedRecently) {\\n return 1;\\n }\\n const noPacketsReceivedRecently = this.currentData.consecutiveStatsWithNoPackets >=\\n ReconnectionHealthPolicy.CONNECTION_UNHEALTHY_THRESHOLD;\\n const missedPongsRecently = this.currentData.consecutiveMissedPongs >= ReconnectionHealthPolicy.MISSED_PONGS_THRESHOLD;\\n if (this.currentData.audioSpeakerDelayMs > ReconnectionHealthPolicy.MAXIMUM_AUDIO_DELAY_MS) {\\n this.audioDelayPointsOverMaximum += 1;\\n }\\n else {\\n this.audioDelayPointsOverMaximum = 0;\\n }\\n const hasBadAudioDelay = this.audioDelayPointsOverMaximum > ReconnectionHealthPolicy.MAXIMUM_AUDIO_DELAY_DATA_POINTS;\\n if (hasBadAudioDelay) {\\n this.audioDelayPointsOverMaximum = 0;\\n }\\n const needsReconnect = noPacketsReceivedRecently || missedPongsRecently || hasBadAudioDelay;\\n if (needsReconnect) {\\n this.logger.warn(`reconnection recommended due to: no packets received: ${noPacketsReceivedRecently}, missed pongs: ${missedPongsRecently}, bad audio delay: ${hasBadAudioDelay}`);\\n return 0;\\n }\\n return 1;\\n }\\n}\\nexports[\\\"default\\\"] = ReconnectionHealthPolicy;\\n//# sourceMappingURL=ReconnectionHealthPolicy.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ReconnectionHealthPolicy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/SendingAudioFailureConnectionHealthPolicy.js\":\n/*!********************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/SendingAudioFailureConnectionHealthPolicy.js ***!\n \\********************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BaseConnectionHealthPolicy_1 = __webpack_require__(/*! ./BaseConnectionHealthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/BaseConnectionHealthPolicy.js\\\");\\nclass SendingAudioFailureConnectionHealthPolicy extends BaseConnectionHealthPolicy_1.default {\\n constructor(logger, configuration, data) {\\n super(configuration, data, 'Sending Audio Health');\\n this.logger = logger;\\n this.sendingAudioFailureSamplesToConsider =\\n configuration.sendingAudioFailureSamplesToConsider > 0\\n ? configuration.sendingAudioFailureSamplesToConsider\\n : 1;\\n this.sendingAudioFailureInitialWaitTimeMs = configuration.sendingAudioFailureInitialWaitTimeMs;\\n this.maximumTimesToWarn = configuration.maximumTimesToWarn;\\n this.coolDownTimeMs = configuration.cooldownTimeMs;\\n this.lastWarnTimestampMs = 0;\\n this.warnCount = 0;\\n }\\n isSendingAudioUnhealthy() {\\n const hasEnoughTimeElapsedToEvaluateStatus = !this.currentData.isConnectionStartRecent(this.sendingAudioFailureInitialWaitTimeMs);\\n const areAudioPacketsNotBeingSent = this.currentData.consecutiveStatsWithNoAudioPacketsSent >=\\n this.sendingAudioFailureSamplesToConsider;\\n return hasEnoughTimeElapsedToEvaluateStatus && areAudioPacketsNotBeingSent;\\n }\\n health() {\\n if (this.isSendingAudioUnhealthy()) {\\n const didWarnRecently = Date.now() - this.lastWarnTimestampMs < this.coolDownTimeMs;\\n if (this.currentHealth > this.minimumHealth() && !didWarnRecently) {\\n this.logger.warn(`Sending Audio is unhealthy for ${this.sendingAudioFailureSamplesToConsider} seconds consecutively.`);\\n this.warnCount++;\\n if (this.warnCount > this.maximumTimesToWarn) {\\n this.logger.warn('SendingAudioFailure health policy maximum warnings breached. Falling back to reporting healthy.');\\n return this.maximumHealth();\\n }\\n this.lastWarnTimestampMs = Date.now();\\n return this.minimumHealth();\\n }\\n else {\\n return this.currentHealth;\\n }\\n }\\n return this.maximumHealth();\\n }\\n}\\nexports[\\\"default\\\"] = SendingAudioFailureConnectionHealthPolicy;\\n//# sourceMappingURL=SendingAudioFailureConnectionHealthPolicy.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/SendingAudioFailureConnectionHealthPolicy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/UnusableAudioWarningConnectionHealthPolicy.js\":\n/*!*********************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/UnusableAudioWarningConnectionHealthPolicy.js ***!\n \\*********************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BaseConnectionHealthPolicy_1 = __webpack_require__(/*! ./BaseConnectionHealthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/BaseConnectionHealthPolicy.js\\\");\\nclass UnusableAudioWarningConnectionHealthPolicy extends BaseConnectionHealthPolicy_1.default {\\n constructor(configuration, data) {\\n super(configuration, data, 'Unusable Audio Warning');\\n this.coolDownTimeMs = configuration.cooldownTimeMs;\\n this.pastSamplesToConsider = configuration.pastSamplesToConsider;\\n this.fractionalLoss = configuration.fractionalLoss;\\n this.packetsExpected = configuration.packetsExpected;\\n this.maximumTimesToWarn = configuration.maximumTimesToWarn;\\n this.lastWarnTimestampMs = 0;\\n this.warnCount = 0;\\n }\\n calculateFractionalLoss() {\\n if (this.currentData.packetsReceivedInLastMinute.length < this.pastSamplesToConsider) {\\n return 0;\\n }\\n const samplesToConsider = this.pastSamplesToConsider;\\n const totalPacketsExpected = samplesToConsider * this.packetsExpected;\\n let totalPacketsReceived = 0;\\n for (let i = 0; i < samplesToConsider; i++) {\\n totalPacketsReceived += this.currentData.packetsReceivedInLastMinute[i];\\n }\\n return Math.min(Math.max(1 - totalPacketsReceived / totalPacketsExpected, 0), 1);\\n }\\n health() {\\n const warnedRecently = Date.now() - this.lastWarnTimestampMs < this.coolDownTimeMs;\\n if (warnedRecently) {\\n return this.currentHealth;\\n }\\n const hasHadHighPacketLoss = this.calculateFractionalLoss() >= this.fractionalLoss;\\n if (hasHadHighPacketLoss) {\\n if (this.currentHealth !== 0) {\\n this.lastWarnTimestampMs = Date.now();\\n this.warnCount++;\\n if (this.warnCount > this.maximumTimesToWarn) {\\n return 1;\\n }\\n }\\n return 0;\\n }\\n return 1;\\n }\\n}\\nexports[\\\"default\\\"] = UnusableAudioWarningConnectionHealthPolicy;\\n//# sourceMappingURL=UnusableAudioWarningConnectionHealthPolicy.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/UnusableAudioWarningConnectionHealthPolicy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/connectionmonitor/SignalingAndMetricsConnectionMonitor.js\":\n/*!**********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/connectionmonitor/SignalingAndMetricsConnectionMonitor.js ***!\n \\**********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst Types_1 = __webpack_require__(/*! ../utils/Types */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Types.js\\\");\\nclass SignalingAndMetricsConnectionMonitor {\\n constructor(audioVideoController, realtimeController, connectionHealthData, pingPong, statsCollector) {\\n this.audioVideoController = audioVideoController;\\n this.realtimeController = realtimeController;\\n this.connectionHealthData = connectionHealthData;\\n this.pingPong = pingPong;\\n this.statsCollector = statsCollector;\\n this.isActive = false;\\n this.hasSeenValidPacketMetricsBefore = false;\\n this.realtimeController.realtimeSubscribeToLocalSignalStrengthChange((signalStrength) => {\\n if (this.isActive) {\\n this.receiveSignalStrengthChange(signalStrength);\\n }\\n });\\n }\\n start() {\\n this.isActive = true;\\n this.pingPong.addObserver(this);\\n this.pingPong.start();\\n this.audioVideoController.addObserver(this);\\n }\\n stop() {\\n this.isActive = false;\\n this.pingPong.removeObserver(this);\\n this.pingPong.stop();\\n this.audioVideoController.removeObserver(this);\\n }\\n receiveSignalStrengthChange(signalStrength) {\\n if (signalStrength === 0) {\\n this.connectionHealthData.setLastNoSignalTimestampMs(Date.now());\\n }\\n else if (signalStrength <= 0.5) {\\n this.connectionHealthData.setLastWeakSignalTimestampMs(Date.now());\\n }\\n else {\\n this.connectionHealthData.setLastGoodSignalTimestampMs(Date.now());\\n }\\n this.updateConnectionHealth();\\n }\\n didReceivePong(_id, latencyMs, clockSkewMs) {\\n this.connectionHealthData.setConsecutiveMissedPongs(0);\\n this.statsCollector.logLatency('ping_pong', latencyMs);\\n this.statsCollector.logLatency('ping_pong_clock_skew', clockSkewMs);\\n this.updateConnectionHealth();\\n }\\n didMissPongs() {\\n this.connectionHealthData.setConsecutiveMissedPongs(this.connectionHealthData.consecutiveMissedPongs + 1);\\n this.updateConnectionHealth();\\n }\\n metricsDidReceive(clientMetricReport) {\\n let packetsReceived = 0;\\n let fractionPacketsLostInbound = 0;\\n const metricReport = clientMetricReport.getObservableMetrics();\\n const potentialPacketsReceived = metricReport.audioPacketsReceived;\\n const potentialFractionPacketsLostInbound = metricReport.audioPacketsReceivedFractionLoss;\\n const audioSpeakerDelayMs = metricReport.audioSpeakerDelayMs;\\n // Firefox does not presently have aggregated bandwidth estimation\\n if (typeof audioSpeakerDelayMs === 'number' && !isNaN(audioSpeakerDelayMs)) {\\n this.connectionHealthData.setAudioSpeakerDelayMs(audioSpeakerDelayMs);\\n }\\n if (typeof potentialPacketsReceived === 'number' &&\\n typeof potentialFractionPacketsLostInbound === 'number') {\\n packetsReceived = potentialPacketsReceived;\\n fractionPacketsLostInbound = potentialFractionPacketsLostInbound;\\n if (packetsReceived < 0 || fractionPacketsLostInbound < 0) {\\n // TODO: getting negative numbers on this metric after reconnect sometimes\\n // For now, just skip the metric if it looks weird.\\n return;\\n }\\n }\\n else {\\n return;\\n }\\n this.addToMinuteWindow(this.connectionHealthData.packetsReceivedInLastMinute, packetsReceived);\\n this.addToMinuteWindow(this.connectionHealthData.fractionPacketsLostInboundInLastMinute, fractionPacketsLostInbound);\\n if (packetsReceived > 0) {\\n this.hasSeenValidPacketMetricsBefore = true;\\n this.connectionHealthData.setConsecutiveStatsWithNoPackets(0);\\n }\\n else if (this.hasSeenValidPacketMetricsBefore) {\\n this.connectionHealthData.setConsecutiveStatsWithNoPackets(this.connectionHealthData.consecutiveStatsWithNoPackets + 1);\\n }\\n if (packetsReceived === 0 || fractionPacketsLostInbound > 0) {\\n this.connectionHealthData.setLastPacketLossInboundTimestampMs(Date.now());\\n }\\n if (typeof metricReport.audioPacketsSent === 'number') {\\n this.updateAudioPacketsSentInConnectionHealth(metricReport.audioPacketsSent);\\n }\\n this.updateConnectionHealth();\\n }\\n updateAudioPacketsSentInConnectionHealth(audioPacketsSent) {\\n if (audioPacketsSent > 0) {\\n this.connectionHealthData.setConsecutiveStatsWithNoAudioPacketsSent(0);\\n }\\n else {\\n this.connectionHealthData.setConsecutiveStatsWithNoAudioPacketsSent(this.connectionHealthData.consecutiveStatsWithNoAudioPacketsSent + 1);\\n }\\n }\\n addToMinuteWindow(array, value) {\\n array.unshift(value);\\n if (array.length > 60) {\\n array.pop();\\n }\\n }\\n updateConnectionHealth() {\\n this.audioVideoController.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.connectionHealthDidChange).map(f => f.bind(observer)(this.connectionHealthData.clone()));\\n });\\n }\\n}\\nexports[\\\"default\\\"] = SignalingAndMetricsConnectionMonitor;\\n//# sourceMappingURL=SignalingAndMetricsConnectionMonitor.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/connectionmonitor/SignalingAndMetricsConnectionMonitor.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/ContentShareConstants.js\":\n/*!************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/ContentShareConstants.js ***!\n \\************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nvar ContentShareConstants;\\n(function (ContentShareConstants) {\\n ContentShareConstants[\\\"Modality\\\"] = \\\"#content\\\";\\n})(ContentShareConstants || (ContentShareConstants = {}));\\nexports[\\\"default\\\"] = ContentShareConstants;\\n//# sourceMappingURL=ContentShareConstants.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/ContentShareConstants.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/ContentShareMediaStreamBroker.js\":\n/*!********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/ContentShareMediaStreamBroker.js ***!\n \\********************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nconst DefaultDeviceController_1 = __webpack_require__(/*! ../devicecontroller/DefaultDeviceController */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/DefaultDeviceController.js\\\");\\nclass ContentShareMediaStreamBroker {\\n constructor(logger) {\\n this.logger = logger;\\n }\\n get mediaStream() {\\n return this._mediaStream;\\n }\\n set mediaStream(mediaStream) {\\n this._mediaStream = mediaStream;\\n }\\n acquireAudioInputStream() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this._mediaStream.getAudioTracks().length === 0) {\\n this.logger.info('No audio stream available. Synthesizing an audio stream.');\\n return DefaultDeviceController_1.default.synthesizeAudioDevice(0);\\n }\\n return this._mediaStream;\\n });\\n }\\n acquireVideoInputStream() {\\n return __awaiter(this, void 0, void 0, function* () {\\n return this._mediaStream;\\n });\\n }\\n acquireDisplayInputStream(streamConstraints) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (streamConstraints &&\\n streamConstraints.video &&\\n // @ts-ignore\\n streamConstraints.video.mandatory &&\\n // @ts-ignore\\n streamConstraints.video.mandatory.chromeMediaSource &&\\n // @ts-ignore\\n streamConstraints.video.mandatory.chromeMediaSourceId) {\\n return navigator.mediaDevices.getUserMedia(streamConstraints);\\n }\\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/31821\\n return navigator.mediaDevices.getDisplayMedia(streamConstraints);\\n });\\n }\\n acquireScreenCaptureDisplayInputStream(sourceId, frameRate) {\\n return __awaiter(this, void 0, void 0, function* () {\\n return this.acquireDisplayInputStream(this.screenCaptureDisplayMediaConstraints(sourceId, frameRate));\\n });\\n }\\n screenCaptureDisplayMediaConstraints(sourceId, frameRate) {\\n return {\\n audio: !sourceId && new DefaultBrowserBehavior_1.default().getDisplayMediaAudioCaptureSupport()\\n ? true\\n : false,\\n video: Object.assign(Object.assign({}, (!sourceId && {\\n frameRate: {\\n max: frameRate ? frameRate : ContentShareMediaStreamBroker.defaultFrameRate,\\n },\\n })), (sourceId && {\\n mandatory: {\\n chromeMediaSource: 'desktop',\\n chromeMediaSourceId: sourceId,\\n maxFrameRate: frameRate ? frameRate : ContentShareMediaStreamBroker.defaultFrameRate,\\n },\\n })),\\n };\\n }\\n toggleMediaStream(enable) {\\n let changed = false;\\n if (this.mediaStream) {\\n for (let i = 0; i < this.mediaStream.getTracks().length; i++) {\\n if (this.mediaStream.getTracks()[i].enabled !== enable) {\\n this.mediaStream.getTracks()[i].enabled = enable;\\n changed = true;\\n }\\n }\\n }\\n return changed;\\n }\\n cleanup() {\\n if (this.mediaStream) {\\n for (let i = 0; i < this.mediaStream.getTracks().length; i++) {\\n const track = this.mediaStream.getTracks()[i];\\n track.stop();\\n }\\n }\\n this.mediaStream = null;\\n }\\n muteLocalAudioInputStream() {\\n throw new Error('unsupported');\\n }\\n unmuteLocalAudioInputStream() {\\n throw new Error('unsupported');\\n }\\n addMediaStreamBrokerObserver(_observer) { }\\n removeMediaStreamBrokerObserver(_observer) { }\\n}\\nexports[\\\"default\\\"] = ContentShareMediaStreamBroker;\\nContentShareMediaStreamBroker.defaultFrameRate = 15;\\n//# sourceMappingURL=ContentShareMediaStreamBroker.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/ContentShareMediaStreamBroker.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/DefaultContentShareController.js\":\n/*!********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/DefaultContentShareController.js ***!\n \\********************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst MeetingSessionConfiguration_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionConfiguration.js\\\");\\nconst MeetingSessionCredentials_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionCredentials */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionCredentials.js\\\");\\nconst DefaultModality_1 = __webpack_require__(/*! ../modality/DefaultModality */ \\\"./node_modules/amazon-chime-sdk-js/build/modality/DefaultModality.js\\\");\\nconst AsyncScheduler_1 = __webpack_require__(/*! ../scheduler/AsyncScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/AsyncScheduler.js\\\");\\nconst Types_1 = __webpack_require__(/*! ../utils/Types */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Types.js\\\");\\nconst DefaultSimulcastUplinkPolicyForContentShare_1 = __webpack_require__(/*! ../videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicyForContentShare */ \\\"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicyForContentShare.js\\\");\\nconst ContentShareConstants_1 = __webpack_require__(/*! ./ContentShareConstants */ \\\"./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/ContentShareConstants.js\\\");\\nclass DefaultContentShareController {\\n constructor(mediaStreamBroker, contentAudioVideo, attendeeAudioVideo) {\\n this.mediaStreamBroker = mediaStreamBroker;\\n this.contentAudioVideo = contentAudioVideo;\\n this.attendeeAudioVideo = attendeeAudioVideo;\\n this.observerQueue = new Set();\\n this.destroyed = false;\\n this.contentAudioVideo.addObserver(this);\\n this.setupContentShareEvents();\\n }\\n static createContentShareMeetingSessionConfigure(configuration) {\\n const contentShareConfiguration = new MeetingSessionConfiguration_1.default();\\n contentShareConfiguration.meetingId = configuration.meetingId;\\n contentShareConfiguration.externalMeetingId = configuration.externalMeetingId;\\n contentShareConfiguration.urls = configuration.urls;\\n contentShareConfiguration.disablePeriodicKeyframeRequestOnContentSender =\\n configuration.disablePeriodicKeyframeRequestOnContentSender;\\n contentShareConfiguration.credentials = new MeetingSessionCredentials_1.default();\\n contentShareConfiguration.credentials.attendeeId =\\n configuration.credentials.attendeeId + ContentShareConstants_1.default.Modality;\\n contentShareConfiguration.credentials.externalUserId = configuration.credentials.externalUserId;\\n contentShareConfiguration.credentials.joinToken =\\n configuration.credentials.joinToken + ContentShareConstants_1.default.Modality;\\n return contentShareConfiguration;\\n }\\n setContentAudioProfile(audioProfile) {\\n this.contentAudioVideo.setAudioProfile(audioProfile);\\n }\\n enableSimulcastForContentShare(enable, encodingParams) {\\n if (enable) {\\n this.contentAudioVideo.configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers = true;\\n this.contentAudioVideo.configuration.videoUplinkBandwidthPolicy = new DefaultSimulcastUplinkPolicyForContentShare_1.default(this.contentAudioVideo.logger, encodingParams);\\n }\\n else {\\n this.contentAudioVideo.configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers = false;\\n this.contentAudioVideo.configuration.videoUplinkBandwidthPolicy = undefined;\\n }\\n }\\n startContentShare(stream) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!stream) {\\n return;\\n }\\n this.mediaStreamBroker.mediaStream = stream;\\n for (let i = 0; i < this.mediaStreamBroker.mediaStream.getTracks().length; i++) {\\n this.mediaStreamBroker.mediaStream.getTracks()[i].addEventListener('ended', () => {\\n this.stopContentShare();\\n });\\n }\\n this.contentAudioVideo.start();\\n });\\n }\\n startContentShareFromScreenCapture(sourceId, frameRate) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const mediaStream = yield this.mediaStreamBroker.acquireScreenCaptureDisplayInputStream(sourceId, frameRate);\\n yield this.startContentShare(mediaStream);\\n return mediaStream;\\n });\\n }\\n pauseContentShare() {\\n if (this.mediaStreamBroker.toggleMediaStream(false)) {\\n this.forEachContentShareObserver(observer => {\\n Types_1.Maybe.of(observer.contentShareDidPause).map(f => f.call(observer));\\n });\\n }\\n }\\n unpauseContentShare() {\\n if (this.mediaStreamBroker.toggleMediaStream(true)) {\\n this.forEachContentShareObserver(observer => {\\n Types_1.Maybe.of(observer.contentShareDidUnpause).map(f => f.call(observer));\\n });\\n }\\n }\\n setContentShareVideoCodecPreferences(preferences) {\\n this.contentAudioVideo.setVideoCodecSendPreferences(preferences);\\n }\\n destroy() {\\n return __awaiter(this, void 0, void 0, function* () {\\n // Idempotency.\\n /* istanbul ignore if */\\n if (!this.contentAudioVideo) {\\n return;\\n }\\n this.destroyed = true;\\n this.contentAudioVideo.removeObserver(this);\\n this.stopContentShare();\\n this.observerQueue.clear();\\n this.contentAudioVideo = undefined;\\n this.attendeeAudioVideo = undefined;\\n this.mediaStreamBroker = undefined;\\n });\\n }\\n stopContentShare() {\\n this.contentAudioVideo.stop();\\n this.mediaStreamBroker.cleanup();\\n }\\n addContentShareObserver(observer) {\\n this.observerQueue.add(observer);\\n }\\n removeContentShareObserver(observer) {\\n this.observerQueue.delete(observer);\\n }\\n forEachContentShareObserver(observerFunc) {\\n for (const observer of this.observerQueue) {\\n AsyncScheduler_1.default.nextTick(() => {\\n if (this.observerQueue.has(observer)) {\\n observerFunc(observer);\\n }\\n });\\n }\\n }\\n audioVideoDidStart() {\\n if (this.mediaStreamBroker.mediaStream.getVideoTracks().length > 0) {\\n this.contentAudioVideo.videoTileController.startLocalVideoTile();\\n }\\n }\\n audioVideoDidStop(_sessionStatus) {\\n // If the content attendee got dropped or could not connect, stopContentShare will not be called\\n // so make sure to clean up the media stream.\\n this.mediaStreamBroker.cleanup();\\n if (this.contentShareTile) {\\n this.attendeeAudioVideo.videoTileController.removeVideoTile(this.contentShareTile.id());\\n this.contentShareTile = null;\\n }\\n this.forEachContentShareObserver(observer => {\\n Types_1.Maybe.of(observer.contentShareDidStop).map(f => f.call(observer));\\n });\\n }\\n setupContentShareEvents() {\\n // We use realtimeSubscribeToAttendeeIdPresence instead of audioVideoDidStart because audioVideoDidStart fires\\n // before the capacity check in Tincan while when realtimeSubscribeToAttendeeIdPresence fires, we know the\\n // content attendee has been able to pass the capacity check and join the call so we can start the local\\n // content share video\\n this.attendeeAudioVideo.realtimeController.realtimeSubscribeToAttendeeIdPresence((attendeeId, present, _externalUserId, _dropped) => {\\n const isContentAttendee = new DefaultModality_1.default(attendeeId).hasModality(DefaultModality_1.default.MODALITY_CONTENT);\\n const isSelfAttendee = new DefaultModality_1.default(attendeeId).base() ===\\n this.attendeeAudioVideo.configuration.credentials.attendeeId;\\n if (!isContentAttendee || !isSelfAttendee || !present || this.contentShareTile) {\\n return;\\n }\\n const stream = this.mediaStreamBroker.mediaStream;\\n if (stream === null || stream === void 0 ? void 0 : stream.getVideoTracks().length) {\\n this.contentShareTile = this.attendeeAudioVideo.videoTileController.addVideoTile();\\n const track = stream.getVideoTracks()[0];\\n let width, height;\\n if (track.getSettings) {\\n const cap = track.getSettings();\\n width = cap.width;\\n height = cap.height;\\n }\\n else {\\n const cap = track.getCapabilities();\\n width = cap.width;\\n height = cap.height;\\n }\\n this.contentShareTile.bindVideoStream(this.contentAudioVideo.configuration.credentials.attendeeId, false, stream, width, height, null, this.contentAudioVideo.configuration.credentials.externalUserId);\\n }\\n this.forEachContentShareObserver(observer => {\\n Types_1.Maybe.of(observer.contentShareDidStart).map(f => f.call(observer));\\n });\\n });\\n }\\n}\\nexports[\\\"default\\\"] = DefaultContentShareController;\\n//# sourceMappingURL=DefaultContentShareController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/DefaultContentShareController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/cspmonitor/CSPMonitor.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/cspmonitor/CSPMonitor.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass CSPMonitor {\\n /* istanbul ignore next */\\n static register() {\\n if (!('document' in __webpack_require__.g) || !document.addEventListener) {\\n return;\\n }\\n if (CSPMonitor.shouldRegisterCSPMonitor) {\\n if (!CSPMonitor.added) {\\n document.addEventListener('securitypolicyviolation', CSPMonitor.listener);\\n CSPMonitor.added = true;\\n }\\n }\\n }\\n /* istanbul ignore next */\\n static unregister() {\\n if (!('document' in __webpack_require__.g) || !document.removeEventListener) {\\n return;\\n }\\n document.removeEventListener('securitypolicyviolation', CSPMonitor.listener);\\n CSPMonitor.loggers = new Set();\\n CSPMonitor.added = false;\\n }\\n static disable() {\\n CSPMonitor.shouldRegisterCSPMonitor = false;\\n CSPMonitor.unregister();\\n }\\n static addLogger(logger) {\\n if (logger) {\\n CSPMonitor.loggers.add(logger);\\n }\\n }\\n static removeLogger(logger) {\\n if (logger) {\\n CSPMonitor.loggers.delete(logger);\\n }\\n }\\n}\\nexports[\\\"default\\\"] = CSPMonitor;\\nCSPMonitor.loggers = new Set();\\nCSPMonitor.shouldRegisterCSPMonitor = true;\\nCSPMonitor.added = false;\\n/* istanbul ignore next */\\nCSPMonitor.listener = (event) => {\\n const message = 'Security Policy Violation\\\\n' +\\n `Blocked URI: ${event.blockedURI}\\\\n` +\\n `Violated Directive: ${event.violatedDirective}\\\\n` +\\n `Original Policy: ${event.originalPolicy}\\\\n` +\\n `Document URI: ${event.documentURI}\\\\n` +\\n `Source File: ${event.sourceFile}\\\\n` +\\n `Line No.: ${event.lineNumber}\\\\n`;\\n for (const logger of CSPMonitor.loggers) {\\n logger.error(message);\\n }\\n if (CSPMonitor.loggers.size === 0) {\\n console.error(message);\\n }\\n};\\n//# sourceMappingURL=CSPMonitor.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/cspmonitor/CSPMonitor.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/datamessage/DataMessage.js\":\n/*!***************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/datamessage/DataMessage.js ***!\n \\***************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/* eslint @typescript-eslint/no-explicit-any: 0 */\\nclass DataMessage {\\n constructor(timestampMs, topic, data, senderAttendeeId, senderExternalUserId, throttled) {\\n this.timestampMs = timestampMs;\\n this.topic = topic;\\n this.data = data;\\n this.senderAttendeeId = senderAttendeeId;\\n this.senderExternalUserId = senderExternalUserId;\\n this.throttled = !!throttled;\\n }\\n /**\\n * Helper conversion methods to convert {@link Uint8Array} data to string\\n */\\n text() {\\n return new TextDecoder().decode(this.data);\\n }\\n /**\\n * Helper conversion methods to convert {@link Uint8Array} data to JSON\\n */\\n json() {\\n return JSON.parse(new TextDecoder().decode(this.data));\\n }\\n}\\nexports[\\\"default\\\"] = DataMessage;\\n//# sourceMappingURL=DataMessage.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/datamessage/DataMessage.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/destroyable/Destroyable.js\":\n/*!***************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/destroyable/Destroyable.js ***!\n \\***************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.isDestroyable = void 0;\\n/**\\n * Type guard for `Destroyable`.\\n *\\n * @param x A value that might implement the `Destroyable` interface.\\n * @returns Whether the value implements `Destroyable`.\\n */\\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\\nfunction isDestroyable(x) {\\n return x && 'destroy' in x;\\n}\\nexports.isDestroyable = isDestroyable;\\n//# sourceMappingURL=Destroyable.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/destroyable/Destroyable.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicecontroller/AudioTransformDevice.js\":\n/*!*****************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicecontroller/AudioTransformDevice.js ***!\n \\*****************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.isAudioTransformDevice = void 0;\\n/**\\n * `isAudioTransformDevice` is a type guard for {@link AudioTransformDevice}.\\n *\\n * @param device the value to check.\\n */\\n// eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/explicit-module-boundary-types\\nfunction isAudioTransformDevice(device) {\\n return (!!device &&\\n typeof device === 'object' &&\\n 'mute' in device &&\\n 'stop' in device &&\\n 'intrinsicDevice' in device);\\n}\\nexports.isAudioTransformDevice = isAudioTransformDevice;\\n//# sourceMappingURL=AudioTransformDevice.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicecontroller/AudioTransformDevice.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicecontroller/DefaultDeviceController.js\":\n/*!********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicecontroller/DefaultDeviceController.js ***!\n \\********************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nconst DefaultMediaDeviceFactory_1 = __webpack_require__(/*! ../mediadevicefactory/DefaultMediaDeviceFactory */ \\\"./node_modules/amazon-chime-sdk-js/build/mediadevicefactory/DefaultMediaDeviceFactory.js\\\");\\nconst AsyncScheduler_1 = __webpack_require__(/*! ../scheduler/AsyncScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/AsyncScheduler.js\\\");\\nconst PromiseQueue_1 = __webpack_require__(/*! ../utils/PromiseQueue */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/PromiseQueue.js\\\");\\nconst Types_1 = __webpack_require__(/*! ../utils/Types */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Types.js\\\");\\nconst DefaultVideoTransformDevice_1 = __webpack_require__(/*! ../videoframeprocessor/DefaultVideoTransformDevice */ \\\"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/DefaultVideoTransformDevice.js\\\");\\nconst DefaultVideoTile_1 = __webpack_require__(/*! ../videotile/DefaultVideoTile */ \\\"./node_modules/amazon-chime-sdk-js/build/videotile/DefaultVideoTile.js\\\");\\nconst AudioTransformDevice_1 = __webpack_require__(/*! ./AudioTransformDevice */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/AudioTransformDevice.js\\\");\\nconst DeviceSelection_1 = __webpack_require__(/*! ./DeviceSelection */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/DeviceSelection.js\\\");\\nconst GetUserMediaError_1 = __webpack_require__(/*! ./GetUserMediaError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/GetUserMediaError.js\\\");\\nconst NotFoundError_1 = __webpack_require__(/*! ./NotFoundError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/NotFoundError.js\\\");\\nconst NotReadableError_1 = __webpack_require__(/*! ./NotReadableError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/NotReadableError.js\\\");\\nconst OverconstrainedError_1 = __webpack_require__(/*! ./OverconstrainedError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/OverconstrainedError.js\\\");\\nconst PermissionDeniedError_1 = __webpack_require__(/*! ./PermissionDeniedError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/PermissionDeniedError.js\\\");\\nconst TypeError_1 = __webpack_require__(/*! ./TypeError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/TypeError.js\\\");\\nconst VideoQualitySettings_1 = __webpack_require__(/*! ./VideoQualitySettings */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/VideoQualitySettings.js\\\");\\nconst VideoTransformDevice_1 = __webpack_require__(/*! ./VideoTransformDevice */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/VideoTransformDevice.js\\\");\\nclass DefaultDeviceController {\\n constructor(logger, options, browserBehavior = new DefaultBrowserBehavior_1.default(), eventController) {\\n this.logger = logger;\\n this.browserBehavior = browserBehavior;\\n this.eventController = eventController;\\n this.deviceInfoCache = null;\\n this.activeDevices = { audio: null, video: null };\\n // `chosenVideoTransformDevice` is tracked and owned by device controller.\\n // It is saved when `chooseVideoInputDevice` is called with VideoTransformDevice object.\\n this.chosenVideoTransformDevice = null;\\n this.audioOutputDeviceId = undefined;\\n this.deviceChangeObservers = new Set();\\n this.mediaStreamBrokerObservers = new Set();\\n this.deviceLabelTrigger = () => {\\n return navigator.mediaDevices.getUserMedia({ audio: true, video: true });\\n };\\n this.audioInputDestinationNode = null;\\n this.audioInputSourceNode = null;\\n this.videoInputQualitySettings = null;\\n this.useWebAudio = false;\\n this.useMediaConstraintsFallback = true;\\n this.audioInputTaskQueue = new PromiseQueue_1.default();\\n this.videoInputTaskQueue = new PromiseQueue_1.default();\\n this.muted = false;\\n // This handles the dispatch of `mute` and `unmute` events from audio tracks.\\n // There's a bit of a semantic mismatch here if input streams allow individual component tracks to be muted,\\n // but addressing that gap is not feasible in our stream-oriented world.\\n this.mediaStreamMuteObserver = (id, muted) => {\\n for (const observer of this.deviceChangeObservers) {\\n AsyncScheduler_1.default.nextTick(() => {\\n /* istanbul ignore else */\\n if (this.deviceChangeObservers.has(observer) && observer.audioInputMuteStateChanged) {\\n observer.audioInputMuteStateChanged(id, muted);\\n }\\n });\\n }\\n };\\n this.alreadyHandlingDeviceChange = false;\\n const { enableWebAudio = false, useMediaConstraintsFallback = true } = options || {};\\n this.useWebAudio = enableWebAudio;\\n this.useMediaConstraintsFallback = useMediaConstraintsFallback;\\n this.videoInputQualitySettings = new VideoQualitySettings_1.default(DefaultDeviceController.defaultVideoWidth, DefaultDeviceController.defaultVideoHeight, DefaultDeviceController.defaultVideoFrameRate);\\n const dimension = this.browserBehavior.requiresResolutionAlignment(this.videoInputQualitySettings.videoWidth, this.videoInputQualitySettings.videoHeight);\\n this.videoInputQualitySettings.videoWidth = dimension[0];\\n this.videoInputQualitySettings.videoHeight = dimension[1];\\n this.logger.info(`DefaultDeviceController video dimension ${this.videoInputQualitySettings.videoWidth} x ${this.videoInputQualitySettings.videoHeight}`);\\n try {\\n this.mediaDeviceWrapper = new DefaultMediaDeviceFactory_1.default().create();\\n const supportedConstraints = navigator.mediaDevices.getSupportedConstraints();\\n this.logger.info(`Supported Constraints in this browser ${JSON.stringify(supportedConstraints)}`);\\n }\\n catch (error) {\\n logger.error(error.message);\\n }\\n }\\n isWatchingForDeviceChanges() {\\n return !!this.onDeviceChangeCallback;\\n }\\n ensureWatchingDeviceChanges() {\\n var _a;\\n if (this.isWatchingForDeviceChanges()) {\\n return;\\n }\\n this.logger.info('Starting devicechange listener.');\\n this.onDeviceChangeCallback = () => {\\n this.logger.info('Device change event callback is triggered');\\n this.handleDeviceChange();\\n };\\n (_a = this.mediaDeviceWrapper) === null || _a === void 0 ? void 0 : _a.addEventListener('devicechange', this.onDeviceChangeCallback);\\n }\\n /**\\n * Unsubscribe from the `devicechange` event, which allows the device controller to\\n * update its device cache.\\n */\\n stopWatchingDeviceChanges() {\\n var _a;\\n if (!this.isWatchingForDeviceChanges()) {\\n return;\\n }\\n this.logger.info('Stopping devicechange listener.');\\n (_a = this.mediaDeviceWrapper) === null || _a === void 0 ? void 0 : _a.removeEventListener('devicechange', this.onDeviceChangeCallback);\\n this.onDeviceChangeCallback = undefined;\\n }\\n shouldObserveDeviceChanges() {\\n if (this.deviceChangeObservers.size) {\\n return true;\\n }\\n const hasActiveDevices = (this.activeDevices['audio'] && this.activeDevices['audio'].constraints !== null) ||\\n (this.activeDevices['video'] && this.activeDevices['video'].constraints !== null) ||\\n !!this.audioOutputDeviceId;\\n return hasActiveDevices;\\n }\\n watchForDeviceChangesIfNecessary() {\\n if (this.shouldObserveDeviceChanges()) {\\n this.ensureWatchingDeviceChanges();\\n }\\n else {\\n this.stopWatchingDeviceChanges();\\n }\\n }\\n destroy() {\\n return __awaiter(this, void 0, void 0, function* () {\\n // Remove device change callbacks.\\n this.stopWatchingDeviceChanges();\\n // Deselect any audio input devices and throw away the streams.\\n // Discard the current video device, if there is one.\\n // Discard any audio or video transforms.\\n yield this.stopAudioInput();\\n yield this.stopVideoInput();\\n });\\n }\\n listAudioInputDevices(forceUpdate = false) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const result = yield this.listDevicesOfKind('audioinput', forceUpdate);\\n this.trace('listAudioInputDevices', forceUpdate, result);\\n return result;\\n });\\n }\\n listVideoInputDevices(forceUpdate = false) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const result = yield this.listDevicesOfKind('videoinput', forceUpdate);\\n this.trace('listVideoInputDevices', forceUpdate, result);\\n return result;\\n });\\n }\\n listAudioOutputDevices(forceUpdate = false) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const result = yield this.listDevicesOfKind('audiooutput', forceUpdate);\\n this.trace('listAudioOutputDevices', forceUpdate, result);\\n return result;\\n });\\n }\\n pushAudioMeetingStateForPermissions(audioStream) {\\n var _a;\\n (_a = this.eventController) === null || _a === void 0 ? void 0 : _a.publishEvent(audioStream === undefined ? 'audioInputUnselected' : 'audioInputSelected');\\n }\\n pushVideoMeetingStateForPermissions(videoStream) {\\n var _a;\\n (_a = this.eventController) === null || _a === void 0 ? void 0 : _a.publishEvent(videoStream === undefined ? 'videoInputUnselected' : 'videoInputSelected');\\n }\\n startAudioInput(device) {\\n return __awaiter(this, void 0, void 0, function* () {\\n return yield this.audioInputTaskQueue.add(() => this.startAudioInputTask(device));\\n });\\n }\\n startAudioInputTask(device) {\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n if (device === undefined) {\\n this.logger.error('Audio input device cannot be undefined');\\n return undefined;\\n }\\n try {\\n if (AudioTransformDevice_1.isAudioTransformDevice(device)) {\\n // N.B., do not JSON.stringify here — for some kinds of devices this\\n // will cause a cyclic object reference error.\\n this.logger.info(`Choosing transform input device ${device}`);\\n yield this.chooseAudioTransformInputDevice(device);\\n }\\n else {\\n this.logger.info(`Choosing intrinsic audio input device ${device}`);\\n this.removeTransform();\\n yield this.chooseInputIntrinsicDevice('audio', device);\\n }\\n this.trace('startAudioInputDevice', device, `success`);\\n // For web audio, the audio destination stream stays the same so audio input did not change\\n if (this.useWebAudio) {\\n this.attachAudioInputStreamToAudioContext(this.activeDevices['audio'].stream);\\n this.pushAudioMeetingStateForPermissions(this.getMediaStreamDestinationNode().stream);\\n yield ((_a = this.transform) === null || _a === void 0 ? void 0 : _a.device.mute(this.muted));\\n return this.getMediaStreamDestinationNode().stream;\\n }\\n else {\\n this.publishAudioInputDidChangeEvent(this.activeDevices['audio'].stream);\\n return this.activeDevices['audio'].stream;\\n }\\n }\\n catch (error) {\\n throw error;\\n }\\n });\\n }\\n stopAudioInput() {\\n return __awaiter(this, void 0, void 0, function* () {\\n return this.audioInputTaskQueue.add(() => this.stopAudioInputTask());\\n });\\n }\\n stopAudioInputTask() {\\n return __awaiter(this, void 0, void 0, function* () {\\n try {\\n if (this.useWebAudio) {\\n this.releaseAudioTransformStream();\\n return;\\n }\\n this.stopTracksAndRemoveCallbacks('audio');\\n }\\n finally {\\n this.watchForDeviceChangesIfNecessary();\\n this.publishAudioInputDidChangeEvent(undefined);\\n }\\n });\\n }\\n chooseAudioTransformInputDevice(device) {\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n if (((_a = this.transform) === null || _a === void 0 ? void 0 : _a.device) === device) {\\n return;\\n }\\n if (!this.useWebAudio) {\\n throw new Error('Cannot apply transform device without enabling Web Audio.');\\n }\\n const context = DefaultDeviceController.getAudioContext();\\n if (context instanceof OfflineAudioContext) {\\n // Nothing to do.\\n }\\n else {\\n switch (context.state) {\\n case 'running':\\n // Nothing to do.\\n break;\\n case 'closed':\\n // A closed context cannot be used for creating nodes, so the correct\\n // thing to do is to raise a descriptive error sooner.\\n throw new Error('Cannot choose a transform device with a closed audio context.');\\n case 'suspended':\\n // A context might be suspended after page load. We try to resume it\\n // here, otherwise audio won't work.\\n yield context.resume();\\n }\\n }\\n let nodes;\\n try {\\n nodes = yield device.createAudioNode(context);\\n }\\n catch (e) {\\n this.logger.error(`Unable to create transform device node: ${e}.`);\\n throw e;\\n }\\n // Pick the plain ol' inner device as the source. It will be\\n // connected to the node.\\n const inner = yield device.intrinsicDevice();\\n yield this.chooseInputIntrinsicDevice('audio', inner);\\n this.logger.debug(`Got inner stream: ${inner}.`);\\n // Otherwise, continue: hook up the new node.\\n this.setTransform(device, nodes);\\n });\\n }\\n chooseVideoTransformInputDevice(device) {\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.eventController && device instanceof DefaultVideoTransformDevice_1.default) {\\n device.passEventControllerToProcessors(this.eventController);\\n }\\n if (device === this.chosenVideoTransformDevice) {\\n this.logger.info('Reselecting same VideoTransformDevice');\\n return;\\n }\\n const prevVideoTransformDevice = this.chosenVideoTransformDevice;\\n if (prevVideoTransformDevice) {\\n this.logger.info('Switched from previous VideoTransformDevice');\\n }\\n const wasUsingTransformDevice = !!prevVideoTransformDevice;\\n const inner = yield device.intrinsicDevice();\\n const canReuseMediaStream = this.isMediaStreamReusableByDeviceId((_a = this.activeDevices['video']) === null || _a === void 0 ? void 0 : _a.stream, inner);\\n if (!canReuseMediaStream) {\\n this.logger.info('video transform device needs new intrinsic device');\\n if (wasUsingTransformDevice) {\\n // detach input media stream - turn off the camera or leave it be if inner is media stream\\n prevVideoTransformDevice.onOutputStreamDisconnect();\\n }\\n this.chosenVideoTransformDevice = device;\\n // VideoTransformDevice owns input MediaStream\\n this.activeDevices['video'] = null;\\n yield this.chooseInputIntrinsicDevice('video', inner);\\n this.logger.info('apply processors to transform');\\n yield this.chosenVideoTransformDevice.transformStream(this.activeDevices['video'].stream);\\n return;\\n }\\n // When saved stream is reusable, only switch the saved stream to filtered stream for sending\\n // but keep the saved stream intact.\\n // Note: to keep the chosen media stream intact, it is important to avoid a full stop\\n // because videoTileUpdate can be called when video is stopped and user might call `bindVideoElement` to disconnect the element.\\n // In current implementation, disconnecting the element will `hard` stop the media stream.\\n // Update device and stream\\n this.chosenVideoTransformDevice = device;\\n this.logger.info('video transform device uses previous stream');\\n // `transformStream` will start processing.\\n this.logger.info('apply processors to transform');\\n yield device.transformStream(this.activeDevices['video'].stream);\\n });\\n }\\n startVideoInput(device) {\\n return __awaiter(this, void 0, void 0, function* () {\\n return yield this.videoInputTaskQueue.add(() => this.startVideoInputTask(device));\\n });\\n }\\n startVideoInputTask(device) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!device) {\\n this.logger.error('Invalid video input device');\\n return undefined;\\n }\\n try {\\n if (VideoTransformDevice_1.isVideoTransformDevice(device)) {\\n this.logger.info(`Choosing video transform device ${device}`);\\n yield this.chooseVideoTransformInputDevice(device);\\n this.publishVideoInputDidChangeEvent(this.chosenVideoTransformDevice.outputMediaStream);\\n return this.chosenVideoTransformDevice.outputMediaStream;\\n }\\n // handle direct switching from VideoTransformDevice to Device\\n // From WebRTC point, it is a device switching.\\n if (this.chosenVideoInputIsTransformDevice()) {\\n // disconnect old stream\\n this.chosenVideoTransformDevice.onOutputStreamDisconnect();\\n this.chosenVideoTransformDevice = null;\\n }\\n yield this.chooseInputIntrinsicDevice('video', device);\\n this.trace('startVideoInputDevice', device);\\n this.publishVideoInputDidChangeEvent(this.activeDevices['video'].stream);\\n return this.activeDevices['video'].stream;\\n }\\n catch (error) {\\n throw error;\\n }\\n });\\n }\\n stopVideoInput() {\\n return __awaiter(this, void 0, void 0, function* () {\\n return this.videoInputTaskQueue.add(() => this.stopVideoInputTask());\\n });\\n }\\n stopVideoInputTask() {\\n return __awaiter(this, void 0, void 0, function* () {\\n try {\\n if (this.chosenVideoInputIsTransformDevice()) {\\n this.releaseVideoTransformStream();\\n return;\\n }\\n this.stopTracksAndRemoveCallbacks('video');\\n }\\n finally {\\n this.watchForDeviceChangesIfNecessary();\\n this.publishVideoInputDidChangeEvent(undefined);\\n }\\n });\\n }\\n chooseAudioOutput(deviceId) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.audioOutputDeviceId = deviceId;\\n this.watchForDeviceChangesIfNecessary();\\n const deviceInfo = this.deviceInfoFromDeviceId('audiooutput', this.audioOutputDeviceId);\\n this.publishAudioOutputDidChangeEvent(deviceInfo);\\n this.trace('chooseAudioOutput', deviceId, null);\\n return;\\n });\\n }\\n addDeviceChangeObserver(observer) {\\n this.logger.info('adding device change observer');\\n this.deviceChangeObservers.add(observer);\\n this.watchForDeviceChangesIfNecessary();\\n this.trace('addDeviceChangeObserver');\\n }\\n removeDeviceChangeObserver(observer) {\\n this.logger.info('removing device change observer');\\n this.deviceChangeObservers.delete(observer);\\n this.watchForDeviceChangesIfNecessary();\\n this.trace('removeDeviceChangeObserver');\\n }\\n createAnalyserNodeForAudioInput() {\\n var _a, _b;\\n if (!this.activeDevices['audio']) {\\n return null;\\n }\\n // If there is a WebAudio node in the graph, we use that as the source instead of the stream.\\n const node = (_b = (_a = this.transform) === null || _a === void 0 ? void 0 : _a.nodes) === null || _b === void 0 ? void 0 : _b.end;\\n if (node) {\\n const analyser = node.context.createAnalyser();\\n analyser.removeOriginalInputs = () => {\\n try {\\n node.disconnect(analyser);\\n }\\n catch (e) {\\n // This can fail in some unusual cases, but this is best-effort.\\n }\\n };\\n node.connect(analyser);\\n return analyser;\\n }\\n return this.createAnalyserNodeForRawAudioInput();\\n }\\n //\\n // N.B., this bypasses any applied transform node.\\n //\\n createAnalyserNodeForRawAudioInput() {\\n if (!this.activeDevices['audio']) {\\n return null;\\n }\\n return this.createAnalyserNodeForStream(this.activeDevices['audio'].stream);\\n }\\n createAnalyserNodeForStream(stream) {\\n const audioContext = DefaultDeviceController.getAudioContext();\\n const analyser = audioContext.createAnalyser();\\n const source = audioContext.createMediaStreamSource(stream);\\n source.connect(analyser);\\n this.trace('createAnalyserNodeForAudioInput');\\n analyser.removeOriginalInputs = () => {\\n try {\\n source.disconnect(analyser);\\n }\\n catch (e) {\\n // This can fail in some unusual cases, but this is best-effort.\\n }\\n };\\n return analyser;\\n }\\n startVideoPreviewForVideoInput(element) {\\n if (!this.activeDevices['video']) {\\n this.logger.warn('cannot bind video preview since video input device has not been chosen');\\n this.trace('startVideoPreviewForVideoInput', element.id);\\n return;\\n }\\n DefaultVideoTile_1.default.connectVideoStreamToVideoElement(this.chosenVideoTransformDevice\\n ? this.chosenVideoTransformDevice.outputMediaStream\\n : this.activeDevices['video'].stream, element, true);\\n this.trace('startVideoPreviewForVideoInput', element.id);\\n }\\n stopVideoPreviewForVideoInput(element) {\\n DefaultVideoTile_1.default.disconnectVideoStreamFromVideoElement(element, false);\\n this.trace('stopVideoPreviewForVideoInput', element.id);\\n }\\n setDeviceLabelTrigger(trigger) {\\n // Discard the cache if it was populated with unlabeled devices.\\n if (this.deviceInfoCache) {\\n for (const device of this.deviceInfoCache) {\\n if (!device.label) {\\n this.deviceInfoCache = null;\\n break;\\n }\\n }\\n }\\n this.deviceLabelTrigger = trigger;\\n this.trace('setDeviceLabelTrigger');\\n }\\n mixIntoAudioInput(stream) {\\n let node = null;\\n if (this.useWebAudio) {\\n node = DefaultDeviceController.getAudioContext().createMediaStreamSource(stream);\\n node.connect(this.getMediaStreamOutputNode());\\n }\\n else {\\n this.logger.warn('WebAudio is not enabled, mixIntoAudioInput will not work');\\n }\\n this.trace('mixIntoAudioInput', stream.id);\\n return node;\\n }\\n chooseVideoInputQuality(width, height, frameRate) {\\n const dimension = this.browserBehavior.requiresResolutionAlignment(width, height);\\n this.videoInputQualitySettings = new VideoQualitySettings_1.default(dimension[0], dimension[1], frameRate);\\n }\\n getVideoInputQualitySettings() {\\n return this.videoInputQualitySettings;\\n }\\n acquireAudioInputStream() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this.activeDevices['audio']) {\\n this.logger.info(`No audio device chosen, creating empty audio device`);\\n yield this.startAudioInput(null);\\n }\\n if (this.useWebAudio) {\\n const dest = this.getMediaStreamDestinationNode();\\n return dest.stream;\\n }\\n return this.activeDevices['audio'].stream;\\n });\\n }\\n acquireVideoInputStream() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this.activeDevices['video']) {\\n throw new Error(`No video device chosen`);\\n }\\n if (this.chosenVideoInputIsTransformDevice()) {\\n return this.chosenVideoTransformDevice.outputMediaStream;\\n }\\n return this.activeDevices['video'].stream;\\n });\\n }\\n acquireDisplayInputStream(_streamConstraints) {\\n return __awaiter(this, void 0, void 0, function* () {\\n throw new Error('unsupported');\\n });\\n }\\n /**\\n *\\n * We need to do three things to clean up audio input\\n *\\n * * Close the tracks of the source stream.\\n * * Remove the transform.\\n * * Clean up the intrinsic stream's callback -- that's the stream that's tracked in\\n * `activeDevices` and needs to have its callbacks removed.\\n */\\n releaseAudioTransformStream() {\\n this.logger.info('Stopping audio track for Web Audio graph');\\n this.stopTracksAndRemoveCallbacks('audio');\\n this.logger.info('Removing audio transform, if there is one.');\\n this.removeTransform();\\n // Remove the input and output nodes. They will be recreated later if\\n // needed.\\n /* istanbul ignore else */\\n if (this.audioInputSourceNode) {\\n this.audioInputSourceNode.disconnect();\\n this.audioInputSourceNode = undefined;\\n }\\n /* istanbul ignore else */\\n if (this.audioInputDestinationNode) {\\n this.audioInputDestinationNode.disconnect();\\n this.audioInputDestinationNode = undefined;\\n }\\n }\\n /**\\n *\\n * We need to do three things to clean up video input\\n *\\n * * Close the tracks of the source stream.\\n * * Remove the transform.\\n * * Clean up the intrinsic stream's callback -- that's the stream that's tracked in\\n * `activeDevices` and needs to have its callbacks removed.\\n */\\n releaseVideoTransformStream() {\\n this.logger.info('Stopping video track for transform');\\n this.stopTracksAndRemoveCallbacks('video');\\n this.logger.info('Disconnecting video transform');\\n this.chosenVideoTransformDevice.onOutputStreamDisconnect();\\n this.chosenVideoTransformDevice = null;\\n }\\n stopTracksAndRemoveCallbacks(kind) {\\n const activeDevice = this.activeDevices[kind];\\n // Just-in-case error handling.\\n /* istanbul ignore if */\\n if (!activeDevice) {\\n return;\\n }\\n /* istanbul ignore next */\\n const endedCallback = activeDevice.endedCallback;\\n const trackMuteCallback = activeDevice.trackMuteCallback;\\n const trackUnmuteCallback = activeDevice.trackUnmuteCallback;\\n for (const track of activeDevice.stream.getTracks()) {\\n track.stop();\\n /* istanbul ignore else */\\n if (endedCallback) {\\n track.removeEventListener('ended', endedCallback);\\n }\\n /* istanbul ignore else */\\n if (trackMuteCallback) {\\n track.removeEventListener('mute', trackMuteCallback);\\n }\\n /* istanbul ignore else */\\n if (trackUnmuteCallback) {\\n track.removeEventListener('unmute', trackUnmuteCallback);\\n }\\n delete activeDevice.endedCallback;\\n delete activeDevice.trackMuteCallback;\\n delete activeDevice.trackUnmuteCallback;\\n delete this.activeDevices[kind];\\n }\\n }\\n chosenVideoInputIsTransformDevice() {\\n return !!this.chosenVideoTransformDevice;\\n }\\n muteLocalAudioInputStream() {\\n this.toggleLocalAudioInputStream(false);\\n }\\n unmuteLocalAudioInputStream() {\\n this.toggleLocalAudioInputStream(true);\\n }\\n toggleLocalAudioInputStream(enabled) {\\n var _a;\\n let audioDevice = this.activeDevices['audio'];\\n if (this.useWebAudio) {\\n audioDevice = this.getMediaStreamDestinationNode();\\n }\\n if (!audioDevice) {\\n return;\\n }\\n for (const track of audioDevice.stream.getTracks()) {\\n if (track.enabled === enabled) {\\n continue;\\n }\\n track.enabled = enabled;\\n }\\n if (this.muted !== !enabled) {\\n this.muted = !enabled;\\n (_a = this.transform) === null || _a === void 0 ? void 0 : _a.device.mute(this.muted);\\n }\\n }\\n static getIntrinsicDeviceId(device) {\\n if (!device) {\\n return undefined;\\n }\\n if (typeof device === 'string') {\\n return device;\\n }\\n if (device.id) {\\n return device.id;\\n }\\n const constraints = device;\\n const deviceIdConstraints = constraints.deviceId;\\n if (!deviceIdConstraints) {\\n return undefined;\\n }\\n if (typeof deviceIdConstraints === 'string' || Array.isArray(deviceIdConstraints)) {\\n return deviceIdConstraints;\\n }\\n const constraintStringParams = deviceIdConstraints;\\n if (typeof constraintStringParams.exact === 'string' ||\\n Array.isArray(constraintStringParams.exact)) {\\n return constraintStringParams.exact;\\n }\\n return undefined;\\n }\\n static createEmptyAudioDevice() {\\n return DefaultDeviceController.synthesizeAudioDevice(0);\\n }\\n static synthesizeAudioDevice(toneHz) {\\n const audioContext = DefaultDeviceController.getAudioContext();\\n const outputNode = audioContext.createMediaStreamDestination();\\n if (!toneHz) {\\n const source = audioContext.createBufferSource();\\n // The AudioContext object uses the sample rate of the default output device\\n // if not specified. Creating an AudioBuffer object with the output device's\\n // sample rate fails in some browsers, e.g. Safari with a Bluetooth headphone.\\n try {\\n source.buffer = audioContext.createBuffer(1, audioContext.sampleRate * 5, audioContext.sampleRate);\\n }\\n catch (error) {\\n if (error && error.name === 'NotSupportedError') {\\n source.buffer = audioContext.createBuffer(1, DefaultDeviceController.defaultSampleRate * 5, DefaultDeviceController.defaultSampleRate);\\n }\\n else {\\n throw error;\\n }\\n }\\n // Some browsers will not play audio out the MediaStreamDestination\\n // unless there is actually audio to play, so we add a small amount of\\n // noise here to ensure that audio is played out.\\n source.buffer.getChannelData(0)[0] = 0.0003;\\n source.loop = true;\\n source.connect(outputNode);\\n source.start();\\n }\\n else {\\n const gainNode = audioContext.createGain();\\n gainNode.gain.value = 0.1;\\n gainNode.connect(outputNode);\\n const oscillatorNode = audioContext.createOscillator();\\n oscillatorNode.frequency.value = toneHz;\\n oscillatorNode.connect(gainNode);\\n oscillatorNode.start();\\n }\\n return outputNode.stream;\\n }\\n listDevicesOfKind(deviceKind, forceUpdate) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (forceUpdate || this.deviceInfoCache === null || !this.isWatchingForDeviceChanges()) {\\n yield this.updateDeviceInfoCacheFromBrowser();\\n }\\n return this.listCachedDevicesOfKind(deviceKind);\\n });\\n }\\n updateDeviceInfoCacheFromBrowser() {\\n var _a, _b;\\n return __awaiter(this, void 0, void 0, function* () {\\n const doesNotHaveAccessToMediaDevices = typeof MediaDeviceInfo === 'undefined';\\n if (doesNotHaveAccessToMediaDevices) {\\n this.deviceInfoCache = [];\\n return;\\n }\\n let devices = yield navigator.mediaDevices.enumerateDevices();\\n let hasDeviceLabels = true;\\n for (const device of devices) {\\n if (!device.label) {\\n hasDeviceLabels = false;\\n break;\\n }\\n }\\n if (!hasDeviceLabels) {\\n try {\\n this.logger.info('attempting to trigger media device labels since they are hidden');\\n const triggerStream = yield this.deviceLabelTrigger();\\n devices = yield navigator.mediaDevices.enumerateDevices();\\n for (const track of triggerStream.getTracks()) {\\n track.stop();\\n }\\n }\\n catch (err) {\\n this.logger.info('unable to get media device labels');\\n (_a = this.eventController) === null || _a === void 0 ? void 0 : _a.publishEvent('audioInputFailed', {\\n audioInputErrorMessage: this.getErrorMessage(err),\\n });\\n (_b = this.eventController) === null || _b === void 0 ? void 0 : _b.publishEvent('videoInputFailed', {\\n videoInputErrorMessage: this.getErrorMessage(err),\\n });\\n }\\n }\\n this.logger.debug(`Update device info cache with devices: ${JSON.stringify(devices)}`);\\n this.deviceInfoCache = devices;\\n });\\n }\\n listCachedDevicesOfKind(deviceKind) {\\n const devicesOfKind = [];\\n if (this.deviceInfoCache) {\\n for (const device of this.deviceInfoCache) {\\n if (device.kind === deviceKind) {\\n devicesOfKind.push(device);\\n }\\n }\\n }\\n return devicesOfKind;\\n }\\n handleDeviceChange() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.deviceInfoCache === null) {\\n return;\\n }\\n if (this.alreadyHandlingDeviceChange) {\\n AsyncScheduler_1.default.nextTick(() => {\\n this.handleDeviceChange();\\n });\\n return;\\n }\\n this.alreadyHandlingDeviceChange = true;\\n const oldAudioInputDevices = this.listCachedDevicesOfKind('audioinput');\\n const oldVideoInputDevices = this.listCachedDevicesOfKind('videoinput');\\n const oldAudioOutputDevices = this.listCachedDevicesOfKind('audiooutput');\\n yield this.updateDeviceInfoCacheFromBrowser();\\n const newAudioInputDevices = this.listCachedDevicesOfKind('audioinput');\\n const newVideoInputDevices = this.listCachedDevicesOfKind('videoinput');\\n const newAudioOutputDevices = this.listCachedDevicesOfKind('audiooutput');\\n this.forEachObserver((observer) => {\\n if (!this.areDeviceListsEqual(oldAudioInputDevices, newAudioInputDevices)) {\\n Types_1.Maybe.of(observer.audioInputsChanged).map(f => f.bind(observer)(newAudioInputDevices));\\n }\\n if (!this.areDeviceListsEqual(oldVideoInputDevices, newVideoInputDevices)) {\\n Types_1.Maybe.of(observer.videoInputsChanged).map(f => f.bind(observer)(newVideoInputDevices));\\n }\\n if (!this.areDeviceListsEqual(oldAudioOutputDevices, newAudioOutputDevices)) {\\n Types_1.Maybe.of(observer.audioOutputsChanged).map(f => f.bind(observer)(newAudioOutputDevices));\\n }\\n });\\n this.alreadyHandlingDeviceChange = false;\\n });\\n }\\n handleDeviceStreamEnded(kind, deviceId) {\\n return __awaiter(this, void 0, void 0, function* () {\\n try {\\n if (kind === 'audio') {\\n this.logger.warn(`Audio input device which was active is no longer available, resetting to null device`);\\n yield this.startAudioInput(null); //Need to switch to empty audio device\\n }\\n else {\\n this.logger.warn(`Video input device which was active is no longer available, stopping video`);\\n yield this.stopVideoInput();\\n }\\n }\\n catch (e) {\\n /* istanbul ignore next */\\n this.logger.error('Failed to choose null device after stream ended.');\\n }\\n if (kind === 'audio') {\\n this.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.audioInputStreamEnded).map(f => f.bind(observer)(deviceId));\\n });\\n }\\n else {\\n this.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.videoInputStreamEnded).map(f => f.bind(observer)(deviceId));\\n });\\n }\\n });\\n }\\n forEachObserver(observerFunc) {\\n for (const observer of this.deviceChangeObservers) {\\n AsyncScheduler_1.default.nextTick(() => {\\n /* istanbul ignore else */\\n if (this.deviceChangeObservers.has(observer)) {\\n observerFunc(observer);\\n }\\n });\\n }\\n }\\n forEachMediaStreamBrokerObserver(observerFunc) {\\n for (const observer of this.mediaStreamBrokerObservers) {\\n observerFunc(observer);\\n }\\n }\\n areDeviceListsEqual(a, b) {\\n return (JSON.stringify(a.map(device => JSON.stringify(device)).sort()) ===\\n JSON.stringify(b.map(device => JSON.stringify(device)).sort()));\\n }\\n intrinsicDeviceAsMediaStream(device) {\\n // @ts-ignore\\n return device && device.id ? device : null;\\n }\\n hasSameMediaStreamId(kind, selection, proposedConstraints) {\\n var _a, _b, _c, _d;\\n // Checking for stream using the fake constraint created in getMediaStreamConstraints\\n let streamId;\\n if (kind === 'audio') {\\n // @ts-ignore\\n streamId = proposedConstraints === null || proposedConstraints === void 0 ? void 0 : proposedConstraints.audio.streamId;\\n /* istanbul ignore next */\\n // @ts-ignore\\n return !!streamId && streamId === ((_b = (_a = selection.constraints) === null || _a === void 0 ? void 0 : _a.audio) === null || _b === void 0 ? void 0 : _b.streamId);\\n }\\n /* istanbul ignore next */\\n // @ts-ignore\\n streamId = proposedConstraints === null || proposedConstraints === void 0 ? void 0 : proposedConstraints.video.streamId;\\n /* istanbul ignore next */\\n // @ts-ignore\\n return !!streamId && streamId === ((_d = (_c = selection === null || selection === void 0 ? void 0 : selection.constraints) === null || _c === void 0 ? void 0 : _c.video) === null || _d === void 0 ? void 0 : _d.streamId);\\n }\\n hasSameGroupId(groupId, kind, device) {\\n if (groupId === '') {\\n return true;\\n }\\n const deviceIds = DefaultDeviceController.getIntrinsicDeviceId(device);\\n this.logger.debug(`Checking deviceIds ${deviceIds} of type ${typeof deviceIds} with groupId ${groupId}`);\\n if (typeof deviceIds === 'string' && groupId === this.getGroupIdFromDeviceId(kind, deviceIds)) {\\n return true;\\n }\\n return false;\\n }\\n getGroupIdFromDeviceId(kind, deviceId) {\\n if (this.deviceInfoCache !== null) {\\n const cachedDeviceInfo = this.listCachedDevicesOfKind(`${kind}input`).find((cachedDevice) => cachedDevice.deviceId === deviceId);\\n if (cachedDeviceInfo && cachedDeviceInfo.groupId) {\\n this.logger.debug(`GroupId of deviceId ${deviceId} found in cache is ${cachedDeviceInfo.groupId}`);\\n return cachedDeviceInfo.groupId;\\n }\\n }\\n this.logger.debug(`GroupId of deviceId ${deviceId} found in cache is empty`);\\n return '';\\n }\\n handleGetUserMediaError(error, errorTimeMs) {\\n if (!error) {\\n throw new GetUserMediaError_1.default(error);\\n }\\n switch (error.name) {\\n case 'NotReadableError':\\n case 'TrackStartError':\\n throw new NotReadableError_1.default(error);\\n case 'NotFoundError':\\n case 'DevicesNotFoundError':\\n throw new NotFoundError_1.default(error);\\n case 'NotAllowedError':\\n case 'PermissionDeniedError':\\n case 'SecurityError':\\n if (errorTimeMs &&\\n errorTimeMs < DefaultDeviceController.permissionDeniedOriginDetectionThresholdMs) {\\n throw new PermissionDeniedError_1.default(error, 'Permission denied by browser');\\n }\\n else {\\n throw new PermissionDeniedError_1.default(error, 'Permission denied by user');\\n }\\n case 'OverconstrainedError':\\n case 'ConstraintNotSatisfiedError':\\n throw new OverconstrainedError_1.default(error);\\n case 'TypeError':\\n throw new TypeError_1.default(error);\\n case 'AbortError':\\n default:\\n throw new GetUserMediaError_1.default(error);\\n }\\n }\\n /**\\n * Check whether a device is already selected.\\n *\\n * @param kind typically 'audio' or 'video'.\\n * @param device the device about to be selected.\\n * @param selection the existing device selection of this kind.\\n * @param proposedConstraints the constraints that will be used when this device is selected.\\n * @returns whether `device` matches `selection` — that is, whether this device is already selected.\\n */\\n matchesDeviceSelection(kind, device, selection, proposedConstraints) {\\n if (selection &&\\n selection.stream.active &&\\n (this.hasSameMediaStreamId(kind, selection, proposedConstraints) ||\\n (selection.groupId !== null && this.hasSameGroupId(selection.groupId, kind, device)))) {\\n // TODO: this should be computed within this function.\\n this.logger.debug(`Compare current device constraint ${JSON.stringify(selection.constraints)} to proposed constraints ${JSON.stringify(proposedConstraints)}`);\\n return selection.matchesConstraints(proposedConstraints);\\n }\\n return false;\\n }\\n chooseInputIntrinsicDevice(kind, device) {\\n var _a, _b;\\n return __awaiter(this, void 0, void 0, function* () {\\n // N.B.,: the input device might already have augmented constraints supplied\\n // by an `AudioTransformDevice`. `getMediaStreamConstraints` will respect\\n // settings supplied by the device.\\n const proposedConstraints = this.getMediaStreamConstraints(kind, device);\\n // TODO: `matchesConstraints` should really return compatible/incompatible/exact --\\n // `applyConstraints` can be used to reuse the active device while changing the\\n // requested constraints.\\n if (this.matchesDeviceSelection(kind, device, this.activeDevices[kind], proposedConstraints)) {\\n this.logger.info(`reusing existing ${kind} input device`);\\n return;\\n }\\n if (this.activeDevices[kind] && this.activeDevices[kind].stream) {\\n this.stopTracksAndRemoveCallbacks(kind);\\n }\\n const startTimeMs = Date.now();\\n const newDevice = new DeviceSelection_1.default();\\n try {\\n this.logger.info(`requesting new ${kind} device with constraint ${JSON.stringify(proposedConstraints)}`);\\n const stream = this.intrinsicDeviceAsMediaStream(device);\\n if (kind === 'audio' && device === null) {\\n newDevice.stream = DefaultDeviceController.createEmptyAudioDevice();\\n newDevice.constraints = null;\\n }\\n else if (stream) {\\n this.logger.info(`using media stream ${stream.id} for ${kind} device`);\\n newDevice.stream = stream;\\n newDevice.constraints = proposedConstraints;\\n }\\n else {\\n newDevice.stream = yield navigator.mediaDevices.getUserMedia(proposedConstraints);\\n newDevice.constraints = proposedConstraints;\\n }\\n yield this.handleNewInputDevice(kind, newDevice);\\n }\\n catch (error) {\\n const errorMessage = this.getErrorMessage(error);\\n if (kind === 'audio') {\\n (_a = this.eventController) === null || _a === void 0 ? void 0 : _a.publishEvent('audioInputFailed', {\\n audioInputErrorMessage: errorMessage,\\n });\\n }\\n else {\\n (_b = this.eventController) === null || _b === void 0 ? void 0 : _b.publishEvent('videoInputFailed', {\\n videoInputErrorMessage: errorMessage,\\n });\\n }\\n this.logger.error(`failed to get ${kind} device for constraints ${JSON.stringify(proposedConstraints)}: ${errorMessage}`);\\n let hasError = true;\\n // This is effectively `error instanceof OverconstrainedError` but works in Node.\\n if (error && 'constraint' in error) {\\n this.logger.error(`Over-constrained by constraint: ${error.constraint}`);\\n // Try to reduce the constraints if over-constraints\\n if (this.useMediaConstraintsFallback) {\\n const fallbackConstraints = this.getMediaStreamConstraints(kind, device, true);\\n const fallbackConstraintsJSON = JSON.stringify(fallbackConstraints);\\n if (fallbackConstraintsJSON !== JSON.stringify(proposedConstraints)) {\\n this.logger.info(`retry requesting new ${kind} device with minimal constraint ${fallbackConstraintsJSON}`);\\n try {\\n newDevice.stream = yield navigator.mediaDevices.getUserMedia(fallbackConstraints);\\n newDevice.constraints = fallbackConstraints;\\n yield this.handleNewInputDevice(kind, newDevice);\\n hasError = false;\\n }\\n catch (e) {\\n this.logger.error(`failed to get ${kind} device for constraints ${fallbackConstraintsJSON}: ${this.getErrorMessage(e)}`);\\n }\\n }\\n }\\n }\\n if (hasError) {\\n /*\\n * If there is any error while acquiring the audio device, we fall back to null device.\\n * Reason: If device selection fails (e.g. NotReadableError), the peer connection is left hanging\\n * with no active audio track since we release the previously attached track.\\n * If no audio packet has yet been sent to the server, the server will not emit the joined event.\\n */\\n if (kind === 'audio') {\\n this.logger.info(`choosing null ${kind} device instead`);\\n try {\\n newDevice.stream = DefaultDeviceController.createEmptyAudioDevice();\\n newDevice.constraints = null;\\n yield this.handleNewInputDevice(kind, newDevice);\\n }\\n catch (error) {\\n this.logger.error(`failed to choose null ${kind} device. ${error.name}: ${error.message}`);\\n }\\n }\\n this.handleGetUserMediaError(error, Date.now() - startTimeMs);\\n }\\n }\\n finally {\\n this.watchForDeviceChangesIfNecessary();\\n }\\n });\\n }\\n getErrorMessage(error) {\\n if (!error) {\\n return 'UnknownError';\\n }\\n if (error.name && error.message) {\\n return `${error.name}: ${error.message}`;\\n }\\n if (error.name) {\\n return error.name;\\n }\\n if (error.message) {\\n return error.message;\\n }\\n return 'UnknownError';\\n }\\n handleNewInputDevice(kind, newDevice) {\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n this.logger.info(`got ${kind} device for constraints ${JSON.stringify(newDevice.constraints)}`);\\n const newDeviceId = (_a = this.getMediaTrackSettings(newDevice.stream)) === null || _a === void 0 ? void 0 : _a.deviceId;\\n newDevice.groupId = newDeviceId ? this.getGroupIdFromDeviceId(kind, newDeviceId) : '';\\n this.activeDevices[kind] = newDevice;\\n this.logger.debug(`Set activeDevice to ${JSON.stringify(newDevice)}`);\\n this.watchForDeviceChangesIfNecessary();\\n // Add event listener to detect ended event of media track\\n // We only monitor the first track, and use its device ID for observer notifications.\\n const track = newDevice.stream.getTracks()[0];\\n if (track) {\\n newDevice.endedCallback = () => {\\n // Hard to test, but the safety check is worthwhile.\\n /* istanbul ignore else */\\n if (this.activeDevices[kind] && this.activeDevices[kind].stream === newDevice.stream) {\\n this.handleDeviceStreamEnded(kind, newDeviceId);\\n delete newDevice.endedCallback;\\n }\\n };\\n track.addEventListener('ended', newDevice.endedCallback, { once: true });\\n }\\n // Add event listener to mute/unmute event for audio\\n if (kind === 'audio') {\\n // We only monitor the first track, and use its device ID for observer notifications.\\n const track = newDevice.stream.getAudioTracks()[0];\\n if (track) {\\n const id = track.getSettings().deviceId || newDevice.stream;\\n newDevice.trackMuteCallback = () => {\\n this.mediaStreamMuteObserver(id, true);\\n };\\n newDevice.trackUnmuteCallback = () => {\\n this.mediaStreamMuteObserver(id, false);\\n };\\n track.addEventListener('mute', newDevice.trackMuteCallback, { once: false });\\n track.addEventListener('unmute', newDevice.trackUnmuteCallback, { once: false });\\n this.logger.debug('Notifying mute state after selection');\\n if (track.muted) {\\n newDevice.trackMuteCallback();\\n }\\n else {\\n newDevice.trackUnmuteCallback();\\n }\\n }\\n }\\n });\\n }\\n calculateMediaStreamConstraints(kind, deviceId, groupId, minimal) {\\n // No need for any constraints if we want minimal constraint and there is only one device\\n if (minimal && this.listCachedDevicesOfKind(`${kind}input`).length === 1) {\\n return true;\\n }\\n const trackConstraints = {};\\n // In Samsung Internet browser, navigator.mediaDevices.enumerateDevices()\\n // returns same deviceId but different groupdId for some audioinput and videoinput devices.\\n // To handle this, we select appropriate device using deviceId + groupId.\\n if (this.browserBehavior.requiresNoExactMediaStreamConstraints()) {\\n trackConstraints.deviceId = deviceId;\\n }\\n else {\\n trackConstraints.deviceId = { exact: deviceId };\\n }\\n if (groupId) {\\n trackConstraints.groupId = groupId;\\n }\\n if (minimal) {\\n return trackConstraints;\\n }\\n // Video additional constraints\\n if (kind === 'video') {\\n trackConstraints.width = {\\n ideal: this.videoInputQualitySettings.videoWidth,\\n };\\n trackConstraints.height = {\\n ideal: this.videoInputQualitySettings.videoHeight,\\n };\\n trackConstraints.frameRate = {\\n ideal: this.videoInputQualitySettings.videoFrameRate,\\n };\\n return trackConstraints;\\n }\\n // Audio additional constraints\\n if (this.supportSampleRateConstraint()) {\\n trackConstraints.sampleRate = { ideal: DefaultDeviceController.defaultSampleRate };\\n }\\n if (this.supportSampleSizeConstraint()) {\\n trackConstraints.sampleSize = { ideal: DefaultDeviceController.defaultSampleSize };\\n }\\n if (this.supportChannelCountConstraint()) {\\n trackConstraints.channelCount = { ideal: DefaultDeviceController.defaultChannelCount };\\n }\\n const augmented = Object.assign({ echoCancellation: true, googEchoCancellation: true, googEchoCancellation2: true, googAutoGainControl: true, googAutoGainControl2: true, googNoiseSuppression: true, googNoiseSuppression2: true, googHighpassFilter: true }, trackConstraints);\\n return augmented;\\n }\\n getMediaStreamConstraintsFromTrackConstraints(kind, trackConstraints) {\\n return kind === 'audio' ? { audio: trackConstraints } : { video: trackConstraints };\\n }\\n getMediaStreamConstraints(kind, device, minimal = false) {\\n let trackConstraints = {};\\n if (!device) {\\n return null;\\n }\\n const stream = this.intrinsicDeviceAsMediaStream(device);\\n if (stream) {\\n // @ts-ignore - create a fake track constraint using the stream id\\n trackConstraints.streamId = stream.id;\\n return this.getMediaStreamConstraintsFromTrackConstraints(kind, trackConstraints);\\n }\\n if (typeof device === 'string') {\\n let groupId = '';\\n if (this.browserBehavior.requiresGroupIdMediaStreamConstraints()) {\\n if (this.deviceInfoCache !== null) {\\n groupId = this.getGroupIdFromDeviceId(kind, device);\\n }\\n else {\\n this.logger.error('Device cache is not populated. Please make sure to call list devices first');\\n }\\n }\\n trackConstraints = this.calculateMediaStreamConstraints(kind, device, groupId, minimal);\\n return this.getMediaStreamConstraintsFromTrackConstraints(kind, trackConstraints);\\n }\\n if (isMediaDeviceInfo(device)) {\\n trackConstraints = this.calculateMediaStreamConstraints(kind, device.deviceId, device.groupId, minimal);\\n return this.getMediaStreamConstraintsFromTrackConstraints(kind, trackConstraints);\\n }\\n // Take the input set of constraints.\\n // In this case, we just use the constraints as-is.\\n // @ts-ignore - device is a MediaTrackConstraints\\n trackConstraints = device;\\n return this.getMediaStreamConstraintsFromTrackConstraints(kind, trackConstraints);\\n }\\n deviceInfoFromDeviceId(deviceKind, deviceId) {\\n if (this.deviceInfoCache === null) {\\n return null;\\n }\\n for (const device of this.deviceInfoCache) {\\n if (device.kind === deviceKind && device.deviceId === deviceId) {\\n return device;\\n }\\n }\\n return null;\\n }\\n hasAppliedTransform() {\\n return !!this.transform;\\n }\\n isMediaStreamReusableByDeviceId(stream, device) {\\n // for null device, assume the stream is not reusable\\n if (!stream || !stream.active || !device) {\\n return false;\\n }\\n if (device.id) {\\n return stream.id === device.id;\\n }\\n const settings = this.getMediaTrackSettings(stream);\\n // If a device does not specify deviceId, we have to assume the stream is not reusable.\\n if (!settings.deviceId) {\\n return false;\\n }\\n const deviceIds = DefaultDeviceController.getIntrinsicDeviceId(device);\\n if (typeof deviceIds === 'string') {\\n return settings.deviceId === deviceIds;\\n }\\n return false;\\n }\\n getMediaTrackSettings(stream) {\\n var _a;\\n return (_a = stream.getTracks()[0]) === null || _a === void 0 ? void 0 : _a.getSettings();\\n }\\n reconnectAudioInputs() {\\n if (!this.audioInputSourceNode) {\\n return;\\n }\\n this.audioInputSourceNode.disconnect();\\n const output = this.getMediaStreamOutputNode();\\n this.audioInputSourceNode.connect(output);\\n }\\n setTransform(device, nodes) {\\n var _a, _b;\\n (_b = (_a = this.transform) === null || _a === void 0 ? void 0 : _a.nodes) === null || _b === void 0 ? void 0 : _b.end.disconnect();\\n this.transform = { nodes, device };\\n const proc = nodes === null || nodes === void 0 ? void 0 : nodes.end;\\n const dest = this.getMediaStreamDestinationNode();\\n this.logger.debug(`Connecting transform node ${proc} to destination ${dest}.`);\\n proc === null || proc === void 0 ? void 0 : proc.connect(dest);\\n this.reconnectAudioInputs();\\n }\\n removeTransform() {\\n var _a;\\n const previous = this.transform;\\n if (!previous) {\\n return undefined;\\n }\\n (_a = this.transform.nodes) === null || _a === void 0 ? void 0 : _a.end.disconnect();\\n this.transform = undefined;\\n this.reconnectAudioInputs();\\n return previous;\\n }\\n attachAudioInputStreamToAudioContext(stream) {\\n var _a;\\n (_a = this.audioInputSourceNode) === null || _a === void 0 ? void 0 : _a.disconnect();\\n this.audioInputSourceNode = DefaultDeviceController.getAudioContext().createMediaStreamSource(stream);\\n const output = this.getMediaStreamOutputNode();\\n this.audioInputSourceNode.connect(output);\\n }\\n /**\\n * Return the end of the Web Audio graph: post-transform audio.\\n */\\n getMediaStreamDestinationNode() {\\n if (!this.audioInputDestinationNode) {\\n this.audioInputDestinationNode = DefaultDeviceController.getAudioContext().createMediaStreamDestination();\\n }\\n return this.audioInputDestinationNode;\\n }\\n /**\\n * Return the start of the Web Audio graph: pre-transform audio.\\n * If there's no transform node, this is the destination node.\\n */\\n getMediaStreamOutputNode() {\\n var _a, _b;\\n return ((_b = (_a = this.transform) === null || _a === void 0 ? void 0 : _a.nodes) === null || _b === void 0 ? void 0 : _b.start) || this.getMediaStreamDestinationNode();\\n }\\n /**\\n * Overrides the default latency hint used by the user agent when creating the `AudioContext`. By default,\\n * user agents will choose \\\"interactive\\\" which opts for the smallest possible audio buffer. This can\\n * cause choppy audio in some cases on Windows. Therefore, \\\"playback\\\" will be chosen on Windows unless\\n * this value is overridden with this function.\\n * @param latencyHint The latency hint to be used when creating the Web Audio `AudioContext`\\n */\\n static setDefaultLatencyHint(latencyHint) {\\n DefaultDeviceController.defaultLatencyHint = latencyHint;\\n }\\n /**\\n * Returns the Web Audio `AudioContext` used by the {@link DefaultDeviceController}. The `AudioContext`\\n * is created lazily the first time this function is called.\\n * @returns a Web Audio `AudioContext`\\n */\\n static getAudioContext() {\\n if (!DefaultDeviceController.audioContext) {\\n const options = {};\\n if (navigator.mediaDevices.getSupportedConstraints().sampleRate) {\\n options.sampleRate = DefaultDeviceController.defaultSampleRate;\\n }\\n const browserBehavior = new DefaultBrowserBehavior_1.default();\\n if (browserBehavior.requiresPlaybackLatencyHintForAudioContext()) {\\n options.latencyHint = 'playback'; // 'playback' is equivalent to 0.02s (20ms) on Windows\\n }\\n if (DefaultDeviceController.defaultLatencyHint) {\\n options.latencyHint = DefaultDeviceController.defaultLatencyHint;\\n }\\n DefaultDeviceController.audioContext = new (window.AudioContext ||\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n window.webkitAudioContext)(options);\\n }\\n return DefaultDeviceController.audioContext;\\n }\\n static closeAudioContext() {\\n if (DefaultDeviceController.audioContext) {\\n try {\\n DefaultDeviceController.audioContext.close();\\n }\\n catch (e) {\\n // Nothing we can do.\\n }\\n }\\n DefaultDeviceController.audioContext = null;\\n }\\n addMediaStreamBrokerObserver(observer) {\\n this.mediaStreamBrokerObservers.add(observer);\\n }\\n removeMediaStreamBrokerObserver(observer) {\\n this.mediaStreamBrokerObservers.delete(observer);\\n }\\n publishVideoInputDidChangeEvent(videoStream) {\\n this.forEachMediaStreamBrokerObserver((observer) => {\\n if (observer.videoInputDidChange) {\\n observer.videoInputDidChange(videoStream);\\n }\\n });\\n this.pushVideoMeetingStateForPermissions(videoStream);\\n }\\n publishAudioInputDidChangeEvent(audioStream) {\\n this.forEachMediaStreamBrokerObserver((observer) => {\\n if (observer.audioInputDidChange) {\\n observer.audioInputDidChange(audioStream);\\n }\\n });\\n this.pushAudioMeetingStateForPermissions(audioStream);\\n }\\n publishAudioOutputDidChangeEvent(device) {\\n this.forEachMediaStreamBrokerObserver((observer) => {\\n if (observer.audioOutputDidChange) {\\n observer.audioOutputDidChange(device);\\n }\\n });\\n }\\n supportSampleRateConstraint() {\\n return this.useWebAudio && !!navigator.mediaDevices.getSupportedConstraints().sampleRate;\\n }\\n supportSampleSizeConstraint() {\\n return this.useWebAudio && !!navigator.mediaDevices.getSupportedConstraints().sampleSize;\\n }\\n supportChannelCountConstraint() {\\n return this.useWebAudio && !!navigator.mediaDevices.getSupportedConstraints().channelCount;\\n }\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n trace(name, input, output) {\\n let s = `API/DefaultDeviceController/${name}`;\\n if (typeof input !== 'undefined') {\\n s += ` ${JSON.stringify(input)}`;\\n }\\n if (typeof output !== 'undefined') {\\n s += ` -> ${JSON.stringify(output)}`;\\n }\\n this.logger.info(s);\\n }\\n}\\nexports[\\\"default\\\"] = DefaultDeviceController;\\nDefaultDeviceController.permissionDeniedOriginDetectionThresholdMs = 500;\\nDefaultDeviceController.defaultVideoWidth = 960;\\nDefaultDeviceController.defaultVideoHeight = 540;\\nDefaultDeviceController.defaultVideoFrameRate = 15;\\nDefaultDeviceController.defaultSampleRate = 48000;\\nDefaultDeviceController.defaultSampleSize = 16;\\nDefaultDeviceController.defaultChannelCount = 1;\\nDefaultDeviceController.audioContext = null;\\nfunction isMediaDeviceInfo(device) {\\n return (typeof device === 'object' &&\\n 'deviceId' in device &&\\n 'groupId' in device &&\\n 'kind' in device &&\\n 'label' in device);\\n}\\n//# sourceMappingURL=DefaultDeviceController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicecontroller/DefaultDeviceController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicecontroller/DeviceSelection.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicecontroller/DeviceSelection.js ***!\n \\************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass DeviceSelection {\\n constructor() {\\n this.groupId = '';\\n }\\n matchesConstraints(constraints) {\\n return JSON.stringify(this.constraints) === JSON.stringify(constraints);\\n }\\n}\\nexports[\\\"default\\\"] = DeviceSelection;\\n//# sourceMappingURL=DeviceSelection.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicecontroller/DeviceSelection.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicecontroller/GetUserMediaError.js\":\n/*!**************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicecontroller/GetUserMediaError.js ***!\n \\**************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass GetUserMediaError extends Error {\\n constructor(cause, message) {\\n super(message || 'Error fetching device.');\\n this.cause = cause;\\n this.name = 'GetUserMediaError';\\n }\\n}\\nexports[\\\"default\\\"] = GetUserMediaError;\\n//# sourceMappingURL=GetUserMediaError.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicecontroller/GetUserMediaError.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicecontroller/NoOpDeviceController.js\":\n/*!*****************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicecontroller/NoOpDeviceController.js ***!\n \\*****************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.NoOpDeviceControllerWithEventController = void 0;\\nconst NoOpMediaStreamBroker_1 = __webpack_require__(/*! ../mediastreambroker/NoOpMediaStreamBroker */ \\\"./node_modules/amazon-chime-sdk-js/build/mediastreambroker/NoOpMediaStreamBroker.js\\\");\\nclass NoOpDeviceController extends NoOpMediaStreamBroker_1.default {\\n constructor(_options) {\\n super();\\n this.destroyed = false;\\n }\\n destroy() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.destroyed = true;\\n });\\n }\\n listAudioInputDevices() {\\n return Promise.resolve([]);\\n }\\n listVideoInputDevices() {\\n return Promise.resolve([]);\\n }\\n listAudioOutputDevices() {\\n return Promise.resolve([]);\\n }\\n startAudioInput(_device) {\\n return Promise.reject();\\n }\\n stopAudioInput() {\\n return Promise.resolve();\\n }\\n startVideoInput(_device) {\\n return Promise.reject();\\n }\\n stopVideoInput() {\\n return Promise.resolve();\\n }\\n chooseAudioOutput(_deviceId) {\\n return Promise.reject();\\n }\\n addDeviceChangeObserver(_observer) { }\\n removeDeviceChangeObserver(_observer) { }\\n createAnalyserNodeForAudioInput() {\\n return null;\\n }\\n startVideoPreviewForVideoInput(_element) { }\\n stopVideoPreviewForVideoInput(_element) { }\\n setDeviceLabelTrigger(_trigger) { }\\n mixIntoAudioInput(_stream) {\\n return null;\\n }\\n chooseVideoInputQuality(_width, _height, _frameRate) { }\\n getVideoInputQualitySettings() {\\n return null;\\n }\\n}\\nexports[\\\"default\\\"] = NoOpDeviceController;\\nclass NoOpDeviceControllerWithEventController extends NoOpDeviceController {\\n constructor(eventController) {\\n super();\\n this.eventController = eventController;\\n }\\n}\\nexports.NoOpDeviceControllerWithEventController = NoOpDeviceControllerWithEventController;\\n//# sourceMappingURL=NoOpDeviceController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicecontroller/NoOpDeviceController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicecontroller/NotFoundError.js\":\n/*!**********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicecontroller/NotFoundError.js ***!\n \\**********************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst GetUserMediaError_1 = __webpack_require__(/*! ./GetUserMediaError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/GetUserMediaError.js\\\");\\nclass NotFoundError extends GetUserMediaError_1.default {\\n constructor(cause) {\\n super(cause);\\n this.name = 'NotFoundError';\\n }\\n}\\nexports[\\\"default\\\"] = NotFoundError;\\n//# sourceMappingURL=NotFoundError.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicecontroller/NotFoundError.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicecontroller/NotReadableError.js\":\n/*!*************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicecontroller/NotReadableError.js ***!\n \\*************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst GetUserMediaError_1 = __webpack_require__(/*! ./GetUserMediaError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/GetUserMediaError.js\\\");\\nclass NotReadableError extends GetUserMediaError_1.default {\\n constructor(cause) {\\n super(cause);\\n this.name = 'NotReadableError';\\n }\\n}\\nexports[\\\"default\\\"] = NotReadableError;\\n//# sourceMappingURL=NotReadableError.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicecontroller/NotReadableError.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicecontroller/OverconstrainedError.js\":\n/*!*****************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicecontroller/OverconstrainedError.js ***!\n \\*****************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst GetUserMediaError_1 = __webpack_require__(/*! ./GetUserMediaError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/GetUserMediaError.js\\\");\\nclass OverconstrainedError extends GetUserMediaError_1.default {\\n constructor(cause, constraint) {\\n super(cause);\\n this.constraint = constraint;\\n this.name = 'OverconstrainedError';\\n }\\n}\\nexports[\\\"default\\\"] = OverconstrainedError;\\n//# sourceMappingURL=OverconstrainedError.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicecontroller/OverconstrainedError.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicecontroller/PermissionDeniedError.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicecontroller/PermissionDeniedError.js ***!\n \\******************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst GetUserMediaError_1 = __webpack_require__(/*! ./GetUserMediaError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/GetUserMediaError.js\\\");\\nclass PermissionDeniedError extends GetUserMediaError_1.default {\\n constructor(cause, message) {\\n super(cause, message);\\n this.name = 'PermissionDeniedError';\\n }\\n}\\nexports[\\\"default\\\"] = PermissionDeniedError;\\n//# sourceMappingURL=PermissionDeniedError.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicecontroller/PermissionDeniedError.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicecontroller/SingleNodeAudioTransformDevice.js\":\n/*!***************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicecontroller/SingleNodeAudioTransformDevice.js ***!\n \\***************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * This class simplifies the process of defining a transform device that\\n * does not modify its input device constraints, and provides only a single audio node\\n * to apply transforms.\\n *\\n * Subclass `SingleNodeAudioTransformDevice`, implementing `createSingleAudioNode`.\\n */\\nclass SingleNodeAudioTransformDevice {\\n constructor(inner) {\\n this.inner = inner;\\n }\\n mute(_muted) {\\n return __awaiter(this, void 0, void 0, function* () { });\\n }\\n /**\\n * `stop` should be called by the application to free any resources associated\\n * with the device (e.g., workers).\\n *\\n * After this is called, the device should be discarded.\\n */\\n stop() {\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n (_a = this.node) === null || _a === void 0 ? void 0 : _a.disconnect();\\n });\\n }\\n /**\\n * Return the inner {@link Device} that the device controller should select as part\\n * of the application of this `AudioTransformDevice`.\\n */\\n intrinsicDevice() {\\n return __awaiter(this, void 0, void 0, function* () {\\n return this.inner;\\n });\\n }\\n /**\\n * Optionally return a pair of `AudioNode`s that should be connected to the applied inner\\n * device. The two nodes can be the same, indicating the smallest possible subgraph.\\n *\\n * @param context The `AudioContext` to use when instantiating the nodes.\\n */\\n createAudioNode(context) {\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n (_a = this.node) === null || _a === void 0 ? void 0 : _a.disconnect();\\n this.node = yield this.createSingleAudioNode(context);\\n return {\\n start: this.node,\\n end: this.node,\\n };\\n });\\n }\\n}\\nexports[\\\"default\\\"] = SingleNodeAudioTransformDevice;\\n//# sourceMappingURL=SingleNodeAudioTransformDevice.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicecontroller/SingleNodeAudioTransformDevice.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicecontroller/TypeError.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicecontroller/TypeError.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst GetUserMediaError_1 = __webpack_require__(/*! ./GetUserMediaError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/GetUserMediaError.js\\\");\\nclass TypeError extends GetUserMediaError_1.default {\\n constructor(cause) {\\n super(cause);\\n this.name = 'TypeError';\\n }\\n}\\nexports[\\\"default\\\"] = TypeError;\\n//# sourceMappingURL=TypeError.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicecontroller/TypeError.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicecontroller/VideoQualitySettings.js\":\n/*!*****************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicecontroller/VideoQualitySettings.js ***!\n \\*****************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass VideoQualitySettings {\\n constructor(videoWidth, videoHeight, videoFrameRate) {\\n this.videoWidth = videoWidth;\\n this.videoHeight = videoHeight;\\n this.videoFrameRate = videoFrameRate;\\n }\\n}\\nexports[\\\"default\\\"] = VideoQualitySettings;\\n//# sourceMappingURL=VideoQualitySettings.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicecontroller/VideoQualitySettings.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicecontroller/VideoTransformDevice.js\":\n/*!*****************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicecontroller/VideoTransformDevice.js ***!\n \\*****************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.isVideoTransformDevice = void 0;\\n/**\\n * `isVideoTransformDevice` is a type guard for {@link VideoTransformDevice}.\\n *\\n * @param device the value to check.\\n */\\nfunction isVideoTransformDevice(device) {\\n return (!!device &&\\n typeof device === 'object' &&\\n 'transformStream' in device &&\\n 'stop' in device &&\\n 'intrinsicDevice' in device);\\n}\\nexports.isVideoTransformDevice = isVideoTransformDevice;\\n//# sourceMappingURL=VideoTransformDevice.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicecontroller/VideoTransformDevice.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicepixelratiomonitor/DefaultDevicePixelRatioMonitor.js\":\n/*!**********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicepixelratiomonitor/DefaultDevicePixelRatioMonitor.js ***!\n \\**********************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass DefaultDevicePixelRatioMonitor {\\n constructor(devicePixelRatioSource, logger) {\\n this.devicePixelRatioSource = devicePixelRatioSource;\\n this.observerQueue = new Set();\\n this.mediaQueryListener = () => {\\n this.observerQueue.forEach(tileObserver => {\\n tileObserver.devicePixelRatioChanged(this.devicePixelRatioSource.devicePixelRatio());\\n });\\n };\\n if (typeof window === 'undefined') {\\n return;\\n }\\n const mediaQueryList = matchMedia(`(resolution: ${this.devicePixelRatioSource.devicePixelRatio()}dppx)`);\\n if (typeof mediaQueryList.addEventListener === 'function') {\\n mediaQueryList.addEventListener('change', this.mediaQueryListener);\\n this.mediaQueryList = mediaQueryList;\\n }\\n else if (typeof mediaQueryList.addListener === 'function') {\\n mediaQueryList.addListener(this.mediaQueryListener);\\n this.mediaQueryList = mediaQueryList;\\n }\\n else {\\n logger.warn('ignoring DefaultDevicePixelRatioMonitor');\\n }\\n }\\n destroy() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.mediaQueryList) {\\n if (typeof this.mediaQueryList.addEventListener === 'function') {\\n this.mediaQueryList.removeEventListener('change', this.mediaQueryListener);\\n }\\n else {\\n this.mediaQueryList.removeListener(this.mediaQueryListener);\\n }\\n }\\n delete this.mediaQueryListener;\\n this.observerQueue.clear();\\n });\\n }\\n registerObserver(observer) {\\n this.observerQueue.add(observer);\\n observer.devicePixelRatioChanged(this.devicePixelRatioSource.devicePixelRatio());\\n }\\n removeObserver(observer) {\\n this.observerQueue.delete(observer);\\n }\\n}\\nexports[\\\"default\\\"] = DefaultDevicePixelRatioMonitor;\\n//# sourceMappingURL=DefaultDevicePixelRatioMonitor.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicepixelratiomonitor/DefaultDevicePixelRatioMonitor.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/devicepixelratiosource/DevicePixelRatioWindowSource.js\":\n/*!*******************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/devicepixelratiosource/DevicePixelRatioWindowSource.js ***!\n \\*******************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass DevicePixelRatioWindowSource {\\n devicePixelRatio() {\\n if (typeof window === 'undefined' || !window || !window.devicePixelRatio) {\\n return 1;\\n }\\n return window.devicePixelRatio;\\n }\\n}\\nexports[\\\"default\\\"] = DevicePixelRatioWindowSource;\\n//# sourceMappingURL=DevicePixelRatioWindowSource.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/devicepixelratiosource/DevicePixelRatioWindowSource.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/eventbuffer/InMemoryJSONEventBuffer.js\":\n/*!***************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/eventbuffer/InMemoryJSONEventBuffer.js ***!\n \\***************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nvar __rest = (this && this.__rest) || function (s, e) {\\n var t = {};\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\\n t[p] = s[p];\\n if (s != null && typeof Object.getOwnPropertySymbols === \\\"function\\\")\\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\\n t[p[i]] = s[p[i]];\\n }\\n return t;\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst FullJitterBackoff_1 = __webpack_require__(/*! ../backoff/FullJitterBackoff */ \\\"./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoff.js\\\");\\nconst IntervalScheduler_1 = __webpack_require__(/*! ../scheduler/IntervalScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/IntervalScheduler.js\\\");\\nconst DefaultUserAgentParser_1 = __webpack_require__(/*! ../useragentparser/DefaultUserAgentParser */ \\\"./node_modules/amazon-chime-sdk-js/build/useragentparser/DefaultUserAgentParser.js\\\");\\nconst Utils_1 = __webpack_require__(/*! ../utils/Utils */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Utils.js\\\");\\n/**\\n * [[InMemoryJSONEventBuffer]] is an in-memory implementation for buffering and\\n * sending events. It buffers events based on number of events and its size whichever reaches\\n * first. Events are sent out at an scheduled interval where important events are sent immediately.\\n * It also retries sending events if failed upto the retry count limit. It implements\\n * beaconing mechanism based on 'pagehide' and 'visibilitychange' to beacon all events as a last attempt.\\n */\\nclass InMemoryJSONEventBuffer {\\n constructor(eventBufferConfiguration, eventsClientConfiguration, ingestionURL, importantEvents, logger) {\\n this.buffer = [];\\n this.bufferSize = 0;\\n this.maxBufferItemCapacityBytes = 0;\\n this.ingestionEventSize = 0;\\n this.flushIntervalMs = 0;\\n this.flushSize = 0;\\n this.failedIngestionEvents = [];\\n this.retryCountLimit = 15;\\n this.lock = false;\\n this.cancellableEvents = new Map();\\n this.attributesToFilter = ['externalUserId', 'externalMeetingId', 'timestampMs'];\\n this.deepCopyCurrentIngestionEvent = (event) => {\\n const newEvent = {\\n type: event.type,\\n v: event.v,\\n payloads: [...event.payloads],\\n };\\n return newEvent;\\n };\\n this.sendEvents = () => __awaiter(this, void 0, void 0, function* () {\\n if (this.lock) {\\n return;\\n }\\n const batch = this.getItems(this.flushSize);\\n if (batch.length === 0) {\\n return;\\n }\\n this.lock = true;\\n const body = this.makeRequestBody(batch);\\n let failed = false;\\n // If a page re-directs, in Safari and Chrome, the network\\n // request shows cancelled but the data reaches the ingestion endpoint.\\n // In Firefox, the request errors out with 'NS_BINDING_ABORT' state. Hence, add the event\\n // to cancellable events to try with `sendBeacon` lastly.\\n const timestamp = Date.now();\\n if (this.metadata.browserName.toLowerCase() === 'firefox') {\\n this.cancellableEvents.set(timestamp, batch);\\n }\\n try {\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEvents - sending body ${body}`);\\n const response = yield this.send(body);\\n this.cancellableEvents.delete(timestamp);\\n if (!response.ok) {\\n this.logger.error(`Event Reporting - InMemoryJSONEventBuffer - sendEvents - Failed to send events ${body} with response status ${response.status}`);\\n failed = true;\\n }\\n else {\\n try {\\n const data = yield response.json();\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEvents - send successful events: ${body} message: ${JSON.stringify(data)}`);\\n }\\n catch (err) {\\n /* istanbul ignore next */\\n this.logger.warn(`Event Reporting - InMemoryJSONEventBuffer - sendEvents error reading OK response ${err} for events ${body}`);\\n }\\n }\\n }\\n catch (error) {\\n failed = true;\\n this.logger.warn(`Event Reporting - InMemoryJSONEventBuffer - sendEvents - Error in sending events ${body} to the ingestion endpoint ${error}`);\\n }\\n finally {\\n this.lock = false;\\n }\\n if (failed) {\\n this.cancellableEvents.delete(timestamp);\\n this.failedIngestionEvents.push(...batch);\\n }\\n });\\n const userAgentParserResult = new DefaultUserAgentParser_1.default(logger).getParserResult();\\n const { browserMajorVersion: _browserMajorVersion } = userAgentParserResult, clientMetadata = __rest(userAgentParserResult, [\\\"browserMajorVersion\\\"]);\\n const _a = eventsClientConfiguration.toJSON(), { type, v } = _a, rest = __rest(_a, [\\\"type\\\", \\\"v\\\"]);\\n this.authenticationToken = eventsClientConfiguration.getAuthenticationToken();\\n this.metadata = Object.assign(Object.assign({}, clientMetadata), rest);\\n Object.keys(this.metadata).forEach(key => this.attributesToFilter.push(key));\\n this.type = type;\\n this.v = v;\\n this.ingestionURL = ingestionURL;\\n this.logger = logger;\\n this.importantEvents = new Set(importantEvents);\\n const { maxBufferCapacityKb, totalBufferItems, flushSize, flushIntervalMs, retryCountLimit, } = eventBufferConfiguration;\\n this.maxBufferCapacityBytes = maxBufferCapacityKb * 1024;\\n this.totalBufferItems = totalBufferItems;\\n this.maxBufferItemCapacityBytes = Math.round(this.maxBufferCapacityBytes / totalBufferItems);\\n this.flushIntervalMs = flushIntervalMs;\\n this.flushSize = flushSize;\\n this.retryCountLimit = retryCountLimit;\\n this.currentIngestionEvent = this.initializeAndGetCurrentIngestionEvent();\\n this.beaconEventListener = (e) => this.beaconEventHandler(e);\\n this.addEventListeners();\\n }\\n addEventListeners() {\\n if (!this.beaconEventListener ||\\n !('window' in __webpack_require__.g) ||\\n !window.addEventListener ||\\n !('document' in __webpack_require__.g) ||\\n !document.addEventListener) {\\n return;\\n }\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - addEventListeners - adding pagehide and visibility change event listeners`);\\n window.addEventListener('pagehide', this.beaconEventListener);\\n document.addEventListener('visibilitychange', this.beaconEventListener);\\n }\\n beaconEventHandler(e) {\\n /* istanbul ignore else */\\n if ((e.type === 'visibilitychange' && document.visibilityState === 'hidden') ||\\n e.type === 'pagehide') {\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - beaconEventHandler is triggered calling sendBeacon`);\\n this.sendBeacon();\\n }\\n }\\n removeEventListeners() {\\n if (!this.beaconEventListener ||\\n !('window' in __webpack_require__.g) ||\\n !window.removeEventListener ||\\n !('document' in __webpack_require__.g) ||\\n !document.removeEventListener) {\\n return;\\n }\\n window.removeEventListener('pagehide', this.beaconEventListener);\\n document.removeEventListener('visibilitychange', this.beaconEventListener);\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - removeEventListeners - removing pagehide and visibility change event listeners`);\\n }\\n start() {\\n var _a;\\n this.removeEventListeners();\\n this.addEventListeners();\\n (_a = this.intervalScheduler) === null || _a === void 0 ? void 0 : _a.stop();\\n this.intervalScheduler = new IntervalScheduler_1.default(this.flushIntervalMs);\\n this.intervalScheduler.start(() => this.sendEvents());\\n }\\n stop() {\\n var _a;\\n (_a = this.intervalScheduler) === null || _a === void 0 ? void 0 : _a.stop();\\n this.intervalScheduler = undefined;\\n this.sendBeacon();\\n this.removeEventListeners();\\n }\\n addItem(item) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - addItem - received event ${JSON.stringify(item)}`);\\n const { name, ts, attributes } = item;\\n // Filter out PII and redundant attributes.\\n const filteredAttributes = attributes && this.filterAttributes(attributes, this.attributesToFilter);\\n const event = Object.assign({ name, ts }, filteredAttributes);\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - addItem - event after filtering attributes ${JSON.stringify(event)}`);\\n const size = this.getSize(event);\\n if (size > InMemoryJSONEventBuffer.MAX_ITEM_SIZE_BYTES_ALLOWED) {\\n throw new Error(`Event Reporting - Item to be added has size ${size} bytes. Item cannot exceed max item size allowed of ${InMemoryJSONEventBuffer.MAX_ITEM_SIZE_BYTES_ALLOWED} bytes.`);\\n }\\n if (this.importantEvents.has(name)) {\\n // Send immediate events and asyncly retry.\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - addItem - sending important event ${JSON.stringify(event)}`);\\n this.sendEventImmediately({ name, ts, attributes: filteredAttributes });\\n return;\\n }\\n if (this.isFull()) {\\n this.logger.warn('Event Reporting - Event buffer is full');\\n throw new Error('Buffer full');\\n }\\n this.currentIngestionEvent.payloads.push(event);\\n this.ingestionEventSize += size;\\n if (this.bufferItemThresholdReached(size)) {\\n const currentEvent = this.deepCopyCurrentIngestionEvent(this.currentIngestionEvent);\\n this.buffer.push(currentEvent);\\n this.bufferSize += this.ingestionEventSize;\\n this.currentIngestionEvent = this.initializeAndGetCurrentIngestionEvent();\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - addItem - buffer item threshold reached updated buffer ${JSON.stringify(this.buffer)}`);\\n }\\n });\\n }\\n filterAttributes(attributes, attributesToFilter) {\\n const attributesToFilterSet = new Set(attributesToFilter);\\n const keysToFilterOut = Object.keys(attributes).filter(key => attributesToFilterSet.has(key));\\n keysToFilterOut.forEach(key => delete attributes[key]);\\n return attributes;\\n }\\n initializeAndGetCurrentIngestionEvent() {\\n const bufferItem = {\\n type: this.type,\\n v: this.v,\\n payloads: [],\\n };\\n this.ingestionEventSize = this.getSize(bufferItem);\\n return bufferItem;\\n }\\n bufferItemThresholdReached(size) {\\n return (size + this.ingestionEventSize >= this.maxBufferItemCapacityBytes ||\\n this.currentIngestionEvent.payloads.length === InMemoryJSONEventBuffer.MAX_PAYLOAD_ITEMS);\\n }\\n getSize(item) {\\n let bytes = 0;\\n if (typeof item === 'object') {\\n for (const [key, value] of Object.entries(item)) {\\n bytes += this.getPrimitiveSize(key);\\n bytes += this.getSize(value);\\n }\\n }\\n else {\\n bytes += this.getPrimitiveSize(item);\\n }\\n return bytes;\\n }\\n getPrimitiveSize(item) {\\n let bytes = 0;\\n /* istanbul ignore else */\\n if (typeof item === 'string') {\\n bytes += item.length * 2;\\n }\\n else if (typeof item === 'number') {\\n bytes += 8;\\n }\\n return bytes;\\n }\\n isFull() {\\n return (this.bufferSize === this.maxBufferCapacityBytes ||\\n this.buffer.length === this.totalBufferItems);\\n }\\n isEmpty() {\\n return this.buffer.length === 0 || this.bufferSize === 0;\\n }\\n getItems(end, start = 0) {\\n if (this.isEmpty()) {\\n return [];\\n }\\n end = Math.min(this.buffer.length, end + 1);\\n const items = this.buffer.splice(start, end);\\n return items;\\n }\\n makeBeaconRequestBody(batchEvents) {\\n const ingestionRecord = {\\n metadata: this.metadata,\\n events: batchEvents,\\n authorization: this.authenticationToken,\\n };\\n return JSON.stringify(ingestionRecord);\\n }\\n makeRequestBody(batchEvents) {\\n const ingestionRecord = {\\n metadata: this.metadata,\\n events: batchEvents,\\n };\\n return JSON.stringify(ingestionRecord);\\n }\\n sendEventImmediately(item) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - important event received ${JSON.stringify(item)}`);\\n const { name, ts, attributes } = item;\\n const event = {\\n type: this.type,\\n v: this.v,\\n payloads: [\\n Object.assign({ name,\\n ts }, attributes),\\n ],\\n };\\n let failed = false;\\n let response = null;\\n const body = this.makeRequestBody([event]);\\n try {\\n response = yield this.send(body);\\n if (response.ok) {\\n try {\\n const data = yield response.json();\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - send successful event: ${body}, message: ${JSON.stringify(data)}`);\\n }\\n catch (err) {\\n /* istanbul ignore next */\\n this.logger.warn(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - Error reading OK response ${err} for event ${body}`);\\n }\\n return;\\n }\\n else {\\n this.logger.error(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - Failed to send an important event ${body} with response status ${response.status}`);\\n failed = true;\\n }\\n }\\n catch (error) {\\n this.logger.warn(`Event Reporting - There may be a failure in sending an important event ${body} to the ingestion endpoint ${error}.`);\\n failed = true;\\n try {\\n /**\\n * Important events like meetingEnded, meetingStartFailed may result into page-redirects.\\n * In such a case, Firefox aborts the fetch request with 'NS_BINDING_ABORT' state.\\n * Chrome and Safari show fetch request as cancelled and the fetch failure is catched, but,\\n * events appear at ingestion backend. Chrome and Safari behavior is unreliable, but Firefox consistently fails,\\n * hence, we beacon data as a last resort when using Firefox.\\n * During the page-redirect, we do not have access to check fetch's response to handle Chrome and Safari behavior,\\n * hence, event ingestion may fail.\\n *\\n */\\n if (this.metadata.browserName.toLowerCase() === 'firefox') {\\n const body = this.makeBeaconRequestBody([event]);\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - beaconing data out ${body}`);\\n if (!navigator.sendBeacon(`${this.ingestionURL}?beacon=1`, body)) {\\n failed = true;\\n }\\n else {\\n failed = false;\\n }\\n }\\n }\\n catch (error) {\\n this.logger.warn(`Event Reporting - Error sending beacon for an important event ${body}`);\\n failed = true;\\n }\\n }\\n /* istanbul ignore else */\\n if (failed) {\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - pushing to failed events ${body}`);\\n this.failedIngestionEvents.push(event);\\n }\\n });\\n }\\n send(data) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const backoff = new FullJitterBackoff_1.default(InMemoryJSONEventBuffer.RETRY_FIXED_BACKOFF_WAIT_MS, InMemoryJSONEventBuffer.RETRY_SHORT_BACKOFF_MS, InMemoryJSONEventBuffer.RETRY_LONG_BACKOFF_MS);\\n try {\\n let retryCount = 0;\\n while (retryCount < this.retryCountLimit) {\\n const response = yield fetch(this.ingestionURL, {\\n method: 'POST',\\n headers: {\\n Authorization: `Bearer ${this.authenticationToken}`,\\n },\\n body: data,\\n });\\n if (response.ok || !InMemoryJSONEventBuffer.SENDING_FAILURE_CODES.has(response.status)) {\\n return response;\\n }\\n else {\\n this.logger.warn(`Will retry sending failure for ${data} due to status code ${response.status}.`);\\n retryCount++;\\n /* istanbul ignore else */\\n if (retryCount < this.retryCountLimit) {\\n const backoffTime = backoff.nextBackoffAmountMs();\\n yield Utils_1.wait(backoffTime);\\n }\\n }\\n }\\n /* istanbul ignore else */\\n if (retryCount === this.retryCountLimit) {\\n throw new Error(`Retry count limit reached for ${data}`);\\n }\\n }\\n catch (error) {\\n throw error;\\n }\\n });\\n }\\n sendBeacon() {\\n return __awaiter(this, void 0, void 0, function* () {\\n // Any pending events from buffer.\\n const events = this.buffer;\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - clearing out buffer events ${JSON.stringify(events)}`);\\n this.buffer = [];\\n // Any pending event in current ingestion event.\\n if (this.currentIngestionEvent.payloads.length > 0) {\\n const clearCurrenIngestionEvent = this.deepCopyCurrentIngestionEvent(this.currentIngestionEvent);\\n events.push(clearCurrenIngestionEvent);\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - clearing out current ingestion event ${JSON.stringify(clearCurrenIngestionEvent)}`);\\n this.currentIngestionEvent = this.initializeAndGetCurrentIngestionEvent();\\n }\\n // Any failed ingestion events which were sent before.\\n if (this.failedIngestionEvents.length > 0) {\\n const failedRecordsCopy = this.failedIngestionEvents.map(record => this.deepCopyCurrentIngestionEvent(record));\\n events.push(...failedRecordsCopy);\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - clearing out any failed ingestion event ${JSON.stringify(failedRecordsCopy)}`);\\n this.failedIngestionEvents = [];\\n }\\n // Any cancelled requests due to page-redirects.\\n if (this.cancellableEvents.size > 0) {\\n this.cancellableEvents.forEach(value => {\\n events.push(...value);\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - clearing out each cancellable event ${JSON.stringify(value)}`);\\n });\\n this.cancellableEvents.clear();\\n }\\n if (events.length === 0) {\\n return;\\n }\\n const beaconData = this.makeBeaconRequestBody(events);\\n this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - beacon data to send ${beaconData}`);\\n try {\\n /* istanbul ignore else */\\n if (!navigator.sendBeacon(`${this.ingestionURL}?beacon=1`, beaconData)) {\\n this.logger.warn(`Event Reporting - Browser failed to queue beacon data ${beaconData}`);\\n }\\n }\\n catch (error) {\\n this.logger.warn(`Event Reporting - Sending beacon data ${beaconData} failed with error ${error}`);\\n }\\n });\\n }\\n reset() {\\n this.maxBufferCapacityBytes = 0;\\n this.totalBufferItems = 0;\\n this.buffer = [];\\n this.bufferSize = 0;\\n this.maxBufferItemCapacityBytes = 0;\\n this.ingestionEventSize = 0;\\n this.flushIntervalMs = 0;\\n this.flushSize = 0;\\n this.failedIngestionEvents = [];\\n this.lock = false;\\n this.beaconEventListener = undefined;\\n this.cancellableEvents.clear();\\n }\\n destroy() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.stop();\\n this.reset();\\n });\\n }\\n}\\nexports[\\\"default\\\"] = InMemoryJSONEventBuffer;\\nInMemoryJSONEventBuffer.SENDING_FAILURE_CODES = new Set([\\n 408,\\n 429,\\n 500,\\n 502,\\n 503,\\n 504, // Gateway Timeout.\\n]);\\nInMemoryJSONEventBuffer.RETRY_FIXED_BACKOFF_WAIT_MS = 0;\\nInMemoryJSONEventBuffer.RETRY_SHORT_BACKOFF_MS = 1000;\\nInMemoryJSONEventBuffer.RETRY_LONG_BACKOFF_MS = 15000;\\nInMemoryJSONEventBuffer.MAX_PAYLOAD_ITEMS = 2;\\nInMemoryJSONEventBuffer.MAX_ITEM_SIZE_BYTES_ALLOWED = 3000;\\n//# sourceMappingURL=InMemoryJSONEventBuffer.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/eventbuffer/InMemoryJSONEventBuffer.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/eventbufferconfiguration/EventBufferConfiguration.js\":\n/*!*****************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/eventbufferconfiguration/EventBufferConfiguration.js ***!\n \\*****************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[EventBufferConfiguration]] contains necessary information to\\n * configure buffer.\\n */\\nclass EventBufferConfiguration {\\n constructor(flushIntervalMs = 5000, flushSize = 2, maxBufferCapacityKb = 64, totalBufferItems = 100, retryCountLimit = 15) {\\n this.flushIntervalMs = flushIntervalMs;\\n this.flushSize = flushSize;\\n this.maxBufferCapacityKb = maxBufferCapacityKb;\\n this.totalBufferItems = totalBufferItems;\\n this.retryCountLimit = retryCountLimit;\\n }\\n}\\nexports[\\\"default\\\"] = EventBufferConfiguration;\\n//# sourceMappingURL=EventBufferConfiguration.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/eventbufferconfiguration/EventBufferConfiguration.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/eventcontroller/DefaultEventController.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/eventcontroller/DefaultEventController.js ***!\n \\******************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst ua_parser_js_1 = __webpack_require__(/*! ua-parser-js */ \\\"./node_modules/ua-parser-js/src/ua-parser.js\\\");\\nconst Destroyable_1 = __webpack_require__(/*! ../destroyable/Destroyable */ \\\"./node_modules/amazon-chime-sdk-js/build/destroyable/Destroyable.js\\\");\\nconst EventIngestionConfiguration_1 = __webpack_require__(/*! ../eventingestionconfiguration/EventIngestionConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/eventingestionconfiguration/EventIngestionConfiguration.js\\\");\\nconst DefaultMeetingEventReporter_1 = __webpack_require__(/*! ../eventreporter/DefaultMeetingEventReporter */ \\\"./node_modules/amazon-chime-sdk-js/build/eventreporter/DefaultMeetingEventReporter.js\\\");\\nconst MeetingEventsClientConfiguration_1 = __webpack_require__(/*! ../eventsclientconfiguration/MeetingEventsClientConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/eventsclientconfiguration/MeetingEventsClientConfiguration.js\\\");\\nconst AsyncScheduler_1 = __webpack_require__(/*! ../scheduler/AsyncScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/AsyncScheduler.js\\\");\\nconst Versioning_1 = __webpack_require__(/*! ../versioning/Versioning */ \\\"./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js\\\");\\nconst flattenEventAttributes_1 = __webpack_require__(/*! ./flattenEventAttributes */ \\\"./node_modules/amazon-chime-sdk-js/build/eventcontroller/flattenEventAttributes.js\\\");\\nclass DefaultEventController {\\n constructor(configuration, logger, eventReporter) {\\n var _a, _b, _c, _d, _e, _f, _g;\\n this.meetingHistoryStates = [];\\n this.observerSet = new Set();\\n this.destroyed = false;\\n this.logger = logger;\\n this.configuration = configuration;\\n this.setupEventReporter(configuration, logger, eventReporter);\\n try {\\n this.parserResult =\\n navigator && navigator.userAgent ? new ua_parser_js_1.UAParser(navigator.userAgent).getResult() : null;\\n }\\n catch (error) {\\n // This seems to never happen with ua-parser-js in reality, even with malformed strings.\\n /* istanbul ignore next */\\n this.logger.error(error.message);\\n }\\n this.browserMajorVersion =\\n ((_c = (_b = (_a = this.parserResult) === null || _a === void 0 ? void 0 : _a.browser) === null || _b === void 0 ? void 0 : _b.version) === null || _c === void 0 ? void 0 : _c.split('.')[0]) || DefaultEventController.UNAVAILABLE;\\n this.browserName = ((_d = this.parserResult) === null || _d === void 0 ? void 0 : _d.browser.name) || DefaultEventController.UNAVAILABLE;\\n this.browserVersion = ((_e = this.parserResult) === null || _e === void 0 ? void 0 : _e.browser.version) || DefaultEventController.UNAVAILABLE;\\n this.deviceName =\\n [((_f = this.parserResult) === null || _f === void 0 ? void 0 : _f.device.vendor) || '', ((_g = this.parserResult) === null || _g === void 0 ? void 0 : _g.device.model) || '']\\n .join(' ')\\n .trim() || DefaultEventController.UNAVAILABLE;\\n }\\n addObserver(observer) {\\n this.observerSet.add(observer);\\n }\\n removeObserver(observer) {\\n this.observerSet.delete(observer);\\n }\\n forEachObserver(observerFunc) {\\n for (const observer of this.observerSet) {\\n AsyncScheduler_1.default.nextTick(() => {\\n /* istanbul ignore else */\\n if (this.observerSet.has(observer)) {\\n observerFunc(observer);\\n }\\n });\\n }\\n }\\n publishEvent(name, attributes) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const timestampMs = Date.now();\\n this.meetingHistoryStates.push({\\n name,\\n timestampMs,\\n });\\n // Make a single frozen copy of the event, reusing the object returned by\\n // `getAttributes` to avoid copying too much.\\n const eventAttributes = Object.freeze(Object.assign(this.getAttributes(timestampMs), attributes));\\n // Publishes event to observers\\n this.forEachObserver((observer) => {\\n observer.eventDidReceive(name, eventAttributes);\\n });\\n // Reports event to the ingestion service\\n this.reportEvent(name, timestampMs, attributes);\\n });\\n }\\n reportEvent(name, timestampMs, attributes) {\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n let flattenedAttributes;\\n try {\\n if (attributes) {\\n flattenedAttributes = flattenEventAttributes_1.default(attributes);\\n }\\n yield ((_a = this.eventReporter) === null || _a === void 0 ? void 0 : _a.reportEvent(timestampMs, name, flattenedAttributes));\\n }\\n catch (error) {\\n /* istanbul ignore next */\\n this.logger.error(`Error reporting event ${error}`);\\n }\\n });\\n }\\n setupEventReporter(configuration, logger, eventReporter) {\\n if (eventReporter) {\\n this._eventReporter = eventReporter;\\n }\\n else if (configuration.urls) {\\n // Attempts to set up a event reporter using the meeting configuration if one is not provided\\n const eventIngestionURL = configuration.urls.eventIngestionURL;\\n if (eventIngestionURL) {\\n this.logger.info(`Event ingestion URL is present in the configuration`);\\n const { meetingId, credentials: { attendeeId, joinToken }, } = configuration;\\n const meetingEventsClientConfiguration = new MeetingEventsClientConfiguration_1.default(meetingId, attendeeId, joinToken);\\n const eventIngestionConfiguration = new EventIngestionConfiguration_1.default(meetingEventsClientConfiguration, eventIngestionURL);\\n this._eventReporter = new DefaultMeetingEventReporter_1.default(eventIngestionConfiguration, logger);\\n }\\n }\\n }\\n getAttributes(timestampMs) {\\n var _a, _b;\\n return {\\n attendeeId: this.configuration.credentials.attendeeId,\\n browserMajorVersion: this.browserMajorVersion,\\n browserName: this.browserName,\\n browserVersion: this.browserVersion,\\n deviceName: this.deviceName,\\n externalMeetingId: typeof this.configuration.externalMeetingId === 'string'\\n ? this.configuration.externalMeetingId\\n : '',\\n externalUserId: this.configuration.credentials.externalUserId,\\n meetingHistory: this.meetingHistoryStates,\\n meetingId: this.configuration.meetingId,\\n osName: ((_a = this.parserResult) === null || _a === void 0 ? void 0 : _a.os.name) || DefaultEventController.UNAVAILABLE,\\n osVersion: ((_b = this.parserResult) === null || _b === void 0 ? void 0 : _b.os.version) || DefaultEventController.UNAVAILABLE,\\n sdkVersion: Versioning_1.default.sdkVersion,\\n sdkName: Versioning_1.default.sdkName,\\n timestampMs,\\n };\\n }\\n get eventReporter() {\\n return this._eventReporter;\\n }\\n /**\\n * Clean up this instance and resources that it created.\\n *\\n * After calling `destroy`, internal fields like `eventReporter` will be unavailable.\\n */\\n destroy() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (Destroyable_1.isDestroyable(this.eventReporter)) {\\n yield this.eventReporter.destroy();\\n }\\n this.logger = undefined;\\n this.configuration = undefined;\\n this._eventReporter = undefined;\\n this.destroyed = true;\\n });\\n }\\n}\\nexports[\\\"default\\\"] = DefaultEventController;\\nDefaultEventController.UNAVAILABLE = 'Unavailable';\\n//# sourceMappingURL=DefaultEventController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/eventcontroller/DefaultEventController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/eventcontroller/flattenEventAttributes.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/eventcontroller/flattenEventAttributes.js ***!\n \\******************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n *\\n * @param attributes Event attributes to flatten.\\n * @returns flattened event attributes.\\n * Note: This function needs to be extended to support 'Array', 'object'\\n * as value types within the event attributes if added later.\\n */\\nconst flattenEventAttributes = (attributes) => {\\n const flattenedAttributes = {};\\n for (const [key, value] of Object.entries(attributes)) {\\n if (value === null || value === undefined || value === '') {\\n continue;\\n }\\n else if (typeof value === 'number' || typeof value === 'string') {\\n flattenedAttributes[key] = value;\\n }\\n else {\\n throw new TypeError('Unhandled type received while flattening attributes.');\\n }\\n }\\n return flattenedAttributes;\\n};\\nexports[\\\"default\\\"] = flattenEventAttributes;\\n//# sourceMappingURL=flattenEventAttributes.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/eventcontroller/flattenEventAttributes.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/eventingestionconfiguration/EventIngestionConfiguration.js\":\n/*!***********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/eventingestionconfiguration/EventIngestionConfiguration.js ***!\n \\***********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst EventBufferConfiguration_1 = __webpack_require__(/*! ../eventbufferconfiguration/EventBufferConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/eventbufferconfiguration/EventBufferConfiguration.js\\\");\\n/**\\n * [[EventIngestionConfiguration]] contains necessary information to\\n * report events to the ingestion service.\\n */\\nclass EventIngestionConfiguration {\\n constructor(eventsClientConfiguration, ingestionURL, eventBufferConfiguration = new EventBufferConfiguration_1.default()) {\\n this.eventsClientConfiguration = eventsClientConfiguration;\\n this.ingestionURL = ingestionURL;\\n this.eventBufferConfiguration = eventBufferConfiguration;\\n }\\n}\\nexports[\\\"default\\\"] = EventIngestionConfiguration;\\n//# sourceMappingURL=EventIngestionConfiguration.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/eventingestionconfiguration/EventIngestionConfiguration.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/eventreporter/DefaultMeetingEventReporter.js\":\n/*!*********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/eventreporter/DefaultMeetingEventReporter.js ***!\n \\*********************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst Destroyable_1 = __webpack_require__(/*! ../destroyable/Destroyable */ \\\"./node_modules/amazon-chime-sdk-js/build/destroyable/Destroyable.js\\\");\\nconst InMemoryJSONEventBuffer_1 = __webpack_require__(/*! ../eventbuffer/InMemoryJSONEventBuffer */ \\\"./node_modules/amazon-chime-sdk-js/build/eventbuffer/InMemoryJSONEventBuffer.js\\\");\\nclass DefaultMeetingEventReporter {\\n constructor(eventIngestionConfiguration, logger) {\\n this.reportingEvents = false;\\n this.importantEvents = [\\n 'meetingEnded',\\n 'meetingFailed',\\n 'meetingStartFailed',\\n 'audioInputFailed',\\n 'videoInputFailed',\\n 'meetingStartSucceeded',\\n ];\\n this.destroyed = false;\\n const { eventsClientConfiguration, ingestionURL, eventBufferConfiguration, } = eventIngestionConfiguration;\\n const { eventsToIgnore } = eventsClientConfiguration;\\n this.eventBuffer = new InMemoryJSONEventBuffer_1.default(eventBufferConfiguration, eventsClientConfiguration, ingestionURL, this.importantEvents, logger);\\n this.logger = logger;\\n this.eventsToIgnore = eventsToIgnore;\\n this.start();\\n }\\n start() {\\n if (this.reportingEvents) {\\n return;\\n }\\n try {\\n this.eventBuffer.start();\\n this.logger.info('Event reporting started');\\n this.reportingEvents = true;\\n }\\n catch (error) {\\n /* istanbul ignore next */\\n this.logger.error(`Event Reporting - Error starting the event buffer ${error}`);\\n }\\n }\\n stop() {\\n if (!this.reportingEvents) {\\n return;\\n }\\n try {\\n this.eventBuffer.stop();\\n this.logger.info('Event reporting stopped');\\n this.reportingEvents = false;\\n }\\n catch (error) {\\n /* istanbul ignore next */\\n this.logger.error(`Event Reporting - Error stopping the event buffer ${error}`);\\n }\\n }\\n reportEvent(ts, name, attributes) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.logger.debug(`Event Reporting - DefaultMeetingEventReporter - event received in reportEvent ${ts}, ${name}, ${JSON.stringify(attributes)}`);\\n if (this.eventsToIgnore.includes(name)) {\\n this.logger.debug(`Event Reporting - DefaultMeetingEventReporter - ${name} event will be ignored as it is in events to ignore`);\\n return;\\n }\\n try {\\n this.logger.debug(`Event Reporting - DefaultMeetingEventReporter - adding item to event buffer`);\\n yield this.eventBuffer.addItem({ ts, name, attributes });\\n }\\n catch (error) {\\n this.logger.error(`Event Reporting - Error adding event to buffer ${error}`);\\n }\\n });\\n }\\n destroy() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.destroyed = true;\\n this.stop();\\n /* istanbul ignore else */\\n if (Destroyable_1.isDestroyable(this.eventBuffer)) {\\n this.eventBuffer.destroy();\\n }\\n this.eventBuffer = undefined;\\n });\\n }\\n}\\nexports[\\\"default\\\"] = DefaultMeetingEventReporter;\\n//# sourceMappingURL=DefaultMeetingEventReporter.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/eventreporter/DefaultMeetingEventReporter.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/eventreporter/NoOpEventReporter.js\":\n/*!***********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/eventreporter/NoOpEventReporter.js ***!\n \\***********************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass NoOpEventReporter {\\n constructor() { }\\n reportEvent(_ts, _name, _attributes) {\\n return;\\n }\\n start() { }\\n stop() { }\\n}\\nexports[\\\"default\\\"] = NoOpEventReporter;\\n//# sourceMappingURL=NoOpEventReporter.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/eventreporter/NoOpEventReporter.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/eventsclientconfiguration/MeetingEventsClientConfiguration.js\":\n/*!**************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/eventsclientconfiguration/MeetingEventsClientConfiguration.js ***!\n \\**************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[MeetingEventsClientConfiguration]] contains necessary information to\\n * report meeting events metadata to each event while sending events to the ingestion service.\\n */\\nclass MeetingEventsClientConfiguration {\\n constructor(meetingId, attendeeId, authenticationToken, eventsToIgnore = []) {\\n this.type = 'Meet';\\n this.v = 1;\\n this.meetingId = meetingId;\\n this.attendeeId = attendeeId;\\n this.eventsToIgnore = eventsToIgnore;\\n this.authenticationToken = authenticationToken;\\n }\\n getAuthenticationToken() {\\n return this.authenticationToken;\\n }\\n toJSON() {\\n const attributes = {};\\n attributes.type = this.type;\\n attributes.v = this.v;\\n attributes.meetingId = this.meetingId;\\n attributes.attendeeId = this.attendeeId;\\n return attributes;\\n }\\n}\\nexports[\\\"default\\\"] = MeetingEventsClientConfiguration;\\n//# sourceMappingURL=MeetingEventsClientConfiguration.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/eventsclientconfiguration/MeetingEventsClientConfiguration.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/index.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/index.js ***!\n \\*********************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.DefaultEventController = exports.DefaultDevicePixelRatioMonitor = exports.DefaultDeviceController = exports.DefaultContentShareController = exports.DefaultBrowserBehavior = exports.DefaultAudioVideoFacade = exports.DefaultAudioVideoController = exports.DefaultAudioMixController = exports.DefaultActiveSpeakerPolicy = exports.DefaultActiveSpeakerDetector = exports.DataMessage = exports.CreateSDPTask = exports.CreatePeerConnectionTask = exports.ContentShareMediaStreamBroker = exports.ContentShareConstants = exports.ConsoleLogger = exports.ConnectionHealthPolicyConfiguration = exports.ConnectionHealthData = exports.ClientVideoStreamReceivingReport = exports.ClientMetricReportMediaType = exports.ClientMetricReportDirection = exports.ClientMetricReport = exports.CleanStoppedSessionTask = exports.CleanRestartedSessionTask = exports.CheckVideoInputFeedback = exports.CheckVideoConnectivityFeedback = exports.CheckNetworkUDPConnectivityFeedback = exports.CheckNetworkTCPConnectivityFeedback = exports.CheckContentShareConnectivityFeedback = exports.CheckCameraResolutionFeedback = exports.CheckAudioOutputFeedback = exports.CheckAudioInputFeedback = exports.CheckAudioConnectivityFeedback = exports.CanvasVideoFrameBuffer = exports.CSPMonitor = exports.BitrateParameters = exports.BaseTask = exports.BaseConnectionHealthPolicy = exports.BackgroundReplacementVideoFrameProcessor = exports.BackgroundFilterVideoFrameProcessor = exports.BackgroundBlurVideoFrameProcessor = exports.BackgroundBlurStrength = exports.AudioVideoControllerState = exports.AudioProfile = exports.AudioLogEvent = exports.Attendee = exports.AttachMediaInputTask = exports.AsyncScheduler = exports.ApplicationMetadata = exports.AllHighestVideoBandwidthPolicy = void 0;\\nexports.MeetingSessionCredentials = exports.MeetingSessionConfiguration = exports.MeetingReadinessCheckerConfiguration = exports.MeetingEventsClientConfiguration = exports.MediaDeviceProxyHandler = exports.Maybe = exports.LogLevel = exports.Log = exports.ListenForVolumeIndicatorsTask = exports.LeaveAndReceiveLeaveAckTask = exports.JoinAndReceiveIndexTask = exports.IntervalScheduler = exports.InMemoryJSONEventBuffer = exports.GlobalMetricReport = exports.GetUserMediaError = exports.FullJitterLimitedBackoff = exports.FullJitterBackoffFactory = exports.FullJitterBackoff = exports.FinishGatheringICECandidatesTask = exports.EventIngestionConfiguration = exports.EventBufferConfiguration = exports.DeviceSelection = exports.DevicePixelRatioWindowSource = exports.DefaultWebSocketAdapter = exports.DefaultVolumeIndicatorAdapter = exports.DefaultVideoTransformDevice = exports.DefaultVideoTileFactory = exports.DefaultVideoTileController = exports.DefaultVideoTile = exports.DefaultVideoStreamIndex = exports.DefaultVideoStreamIdSet = exports.DefaultVideoFrameProcessorPipeline = exports.DefaultVideoCaptureAndEncodeParameter = exports.DefaultUserAgentParser = exports.DefaultTranscriptionController = exports.DefaultTransceiverController = exports.DefaultSimulcastUplinkPolicyForContentShare = exports.DefaultSimulcastUplinkPolicy = exports.DefaultSignalingClient = exports.DefaultSigV4 = exports.DefaultSessionStateController = exports.DefaultReconnectController = exports.DefaultRealtimeController = exports.DefaultPingPong = exports.DefaultModality = exports.DefaultMessagingSession = exports.DefaultMeetingSession = exports.DefaultMeetingReadinessChecker = exports.DefaultMeetingEventReporter = exports.DefaultMediaDeviceFactory = void 0;\\nexports.SDPCandidateType = exports.SDP = exports.RunnableTask = exports.ReconnectionHealthPolicy = exports.ReceiveVideoStreamIndexTask = exports.ReceiveVideoInputTask = exports.ReceiveTURNCredentialsTask = exports.ReceiveRemoteVideoPauseResumeTask = exports.ReceiveAudioInputTask = exports.RealtimeVolumeIndicator = exports.RealtimeState = exports.RealtimeAttendeePositionInFrame = exports.PromoteToPrimaryMeetingTask = exports.PromiseQueue = exports.PrefetchSortBy = exports.PrefetchOn = exports.PermissionDeniedError = exports.ParallelGroupTask = exports.POSTLogger = exports.OverconstrainedError = exports.OpenSignalingConnectionTask = exports.OnceTask = exports.NotReadableError = exports.NotFoundError = exports.None = exports.NoVideoUplinkBandwidthPolicy = exports.NoVideoDownlinkBandwidthPolicy = exports.NoOpVideoFrameProcessor = exports.NoOpVideoElementFactory = exports.NoOpTask = exports.NoOpMediaStreamBroker = exports.NoOpLogger = exports.NoOpEventReporter = exports.NoOpDeviceController = exports.NoOpDebugLogger = exports.NoOpAudioVideoController = exports.NScaleVideoUplinkBandwidthPolicy = exports.MutableVideoPreferences = exports.MultiLogger = exports.MonitorTask = exports.ModelSpecBuilder = exports.MessagingSessionConfiguration = exports.Message = exports.MeetingSessionVideoAvailability = exports.MeetingSessionURLs = exports.MeetingSessionTURNCredentials = exports.MeetingSessionStatusCode = exports.MeetingSessionStatus = exports.MeetingSessionLifecycleEventCondition = exports.MeetingSessionLifecycleEvent = void 0;\\nexports.VideoPriorityBasedPolicy = exports.VideoPreferences = exports.VideoPreference = exports.VideoOnlyTransceiverController = exports.VideoLogEvent = exports.VideoFxProcessor = exports.VideoCodecCapability = exports.VideoAdaptiveProbePolicy = exports.Versioning = exports.UnusableAudioWarningConnectionHealthPolicy = exports.TypeError = exports.TranscriptionStatusType = exports.TranscriptionStatus = exports.TranscriptResult = exports.TranscriptLanguageWithScore = exports.TranscriptItemType = exports.TranscriptItem = exports.TranscriptEntity = exports.TranscriptAlternative = exports.Transcript = exports.TimeoutTask = exports.TimeoutScheduler = exports.TaskStatus = exports.TargetDisplaySize = exports.SubscribeAndReceiveSubscribeAckTask = exports.StreamMetricReport = exports.Some = exports.SingleNodeAudioTransformDevice = exports.SimulcastVideoStreamIndex = exports.SimulcastTransceiverController = exports.SimulcastLayers = exports.SimulcastContentShareTransceiverController = exports.SignalingClientVideoSubscriptionConfiguration = exports.SignalingClientSubscribe = exports.SignalingClientJoin = exports.SignalingClientEventType = exports.SignalingClientEvent = exports.SignalingClientConnectionRequest = exports.SignalingAndMetricsConnectionMonitor = exports.SetRemoteDescriptionTask = exports.SetLocalDescriptionTask = exports.SessionStateControllerTransitionResult = exports.SessionStateControllerState = exports.SessionStateControllerDeferPriority = exports.SessionStateControllerAction = exports.ServerSideNetworkAdaption = exports.SerialGroupTask = exports.SendingAudioFailureConnectionHealthPolicy = exports.SendAndReceiveDataMessagesTask = exports.SDPMediaSection = void 0;\\nexports.isVideoTransformDevice = exports.isDestroyable = exports.isAudioTransformDevice = exports.ZLIBTextCompressor = exports.WebSocketReadyState = exports.WaitForAttendeePresenceTask = exports.VoiceFocusTransformDevice = exports.VoiceFocusDeviceTransformer = exports.VideoTileState = exports.VideoStreamDescription = exports.VideoSource = exports.VideoQualitySettings = exports.VideoPriorityBasedPolicyConfig = void 0;\\nconst AllHighestVideoBandwidthPolicy_1 = __webpack_require__(/*! ./videodownlinkbandwidthpolicy/AllHighestVideoBandwidthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/AllHighestVideoBandwidthPolicy.js\\\");\\nexports.AllHighestVideoBandwidthPolicy = AllHighestVideoBandwidthPolicy_1.default;\\nconst ApplicationMetadata_1 = __webpack_require__(/*! ./applicationmetadata/ApplicationMetadata */ \\\"./node_modules/amazon-chime-sdk-js/build/applicationmetadata/ApplicationMetadata.js\\\");\\nexports.ApplicationMetadata = ApplicationMetadata_1.default;\\nconst AsyncScheduler_1 = __webpack_require__(/*! ./scheduler/AsyncScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/AsyncScheduler.js\\\");\\nexports.AsyncScheduler = AsyncScheduler_1.default;\\nconst AttachMediaInputTask_1 = __webpack_require__(/*! ./task/AttachMediaInputTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/AttachMediaInputTask.js\\\");\\nexports.AttachMediaInputTask = AttachMediaInputTask_1.default;\\nconst Attendee_1 = __webpack_require__(/*! ./attendee/Attendee */ \\\"./node_modules/amazon-chime-sdk-js/build/attendee/Attendee.js\\\");\\nexports.Attendee = Attendee_1.default;\\nconst AudioLogEvent_1 = __webpack_require__(/*! ./statscollector/AudioLogEvent */ \\\"./node_modules/amazon-chime-sdk-js/build/statscollector/AudioLogEvent.js\\\");\\nexports.AudioLogEvent = AudioLogEvent_1.default;\\nconst AudioProfile_1 = __webpack_require__(/*! ./audioprofile/AudioProfile */ \\\"./node_modules/amazon-chime-sdk-js/build/audioprofile/AudioProfile.js\\\");\\nexports.AudioProfile = AudioProfile_1.default;\\nconst AudioVideoControllerState_1 = __webpack_require__(/*! ./audiovideocontroller/AudioVideoControllerState */ \\\"./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/AudioVideoControllerState.js\\\");\\nexports.AudioVideoControllerState = AudioVideoControllerState_1.default;\\nconst BackgroundBlurStrength_1 = __webpack_require__(/*! ./backgroundblurprocessor/BackgroundBlurStrength */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurStrength.js\\\");\\nexports.BackgroundBlurStrength = BackgroundBlurStrength_1.default;\\nconst BackgroundBlurVideoFrameProcessor_1 = __webpack_require__(/*! ./backgroundblurprocessor/BackgroundBlurVideoFrameProcessor */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/BackgroundBlurVideoFrameProcessor.js\\\");\\nexports.BackgroundBlurVideoFrameProcessor = BackgroundBlurVideoFrameProcessor_1.default;\\nconst BackgroundFilterVideoFrameProcessor_1 = __webpack_require__(/*! ./backgroundfilter/BackgroundFilterVideoFrameProcessor */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundfilter/BackgroundFilterVideoFrameProcessor.js\\\");\\nexports.BackgroundFilterVideoFrameProcessor = BackgroundFilterVideoFrameProcessor_1.default;\\nconst BackgroundReplacementVideoFrameProcessor_1 = __webpack_require__(/*! ./backgroundreplacementprocessor/BackgroundReplacementVideoFrameProcessor */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundreplacementprocessor/BackgroundReplacementVideoFrameProcessor.js\\\");\\nexports.BackgroundReplacementVideoFrameProcessor = BackgroundReplacementVideoFrameProcessor_1.default;\\nconst BaseConnectionHealthPolicy_1 = __webpack_require__(/*! ./connectionhealthpolicy/BaseConnectionHealthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/BaseConnectionHealthPolicy.js\\\");\\nexports.BaseConnectionHealthPolicy = BaseConnectionHealthPolicy_1.default;\\nconst BaseTask_1 = __webpack_require__(/*! ./task/BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\nexports.BaseTask = BaseTask_1.default;\\nconst BitrateParameters_1 = __webpack_require__(/*! ./videouplinkbandwidthpolicy/BitrateParameters */ \\\"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/BitrateParameters.js\\\");\\nexports.BitrateParameters = BitrateParameters_1.default;\\nconst CSPMonitor_1 = __webpack_require__(/*! ./cspmonitor/CSPMonitor */ \\\"./node_modules/amazon-chime-sdk-js/build/cspmonitor/CSPMonitor.js\\\");\\nexports.CSPMonitor = CSPMonitor_1.default;\\nconst CanvasVideoFrameBuffer_1 = __webpack_require__(/*! ./videoframeprocessor/CanvasVideoFrameBuffer */ \\\"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/CanvasVideoFrameBuffer.js\\\");\\nexports.CanvasVideoFrameBuffer = CanvasVideoFrameBuffer_1.default;\\nconst CheckAudioConnectivityFeedback_1 = __webpack_require__(/*! ./meetingreadinesschecker/CheckAudioConnectivityFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioConnectivityFeedback.js\\\");\\nexports.CheckAudioConnectivityFeedback = CheckAudioConnectivityFeedback_1.default;\\nconst CheckAudioInputFeedback_1 = __webpack_require__(/*! ./meetingreadinesschecker/CheckAudioInputFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioInputFeedback.js\\\");\\nexports.CheckAudioInputFeedback = CheckAudioInputFeedback_1.default;\\nconst CheckAudioOutputFeedback_1 = __webpack_require__(/*! ./meetingreadinesschecker/CheckAudioOutputFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioOutputFeedback.js\\\");\\nexports.CheckAudioOutputFeedback = CheckAudioOutputFeedback_1.default;\\nconst CheckCameraResolutionFeedback_1 = __webpack_require__(/*! ./meetingreadinesschecker/CheckCameraResolutionFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckCameraResolutionFeedback.js\\\");\\nexports.CheckCameraResolutionFeedback = CheckCameraResolutionFeedback_1.default;\\nconst CheckContentShareConnectivityFeedback_1 = __webpack_require__(/*! ./meetingreadinesschecker/CheckContentShareConnectivityFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckContentShareConnectivityFeedback.js\\\");\\nexports.CheckContentShareConnectivityFeedback = CheckContentShareConnectivityFeedback_1.default;\\nconst CheckNetworkTCPConnectivityFeedback_1 = __webpack_require__(/*! ./meetingreadinesschecker/CheckNetworkTCPConnectivityFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckNetworkTCPConnectivityFeedback.js\\\");\\nexports.CheckNetworkTCPConnectivityFeedback = CheckNetworkTCPConnectivityFeedback_1.default;\\nconst CheckNetworkUDPConnectivityFeedback_1 = __webpack_require__(/*! ./meetingreadinesschecker/CheckNetworkUDPConnectivityFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckNetworkUDPConnectivityFeedback.js\\\");\\nexports.CheckNetworkUDPConnectivityFeedback = CheckNetworkUDPConnectivityFeedback_1.default;\\nconst CheckVideoConnectivityFeedback_1 = __webpack_require__(/*! ./meetingreadinesschecker/CheckVideoConnectivityFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckVideoConnectivityFeedback.js\\\");\\nexports.CheckVideoConnectivityFeedback = CheckVideoConnectivityFeedback_1.default;\\nconst CheckVideoInputFeedback_1 = __webpack_require__(/*! ./meetingreadinesschecker/CheckVideoInputFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckVideoInputFeedback.js\\\");\\nexports.CheckVideoInputFeedback = CheckVideoInputFeedback_1.default;\\nconst CleanRestartedSessionTask_1 = __webpack_require__(/*! ./task/CleanRestartedSessionTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/CleanRestartedSessionTask.js\\\");\\nexports.CleanRestartedSessionTask = CleanRestartedSessionTask_1.default;\\nconst CleanStoppedSessionTask_1 = __webpack_require__(/*! ./task/CleanStoppedSessionTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/CleanStoppedSessionTask.js\\\");\\nexports.CleanStoppedSessionTask = CleanStoppedSessionTask_1.default;\\nconst ClientMetricReport_1 = __webpack_require__(/*! ./clientmetricreport/ClientMetricReport */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReport.js\\\");\\nexports.ClientMetricReport = ClientMetricReport_1.default;\\nconst ClientMetricReportDirection_1 = __webpack_require__(/*! ./clientmetricreport/ClientMetricReportDirection */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportDirection.js\\\");\\nexports.ClientMetricReportDirection = ClientMetricReportDirection_1.default;\\nconst ClientMetricReportMediaType_1 = __webpack_require__(/*! ./clientmetricreport/ClientMetricReportMediaType */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportMediaType.js\\\");\\nexports.ClientMetricReportMediaType = ClientMetricReportMediaType_1.default;\\nconst ClientVideoStreamReceivingReport_1 = __webpack_require__(/*! ./clientmetricreport/ClientVideoStreamReceivingReport */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientVideoStreamReceivingReport.js\\\");\\nexports.ClientVideoStreamReceivingReport = ClientVideoStreamReceivingReport_1.default;\\nconst ConnectionHealthData_1 = __webpack_require__(/*! ./connectionhealthpolicy/ConnectionHealthData */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ConnectionHealthData.js\\\");\\nexports.ConnectionHealthData = ConnectionHealthData_1.default;\\nconst ConnectionHealthPolicyConfiguration_1 = __webpack_require__(/*! ./connectionhealthpolicy/ConnectionHealthPolicyConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ConnectionHealthPolicyConfiguration.js\\\");\\nexports.ConnectionHealthPolicyConfiguration = ConnectionHealthPolicyConfiguration_1.default;\\nconst ConsoleLogger_1 = __webpack_require__(/*! ./logger/ConsoleLogger */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/ConsoleLogger.js\\\");\\nexports.ConsoleLogger = ConsoleLogger_1.default;\\nconst ContentShareConstants_1 = __webpack_require__(/*! ./contentsharecontroller/ContentShareConstants */ \\\"./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/ContentShareConstants.js\\\");\\nexports.ContentShareConstants = ContentShareConstants_1.default;\\nconst ContentShareMediaStreamBroker_1 = __webpack_require__(/*! ./contentsharecontroller/ContentShareMediaStreamBroker */ \\\"./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/ContentShareMediaStreamBroker.js\\\");\\nexports.ContentShareMediaStreamBroker = ContentShareMediaStreamBroker_1.default;\\nconst CreatePeerConnectionTask_1 = __webpack_require__(/*! ./task/CreatePeerConnectionTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/CreatePeerConnectionTask.js\\\");\\nexports.CreatePeerConnectionTask = CreatePeerConnectionTask_1.default;\\nconst CreateSDPTask_1 = __webpack_require__(/*! ./task/CreateSDPTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/CreateSDPTask.js\\\");\\nexports.CreateSDPTask = CreateSDPTask_1.default;\\nconst DataMessage_1 = __webpack_require__(/*! ./datamessage/DataMessage */ \\\"./node_modules/amazon-chime-sdk-js/build/datamessage/DataMessage.js\\\");\\nexports.DataMessage = DataMessage_1.default;\\nconst DefaultActiveSpeakerDetector_1 = __webpack_require__(/*! ./activespeakerdetector/DefaultActiveSpeakerDetector */ \\\"./node_modules/amazon-chime-sdk-js/build/activespeakerdetector/DefaultActiveSpeakerDetector.js\\\");\\nexports.DefaultActiveSpeakerDetector = DefaultActiveSpeakerDetector_1.default;\\nconst DefaultActiveSpeakerPolicy_1 = __webpack_require__(/*! ./activespeakerpolicy/DefaultActiveSpeakerPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/activespeakerpolicy/DefaultActiveSpeakerPolicy.js\\\");\\nexports.DefaultActiveSpeakerPolicy = DefaultActiveSpeakerPolicy_1.default;\\nconst DefaultAudioMixController_1 = __webpack_require__(/*! ./audiomixcontroller/DefaultAudioMixController */ \\\"./node_modules/amazon-chime-sdk-js/build/audiomixcontroller/DefaultAudioMixController.js\\\");\\nexports.DefaultAudioMixController = DefaultAudioMixController_1.default;\\nconst DefaultAudioVideoController_1 = __webpack_require__(/*! ./audiovideocontroller/DefaultAudioVideoController */ \\\"./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/DefaultAudioVideoController.js\\\");\\nexports.DefaultAudioVideoController = DefaultAudioVideoController_1.default;\\nconst DefaultAudioVideoFacade_1 = __webpack_require__(/*! ./audiovideofacade/DefaultAudioVideoFacade */ \\\"./node_modules/amazon-chime-sdk-js/build/audiovideofacade/DefaultAudioVideoFacade.js\\\");\\nexports.DefaultAudioVideoFacade = DefaultAudioVideoFacade_1.default;\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ./browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nexports.DefaultBrowserBehavior = DefaultBrowserBehavior_1.default;\\nconst DefaultContentShareController_1 = __webpack_require__(/*! ./contentsharecontroller/DefaultContentShareController */ \\\"./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/DefaultContentShareController.js\\\");\\nexports.DefaultContentShareController = DefaultContentShareController_1.default;\\nconst DefaultDeviceController_1 = __webpack_require__(/*! ./devicecontroller/DefaultDeviceController */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/DefaultDeviceController.js\\\");\\nexports.DefaultDeviceController = DefaultDeviceController_1.default;\\nconst DefaultDevicePixelRatioMonitor_1 = __webpack_require__(/*! ./devicepixelratiomonitor/DefaultDevicePixelRatioMonitor */ \\\"./node_modules/amazon-chime-sdk-js/build/devicepixelratiomonitor/DefaultDevicePixelRatioMonitor.js\\\");\\nexports.DefaultDevicePixelRatioMonitor = DefaultDevicePixelRatioMonitor_1.default;\\nconst DefaultEventController_1 = __webpack_require__(/*! ./eventcontroller/DefaultEventController */ \\\"./node_modules/amazon-chime-sdk-js/build/eventcontroller/DefaultEventController.js\\\");\\nexports.DefaultEventController = DefaultEventController_1.default;\\nconst DefaultMediaDeviceFactory_1 = __webpack_require__(/*! ./mediadevicefactory/DefaultMediaDeviceFactory */ \\\"./node_modules/amazon-chime-sdk-js/build/mediadevicefactory/DefaultMediaDeviceFactory.js\\\");\\nexports.DefaultMediaDeviceFactory = DefaultMediaDeviceFactory_1.default;\\nconst DefaultMeetingEventReporter_1 = __webpack_require__(/*! ./eventreporter/DefaultMeetingEventReporter */ \\\"./node_modules/amazon-chime-sdk-js/build/eventreporter/DefaultMeetingEventReporter.js\\\");\\nexports.DefaultMeetingEventReporter = DefaultMeetingEventReporter_1.default;\\nconst DefaultMeetingReadinessChecker_1 = __webpack_require__(/*! ./meetingreadinesschecker/DefaultMeetingReadinessChecker */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/DefaultMeetingReadinessChecker.js\\\");\\nexports.DefaultMeetingReadinessChecker = DefaultMeetingReadinessChecker_1.default;\\nconst DefaultMeetingSession_1 = __webpack_require__(/*! ./meetingsession/DefaultMeetingSession */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/DefaultMeetingSession.js\\\");\\nexports.DefaultMeetingSession = DefaultMeetingSession_1.default;\\nconst DefaultMessagingSession_1 = __webpack_require__(/*! ./messagingsession/DefaultMessagingSession */ \\\"./node_modules/amazon-chime-sdk-js/build/messagingsession/DefaultMessagingSession.js\\\");\\nexports.DefaultMessagingSession = DefaultMessagingSession_1.default;\\nconst DefaultModality_1 = __webpack_require__(/*! ./modality/DefaultModality */ \\\"./node_modules/amazon-chime-sdk-js/build/modality/DefaultModality.js\\\");\\nexports.DefaultModality = DefaultModality_1.default;\\nconst DefaultPingPong_1 = __webpack_require__(/*! ./pingpong/DefaultPingPong */ \\\"./node_modules/amazon-chime-sdk-js/build/pingpong/DefaultPingPong.js\\\");\\nexports.DefaultPingPong = DefaultPingPong_1.default;\\nconst DefaultRealtimeController_1 = __webpack_require__(/*! ./realtimecontroller/DefaultRealtimeController */ \\\"./node_modules/amazon-chime-sdk-js/build/realtimecontroller/DefaultRealtimeController.js\\\");\\nexports.DefaultRealtimeController = DefaultRealtimeController_1.default;\\nconst DefaultReconnectController_1 = __webpack_require__(/*! ./reconnectcontroller/DefaultReconnectController */ \\\"./node_modules/amazon-chime-sdk-js/build/reconnectcontroller/DefaultReconnectController.js\\\");\\nexports.DefaultReconnectController = DefaultReconnectController_1.default;\\nconst DefaultSessionStateController_1 = __webpack_require__(/*! ./sessionstatecontroller/DefaultSessionStateController */ \\\"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/DefaultSessionStateController.js\\\");\\nexports.DefaultSessionStateController = DefaultSessionStateController_1.default;\\nconst DefaultSigV4_1 = __webpack_require__(/*! ./sigv4/DefaultSigV4 */ \\\"./node_modules/amazon-chime-sdk-js/build/sigv4/DefaultSigV4.js\\\");\\nexports.DefaultSigV4 = DefaultSigV4_1.default;\\nconst DefaultSignalingClient_1 = __webpack_require__(/*! ./signalingclient/DefaultSignalingClient */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/DefaultSignalingClient.js\\\");\\nexports.DefaultSignalingClient = DefaultSignalingClient_1.default;\\nconst DefaultSimulcastUplinkPolicy_1 = __webpack_require__(/*! ./videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.js\\\");\\nexports.DefaultSimulcastUplinkPolicy = DefaultSimulcastUplinkPolicy_1.default;\\nconst DefaultSimulcastUplinkPolicyForContentShare_1 = __webpack_require__(/*! ./videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicyForContentShare */ \\\"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicyForContentShare.js\\\");\\nexports.DefaultSimulcastUplinkPolicyForContentShare = DefaultSimulcastUplinkPolicyForContentShare_1.default;\\nconst DefaultTransceiverController_1 = __webpack_require__(/*! ./transceivercontroller/DefaultTransceiverController */ \\\"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/DefaultTransceiverController.js\\\");\\nexports.DefaultTransceiverController = DefaultTransceiverController_1.default;\\nconst DefaultTranscriptionController_1 = __webpack_require__(/*! ./transcript/DefaultTranscriptionController */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/DefaultTranscriptionController.js\\\");\\nexports.DefaultTranscriptionController = DefaultTranscriptionController_1.default;\\nconst DefaultUserAgentParser_1 = __webpack_require__(/*! ./useragentparser/DefaultUserAgentParser */ \\\"./node_modules/amazon-chime-sdk-js/build/useragentparser/DefaultUserAgentParser.js\\\");\\nexports.DefaultUserAgentParser = DefaultUserAgentParser_1.default;\\nconst DefaultVideoCaptureAndEncodeParameter_1 = __webpack_require__(/*! ./videocaptureandencodeparameter/DefaultVideoCaptureAndEncodeParameter */ \\\"./node_modules/amazon-chime-sdk-js/build/videocaptureandencodeparameter/DefaultVideoCaptureAndEncodeParameter.js\\\");\\nexports.DefaultVideoCaptureAndEncodeParameter = DefaultVideoCaptureAndEncodeParameter_1.default;\\nconst DefaultVideoFrameProcessorPipeline_1 = __webpack_require__(/*! ./videoframeprocessor/DefaultVideoFrameProcessorPipeline */ \\\"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/DefaultVideoFrameProcessorPipeline.js\\\");\\nexports.DefaultVideoFrameProcessorPipeline = DefaultVideoFrameProcessorPipeline_1.default;\\nconst DefaultVideoStreamIdSet_1 = __webpack_require__(/*! ./videostreamidset/DefaultVideoStreamIdSet */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamidset/DefaultVideoStreamIdSet.js\\\");\\nexports.DefaultVideoStreamIdSet = DefaultVideoStreamIdSet_1.default;\\nconst DefaultVideoStreamIndex_1 = __webpack_require__(/*! ./videostreamindex/DefaultVideoStreamIndex */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamindex/DefaultVideoStreamIndex.js\\\");\\nexports.DefaultVideoStreamIndex = DefaultVideoStreamIndex_1.default;\\nconst DefaultVideoTile_1 = __webpack_require__(/*! ./videotile/DefaultVideoTile */ \\\"./node_modules/amazon-chime-sdk-js/build/videotile/DefaultVideoTile.js\\\");\\nexports.DefaultVideoTile = DefaultVideoTile_1.default;\\nconst DefaultVideoTileController_1 = __webpack_require__(/*! ./videotilecontroller/DefaultVideoTileController */ \\\"./node_modules/amazon-chime-sdk-js/build/videotilecontroller/DefaultVideoTileController.js\\\");\\nexports.DefaultVideoTileController = DefaultVideoTileController_1.default;\\nconst DefaultVideoTileFactory_1 = __webpack_require__(/*! ./videotilefactory/DefaultVideoTileFactory */ \\\"./node_modules/amazon-chime-sdk-js/build/videotilefactory/DefaultVideoTileFactory.js\\\");\\nexports.DefaultVideoTileFactory = DefaultVideoTileFactory_1.default;\\nconst DefaultVideoTransformDevice_1 = __webpack_require__(/*! ./videoframeprocessor/DefaultVideoTransformDevice */ \\\"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/DefaultVideoTransformDevice.js\\\");\\nexports.DefaultVideoTransformDevice = DefaultVideoTransformDevice_1.default;\\nconst DefaultVolumeIndicatorAdapter_1 = __webpack_require__(/*! ./volumeindicatoradapter/DefaultVolumeIndicatorAdapter */ \\\"./node_modules/amazon-chime-sdk-js/build/volumeindicatoradapter/DefaultVolumeIndicatorAdapter.js\\\");\\nexports.DefaultVolumeIndicatorAdapter = DefaultVolumeIndicatorAdapter_1.default;\\nconst DefaultWebSocketAdapter_1 = __webpack_require__(/*! ./websocketadapter/DefaultWebSocketAdapter */ \\\"./node_modules/amazon-chime-sdk-js/build/websocketadapter/DefaultWebSocketAdapter.js\\\");\\nexports.DefaultWebSocketAdapter = DefaultWebSocketAdapter_1.default;\\nconst DevicePixelRatioWindowSource_1 = __webpack_require__(/*! ./devicepixelratiosource/DevicePixelRatioWindowSource */ \\\"./node_modules/amazon-chime-sdk-js/build/devicepixelratiosource/DevicePixelRatioWindowSource.js\\\");\\nexports.DevicePixelRatioWindowSource = DevicePixelRatioWindowSource_1.default;\\nconst DeviceSelection_1 = __webpack_require__(/*! ./devicecontroller/DeviceSelection */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/DeviceSelection.js\\\");\\nexports.DeviceSelection = DeviceSelection_1.default;\\nconst EventBufferConfiguration_1 = __webpack_require__(/*! ./eventbufferconfiguration/EventBufferConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/eventbufferconfiguration/EventBufferConfiguration.js\\\");\\nexports.EventBufferConfiguration = EventBufferConfiguration_1.default;\\nconst EventIngestionConfiguration_1 = __webpack_require__(/*! ./eventingestionconfiguration/EventIngestionConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/eventingestionconfiguration/EventIngestionConfiguration.js\\\");\\nexports.EventIngestionConfiguration = EventIngestionConfiguration_1.default;\\nconst FinishGatheringICECandidatesTask_1 = __webpack_require__(/*! ./task/FinishGatheringICECandidatesTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/FinishGatheringICECandidatesTask.js\\\");\\nexports.FinishGatheringICECandidatesTask = FinishGatheringICECandidatesTask_1.default;\\nconst FullJitterBackoff_1 = __webpack_require__(/*! ./backoff/FullJitterBackoff */ \\\"./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoff.js\\\");\\nexports.FullJitterBackoff = FullJitterBackoff_1.default;\\nconst FullJitterBackoffFactory_1 = __webpack_require__(/*! ./backoff/FullJitterBackoffFactory */ \\\"./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoffFactory.js\\\");\\nexports.FullJitterBackoffFactory = FullJitterBackoffFactory_1.default;\\nconst FullJitterLimitedBackoff_1 = __webpack_require__(/*! ./backoff/FullJitterLimitedBackoff */ \\\"./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterLimitedBackoff.js\\\");\\nexports.FullJitterLimitedBackoff = FullJitterLimitedBackoff_1.default;\\nconst GetUserMediaError_1 = __webpack_require__(/*! ./devicecontroller/GetUserMediaError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/GetUserMediaError.js\\\");\\nexports.GetUserMediaError = GetUserMediaError_1.default;\\nconst GlobalMetricReport_1 = __webpack_require__(/*! ./clientmetricreport/GlobalMetricReport */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/GlobalMetricReport.js\\\");\\nexports.GlobalMetricReport = GlobalMetricReport_1.default;\\nconst InMemoryJSONEventBuffer_1 = __webpack_require__(/*! ./eventbuffer/InMemoryJSONEventBuffer */ \\\"./node_modules/amazon-chime-sdk-js/build/eventbuffer/InMemoryJSONEventBuffer.js\\\");\\nexports.InMemoryJSONEventBuffer = InMemoryJSONEventBuffer_1.default;\\nconst IntervalScheduler_1 = __webpack_require__(/*! ./scheduler/IntervalScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/IntervalScheduler.js\\\");\\nexports.IntervalScheduler = IntervalScheduler_1.default;\\nconst JoinAndReceiveIndexTask_1 = __webpack_require__(/*! ./task/JoinAndReceiveIndexTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/JoinAndReceiveIndexTask.js\\\");\\nexports.JoinAndReceiveIndexTask = JoinAndReceiveIndexTask_1.default;\\nconst LeaveAndReceiveLeaveAckTask_1 = __webpack_require__(/*! ./task/LeaveAndReceiveLeaveAckTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/LeaveAndReceiveLeaveAckTask.js\\\");\\nexports.LeaveAndReceiveLeaveAckTask = LeaveAndReceiveLeaveAckTask_1.default;\\nconst ListenForVolumeIndicatorsTask_1 = __webpack_require__(/*! ./task/ListenForVolumeIndicatorsTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ListenForVolumeIndicatorsTask.js\\\");\\nexports.ListenForVolumeIndicatorsTask = ListenForVolumeIndicatorsTask_1.default;\\nconst Log_1 = __webpack_require__(/*! ./logger/Log */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/Log.js\\\");\\nexports.Log = Log_1.default;\\nconst LogLevel_1 = __webpack_require__(/*! ./logger/LogLevel */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/LogLevel.js\\\");\\nexports.LogLevel = LogLevel_1.default;\\nconst MediaDeviceProxyHandler_1 = __webpack_require__(/*! ./mediadevicefactory/MediaDeviceProxyHandler */ \\\"./node_modules/amazon-chime-sdk-js/build/mediadevicefactory/MediaDeviceProxyHandler.js\\\");\\nexports.MediaDeviceProxyHandler = MediaDeviceProxyHandler_1.default;\\nconst MeetingEventsClientConfiguration_1 = __webpack_require__(/*! ./eventsclientconfiguration/MeetingEventsClientConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/eventsclientconfiguration/MeetingEventsClientConfiguration.js\\\");\\nexports.MeetingEventsClientConfiguration = MeetingEventsClientConfiguration_1.default;\\nconst MeetingReadinessCheckerConfiguration_1 = __webpack_require__(/*! ./meetingreadinesschecker/MeetingReadinessCheckerConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/MeetingReadinessCheckerConfiguration.js\\\");\\nexports.MeetingReadinessCheckerConfiguration = MeetingReadinessCheckerConfiguration_1.default;\\nconst MeetingSessionConfiguration_1 = __webpack_require__(/*! ./meetingsession/MeetingSessionConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionConfiguration.js\\\");\\nexports.MeetingSessionConfiguration = MeetingSessionConfiguration_1.default;\\nconst MeetingSessionCredentials_1 = __webpack_require__(/*! ./meetingsession/MeetingSessionCredentials */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionCredentials.js\\\");\\nexports.MeetingSessionCredentials = MeetingSessionCredentials_1.default;\\nconst MeetingSessionLifecycleEvent_1 = __webpack_require__(/*! ./meetingsession/MeetingSessionLifecycleEvent */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionLifecycleEvent.js\\\");\\nexports.MeetingSessionLifecycleEvent = MeetingSessionLifecycleEvent_1.default;\\nconst MeetingSessionLifecycleEventCondition_1 = __webpack_require__(/*! ./meetingsession/MeetingSessionLifecycleEventCondition */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionLifecycleEventCondition.js\\\");\\nexports.MeetingSessionLifecycleEventCondition = MeetingSessionLifecycleEventCondition_1.default;\\nconst MeetingSessionStatus_1 = __webpack_require__(/*! ./meetingsession/MeetingSessionStatus */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatus.js\\\");\\nexports.MeetingSessionStatus = MeetingSessionStatus_1.default;\\nconst MeetingSessionStatusCode_1 = __webpack_require__(/*! ./meetingsession/MeetingSessionStatusCode */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js\\\");\\nexports.MeetingSessionStatusCode = MeetingSessionStatusCode_1.default;\\nconst MeetingSessionTURNCredentials_1 = __webpack_require__(/*! ./meetingsession/MeetingSessionTURNCredentials */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionTURNCredentials.js\\\");\\nexports.MeetingSessionTURNCredentials = MeetingSessionTURNCredentials_1.default;\\nconst MeetingSessionURLs_1 = __webpack_require__(/*! ./meetingsession/MeetingSessionURLs */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionURLs.js\\\");\\nexports.MeetingSessionURLs = MeetingSessionURLs_1.default;\\nconst MeetingSessionVideoAvailability_1 = __webpack_require__(/*! ./meetingsession/MeetingSessionVideoAvailability */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionVideoAvailability.js\\\");\\nexports.MeetingSessionVideoAvailability = MeetingSessionVideoAvailability_1.default;\\nconst Message_1 = __webpack_require__(/*! ./message/Message */ \\\"./node_modules/amazon-chime-sdk-js/build/message/Message.js\\\");\\nexports.Message = Message_1.default;\\nconst MessagingSessionConfiguration_1 = __webpack_require__(/*! ./messagingsession/MessagingSessionConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/messagingsession/MessagingSessionConfiguration.js\\\");\\nexports.MessagingSessionConfiguration = MessagingSessionConfiguration_1.default;\\nconst ModelSpecBuilder_1 = __webpack_require__(/*! ./backgroundblurprocessor/ModelSpecBuilder */ \\\"./node_modules/amazon-chime-sdk-js/build/backgroundblurprocessor/ModelSpecBuilder.js\\\");\\nexports.ModelSpecBuilder = ModelSpecBuilder_1.default;\\nconst MonitorTask_1 = __webpack_require__(/*! ./task/MonitorTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/MonitorTask.js\\\");\\nexports.MonitorTask = MonitorTask_1.default;\\nconst MultiLogger_1 = __webpack_require__(/*! ./logger/MultiLogger */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/MultiLogger.js\\\");\\nexports.MultiLogger = MultiLogger_1.default;\\nconst NScaleVideoUplinkBandwidthPolicy_1 = __webpack_require__(/*! ./videouplinkbandwidthpolicy/NScaleVideoUplinkBandwidthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/NScaleVideoUplinkBandwidthPolicy.js\\\");\\nexports.NScaleVideoUplinkBandwidthPolicy = NScaleVideoUplinkBandwidthPolicy_1.default;\\nconst NoOpAudioVideoController_1 = __webpack_require__(/*! ./audiovideocontroller/NoOpAudioVideoController */ \\\"./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/NoOpAudioVideoController.js\\\");\\nexports.NoOpAudioVideoController = NoOpAudioVideoController_1.default;\\nconst NoOpDebugLogger_1 = __webpack_require__(/*! ./logger/NoOpDebugLogger */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/NoOpDebugLogger.js\\\");\\nexports.NoOpDebugLogger = NoOpDebugLogger_1.default;\\nconst NoOpDeviceController_1 = __webpack_require__(/*! ./devicecontroller/NoOpDeviceController */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/NoOpDeviceController.js\\\");\\nexports.NoOpDeviceController = NoOpDeviceController_1.default;\\nconst NoOpEventReporter_1 = __webpack_require__(/*! ./eventreporter/NoOpEventReporter */ \\\"./node_modules/amazon-chime-sdk-js/build/eventreporter/NoOpEventReporter.js\\\");\\nexports.NoOpEventReporter = NoOpEventReporter_1.default;\\nconst NoOpLogger_1 = __webpack_require__(/*! ./logger/NoOpLogger */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/NoOpLogger.js\\\");\\nexports.NoOpLogger = NoOpLogger_1.default;\\nconst NoOpMediaStreamBroker_1 = __webpack_require__(/*! ./mediastreambroker/NoOpMediaStreamBroker */ \\\"./node_modules/amazon-chime-sdk-js/build/mediastreambroker/NoOpMediaStreamBroker.js\\\");\\nexports.NoOpMediaStreamBroker = NoOpMediaStreamBroker_1.default;\\nconst NoOpTask_1 = __webpack_require__(/*! ./task/NoOpTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/NoOpTask.js\\\");\\nexports.NoOpTask = NoOpTask_1.default;\\nconst NoOpVideoElementFactory_1 = __webpack_require__(/*! ./videoelementfactory/NoOpVideoElementFactory */ \\\"./node_modules/amazon-chime-sdk-js/build/videoelementfactory/NoOpVideoElementFactory.js\\\");\\nexports.NoOpVideoElementFactory = NoOpVideoElementFactory_1.default;\\nconst NoOpVideoFrameProcessor_1 = __webpack_require__(/*! ./videoframeprocessor/NoOpVideoFrameProcessor */ \\\"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/NoOpVideoFrameProcessor.js\\\");\\nexports.NoOpVideoFrameProcessor = NoOpVideoFrameProcessor_1.default;\\nconst NoVideoDownlinkBandwidthPolicy_1 = __webpack_require__(/*! ./videodownlinkbandwidthpolicy/NoVideoDownlinkBandwidthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/NoVideoDownlinkBandwidthPolicy.js\\\");\\nexports.NoVideoDownlinkBandwidthPolicy = NoVideoDownlinkBandwidthPolicy_1.default;\\nconst NoVideoUplinkBandwidthPolicy_1 = __webpack_require__(/*! ./videouplinkbandwidthpolicy/NoVideoUplinkBandwidthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/NoVideoUplinkBandwidthPolicy.js\\\");\\nexports.NoVideoUplinkBandwidthPolicy = NoVideoUplinkBandwidthPolicy_1.default;\\nconst NotFoundError_1 = __webpack_require__(/*! ./devicecontroller/NotFoundError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/NotFoundError.js\\\");\\nexports.NotFoundError = NotFoundError_1.default;\\nconst NotReadableError_1 = __webpack_require__(/*! ./devicecontroller/NotReadableError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/NotReadableError.js\\\");\\nexports.NotReadableError = NotReadableError_1.default;\\nconst OnceTask_1 = __webpack_require__(/*! ./task/OnceTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/OnceTask.js\\\");\\nexports.OnceTask = OnceTask_1.default;\\nconst OpenSignalingConnectionTask_1 = __webpack_require__(/*! ./task/OpenSignalingConnectionTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/OpenSignalingConnectionTask.js\\\");\\nexports.OpenSignalingConnectionTask = OpenSignalingConnectionTask_1.default;\\nconst OverconstrainedError_1 = __webpack_require__(/*! ./devicecontroller/OverconstrainedError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/OverconstrainedError.js\\\");\\nexports.OverconstrainedError = OverconstrainedError_1.default;\\nconst POSTLogger_1 = __webpack_require__(/*! ./logger/POSTLogger */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/POSTLogger.js\\\");\\nexports.POSTLogger = POSTLogger_1.default;\\nconst ParallelGroupTask_1 = __webpack_require__(/*! ./task/ParallelGroupTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ParallelGroupTask.js\\\");\\nexports.ParallelGroupTask = ParallelGroupTask_1.default;\\nconst PermissionDeniedError_1 = __webpack_require__(/*! ./devicecontroller/PermissionDeniedError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/PermissionDeniedError.js\\\");\\nexports.PermissionDeniedError = PermissionDeniedError_1.default;\\nconst PrefetchOn_1 = __webpack_require__(/*! ./messagingsession/PrefetchOn */ \\\"./node_modules/amazon-chime-sdk-js/build/messagingsession/PrefetchOn.js\\\");\\nexports.PrefetchOn = PrefetchOn_1.default;\\nconst PrefetchSortBy_1 = __webpack_require__(/*! ./messagingsession/PrefetchSortBy */ \\\"./node_modules/amazon-chime-sdk-js/build/messagingsession/PrefetchSortBy.js\\\");\\nexports.PrefetchSortBy = PrefetchSortBy_1.default;\\nconst PromiseQueue_1 = __webpack_require__(/*! ./utils/PromiseQueue */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/PromiseQueue.js\\\");\\nexports.PromiseQueue = PromiseQueue_1.default;\\nconst PromoteToPrimaryMeetingTask_1 = __webpack_require__(/*! ./task/PromoteToPrimaryMeetingTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/PromoteToPrimaryMeetingTask.js\\\");\\nexports.PromoteToPrimaryMeetingTask = PromoteToPrimaryMeetingTask_1.default;\\nconst RealtimeAttendeePositionInFrame_1 = __webpack_require__(/*! ./realtimecontroller/RealtimeAttendeePositionInFrame */ \\\"./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeAttendeePositionInFrame.js\\\");\\nexports.RealtimeAttendeePositionInFrame = RealtimeAttendeePositionInFrame_1.default;\\nconst RealtimeState_1 = __webpack_require__(/*! ./realtimecontroller/RealtimeState */ \\\"./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeState.js\\\");\\nexports.RealtimeState = RealtimeState_1.default;\\nconst RealtimeVolumeIndicator_1 = __webpack_require__(/*! ./realtimecontroller/RealtimeVolumeIndicator */ \\\"./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeVolumeIndicator.js\\\");\\nexports.RealtimeVolumeIndicator = RealtimeVolumeIndicator_1.default;\\nconst ReceiveAudioInputTask_1 = __webpack_require__(/*! ./task/ReceiveAudioInputTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ReceiveAudioInputTask.js\\\");\\nexports.ReceiveAudioInputTask = ReceiveAudioInputTask_1.default;\\nconst ReceiveRemoteVideoPauseResumeTask_1 = __webpack_require__(/*! ./task/ReceiveRemoteVideoPauseResumeTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ReceiveRemoteVideoPauseResumeTask.js\\\");\\nexports.ReceiveRemoteVideoPauseResumeTask = ReceiveRemoteVideoPauseResumeTask_1.default;\\nconst ReceiveTURNCredentialsTask_1 = __webpack_require__(/*! ./task/ReceiveTURNCredentialsTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ReceiveTURNCredentialsTask.js\\\");\\nexports.ReceiveTURNCredentialsTask = ReceiveTURNCredentialsTask_1.default;\\nconst ReceiveVideoInputTask_1 = __webpack_require__(/*! ./task/ReceiveVideoInputTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ReceiveVideoInputTask.js\\\");\\nexports.ReceiveVideoInputTask = ReceiveVideoInputTask_1.default;\\nconst ReceiveVideoStreamIndexTask_1 = __webpack_require__(/*! ./task/ReceiveVideoStreamIndexTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/ReceiveVideoStreamIndexTask.js\\\");\\nexports.ReceiveVideoStreamIndexTask = ReceiveVideoStreamIndexTask_1.default;\\nconst ReconnectionHealthPolicy_1 = __webpack_require__(/*! ./connectionhealthpolicy/ReconnectionHealthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ReconnectionHealthPolicy.js\\\");\\nexports.ReconnectionHealthPolicy = ReconnectionHealthPolicy_1.default;\\nconst RunnableTask_1 = __webpack_require__(/*! ./task/RunnableTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/RunnableTask.js\\\");\\nexports.RunnableTask = RunnableTask_1.default;\\nconst SDP_1 = __webpack_require__(/*! ./sdp/SDP */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/SDP.js\\\");\\nexports.SDP = SDP_1.default;\\nconst SDPCandidateType_1 = __webpack_require__(/*! ./sdp/SDPCandidateType */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/SDPCandidateType.js\\\");\\nexports.SDPCandidateType = SDPCandidateType_1.default;\\nconst SDPMediaSection_1 = __webpack_require__(/*! ./sdp/SDPMediaSection */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/SDPMediaSection.js\\\");\\nexports.SDPMediaSection = SDPMediaSection_1.default;\\nconst SendAndReceiveDataMessagesTask_1 = __webpack_require__(/*! ./task/SendAndReceiveDataMessagesTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/SendAndReceiveDataMessagesTask.js\\\");\\nexports.SendAndReceiveDataMessagesTask = SendAndReceiveDataMessagesTask_1.default;\\nconst SendingAudioFailureConnectionHealthPolicy_1 = __webpack_require__(/*! ./connectionhealthpolicy/SendingAudioFailureConnectionHealthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/SendingAudioFailureConnectionHealthPolicy.js\\\");\\nexports.SendingAudioFailureConnectionHealthPolicy = SendingAudioFailureConnectionHealthPolicy_1.default;\\nconst SerialGroupTask_1 = __webpack_require__(/*! ./task/SerialGroupTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/SerialGroupTask.js\\\");\\nexports.SerialGroupTask = SerialGroupTask_1.default;\\nconst ServerSideNetworkAdaption_1 = __webpack_require__(/*! ./signalingclient/ServerSideNetworkAdaption */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/ServerSideNetworkAdaption.js\\\");\\nexports.ServerSideNetworkAdaption = ServerSideNetworkAdaption_1.default;\\nconst SessionStateControllerAction_1 = __webpack_require__(/*! ./sessionstatecontroller/SessionStateControllerAction */ \\\"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerAction.js\\\");\\nexports.SessionStateControllerAction = SessionStateControllerAction_1.default;\\nconst SessionStateControllerDeferPriority_1 = __webpack_require__(/*! ./sessionstatecontroller/SessionStateControllerDeferPriority */ \\\"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerDeferPriority.js\\\");\\nexports.SessionStateControllerDeferPriority = SessionStateControllerDeferPriority_1.default;\\nconst SessionStateControllerState_1 = __webpack_require__(/*! ./sessionstatecontroller/SessionStateControllerState */ \\\"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerState.js\\\");\\nexports.SessionStateControllerState = SessionStateControllerState_1.default;\\nconst SessionStateControllerTransitionResult_1 = __webpack_require__(/*! ./sessionstatecontroller/SessionStateControllerTransitionResult */ \\\"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerTransitionResult.js\\\");\\nexports.SessionStateControllerTransitionResult = SessionStateControllerTransitionResult_1.default;\\nconst SetLocalDescriptionTask_1 = __webpack_require__(/*! ./task/SetLocalDescriptionTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/SetLocalDescriptionTask.js\\\");\\nexports.SetLocalDescriptionTask = SetLocalDescriptionTask_1.default;\\nconst SetRemoteDescriptionTask_1 = __webpack_require__(/*! ./task/SetRemoteDescriptionTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/SetRemoteDescriptionTask.js\\\");\\nexports.SetRemoteDescriptionTask = SetRemoteDescriptionTask_1.default;\\nconst SignalingAndMetricsConnectionMonitor_1 = __webpack_require__(/*! ./connectionmonitor/SignalingAndMetricsConnectionMonitor */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionmonitor/SignalingAndMetricsConnectionMonitor.js\\\");\\nexports.SignalingAndMetricsConnectionMonitor = SignalingAndMetricsConnectionMonitor_1.default;\\nconst SignalingClientConnectionRequest_1 = __webpack_require__(/*! ./signalingclient/SignalingClientConnectionRequest */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientConnectionRequest.js\\\");\\nexports.SignalingClientConnectionRequest = SignalingClientConnectionRequest_1.default;\\nconst SignalingClientEvent_1 = __webpack_require__(/*! ./signalingclient/SignalingClientEvent */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEvent.js\\\");\\nexports.SignalingClientEvent = SignalingClientEvent_1.default;\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ./signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nexports.SignalingClientEventType = SignalingClientEventType_1.default;\\nconst SignalingClientJoin_1 = __webpack_require__(/*! ./signalingclient/SignalingClientJoin */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientJoin.js\\\");\\nexports.SignalingClientJoin = SignalingClientJoin_1.default;\\nconst SignalingClientSubscribe_1 = __webpack_require__(/*! ./signalingclient/SignalingClientSubscribe */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientSubscribe.js\\\");\\nexports.SignalingClientSubscribe = SignalingClientSubscribe_1.default;\\nconst SignalingClientVideoSubscriptionConfiguration_1 = __webpack_require__(/*! ./signalingclient/SignalingClientVideoSubscriptionConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientVideoSubscriptionConfiguration.js\\\");\\nexports.SignalingClientVideoSubscriptionConfiguration = SignalingClientVideoSubscriptionConfiguration_1.default;\\nconst SimulcastContentShareTransceiverController_1 = __webpack_require__(/*! ./transceivercontroller/SimulcastContentShareTransceiverController */ \\\"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/SimulcastContentShareTransceiverController.js\\\");\\nexports.SimulcastContentShareTransceiverController = SimulcastContentShareTransceiverController_1.default;\\nconst SimulcastLayers_1 = __webpack_require__(/*! ./simulcastlayers/SimulcastLayers */ \\\"./node_modules/amazon-chime-sdk-js/build/simulcastlayers/SimulcastLayers.js\\\");\\nexports.SimulcastLayers = SimulcastLayers_1.default;\\nconst SimulcastTransceiverController_1 = __webpack_require__(/*! ./transceivercontroller/SimulcastTransceiverController */ \\\"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/SimulcastTransceiverController.js\\\");\\nexports.SimulcastTransceiverController = SimulcastTransceiverController_1.default;\\nconst SimulcastVideoStreamIndex_1 = __webpack_require__(/*! ./videostreamindex/SimulcastVideoStreamIndex */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamindex/SimulcastVideoStreamIndex.js\\\");\\nexports.SimulcastVideoStreamIndex = SimulcastVideoStreamIndex_1.default;\\nconst SingleNodeAudioTransformDevice_1 = __webpack_require__(/*! ./devicecontroller/SingleNodeAudioTransformDevice */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/SingleNodeAudioTransformDevice.js\\\");\\nexports.SingleNodeAudioTransformDevice = SingleNodeAudioTransformDevice_1.default;\\nconst StreamMetricReport_1 = __webpack_require__(/*! ./clientmetricreport/StreamMetricReport */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/StreamMetricReport.js\\\");\\nexports.StreamMetricReport = StreamMetricReport_1.default;\\nconst SubscribeAndReceiveSubscribeAckTask_1 = __webpack_require__(/*! ./task/SubscribeAndReceiveSubscribeAckTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/SubscribeAndReceiveSubscribeAckTask.js\\\");\\nexports.SubscribeAndReceiveSubscribeAckTask = SubscribeAndReceiveSubscribeAckTask_1.default;\\nconst TargetDisplaySize_1 = __webpack_require__(/*! ./videodownlinkbandwidthpolicy/TargetDisplaySize */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/TargetDisplaySize.js\\\");\\nexports.TargetDisplaySize = TargetDisplaySize_1.default;\\nconst TaskStatus_1 = __webpack_require__(/*! ./task/TaskStatus */ \\\"./node_modules/amazon-chime-sdk-js/build/task/TaskStatus.js\\\");\\nexports.TaskStatus = TaskStatus_1.default;\\nconst TimeoutScheduler_1 = __webpack_require__(/*! ./scheduler/TimeoutScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/TimeoutScheduler.js\\\");\\nexports.TimeoutScheduler = TimeoutScheduler_1.default;\\nconst TimeoutTask_1 = __webpack_require__(/*! ./task/TimeoutTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/TimeoutTask.js\\\");\\nexports.TimeoutTask = TimeoutTask_1.default;\\nconst Transcript_1 = __webpack_require__(/*! ./transcript/Transcript */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/Transcript.js\\\");\\nexports.Transcript = Transcript_1.default;\\nconst TranscriptAlternative_1 = __webpack_require__(/*! ./transcript/TranscriptAlternative */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptAlternative.js\\\");\\nexports.TranscriptAlternative = TranscriptAlternative_1.default;\\nconst TranscriptEntity_1 = __webpack_require__(/*! ./transcript/TranscriptEntity */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptEntity.js\\\");\\nexports.TranscriptEntity = TranscriptEntity_1.default;\\nconst TranscriptItem_1 = __webpack_require__(/*! ./transcript/TranscriptItem */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptItem.js\\\");\\nexports.TranscriptItem = TranscriptItem_1.default;\\nconst TranscriptItemType_1 = __webpack_require__(/*! ./transcript/TranscriptItemType */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptItemType.js\\\");\\nexports.TranscriptItemType = TranscriptItemType_1.default;\\nconst TranscriptLanguageWithScore_1 = __webpack_require__(/*! ./transcript/TranscriptLanguageWithScore */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptLanguageWithScore.js\\\");\\nexports.TranscriptLanguageWithScore = TranscriptLanguageWithScore_1.default;\\nconst TranscriptResult_1 = __webpack_require__(/*! ./transcript/TranscriptResult */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptResult.js\\\");\\nexports.TranscriptResult = TranscriptResult_1.default;\\nconst TranscriptionStatus_1 = __webpack_require__(/*! ./transcript/TranscriptionStatus */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptionStatus.js\\\");\\nexports.TranscriptionStatus = TranscriptionStatus_1.default;\\nconst TranscriptionStatusType_1 = __webpack_require__(/*! ./transcript/TranscriptionStatusType */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptionStatusType.js\\\");\\nexports.TranscriptionStatusType = TranscriptionStatusType_1.default;\\nconst TypeError_1 = __webpack_require__(/*! ./devicecontroller/TypeError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/TypeError.js\\\");\\nexports.TypeError = TypeError_1.default;\\nconst UnusableAudioWarningConnectionHealthPolicy_1 = __webpack_require__(/*! ./connectionhealthpolicy/UnusableAudioWarningConnectionHealthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/UnusableAudioWarningConnectionHealthPolicy.js\\\");\\nexports.UnusableAudioWarningConnectionHealthPolicy = UnusableAudioWarningConnectionHealthPolicy_1.default;\\nconst Versioning_1 = __webpack_require__(/*! ./versioning/Versioning */ \\\"./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js\\\");\\nexports.Versioning = Versioning_1.default;\\nconst VideoAdaptiveProbePolicy_1 = __webpack_require__(/*! ./videodownlinkbandwidthpolicy/VideoAdaptiveProbePolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoAdaptiveProbePolicy.js\\\");\\nexports.VideoAdaptiveProbePolicy = VideoAdaptiveProbePolicy_1.default;\\nconst VideoCodecCapability_1 = __webpack_require__(/*! ./sdp/VideoCodecCapability */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/VideoCodecCapability.js\\\");\\nexports.VideoCodecCapability = VideoCodecCapability_1.default;\\nconst VideoFxProcessor_1 = __webpack_require__(/*! ./videofx/VideoFxProcessor */ \\\"./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxProcessor.js\\\");\\nexports.VideoFxProcessor = VideoFxProcessor_1.default;\\nconst VideoLogEvent_1 = __webpack_require__(/*! ./statscollector/VideoLogEvent */ \\\"./node_modules/amazon-chime-sdk-js/build/statscollector/VideoLogEvent.js\\\");\\nexports.VideoLogEvent = VideoLogEvent_1.default;\\nconst VideoOnlyTransceiverController_1 = __webpack_require__(/*! ./transceivercontroller/VideoOnlyTransceiverController */ \\\"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/VideoOnlyTransceiverController.js\\\");\\nexports.VideoOnlyTransceiverController = VideoOnlyTransceiverController_1.default;\\nconst VideoPreference_1 = __webpack_require__(/*! ./videodownlinkbandwidthpolicy/VideoPreference */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreference.js\\\");\\nexports.VideoPreference = VideoPreference_1.default;\\nconst VideoPreferences_1 = __webpack_require__(/*! ./videodownlinkbandwidthpolicy/VideoPreferences */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreferences.js\\\");\\nexports.VideoPreferences = VideoPreferences_1.default;\\nconst VideoPriorityBasedPolicy_1 = __webpack_require__(/*! ./videodownlinkbandwidthpolicy/VideoPriorityBasedPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPriorityBasedPolicy.js\\\");\\nexports.VideoPriorityBasedPolicy = VideoPriorityBasedPolicy_1.default;\\nconst VideoPriorityBasedPolicyConfig_1 = __webpack_require__(/*! ./videodownlinkbandwidthpolicy/VideoPriorityBasedPolicyConfig */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPriorityBasedPolicyConfig.js\\\");\\nexports.VideoPriorityBasedPolicyConfig = VideoPriorityBasedPolicyConfig_1.default;\\nconst VideoQualitySettings_1 = __webpack_require__(/*! ./devicecontroller/VideoQualitySettings */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/VideoQualitySettings.js\\\");\\nexports.VideoQualitySettings = VideoQualitySettings_1.default;\\nconst VideoSource_1 = __webpack_require__(/*! ./videosource/VideoSource */ \\\"./node_modules/amazon-chime-sdk-js/build/videosource/VideoSource.js\\\");\\nexports.VideoSource = VideoSource_1.default;\\nconst VideoStreamDescription_1 = __webpack_require__(/*! ./videostreamindex/VideoStreamDescription */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamindex/VideoStreamDescription.js\\\");\\nexports.VideoStreamDescription = VideoStreamDescription_1.default;\\nconst VideoTileState_1 = __webpack_require__(/*! ./videotile/VideoTileState */ \\\"./node_modules/amazon-chime-sdk-js/build/videotile/VideoTileState.js\\\");\\nexports.VideoTileState = VideoTileState_1.default;\\nconst VoiceFocusDeviceTransformer_1 = __webpack_require__(/*! ./voicefocus/VoiceFocusDeviceTransformer */ \\\"./node_modules/amazon-chime-sdk-js/build/voicefocus/VoiceFocusDeviceTransformer.js\\\");\\nexports.VoiceFocusDeviceTransformer = VoiceFocusDeviceTransformer_1.default;\\nconst VoiceFocusTransformDevice_1 = __webpack_require__(/*! ./voicefocus/VoiceFocusTransformDevice */ \\\"./node_modules/amazon-chime-sdk-js/build/voicefocus/VoiceFocusTransformDevice.js\\\");\\nexports.VoiceFocusTransformDevice = VoiceFocusTransformDevice_1.default;\\nconst WaitForAttendeePresenceTask_1 = __webpack_require__(/*! ./task/WaitForAttendeePresenceTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/WaitForAttendeePresenceTask.js\\\");\\nexports.WaitForAttendeePresenceTask = WaitForAttendeePresenceTask_1.default;\\nconst WebSocketReadyState_1 = __webpack_require__(/*! ./websocketadapter/WebSocketReadyState */ \\\"./node_modules/amazon-chime-sdk-js/build/websocketadapter/WebSocketReadyState.js\\\");\\nexports.WebSocketReadyState = WebSocketReadyState_1.default;\\nconst ZLIBTextCompressor_1 = __webpack_require__(/*! ./sdp/ZLIBTextCompressor */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/ZLIBTextCompressor.js\\\");\\nexports.ZLIBTextCompressor = ZLIBTextCompressor_1.default;\\nconst VideoPreferences_2 = __webpack_require__(/*! ./videodownlinkbandwidthpolicy/VideoPreferences */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreferences.js\\\");\\nObject.defineProperty(exports, \\\"MutableVideoPreferences\\\", ({ enumerable: true, get: function () { return VideoPreferences_2.MutableVideoPreferences; } }));\\nconst Types_1 = __webpack_require__(/*! ./utils/Types */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Types.js\\\");\\nObject.defineProperty(exports, \\\"Some\\\", ({ enumerable: true, get: function () { return Types_1.Some; } }));\\nObject.defineProperty(exports, \\\"None\\\", ({ enumerable: true, get: function () { return Types_1.None; } }));\\nObject.defineProperty(exports, \\\"Maybe\\\", ({ enumerable: true, get: function () { return Types_1.Maybe; } }));\\nconst AudioTransformDevice_1 = __webpack_require__(/*! ./devicecontroller/AudioTransformDevice */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/AudioTransformDevice.js\\\");\\nObject.defineProperty(exports, \\\"isAudioTransformDevice\\\", ({ enumerable: true, get: function () { return AudioTransformDevice_1.isAudioTransformDevice; } }));\\nconst Destroyable_1 = __webpack_require__(/*! ./destroyable/Destroyable */ \\\"./node_modules/amazon-chime-sdk-js/build/destroyable/Destroyable.js\\\");\\nObject.defineProperty(exports, \\\"isDestroyable\\\", ({ enumerable: true, get: function () { return Destroyable_1.isDestroyable; } }));\\nconst VideoTransformDevice_1 = __webpack_require__(/*! ./devicecontroller/VideoTransformDevice */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/VideoTransformDevice.js\\\");\\nObject.defineProperty(exports, \\\"isVideoTransformDevice\\\", ({ enumerable: true, get: function () { return VideoTransformDevice_1.isVideoTransformDevice; } }));\\n//# sourceMappingURL=index.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/logger/ConsoleLogger.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/logger/ConsoleLogger.js ***!\n \\************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst LogLevel_1 = __webpack_require__(/*! ./LogLevel */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/LogLevel.js\\\");\\n/**\\n * ConsoleLogger writes logs with console\\n *\\n * ```typescript\\n * // working with the ConsoleLogger\\n * const logger = new ConsoleLogger('demo'); //default level is LogLevel.WARN\\n * logger.info('info');\\n * logger.debug('debug');\\n * logger.warn('warn');\\n * logger.error('error');\\n *\\n * // setting logging levels\\n * const logger = new ConsoleLogger('demo', LogLevel.INFO)\\n * logger.debug(debugFunc()); // this will not show up\\n * logger.setLogLevel(LogLevel.DEBUG)\\n * logger.debug(debugFunc()); // this will show up\\n *\\n * ```\\n */\\nclass ConsoleLogger {\\n constructor(name, level = LogLevel_1.default.WARN) {\\n this.name = name;\\n this.level = level;\\n }\\n info(msg) {\\n this.log(LogLevel_1.default.INFO, msg);\\n }\\n warn(msg) {\\n this.log(LogLevel_1.default.WARN, msg);\\n }\\n error(msg) {\\n this.log(LogLevel_1.default.ERROR, msg);\\n }\\n debug(debugFunction) {\\n if (LogLevel_1.default.DEBUG < this.level) {\\n return;\\n }\\n if (typeof debugFunction === 'string') {\\n this.log(LogLevel_1.default.DEBUG, debugFunction);\\n }\\n else if (debugFunction) {\\n this.log(LogLevel_1.default.DEBUG, debugFunction());\\n }\\n else {\\n this.log(LogLevel_1.default.DEBUG, '' + debugFunction);\\n }\\n }\\n setLogLevel(level) {\\n this.level = level;\\n }\\n getLogLevel() {\\n return this.level;\\n }\\n log(type, msg) {\\n if (type < this.level) {\\n return;\\n }\\n const timestamp = new Date().toISOString();\\n const logMessage = `${timestamp} [${LogLevel_1.default[type]}] ${this.name} - ${msg}`;\\n switch (type) {\\n case LogLevel_1.default.ERROR:\\n console.error(logMessage);\\n break;\\n case LogLevel_1.default.WARN:\\n console.warn(logMessage);\\n break;\\n case LogLevel_1.default.DEBUG:\\n console.debug(logMessage.replace(/\\\\\\\\r\\\\\\\\n/g, '\\\\n'));\\n break;\\n case LogLevel_1.default.INFO:\\n console.info(logMessage);\\n break;\\n }\\n }\\n}\\nexports[\\\"default\\\"] = ConsoleLogger;\\n//# sourceMappingURL=ConsoleLogger.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/logger/ConsoleLogger.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/logger/Log.js\":\n/*!**************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/logger/Log.js ***!\n \\**************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass Log {\\n constructor(sequenceNumber, message, timestampMs, logLevel) {\\n this.sequenceNumber = sequenceNumber;\\n this.message = message;\\n this.timestampMs = timestampMs;\\n this.logLevel = logLevel;\\n }\\n}\\nexports[\\\"default\\\"] = Log;\\n//# sourceMappingURL=Log.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/logger/Log.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/logger/LogLevel.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/logger/LogLevel.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.LogLevel = void 0;\\nvar LogLevel;\\n(function (LogLevel) {\\n LogLevel[LogLevel[\\\"DEBUG\\\"] = 0] = \\\"DEBUG\\\";\\n LogLevel[LogLevel[\\\"INFO\\\"] = 1] = \\\"INFO\\\";\\n LogLevel[LogLevel[\\\"WARN\\\"] = 2] = \\\"WARN\\\";\\n LogLevel[LogLevel[\\\"ERROR\\\"] = 3] = \\\"ERROR\\\";\\n LogLevel[LogLevel[\\\"OFF\\\"] = 4] = \\\"OFF\\\";\\n})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));\\nexports[\\\"default\\\"] = LogLevel;\\n//# sourceMappingURL=LogLevel.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/logger/LogLevel.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/logger/MultiLogger.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/logger/MultiLogger.js ***!\n \\**********************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst LogLevel_1 = __webpack_require__(/*! ./LogLevel */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/LogLevel.js\\\");\\n/**\\n * MultiLogger writes logs to multiple other loggers\\n */\\nclass MultiLogger {\\n constructor(...loggers) {\\n this._loggers = loggers;\\n }\\n info(msg) {\\n for (const logger of this._loggers) {\\n logger.info(msg);\\n }\\n }\\n warn(msg) {\\n for (const logger of this._loggers) {\\n logger.warn(msg);\\n }\\n }\\n error(msg) {\\n for (const logger of this._loggers) {\\n logger.error(msg);\\n }\\n }\\n debug(debugFunction) {\\n let message;\\n let memoized;\\n if (typeof debugFunction === 'string') {\\n memoized = debugFunction;\\n }\\n else if (debugFunction) {\\n memoized = () => {\\n if (!message) {\\n message = debugFunction();\\n }\\n return message;\\n };\\n }\\n else {\\n memoized = '' + debugFunction;\\n }\\n for (const logger of this._loggers) {\\n logger.debug(memoized);\\n }\\n }\\n setLogLevel(level) {\\n for (const logger of this._loggers) {\\n logger.setLogLevel(level);\\n }\\n }\\n getLogLevel() {\\n for (const logger of this._loggers) {\\n return logger.getLogLevel();\\n }\\n return LogLevel_1.default.OFF;\\n }\\n}\\nexports[\\\"default\\\"] = MultiLogger;\\n//# sourceMappingURL=MultiLogger.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/logger/MultiLogger.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/logger/NoOpDebugLogger.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/logger/NoOpDebugLogger.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst LogLevel_1 = __webpack_require__(/*! ./LogLevel */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/LogLevel.js\\\");\\nconst NoOpLogger_1 = __webpack_require__(/*! ./NoOpLogger */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/NoOpLogger.js\\\");\\n/**\\n * [[NoOpDebugLogger]] does not log any message but does call\\n * debug functions by default.\\n */\\nclass NoOpDebugLogger extends NoOpLogger_1.default {\\n constructor() {\\n super(LogLevel_1.default.DEBUG);\\n }\\n}\\nexports[\\\"default\\\"] = NoOpDebugLogger;\\n//# sourceMappingURL=NoOpDebugLogger.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/logger/NoOpDebugLogger.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/logger/NoOpLogger.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/logger/NoOpLogger.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst LogLevel_1 = __webpack_require__(/*! ./LogLevel */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/LogLevel.js\\\");\\n/**\\n * [[NoOpLogger]] does not log any message.\\n */\\nclass NoOpLogger {\\n constructor(level = LogLevel_1.default.OFF) {\\n this.level = level;\\n }\\n info(_msg) { }\\n warn(_msg) { }\\n error(_msg) { }\\n debug(debugFunction) {\\n if (LogLevel_1.default.DEBUG < this.level) {\\n return;\\n }\\n if (typeof debugFunction !== 'string') {\\n debugFunction();\\n }\\n }\\n setLogLevel(level) {\\n this.level = level;\\n }\\n getLogLevel() {\\n return this.level;\\n }\\n}\\nexports[\\\"default\\\"] = NoOpLogger;\\n//# sourceMappingURL=NoOpLogger.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/logger/NoOpLogger.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/logger/POSTLogger.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/logger/POSTLogger.js ***!\n \\*********************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst IntervalScheduler_1 = __webpack_require__(/*! ../scheduler/IntervalScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/IntervalScheduler.js\\\");\\nconst Log_1 = __webpack_require__(/*! ./Log */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/Log.js\\\");\\nconst LogLevel_1 = __webpack_require__(/*! ./LogLevel */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/LogLevel.js\\\");\\n/**\\n * `POSTLogger` publishes log messages in batches to a URL\\n * supplied during its construction.\\n *\\n * Be sure to call {@link POSTLogger.destroy} when you're done\\n * with the logger in order to avoid leaks.\\n */\\nclass POSTLogger {\\n constructor(options) {\\n this.logCapture = [];\\n this.lock = false;\\n this.sequenceNumber = 0;\\n const { url, batchSize = POSTLogger.BATCH_SIZE, intervalMs = POSTLogger.INTERVAL_MS, logLevel = LogLevel_1.default.WARN, metadata, headers, } = options;\\n this.url = url;\\n this.batchSize = batchSize;\\n this.intervalMs = intervalMs;\\n this.logLevel = logLevel;\\n this.metadata = metadata;\\n this.headers = headers;\\n this.start();\\n this.eventListener = () => {\\n this.stop();\\n };\\n this.addEventListener();\\n }\\n addEventListener() {\\n if (!this.eventListener || !('window' in __webpack_require__.g) || !window.addEventListener) {\\n return;\\n }\\n window.addEventListener('unload', this.eventListener);\\n }\\n removeEventListener() {\\n if (!this.eventListener || !('window' in __webpack_require__.g) || !window.removeEventListener) {\\n return;\\n }\\n window.removeEventListener('unload', this.eventListener);\\n }\\n debug(debugFunction) {\\n if (LogLevel_1.default.DEBUG < this.logLevel) {\\n return;\\n }\\n if (typeof debugFunction === 'string') {\\n this.log(LogLevel_1.default.DEBUG, debugFunction);\\n }\\n else if (debugFunction) {\\n this.log(LogLevel_1.default.DEBUG, debugFunction());\\n }\\n else {\\n this.log(LogLevel_1.default.DEBUG, '' + debugFunction);\\n }\\n }\\n info(msg) {\\n this.log(LogLevel_1.default.INFO, msg);\\n }\\n warn(msg) {\\n this.log(LogLevel_1.default.WARN, msg);\\n }\\n error(msg) {\\n this.log(LogLevel_1.default.ERROR, msg);\\n }\\n setLogLevel(logLevel) {\\n this.logLevel = logLevel;\\n }\\n getLogLevel() {\\n return this.logLevel;\\n }\\n getLogCaptureSize() {\\n return this.logCapture.length;\\n }\\n start() {\\n this.addEventListener();\\n this.intervalScheduler = new IntervalScheduler_1.default(this.intervalMs);\\n this.intervalScheduler.start(() => __awaiter(this, void 0, void 0, function* () {\\n if (this.lock === true || this.getLogCaptureSize() === 0) {\\n return;\\n }\\n this.lock = true;\\n const batch = this.logCapture.slice(0, this.batchSize);\\n const body = this.makeRequestBody(batch);\\n try {\\n const response = yield fetch(this.url, Object.assign({ method: 'POST', body }, (this.headers\\n ? {\\n headers: this.headers,\\n }\\n : {})));\\n if (response.status === 200) {\\n this.logCapture = this.logCapture.slice(batch.length);\\n }\\n }\\n catch (error) {\\n console.warn('[POSTLogger] ' + error.message);\\n }\\n finally {\\n this.lock = false;\\n }\\n }));\\n }\\n stop() {\\n var _a;\\n // Clean up to avoid resource leaks.\\n (_a = this.intervalScheduler) === null || _a === void 0 ? void 0 : _a.stop();\\n this.intervalScheduler = undefined;\\n this.removeEventListener();\\n const body = this.makeRequestBody(this.logCapture);\\n navigator.sendBeacon(this.url, body);\\n }\\n /**\\n * Permanently clean up the logger. A new logger must be created to\\n * resume logging.\\n */\\n destroy() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.stop();\\n this.metadata = undefined;\\n this.headers = undefined;\\n this.logCapture = [];\\n this.sequenceNumber = 0;\\n this.lock = false;\\n this.batchSize = 0;\\n this.intervalMs = 0;\\n this.url = undefined;\\n });\\n }\\n makeRequestBody(batch) {\\n return JSON.stringify(Object.assign(Object.assign({}, this.metadata), { logs: batch }));\\n }\\n log(type, msg) {\\n if (type < this.logLevel) {\\n return;\\n }\\n const now = Date.now();\\n // Handle undefined.\\n this.logCapture.push(new Log_1.default(this.sequenceNumber, msg, now, LogLevel_1.default[type]));\\n this.sequenceNumber += 1;\\n }\\n}\\nexports[\\\"default\\\"] = POSTLogger;\\nPOSTLogger.BATCH_SIZE = 85;\\nPOSTLogger.INTERVAL_MS = 2000;\\n//# sourceMappingURL=POSTLogger.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/logger/POSTLogger.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/mediadevicefactory/DefaultMediaDeviceFactory.js\":\n/*!************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/mediadevicefactory/DefaultMediaDeviceFactory.js ***!\n \\************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst MediaDeviceProxyHandler_1 = __webpack_require__(/*! ./MediaDeviceProxyHandler */ \\\"./node_modules/amazon-chime-sdk-js/build/mediadevicefactory/MediaDeviceProxyHandler.js\\\");\\nclass DefaultMediaDeviceFactory {\\n constructor() {\\n this.isMediaDevicesSupported = typeof navigator !== 'undefined' && !!navigator.mediaDevices;\\n }\\n create() {\\n if (!this.isMediaDevicesSupported) {\\n throw new Error(`navigator.mediaDevices is not supported`);\\n }\\n else {\\n return new Proxy(navigator.mediaDevices, new MediaDeviceProxyHandler_1.default());\\n }\\n }\\n}\\nexports[\\\"default\\\"] = DefaultMediaDeviceFactory;\\n//# sourceMappingURL=DefaultMediaDeviceFactory.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/mediadevicefactory/DefaultMediaDeviceFactory.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/mediadevicefactory/MediaDeviceProxyHandler.js\":\n/*!**********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/mediadevicefactory/MediaDeviceProxyHandler.js ***!\n \\**********************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst AsyncScheduler_1 = __webpack_require__(/*! ../scheduler/AsyncScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/AsyncScheduler.js\\\");\\nconst IntervalScheduler_1 = __webpack_require__(/*! ../scheduler/IntervalScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/IntervalScheduler.js\\\");\\nclass MediaDeviceProxyHandler {\\n constructor() {\\n this.scheduler = null;\\n this.devices = null;\\n this.deviceChangeListeners = new Set();\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/explicit-module-boundary-types\\n this.get = (target, property, receiver) => {\\n if (!Reflect.has(target, property)) {\\n return undefined;\\n }\\n if (!('ondevicechange' in navigator.mediaDevices)) {\\n if (property === 'addEventListener') {\\n return this.patchAddEventListener(target, property, receiver);\\n }\\n else if (property === 'removeEventListener') {\\n return this.patchRemoveEventListener(target, property, receiver);\\n }\\n }\\n const value = Reflect.get(target, property, receiver);\\n return typeof value === 'function' ? value.bind(target) : value;\\n };\\n this.patchAddEventListener = (target, property, \\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n receiver) => {\\n const value = Reflect.get(target, property, receiver);\\n return (type, listener, options) => {\\n if (type === 'devicechange') {\\n this.deviceChangeListeners.add(listener);\\n if (!this.scheduler) {\\n this.scheduler = new IntervalScheduler_1.default(MediaDeviceProxyHandler.INTERVAL_MS);\\n this.scheduler.start(this.pollDeviceLists);\\n }\\n }\\n else {\\n return Reflect.apply(value, target, [type, listener, options]);\\n }\\n };\\n };\\n this.patchRemoveEventListener = (target, property, \\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n receiver) => {\\n const value = Reflect.get(target, property, receiver);\\n return (type, listener, options) => {\\n if (type === 'devicechange') {\\n this.deviceChangeListeners.delete(listener);\\n if (this.deviceChangeListeners.size === 0 && this.scheduler) {\\n this.scheduler.stop();\\n this.scheduler = null;\\n }\\n }\\n else {\\n return Reflect.apply(value, target, [type, listener, options]);\\n }\\n };\\n };\\n this.pollDeviceLists = () => __awaiter(this, void 0, void 0, function* () {\\n const newDevices = yield this.sortedDeviceList();\\n if (this.devices) {\\n const changed = newDevices.length !== this.devices.length ||\\n newDevices.some((device, index) => {\\n return device.deviceId !== this.devices[index].deviceId;\\n });\\n if (changed) {\\n this.handleDeviceChangeEvent();\\n }\\n }\\n this.devices = newDevices;\\n });\\n }\\n sortedDeviceList() {\\n return __awaiter(this, void 0, void 0, function* () {\\n // @ts-ignore\\n const newDevices = yield navigator.mediaDevices.enumerateDevices();\\n return newDevices.sort((device1, device2) => {\\n if (device1.deviceId < device2.deviceId) {\\n return 1;\\n }\\n if (device1.deviceId > device2.deviceId) {\\n return -1;\\n }\\n return 0;\\n });\\n });\\n }\\n handleDeviceChangeEvent() {\\n for (const listener of this.deviceChangeListeners) {\\n AsyncScheduler_1.default.nextTick(() => {\\n /* istanbul ignore else */\\n if (this.deviceChangeListeners.has(listener)) {\\n const event = new Event('devicechange');\\n if (typeof listener === 'function') {\\n listener(event);\\n }\\n else {\\n listener.handleEvent(event);\\n }\\n }\\n });\\n }\\n }\\n}\\nexports[\\\"default\\\"] = MediaDeviceProxyHandler;\\nMediaDeviceProxyHandler.INTERVAL_MS = 1000;\\n//# sourceMappingURL=MediaDeviceProxyHandler.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/mediadevicefactory/MediaDeviceProxyHandler.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/mediastreambroker/NoOpMediaStreamBroker.js\":\n/*!*******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/mediastreambroker/NoOpMediaStreamBroker.js ***!\n \\*******************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[NoOpDeviceBroker]] rejects requests to acquire a [[MediaStream]].\\n */\\nclass NoOpMediaStreamBroker {\\n acquireAudioInputStream() {\\n return Promise.reject();\\n }\\n acquireVideoInputStream() {\\n return Promise.reject();\\n }\\n acquireDisplayInputStream(_streamConstraints) {\\n return Promise.reject();\\n }\\n muteLocalAudioInputStream() { }\\n unmuteLocalAudioInputStream() { }\\n addMediaStreamBrokerObserver(_observer) { }\\n removeMediaStreamBrokerObserver(_observer) { }\\n}\\nexports[\\\"default\\\"] = NoOpMediaStreamBroker;\\n//# sourceMappingURL=NoOpMediaStreamBroker.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/mediastreambroker/NoOpMediaStreamBroker.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioConnectivityFeedback.js\":\n/*!**********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioConnectivityFeedback.js ***!\n \\**********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.CheckAudioConnectivityFeedback = void 0;\\nvar CheckAudioConnectivityFeedback;\\n(function (CheckAudioConnectivityFeedback) {\\n CheckAudioConnectivityFeedback[CheckAudioConnectivityFeedback[\\\"Succeeded\\\"] = 0] = \\\"Succeeded\\\";\\n CheckAudioConnectivityFeedback[CheckAudioConnectivityFeedback[\\\"AudioInputRequestFailed\\\"] = 1] = \\\"AudioInputRequestFailed\\\";\\n CheckAudioConnectivityFeedback[CheckAudioConnectivityFeedback[\\\"AudioInputPermissionDenied\\\"] = 2] = \\\"AudioInputPermissionDenied\\\";\\n CheckAudioConnectivityFeedback[CheckAudioConnectivityFeedback[\\\"ConnectionFailed\\\"] = 3] = \\\"ConnectionFailed\\\";\\n CheckAudioConnectivityFeedback[CheckAudioConnectivityFeedback[\\\"AudioNotReceived\\\"] = 4] = \\\"AudioNotReceived\\\";\\n})(CheckAudioConnectivityFeedback = exports.CheckAudioConnectivityFeedback || (exports.CheckAudioConnectivityFeedback = {}));\\nexports[\\\"default\\\"] = CheckAudioConnectivityFeedback;\\n//# sourceMappingURL=CheckAudioConnectivityFeedback.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioConnectivityFeedback.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioInputFeedback.js\":\n/*!***************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioInputFeedback.js ***!\n \\***************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.CheckAudioInputFeedback = void 0;\\nvar CheckAudioInputFeedback;\\n(function (CheckAudioInputFeedback) {\\n CheckAudioInputFeedback[CheckAudioInputFeedback[\\\"Succeeded\\\"] = 0] = \\\"Succeeded\\\";\\n CheckAudioInputFeedback[CheckAudioInputFeedback[\\\"Failed\\\"] = 1] = \\\"Failed\\\";\\n CheckAudioInputFeedback[CheckAudioInputFeedback[\\\"PermissionDenied\\\"] = 2] = \\\"PermissionDenied\\\";\\n})(CheckAudioInputFeedback = exports.CheckAudioInputFeedback || (exports.CheckAudioInputFeedback = {}));\\nexports[\\\"default\\\"] = CheckAudioInputFeedback;\\n//# sourceMappingURL=CheckAudioInputFeedback.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioInputFeedback.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioOutputFeedback.js\":\n/*!****************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioOutputFeedback.js ***!\n \\****************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.CheckAudioOutputFeedback = void 0;\\nvar CheckAudioOutputFeedback;\\n(function (CheckAudioOutputFeedback) {\\n CheckAudioOutputFeedback[CheckAudioOutputFeedback[\\\"Succeeded\\\"] = 0] = \\\"Succeeded\\\";\\n CheckAudioOutputFeedback[CheckAudioOutputFeedback[\\\"Failed\\\"] = 1] = \\\"Failed\\\";\\n})(CheckAudioOutputFeedback = exports.CheckAudioOutputFeedback || (exports.CheckAudioOutputFeedback = {}));\\nexports[\\\"default\\\"] = CheckAudioOutputFeedback;\\n//# sourceMappingURL=CheckAudioOutputFeedback.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioOutputFeedback.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckCameraResolutionFeedback.js\":\n/*!*********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckCameraResolutionFeedback.js ***!\n \\*********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.CheckCameraResolutionFeedback = void 0;\\nvar CheckCameraResolutionFeedback;\\n(function (CheckCameraResolutionFeedback) {\\n CheckCameraResolutionFeedback[CheckCameraResolutionFeedback[\\\"Succeeded\\\"] = 0] = \\\"Succeeded\\\";\\n CheckCameraResolutionFeedback[CheckCameraResolutionFeedback[\\\"Failed\\\"] = 1] = \\\"Failed\\\";\\n CheckCameraResolutionFeedback[CheckCameraResolutionFeedback[\\\"ResolutionNotSupported\\\"] = 2] = \\\"ResolutionNotSupported\\\";\\n CheckCameraResolutionFeedback[CheckCameraResolutionFeedback[\\\"PermissionDenied\\\"] = 3] = \\\"PermissionDenied\\\";\\n})(CheckCameraResolutionFeedback = exports.CheckCameraResolutionFeedback || (exports.CheckCameraResolutionFeedback = {}));\\nexports[\\\"default\\\"] = CheckCameraResolutionFeedback;\\n//# sourceMappingURL=CheckCameraResolutionFeedback.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckCameraResolutionFeedback.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckContentShareConnectivityFeedback.js\":\n/*!*****************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckContentShareConnectivityFeedback.js ***!\n \\*****************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.CheckContentShareConnectivityFeedback = void 0;\\nvar CheckContentShareConnectivityFeedback;\\n(function (CheckContentShareConnectivityFeedback) {\\n CheckContentShareConnectivityFeedback[CheckContentShareConnectivityFeedback[\\\"Succeeded\\\"] = 0] = \\\"Succeeded\\\";\\n CheckContentShareConnectivityFeedback[CheckContentShareConnectivityFeedback[\\\"Failed\\\"] = 1] = \\\"Failed\\\";\\n CheckContentShareConnectivityFeedback[CheckContentShareConnectivityFeedback[\\\"PermissionDenied\\\"] = 2] = \\\"PermissionDenied\\\";\\n CheckContentShareConnectivityFeedback[CheckContentShareConnectivityFeedback[\\\"TimedOut\\\"] = 3] = \\\"TimedOut\\\";\\n CheckContentShareConnectivityFeedback[CheckContentShareConnectivityFeedback[\\\"ConnectionFailed\\\"] = 4] = \\\"ConnectionFailed\\\";\\n})(CheckContentShareConnectivityFeedback = exports.CheckContentShareConnectivityFeedback || (exports.CheckContentShareConnectivityFeedback = {}));\\nexports[\\\"default\\\"] = CheckContentShareConnectivityFeedback;\\n//# sourceMappingURL=CheckContentShareConnectivityFeedback.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckContentShareConnectivityFeedback.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckNetworkTCPConnectivityFeedback.js\":\n/*!***************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckNetworkTCPConnectivityFeedback.js ***!\n \\***************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.CheckNetworkTCPConnectivityFeedback = void 0;\\nvar CheckNetworkTCPConnectivityFeedback;\\n(function (CheckNetworkTCPConnectivityFeedback) {\\n CheckNetworkTCPConnectivityFeedback[CheckNetworkTCPConnectivityFeedback[\\\"Succeeded\\\"] = 0] = \\\"Succeeded\\\";\\n CheckNetworkTCPConnectivityFeedback[CheckNetworkTCPConnectivityFeedback[\\\"MeetingSessionURLsNotInitialized\\\"] = 1] = \\\"MeetingSessionURLsNotInitialized\\\";\\n CheckNetworkTCPConnectivityFeedback[CheckNetworkTCPConnectivityFeedback[\\\"ConnectionFailed\\\"] = 2] = \\\"ConnectionFailed\\\";\\n CheckNetworkTCPConnectivityFeedback[CheckNetworkTCPConnectivityFeedback[\\\"ICENegotiationFailed\\\"] = 3] = \\\"ICENegotiationFailed\\\";\\n})(CheckNetworkTCPConnectivityFeedback = exports.CheckNetworkTCPConnectivityFeedback || (exports.CheckNetworkTCPConnectivityFeedback = {}));\\nexports[\\\"default\\\"] = CheckNetworkTCPConnectivityFeedback;\\n//# sourceMappingURL=CheckNetworkTCPConnectivityFeedback.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckNetworkTCPConnectivityFeedback.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckNetworkUDPConnectivityFeedback.js\":\n/*!***************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckNetworkUDPConnectivityFeedback.js ***!\n \\***************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.CheckNetworkUDPConnectivityFeedback = void 0;\\nvar CheckNetworkUDPConnectivityFeedback;\\n(function (CheckNetworkUDPConnectivityFeedback) {\\n CheckNetworkUDPConnectivityFeedback[CheckNetworkUDPConnectivityFeedback[\\\"Succeeded\\\"] = 0] = \\\"Succeeded\\\";\\n CheckNetworkUDPConnectivityFeedback[CheckNetworkUDPConnectivityFeedback[\\\"MeetingSessionURLsNotInitialized\\\"] = 1] = \\\"MeetingSessionURLsNotInitialized\\\";\\n CheckNetworkUDPConnectivityFeedback[CheckNetworkUDPConnectivityFeedback[\\\"ConnectionFailed\\\"] = 2] = \\\"ConnectionFailed\\\";\\n CheckNetworkUDPConnectivityFeedback[CheckNetworkUDPConnectivityFeedback[\\\"ICENegotiationFailed\\\"] = 3] = \\\"ICENegotiationFailed\\\";\\n})(CheckNetworkUDPConnectivityFeedback = exports.CheckNetworkUDPConnectivityFeedback || (exports.CheckNetworkUDPConnectivityFeedback = {}));\\nexports[\\\"default\\\"] = CheckNetworkUDPConnectivityFeedback;\\n//# sourceMappingURL=CheckNetworkUDPConnectivityFeedback.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckNetworkUDPConnectivityFeedback.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckVideoConnectivityFeedback.js\":\n/*!**********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckVideoConnectivityFeedback.js ***!\n \\**********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.CheckVideoConnectivityFeedback = void 0;\\nvar CheckVideoConnectivityFeedback;\\n(function (CheckVideoConnectivityFeedback) {\\n CheckVideoConnectivityFeedback[CheckVideoConnectivityFeedback[\\\"Succeeded\\\"] = 0] = \\\"Succeeded\\\";\\n CheckVideoConnectivityFeedback[CheckVideoConnectivityFeedback[\\\"VideoInputRequestFailed\\\"] = 1] = \\\"VideoInputRequestFailed\\\";\\n CheckVideoConnectivityFeedback[CheckVideoConnectivityFeedback[\\\"VideoInputPermissionDenied\\\"] = 2] = \\\"VideoInputPermissionDenied\\\";\\n CheckVideoConnectivityFeedback[CheckVideoConnectivityFeedback[\\\"ConnectionFailed\\\"] = 3] = \\\"ConnectionFailed\\\";\\n CheckVideoConnectivityFeedback[CheckVideoConnectivityFeedback[\\\"VideoNotSent\\\"] = 4] = \\\"VideoNotSent\\\";\\n})(CheckVideoConnectivityFeedback = exports.CheckVideoConnectivityFeedback || (exports.CheckVideoConnectivityFeedback = {}));\\nexports[\\\"default\\\"] = CheckVideoConnectivityFeedback;\\n//# sourceMappingURL=CheckVideoConnectivityFeedback.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckVideoConnectivityFeedback.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckVideoInputFeedback.js\":\n/*!***************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckVideoInputFeedback.js ***!\n \\***************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.CheckVideoInputFeedback = void 0;\\nvar CheckVideoInputFeedback;\\n(function (CheckVideoInputFeedback) {\\n CheckVideoInputFeedback[CheckVideoInputFeedback[\\\"Succeeded\\\"] = 0] = \\\"Succeeded\\\";\\n CheckVideoInputFeedback[CheckVideoInputFeedback[\\\"Failed\\\"] = 1] = \\\"Failed\\\";\\n CheckVideoInputFeedback[CheckVideoInputFeedback[\\\"PermissionDenied\\\"] = 2] = \\\"PermissionDenied\\\";\\n})(CheckVideoInputFeedback = exports.CheckVideoInputFeedback || (exports.CheckVideoInputFeedback = {}));\\nexports[\\\"default\\\"] = CheckVideoInputFeedback;\\n//# sourceMappingURL=CheckVideoInputFeedback.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckVideoInputFeedback.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/DefaultMeetingReadinessChecker.js\":\n/*!**********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/DefaultMeetingReadinessChecker.js ***!\n \\**********************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultAudioMixController_1 = __webpack_require__(/*! ../audiomixcontroller/DefaultAudioMixController */ \\\"./node_modules/amazon-chime-sdk-js/build/audiomixcontroller/DefaultAudioMixController.js\\\");\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nconst DefaultDeviceController_1 = __webpack_require__(/*! ../devicecontroller/DefaultDeviceController */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/DefaultDeviceController.js\\\");\\nconst PermissionDeniedError_1 = __webpack_require__(/*! ../devicecontroller/PermissionDeniedError */ \\\"./node_modules/amazon-chime-sdk-js/build/devicecontroller/PermissionDeniedError.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ../task/BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\nconst TimeoutTask_1 = __webpack_require__(/*! ../task/TimeoutTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/TimeoutTask.js\\\");\\nconst CheckAudioConnectivityFeedback_1 = __webpack_require__(/*! ./CheckAudioConnectivityFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioConnectivityFeedback.js\\\");\\nconst CheckAudioInputFeedback_1 = __webpack_require__(/*! ./CheckAudioInputFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioInputFeedback.js\\\");\\nconst CheckAudioOutputFeedback_1 = __webpack_require__(/*! ./CheckAudioOutputFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckAudioOutputFeedback.js\\\");\\nconst CheckCameraResolutionFeedback_1 = __webpack_require__(/*! ./CheckCameraResolutionFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckCameraResolutionFeedback.js\\\");\\nconst CheckContentShareConnectivityFeedback_1 = __webpack_require__(/*! ./CheckContentShareConnectivityFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckContentShareConnectivityFeedback.js\\\");\\nconst CheckNetworkTCPConnectivityFeedback_1 = __webpack_require__(/*! ./CheckNetworkTCPConnectivityFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckNetworkTCPConnectivityFeedback.js\\\");\\nconst CheckNetworkUDPConnectivityFeedback_1 = __webpack_require__(/*! ./CheckNetworkUDPConnectivityFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckNetworkUDPConnectivityFeedback.js\\\");\\nconst CheckVideoConnectivityFeedback_1 = __webpack_require__(/*! ./CheckVideoConnectivityFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckVideoConnectivityFeedback.js\\\");\\nconst CheckVideoInputFeedback_1 = __webpack_require__(/*! ./CheckVideoInputFeedback */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/CheckVideoInputFeedback.js\\\");\\nconst MeetingReadinessCheckerConfiguration_1 = __webpack_require__(/*! ./MeetingReadinessCheckerConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/MeetingReadinessCheckerConfiguration.js\\\");\\nclass DefaultMeetingReadinessChecker {\\n constructor(logger, meetingSession, configuration = new MeetingReadinessCheckerConfiguration_1.default()) {\\n this.logger = logger;\\n this.meetingSession = meetingSession;\\n this.configuration = configuration;\\n this.browserBehavior = new DefaultBrowserBehavior_1.default();\\n }\\n static delay(timeoutMs) {\\n return __awaiter(this, void 0, void 0, function* () {\\n return new Promise(resolve => setTimeout(resolve, timeoutMs));\\n });\\n }\\n checkAudioInput(audioInputDevice) {\\n return __awaiter(this, void 0, void 0, function* () {\\n try {\\n yield this.meetingSession.audioVideo.startAudioInput(audioInputDevice);\\n yield this.meetingSession.audioVideo.stopAudioInput();\\n return CheckAudioInputFeedback_1.default.Succeeded;\\n }\\n catch (error) {\\n this.logger.error(`MeetingReadinessChecker: Audio input check failed with error ${error}`);\\n if (error instanceof PermissionDeniedError_1.default) {\\n return CheckAudioInputFeedback_1.default.PermissionDenied;\\n }\\n return CheckAudioInputFeedback_1.default.Failed;\\n }\\n });\\n }\\n checkAudioOutput(audioOutputDeviceInfo, audioOutputVerificationCallback, audioElement = null) {\\n return __awaiter(this, void 0, void 0, function* () {\\n try {\\n const audioOutputDeviceId = audioOutputDeviceInfo\\n ? DefaultDeviceController_1.default.getIntrinsicDeviceId(audioOutputDeviceInfo)\\n : '';\\n yield this.playTone(audioOutputDeviceId, this.configuration.audioOutputFrequency, audioElement);\\n const userFeedback = yield audioOutputVerificationCallback();\\n if (userFeedback) {\\n return CheckAudioOutputFeedback_1.default.Succeeded;\\n }\\n return CheckAudioOutputFeedback_1.default.Failed;\\n }\\n catch (error) {\\n this.logger.error(`MeetingReadinessChecker: Audio output check failed with error: ${error}`);\\n return CheckAudioOutputFeedback_1.default.Failed;\\n }\\n finally {\\n this.stopTone();\\n }\\n });\\n }\\n playTone(sinkId, frequency, audioElement) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const rampSec = 0.1;\\n const maxGainValue = this.configuration.audioOutputGain;\\n if (this.oscillatorNode) {\\n this.stopTone();\\n }\\n this.audioContext = DefaultDeviceController_1.default.getAudioContext();\\n this.gainNode = this.audioContext.createGain();\\n this.gainNode.gain.value = 0;\\n this.oscillatorNode = this.audioContext.createOscillator();\\n this.oscillatorNode.frequency.value = frequency;\\n this.oscillatorNode.connect(this.gainNode);\\n this.destinationStream = this.audioContext.createMediaStreamDestination();\\n this.gainNode.connect(this.destinationStream);\\n const currentTime = this.audioContext.currentTime;\\n const startTime = currentTime + 0.1;\\n this.gainNode.gain.linearRampToValueAtTime(0, startTime);\\n this.gainNode.gain.linearRampToValueAtTime(maxGainValue, startTime + rampSec);\\n this.oscillatorNode.start();\\n // Because we always use `DefaultAudioMixController`, and both this class\\n // and DAMC use `DefaultBrowserBehavior`, it is not possible for the `bindAudioDevice` call here to throw.\\n // Nevertheless, we `catch` here and disable code coverage.\\n const audioMixController = new DefaultAudioMixController_1.default(this.logger);\\n try {\\n if (this.browserBehavior.supportsSetSinkId()) {\\n yield audioMixController.bindAudioDevice({ deviceId: sinkId });\\n }\\n }\\n catch (e) {\\n /* istanbul ignore next */\\n this.logger.error(`Failed to bind audio device: ${e}`);\\n }\\n try {\\n yield audioMixController.bindAudioElement(audioElement || new Audio());\\n }\\n catch (e) {\\n this.logger.error(`Failed to bind audio element: ${e}`);\\n }\\n yield audioMixController.bindAudioStream(this.destinationStream.stream);\\n });\\n }\\n stopTone() {\\n if (!this.audioContext || !this.gainNode || !this.oscillatorNode || !this.destinationStream) {\\n return;\\n }\\n const durationSec = 1;\\n const rampSec = 0.1;\\n const maxGainValue = this.configuration.audioOutputGain;\\n const currentTime = this.audioContext.currentTime;\\n this.gainNode.gain.linearRampToValueAtTime(maxGainValue, currentTime + rampSec + durationSec);\\n this.gainNode.gain.linearRampToValueAtTime(0, currentTime + rampSec * 2 + durationSec);\\n this.oscillatorNode.stop();\\n this.oscillatorNode.disconnect(this.gainNode);\\n this.gainNode.disconnect(this.destinationStream);\\n this.oscillatorNode = null;\\n this.gainNode = null;\\n this.destinationStream = null;\\n }\\n checkVideoInput(videoInputDevice) {\\n return __awaiter(this, void 0, void 0, function* () {\\n try {\\n yield this.meetingSession.audioVideo.startVideoInput(videoInputDevice);\\n yield this.meetingSession.audioVideo.stopVideoInput();\\n return CheckVideoInputFeedback_1.default.Succeeded;\\n }\\n catch (error) {\\n this.logger.error(`MeetingReadinessChecker: Video check failed with error ${error}`);\\n if (error instanceof PermissionDeniedError_1.default) {\\n return CheckVideoInputFeedback_1.default.PermissionDenied;\\n }\\n return CheckVideoInputFeedback_1.default.Failed;\\n }\\n });\\n }\\n checkCameraResolution(videoInputDevice, width, height) {\\n return __awaiter(this, void 0, void 0, function* () {\\n let stream;\\n try {\\n const videoInputDeviceId = DefaultDeviceController_1.default.getIntrinsicDeviceId(videoInputDevice);\\n const videoConstraint = {\\n video: this.calculateVideoConstraint(videoInputDeviceId, width, height),\\n };\\n stream = yield navigator.mediaDevices.getUserMedia(videoConstraint);\\n }\\n catch (error) {\\n this.logger.error(`MeetingReadinessChecker: Camera resolution check with width: ${width} height ${height} failed with error ${error}`);\\n if (error && error.name === 'OverconstrainedError') {\\n return CheckCameraResolutionFeedback_1.default.ResolutionNotSupported;\\n }\\n if (error && error.name === 'NotAllowedError') {\\n return CheckCameraResolutionFeedback_1.default.PermissionDenied;\\n }\\n return CheckCameraResolutionFeedback_1.default.Failed;\\n }\\n finally {\\n if (stream) {\\n stream.getTracks().forEach(function (track) {\\n track.stop();\\n });\\n }\\n }\\n return CheckCameraResolutionFeedback_1.default.Succeeded;\\n });\\n }\\n calculateVideoConstraint(videoInputDeviceId, width, height) {\\n const dimension = this.browserBehavior.requiresResolutionAlignment(width, height);\\n const trackConstraints = {};\\n if (this.browserBehavior.requiresNoExactMediaStreamConstraints()) {\\n trackConstraints.deviceId = videoInputDeviceId;\\n trackConstraints.width = width;\\n trackConstraints.height = height;\\n }\\n else {\\n trackConstraints.deviceId = { exact: videoInputDeviceId };\\n trackConstraints.width = { exact: dimension[0] };\\n trackConstraints.height = { exact: dimension[1] };\\n }\\n return trackConstraints;\\n }\\n checkContentShareConnectivity(sourceId) {\\n return __awaiter(this, void 0, void 0, function* () {\\n let isContentShareStarted = false;\\n let isAudioVideoStarted = false;\\n const contentShareObserver = {\\n contentShareDidStart: () => {\\n isContentShareStarted = true;\\n },\\n };\\n const observer = {\\n audioVideoDidStart: () => {\\n isAudioVideoStarted = true;\\n },\\n };\\n try {\\n this.meetingSession.audioVideo.addObserver(observer);\\n this.meetingSession.audioVideo.start();\\n this.meetingSession.audioVideo.addContentShareObserver(contentShareObserver);\\n yield this.meetingSession.audioVideo.startContentShareFromScreenCapture(sourceId);\\n yield this.executeTimeoutTask(() => __awaiter(this, void 0, void 0, function* () {\\n return isAudioVideoStarted && isContentShareStarted;\\n }));\\n if (!isAudioVideoStarted) {\\n return CheckContentShareConnectivityFeedback_1.default.ConnectionFailed;\\n }\\n yield this.stopMeeting();\\n return isContentShareStarted\\n ? CheckContentShareConnectivityFeedback_1.default.Succeeded\\n : CheckContentShareConnectivityFeedback_1.default.TimedOut;\\n }\\n catch (error) {\\n this.logger.error(`MeetingReadinessChecker: Content share check failed with error ${error}`);\\n if (error.name === 'NotAllowedError') {\\n return CheckContentShareConnectivityFeedback_1.default.PermissionDenied;\\n }\\n else {\\n return CheckContentShareConnectivityFeedback_1.default.Failed;\\n }\\n }\\n finally {\\n this.meetingSession.audioVideo.removeObserver(observer);\\n this.meetingSession.audioVideo.stopContentShare();\\n this.meetingSession.audioVideo.removeContentShareObserver(contentShareObserver);\\n }\\n });\\n }\\n checkAudioConnectivity(audioInputDevice) {\\n return __awaiter(this, void 0, void 0, function* () {\\n let audioPresence = false;\\n const audioConnectivityMetrics = {\\n packetsReceived: 0,\\n };\\n const audioVideo = this.meetingSession.audioVideo;\\n const checkAudioConnectivityMetricsObserver = {\\n metricsDidReceive(clientMetricReport) {\\n clientMetricReport.getRTCStatsReport().forEach(report => {\\n if (report.type === 'inbound-rtp' && report.mediaType === 'audio') {\\n audioConnectivityMetrics.packetsReceived = report.packetsReceived;\\n }\\n });\\n },\\n };\\n const attendeePresenceHandler = (attendeeId, present, _externalUserId, _dropped) => {\\n if (attendeeId === this.meetingSession.configuration.credentials.attendeeId && present) {\\n audioPresence = true;\\n }\\n };\\n try {\\n yield audioVideo.startAudioInput(audioInputDevice);\\n }\\n catch (error) {\\n this.logger.error(`MeetingReadinessChecker: Failed to get audio input device with error ${error}`);\\n if (error instanceof PermissionDeniedError_1.default) {\\n return CheckAudioConnectivityFeedback_1.default.AudioInputPermissionDenied;\\n }\\n return CheckAudioConnectivityFeedback_1.default.AudioInputRequestFailed;\\n }\\n audioVideo.realtimeSubscribeToAttendeeIdPresence(attendeePresenceHandler);\\n audioVideo.addObserver(checkAudioConnectivityMetricsObserver);\\n if (!(yield this.startMeeting())) {\\n audioVideo.removeObserver(checkAudioConnectivityMetricsObserver);\\n audioVideo.realtimeUnsubscribeToAttendeeIdPresence(attendeePresenceHandler);\\n yield this.meetingSession.audioVideo.stopAudioInput();\\n return CheckAudioConnectivityFeedback_1.default.ConnectionFailed;\\n }\\n yield this.executeTimeoutTask(() => __awaiter(this, void 0, void 0, function* () {\\n return this.isAudioConnectionSuccessful(audioPresence, audioConnectivityMetrics);\\n }));\\n audioVideo.removeObserver(checkAudioConnectivityMetricsObserver);\\n audioVideo.realtimeUnsubscribeToAttendeeIdPresence(attendeePresenceHandler);\\n yield this.stopMeeting();\\n yield this.meetingSession.audioVideo.stopAudioInput();\\n return this.isAudioConnectionSuccessful(audioPresence, audioConnectivityMetrics)\\n ? CheckAudioConnectivityFeedback_1.default.Succeeded\\n : CheckAudioConnectivityFeedback_1.default.AudioNotReceived;\\n });\\n }\\n checkVideoConnectivity(videoInputDevice) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const audioVideo = this.meetingSession.audioVideo;\\n let packetsSent = 0;\\n const observer = {\\n metricsDidReceive(clientMetricReport) {\\n const rawStats = clientMetricReport.getRTCStatsReport();\\n rawStats.forEach(report => {\\n if (report.type === 'outbound-rtp' && report.mediaType === 'video') {\\n packetsSent = report.packetsSent;\\n }\\n });\\n },\\n };\\n try {\\n yield audioVideo.startVideoInput(videoInputDevice);\\n }\\n catch (error) {\\n this.logger.error(`MeetingReadinessChecker: Failed to get video input device with error ${error}`);\\n if (error instanceof PermissionDeniedError_1.default) {\\n return CheckVideoConnectivityFeedback_1.default.VideoInputPermissionDenied;\\n }\\n return CheckVideoConnectivityFeedback_1.default.VideoInputRequestFailed;\\n }\\n audioVideo.addObserver(observer);\\n if (!(yield this.startMeeting())) {\\n return CheckVideoConnectivityFeedback_1.default.ConnectionFailed;\\n }\\n audioVideo.startLocalVideoTile();\\n yield this.executeTimeoutTask(() => __awaiter(this, void 0, void 0, function* () {\\n return packetsSent > 0;\\n }));\\n yield audioVideo.stopVideoInput();\\n yield this.stopMeeting();\\n audioVideo.removeObserver(observer);\\n if (packetsSent <= 0) {\\n return CheckVideoConnectivityFeedback_1.default.VideoNotSent;\\n }\\n return CheckVideoConnectivityFeedback_1.default.Succeeded;\\n });\\n }\\n checkNetworkUDPConnectivity() {\\n return __awaiter(this, void 0, void 0, function* () {\\n let candidatePairSucceed = false;\\n const observer = {\\n metricsDidReceive(clientMetricReport) {\\n const rawStats = clientMetricReport.getRTCStatsReport();\\n rawStats.forEach(report => {\\n if (report.type === 'candidate-pair' && report.state === 'succeeded') {\\n candidatePairSucceed = true;\\n }\\n });\\n },\\n };\\n try {\\n this.originalURLRewriter = this.meetingSession.configuration.urls.urlRewriter;\\n }\\n catch (error) {\\n this.logger.error(`MeetingSessionConfiguration.urls doesn't exist. Error: ${error}`);\\n return CheckNetworkUDPConnectivityFeedback_1.default.MeetingSessionURLsNotInitialized;\\n }\\n this.meetingSession.configuration.urls.urlRewriter = (uri) => {\\n const transformedUri = this.originalURLRewriter(uri);\\n if (transformedUri.includes('transport=tcp')) {\\n return '';\\n }\\n return transformedUri;\\n };\\n const audioVideo = this.meetingSession.audioVideo;\\n audioVideo.addObserver(observer);\\n if (!(yield this.startMeeting())) {\\n this.meetingSession.configuration.urls.urlRewriter = this.originalURLRewriter;\\n return CheckNetworkUDPConnectivityFeedback_1.default.ConnectionFailed;\\n }\\n yield this.executeTimeoutTask(() => __awaiter(this, void 0, void 0, function* () {\\n return candidatePairSucceed;\\n }));\\n this.meetingSession.configuration.urls.urlRewriter = this.originalURLRewriter;\\n yield this.stopMeeting();\\n audioVideo.removeObserver(observer);\\n if (!candidatePairSucceed) {\\n return CheckNetworkUDPConnectivityFeedback_1.default.ICENegotiationFailed;\\n }\\n return CheckNetworkUDPConnectivityFeedback_1.default.Succeeded;\\n });\\n }\\n checkNetworkTCPConnectivity() {\\n return __awaiter(this, void 0, void 0, function* () {\\n let candidatePairSucceed = false;\\n const observer = {\\n metricsDidReceive(clientMetricReport) {\\n const rawStats = clientMetricReport.getRTCStatsReport();\\n rawStats.forEach(report => {\\n if (report.type === 'candidate-pair' && report.state === 'succeeded') {\\n candidatePairSucceed = true;\\n }\\n });\\n },\\n };\\n try {\\n this.originalURLRewriter = this.meetingSession.configuration.urls.urlRewriter;\\n }\\n catch (error) {\\n this.logger.error(`MeetingSessionConfiguration.urls doesn't exist. Error: ${error}`);\\n return CheckNetworkTCPConnectivityFeedback_1.default.MeetingSessionURLsNotInitialized;\\n }\\n this.meetingSession.configuration.urls.urlRewriter = (uri) => {\\n const transformedUri = this.originalURLRewriter(uri);\\n if (transformedUri.includes('transport=udp')) {\\n return '';\\n }\\n return transformedUri;\\n };\\n const audioVideo = this.meetingSession.audioVideo;\\n audioVideo.addObserver(observer);\\n if (!(yield this.startMeeting())) {\\n this.meetingSession.configuration.urls.urlRewriter = this.originalURLRewriter;\\n return CheckNetworkTCPConnectivityFeedback_1.default.ConnectionFailed;\\n }\\n yield this.executeTimeoutTask(() => __awaiter(this, void 0, void 0, function* () {\\n return candidatePairSucceed;\\n }));\\n this.meetingSession.configuration.urls.urlRewriter = this.originalURLRewriter;\\n yield this.stopMeeting();\\n audioVideo.removeObserver(observer);\\n if (!candidatePairSucceed) {\\n return CheckNetworkTCPConnectivityFeedback_1.default.ICENegotiationFailed;\\n }\\n return CheckNetworkTCPConnectivityFeedback_1.default.Succeeded;\\n });\\n }\\n startMeeting() {\\n return __awaiter(this, void 0, void 0, function* () {\\n let isStarted = false;\\n const observer = {\\n audioVideoDidStart: () => {\\n isStarted = true;\\n },\\n };\\n this.meetingSession.audioVideo.addObserver(observer);\\n this.meetingSession.audioVideo.start();\\n yield this.executeTimeoutTask(() => __awaiter(this, void 0, void 0, function* () {\\n return isStarted;\\n }));\\n this.meetingSession.audioVideo.removeObserver(observer);\\n return isStarted;\\n });\\n }\\n stopMeeting() {\\n return __awaiter(this, void 0, void 0, function* () {\\n let isStopped = false;\\n const observer = {\\n audioVideoDidStop: (_sessionStatus) => {\\n isStopped = true;\\n },\\n };\\n this.meetingSession.audioVideo.addObserver(observer);\\n this.meetingSession.audioVideo.stop();\\n yield this.executeTimeoutTask(() => __awaiter(this, void 0, void 0, function* () {\\n return isStopped;\\n }));\\n this.meetingSession.audioVideo.removeObserver(observer);\\n return isStopped;\\n });\\n }\\n executeTimeoutTask(conditionCheck) {\\n return __awaiter(this, void 0, void 0, function* () {\\n let isSuccess = false;\\n class CheckForConditionTask extends BaseTask_1.default {\\n constructor(logger, waitDurationMs) {\\n super(logger);\\n this.waitDurationMs = waitDurationMs;\\n this.isCancelled = false;\\n }\\n cancel() {\\n this.isCancelled = true;\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n while (!this.isCancelled) {\\n if (yield conditionCheck()) {\\n isSuccess = true;\\n break;\\n }\\n yield DefaultMeetingReadinessChecker.delay(this.waitDurationMs);\\n }\\n });\\n }\\n }\\n const timeoutTask = new TimeoutTask_1.default(this.logger, new CheckForConditionTask(this.logger, this.configuration.waitDurationMs), this.configuration.timeoutMs);\\n yield timeoutTask.run();\\n return isSuccess;\\n });\\n }\\n isAudioConnectionSuccessful(audioPresence, audioConnectivityMetrics) {\\n return audioPresence && audioConnectivityMetrics.packetsReceived > 0;\\n }\\n}\\nexports[\\\"default\\\"] = DefaultMeetingReadinessChecker;\\n//# sourceMappingURL=DefaultMeetingReadinessChecker.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/DefaultMeetingReadinessChecker.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/MeetingReadinessCheckerConfiguration.js\":\n/*!****************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/MeetingReadinessCheckerConfiguration.js ***!\n \\****************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[MeetingReadinessCheckerConfiguration]] includes custom settings used for MeetingReadinessChecker\\n */\\nclass MeetingReadinessCheckerConfiguration {\\n constructor() {\\n /**\\n * Specify how long to wait for each check in a test.\\n * If null, it will use the default value.\\n */\\n this.timeoutMs = 10000;\\n /**\\n * Specify the wait time before checking again when a check condition is not met.\\n * If null, it will use the default value.\\n */\\n this.waitDurationMs = 3000;\\n /**\\n * Specify the frequency of oscillation in hertz for the audio output test.\\n */\\n this.audioOutputFrequency = 440;\\n /**\\n * Specify the gain value from 0 to 1.0 for the audio output test.\\n */\\n this.audioOutputGain = 0.1;\\n }\\n}\\nexports[\\\"default\\\"] = MeetingReadinessCheckerConfiguration;\\n//# sourceMappingURL=MeetingReadinessCheckerConfiguration.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingreadinesschecker/MeetingReadinessCheckerConfiguration.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingsession/DefaultMeetingSession.js\":\n/*!****************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingsession/DefaultMeetingSession.js ***!\n \\****************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultAudioVideoController_1 = __webpack_require__(/*! ../audiovideocontroller/DefaultAudioVideoController */ \\\"./node_modules/amazon-chime-sdk-js/build/audiovideocontroller/DefaultAudioVideoController.js\\\");\\nconst DefaultAudioVideoFacade_1 = __webpack_require__(/*! ../audiovideofacade/DefaultAudioVideoFacade */ \\\"./node_modules/amazon-chime-sdk-js/build/audiovideofacade/DefaultAudioVideoFacade.js\\\");\\nconst FullJitterBackoff_1 = __webpack_require__(/*! ../backoff/FullJitterBackoff */ \\\"./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoff.js\\\");\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nconst ContentShareMediaStreamBroker_1 = __webpack_require__(/*! ../contentsharecontroller/ContentShareMediaStreamBroker */ \\\"./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/ContentShareMediaStreamBroker.js\\\");\\nconst DefaultContentShareController_1 = __webpack_require__(/*! ../contentsharecontroller/DefaultContentShareController */ \\\"./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/DefaultContentShareController.js\\\");\\nconst CSPMonitor_1 = __webpack_require__(/*! ../cspmonitor/CSPMonitor */ \\\"./node_modules/amazon-chime-sdk-js/build/cspmonitor/CSPMonitor.js\\\");\\nconst Destroyable_1 = __webpack_require__(/*! ../destroyable/Destroyable */ \\\"./node_modules/amazon-chime-sdk-js/build/destroyable/Destroyable.js\\\");\\nconst DefaultEventController_1 = __webpack_require__(/*! ../eventcontroller/DefaultEventController */ \\\"./node_modules/amazon-chime-sdk-js/build/eventcontroller/DefaultEventController.js\\\");\\nconst DefaultReconnectController_1 = __webpack_require__(/*! ../reconnectcontroller/DefaultReconnectController */ \\\"./node_modules/amazon-chime-sdk-js/build/reconnectcontroller/DefaultReconnectController.js\\\");\\nconst DefaultWebSocketAdapter_1 = __webpack_require__(/*! ../websocketadapter/DefaultWebSocketAdapter */ \\\"./node_modules/amazon-chime-sdk-js/build/websocketadapter/DefaultWebSocketAdapter.js\\\");\\nclass DefaultMeetingSession {\\n constructor(configuration, logger, deviceController, _eventController) {\\n this._eventController = _eventController;\\n this._configuration = configuration;\\n this._logger = logger;\\n this.checkBrowserSupportAndFeatureConfiguration();\\n CSPMonitor_1.default.addLogger(this._logger);\\n CSPMonitor_1.default.register();\\n if (!this._eventController) {\\n this._eventController = new DefaultEventController_1.default(configuration, logger);\\n }\\n /* istanbul ignore else */\\n if (!deviceController.eventController) {\\n deviceController.eventController = this.eventController;\\n }\\n this.audioVideoController = new DefaultAudioVideoController_1.default(this._configuration, this._logger, new DefaultWebSocketAdapter_1.default(this._logger), deviceController, new DefaultReconnectController_1.default(this._configuration.reconnectTimeoutMs, new FullJitterBackoff_1.default(this._configuration.reconnectFixedWaitMs, this._configuration.reconnectShortBackOffMs, this._configuration.reconnectLongBackOffMs)), this.eventController);\\n this._deviceController = deviceController;\\n const contentShareMediaStreamBroker = new ContentShareMediaStreamBroker_1.default(this._logger);\\n this.contentShareController = new DefaultContentShareController_1.default(contentShareMediaStreamBroker, new DefaultAudioVideoController_1.default(DefaultContentShareController_1.default.createContentShareMeetingSessionConfigure(this._configuration), this._logger, new DefaultWebSocketAdapter_1.default(this._logger), contentShareMediaStreamBroker, new DefaultReconnectController_1.default(this._configuration.reconnectTimeoutMs, new FullJitterBackoff_1.default(this._configuration.reconnectFixedWaitMs, this._configuration.reconnectShortBackOffMs, this._configuration.reconnectLongBackOffMs))), this.audioVideoController);\\n this.audioVideoFacade = new DefaultAudioVideoFacade_1.default(this.audioVideoController, this.audioVideoController.videoTileController, this.audioVideoController.realtimeController, this.audioVideoController.audioMixController, this._deviceController, this.contentShareController);\\n }\\n get configuration() {\\n return this._configuration;\\n }\\n get logger() {\\n return this._logger;\\n }\\n get audioVideo() {\\n return this.audioVideoFacade;\\n }\\n get contentShare() {\\n return this.contentShareController;\\n }\\n get deviceController() {\\n return this._deviceController;\\n }\\n get eventController() {\\n return this._eventController;\\n }\\n /**\\n * Clean up this instance and resources that it created.\\n *\\n * After calling `destroy`, internal fields like `audioVideoController` will be unavailable.\\n */\\n destroy() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (Destroyable_1.isDestroyable(this.contentShareController)) {\\n yield this.contentShareController.destroy();\\n }\\n if (Destroyable_1.isDestroyable(this.audioVideoController)) {\\n yield this.audioVideoController.destroy();\\n }\\n if (Destroyable_1.isDestroyable(this.eventController)) {\\n yield this.eventController.destroy();\\n }\\n CSPMonitor_1.default.removeLogger(this._logger);\\n this._logger = undefined;\\n this._configuration = undefined;\\n this._deviceController = undefined;\\n this.audioVideoFacade = undefined;\\n this.audioVideoController = undefined;\\n this.contentShareController = undefined;\\n this._eventController = undefined;\\n });\\n }\\n checkBrowserSupportAndFeatureConfiguration() {\\n const browserBehavior = new DefaultBrowserBehavior_1.default();\\n const browser = `${browserBehavior.name()} ${browserBehavior.majorVersion()} (${browserBehavior.version()})`;\\n this.logger.info(`browser is ${browser}`);\\n if (!browserBehavior.isSupported()) {\\n this.logger.warn('this browser is not currently supported. ' +\\n 'Stability may suffer. ' +\\n `Supported browsers are: ${browserBehavior.supportString()}.`);\\n }\\n // Validation if a custom video uplink policy is specified\\n if (this._configuration.videoUplinkBandwidthPolicy) {\\n if (this.isSimulcastUplinkPolicy(this._configuration.videoUplinkBandwidthPolicy)) {\\n if (!browserBehavior.hasChromiumWebRTC()) {\\n throw new Error('Simulcast is only supported on Chromium-based browsers');\\n }\\n this._configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers = true;\\n }\\n else {\\n this._configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers = false;\\n }\\n }\\n if (this._configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers) {\\n if (browserBehavior.hasChromiumWebRTC()) {\\n this.logger.info(`Simulcast is enabled for ${browserBehavior.name()}`);\\n }\\n else {\\n this._configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers = false;\\n this.logger.info('Simulcast is only supported on Chromium-based browsers');\\n }\\n }\\n }\\n isSimulcastUplinkPolicy(policy) {\\n return !!(policy && policy.addObserver);\\n }\\n}\\nexports[\\\"default\\\"] = DefaultMeetingSession;\\n//# sourceMappingURL=DefaultMeetingSession.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingsession/DefaultMeetingSession.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionConfiguration.js\":\n/*!**********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionConfiguration.js ***!\n \\**********************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst ConnectionHealthPolicyConfiguration_1 = __webpack_require__(/*! ../connectionhealthpolicy/ConnectionHealthPolicyConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ConnectionHealthPolicyConfiguration.js\\\");\\nconst Utils_1 = __webpack_require__(/*! ../utils/Utils */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Utils.js\\\");\\nconst MeetingSessionCredentials_1 = __webpack_require__(/*! ./MeetingSessionCredentials */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionCredentials.js\\\");\\nconst MeetingSessionURLs_1 = __webpack_require__(/*! ./MeetingSessionURLs */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionURLs.js\\\");\\n/**\\n * [[MeetingSessionConfiguration]] contains the information necessary to start\\n * a session.\\n */\\nclass MeetingSessionConfiguration {\\n /**\\n * Constructs a MeetingSessionConfiguration optionally with a chime:CreateMeeting and\\n * chime:CreateAttendee response. You can pass in either a JSON object containing the\\n * responses, or a JSON object containing the information in the Meeting and Attendee\\n * root-level fields. Examples:\\n *\\n * ```\\n * const configuration = new MeetingSessionConfiguration({\\n * \\\"Meeting\\\": {\\n * \\\"MeetingId\\\": \\\"...\\\",\\n * \\\"MediaPlacement\\\": {\\n * \\\"AudioHostUrl\\\": \\\"...\\\",\\n * \\\"SignalingUrl\\\": \\\"...\\\",\\n * \\\"TurnControlUrl\\\": \\\"...\\\"\\n * }\\n * }\\n * }\\n * }, {\\n * \\\"Attendee\\\": {\\n * \\\"ExternalUserId\\\": \\\"...\\\",\\n * \\\"AttendeeId\\\": \\\"...\\\",\\n * \\\"JoinToken\\\": \\\"...\\\"\\n * }\\n * });\\n * ```\\n *\\n * ```\\n * const configuration = new MeetingSessionConfiguration({\\n * \\\"MeetingId\\\": \\\"...\\\",\\n * \\\"MediaPlacement\\\": {\\n * \\\"AudioHostUrl\\\": \\\"...\\\",\\n * \\\"SignalingUrl\\\": \\\"...\\\",\\n * \\\"TurnControlUrl\\\": \\\"...\\\"\\n * }\\n * }, {\\n * \\\"ExternalUserId\\\": \\\"...\\\",\\n * \\\"AttendeeId\\\": \\\"...\\\",\\n * \\\"JoinToken\\\": \\\"...\\\"\\n * });\\n * ```\\n */\\n constructor(createMeetingResponse, createAttendeeResponse) {\\n /**\\n * The id of the meeting the session is joining.\\n */\\n this.meetingId = null;\\n /**\\n * The external meeting id of the meeting the session is joining.\\n */\\n this.externalMeetingId = null;\\n /**\\n * The credentials used to authenticate the session.\\n */\\n this.credentials = null;\\n /**\\n * The URLs the session uses to reach the meeting service.\\n */\\n this.urls = null;\\n /**\\n * Maximum amount of time in milliseconds to allow for connecting.\\n */\\n this.connectionTimeoutMs = 15000;\\n /**\\n * Maximum amount of time in milliseconds to wait for the current attendee to be present\\n * after initial connection.\\n */\\n this.attendeePresenceTimeoutMs = 0;\\n /**\\n * Configuration for connection health policies: reconnection, unusable audio warning connection,\\n * and signal strength bars connection.\\n */\\n this.connectionHealthPolicyConfiguration = new ConnectionHealthPolicyConfiguration_1.default();\\n /**\\n * Maximum amount of time in milliseconds to allow for reconnecting.\\n */\\n this.reconnectTimeoutMs = 120 * 1000;\\n /**\\n * Fixed wait amount in milliseconds between reconnecting attempts.\\n */\\n this.reconnectFixedWaitMs = 0;\\n /**\\n * The short back-off time in milliseconds between reconnecting attempts.\\n */\\n this.reconnectShortBackOffMs = 1 * 1000;\\n /**\\n * The long back-off time in milliseconds between reconnecting attempts.\\n */\\n this.reconnectLongBackOffMs = 5 * 1000;\\n /**\\n * Feature flag to enable Simulcast\\n */\\n this.enableSimulcastForUnifiedPlanChromiumBasedBrowsers = false;\\n /**\\n * Video downlink bandwidth policy to determine which remote videos\\n * are subscribed to.\\n */\\n this.videoDownlinkBandwidthPolicy = null;\\n /**\\n * Video uplink bandwidth policy to determine the bandwidth constraints\\n * of the local video.\\n */\\n this.videoUplinkBandwidthPolicy = null;\\n /**\\n * Keep the last frame of the video when a remote video is paused via the pauseVideoTile API.\\n * This is done by not clearing the srcObject property of the videoElement.\\n */\\n this.keepLastFrameWhenPaused = false;\\n /**\\n * The Amazon Chime SDK media backends currently send a keyframe request to content share senders every 10 seconds to help mitigate\\n * decoder issues on receivers. This flag requests the backed to disable that feature.\\n *\\n * Setting this flag to true may or may not lead to issues with content received for your application, as it depends on browsers used\\n * and whether they have fixed previous issues leading to the introduction of this periodic keyframe request. It will however\\n * reduce CPU consumption on content senders which no longer have to generate as many expensive keyframes.\\n */\\n this.disablePeriodicKeyframeRequestOnContentSender = false;\\n if (createMeetingResponse) {\\n createMeetingResponse = Utils_1.toLowerCasePropertyNames(createMeetingResponse);\\n if (createMeetingResponse.meeting) {\\n createMeetingResponse = createMeetingResponse.meeting;\\n }\\n this.meetingId = createMeetingResponse.meetingid;\\n this.externalMeetingId = createMeetingResponse.externalmeetingid;\\n this.urls = new MeetingSessionURLs_1.default();\\n this.urls.audioHostURL = createMeetingResponse.mediaplacement.audiohosturl;\\n this.urls.signalingURL = createMeetingResponse.mediaplacement.signalingurl;\\n this.urls.turnControlURL = createMeetingResponse.mediaplacement.turncontrolurl;\\n if (createMeetingResponse.mediaplacement.eventingestionurl) {\\n this.urls.eventIngestionURL = createMeetingResponse.mediaplacement.eventingestionurl;\\n }\\n }\\n if (createAttendeeResponse) {\\n createAttendeeResponse = Utils_1.toLowerCasePropertyNames(createAttendeeResponse);\\n if (createAttendeeResponse.attendee) {\\n createAttendeeResponse = createAttendeeResponse.attendee;\\n }\\n this.credentials = new MeetingSessionCredentials_1.default();\\n this.credentials.attendeeId = createAttendeeResponse.attendeeid;\\n this.credentials.externalUserId = createAttendeeResponse.externaluserid;\\n this.credentials.joinToken = createAttendeeResponse.jointoken;\\n }\\n }\\n}\\nexports[\\\"default\\\"] = MeetingSessionConfiguration;\\n//# sourceMappingURL=MeetingSessionConfiguration.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionConfiguration.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionCredentials.js\":\n/*!********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionCredentials.js ***!\n \\********************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[MeetingSessionCredentials]] includes the credentials used to authenticate\\n * the attendee on the meeting\\n */\\nclass MeetingSessionCredentials {\\n constructor() {\\n /**\\n * The attendee id for these credentials.\\n */\\n this.attendeeId = null;\\n /**\\n * The external user id associated with the attendee.\\n */\\n this.externalUserId = null;\\n /**\\n * If set, the session will be authenticated with a join token.\\n */\\n this.joinToken = null;\\n }\\n /**\\n * Overrides JSON serialization so that join token is redacted.\\n */\\n toJSON() {\\n return {\\n attendeeId: this.attendeeId,\\n joinToken: this.joinToken === null ? null : '<redacted>',\\n };\\n }\\n}\\nexports[\\\"default\\\"] = MeetingSessionCredentials;\\n//# sourceMappingURL=MeetingSessionCredentials.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionCredentials.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionLifecycleEvent.js\":\n/*!***********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionLifecycleEvent.js ***!\n \\***********************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.MeetingSessionLifecycleEvent = void 0;\\n/**\\n * [[MeetingSessionLifecycleEvent]] indicates the lifecycle status.\\n * Add new enums to the bottom. We depend on these numbers for analytics.\\n */\\nvar MeetingSessionLifecycleEvent;\\n(function (MeetingSessionLifecycleEvent) {\\n /**\\n * The session is connecting, either to start a new call, or reconnect to an existing one.\\n */\\n MeetingSessionLifecycleEvent[MeetingSessionLifecycleEvent[\\\"Connecting\\\"] = 0] = \\\"Connecting\\\";\\n /**\\n * The session successfully arrived in the started state either for the first time or\\n * due to a change in connection type.\\n */\\n MeetingSessionLifecycleEvent[MeetingSessionLifecycleEvent[\\\"Started\\\"] = 1] = \\\"Started\\\";\\n /**\\n * The session came to a stop, either from leaving or due to a failure.\\n */\\n MeetingSessionLifecycleEvent[MeetingSessionLifecycleEvent[\\\"Stopped\\\"] = 2] = \\\"Stopped\\\";\\n})(MeetingSessionLifecycleEvent = exports.MeetingSessionLifecycleEvent || (exports.MeetingSessionLifecycleEvent = {}));\\nexports[\\\"default\\\"] = MeetingSessionLifecycleEvent;\\n//# sourceMappingURL=MeetingSessionLifecycleEvent.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionLifecycleEvent.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionLifecycleEventCondition.js\":\n/*!********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionLifecycleEventCondition.js ***!\n \\********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.MeetingSessionLifecycleEventCondition = void 0;\\n/**\\n * [[MeetingSessionLifecycleEventCondition]] indicates the lifecycle event condition.\\n * Add new enums to the bottom. We depend on these numbers for analytics.\\n */\\nvar MeetingSessionLifecycleEventCondition;\\n(function (MeetingSessionLifecycleEventCondition) {\\n /**\\n * The session is connecting for the first time.\\n */\\n MeetingSessionLifecycleEventCondition[MeetingSessionLifecycleEventCondition[\\\"ConnectingNew\\\"] = 0] = \\\"ConnectingNew\\\";\\n /**\\n * The session was connected before and is now reconnecting.\\n */\\n MeetingSessionLifecycleEventCondition[MeetingSessionLifecycleEventCondition[\\\"ReconnectingExisting\\\"] = 1] = \\\"ReconnectingExisting\\\";\\n /**\\n * The session successfully arrived in the started state for the first time.\\n */\\n MeetingSessionLifecycleEventCondition[MeetingSessionLifecycleEventCondition[\\\"StartedNew\\\"] = 2] = \\\"StartedNew\\\";\\n /**\\n * The session successfully arrived in the started state but was connected before.\\n * This can happen, for example, when the connection type changes.\\n */\\n MeetingSessionLifecycleEventCondition[MeetingSessionLifecycleEventCondition[\\\"StartedExisting\\\"] = 3] = \\\"StartedExisting\\\";\\n /**\\n * The session successfully arrived in the started state following a reconnect.\\n */\\n MeetingSessionLifecycleEventCondition[MeetingSessionLifecycleEventCondition[\\\"StartedAfterReconnect\\\"] = 4] = \\\"StartedAfterReconnect\\\";\\n /**\\n * The session stopped cleanly, probably due to leaving the call.\\n */\\n MeetingSessionLifecycleEventCondition[MeetingSessionLifecycleEventCondition[\\\"StoppedCleanly\\\"] = 5] = \\\"StoppedCleanly\\\";\\n /**\\n * The session stopped due to a failure. A status code will indicate the cause of\\n * the failure.\\n */\\n MeetingSessionLifecycleEventCondition[MeetingSessionLifecycleEventCondition[\\\"StoppedWithFailure\\\"] = 6] = \\\"StoppedWithFailure\\\";\\n})(MeetingSessionLifecycleEventCondition = exports.MeetingSessionLifecycleEventCondition || (exports.MeetingSessionLifecycleEventCondition = {}));\\nexports[\\\"default\\\"] = MeetingSessionLifecycleEventCondition;\\n//# sourceMappingURL=MeetingSessionLifecycleEventCondition.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionLifecycleEventCondition.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatus.js\":\n/*!***************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatus.js ***!\n \\***************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst MeetingSessionStatusCode_1 = __webpack_require__(/*! ./MeetingSessionStatusCode */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js\\\");\\n/**\\n * [[MeetingSessionStatus]] indicates a status received regarding the session.\\n */\\nclass MeetingSessionStatus {\\n constructor(_statusCode) {\\n this._statusCode = _statusCode;\\n }\\n statusCode() {\\n return this._statusCode;\\n }\\n isFailure() {\\n switch (this._statusCode) {\\n case MeetingSessionStatusCode_1.default.AudioAuthenticationRejected:\\n case MeetingSessionStatusCode_1.default.AudioCallAtCapacity:\\n case MeetingSessionStatusCode_1.default.AudioInternalServerError:\\n case MeetingSessionStatusCode_1.default.AudioServiceUnavailable:\\n case MeetingSessionStatusCode_1.default.AudioDisconnected:\\n case MeetingSessionStatusCode_1.default.VideoCallAtSourceCapacity:\\n case MeetingSessionStatusCode_1.default.SignalingBadRequest:\\n case MeetingSessionStatusCode_1.default.SignalingInternalServerError:\\n case MeetingSessionStatusCode_1.default.SignalingRequestFailed:\\n case MeetingSessionStatusCode_1.default.ICEGatheringTimeoutWorkaround:\\n case MeetingSessionStatusCode_1.default.ConnectionHealthReconnect:\\n case MeetingSessionStatusCode_1.default.RealtimeApiFailed:\\n case MeetingSessionStatusCode_1.default.TaskFailed:\\n case MeetingSessionStatusCode_1.default.NoAttendeePresent:\\n return true;\\n default:\\n return false;\\n }\\n }\\n isTerminal() {\\n switch (this._statusCode) {\\n case MeetingSessionStatusCode_1.default.Left:\\n case MeetingSessionStatusCode_1.default.AudioJoinedFromAnotherDevice:\\n case MeetingSessionStatusCode_1.default.AudioAuthenticationRejected:\\n case MeetingSessionStatusCode_1.default.AudioCallAtCapacity:\\n case MeetingSessionStatusCode_1.default.MeetingEnded:\\n case MeetingSessionStatusCode_1.default.AudioDisconnected:\\n case MeetingSessionStatusCode_1.default.TURNCredentialsForbidden:\\n case MeetingSessionStatusCode_1.default.SignalingBadRequest:\\n case MeetingSessionStatusCode_1.default.SignalingRequestFailed:\\n case MeetingSessionStatusCode_1.default.VideoCallAtSourceCapacity:\\n case MeetingSessionStatusCode_1.default.RealtimeApiFailed:\\n case MeetingSessionStatusCode_1.default.AudioAttendeeRemoved:\\n return true;\\n default:\\n return false;\\n }\\n }\\n isAudioConnectionFailure() {\\n switch (this._statusCode) {\\n case MeetingSessionStatusCode_1.default.AudioAuthenticationRejected:\\n case MeetingSessionStatusCode_1.default.AudioInternalServerError:\\n case MeetingSessionStatusCode_1.default.AudioServiceUnavailable:\\n case MeetingSessionStatusCode_1.default.ICEGatheringTimeoutWorkaround:\\n case MeetingSessionStatusCode_1.default.SignalingBadRequest:\\n case MeetingSessionStatusCode_1.default.SignalingInternalServerError:\\n case MeetingSessionStatusCode_1.default.SignalingRequestFailed:\\n case MeetingSessionStatusCode_1.default.RealtimeApiFailed:\\n case MeetingSessionStatusCode_1.default.NoAttendeePresent:\\n return true;\\n default:\\n return false;\\n }\\n }\\n toString() {\\n switch (this._statusCode) {\\n case MeetingSessionStatusCode_1.default.OK:\\n return 'Everything is OK so far.';\\n case MeetingSessionStatusCode_1.default.Left:\\n return 'The attendee left the meeting.';\\n case MeetingSessionStatusCode_1.default.AudioJoinedFromAnotherDevice:\\n return 'The attendee joined from another device.';\\n case MeetingSessionStatusCode_1.default.AudioAuthenticationRejected:\\n return 'The meeting rejected the attendee.';\\n case MeetingSessionStatusCode_1.default.AudioCallAtCapacity:\\n return \\\"The attendee couldn't join because the meeting was at capacity.\\\";\\n case MeetingSessionStatusCode_1.default.MeetingEnded:\\n return 'The meeting ended.';\\n case MeetingSessionStatusCode_1.default.AudioInternalServerError:\\n case MeetingSessionStatusCode_1.default.AudioServiceUnavailable:\\n case MeetingSessionStatusCode_1.default.AudioDisconnected:\\n return 'The audio connection failed.';\\n case MeetingSessionStatusCode_1.default.VideoCallSwitchToViewOnly:\\n return \\\"The attendee couldn't start the local video because the maximum video capacity was reached.\\\";\\n case MeetingSessionStatusCode_1.default.VideoCallAtSourceCapacity:\\n return 'The connection failed due to an internal server error.';\\n case MeetingSessionStatusCode_1.default.SignalingBadRequest:\\n case MeetingSessionStatusCode_1.default.SignalingInternalServerError:\\n case MeetingSessionStatusCode_1.default.SignalingRequestFailed:\\n return 'The signaling connection failed.';\\n case MeetingSessionStatusCode_1.default.ICEGatheringTimeoutWorkaround:\\n return 'Gathering ICE candidates timed out. In Chrome, this might indicate that the browser is in a bad state after reconnecting to VPN.';\\n case MeetingSessionStatusCode_1.default.ConnectionHealthReconnect:\\n return 'The meeting was reconnected.';\\n case MeetingSessionStatusCode_1.default.RealtimeApiFailed:\\n return 'The real-time API failed. This status code might indicate that the callback you passed to the real-time API threw an exception.';\\n case MeetingSessionStatusCode_1.default.TaskFailed:\\n return 'The connection failed. See the error message for more details.';\\n case MeetingSessionStatusCode_1.default.IncompatibleSDP:\\n return 'The connection failed due to incompatible SDP.';\\n case MeetingSessionStatusCode_1.default.TURNCredentialsForbidden:\\n return 'The meeting ended, or the attendee was removed.';\\n case MeetingSessionStatusCode_1.default.NoAttendeePresent:\\n return 'The attendee was not present.';\\n case MeetingSessionStatusCode_1.default.AudioAttendeeRemoved:\\n return 'The meeting ended because attendee removed.';\\n case MeetingSessionStatusCode_1.default.AudioVideoWasRemovedFromPrimaryMeeting:\\n return 'The Primary meeting credentials provided are no longer valid. chime::DeleteAttendee may have been called on them.';\\n case MeetingSessionStatusCode_1.default.AudioDisconnectAudio:\\n return 'The audio connection failed.';\\n /* istanbul ignore next */\\n default: {\\n // You get a compile-time error if you do not handle any status code.\\n const exhaustiveCheck = this._statusCode;\\n throw new Error(`Unhandled case: ${exhaustiveCheck}`);\\n }\\n }\\n }\\n static fromSignalFrame(frame) {\\n if (frame.error && frame.error.status) {\\n return this.fromSignalingStatus(frame.error.status);\\n }\\n else if (frame.type === SignalingProtocol_js_1.SdkSignalFrame.Type.AUDIO_STATUS) {\\n if (frame.audioStatus) {\\n return this.fromAudioStatus(frame.audioStatus.audioStatus);\\n }\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.SignalingRequestFailed);\\n }\\n else if (frame.type === SignalingProtocol_js_1.SdkSignalFrame.Type.PRIMARY_MEETING_LEAVE) {\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.AudioVideoWasRemovedFromPrimaryMeeting);\\n }\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.OK);\\n }\\n static fromAudioStatus(status) {\\n // TODO: Add these numbers to proto definition and reference them here.\\n switch (status) {\\n case 200:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.OK);\\n case 301:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.AudioJoinedFromAnotherDevice);\\n case 302:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.AudioDisconnectAudio);\\n case 403:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.AudioAuthenticationRejected);\\n case 409:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.AudioCallAtCapacity);\\n case 410:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.MeetingEnded);\\n case 411:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.AudioAttendeeRemoved);\\n case 500:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.AudioInternalServerError);\\n case 503:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.AudioServiceUnavailable);\\n default:\\n switch (Math.floor(status / 100)) {\\n case 2:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.OK);\\n default:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.AudioDisconnected);\\n }\\n }\\n }\\n static fromSignalingStatus(status) {\\n // TODO: Add these numbers to proto definition and reference them here.\\n //\\n // We don't bother adding additional codes with different prefixes, and we probably\\n // shouldn't be prefixing all these errors (e.g. `AuthenticationRejected`) with the media type\\n // since that doesn't make sense.\\n switch (status) {\\n case 206:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.VideoCallSwitchToViewOnly);\\n case 509:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.VideoCallAtSourceCapacity);\\n case 403:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.AudioAuthenticationRejected);\\n case 409:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.AudioCallAtCapacity);\\n default:\\n switch (Math.floor(status / 100)) {\\n case 2:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.OK);\\n case 4:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.SignalingBadRequest);\\n case 5:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.SignalingInternalServerError);\\n default:\\n return new MeetingSessionStatus(MeetingSessionStatusCode_1.default.SignalingRequestFailed);\\n }\\n }\\n }\\n}\\nexports[\\\"default\\\"] = MeetingSessionStatus;\\n//# sourceMappingURL=MeetingSessionStatus.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatus.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js\":\n/*!*******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js ***!\n \\*******************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.MeetingSessionStatusCode = void 0;\\n/**\\n * [[MeetingSessionStatusCode]] gives the underlying reason for a given [[MeetingSessionStatus]]. Though some codes are used for\\n * [[MeetingSessionStatus]] internally, the primary use of these is in `AudioVideoObserver.audioVideoDidStop`, and their docstrings\\n * will be specific to that usage. Other functions that use [[MeetingSessionStatus]] (mainly\\n * `AudioVideoControllerFacade.promoteToPrimaryMeeting` and `AudioVideoObserver.audioVideoWasDemotedFromPrimaryMeeting` will document\\n * their usage separately).\\n *\\n * These status codes can be used for logging, debugging, and notification to end users, but in most cases should not\\n * be used for any retry behavior, as the audio video controller will already be retrying non-terminal errors (i.e. regardless\\n * of `MeetingSessionStatus.isTerminal`, your application should not try to immediately restart or recreate the\\n * audio video controller). For error codes that indicate issues with the Chime service, please create a github issue\\n * with browser logs if they occur frequently.\\n *\\n * If `MeetingSessionStatus.isTerminal` returns `true`, you should remove any meeting UX in addition to notifying the user,\\n * as the audio video controller will not be retrying the connection. When notifying users, more general failure messages are\\n * recommended unless otherwise noted.\\n */\\nvar MeetingSessionStatusCode;\\n(function (MeetingSessionStatusCode) {\\n /**\\n * There is no error. This code is used internally but will never be returned by `audioVideoDidStop`\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"OK\\\"] = 0] = \\\"OK\\\";\\n /**\\n * The attendee left the meeting normally via `AudioVideoConftrollerFacade.stop`\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"Left\\\"] = 1] = \\\"Left\\\";\\n /**\\n * The attendee joined from another device (e.g. another browser window/tab or on mobile) using the\\n * same credentials. `Audio` prefix is irrelevant. The end-user may want to be notified of this\\n * type of error.\\n *\\n * This also can occur if your application unintentionally creates two meeting sessions.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"AudioJoinedFromAnotherDevice\\\"] = 2] = \\\"AudioJoinedFromAnotherDevice\\\";\\n /**\\n * Authentication was rejected as the attendee information in `MeetingSessionCredentials` did\\n * not match that of an attendee created via `chime::CreateAttendee`.\\n *\\n * This error may imply an issue with your credential providing service. The `Audio` prefix is irrelevant.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"AudioAuthenticationRejected\\\"] = 3] = \\\"AudioAuthenticationRejected\\\";\\n /**\\n * The client can not join because the meeting is at capacity. The service supports up to 250 attendees. The\\n * end user may want to be notified of this type of error. The `Audio` prefix is irrelevant.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"AudioCallAtCapacity\\\"] = 4] = \\\"AudioCallAtCapacity\\\";\\n /**\\n * The attendee attempted to join a meeting that has already ended. See\\n * [this FAQ](https://aws.github.io/amazon-chime-sdk-js/modules/faqs.html#when-does-an-amazon-chime-sdk-meeting-end)\\n * for more information. The end user may want to be notified of this type of error.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"MeetingEnded\\\"] = 5] = \\\"MeetingEnded\\\";\\n /**\\n * There was an internal server error related to audio. This may indicate some issue with the audio device, or an issue with\\n * the Amazon Chime SDK service itself.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"AudioInternalServerError\\\"] = 6] = \\\"AudioInternalServerError\\\";\\n /**\\n * There was an internal server error related to audio. This may indicate some issue with the audio device, or an issue with\\n * the Amazon Chime SDK service itself.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"AudioServiceUnavailable\\\"] = 7] = \\\"AudioServiceUnavailable\\\";\\n /**\\n * There was an internal server error related to audio. This may indicate some issue with the audio device, or an issue with\\n * the Amazon Chime SDK service itself.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"AudioDisconnected\\\"] = 8] = \\\"AudioDisconnected\\\";\\n /**\\n * This is only used internally and will not be provided in any `audioVideoDidStop` calls.\\n *\\n * The client has asked to send and receive video, but it is only possible to\\n * continue in view-only mode (receiving video). This should be handled by\\n * explicitly switching to view-only mode.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"VideoCallSwitchToViewOnly\\\"] = 9] = \\\"VideoCallSwitchToViewOnly\\\";\\n /**\\n * This is only used internally and will not be provided in any `audioVideoDidStop` calls.\\n *\\n * This can happen when you attempt to join a video meeting in \\\"send only\\\" mode\\n * (transmitting your camera, but not receiving anything -- this isn't something\\n * we ever do in practice, but it is supported on the server). It should be\\n * treated as \\\"fatal\\\" and probably should not be retried (despite the 5xx nature).\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"VideoCallAtSourceCapacity\\\"] = 10] = \\\"VideoCallAtSourceCapacity\\\";\\n /**\\n * The Amazon Chime SDK for JavaScript failed to establish a signaling connection because\\n * you or someone else deleted the attendee using the\\n * [DeleteAttendee](https://docs.aws.amazon.com/chime/latest/APIReference/API_DeleteAttendee.html)\\n * API action in your server application. You also should not use the attendee response from\\n * the ended meeting that you created with the same ClientRequestToken parameter\\n * before.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"SignalingBadRequest\\\"] = 11] = \\\"SignalingBadRequest\\\";\\n /**\\n * The Chime SDK for JavaScript either failed to establish a signaling connection to the Chime\\n * backend due to an internal server error or the connection was lost mid-call.\\n *\\n * This may indicate an issue with the Chime service, but also often indicates a network issue impacting the end user,\\n * who may want to be notified of their unstable network during the reconnection.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"SignalingInternalServerError\\\"] = 12] = \\\"SignalingInternalServerError\\\";\\n /**\\n * Received unknown signaling error frame without a status. This code is nearly impossible to occur\\n * and indicates an issue with the Chime service.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"SignalingRequestFailed\\\"] = 13] = \\\"SignalingRequestFailed\\\";\\n /**\\n * Timed out gathering ICE candidates. If in Chrome, this could be an\\n * indication that the browser is in a bad state due to a VPN reconnect and\\n * the user should try quitting and relaunching the app. See:\\n * https://bugs.chromium.org/p/webrtc/issues/detail?id=9097\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"ICEGatheringTimeoutWorkaround\\\"] = 14] = \\\"ICEGatheringTimeoutWorkaround\\\";\\n /**\\n * Due to connection health as determined by [[ConnectionHealthPolicyConfiguration]], a reconnect has been triggered.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"ConnectionHealthReconnect\\\"] = 15] = \\\"ConnectionHealthReconnect\\\";\\n /**\\n * The [[RealtimeController]] failed in some way. This indicates an issue with the callback function provided to RealtimeController APIs (e.g. a callback is throwing an error).\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"RealtimeApiFailed\\\"] = 16] = \\\"RealtimeApiFailed\\\";\\n /**\\n * A step in the connection to the Amazon Chime SDK backends failed without a more specific reason. This may indicate end-user connection issues\\n * and should be retried.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"TaskFailed\\\"] = 17] = \\\"TaskFailed\\\";\\n /**\\n * There was an issue with media negotiation. This may indicate an issue with Amazon Chime SDK, or that the end user is using an unsupported\\n * browser. Please use `new DefaultBrowserBehavior().isSupported()` pre-call to check the support of end-user browsers\\n * and warn them of possible issues.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"IncompatibleSDP\\\"] = 18] = \\\"IncompatibleSDP\\\";\\n /**\\n * This can happen when you attempt to join a meeting which has ended or attendee got removed. This is analogous to `MeetingEnded` except\\n * determined through the media channel rather then the signaling channel.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"TURNCredentialsForbidden\\\"] = 19] = \\\"TURNCredentialsForbidden\\\";\\n /**\\n * The attendee did not show up on the roster. This may indicate an issue with the end user audio device or and issue with Amazon Chime SDK.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"NoAttendeePresent\\\"] = 20] = \\\"NoAttendeePresent\\\";\\n /**\\n * The session was ended because the attendee has been removed via `chime::DeleteAttendee`. The end user may want to be notified\\n * of this error.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"AudioAttendeeRemoved\\\"] = 21] = \\\"AudioAttendeeRemoved\\\";\\n /**\\n * This is only used in promotion functions and will not be provided in any `audioVideoDidStop` calls.\\n *\\n * The attendees Primary meeting credentials have been revoked or deleted.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"AudioVideoWasRemovedFromPrimaryMeeting\\\"] = 22] = \\\"AudioVideoWasRemovedFromPrimaryMeeting\\\";\\n /**\\n * This is only used internally and will not be provided in any `audioVideoDidStop` calls.\\n *\\n * Reserved.\\n */\\n MeetingSessionStatusCode[MeetingSessionStatusCode[\\\"AudioDisconnectAudio\\\"] = 23] = \\\"AudioDisconnectAudio\\\";\\n})(MeetingSessionStatusCode = exports.MeetingSessionStatusCode || (exports.MeetingSessionStatusCode = {}));\\nexports[\\\"default\\\"] = MeetingSessionStatusCode;\\n//# sourceMappingURL=MeetingSessionStatusCode.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionTURNCredentials.js\":\n/*!************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionTURNCredentials.js ***!\n \\************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[MeetingSessionTURNCredentials]] contains TURN credentials from the TURN server.\\n */\\nclass MeetingSessionTURNCredentials {\\n constructor() {\\n this.username = null;\\n this.password = null;\\n this.ttl = null;\\n this.uris = null;\\n }\\n}\\nexports[\\\"default\\\"] = MeetingSessionTURNCredentials;\\n//# sourceMappingURL=MeetingSessionTURNCredentials.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionTURNCredentials.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionURLs.js\":\n/*!*************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionURLs.js ***!\n \\*************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[MeetingSessionURLs]] contains the URLs that will be used to reach the\\n * meeting service.\\n */\\nclass MeetingSessionURLs {\\n constructor() {\\n /**\\n * The audio host URL of the session\\n */\\n this._audioHostURL = null;\\n /**\\n * The signaling URL of the session\\n */\\n this._signalingURL = null;\\n /**\\n * The TURN control URL of the session\\n */\\n this._turnControlURL = null;\\n /**\\n * The event ingestion URL to send the meeting events.\\n */\\n this._eventIngestionURL = null;\\n /**\\n * Function to transform URLs. Use this to rewrite URLs to traverse proxies.\\n * The default implementation returns the original URL unchanged.\\n */\\n this.urlRewriter = (url) => {\\n return url;\\n };\\n }\\n /**\\n * Gets or sets the audio host URL with gets reflecting the result of the {@link MeetingSessionURLs.urlRewriter} function.\\n */\\n get audioHostURL() {\\n return this.urlRewriter(this._audioHostURL);\\n }\\n set audioHostURL(value) {\\n this._audioHostURL = value;\\n }\\n /**\\n * Gets or sets the signaling URL with gets reflecting the result of the {@link MeetingSessionURLs.urlRewriter} function.\\n */\\n get signalingURL() {\\n return this.urlRewriter(this._signalingURL);\\n }\\n set signalingURL(value) {\\n this._signalingURL = value;\\n }\\n /**\\n * Gets or sets the TURN control URL with gets reflecting the result of the {@link MeetingSessionURLs.urlRewriter} function.\\n */\\n get turnControlURL() {\\n return this.urlRewriter(this._turnControlURL);\\n }\\n set turnControlURL(value) {\\n this._turnControlURL = value;\\n }\\n /**\\n * Gets or sets the events ingestion URL with gets reflecting the result of the {@link MeetingSessionURLs.urlRewriter} function.\\n */\\n get eventIngestionURL() {\\n return this.urlRewriter(this._eventIngestionURL);\\n }\\n set eventIngestionURL(value) {\\n this._eventIngestionURL = value;\\n }\\n}\\nexports[\\\"default\\\"] = MeetingSessionURLs;\\n//# sourceMappingURL=MeetingSessionURLs.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionURLs.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionVideoAvailability.js\":\n/*!**************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionVideoAvailability.js ***!\n \\**************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[MeetingSessionVideoAvailability]] contains the video availability information.\\n */\\nclass MeetingSessionVideoAvailability {\\n constructor() {\\n /**\\n * Indicates whether one or more remote video streams\\n * are available for streaming. This can be used to decide whether or not to\\n * switch the connection type to include video.\\n */\\n this.remoteVideoAvailable = false;\\n /**\\n * Indicates whether the server has a slot available for\\n * this client's local video tile. If the client is already sending a local\\n * video tile, then this will be true. This property can be used to decide\\n * whether to offer the option to start the local video tile.\\n */\\n this.canStartLocalVideo = false;\\n }\\n /**\\n * Returns whether the fields are the same as that of another availability object.\\n */\\n equal(other) {\\n return (this.remoteVideoAvailable === other.remoteVideoAvailable &&\\n this.canStartLocalVideo === other.canStartLocalVideo);\\n }\\n /**\\n * Returns a deep copy of this object.\\n */\\n clone() {\\n const cloned = new MeetingSessionVideoAvailability();\\n cloned.remoteVideoAvailable = this.remoteVideoAvailable;\\n cloned.canStartLocalVideo = this.canStartLocalVideo;\\n return cloned;\\n }\\n}\\nexports[\\\"default\\\"] = MeetingSessionVideoAvailability;\\n//# sourceMappingURL=MeetingSessionVideoAvailability.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionVideoAvailability.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/message/Message.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/message/Message.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass Message {\\n constructor(type, // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\\n headers, payload) {\\n this.type = type;\\n this.headers = headers;\\n this.payload = payload;\\n }\\n}\\nexports[\\\"default\\\"] = Message;\\n//# sourceMappingURL=Message.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/message/Message.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/messagingsession/DefaultMessagingSession.js\":\n/*!********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/messagingsession/DefaultMessagingSession.js ***!\n \\********************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst client_chime_sdk_messaging_1 = __webpack_require__(/*! @aws-sdk/client-chime-sdk-messaging */ \\\"./node_modules/@aws-sdk/client-chime-sdk-messaging/dist-es/index.js\\\");\\nconst FullJitterBackoff_1 = __webpack_require__(/*! ../backoff/FullJitterBackoff */ \\\"./node_modules/amazon-chime-sdk-js/build/backoff/FullJitterBackoff.js\\\");\\nconst CSPMonitor_1 = __webpack_require__(/*! ../cspmonitor/CSPMonitor */ \\\"./node_modules/amazon-chime-sdk-js/build/cspmonitor/CSPMonitor.js\\\");\\nconst Message_1 = __webpack_require__(/*! ../message/Message */ \\\"./node_modules/amazon-chime-sdk-js/build/message/Message.js\\\");\\nconst DefaultReconnectController_1 = __webpack_require__(/*! ../reconnectcontroller/DefaultReconnectController */ \\\"./node_modules/amazon-chime-sdk-js/build/reconnectcontroller/DefaultReconnectController.js\\\");\\nconst AsyncScheduler_1 = __webpack_require__(/*! ../scheduler/AsyncScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/AsyncScheduler.js\\\");\\nconst DefaultSigV4_1 = __webpack_require__(/*! ../sigv4/DefaultSigV4 */ \\\"./node_modules/amazon-chime-sdk-js/build/sigv4/DefaultSigV4.js\\\");\\nconst DefaultWebSocketAdapter_1 = __webpack_require__(/*! ../websocketadapter/DefaultWebSocketAdapter */ \\\"./node_modules/amazon-chime-sdk-js/build/websocketadapter/DefaultWebSocketAdapter.js\\\");\\nconst WebSocketReadyState_1 = __webpack_require__(/*! ../websocketadapter/WebSocketReadyState */ \\\"./node_modules/amazon-chime-sdk-js/build/websocketadapter/WebSocketReadyState.js\\\");\\nconst PrefetchOn_1 = __webpack_require__(/*! ./PrefetchOn */ \\\"./node_modules/amazon-chime-sdk-js/build/messagingsession/PrefetchOn.js\\\");\\nclass DefaultMessagingSession {\\n constructor(configuration, logger, webSocket, reconnectController, sigV4) {\\n this.configuration = configuration;\\n this.logger = logger;\\n this.webSocket = webSocket;\\n this.reconnectController = reconnectController;\\n this.sigV4 = sigV4;\\n this.observerQueue = new Set();\\n if (!this.webSocket) {\\n this.webSocket = new DefaultWebSocketAdapter_1.default(this.logger);\\n }\\n if (!this.reconnectController) {\\n this.reconnectController = new DefaultReconnectController_1.default(configuration.reconnectTimeoutMs, new FullJitterBackoff_1.default(configuration.reconnectFixedWaitMs, configuration.reconnectShortBackoffMs, configuration.reconnectLongBackoffMs));\\n }\\n if (!this.sigV4) {\\n this.sigV4 = new DefaultSigV4_1.default(this.configuration.chimeClient);\\n }\\n CSPMonitor_1.default.addLogger(this.logger);\\n CSPMonitor_1.default.register();\\n this.preBootstrapMessages = [];\\n }\\n addObserver(observer) {\\n this.logger.info('adding messaging observer');\\n this.observerQueue.add(observer);\\n }\\n removeObserver(observer) {\\n this.logger.info('removing messaging observer');\\n this.observerQueue.delete(observer);\\n }\\n start() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.isClosed()) {\\n yield this.startConnecting(false);\\n }\\n else {\\n this.logger.info('messaging session already started');\\n }\\n });\\n }\\n stop() {\\n if (!this.isClosed()) {\\n this.isClosing = true;\\n this.webSocket.close();\\n CSPMonitor_1.default.removeLogger(this.logger);\\n }\\n else {\\n this.logger.info('no existing messaging session needs closing');\\n }\\n }\\n forEachObserver(observerFunc) {\\n for (const observer of this.observerQueue) {\\n AsyncScheduler_1.default.nextTick(() => {\\n if (this.observerQueue.has(observer)) {\\n observerFunc(observer);\\n }\\n });\\n }\\n }\\n setUpEventListeners() {\\n this.webSocket.addEventListener('open', () => {\\n this.openEventHandler();\\n });\\n this.webSocket.addEventListener('message', (event) => {\\n this.receiveMessageHandler(event.data);\\n });\\n this.webSocket.addEventListener('close', (event) => {\\n this.closeEventHandler(event);\\n });\\n this.webSocket.addEventListener('error', () => {\\n this.logger.error(`WebSocket error`);\\n });\\n }\\n startConnecting(reconnecting) {\\n return __awaiter(this, void 0, void 0, function* () {\\n yield this.startConnectingInternal(reconnecting);\\n return yield new Promise((resolve, reject) => {\\n this.bootstrapResolved = resolve;\\n this.bootstrapRejected = reject;\\n });\\n });\\n }\\n startConnectingInternal(reconnecting) {\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n let endpointUrl = this.configuration.endpointUrl;\\n // Moving this reconnect logic can potentially result into an infinite reconnect loop on errors.\\n // Check https://github.com/aws/amazon-chime-sdk-js/issues/2372 for details.\\n if (!reconnecting) {\\n this.reconnectController.reset();\\n }\\n if (this.reconnectController.hasStartedConnectionAttempt()) {\\n this.reconnectController.startedConnectionAttempt(false);\\n }\\n else {\\n this.reconnectController.startedConnectionAttempt(true);\\n }\\n // reconnect needs to re-resolve endpoint url, which will also refresh credentials on client if they are expired\\n if (reconnecting || endpointUrl === undefined) {\\n try {\\n if (this.configuration.chimeClient.getMessagingSessionEndpoint instanceof Function) {\\n const response = yield this.configuration.chimeClient.getMessagingSessionEndpoint();\\n // Check for aws sdk v3 with v2 style compatibility first\\n if ((_a = response.Endpoint) === null || _a === void 0 ? void 0 : _a.Url) {\\n endpointUrl = response.Endpoint.Url;\\n }\\n else {\\n // Make aws sdk v2 call\\n const endpoint = yield this.configuration.chimeClient\\n .getMessagingSessionEndpoint()\\n .promise();\\n endpointUrl = endpoint.Endpoint.Url;\\n }\\n }\\n else {\\n endpointUrl = (yield this.configuration.chimeClient.send(new client_chime_sdk_messaging_1.GetMessagingSessionEndpointCommand({}))).Endpoint.Url;\\n }\\n this.logger.debug(`Messaging endpoint resolved to: ${endpointUrl}`);\\n }\\n catch (e) {\\n // send artificial close code event so the\\n // re-connect logic of underlying websocket client is\\n // triggered in the close handler\\n this.logger.error(`Messaging Session failed to resolve endpoint: ${e}`);\\n const closeEvent = new CloseEvent('close', {\\n wasClean: false,\\n code: 4999,\\n reason: 'Failed to get messaging session endpoint URL',\\n bubbles: false,\\n });\\n this.closeEventHandler(closeEvent);\\n return;\\n }\\n }\\n const signedUrl = yield this.prepareWebSocketUrl(endpointUrl);\\n this.logger.info(`opening connection to ${signedUrl}`);\\n if (!reconnecting) {\\n this.reconnectController.reset();\\n }\\n if (this.reconnectController.hasStartedConnectionAttempt()) {\\n this.reconnectController.startedConnectionAttempt(false);\\n }\\n else {\\n this.reconnectController.startedConnectionAttempt(true);\\n }\\n this.webSocket.create(signedUrl, [], true);\\n this.forEachObserver(observer => {\\n if (observer.messagingSessionDidStartConnecting) {\\n observer.messagingSessionDidStartConnecting(reconnecting);\\n }\\n });\\n this.setUpEventListeners();\\n });\\n }\\n prepareWebSocketUrl(endpointUrl) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const queryParams = new Map();\\n queryParams.set('userArn', [this.configuration.userArn]);\\n queryParams.set('sessionId', [this.configuration.messagingSessionId]);\\n if (this.configuration.prefetchOn === PrefetchOn_1.default.Connect) {\\n queryParams.set('prefetch-on', [PrefetchOn_1.default.Connect]);\\n }\\n if (this.configuration.prefetchSortBy) {\\n queryParams.set('prefetch-sort-by', [this.configuration.prefetchSortBy]);\\n }\\n return yield this.sigV4.signURL('GET', 'wss', 'chime', endpointUrl, '/connect', '', queryParams);\\n });\\n }\\n isClosed() {\\n return (this.webSocket.readyState() === WebSocketReadyState_1.default.None ||\\n this.webSocket.readyState() === WebSocketReadyState_1.default.Closed);\\n }\\n openEventHandler() {\\n this.reconnectController.reset();\\n this.isSessionEstablished = false;\\n }\\n receiveMessageHandler(data) {\\n try {\\n const jsonData = JSON.parse(data);\\n const messageType = jsonData.Headers['x-amz-chime-event-type'];\\n const message = new Message_1.default(messageType, jsonData.Headers, jsonData.Payload || null);\\n if (!this.isSessionEstablished && messageType === 'SESSION_ESTABLISHED') {\\n // Backend connects WebSocket and then either\\n // (1) Closes with WebSocket error code to reflect failure to authorize or other connection error OR\\n // (2) Sends SESSION_ESTABLISHED. SESSION_ESTABLISHED indicates that all messages and events on a channel\\n // the app instance user is a member of is guaranteed to be delivered on this WebSocket as long as the WebSocket\\n // connection stays opened.\\n this.forEachObserver(observer => {\\n if (observer.messagingSessionDidStart) {\\n observer.messagingSessionDidStart();\\n }\\n });\\n this.bootstrapResolved();\\n this.isSessionEstablished = true;\\n // Send message and flush the queue.\\n const preBootstrapMessageLength = this.preBootstrapMessages.length;\\n for (let iter = 0; iter < preBootstrapMessageLength; iter++) {\\n const preBootstrapMessage = this.preBootstrapMessages.shift();\\n this.forEachObserver(observer => {\\n this.sendMessageToObserver(observer, preBootstrapMessage);\\n });\\n }\\n }\\n else if (!this.isSessionEstablished) {\\n // SESSION_ESTABLISHED is not guaranteed to be the first message, and in rare conditions a message or event from\\n // a channel the member is a member of might arrive prior to SESSION_ESTABLISHED. Because SESSION_ESTABLISHED indicates\\n // it is safe to bootstrap the user application without any race conditions in losing events we opt to store messages prior\\n // to SESSION_ESTABLISHED being received and send when once SESSION_ESTABLISHED.\\n this.preBootstrapMessages.push(message);\\n return;\\n }\\n this.forEachObserver(observer => {\\n this.sendMessageToObserver(observer, message);\\n });\\n }\\n catch (error) {\\n this.logger.error(`Messaging parsing failed: ${error}`);\\n }\\n }\\n sendMessageToObserver(observer, message) {\\n if (observer.messagingSessionDidReceiveMessage) {\\n observer.messagingSessionDidReceiveMessage(message);\\n }\\n }\\n retryConnection() {\\n return this.reconnectController.retryWithBackoff(() => __awaiter(this, void 0, void 0, function* () {\\n yield this.startConnecting(true);\\n }), null);\\n }\\n closeEventHandler(event) {\\n this.logger.info(`WebSocket close: ${event.code} ${event.reason}`);\\n if (event.code !== 4999) {\\n this.webSocket.destroy();\\n }\\n if (!this.isClosing && this.canReconnect(event.code) && this.retryConnection()) {\\n return;\\n }\\n this.isClosing = false;\\n if (this.isSessionEstablished) {\\n this.forEachObserver(observer => {\\n if (observer.messagingSessionDidStop) {\\n observer.messagingSessionDidStop(event);\\n }\\n });\\n }\\n else {\\n this.bootstrapRejected(event);\\n }\\n }\\n canReconnect(closeCode) {\\n // 4003 is Kicked closing event from the back end\\n return (closeCode === 1001 ||\\n closeCode === 1006 ||\\n (closeCode >= 1011 && closeCode <= 1014) ||\\n (closeCode > 4000 && closeCode !== 4002 && closeCode !== 4003 && closeCode !== 4401));\\n }\\n}\\nexports[\\\"default\\\"] = DefaultMessagingSession;\\n//# sourceMappingURL=DefaultMessagingSession.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/messagingsession/DefaultMessagingSession.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/messagingsession/MessagingSessionConfiguration.js\":\n/*!**************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/messagingsession/MessagingSessionConfiguration.js ***!\n \\**************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[MessagingSessionConfiguration]] contains the information necessary to start\\n * a messaging session.\\n */\\n/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/explicit-module-boundary-types: 0 */\\nclass MessagingSessionConfiguration {\\n /**\\n * Constructs a MessagingSessionConfiguration optionally with userArn, messaging session id, a messaging session\\n * endpoint URL, and the chimeClient.\\n *\\n * endpointUrl is deprecated and should not be used. Internally it is resolved on connect via chimeClient if undefined, and\\n * always re-resolved on reconnect.\\n *\\n * The messaging session id is to uniquely identify this messaging session for the userArn.\\n * If messaging session id is passed in as null, it will be automatically generated.\\n */\\n constructor(userArn, messagingSessionId, endpointUrl, chimeClient) {\\n this.userArn = userArn;\\n this.messagingSessionId = messagingSessionId;\\n this.endpointUrl = endpointUrl;\\n this.chimeClient = chimeClient;\\n /**\\n * Maximum amount of time in milliseconds to allow for reconnecting.\\n */\\n this.reconnectTimeoutMs = 10 * 1000;\\n /**\\n * Fixed wait amount in milliseconds between reconnecting attempts.\\n */\\n this.reconnectFixedWaitMs = 0;\\n /**\\n * The short back off time in milliseconds between reconnecting attempts.\\n */\\n this.reconnectShortBackoffMs = 1 * 1000;\\n /**\\n * The long back off time in milliseconds between reconnecting attempts.\\n */\\n this.reconnectLongBackoffMs = 5 * 1000;\\n /**\\n * The enum to indicate if we want to turn on prefetch feature. Prefetch feature will send out CHANNEL_DETAILS event\\n * upon websocket connection, which includes information about channel, channel messages, channel memberships etc.\\n */\\n this.prefetchOn = undefined;\\n /**\\n * The enum to indicate the sorting mechanism to use when deciding which channels to Prefetch. Prefetch feature will send out\\n * CHANNEL_DETAILS event upon websocket connection, which includes information about channel, channel messages, channel memberships etc.\\n * The first 50 channels matching the PrefetchSortBy will be sent. If not set, channels will be returned first by those\\n * with unread messages and then those with the latest last sent message timestamp.\\n */\\n this.prefetchSortBy = undefined;\\n if (!this.messagingSessionId) {\\n this.messagingSessionId = this.generateSessionId();\\n }\\n }\\n generateSessionId() {\\n const num = new Uint32Array(1);\\n const randomNum = window.crypto.getRandomValues(num);\\n return randomNum[0].toString();\\n }\\n}\\nexports[\\\"default\\\"] = MessagingSessionConfiguration;\\n//# sourceMappingURL=MessagingSessionConfiguration.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/messagingsession/MessagingSessionConfiguration.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/messagingsession/PrefetchOn.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/messagingsession/PrefetchOn.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n// Using an enum here to make sure we can expand on future features\\nvar PrefetchOn;\\n(function (PrefetchOn) {\\n PrefetchOn[\\\"Connect\\\"] = \\\"connect\\\";\\n})(PrefetchOn || (PrefetchOn = {}));\\nexports[\\\"default\\\"] = PrefetchOn;\\n//# sourceMappingURL=PrefetchOn.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/messagingsession/PrefetchOn.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/messagingsession/PrefetchSortBy.js\":\n/*!***********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/messagingsession/PrefetchSortBy.js ***!\n \\***********************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n// Using an enum here to make sure we can expand on future features\\nvar PrefetchSortBy;\\n(function (PrefetchSortBy) {\\n PrefetchSortBy[\\\"Unread\\\"] = \\\"unread\\\";\\n PrefetchSortBy[\\\"LastMessageTimestamp\\\"] = \\\"last-message-timestamp\\\";\\n})(PrefetchSortBy || (PrefetchSortBy = {}));\\nexports[\\\"default\\\"] = PrefetchSortBy;\\n//# sourceMappingURL=PrefetchSortBy.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/messagingsession/PrefetchSortBy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/modality/DefaultModality.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/modality/DefaultModality.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst ContentShareConstants_1 = __webpack_require__(/*! ../contentsharecontroller/ContentShareConstants */ \\\"./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/ContentShareConstants.js\\\");\\nclass DefaultModality {\\n constructor(_id) {\\n this._id = _id;\\n }\\n id() {\\n return this._id;\\n }\\n base() {\\n if (!this._id) {\\n return '';\\n }\\n return this._id.split(DefaultModality.MODALITY_SEPARATOR)[0];\\n }\\n modality() {\\n if (!this._id) {\\n return '';\\n }\\n const components = this._id.split(DefaultModality.MODALITY_SEPARATOR);\\n if (components.length === 2) {\\n return components[1];\\n }\\n return '';\\n }\\n hasModality(modality) {\\n return modality !== '' && this.modality() === modality;\\n }\\n withModality(modality) {\\n const m = new DefaultModality(this.base() + DefaultModality.MODALITY_SEPARATOR + modality);\\n if (modality === '' ||\\n this.base() === '' ||\\n new DefaultModality(m._id).modality() !== modality) {\\n return new DefaultModality(this.base());\\n }\\n return m;\\n }\\n}\\nexports[\\\"default\\\"] = DefaultModality;\\nDefaultModality.MODALITY_SEPARATOR = ContentShareConstants_1.default.Modality[0];\\nDefaultModality.MODALITY_CONTENT = ContentShareConstants_1.default.Modality.substr(1);\\n//# sourceMappingURL=DefaultModality.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/modality/DefaultModality.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/pingpong/DefaultPingPong.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/pingpong/DefaultPingPong.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst AsyncScheduler_1 = __webpack_require__(/*! ../scheduler/AsyncScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/AsyncScheduler.js\\\");\\nconst IntervalScheduler_1 = __webpack_require__(/*! ../scheduler/IntervalScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/IntervalScheduler.js\\\");\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ../signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst Types_1 = __webpack_require__(/*! ../utils/Types */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Types.js\\\");\\n/**\\n * [[DefaultPingPong]] implements the PingPong and SignalingClientObserver interface.\\n */\\nclass DefaultPingPong {\\n constructor(signalingClient, intervalMs, logger) {\\n this.signalingClient = signalingClient;\\n this.intervalMs = intervalMs;\\n this.logger = logger;\\n this.observerQueue = new Set();\\n this.consecutivePongsUnaccountedFor = 0;\\n this.intervalScheduler = new IntervalScheduler_1.default(this.intervalMs);\\n this.pingId = 0;\\n }\\n addObserver(observer) {\\n this.logger.info('adding a ping-pong observer');\\n this.observerQueue.add(observer);\\n }\\n removeObserver(observer) {\\n this.logger.info('removing a ping-pong observer');\\n this.observerQueue.delete(observer);\\n }\\n forEachObserver(observerFunc) {\\n for (const observer of this.observerQueue) {\\n AsyncScheduler_1.default.nextTick(() => {\\n if (this.observerQueue.has(observer)) {\\n observerFunc(observer);\\n }\\n });\\n }\\n }\\n start() {\\n this.stop();\\n this.signalingClient.registerObserver(this);\\n if (this.signalingClient.ready()) {\\n this.startPingInterval();\\n }\\n }\\n stop() {\\n this.stopPingInterval();\\n this.signalingClient.removeObserver(this);\\n }\\n startPingInterval() {\\n this.intervalScheduler.start(() => {\\n this.ping();\\n });\\n this.ping();\\n }\\n stopPingInterval() {\\n this.intervalScheduler.stop();\\n this.pingId = 0;\\n this.consecutivePongsUnaccountedFor = 0;\\n }\\n ping() {\\n if (this.consecutivePongsUnaccountedFor > 0) {\\n this.logger.warn(`missed pong ${this.consecutivePongsUnaccountedFor} time(s)`);\\n this.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.didMissPongs).map(f => f.bind(observer)(this.consecutivePongsUnaccountedFor));\\n });\\n }\\n this.consecutivePongsUnaccountedFor += 1;\\n this.pingId = (this.pingId + 1) & 0xffffffff;\\n const ping = SignalingProtocol_js_1.SdkPingPongFrame.create();\\n ping.pingId = this.pingId;\\n ping.type = SignalingProtocol_js_1.SdkPingPongType.PING;\\n this.pingTimestampLocalMs = this.signalingClient.pingPong(ping);\\n this.logger.debug(() => {\\n return `sent ping ${this.pingId}`;\\n });\\n }\\n pong(pingId) {\\n const pong = SignalingProtocol_js_1.SdkPingPongFrame.create();\\n pong.pingId = pingId;\\n pong.type = SignalingProtocol_js_1.SdkPingPongType.PONG;\\n this.signalingClient.pingPong(pong);\\n }\\n handleSignalingClientEvent(event) {\\n switch (event.type) {\\n case SignalingClientEventType_1.default.WebSocketOpen:\\n this.startPingInterval();\\n break;\\n case SignalingClientEventType_1.default.WebSocketFailed:\\n case SignalingClientEventType_1.default.WebSocketError:\\n this.logger.warn(`stopped pinging (${SignalingClientEventType_1.default[event.type]})`);\\n this.stopPingInterval();\\n break;\\n case SignalingClientEventType_1.default.WebSocketClosing:\\n case SignalingClientEventType_1.default.WebSocketClosed:\\n this.logger.info(`stopped pinging (${SignalingClientEventType_1.default[event.type]})`);\\n this.stopPingInterval();\\n break;\\n case SignalingClientEventType_1.default.ReceivedSignalFrame:\\n if (event.message.type !== SignalingProtocol_js_1.SdkSignalFrame.Type.PING_PONG) {\\n break;\\n }\\n if (event.message.pingPong.type === SignalingProtocol_js_1.SdkPingPongType.PONG) {\\n const pingId = event.message.pingPong.pingId;\\n if (pingId !== this.pingId) {\\n this.logger.warn(`unexpected ping id ${pingId} (expected ${this.pingId})`);\\n break;\\n }\\n this.consecutivePongsUnaccountedFor = 0;\\n let pongTimestampRemoteMs;\\n if (typeof event.message.timestampMs === 'number') {\\n pongTimestampRemoteMs = event.message.timestampMs;\\n }\\n else {\\n break;\\n }\\n this.logger.debug(() => {\\n return `received pong ${pingId} with timestamp ${pongTimestampRemoteMs}`;\\n });\\n const pongTimestampLocalMs = event.timestampMs;\\n const pingPongLocalIntervalMs = pongTimestampLocalMs - this.pingTimestampLocalMs;\\n const estimatedPingTimestampRemoteMs = Math.round(pongTimestampRemoteMs - pingPongLocalIntervalMs / 2);\\n const estimatedClockSkewMs = this.pingTimestampLocalMs - estimatedPingTimestampRemoteMs;\\n this.logger.info(`local clock skew estimate=${estimatedClockSkewMs}ms from ping-pong time=${pingPongLocalIntervalMs}ms`);\\n this.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.didReceivePong).map(f => f.bind(observer)(pingId, estimatedClockSkewMs, pingPongLocalIntervalMs));\\n });\\n }\\n else {\\n this.pong(event.message.pingPong.pingId);\\n }\\n break;\\n }\\n }\\n}\\nexports[\\\"default\\\"] = DefaultPingPong;\\n//# sourceMappingURL=DefaultPingPong.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/pingpong/DefaultPingPong.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/realtimecontroller/DefaultRealtimeController.js\":\n/*!************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/realtimecontroller/DefaultRealtimeController.js ***!\n \\************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultTranscriptionController_1 = __webpack_require__(/*! ../transcript/DefaultTranscriptionController */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/DefaultTranscriptionController.js\\\");\\nconst RealtimeState_1 = __webpack_require__(/*! ./RealtimeState */ \\\"./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeState.js\\\");\\nconst RealtimeVolumeIndicator_1 = __webpack_require__(/*! ./RealtimeVolumeIndicator */ \\\"./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeVolumeIndicator.js\\\");\\n/**\\n * [[DefaultRealtimeController]] is written to adhere to the following tenets to\\n * make privacy and performance bugs significantly less likely.\\n *\\n * 1. Any call to the object is guaranteed to succeed from the caller's\\n * perspective to the maximum extent that this can be ensured. However, all\\n * failures of the object are reported as fatal errors. For example, if local\\n * mute fails, then that is a privacy issue and we must tear down the\\n * connection and try starting over.\\n *\\n * 2. State is owned by the object and is considered authoritative at all times.\\n * For example, if [[realtimeIsLocalAudioMuted]] is true then the user *is*\\n * muted.\\n *\\n * 3. Callbacks are fired synchronously and do their work synchronously. Any\\n * unnecessary asynchronous implementation only invites latency and\\n * increases the surface error for potential errors.\\n *\\n * 4. Mutation only occurs when state changes. All state-changing functions are\\n * idempotent.\\n *\\n * 5. Every conditional branch gets its own if statement and test coverage is\\n * 100% for this object.\\n *\\n * 6. Function parameters and returns use primitives only (no classes or enums).\\n * This minimizes the number of dependencies that consumers have to take on\\n * and allows the object to be more easily wrapped. Values are normalized\\n * where possible.\\n *\\n * 7. The object takes no other non-realtime dependencies.\\n *\\n * 8. Interface functions begin with `realtime` to make boundaries between the\\n * RealtimeController interface and the UI or business logic explicit and\\n * auditable.\\n *\\n * 9. Local state overrides remote state but not vice-versa. For example, if\\n * locally muted with an active audio input and a remote state indicates the\\n * same user is unmuted because the muted state has not yet propagated, then\\n * the volume indicator update for the user would show the remote mute state\\n * as muted. However, if locally muted without an active audio input and a\\n * remote state indicates the user is unmuted (since they are dialed in), the\\n * remote state persists but does not override the local state so\\n * [[realtimeIsLocalAudioMuted]] still returns true.\\n */\\nclass DefaultRealtimeController {\\n constructor(mediaStreamBroker, transcriptionController) {\\n this.mediaStreamBroker = mediaStreamBroker;\\n this.state = new RealtimeState_1.default();\\n this._transcriptionController =\\n transcriptionController || new DefaultTranscriptionController_1.default(this);\\n }\\n realtimeSetLocalAttendeeId(attendeeId, externalUserId) {\\n this.state.localAttendeeId = attendeeId;\\n this.state.localExternalUserId = externalUserId;\\n }\\n realtimeSetAttendeeIdPresence(attendeeId, present, externalUserId, dropped, posInFrame) {\\n try {\\n if (present) {\\n this.state.attendeeIdToExternalUserId[attendeeId] = externalUserId;\\n }\\n for (const fn of this.state.attendeeIdChangesCallbacks) {\\n fn(attendeeId, present, externalUserId, dropped, posInFrame);\\n }\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeSubscribeToAttendeeIdPresence(callback) {\\n try {\\n this.state.attendeeIdChangesCallbacks.push(callback);\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeUnsubscribeToAttendeeIdPresence(callback) {\\n try {\\n const index = this.state.attendeeIdChangesCallbacks.indexOf(callback);\\n if (index !== -1) {\\n this.state.attendeeIdChangesCallbacks.splice(index, 1);\\n }\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n // Muting\\n realtimeSetCanUnmuteLocalAudio(canUnmute) {\\n try {\\n if (this.state.canUnmute === canUnmute) {\\n return;\\n }\\n this.state.canUnmute = canUnmute;\\n for (const fn of this.state.setCanUnmuteLocalAudioCallbacks) {\\n fn(canUnmute);\\n }\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeSubscribeToSetCanUnmuteLocalAudio(callback) {\\n try {\\n this.state.setCanUnmuteLocalAudioCallbacks.push(callback);\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeUnsubscribeToSetCanUnmuteLocalAudio(callback) {\\n try {\\n const index = this.state.setCanUnmuteLocalAudioCallbacks.indexOf(callback);\\n if (index !== -1) {\\n this.state.setCanUnmuteLocalAudioCallbacks.splice(index, 1);\\n }\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeCanUnmuteLocalAudio() {\\n return this.state.canUnmute;\\n }\\n realtimeMuteLocalAudio() {\\n if (this.state.muted) {\\n return;\\n }\\n try {\\n this.setAudioInputEnabled(false);\\n this.state.muted = true;\\n this.realtimeUpdateVolumeIndicator(this.state.localAttendeeId, null, null, null, this.state.localExternalUserId);\\n for (const fn of this.state.muteAndUnmuteLocalAudioCallbacks) {\\n fn(true);\\n }\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeUnmuteLocalAudio() {\\n if (!this.state.muted) {\\n return true;\\n }\\n if (!this.state.canUnmute) {\\n return false;\\n }\\n try {\\n this.setAudioInputEnabled(true);\\n this.state.muted = false;\\n this.realtimeUpdateVolumeIndicator(this.state.localAttendeeId, null, null, null, this.state.localExternalUserId);\\n for (const fn of this.state.muteAndUnmuteLocalAudioCallbacks) {\\n fn(false);\\n }\\n return true;\\n }\\n catch (e) {\\n this.onError(e);\\n return false;\\n }\\n }\\n realtimeSubscribeToMuteAndUnmuteLocalAudio(callback) {\\n try {\\n this.state.muteAndUnmuteLocalAudioCallbacks.push(callback);\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeUnsubscribeToMuteAndUnmuteLocalAudio(callback) {\\n try {\\n const index = this.state.muteAndUnmuteLocalAudioCallbacks.indexOf(callback);\\n if (index !== -1) {\\n this.state.muteAndUnmuteLocalAudioCallbacks.splice(index, 1);\\n }\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeIsLocalAudioMuted() {\\n return this.state.muted;\\n }\\n // Volume Indicators\\n realtimeSubscribeToVolumeIndicator(attendeeId, callback) {\\n try {\\n if (!this.state.volumeIndicatorCallbacks.hasOwnProperty(attendeeId)) {\\n this.state.volumeIndicatorCallbacks[attendeeId] = [];\\n }\\n this.state.volumeIndicatorCallbacks[attendeeId].push(callback);\\n this.sendVolumeIndicatorChange(attendeeId, true, true, true, this.state.attendeeIdToExternalUserId[attendeeId]);\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeUnsubscribeFromVolumeIndicator(attendeeId, callback) {\\n const callbacks = this.state.volumeIndicatorCallbacks[attendeeId];\\n if (!callbacks) {\\n return;\\n }\\n if (callback) {\\n const index = this.state.volumeIndicatorCallbacks[attendeeId].indexOf(callback);\\n if (index >= 0) {\\n this.state.volumeIndicatorCallbacks[attendeeId].splice(index, 1);\\n }\\n }\\n else {\\n delete this.state.volumeIndicatorCallbacks[attendeeId];\\n }\\n }\\n realtimeUpdateVolumeIndicator(attendeeId, volume, muted, signalStrength, externalUserId) {\\n try {\\n muted = this.applyLocalMuteOverride(attendeeId, muted);\\n const state = this.getVolumeIndicatorState(attendeeId);\\n let volumeUpdated = false;\\n let mutedUpdated = false;\\n let signalStrengthUpdated = false;\\n if (muted !== null) {\\n if (state.muted !== muted) {\\n state.muted = muted;\\n mutedUpdated = true;\\n if (state.muted && state.volume !== 0.0) {\\n state.volume = 0.0;\\n volumeUpdated = true;\\n }\\n }\\n }\\n if (!state.muted && volume !== null) {\\n if (state.volume !== volume) {\\n state.volume = volume;\\n volumeUpdated = true;\\n }\\n if (state.muted === null) {\\n state.muted = false;\\n mutedUpdated = true;\\n }\\n }\\n if (signalStrength !== null) {\\n if (state.signalStrength !== signalStrength) {\\n state.signalStrength = signalStrength;\\n signalStrengthUpdated = true;\\n }\\n }\\n this.sendVolumeIndicatorChange(attendeeId, volumeUpdated, mutedUpdated, signalStrengthUpdated, externalUserId);\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeSubscribeToLocalSignalStrengthChange(callback) {\\n try {\\n this.state.localSignalStrengthChangeCallbacks.push(callback);\\n if (this.state.localAttendeeId === null) {\\n return;\\n }\\n this.sendLocalSignalStrengthChange(this.state.localAttendeeId, true);\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeUnsubscribeToLocalSignalStrengthChange(callback) {\\n try {\\n const index = this.state.localSignalStrengthChangeCallbacks.indexOf(callback);\\n if (index !== -1) {\\n this.state.localSignalStrengthChangeCallbacks.splice(index, 1);\\n }\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeSubscribeToSendDataMessage(\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n callback) {\\n try {\\n this.state.sendDataMessageCallbacks.push(callback);\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeUnsubscribeFromSendDataMessage(\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n callback) {\\n try {\\n const index = this.state.sendDataMessageCallbacks.indexOf(callback);\\n if (index !== -1) {\\n this.state.sendDataMessageCallbacks.splice(index, 1);\\n }\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeSendDataMessage(topic, data, // eslint-disable-line @typescript-eslint/no-explicit-any\\n lifetimeMs) {\\n try {\\n for (const fn of this.state.sendDataMessageCallbacks) {\\n fn(topic, data, lifetimeMs);\\n }\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeSubscribeToReceiveDataMessage(topic, callback) {\\n try {\\n if (this.state.receiveDataMessageCallbacks.has(topic)) {\\n this.state.receiveDataMessageCallbacks.get(topic).push(callback);\\n }\\n else {\\n this.state.receiveDataMessageCallbacks.set(topic, [callback]);\\n }\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeUnsubscribeFromReceiveDataMessage(topic) {\\n try {\\n this.state.receiveDataMessageCallbacks.delete(topic);\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeReceiveDataMessage(dataMessage) {\\n try {\\n if (this.state.receiveDataMessageCallbacks.has(dataMessage.topic)) {\\n for (const fn of this.state.receiveDataMessageCallbacks.get(dataMessage.topic)) {\\n fn(dataMessage);\\n }\\n }\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n // Error Handling\\n realtimeSubscribeToFatalError(callback) {\\n try {\\n this.state.fatalErrorCallbacks.push(callback);\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n realtimeUnsubscribeToFatalError(callback) {\\n try {\\n const index = this.state.fatalErrorCallbacks.indexOf(callback);\\n if (index !== -1) {\\n this.state.fatalErrorCallbacks.splice(index, 1);\\n }\\n }\\n catch (e) {\\n this.onError(e);\\n }\\n }\\n get transcriptionController() {\\n return this._transcriptionController;\\n }\\n // Internals\\n setAudioInputEnabled(enabled) {\\n if (enabled) {\\n this.mediaStreamBroker.unmuteLocalAudioInputStream();\\n }\\n else {\\n this.mediaStreamBroker.muteLocalAudioInputStream();\\n }\\n }\\n applyLocalMuteOverride(attendeeIdRemote, mutedRemote) {\\n const attendeeIdLocal = this.state.localAttendeeId;\\n const mutedLocal = this.state.muted;\\n if (attendeeIdRemote !== attendeeIdLocal) {\\n return mutedRemote;\\n }\\n // This is a workaround to check if no audio input then just use the remote value\\n if (\\n // @ts-ignore\\n !('activeDevices' in this.mediaStreamBroker && this.mediaStreamBroker.activeDevices['audio'])) {\\n return mutedRemote;\\n }\\n return mutedLocal;\\n }\\n sendVolumeIndicatorChange(attendeeId, volumeUpdated, mutedUpdated, signalStrengthUpdated, externalUserId) {\\n this.sendLocalSignalStrengthChange(attendeeId, signalStrengthUpdated);\\n if (!this.state.volumeIndicatorCallbacks.hasOwnProperty(attendeeId)) {\\n return;\\n }\\n const state = this.getVolumeIndicatorState(attendeeId);\\n const updateState = new RealtimeVolumeIndicator_1.default();\\n if (volumeUpdated) {\\n updateState.volume = state.volume;\\n }\\n if (mutedUpdated) {\\n updateState.muted = state.muted;\\n }\\n if (signalStrengthUpdated) {\\n updateState.signalStrength = state.signalStrength;\\n }\\n if (this.stateIsEmpty(updateState)) {\\n return;\\n }\\n for (const fn of this.state.volumeIndicatorCallbacks[attendeeId]) {\\n fn(attendeeId, updateState.volume, updateState.muted, updateState.signalStrength, externalUserId);\\n }\\n }\\n sendLocalSignalStrengthChange(attendeeId, signalStrengthUpdated) {\\n if (!signalStrengthUpdated) {\\n return;\\n }\\n if (attendeeId !== this.state.localAttendeeId) {\\n return;\\n }\\n const state = this.getVolumeIndicatorState(attendeeId);\\n const signalStrength = state.signalStrength;\\n if (signalStrength === null) {\\n return;\\n }\\n for (const fn of this.state.localSignalStrengthChangeCallbacks) {\\n fn(signalStrength);\\n }\\n }\\n getVolumeIndicatorState(id) {\\n if (!this.state.volumeIndicatorState.hasOwnProperty(id)) {\\n this.state.volumeIndicatorState[id] = new RealtimeVolumeIndicator_1.default();\\n }\\n return this.state.volumeIndicatorState[id];\\n }\\n stateIsEmpty(state) {\\n return state.volume === null && state.muted === null && state.signalStrength === null;\\n }\\n onError(error) {\\n try {\\n // 1) try the fatal error callbacks so that the issue is reported in\\n // logs and to give the handler a chance to clean up and reset.\\n for (const callback of this.state.fatalErrorCallbacks) {\\n callback(error);\\n }\\n }\\n catch (eventError) {\\n try {\\n // 2) if the error event fails, fall back to console.error so that\\n // it at least prints out to the console before moving on.\\n console.error(error);\\n console.error(eventError);\\n }\\n catch (consoleError) {\\n // 3) if all else fails, swallow the error and give up to guarantee\\n // that the API call returns cleanly.\\n }\\n }\\n }\\n}\\nexports[\\\"default\\\"] = DefaultRealtimeController;\\n//# sourceMappingURL=DefaultRealtimeController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/realtimecontroller/DefaultRealtimeController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeAttendeePositionInFrame.js\":\n/*!******************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeAttendeePositionInFrame.js ***!\n \\******************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[RealtimeAttendeePositionInFrame]] information about the attendee's place in the frame.\\n */\\nclass RealtimeAttendeePositionInFrame {\\n constructor() {\\n /**\\n * Index of attendee update in the frame starting at zero\\n */\\n this.attendeeIndex = null;\\n /**\\n * Number of total attendee updates in the frame\\n */\\n this.attendeesInFrame = null;\\n }\\n}\\nexports[\\\"default\\\"] = RealtimeAttendeePositionInFrame;\\n//# sourceMappingURL=RealtimeAttendeePositionInFrame.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeAttendeePositionInFrame.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeState.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeState.js ***!\n \\************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[RealtimeState]] stores all realtime persistent state.\\n */\\nclass RealtimeState {\\n constructor() {\\n /**\\n * Stores the attendee id of the current user\\n */\\n this.localAttendeeId = null;\\n /**\\n * Stores the external user id of the current user\\n */\\n this.localExternalUserId = null;\\n /**\\n * Callbacks to listen for attendee id changes\\n */\\n this.attendeeIdChangesCallbacks = [];\\n /**\\n * Stores whether the user can transition from muted to unmuted\\n */\\n this.canUnmute = true;\\n /**\\n * Callbacks to listen for changes to can-unmute local audio state\\n */\\n this.setCanUnmuteLocalAudioCallbacks = [];\\n /**\\n * Stores whether the user is presently muted\\n */\\n this.muted = false;\\n /**\\n * Callbacks to listen for local audio mutes and unmutes\\n */\\n this.muteAndUnmuteLocalAudioCallbacks = [];\\n /**\\n * Stores per-attendee id volume indicator state\\n */\\n this.volumeIndicatorState = {};\\n /**\\n * Stores attendee id to external user id mappings\\n */\\n this.attendeeIdToExternalUserId = {};\\n /**\\n * Stores per-attendee id callbacks called when volume indicators change\\n */\\n this.volumeIndicatorCallbacks = {};\\n /**\\n * Callbacks to listen for changes to local signal strength\\n */\\n this.localSignalStrengthChangeCallbacks = [];\\n /**\\n * Callbacks to listen for fatal errors\\n */\\n this.fatalErrorCallbacks = [];\\n /**\\n * Callbacks to trigger when sending message\\n */\\n this.sendDataMessageCallbacks = [];\\n /**\\n * Callbacks to listen for receiving message from data channel based on given topic\\n */\\n this.receiveDataMessageCallbacks = new Map();\\n }\\n}\\nexports[\\\"default\\\"] = RealtimeState;\\n//# sourceMappingURL=RealtimeState.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeState.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeVolumeIndicator.js\":\n/*!**********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeVolumeIndicator.js ***!\n \\**********************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[RealtimeVolumeIndicator]] stores the current volume, mute, and\\n * signal strength for an attendee.\\n */\\nclass RealtimeVolumeIndicator {\\n constructor() {\\n this.volume = null;\\n this.muted = null;\\n this.signalStrength = null;\\n }\\n}\\nexports[\\\"default\\\"] = RealtimeVolumeIndicator;\\n//# sourceMappingURL=RealtimeVolumeIndicator.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/realtimecontroller/RealtimeVolumeIndicator.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/reconnectcontroller/DefaultReconnectController.js\":\n/*!**************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/reconnectcontroller/DefaultReconnectController.js ***!\n \\**************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst TimeoutScheduler_1 = __webpack_require__(/*! ../scheduler/TimeoutScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/TimeoutScheduler.js\\\");\\nclass DefaultReconnectController {\\n constructor(reconnectTimeoutMs, backoffPolicy) {\\n this.reconnectTimeoutMs = reconnectTimeoutMs;\\n this.backoffPolicy = backoffPolicy;\\n this.shouldReconnect = true;\\n this.onlyRestartPeerConnection = false;\\n this.firstConnectionAttempted = false;\\n this.firstConnectionAttemptTimestampMs = 0;\\n this.lastActiveTimestampMs = Infinity;\\n this._isFirstConnection = true;\\n this.backoffTimer = null;\\n this.backoffCancel = null;\\n this.reset();\\n }\\n timeSpentReconnectingMs() {\\n if (!this.firstConnectionAttempted) {\\n return 0;\\n }\\n return Date.now() - this.firstConnectionAttemptTimestampMs;\\n }\\n hasPastReconnectDeadline() {\\n if (Date.now() - this.lastActiveTimestampMs >= this.reconnectTimeoutMs) {\\n return true;\\n }\\n return this.timeSpentReconnectingMs() >= this.reconnectTimeoutMs;\\n }\\n reset() {\\n this.cancel();\\n this.shouldReconnect = true;\\n this.onlyRestartPeerConnection = false;\\n this.firstConnectionAttempted = false;\\n this.firstConnectionAttemptTimestampMs = 0;\\n this.lastActiveTimestampMs = Infinity;\\n this.backoffPolicy.reset();\\n }\\n startedConnectionAttempt(isFirstConnection) {\\n this._isFirstConnection = isFirstConnection;\\n if (!this.firstConnectionAttempted) {\\n this.firstConnectionAttempted = true;\\n this.firstConnectionAttemptTimestampMs = Date.now();\\n }\\n }\\n hasStartedConnectionAttempt() {\\n return this.firstConnectionAttempted;\\n }\\n isFirstConnection() {\\n return this._isFirstConnection;\\n }\\n disableReconnect() {\\n this.shouldReconnect = false;\\n }\\n enableRestartPeerConnection() {\\n this.onlyRestartPeerConnection = true;\\n }\\n cancel() {\\n this.disableReconnect();\\n if (this.backoffTimer) {\\n this.backoffTimer.stop();\\n if (this.backoffCancel) {\\n this.backoffCancel();\\n this.backoffCancel = null;\\n }\\n }\\n }\\n retryWithBackoff(retryFunc, cancelFunc) {\\n const willRetry = this.shouldReconnect && !this.hasPastReconnectDeadline();\\n if (willRetry) {\\n this.backoffCancel = cancelFunc;\\n this.backoffTimer = new TimeoutScheduler_1.default(this.backoffPolicy.nextBackoffAmountMs());\\n this.backoffTimer.start(() => {\\n this.backoffCancel = null;\\n retryFunc();\\n });\\n }\\n return willRetry;\\n }\\n shouldOnlyRestartPeerConnection() {\\n return this.onlyRestartPeerConnection;\\n }\\n clone() {\\n return new DefaultReconnectController(this.reconnectTimeoutMs, this.backoffPolicy);\\n }\\n setLastActiveTimestampMs(timestampMs) {\\n this.lastActiveTimestampMs = timestampMs;\\n }\\n}\\nexports[\\\"default\\\"] = DefaultReconnectController;\\n//# sourceMappingURL=DefaultReconnectController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/reconnectcontroller/DefaultReconnectController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/scheduler/AsyncScheduler.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/scheduler/AsyncScheduler.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst TimeoutScheduler_1 = __webpack_require__(/*! ./TimeoutScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/TimeoutScheduler.js\\\");\\n/**\\n * [[AsyncScheduler]] enqueues the callback for the soonest available run of the\\n * event loop.\\n */\\nclass AsyncScheduler extends TimeoutScheduler_1.default {\\n constructor() {\\n super(0);\\n }\\n /**\\n * Execute the provided callback on the next tick of the event loop.\\n * This is semantically equivalent to\\n *\\n * ```typescript\\n * new AsyncScheduler(callback).start();\\n * ```\\n *\\n * but with less overhead.\\n *\\n * @param callback the code to run.\\n */\\n static nextTick(callback) {\\n setTimeout(callback, 0);\\n }\\n}\\nexports[\\\"default\\\"] = AsyncScheduler;\\n//# sourceMappingURL=AsyncScheduler.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/scheduler/AsyncScheduler.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/scheduler/IntervalScheduler.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/scheduler/IntervalScheduler.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[IntervalScheduler]] calls the callback every intervalMs milliseconds.\\n */\\nclass IntervalScheduler {\\n constructor(intervalMs) {\\n this.intervalMs = intervalMs;\\n }\\n start(callback) {\\n this.stop();\\n this.timer = setInterval(callback, this.intervalMs);\\n }\\n stop() {\\n if (this.timer === undefined) {\\n return;\\n }\\n clearInterval(this.timer);\\n this.timer = undefined;\\n }\\n running() {\\n return this.timer !== undefined;\\n }\\n}\\nexports[\\\"default\\\"] = IntervalScheduler;\\n//# sourceMappingURL=IntervalScheduler.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/scheduler/IntervalScheduler.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/scheduler/TimeoutScheduler.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/scheduler/TimeoutScheduler.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[TimeoutScheduler]] calls the callback once after timeoutMs milliseconds.\\n */\\nclass TimeoutScheduler {\\n constructor(timeoutMs) {\\n this.timeoutMs = timeoutMs;\\n // eslint-disable-next-line\\n this.timer = null;\\n }\\n start(callback) {\\n this.stop();\\n this.timer = setTimeout(() => {\\n clearTimeout(this.timer);\\n callback();\\n }, this.timeoutMs);\\n }\\n stop() {\\n if (this.timer !== null) {\\n clearTimeout(this.timer);\\n this.timer = null;\\n }\\n }\\n}\\nexports[\\\"default\\\"] = TimeoutScheduler;\\n//# sourceMappingURL=TimeoutScheduler.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/scheduler/TimeoutScheduler.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/sdp/SDP.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/sdp/SDP.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SDPCandidateType_1 = __webpack_require__(/*! ./SDPCandidateType */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/SDPCandidateType.js\\\");\\nconst SDPMediaSection_1 = __webpack_require__(/*! ./SDPMediaSection */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/SDPMediaSection.js\\\");\\nconst VideoCodecCapability_1 = __webpack_require__(/*! ./VideoCodecCapability */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/VideoCodecCapability.js\\\");\\n/**\\n * [[SDP]] includes a few helper functions for parsing sdp string.\\n */\\nclass SDP {\\n /**\\n * Construts a new [[SDP]] object\\n */\\n constructor(sdp) {\\n this.sdp = sdp;\\n }\\n /**\\n * Clones an SDP\\n */\\n clone() {\\n return new SDP(this.sdp);\\n }\\n /**\\n * Checks if the candidate is a valid RTP candidate\\n */\\n static isRTPCandidate(candidate) {\\n const match = /candidate[:](\\\\S+) (\\\\d+)/g.exec(candidate);\\n if (match === null || match[2] !== '1') {\\n return false;\\n }\\n return true;\\n }\\n /**\\n * Constructs a new SDP with the given set of SDP lines.\\n */\\n static linesToSDP(lines) {\\n return new SDP(lines.join(SDP.CRLF));\\n }\\n /**\\n * Returns an enum of [[candidateType]] for the given string.\\n */\\n static candidateTypeFromString(candidateType) {\\n switch (candidateType) {\\n case SDPCandidateType_1.default.Host:\\n return SDPCandidateType_1.default.Host;\\n case SDPCandidateType_1.default.ServerReflexive:\\n return SDPCandidateType_1.default.ServerReflexive;\\n case SDPCandidateType_1.default.PeerReflexive:\\n return SDPCandidateType_1.default.PeerReflexive;\\n case SDPCandidateType_1.default.Relay:\\n return SDPCandidateType_1.default.Relay;\\n }\\n return null;\\n }\\n /**\\n * Returns the candidate type assocaited with the sdpline.\\n */\\n static candidateType(sdpLine) {\\n const match = /a[=]candidate[:].* typ ([a-z]+) /g.exec(sdpLine);\\n if (match === null) {\\n return null;\\n }\\n return SDP.candidateTypeFromString(match[1]);\\n }\\n /**\\n * Returns the media type associated with the sdp line.\\n */\\n static mediaType(sdpLine) {\\n const match = /m=(audio|video)/g.exec(sdpLine);\\n if (match === null) {\\n return undefined;\\n }\\n return match[1];\\n }\\n /**\\n * Erase out \\\"a=mid\\\" from the sdp line.\\n */\\n static mid(sdpLine) {\\n if (!sdpLine.includes('a=mid:')) {\\n return undefined;\\n }\\n return sdpLine.replace(/^(a=mid:)/, '');\\n }\\n /**\\n * Return the direction associated with the sdp line.\\n */\\n static direction(sdpLine) {\\n const match = /a=(sendrecv|sendonly|recvonly|inactive)/g.exec(sdpLine);\\n if (match === null) {\\n return undefined;\\n }\\n return match[1];\\n }\\n /**\\n * Format the sdp string into separate lines.\\n */\\n static splitLines(blob) {\\n return blob\\n .trim()\\n .split('\\\\n')\\n .map((line) => {\\n return line.trim();\\n });\\n }\\n /**\\n * split the different sdp sections\\n */\\n static splitSections(sdp) {\\n // each section starts with \\\"m=\\\"\\n const sections = sdp.split('\\\\nm=');\\n return sections.map((section, index) => {\\n return (index > 0 ? 'm=' + section : section).trim() + SDP.CRLF;\\n });\\n }\\n /**\\n * split the different sdp sections\\n */\\n static findActiveCameraSection(sections) {\\n let cameraLineIndex = 0;\\n let hasCamera = false;\\n for (const sec of sections) {\\n if (/^m=video/.test(sec)) {\\n if (sec.indexOf('sendrecv') > -1 ||\\n // RFC 4566: If none of the attributes \\\"sendonly\\\", \\\"recvonly\\\", \\\"inactive\\\",\\n // and \\\"sendrecv\\\" is present, \\\"sendrecv\\\" SHOULD be assumed as the\\n // default for sessions\\n (sec.indexOf('sendonly') === -1 &&\\n sec.indexOf('recvonly') === -1 &&\\n sec.indexOf('inactive') === -1)) {\\n hasCamera = true;\\n break;\\n }\\n }\\n cameraLineIndex++;\\n }\\n if (hasCamera === false) {\\n cameraLineIndex = -1;\\n }\\n return cameraLineIndex;\\n }\\n /**\\n * Extract the SSRCs from the group line.\\n *\\n * a=ssrc-group:<semantics> <ssrc-id> ...\\n */\\n static extractSSRCsFromFIDGroupLine(figGroupLine) {\\n const ssrcStringMatch = /^a=ssrc-group:FID\\\\s(.+)/.exec(figGroupLine);\\n return ssrcStringMatch[1];\\n }\\n /**\\n * Extracts the lines from the sdp blob that matches the given prefix.\\n */\\n static matchPrefix(blob, prefix) {\\n return SDP.splitLines(blob).filter((line) => {\\n return line.indexOf(prefix) === 0;\\n });\\n }\\n /**\\n * Splits SDP string into lines\\n */\\n lines() {\\n return this.sdp.split(SDP.CRLF);\\n }\\n /**\\n * Checks if SDP has a video section.\\n */\\n hasVideo() {\\n return /^m=video/gm.exec(this.sdp) !== null;\\n }\\n /**\\n * Checks whether the SDP has candidates for any m-line\\n */\\n hasCandidates() {\\n const match = /a[=]candidate[:]/g.exec(this.sdp);\\n if (match === null) {\\n return false;\\n }\\n return true;\\n }\\n /**\\n * Checks whether the SDP has candidates for all m-lines\\n */\\n hasCandidatesForAllMLines() {\\n const isAnyCLineUsingLocalHost = this.sdp.indexOf('c=IN IP4 0.0.0.0') > -1;\\n const mLinesHaveCandidates = !isAnyCLineUsingLocalHost;\\n return mLinesHaveCandidates;\\n }\\n /**\\n * Removes candidates of a given type from SDP\\n */\\n withoutCandidateType(candidateTypeToExclude) {\\n return SDP.linesToSDP(this.lines().filter(line => SDP.candidateType(line) !== candidateTypeToExclude));\\n }\\n /**\\n * Removes server reflexive candidate from SDP\\n */\\n withoutServerReflexiveCandidates() {\\n return this.withoutCandidateType(SDPCandidateType_1.default.ServerReflexive);\\n }\\n /**\\n * Inserts a parameter to the SDP local offer setting the desired average audio bitrate\\n */\\n withAudioMaxAverageBitrate(maxAverageBitrate) {\\n if (!maxAverageBitrate) {\\n return this.clone();\\n }\\n maxAverageBitrate = Math.trunc(Math.min(Math.max(maxAverageBitrate, SDP.rfc7587LowestBitrate), SDP.rfc7587HighestBitrate));\\n const srcLines = this.lines();\\n const fmtpAttributes = SDP.findOpusFmtpAttributes(srcLines);\\n const dstLines = SDP.updateOpusFmtpAttributes(srcLines, fmtpAttributes, [\\n `maxaveragebitrate=${maxAverageBitrate}`,\\n ]);\\n return SDP.linesToSDP(dstLines);\\n }\\n /**\\n * Update the SDP to include stereo\\n */\\n withStereoAudio() {\\n const srcLines = this.lines();\\n const fmtpAttributes = SDP.findOpusFmtpAttributes(srcLines);\\n const dstLines = SDP.updateOpusFmtpAttributes(srcLines, fmtpAttributes, [\\n 'stereo=1',\\n 'sprop-stereo=1',\\n ]);\\n return SDP.linesToSDP(dstLines);\\n }\\n /**\\n * Here we loop through each line in the SDP\\n * and construct an array containing the fmtp\\n * attribute for all the audio m lines that use\\n * the opus codec. If it doesn't use opus codec\\n * we add null to the array which tells\\n * updateOpusFmtpAttributes that no update is\\n * needed for that particular fmtp attribute line\\n */\\n static findOpusFmtpAttributes(sdpLines) {\\n const opusRtpMapRegex = /^a=rtpmap:\\\\s*(\\\\d+)\\\\s+opus\\\\/48000/;\\n let lookingForOpusRtpMap = false;\\n const fmtpAttributes = [];\\n for (const line of sdpLines) {\\n if (line.startsWith('m=audio')) {\\n fmtpAttributes.push(null);\\n lookingForOpusRtpMap = true;\\n }\\n if (line.startsWith('m=video')) {\\n // Opus rtpmap is only part of audio m lines section\\n // Set this to false as we don't need to perform regex\\n // matches for video section\\n lookingForOpusRtpMap = false;\\n }\\n if (lookingForOpusRtpMap) {\\n const match = opusRtpMapRegex.exec(line);\\n if (match !== null) {\\n fmtpAttributes[fmtpAttributes.length - 1] = `a=fmtp:${match[1]} `;\\n }\\n }\\n }\\n return fmtpAttributes;\\n }\\n /**\\n * Update the fmtp lines in each audio m section\\n * that correspond to the opus codec with the parameters\\n * specifief in additionalParams\\n */\\n static updateOpusFmtpAttributes(srcLines, fmtpAttributes, additionalParams) {\\n const dstLines = [];\\n let fmtpIndex = 0;\\n let currFmtpAttribute = null;\\n for (const line of srcLines) {\\n if (line.startsWith('m=audio')) {\\n currFmtpAttribute = fmtpAttributes[fmtpIndex];\\n fmtpIndex++;\\n }\\n if (line.startsWith('m=video')) {\\n currFmtpAttribute = null;\\n }\\n if (currFmtpAttribute && line.startsWith(currFmtpAttribute)) {\\n const oldParameters = line.slice(currFmtpAttribute.length).split(';');\\n const newParameters = [];\\n // If an existing parameter is in additionalParams\\n // dont add it to newParameters as it will be replaced\\n for (const parameter of oldParameters) {\\n const index = additionalParams.findIndex(element => element.startsWith(parameter.split('=')[0]));\\n if (index < 0) {\\n newParameters.push(parameter);\\n }\\n }\\n for (const parameter of additionalParams) {\\n newParameters.push(parameter);\\n }\\n dstLines.push(currFmtpAttribute + newParameters.join(';'));\\n }\\n else {\\n dstLines.push(line);\\n }\\n }\\n return dstLines;\\n }\\n /**\\n * Munges Unified-Plan SDP from different browsers to conform to one format\\n * TODO: will remove this soon.\\n */\\n withUnifiedPlanFormat() {\\n let originalSdp = this.sdp;\\n if (originalSdp.includes('mozilla')) {\\n return this.clone();\\n }\\n else {\\n originalSdp = originalSdp.replace('o=-', 'o=mozilla-chrome');\\n }\\n return new SDP(originalSdp);\\n }\\n /**\\n * Returns the total number of unique Rtp header extensions.\\n */\\n getUniqueRtpHeaderExtensionId(srcLines) {\\n const headerExtensionIds = [];\\n for (const line of srcLines) {\\n if (/^a=extmap:/.test(line.trim())) {\\n const headerExtension = line.split('a=extmap:')[1].split(' ');\\n const id = +headerExtension[0];\\n if (!headerExtensionIds.includes(id)) {\\n headerExtensionIds.push(id);\\n }\\n }\\n }\\n headerExtensionIds.sort((a, b) => a - b);\\n let previousId = 0; // header extension cannot be 0, refer https://datatracker.ietf.org/doc/html/rfc5285\\n for (const id of headerExtensionIds) {\\n if (id - previousId > 1) {\\n return previousId + 1;\\n }\\n previousId = id;\\n }\\n // One-Byte Header header extension cannot be bigger than 14, refer https://datatracker.ietf.org/doc/html/rfc5285\\n return previousId === 14 ? -1 : previousId + 1;\\n }\\n /**\\n * To avoid resubscribing to preemptively turn off simulcast streams or to switch layers\\n * negotiate with the back end to determine whether to use layers allocation header extension\\n * this will not add the packet overhead unless negotiated to avoid waste\\n */\\n withVideoLayersAllocationRtpHeaderExtension(previousSdp) {\\n const url = `http://www.webrtc.org/experiments/rtp-hdrext/video-layers-allocation00`;\\n // According to https://webrtc.googlesource.com/src/+/b62ee8ce94e5f10e0a94d6f112e715cc4d0cd9dc,\\n // RTP header extension ID change would result in a hard failure. Therefore if the extension exists\\n // in the previous SDP, use the same extension ID to avoid the failure. Otherwise use a new ID\\n const previousId = previousSdp ? previousSdp.getRtpHeaderExtensionId(url) : -1;\\n const id = previousId === -1 ? this.getUniqueRtpHeaderExtensionId(SDP.splitLines(this.sdp)) : previousId;\\n const sections = SDP.splitSections(this.sdp);\\n const newSections = [];\\n for (let section of sections) {\\n if (/^m=video/.test(section) && SDP.getRtpHeaderExtensionIdInSection(section, url) === -1) {\\n // Add RTP header extension when it does not already exist\\n const srcLines = SDP.splitLines(section);\\n const dstLines = [];\\n if (id === -1 || this.hasRtpHeaderExtensionId(id)) {\\n // if all ids are used or the id is already used, we won't add new line to it\\n newSections.push(section);\\n continue;\\n }\\n for (const line of srcLines) {\\n dstLines.push(line);\\n if (/^a=sendrecv/.test(line.trim())) {\\n const targetLine = `a=extmap:` + id + ` ` + url;\\n dstLines.push(targetLine);\\n }\\n }\\n section = dstLines.join(SDP.CRLF) + SDP.CRLF;\\n }\\n else if (previousId !== -1 &&\\n /^m=video/.test(section) &&\\n SDP.getRtpHeaderExtensionIdInSection(section, url) !== previousId) {\\n // Override extension ID if it does not match previous SDP\\n const srcLines = SDP.splitLines(section);\\n const dstLines = [];\\n for (const line of srcLines) {\\n if (/^a=extmap:/.test(line.trim())) {\\n const headerExtension = line.split('a=extmap:')[1].split(' ');\\n if (headerExtension[1] === url) {\\n if (!this.hasRtpHeaderExtensionId(previousId)) {\\n // If previous ID is used by another extension, remove it from this SDP\\n const targetLine = `a=extmap:` + previousId + ` ` + url;\\n dstLines.push(targetLine);\\n }\\n continue;\\n }\\n }\\n dstLines.push(line);\\n }\\n section = dstLines.join(SDP.CRLF) + SDP.CRLF;\\n }\\n newSections.push(section);\\n }\\n const newSdp = newSections.join('');\\n return new SDP(newSdp);\\n }\\n /**\\n * Extracts the ssrc for the sendrecv video media section in SDP\\n */\\n ssrcForVideoSendingSection() {\\n const srcSDP = this.sdp;\\n const sections = SDP.splitSections(srcSDP);\\n if (sections.length < 2) {\\n return '';\\n }\\n const cameraLineIndex = SDP.findActiveCameraSection(sections);\\n if (cameraLineIndex === -1) {\\n return '';\\n }\\n // TODO: match for Firefox. Currently all failures are not Firefox induced.\\n const fidGroupMatch = SDP.matchPrefix(sections[cameraLineIndex], 'a=ssrc-group:FID ');\\n if (fidGroupMatch.length < 1) {\\n return '';\\n }\\n const fidGroup = SDP.extractSSRCsFromFIDGroupLine(fidGroupMatch[0]);\\n const [videoSSRC1] = fidGroup.split(' ').map(ssrc => parseInt(ssrc, 10));\\n return videoSSRC1.toString();\\n }\\n /**\\n * Returns whether the sendrecv video sections if exist have two different SSRCs in SDPs\\n */\\n videoSendSectionHasDifferentSSRC(prevSdp) {\\n const ssrc1 = this.ssrcForVideoSendingSection();\\n const ssrc2 = prevSdp.ssrcForVideoSendingSection();\\n if (ssrc1 === '' || ssrc2 === '') {\\n return false;\\n }\\n const ssrc1InNumber = parseInt(ssrc1, 10);\\n const ssrc2InNumber = parseInt(ssrc2, 10);\\n if (ssrc1InNumber === ssrc2InNumber) {\\n return false;\\n }\\n return true;\\n }\\n /**\\n * Removes H.264 from the send section.\\n */\\n removeH264SupportFromSendSection() {\\n const srcSDP = this.sdp;\\n const sections = SDP.splitSections(srcSDP);\\n const cameraLineIndex = SDP.findActiveCameraSection(sections);\\n if (cameraLineIndex === -1) {\\n return new SDP(this.sdp);\\n }\\n const cameraSection = sections[cameraLineIndex];\\n const cameraSectionLines = SDP.splitLines(cameraSection);\\n const payloadTypesForH264 = [];\\n const primaryPayloadTypeToFeedbackPayloadTypes = new Map();\\n // Loop through camera section (m=video)\\n cameraSectionLines.forEach(attribute => {\\n // Find the payload type with H264 codec line (e.g., a=rtpmap:<payload> H264/90000)\\n if (/^a=rtpmap:/.test(attribute)) {\\n const payloadMatch = /^a=rtpmap:([0-9]+)\\\\s/.exec(attribute);\\n if (payloadMatch && attribute.toLowerCase().includes('h264')) {\\n payloadTypesForH264.push(parseInt(payloadMatch[1], 10));\\n }\\n }\\n // Loop through the rtx payload and create a mapping between it and the primary payload.\\n // a=fmtp:<rtx payload> apt=<primary payload>\\n if (/^a=fmtp:/.test(attribute)) {\\n const feedbackMatches = /^a=fmtp:([0-9]+) apt=([0-9]+)/.exec(attribute);\\n if (feedbackMatches && feedbackMatches.length === 3) {\\n const feedbackPayloadType = parseInt(feedbackMatches[1], 10);\\n const primaryPayloadType = parseInt(feedbackMatches[2], 10);\\n if (primaryPayloadTypeToFeedbackPayloadTypes.has(primaryPayloadType)) {\\n primaryPayloadTypeToFeedbackPayloadTypes\\n .get(primaryPayloadType)\\n .push(feedbackPayloadType);\\n }\\n else {\\n primaryPayloadTypeToFeedbackPayloadTypes.set(primaryPayloadType, [feedbackPayloadType]);\\n }\\n }\\n }\\n });\\n // Add the rtx payloads corresponding to the H264 codec to the remove list\\n const payloadTypesToRemove = new Set();\\n for (const type of payloadTypesForH264) {\\n payloadTypesToRemove.add(type);\\n const feedbackTypes = primaryPayloadTypeToFeedbackPayloadTypes.get(type);\\n if (feedbackTypes) {\\n for (const feedbackType of feedbackTypes) {\\n payloadTypesToRemove.add(feedbackType);\\n }\\n }\\n }\\n // Remove H264 payload from the media line. m=video 9 UDP/+++ <payload> <payload> <payload>\\n if (payloadTypesForH264.length > 0) {\\n const mline = cameraSectionLines[0].split(' ');\\n cameraSectionLines[0] = mline\\n .filter((text) => !payloadTypesToRemove.has(parseInt(text)))\\n .join(' ');\\n }\\n // Filter out lines with H264 payload\\n const filteredLines = cameraSectionLines.filter((line) => {\\n if (!line.includes('rtpmap') && !line.includes('rtcp-fb') && !line.includes('fmtp')) {\\n return true;\\n }\\n for (const type of payloadTypesToRemove) {\\n if (line.includes(type.toString())) {\\n return false;\\n }\\n }\\n return true;\\n });\\n sections[cameraLineIndex] = filteredLines.join(SDP.CRLF) + SDP.CRLF;\\n const newSDP = sections.join('');\\n return new SDP(newSDP);\\n }\\n /**\\n * List of parsed media sections sections in order they occur on SDP.\\n */\\n mediaSections() {\\n const sections = SDP.splitSections(this.sdp);\\n if (sections.length < 2) {\\n return [];\\n }\\n const parsedMediaSections = [];\\n for (let i = 1; i < sections.length; i++) {\\n const section = new SDPMediaSection_1.default();\\n const lines = SDP.splitLines(sections[i]);\\n for (const line of lines) {\\n const mediaType = SDP.mediaType(line);\\n if (mediaType !== undefined) {\\n section.mediaType = mediaType;\\n continue;\\n }\\n const direction = SDP.direction(line);\\n if (direction !== undefined) {\\n section.direction = direction;\\n continue;\\n }\\n const mid = SDP.mid(line);\\n if (mid !== undefined) {\\n section.mid = mid;\\n continue;\\n }\\n }\\n parsedMediaSections.push(section);\\n }\\n return parsedMediaSections;\\n }\\n /**\\n * Return RTP header extension ID if the extension exists in section. Return -1 otherwise\\n */\\n static getRtpHeaderExtensionIdInSection(section, url) {\\n const lines = SDP.splitLines(section);\\n for (const line of lines) {\\n if (/^a=extmap:/.test(line.trim())) {\\n const headerExtension = line.split('a=extmap:')[1].split(' ');\\n const id = +headerExtension[0];\\n if (headerExtension[1] === url) {\\n return id;\\n }\\n }\\n }\\n return -1;\\n }\\n /**\\n * Return RTP header extension ID if the extension exists in SDP. Return -1 otherwise\\n */\\n getRtpHeaderExtensionId(url) {\\n const sections = SDP.splitSections(this.sdp);\\n for (const section of sections) {\\n if (/^m=video/.test(section)) {\\n const id = SDP.getRtpHeaderExtensionIdInSection(section, url);\\n if (id !== -1) {\\n return id;\\n }\\n }\\n }\\n return -1;\\n }\\n /**\\n * Return if extension ID exists in the SDP\\n */\\n hasRtpHeaderExtensionId(targetId) {\\n const lines = SDP.splitLines(this.sdp);\\n for (const line of lines) {\\n if (/^a=extmap:/.test(line.trim())) {\\n const headerExtension = line.split('a=extmap:')[1].split(' ');\\n const id = +headerExtension[0];\\n if (id === targetId) {\\n return true;\\n }\\n }\\n }\\n return false;\\n }\\n /**\\n * Based off the provided preferences, this function will reorder the payload types listed in the `m=video` line.\\n *\\n * This will be applied to the `a=sendrecv` section so it can be applied on either local or remote SDPs. It can be used to\\n * 'polyfill' `RTCRtpSender.setCodecPreferences' on the offer, but it can also be used on remote SDPs to force the\\n * codec actually being send, since the send codec is currently dependent on the remote answer (i.e. `setCodecPreferences` doesn't actually\\n * have any impact unless the remote side respects the order of codecs).\\n */\\n withVideoSendCodecPreferences(preferences) {\\n const srcSDP = this.sdp;\\n const sections = SDP.splitSections(srcSDP);\\n // Note `findActiveCameraSection` looks for `sendrecv` video sections so it\\n // works on both local and remote SDPs.\\n const cameraLineIndex = SDP.findActiveCameraSection(sections);\\n if (cameraLineIndex === -1) {\\n return new SDP(this.sdp);\\n }\\n sections[cameraLineIndex] = this.sectionWithCodecPreferences(sections[cameraLineIndex], preferences);\\n const newSDP = sections.join('');\\n return new SDP(newSDP);\\n }\\n // Based off the provided preferences, this function will reorder the payload types listed in the `m=video` line.\\n sectionWithCodecPreferences(section, preferences) {\\n const codecNamesToPayloadTypes = new Map();\\n const lines = SDP.splitLines(section);\\n // First we get the payload types and their respective `a=rtpmap` lines for our provided preferences\\n lines.forEach(line => {\\n if (!/^a=rtpmap:/.test(line)) {\\n return;\\n }\\n for (const preference of preferences) {\\n // Check if theres a match for the encoding name and clock rate as defined in 'RFC 4566 Section 6':\\n // a=rtpmap:<payload type> <encoding name>/<clock rate> [/<encoding parameters>]\\n // E.g. 'a=rtpmap:125 H264/90000'\\n if (!line.includes(`${preference.codecName}/${preference.codecCapability.clockRate}`)) {\\n continue;\\n }\\n const payloadMatch = /^a=rtpmap:([0-9]+)\\\\s/.exec(line); // Get the payload type\\n // We may need to check other parameters (e.g. fmtp line) in addition to the codec name\\n let codecMatches = false;\\n if (preference.codecCapability.sdpFmtpLine !== undefined) {\\n // Check the fmtp line\\n for (const prospectiveFmtpLine of lines) {\\n if (prospectiveFmtpLine.startsWith(`a=fmtp:${payloadMatch[1]} ${preference.codecCapability.sdpFmtpLine}`)) {\\n codecMatches = true;\\n break;\\n }\\n }\\n }\\n else {\\n // No 'fmtp' line, nothing else to check\\n codecMatches = true;\\n }\\n if (codecMatches) {\\n codecNamesToPayloadTypes.set(preference.codecName, payloadMatch[1]);\\n break;\\n }\\n }\\n });\\n // RFC 4566 5.14\\n // When a list of payload type numbers is given, this implies that all of these\\n // payload formats MAY be used in the session, but the first of these\\n // formats SHOULD be used as the default format for the session.\\n const payloadTypesToRemove = new Set(codecNamesToPayloadTypes.values());\\n // Remove payloads from the media line. m=video 9 UDP/+++ <payload> <payload> <payload> ...\\n const mline = lines[0].split(' ').filter((text) => !payloadTypesToRemove.has(text));\\n // Then splice them back in, in preferred order at the start of the list\\n const orderedPreferedPayloadTypes = Array.from(codecNamesToPayloadTypes.values()).sort((name1, name2) => {\\n const priority1 = preferences.findIndex(capability => {\\n return codecNamesToPayloadTypes.get(capability.codecName) === name1;\\n });\\n const priority2 = preferences.findIndex(capability => {\\n return codecNamesToPayloadTypes.get(capability.codecName) === name2;\\n });\\n return priority1 - priority2;\\n });\\n // Start from 3 to skip `m=video 9 UDP/+++`\\n mline.splice(3, 0, ...orderedPreferedPayloadTypes.values());\\n lines[0] = mline.join(' ');\\n // Note that nothing in the RFCs require `a=rtpmap` lines to be reordered\\n return lines.join(SDP.CRLF) + SDP.CRLF;\\n }\\n /**\\n * Returns the `VideoCodecCapability` which corresponds to the first payload type in the\\n * m-line (e.g. `m=video 9 UDP/+++ <highest priority payload type> <payload type> <payload type> ...`),\\n * parsing the rest of the SDP for relevant information to construct it.\\n *\\n * Returns undefined if there is no video send section or no codecs in the send section\\n */\\n highestPriorityVideoSendCodec() {\\n const srcSDP = this.sdp;\\n const sections = SDP.splitSections(srcSDP);\\n // Note `findActiveCameraSection` looks for `sendrecv` video sections so it\\n // works on both local and remote SDPs.\\n const cameraLineIndex = SDP.findActiveCameraSection(sections);\\n if (cameraLineIndex === -1) {\\n return undefined;\\n }\\n const lines = SDP.splitLines(sections[cameraLineIndex]);\\n // m=video 9 UDP/+++ <payload> <payload> <payload> ...\\n const mlineTokens = lines[0].split(' ');\\n if (mlineTokens.length < 4) {\\n return undefined;\\n }\\n // Start from 3 to skip `m=video 9 UDP/+++`\\n const highestPriorityPayloadType = mlineTokens[3];\\n let highestPriorityCodecName = undefined;\\n let highestPriorityClockRate = undefined;\\n let highestPriorityFmtpLine = undefined;\\n for (const line of lines) {\\n // E.g. 'a=rtpmap:125 H264/90000'\\n const payloadMatch = /^a=rtpmap:([0-9]+)\\\\s/.exec(line); // Get the payload type\\n if (payloadMatch === null ||\\n payloadMatch.length < 2 ||\\n payloadMatch[1] !== highestPriorityPayloadType) {\\n continue;\\n }\\n const lineTokens = line.split(' '); // Previous check guarantees this to be valid\\n const nameAndClockRate = lineTokens[1].split('/');\\n if (nameAndClockRate === undefined || nameAndClockRate.length < 2) {\\n continue;\\n }\\n highestPriorityCodecName = nameAndClockRate[0];\\n highestPriorityClockRate = nameAndClockRate[1];\\n for (const prospectiveFmtpLine of lines) {\\n if (prospectiveFmtpLine.startsWith(`a=fmtp:${highestPriorityPayloadType}`)) {\\n const fmtpLineTokens = prospectiveFmtpLine.split(' ');\\n if (fmtpLineTokens === undefined || fmtpLineTokens.length < 2) {\\n return undefined; // Bail out of broken SDP\\n }\\n highestPriorityFmtpLine = fmtpLineTokens[1];\\n continue;\\n }\\n }\\n break;\\n }\\n if (highestPriorityCodecName !== undefined) {\\n return new VideoCodecCapability_1.default(highestPriorityCodecName, {\\n clockRate: parseInt(highestPriorityClockRate),\\n mimeType: `video/${highestPriorityCodecName}`,\\n sdpFmtpLine: highestPriorityFmtpLine,\\n });\\n }\\n return undefined;\\n }\\n}\\nexports[\\\"default\\\"] = SDP;\\nSDP.CRLF = '\\\\r\\\\n';\\nSDP.rfc7587LowestBitrate = 6000;\\nSDP.rfc7587HighestBitrate = 510000;\\n//# sourceMappingURL=SDP.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/sdp/SDP.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/sdp/SDPCandidateType.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/sdp/SDPCandidateType.js ***!\n \\************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.SDPCandidateType = void 0;\\nvar SDPCandidateType;\\n(function (SDPCandidateType) {\\n SDPCandidateType[\\\"Host\\\"] = \\\"host\\\";\\n SDPCandidateType[\\\"ServerReflexive\\\"] = \\\"srflx\\\";\\n SDPCandidateType[\\\"PeerReflexive\\\"] = \\\"prflx\\\";\\n SDPCandidateType[\\\"Relay\\\"] = \\\"relay\\\";\\n})(SDPCandidateType = exports.SDPCandidateType || (exports.SDPCandidateType = {}));\\nexports[\\\"default\\\"] = SDPCandidateType;\\n//# sourceMappingURL=SDPCandidateType.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/sdp/SDPCandidateType.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/sdp/SDPMediaSection.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/sdp/SDPMediaSection.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * Represents parsed attributes of a media section (i.e. associated with a single m-line)\\n */\\nclass SDPMediaSection {\\n}\\nexports[\\\"default\\\"] = SDPMediaSection;\\n//# sourceMappingURL=SDPMediaSection.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/sdp/SDPMediaSection.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/sdp/VideoCodecCapability.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/sdp/VideoCodecCapability.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SignalingProtocol_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\n/**\\n * `VideoCodecCapability` represents a higher level type to wrap `RTCRtpCodecCapability`\\n * and the codec name used in the SDP, while also namespacing static create functions\\n * for codecs supported in the SDK.\\n *\\n * Note that `codecName` is different then `codecCapability.mimeType`\\n */\\nclass VideoCodecCapability {\\n constructor(codecName, codecCapability) {\\n this.codecName = codecName;\\n this.codecCapability = codecCapability;\\n }\\n equals(other) {\\n return (other !== undefined &&\\n this.codecName === other.codecName &&\\n this.codecCapability.mimeType === other.codecCapability.mimeType &&\\n this.codecCapability.clockRate === other.codecCapability.clockRate &&\\n this.codecCapability.sdpFmtpLine === other.codecCapability.sdpFmtpLine);\\n }\\n /**\\n * Returns the configuration of VP8 supported by the SDK\\n */\\n static vp8() {\\n return new VideoCodecCapability('VP8', {\\n clockRate: 90000,\\n mimeType: 'video/VP8',\\n });\\n }\\n /**\\n * Returns the configuration of H.264 CBP supported by the SDK\\n */\\n static h264ConstrainedBaselineProfile() {\\n return new VideoCodecCapability('H264', {\\n clockRate: 90000,\\n mimeType: 'video/H264',\\n sdpFmtpLine: 'level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f',\\n });\\n }\\n /**\\n * Returns the configuration of H.264 recommended by the SDK\\n */\\n static h264() {\\n return this.h264ConstrainedBaselineProfile();\\n }\\n /**\\n * Returns the configuration of codec corresponding to the signaled capability\\n */\\n static fromSignaled(capability) {\\n switch (capability) {\\n case SignalingProtocol_1.SdkVideoCodecCapability.VP8:\\n return this.vp8();\\n case SignalingProtocol_1.SdkVideoCodecCapability.H264_CONSTRAINED_BASELINE_PROFILE:\\n return this.h264ConstrainedBaselineProfile();\\n default:\\n return undefined;\\n }\\n }\\n}\\nexports[\\\"default\\\"] = VideoCodecCapability;\\n//# sourceMappingURL=VideoCodecCapability.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/sdp/VideoCodecCapability.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/sdp/ZLIBTextCompressor.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/sdp/ZLIBTextCompressor.js ***!\n \\**************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst pako = __webpack_require__(/*! pako */ \\\"./node_modules/pako/index.js\\\");\\n/**\\n * [[ZLIBTextCompressor]] Performs the text compression and decompression using zlib\\n */\\nclass ZLIBTextCompressor {\\n /**\\n * Constructs an instance of [[ZLIBTextCompressor]]\\n * @param logger\\n */\\n constructor(logger) {\\n this.logger = logger;\\n }\\n /**\\n * Compresses the given text.\\n *\\n * Note: The dictionary used during compression should be the same as\\n * that being used during decompression.\\n *\\n * @param text - the text that needs to be compressed\\n * @param dictionary - that will be used to seed the compression\\n * library to improve compression's performance\\n * @returns a compressed text\\n */\\n compress(text, dictionary) {\\n if (dictionary.length > 0) {\\n const dictionarySize = Math.min(dictionary.length, ZLIBTextCompressor.MAX_DICTIONARY_SIZE);\\n dictionary = dictionary.slice(0, dictionarySize);\\n }\\n const options = {\\n memLevel: ZLIBTextCompressor.Z_MEM_LEVEL,\\n dictionary: dictionary,\\n };\\n const compressedText = pako.deflateRaw(text, options);\\n return compressedText;\\n }\\n /**\\n * Decompresses the given text and returns the original text.\\n *\\n * Note: The dictionary used during compression should be the same as\\n * that being used during decompression.\\n *\\n * @param compressedText that will be decompressed\\n * @param dictionary that will be used to seed the compression library to improve\\n * decompression's performance\\n * @returns decompressed string\\n */\\n decompress(compressedText, dictionary) {\\n if (dictionary.length > 0) {\\n const dictionarySize = Math.min(dictionary.length, ZLIBTextCompressor.MAX_DICTIONARY_SIZE);\\n dictionary = dictionary.slice(0, dictionarySize);\\n }\\n const options = {\\n to: 'string',\\n dictionary: dictionary,\\n chunkSize: 4096,\\n };\\n let decompressedText = '';\\n try {\\n decompressedText = pako.inflateRaw(compressedText, options);\\n }\\n catch (ex) {\\n this.logger.error(`failed to decompress the string with error: [${ex}]`);\\n }\\n return decompressedText;\\n }\\n}\\nexports[\\\"default\\\"] = ZLIBTextCompressor;\\n// The memory Level parameter specifies how much memory to use for the internal state.\\n// Smaller values use less memory but are slower, while higher values use more memory\\n// to gain compression speed.\\n// Range is between 1 to 9\\nZLIBTextCompressor.Z_MEM_LEVEL = 9;\\n// 32kB is the maximum dictionary size supported by the zlib format.\\nZLIBTextCompressor.MAX_DICTIONARY_SIZE = 31744; // 31 KB\\n//# sourceMappingURL=ZLIBTextCompressor.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/sdp/ZLIBTextCompressor.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/DefaultSessionStateController.js\":\n/*!********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/DefaultSessionStateController.js ***!\n \\********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SessionStateControllerAction_1 = __webpack_require__(/*! ./SessionStateControllerAction */ \\\"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerAction.js\\\");\\nconst SessionStateControllerDeferPriority_1 = __webpack_require__(/*! ./SessionStateControllerDeferPriority */ \\\"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerDeferPriority.js\\\");\\nconst SessionStateControllerState_1 = __webpack_require__(/*! ./SessionStateControllerState */ \\\"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerState.js\\\");\\nconst SessionStateControllerTransitionResult_1 = __webpack_require__(/*! ./SessionStateControllerTransitionResult */ \\\"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerTransitionResult.js\\\");\\nclass DefaultSessionStateController {\\n constructor(logger) {\\n this.logger = logger;\\n this.currentState = SessionStateControllerState_1.SessionStateControllerState.NotConnected;\\n this.deferredAction = null;\\n this.deferredWork = null;\\n }\\n perform(action, work) {\\n const state = this.currentState;\\n if (state === SessionStateControllerState_1.SessionStateControllerState.NotConnected &&\\n action === SessionStateControllerAction_1.SessionStateControllerAction.Connect) {\\n this.transition(SessionStateControllerState_1.SessionStateControllerState.Connecting, action);\\n }\\n else if (state === SessionStateControllerState_1.SessionStateControllerState.Connecting &&\\n action === SessionStateControllerAction_1.SessionStateControllerAction.Fail) {\\n this.transition(SessionStateControllerState_1.SessionStateControllerState.Disconnecting, action);\\n }\\n else if (state === SessionStateControllerState_1.SessionStateControllerState.Connecting &&\\n action === SessionStateControllerAction_1.SessionStateControllerAction.FinishConnecting) {\\n this.transition(SessionStateControllerState_1.SessionStateControllerState.Connected, action);\\n }\\n else if (state === SessionStateControllerState_1.SessionStateControllerState.Connected &&\\n action === SessionStateControllerAction_1.SessionStateControllerAction.Disconnect) {\\n this.transition(SessionStateControllerState_1.SessionStateControllerState.Disconnecting, action);\\n }\\n else if (state === SessionStateControllerState_1.SessionStateControllerState.Connected &&\\n action === SessionStateControllerAction_1.SessionStateControllerAction.Reconnect) {\\n this.transition(SessionStateControllerState_1.SessionStateControllerState.Connecting, action);\\n }\\n else if (state === SessionStateControllerState_1.SessionStateControllerState.Connected &&\\n action === SessionStateControllerAction_1.SessionStateControllerAction.Fail) {\\n this.transition(SessionStateControllerState_1.SessionStateControllerState.Disconnecting, action);\\n }\\n else if (state === SessionStateControllerState_1.SessionStateControllerState.Connected &&\\n action === SessionStateControllerAction_1.SessionStateControllerAction.Update) {\\n this.transition(SessionStateControllerState_1.SessionStateControllerState.Updating, action);\\n }\\n else if (state === SessionStateControllerState_1.SessionStateControllerState.Updating &&\\n action === SessionStateControllerAction_1.SessionStateControllerAction.Fail) {\\n this.transition(SessionStateControllerState_1.SessionStateControllerState.Disconnecting, action);\\n }\\n else if (state === SessionStateControllerState_1.SessionStateControllerState.Updating &&\\n action === SessionStateControllerAction_1.SessionStateControllerAction.FinishUpdating) {\\n this.transition(SessionStateControllerState_1.SessionStateControllerState.Connected, action);\\n }\\n else if (state === SessionStateControllerState_1.SessionStateControllerState.Disconnecting &&\\n action === SessionStateControllerAction_1.SessionStateControllerAction.FinishDisconnecting) {\\n this.transition(SessionStateControllerState_1.SessionStateControllerState.NotConnected, action);\\n }\\n else if (this.canDefer(action)) {\\n this.logger.info(`deferring transition from ${SessionStateControllerState_1.SessionStateControllerState[this.currentState]} with ${SessionStateControllerAction_1.SessionStateControllerAction[action]}`);\\n this.deferAction(action, work);\\n return SessionStateControllerTransitionResult_1.SessionStateControllerTransitionResult.DeferredTransition;\\n }\\n else {\\n this.logger.warn(`no transition found from ${SessionStateControllerState_1.SessionStateControllerState[this.currentState]} with ${SessionStateControllerAction_1.SessionStateControllerAction[action]}`);\\n return SessionStateControllerTransitionResult_1.SessionStateControllerTransitionResult.NoTransitionAvailable;\\n }\\n try {\\n work();\\n }\\n catch (e) {\\n this.logger.error(`error during state ${SessionStateControllerState_1.SessionStateControllerState[this.currentState]} with action ${SessionStateControllerAction_1.SessionStateControllerAction[action]}: ${e}`);\\n this.logger.info(`rolling back transition to ${SessionStateControllerState_1.SessionStateControllerState[state]}`);\\n this.currentState = state;\\n return SessionStateControllerTransitionResult_1.SessionStateControllerTransitionResult.TransitionFailed;\\n }\\n this.performDeferredAction();\\n return SessionStateControllerTransitionResult_1.SessionStateControllerTransitionResult.Transitioned;\\n }\\n state() {\\n return this.currentState;\\n }\\n transition(newState, action) {\\n this.logger.info(`transitioning from ${SessionStateControllerState_1.SessionStateControllerState[this.currentState]} to ${SessionStateControllerState_1.SessionStateControllerState[newState]} with ${SessionStateControllerAction_1.SessionStateControllerAction[action]}`);\\n this.currentState = newState;\\n }\\n deferPriority(action) {\\n switch (action) {\\n case SessionStateControllerAction_1.SessionStateControllerAction.Disconnect:\\n return SessionStateControllerDeferPriority_1.SessionStateControllerDeferPriority.VeryHigh;\\n case SessionStateControllerAction_1.SessionStateControllerAction.Fail:\\n return SessionStateControllerDeferPriority_1.SessionStateControllerDeferPriority.High;\\n case SessionStateControllerAction_1.SessionStateControllerAction.Reconnect:\\n return SessionStateControllerDeferPriority_1.SessionStateControllerDeferPriority.Medium;\\n case SessionStateControllerAction_1.SessionStateControllerAction.Update:\\n return SessionStateControllerDeferPriority_1.SessionStateControllerDeferPriority.Low;\\n default:\\n return SessionStateControllerDeferPriority_1.SessionStateControllerDeferPriority.DoNotDefer;\\n }\\n }\\n deferAction(action, work) {\\n if (this.deferredAction !== null &&\\n this.deferPriority(this.deferredAction) > this.deferPriority(action)) {\\n return;\\n }\\n this.deferredAction = action;\\n this.deferredWork = work;\\n }\\n canDefer(action) {\\n return (this.deferPriority(action) !== SessionStateControllerDeferPriority_1.SessionStateControllerDeferPriority.DoNotDefer &&\\n (this.currentState === SessionStateControllerState_1.SessionStateControllerState.Connecting ||\\n this.currentState === SessionStateControllerState_1.SessionStateControllerState.Updating));\\n }\\n performDeferredAction() {\\n if (!this.deferredAction) {\\n return;\\n }\\n const deferredAction = this.deferredAction;\\n const deferredWork = this.deferredWork;\\n this.deferredAction = null;\\n this.deferredWork = null;\\n this.logger.info(`performing deferred action ${SessionStateControllerAction_1.SessionStateControllerAction[deferredAction]}`);\\n if (this.perform(deferredAction, deferredWork) !==\\n SessionStateControllerTransitionResult_1.SessionStateControllerTransitionResult.Transitioned) {\\n this.logger.info(`unable to perform deferred action ${SessionStateControllerAction_1.SessionStateControllerAction[deferredAction]} in state ${SessionStateControllerState_1.SessionStateControllerState[this.currentState]}`);\\n }\\n }\\n}\\nexports[\\\"default\\\"] = DefaultSessionStateController;\\n//# sourceMappingURL=DefaultSessionStateController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/DefaultSessionStateController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerAction.js\":\n/*!*******************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerAction.js ***!\n \\*******************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.SessionStateControllerAction = void 0;\\n/**\\n * [[SessionStateControllerAction]] is a state-changing action to perform.\\n */\\nvar SessionStateControllerAction;\\n(function (SessionStateControllerAction) {\\n SessionStateControllerAction[SessionStateControllerAction[\\\"Connect\\\"] = 0] = \\\"Connect\\\";\\n SessionStateControllerAction[SessionStateControllerAction[\\\"FinishConnecting\\\"] = 1] = \\\"FinishConnecting\\\";\\n SessionStateControllerAction[SessionStateControllerAction[\\\"Update\\\"] = 2] = \\\"Update\\\";\\n SessionStateControllerAction[SessionStateControllerAction[\\\"FinishUpdating\\\"] = 3] = \\\"FinishUpdating\\\";\\n SessionStateControllerAction[SessionStateControllerAction[\\\"Reconnect\\\"] = 4] = \\\"Reconnect\\\";\\n SessionStateControllerAction[SessionStateControllerAction[\\\"Disconnect\\\"] = 5] = \\\"Disconnect\\\";\\n SessionStateControllerAction[SessionStateControllerAction[\\\"Fail\\\"] = 6] = \\\"Fail\\\";\\n SessionStateControllerAction[SessionStateControllerAction[\\\"FinishDisconnecting\\\"] = 7] = \\\"FinishDisconnecting\\\";\\n})(SessionStateControllerAction = exports.SessionStateControllerAction || (exports.SessionStateControllerAction = {}));\\nexports[\\\"default\\\"] = SessionStateControllerAction;\\n//# sourceMappingURL=SessionStateControllerAction.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerAction.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerDeferPriority.js\":\n/*!**************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerDeferPriority.js ***!\n \\**************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.SessionStateControllerDeferPriority = void 0;\\n/**\\n * [[SessionStateControllerDeferPriority]] indicates the priority level of the action\\n * being deferred. For example, stop is more important than update so if forced\\n * to pick between the two stop should be chosen.\\n */\\nvar SessionStateControllerDeferPriority;\\n(function (SessionStateControllerDeferPriority) {\\n SessionStateControllerDeferPriority[SessionStateControllerDeferPriority[\\\"DoNotDefer\\\"] = 0] = \\\"DoNotDefer\\\";\\n SessionStateControllerDeferPriority[SessionStateControllerDeferPriority[\\\"Low\\\"] = 1] = \\\"Low\\\";\\n SessionStateControllerDeferPriority[SessionStateControllerDeferPriority[\\\"Medium\\\"] = 2] = \\\"Medium\\\";\\n SessionStateControllerDeferPriority[SessionStateControllerDeferPriority[\\\"High\\\"] = 3] = \\\"High\\\";\\n SessionStateControllerDeferPriority[SessionStateControllerDeferPriority[\\\"VeryHigh\\\"] = 4] = \\\"VeryHigh\\\";\\n})(SessionStateControllerDeferPriority = exports.SessionStateControllerDeferPriority || (exports.SessionStateControllerDeferPriority = {}));\\nexports[\\\"default\\\"] = SessionStateControllerDeferPriority;\\n//# sourceMappingURL=SessionStateControllerDeferPriority.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerDeferPriority.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerState.js\":\n/*!******************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerState.js ***!\n \\******************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.SessionStateControllerState = void 0;\\n/**\\n * [[SessionStateControllerState]] reflects the current connection state of the session.\\n */\\nvar SessionStateControllerState;\\n(function (SessionStateControllerState) {\\n SessionStateControllerState[SessionStateControllerState[\\\"NotConnected\\\"] = 0] = \\\"NotConnected\\\";\\n SessionStateControllerState[SessionStateControllerState[\\\"Connecting\\\"] = 1] = \\\"Connecting\\\";\\n SessionStateControllerState[SessionStateControllerState[\\\"Connected\\\"] = 2] = \\\"Connected\\\";\\n SessionStateControllerState[SessionStateControllerState[\\\"Updating\\\"] = 3] = \\\"Updating\\\";\\n SessionStateControllerState[SessionStateControllerState[\\\"Disconnecting\\\"] = 4] = \\\"Disconnecting\\\";\\n})(SessionStateControllerState = exports.SessionStateControllerState || (exports.SessionStateControllerState = {}));\\nexports[\\\"default\\\"] = SessionStateControllerState;\\n//# sourceMappingURL=SessionStateControllerState.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerState.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerTransitionResult.js\":\n/*!*****************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerTransitionResult.js ***!\n \\*****************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.SessionStateControllerTransitionResult = void 0;\\n/**\\n * Indicates the result of an attempted state transition.\\n */\\nvar SessionStateControllerTransitionResult;\\n(function (SessionStateControllerTransitionResult) {\\n /**\\n * The transition was successful.\\n */\\n SessionStateControllerTransitionResult[SessionStateControllerTransitionResult[\\\"Transitioned\\\"] = 0] = \\\"Transitioned\\\";\\n /**\\n * No transition is available from the current state using that action.\\n */\\n SessionStateControllerTransitionResult[SessionStateControllerTransitionResult[\\\"NoTransitionAvailable\\\"] = 1] = \\\"NoTransitionAvailable\\\";\\n /**\\n * The transition will be tried on the next state.\\n */\\n SessionStateControllerTransitionResult[SessionStateControllerTransitionResult[\\\"DeferredTransition\\\"] = 2] = \\\"DeferredTransition\\\";\\n /**\\n * An unexpected error occurred while transitioning to the next state.\\n */\\n SessionStateControllerTransitionResult[SessionStateControllerTransitionResult[\\\"TransitionFailed\\\"] = 3] = \\\"TransitionFailed\\\";\\n})(SessionStateControllerTransitionResult = exports.SessionStateControllerTransitionResult || (exports.SessionStateControllerTransitionResult = {}));\\nexports[\\\"default\\\"] = SessionStateControllerTransitionResult;\\n//# sourceMappingURL=SessionStateControllerTransitionResult.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/sessionstatecontroller/SessionStateControllerTransitionResult.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/signalingclient/DefaultSignalingClient.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/signalingclient/DefaultSignalingClient.js ***!\n \\******************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nconst TimeoutScheduler_1 = __webpack_require__(/*! ../scheduler/TimeoutScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/TimeoutScheduler.js\\\");\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst Utils_1 = __webpack_require__(/*! ../utils/Utils */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Utils.js\\\");\\nconst Versioning_1 = __webpack_require__(/*! ../versioning/Versioning */ \\\"./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js\\\");\\nconst WebSocketReadyState_1 = __webpack_require__(/*! ../websocketadapter/WebSocketReadyState */ \\\"./node_modules/amazon-chime-sdk-js/build/websocketadapter/WebSocketReadyState.js\\\");\\nconst ServerSideNetworkAdaption_1 = __webpack_require__(/*! ./ServerSideNetworkAdaption */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/ServerSideNetworkAdaption.js\\\");\\nconst SignalingClientEvent_1 = __webpack_require__(/*! ./SignalingClientEvent */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEvent.js\\\");\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ./SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\n/**\\n * [[DefaultSignalingClient]] implements the SignalingClient interface.\\n */\\nclass DefaultSignalingClient {\\n constructor(webSocket, logger) {\\n this.webSocket = webSocket;\\n this.logger = logger;\\n this.unloadHandler = null;\\n this.closeEventHandler = (event) => {\\n this.deactivatePageUnloadHandler();\\n this.resetConnection();\\n this.sendEvent(new SignalingClientEvent_1.default(this, SignalingClientEventType_1.default.WebSocketClosed, null, event.code, event.reason));\\n this.serviceConnectionRequestQueue();\\n };\\n this.observerQueue = new Set();\\n this.connectionRequestQueue = [];\\n this.resetConnection();\\n this.logger.debug(() => 'signaling client init');\\n this.audioSessionId = this.generateNewAudioSessionId();\\n }\\n registerObserver(observer) {\\n this.logger.debug(() => 'registering signaling client observer');\\n this.observerQueue.add(observer);\\n }\\n removeObserver(observer) {\\n this.logger.debug(() => 'removing signaling client observer');\\n this.observerQueue.delete(observer);\\n }\\n openConnection(request) {\\n this.logger.info('adding connection request to queue: ' + request.url());\\n this.connectionRequestQueue.push(request);\\n this.closeConnection();\\n }\\n pingPong(pingPongFrame) {\\n this.logger.debug(() => 'sending ping');\\n const message = SignalingProtocol_js_1.SdkSignalFrame.create();\\n message.type = SignalingProtocol_js_1.SdkSignalFrame.Type.PING_PONG;\\n message.pingPong = pingPongFrame;\\n this.sendMessage(message);\\n return message.timestampMs;\\n }\\n join(settings) {\\n this.logger.info('sending join');\\n const joinFrame = SignalingProtocol_js_1.SdkJoinFrame.create();\\n joinFrame.protocolVersion = 2;\\n joinFrame.flags = SignalingProtocol_js_1.SdkJoinFlags.HAS_STREAM_UPDATE;\\n const browserBehavior = new DefaultBrowserBehavior_1.default();\\n const sdkClientDetails = {\\n platformName: browserBehavior.name(),\\n platformVersion: browserBehavior.version(),\\n clientSource: Versioning_1.default.sdkName,\\n chimeSdkVersion: Versioning_1.default.sdkVersion,\\n clientUtcOffset: Utils_1.getFormattedOffset(new Date().getTimezoneOffset()),\\n };\\n if (settings.applicationMetadata) {\\n const { appName, appVersion } = settings.applicationMetadata;\\n sdkClientDetails.appName = appName;\\n sdkClientDetails.appVersion = appVersion;\\n }\\n joinFrame.clientDetails = SignalingProtocol_js_1.SdkClientDetails.create(sdkClientDetails);\\n joinFrame.audioSessionId = this.audioSessionId;\\n joinFrame.wantsCompressedSdp = DefaultSignalingClient.CLIENT_SUPPORTS_COMPRESSION;\\n joinFrame.disablePeriodicKeyframeRequestOnContentSender =\\n settings.disablePeriodicKeyframeRequestOnContentSender;\\n joinFrame.serverSideNetworkAdaption = ServerSideNetworkAdaption_1.convertServerSideNetworkAdaptionEnumToSignaled(settings.serverSideNetworkAdaption);\\n joinFrame.supportedServerSideNetworkAdaptions = settings.supportedServerSideNetworkAdaptions.map(ServerSideNetworkAdaption_1.convertServerSideNetworkAdaptionEnumToSignaled);\\n const message = SignalingProtocol_js_1.SdkSignalFrame.create();\\n message.type = SignalingProtocol_js_1.SdkSignalFrame.Type.JOIN;\\n message.join = joinFrame;\\n this.sendMessage(message);\\n }\\n subscribe(settings) {\\n const subscribeFrame = SignalingProtocol_js_1.SdkSubscribeFrame.create();\\n subscribeFrame.sendStreams = [];\\n subscribeFrame.sdpOffer = settings.sdpOffer;\\n if (settings.connectionTypeHasVideo) {\\n subscribeFrame.receiveStreamIds = settings.receiveStreamIds;\\n }\\n if (settings.audioHost) {\\n subscribeFrame.audioCheckin = settings.audioCheckin;\\n subscribeFrame.audioHost = settings.audioHost;\\n subscribeFrame.audioMuted = settings.audioMuted;\\n if (!settings.audioCheckin) {\\n const audioStream = SignalingProtocol_js_1.SdkStreamDescriptor.create();\\n audioStream.mediaType = SignalingProtocol_js_1.SdkStreamMediaType.AUDIO;\\n audioStream.trackLabel = 'AmazonChimeExpressAudio';\\n audioStream.attendeeId = settings.attendeeId;\\n audioStream.streamId = 1;\\n audioStream.groupId = 1;\\n audioStream.framerate = 15;\\n audioStream.maxBitrateKbps = 600;\\n audioStream.avgBitrateBps = 400000;\\n subscribeFrame.sendStreams.push(audioStream);\\n }\\n }\\n subscribeFrame.compressedSdpOffer = settings.compressedSdpOffer;\\n subscribeFrame.duplex = SignalingProtocol_js_1.SdkStreamServiceType.RX;\\n if (settings.localVideoEnabled) {\\n subscribeFrame.duplex = SignalingProtocol_js_1.SdkStreamServiceType.DUPLEX;\\n for (let i = 0; i < settings.videoStreamDescriptions.length; i++) {\\n // Non-simulcast use DefaultVideoStreamIndex.localStreamDescriptions\\n // which is the exact old behavior\\n const streamDescription = settings.videoStreamDescriptions[i].clone();\\n streamDescription.attendeeId = settings.attendeeId;\\n subscribeFrame.sendStreams.push(streamDescription.toStreamDescriptor());\\n }\\n }\\n if (settings.videoSubscriptionConfiguration.length > 0) {\\n subscribeFrame.videoSubscriptionConfiguration = settings.videoSubscriptionConfiguration.map(this.convertSignalingClientVideoSubscriptionConfiguration);\\n }\\n const message = SignalingProtocol_js_1.SdkSignalFrame.create();\\n message.type = SignalingProtocol_js_1.SdkSignalFrame.Type.SUBSCRIBE;\\n message.sub = subscribeFrame;\\n this.sendMessage(message);\\n }\\n remoteVideoUpdate(addedOrUpdated, removed) {\\n const remoteVideoUpdate = SignalingProtocol_js_1.SdkRemoteVideoUpdateFrame.create();\\n remoteVideoUpdate.addedOrUpdatedVideoSubscriptions = addedOrUpdated.map(this.convertSignalingClientVideoSubscriptionConfiguration);\\n remoteVideoUpdate.removedVideoSubscriptionMids = removed;\\n const message = SignalingProtocol_js_1.SdkSignalFrame.create();\\n message.type = SignalingProtocol_js_1.SdkSignalFrame.Type.REMOTE_VIDEO_UPDATE;\\n message.remoteVideoUpdate = remoteVideoUpdate;\\n this.sendMessage(message);\\n }\\n convertSignalingClientVideoSubscriptionConfiguration(config) {\\n const signalConfig = new SignalingProtocol_js_1.SdkVideoSubscriptionConfiguration();\\n signalConfig.mid = config.mid;\\n signalConfig.attendeeId = config.attendeeId;\\n signalConfig.streamId = config.streamId;\\n signalConfig.groupId = config.groupId;\\n signalConfig.priority = config.priority;\\n signalConfig.targetBitrateKbps = config.targetBitrateKbps;\\n return signalConfig;\\n }\\n leave() {\\n const message = SignalingProtocol_js_1.SdkSignalFrame.create();\\n message.type = SignalingProtocol_js_1.SdkSignalFrame.Type.LEAVE;\\n message.leave = SignalingProtocol_js_1.SdkLeaveFrame.create();\\n this.sendMessage(message);\\n this.logger.debug(() => {\\n return 'sent leave';\\n });\\n }\\n sendClientMetrics(clientMetricFrame) {\\n const message = SignalingProtocol_js_1.SdkSignalFrame.create();\\n message.type = SignalingProtocol_js_1.SdkSignalFrame.Type.CLIENT_METRIC;\\n message.clientMetric = clientMetricFrame;\\n this.sendMessage(message);\\n }\\n sendDataMessage(messageFrame) {\\n const message = SignalingProtocol_js_1.SdkSignalFrame.create();\\n message.type = SignalingProtocol_js_1.SdkSignalFrame.Type.DATA_MESSAGE;\\n message.dataMessage = messageFrame;\\n this.sendMessage(message);\\n }\\n closeConnection() {\\n var _a, _b;\\n if (this.webSocket.readyState() !== WebSocketReadyState_1.default.None &&\\n this.webSocket.readyState() !== WebSocketReadyState_1.default.Closed) {\\n this.isClosing = true;\\n this.sendEvent(new SignalingClientEvent_1.default(this, SignalingClientEventType_1.default.WebSocketClosing, null));\\n // Continue resetting the connection even if SDK does not receive the \\\"close\\\" event.\\n const scheduler = new TimeoutScheduler_1.default(DefaultSignalingClient.CLOSE_EVENT_TIMEOUT_MS);\\n const handler = (event) => {\\n var _a, _b;\\n /* istanbul ignore next */\\n (_b = (_a = this.webSocket).removeEventListener) === null || _b === void 0 ? void 0 : _b.call(_a, 'close', handler);\\n scheduler.stop();\\n this.closeEventHandler(event);\\n };\\n // Remove the existing close handler to prevent SDK from opening a new connection.\\n /* istanbul ignore next */\\n (_b = (_a = this.webSocket).removeEventListener) === null || _b === void 0 ? void 0 : _b.call(_a, 'close', this.closeEventHandler);\\n this.webSocket.addEventListener('close', handler);\\n scheduler.start(() => {\\n // SDK has not received the \\\"close\\\" event on WebSocket for two seconds.\\n // Handle a fake close event with 1006 to indicate that the client abnormally closed the connection.\\n handler(new CloseEvent('close', { wasClean: false, code: 1006, reason: '', bubbles: false }));\\n });\\n this.webSocket.close();\\n this.deactivatePageUnloadHandler();\\n }\\n else {\\n this.logger.info('no existing signaling client connection needs closing');\\n this.serviceConnectionRequestQueue();\\n }\\n }\\n ready() {\\n return (this.webSocket.readyState() === WebSocketReadyState_1.default.Open && !this.isClosing && this.wasOpened);\\n }\\n mute(muted) {\\n const message = SignalingProtocol_js_1.SdkSignalFrame.create();\\n message.type = SignalingProtocol_js_1.SdkSignalFrame.Type.AUDIO_CONTROL;\\n const audioControl = SignalingProtocol_js_1.SdkAudioControlFrame.create();\\n audioControl.muted = muted;\\n message.audioControl = audioControl;\\n this.sendMessage(message);\\n }\\n pause(streamIds) {\\n const message = SignalingProtocol_js_1.SdkSignalFrame.create();\\n message.type = SignalingProtocol_js_1.SdkSignalFrame.Type.PAUSE;\\n message.pause = SignalingProtocol_js_1.SdkPauseResumeFrame.create();\\n message.pause.streamIds = streamIds;\\n this.sendMessage(message);\\n }\\n resume(streamIds) {\\n const message = SignalingProtocol_js_1.SdkSignalFrame.create();\\n message.type = SignalingProtocol_js_1.SdkSignalFrame.Type.RESUME;\\n message.pause = SignalingProtocol_js_1.SdkPauseResumeFrame.create();\\n message.pause.streamIds = streamIds;\\n this.sendMessage(message);\\n }\\n resetConnection() {\\n this.webSocket.destroy();\\n this.wasOpened = false;\\n }\\n sendMessage(message) {\\n message.timestampMs = Date.now();\\n this.logger.debug(() => `sending: ${JSON.stringify(message)}`);\\n const buffer = this.prependWithFrameTypeRTC(SignalingProtocol_js_1.SdkSignalFrame.encode(message).finish());\\n if (this.ready()) {\\n if (!this.webSocket.send(buffer)) {\\n this.sendEvent(new SignalingClientEvent_1.default(this, SignalingClientEventType_1.default.WebSocketSendMessageFailure, null));\\n return;\\n }\\n this.sendEvent(new SignalingClientEvent_1.default(this, SignalingClientEventType_1.default.WebSocketSentMessage, null));\\n }\\n else {\\n this.sendEvent(new SignalingClientEvent_1.default(this, SignalingClientEventType_1.default.WebSocketSkippedMessage, null));\\n }\\n }\\n receiveMessage(inBuffer) {\\n let message;\\n try {\\n message = SignalingProtocol_js_1.SdkSignalFrame.decode(inBuffer);\\n }\\n catch (e) {\\n this.logger.info(`failed to decode: ${inBuffer}`);\\n this.sendEvent(new SignalingClientEvent_1.default(this, SignalingClientEventType_1.default.ProtocolDecodeFailure, null));\\n return;\\n }\\n this.logger.debug(() => `received: ${JSON.stringify(message)}`);\\n if (this.webSocket.readyState() === WebSocketReadyState_1.default.Open) {\\n this.sendEvent(new SignalingClientEvent_1.default(this, SignalingClientEventType_1.default.ReceivedSignalFrame, message));\\n }\\n else {\\n this.logger.info(`skipping notification of message since WebSocket is not open: ${JSON.stringify(message)}`);\\n }\\n }\\n stripFrameTypeRTC(inBuffer) {\\n const frameType = inBuffer[0];\\n // TODO: change server frame type to send 0x05\\n if (frameType !== DefaultSignalingClient.FRAME_TYPE_RTC && frameType !== 0x02) {\\n this.logger.warn(`expected FrameTypeRTC for message but got ${frameType}`);\\n }\\n return inBuffer.slice(1);\\n }\\n prependWithFrameTypeRTC(inBuffer) {\\n const outBuffer = new Uint8Array(inBuffer.length + 1);\\n outBuffer[0] = DefaultSignalingClient.FRAME_TYPE_RTC;\\n outBuffer.set(inBuffer, 1);\\n return outBuffer;\\n }\\n serviceConnectionRequestQueue() {\\n if (this.connectionRequestQueue.length === 0) {\\n this.logger.info('no connection requests to service');\\n return;\\n }\\n const request = this.connectionRequestQueue.shift();\\n this.logger.info(`opening connection to ${request.url()}`);\\n this.isClosing = false;\\n this.webSocket.create(request.url(), request.protocols());\\n this.setUpEventListeners();\\n this.sendEvent(new SignalingClientEvent_1.default(this, SignalingClientEventType_1.default.WebSocketConnecting, null));\\n }\\n sendEvent(event) {\\n switch (event.type) {\\n case SignalingClientEventType_1.default.WebSocketMessage:\\n case SignalingClientEventType_1.default.ReceivedSignalFrame:\\n case SignalingClientEventType_1.default.WebSocketSentMessage:\\n this.logger.debug(() => `notifying event: ${SignalingClientEventType_1.default[event.type]}`);\\n break;\\n case SignalingClientEventType_1.default.WebSocketSkippedMessage:\\n this.logger.debug(() => `notifying event: ${SignalingClientEventType_1.default[event.type]}, websocket state=${WebSocketReadyState_1.default[this.webSocket.readyState()]}`);\\n break;\\n default:\\n this.logger.info(`notifying event: ${SignalingClientEventType_1.default[event.type]}`);\\n break;\\n }\\n for (const observer of this.observerQueue) {\\n observer.handleSignalingClientEvent(event);\\n }\\n }\\n setUpEventListeners() {\\n this.webSocket.addEventListener('open', () => {\\n this.activatePageUnloadHandler();\\n this.wasOpened = true;\\n this.sendEvent(new SignalingClientEvent_1.default(this, SignalingClientEventType_1.default.WebSocketOpen, null));\\n });\\n this.webSocket.addEventListener('message', (event) => {\\n this.sendEvent(new SignalingClientEvent_1.default(this, SignalingClientEventType_1.default.WebSocketMessage, null));\\n this.receiveMessage(this.stripFrameTypeRTC(new Uint8Array(event.data)));\\n });\\n this.webSocket.addEventListener('close', this.closeEventHandler);\\n this.webSocket.addEventListener('error', () => {\\n if (this.isClosing && !this.wasOpened) {\\n this.logger.info('ignoring error closing signaling while connecting');\\n return;\\n }\\n if (this.wasOpened) {\\n this.logger.error('received error while connected');\\n this.sendEvent(new SignalingClientEvent_1.default(this, SignalingClientEventType_1.default.WebSocketError, null));\\n }\\n else {\\n this.logger.error('failed to connect');\\n this.sendEvent(new SignalingClientEvent_1.default(this, SignalingClientEventType_1.default.WebSocketFailed, null));\\n }\\n });\\n }\\n activatePageUnloadHandler() {\\n this.unloadHandler = () => {\\n this.leave();\\n };\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n const GlobalAny = __webpack_require__.g;\\n GlobalAny['window'] &&\\n GlobalAny['window']['addEventListener'] &&\\n window.addEventListener('unload', this.unloadHandler);\\n }\\n deactivatePageUnloadHandler() {\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n const GlobalAny = __webpack_require__.g;\\n GlobalAny['window'] &&\\n GlobalAny['window']['removeEventListener'] &&\\n window.removeEventListener('unload', this.unloadHandler);\\n this.unloadHandler = null;\\n }\\n generateNewAudioSessionId() {\\n const num = new Uint32Array(1);\\n const randomNum = window.crypto.getRandomValues(num);\\n return randomNum[0];\\n }\\n promoteToPrimaryMeeting(credentials) {\\n const signaledCredentials = SignalingProtocol_js_1.SdkMeetingSessionCredentials.create();\\n signaledCredentials.attendeeId = credentials.attendeeId;\\n signaledCredentials.externalUserId = credentials.externalUserId;\\n signaledCredentials.joinToken = credentials.joinToken;\\n const primaryMeetingJoin = SignalingProtocol_js_1.SdkPrimaryMeetingJoinFrame.create();\\n primaryMeetingJoin.credentials = signaledCredentials;\\n const message = SignalingProtocol_js_1.SdkSignalFrame.create();\\n message.type = SignalingProtocol_js_1.SdkSignalFrame.Type.PRIMARY_MEETING_JOIN;\\n message.primaryMeetingJoin = primaryMeetingJoin;\\n this.sendMessage(message);\\n }\\n demoteFromPrimaryMeeting() {\\n const primaryMeetingLeave = SignalingProtocol_js_1.SdkPrimaryMeetingLeaveFrame.create();\\n const message = SignalingProtocol_js_1.SdkSignalFrame.create();\\n message.type = SignalingProtocol_js_1.SdkSignalFrame.Type.PRIMARY_MEETING_LEAVE;\\n message.primaryMeetingLeave = primaryMeetingLeave;\\n this.sendMessage(message);\\n }\\n}\\nexports[\\\"default\\\"] = DefaultSignalingClient;\\nDefaultSignalingClient.FRAME_TYPE_RTC = 0x5;\\nDefaultSignalingClient.CLOSE_EVENT_TIMEOUT_MS = 2000;\\nDefaultSignalingClient.CLIENT_SUPPORTS_COMPRESSION = true;\\n//# sourceMappingURL=DefaultSignalingClient.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/signalingclient/DefaultSignalingClient.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/signalingclient/ServerSideNetworkAdaption.js\":\n/*!*********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/signalingclient/ServerSideNetworkAdaption.js ***!\n \\*********************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.convertServerSideNetworkAdaptionEnumToSignaled = exports.convertServerSideNetworkAdaptionEnumFromSignaled = exports.serverSideNetworkAdaptionIsNoneOrDefault = exports.ServerSideNetworkAdaption = void 0;\\nconst SignalingProtocol_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\n/**\\n * [[ServerSideNetworkAdaption]] represents additional server side features that can be enabled for network adaption.\\n */\\nvar ServerSideNetworkAdaption;\\n(function (ServerSideNetworkAdaption) {\\n /**\\n * No features enabled, but can be overriden from server side values.\\n */\\n ServerSideNetworkAdaption[ServerSideNetworkAdaption[\\\"Default\\\"] = 0] = \\\"Default\\\";\\n /**\\n * No features enabled. Will not be override from server side choice.\\n */\\n ServerSideNetworkAdaption[ServerSideNetworkAdaption[\\\"None\\\"] = 1] = \\\"None\\\";\\n /**\\n * Note: This value is deprecated and will be mapped to 'BandwidthProbingAndRemoteVideoQualityAdaption'\\n * in a later release.\\n *\\n * Disable the existing client side bandwidth probing methods of waiting and unpausing,\\n * or waiting and upgrading simulcast streams (which can be large increases of bitrates\\n * and may lead to periodic oversubscription over network capacity\\n * and resulting video freezes) and replace it with more gradual server\\n * side probing of increasing amounts padding packets until the\\n * bandwidth estimate safely reaches the value needed to resume the\\n * next video source, or upgrade to the next higher simulcast stream.\\n *\\n * When this is enabled, any policy 'probing' for bandwidth headroom\\n * should be disabled. This may also enable pacing of some media packets from the server\\n * side, and may also enable packet burst probing.\\n *\\n * End users should overall see reduced video freezes, reduced broken audio,\\n * and reduced packet loss.\\n */\\n ServerSideNetworkAdaption[ServerSideNetworkAdaption[\\\"BandwidthProbing\\\"] = 2] = \\\"BandwidthProbing\\\";\\n /**\\n * Disable internal policy behavior and proxy priorities to server to automatically\\n * switch, pause, or resume streams based on server calculated network constraints. This will\\n * significantly improve response times when network constraints occur. This will also support the\\n * features covered in `BandwidthProbing` though possibly with different implementation details.\\n *\\n * End users should overall see reduced video freezes, reduced broken audio, and reduced packet loss.\\n * The value impacts response to network events and may lead to remote video pauses/downgrades\\n * that did not occur before.\\n */\\n ServerSideNetworkAdaption[ServerSideNetworkAdaption[\\\"BandwidthProbingAndRemoteVideoQualityAdaption\\\"] = 3] = \\\"BandwidthProbingAndRemoteVideoQualityAdaption\\\";\\n})(ServerSideNetworkAdaption = exports.ServerSideNetworkAdaption || (exports.ServerSideNetworkAdaption = {}));\\nexports[\\\"default\\\"] = ServerSideNetworkAdaption;\\nfunction serverSideNetworkAdaptionIsNoneOrDefault(adaption) {\\n return (adaption === ServerSideNetworkAdaption.None || adaption === ServerSideNetworkAdaption.Default);\\n}\\nexports.serverSideNetworkAdaptionIsNoneOrDefault = serverSideNetworkAdaptionIsNoneOrDefault;\\nfunction convertServerSideNetworkAdaptionEnumFromSignaled(adaption) {\\n switch (adaption) {\\n case SignalingProtocol_1.SdkServerSideNetworkAdaption.DEFAULT:\\n return ServerSideNetworkAdaption.Default;\\n case SignalingProtocol_1.SdkServerSideNetworkAdaption.NONE:\\n return ServerSideNetworkAdaption.None;\\n case SignalingProtocol_1.SdkServerSideNetworkAdaption.BANDWIDTH_PROBING:\\n return ServerSideNetworkAdaption.BandwidthProbing;\\n case SignalingProtocol_1.SdkServerSideNetworkAdaption.BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION:\\n return ServerSideNetworkAdaption.BandwidthProbingAndRemoteVideoQualityAdaption;\\n }\\n}\\nexports.convertServerSideNetworkAdaptionEnumFromSignaled = convertServerSideNetworkAdaptionEnumFromSignaled;\\nfunction convertServerSideNetworkAdaptionEnumToSignaled(adaption) {\\n switch (adaption) {\\n case ServerSideNetworkAdaption.Default:\\n return SignalingProtocol_1.SdkServerSideNetworkAdaption.DEFAULT;\\n case ServerSideNetworkAdaption.None:\\n return SignalingProtocol_1.SdkServerSideNetworkAdaption.NONE;\\n case ServerSideNetworkAdaption.BandwidthProbing:\\n return SignalingProtocol_1.SdkServerSideNetworkAdaption.BANDWIDTH_PROBING;\\n case ServerSideNetworkAdaption.BandwidthProbingAndRemoteVideoQualityAdaption:\\n return SignalingProtocol_1.SdkServerSideNetworkAdaption.BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION;\\n }\\n}\\nexports.convertServerSideNetworkAdaptionEnumToSignaled = convertServerSideNetworkAdaptionEnumToSignaled;\\n//# sourceMappingURL=ServerSideNetworkAdaption.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/signalingclient/ServerSideNetworkAdaption.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientConnectionRequest.js\":\n/*!****************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientConnectionRequest.js ***!\n \\****************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/*\\n * [[SignalingClientConnectionRequest]] represents an connection request.\\n */\\nclass SignalingClientConnectionRequest {\\n /** Creates a request with the given URL, conference id, and join token.\\n *\\n * @param signalingURL The URL of the signaling proxy.\\n * @param joinToken The join token that will authenticate the connection.\\n */\\n constructor(signalingURL, joinToken) {\\n this.signalingURL = signalingURL;\\n this.joinToken = joinToken;\\n }\\n /** Gets the signaling URL representing this request.*/\\n url() {\\n return (this.signalingURL + '?X-Chime-Control-Protocol-Version=3&X-Amzn-Chime-Send-Close-On-Error=1');\\n }\\n /** Gets the protocols associated with this request.*/\\n protocols() {\\n return ['_aws_wt_session', this.joinToken];\\n }\\n}\\nexports[\\\"default\\\"] = SignalingClientConnectionRequest;\\n//# sourceMappingURL=SignalingClientConnectionRequest.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientConnectionRequest.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEvent.js\":\n/*!****************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEvent.js ***!\n \\****************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ./SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\n/*\\n * [[SignalingClientEvent]] stores an event that can be sent to observers of the SignalingClient.\\n */\\nclass SignalingClientEvent {\\n /** Initializes a SignalingClientEvent with the given SignalingClientEventType.\\n *\\n * @param client Indicates the SignalingClient associated with the event.\\n * @param type Indicates the kind of event.\\n * @param message SdkSignalFrame if type is ReceivedSignalFrame\\n */\\n constructor(client, type, message, closeCode, closeReason) {\\n this.client = client;\\n this.type = type;\\n this.message = message;\\n this.closeCode = closeCode;\\n this.closeReason = closeReason;\\n this.timestampMs = Date.now();\\n }\\n isConnectionTerminated() {\\n switch (this.type) {\\n case SignalingClientEventType_1.default.WebSocketFailed:\\n case SignalingClientEventType_1.default.WebSocketError:\\n case SignalingClientEventType_1.default.WebSocketClosing:\\n case SignalingClientEventType_1.default.WebSocketClosed:\\n return true;\\n default:\\n return false;\\n }\\n }\\n}\\nexports[\\\"default\\\"] = SignalingClientEvent;\\n//# sourceMappingURL=SignalingClientEvent.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEvent.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\":\n/*!********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js ***!\n \\********************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.SignalingClientEventType = void 0;\\n/** Defines the event types generated by SignalingClient and the underlying WebSocket connection. */\\nvar SignalingClientEventType;\\n(function (SignalingClientEventType) {\\n SignalingClientEventType[SignalingClientEventType[\\\"WebSocketConnecting\\\"] = 0] = \\\"WebSocketConnecting\\\";\\n SignalingClientEventType[SignalingClientEventType[\\\"WebSocketOpen\\\"] = 1] = \\\"WebSocketOpen\\\";\\n SignalingClientEventType[SignalingClientEventType[\\\"WebSocketError\\\"] = 2] = \\\"WebSocketError\\\";\\n SignalingClientEventType[SignalingClientEventType[\\\"WebSocketClosing\\\"] = 3] = \\\"WebSocketClosing\\\";\\n SignalingClientEventType[SignalingClientEventType[\\\"WebSocketClosed\\\"] = 4] = \\\"WebSocketClosed\\\";\\n SignalingClientEventType[SignalingClientEventType[\\\"WebSocketFailed\\\"] = 5] = \\\"WebSocketFailed\\\";\\n SignalingClientEventType[SignalingClientEventType[\\\"WebSocketMessage\\\"] = 6] = \\\"WebSocketMessage\\\";\\n SignalingClientEventType[SignalingClientEventType[\\\"WebSocketSendMessageFailure\\\"] = 7] = \\\"WebSocketSendMessageFailure\\\";\\n SignalingClientEventType[SignalingClientEventType[\\\"WebSocketSentMessage\\\"] = 8] = \\\"WebSocketSentMessage\\\";\\n SignalingClientEventType[SignalingClientEventType[\\\"ProtocolDecodeFailure\\\"] = 9] = \\\"ProtocolDecodeFailure\\\";\\n SignalingClientEventType[SignalingClientEventType[\\\"ReceivedSignalFrame\\\"] = 10] = \\\"ReceivedSignalFrame\\\";\\n SignalingClientEventType[SignalingClientEventType[\\\"WebSocketSkippedMessage\\\"] = 11] = \\\"WebSocketSkippedMessage\\\";\\n})(SignalingClientEventType = exports.SignalingClientEventType || (exports.SignalingClientEventType = {}));\\nexports[\\\"default\\\"] = SignalingClientEventType;\\n//# sourceMappingURL=SignalingClientEventType.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientJoin.js\":\n/*!***************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientJoin.js ***!\n \\***************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst ServerSideNetworkAdaption_1 = __webpack_require__(/*! ./ServerSideNetworkAdaption */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/ServerSideNetworkAdaption.js\\\");\\n/**\\n * [[SignalingClientJoin]] contains settings for the Join SignalFrame.\\n */\\nclass SignalingClientJoin {\\n /**\\n * Initializes a SignalingClientJoin with the given properties.\\n * @param applicationMetadata [[ApplicationMetadata]].\\n */\\n constructor(applicationMetadata) {\\n this.applicationMetadata = applicationMetadata;\\n this.serverSideNetworkAdaption = ServerSideNetworkAdaption_1.default.Default;\\n this.supportedServerSideNetworkAdaptions = [];\\n this.disablePeriodicKeyframeRequestOnContentSender = false;\\n }\\n}\\nexports[\\\"default\\\"] = SignalingClientJoin;\\n//# sourceMappingURL=SignalingClientJoin.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientJoin.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientSubscribe.js\":\n/*!********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientSubscribe.js ***!\n \\********************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[SignalingClientSubscribe]] contains settings for the Subscribe SignalFrame.\\n */\\nclass SignalingClientSubscribe {\\n /** Initializes a SignalingClientSubscribe with the given properties.\\n *\\n * @param attendeeId Attendee ID of the client\\n * @param sdpOffer SDP offer created by WebRTC\\n * @param audioHost host\\n * @param audioMuted Whether audio from client is muted\\n * @param audioCheckin Whether audio is in checked-in state\\n * @param receiveStreamIds Which video streams to receive\\n * @param localVideoEnabled Whether to send a video stream for the local camera\\n * @param array of local video stream description\\n * @param connectionTypeHasVideo Whether connection type has video\\n * @param compressedSdpOffer Compressed version of the SDP offer which was created by WebRTC\\n */\\n constructor(attendeeId, sdpOffer, audioHost, audioMuted, audioCheckin, receiveStreamIds, localVideoEnabled, videoStreamDescriptions, connectionTypeHasVideo, compressedSdpOffer) {\\n this.attendeeId = attendeeId;\\n this.sdpOffer = sdpOffer;\\n this.audioHost = audioHost;\\n this.audioMuted = audioMuted;\\n this.audioCheckin = audioCheckin;\\n this.receiveStreamIds = receiveStreamIds;\\n this.localVideoEnabled = localVideoEnabled;\\n this.videoStreamDescriptions = videoStreamDescriptions;\\n this.connectionTypeHasVideo = connectionTypeHasVideo;\\n this.compressedSdpOffer = compressedSdpOffer;\\n this.videoSubscriptionConfiguration = [];\\n }\\n}\\nexports[\\\"default\\\"] = SignalingClientSubscribe;\\n//# sourceMappingURL=SignalingClientSubscribe.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientSubscribe.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientVideoSubscriptionConfiguration.js\":\n/*!*****************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientVideoSubscriptionConfiguration.js ***!\n \\*****************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[SignalingClientVideoSubscriptionConfiguration]] is an internal representation of\\n * `SignalingProtocol.videoSubscriptionConfiguration`\\n */\\nclass SignalingClientVideoSubscriptionConfiguration {\\n equals(other) {\\n return (other !== undefined &&\\n this.mid === other.mid &&\\n this.attendeeId === other.attendeeId &&\\n this.streamId === other.streamId &&\\n this.groupId === other.groupId &&\\n this.priority === other.priority &&\\n this.targetBitrateKbps === other.targetBitrateKbps);\\n }\\n}\\nexports[\\\"default\\\"] = SignalingClientVideoSubscriptionConfiguration;\\n//# sourceMappingURL=SignalingClientVideoSubscriptionConfiguration.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientVideoSubscriptionConfiguration.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\":\n/*!***************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js ***!\n \\***************************************************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/\\n\\n\\nvar $protobuf = __webpack_require__(/*! protobufjs/minimal */ \\\"./node_modules/protobufjs/minimal.js\\\");\\n\\n// Common aliases\\nvar $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;\\n\\n// Exported root namespace\\nvar $root = $protobuf.roots[\\\"default\\\"] || ($protobuf.roots[\\\"default\\\"] = {});\\n\\n$root.SdkSignalFrame = (function() {\\n\\n /**\\n * Properties of a SdkSignalFrame.\\n * @exports ISdkSignalFrame\\n * @interface ISdkSignalFrame\\n * @property {number|Long} timestampMs SdkSignalFrame timestampMs\\n * @property {SdkSignalFrame.Type} type SdkSignalFrame type\\n * @property {ISdkErrorFrame|null} [error] SdkSignalFrame error\\n * @property {ISdkJoinFrame|null} [join] SdkSignalFrame join\\n * @property {ISdkJoinAckFrame|null} [joinack] SdkSignalFrame joinack\\n * @property {ISdkSubscribeFrame|null} [sub] SdkSignalFrame sub\\n * @property {ISdkSubscribeAckFrame|null} [suback] SdkSignalFrame suback\\n * @property {ISdkIndexFrame|null} [index] SdkSignalFrame index\\n * @property {ISdkPauseResumeFrame|null} [pause] SdkSignalFrame pause\\n * @property {ISdkLeaveFrame|null} [leave] SdkSignalFrame leave\\n * @property {ISdkLeaveAckFrame|null} [leaveAck] SdkSignalFrame leaveAck\\n * @property {ISdkBitrateFrame|null} [bitrates] SdkSignalFrame bitrates\\n * @property {ISdkAudioControlFrame|null} [audioControl] SdkSignalFrame audioControl\\n * @property {ISdkAudioMetadataFrame|null} [audioMetadata] SdkSignalFrame audioMetadata\\n * @property {ISdkAudioStreamIdInfoFrame|null} [audioStreamIdInfo] SdkSignalFrame audioStreamIdInfo\\n * @property {ISdkPingPongFrame|null} [pingPong] SdkSignalFrame pingPong\\n * @property {ISdkAudioStatusFrame|null} [audioStatus] SdkSignalFrame audioStatus\\n * @property {ISdkClientMetricFrame|null} [clientMetric] SdkSignalFrame clientMetric\\n * @property {ISdkDataMessageFrame|null} [dataMessage] SdkSignalFrame dataMessage\\n * @property {ISdkRemoteVideoUpdateFrame|null} [remoteVideoUpdate] SdkSignalFrame remoteVideoUpdate\\n * @property {ISdkPrimaryMeetingJoinFrame|null} [primaryMeetingJoin] SdkSignalFrame primaryMeetingJoin\\n * @property {ISdkPrimaryMeetingJoinAckFrame|null} [primaryMeetingJoinAck] SdkSignalFrame primaryMeetingJoinAck\\n * @property {ISdkPrimaryMeetingLeaveFrame|null} [primaryMeetingLeave] SdkSignalFrame primaryMeetingLeave\\n */\\n\\n /**\\n * Constructs a new SdkSignalFrame.\\n * @exports SdkSignalFrame\\n * @classdesc Represents a SdkSignalFrame.\\n * @implements ISdkSignalFrame\\n * @constructor\\n * @param {ISdkSignalFrame=} [properties] Properties to set\\n */\\n function SdkSignalFrame(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkSignalFrame timestampMs.\\n * @member {number|Long} timestampMs\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.timestampMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0;\\n\\n /**\\n * SdkSignalFrame type.\\n * @member {SdkSignalFrame.Type} type\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.type = 1;\\n\\n /**\\n * SdkSignalFrame error.\\n * @member {ISdkErrorFrame|null|undefined} error\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.error = null;\\n\\n /**\\n * SdkSignalFrame join.\\n * @member {ISdkJoinFrame|null|undefined} join\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.join = null;\\n\\n /**\\n * SdkSignalFrame joinack.\\n * @member {ISdkJoinAckFrame|null|undefined} joinack\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.joinack = null;\\n\\n /**\\n * SdkSignalFrame sub.\\n * @member {ISdkSubscribeFrame|null|undefined} sub\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.sub = null;\\n\\n /**\\n * SdkSignalFrame suback.\\n * @member {ISdkSubscribeAckFrame|null|undefined} suback\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.suback = null;\\n\\n /**\\n * SdkSignalFrame index.\\n * @member {ISdkIndexFrame|null|undefined} index\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.index = null;\\n\\n /**\\n * SdkSignalFrame pause.\\n * @member {ISdkPauseResumeFrame|null|undefined} pause\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.pause = null;\\n\\n /**\\n * SdkSignalFrame leave.\\n * @member {ISdkLeaveFrame|null|undefined} leave\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.leave = null;\\n\\n /**\\n * SdkSignalFrame leaveAck.\\n * @member {ISdkLeaveAckFrame|null|undefined} leaveAck\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.leaveAck = null;\\n\\n /**\\n * SdkSignalFrame bitrates.\\n * @member {ISdkBitrateFrame|null|undefined} bitrates\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.bitrates = null;\\n\\n /**\\n * SdkSignalFrame audioControl.\\n * @member {ISdkAudioControlFrame|null|undefined} audioControl\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.audioControl = null;\\n\\n /**\\n * SdkSignalFrame audioMetadata.\\n * @member {ISdkAudioMetadataFrame|null|undefined} audioMetadata\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.audioMetadata = null;\\n\\n /**\\n * SdkSignalFrame audioStreamIdInfo.\\n * @member {ISdkAudioStreamIdInfoFrame|null|undefined} audioStreamIdInfo\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.audioStreamIdInfo = null;\\n\\n /**\\n * SdkSignalFrame pingPong.\\n * @member {ISdkPingPongFrame|null|undefined} pingPong\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.pingPong = null;\\n\\n /**\\n * SdkSignalFrame audioStatus.\\n * @member {ISdkAudioStatusFrame|null|undefined} audioStatus\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.audioStatus = null;\\n\\n /**\\n * SdkSignalFrame clientMetric.\\n * @member {ISdkClientMetricFrame|null|undefined} clientMetric\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.clientMetric = null;\\n\\n /**\\n * SdkSignalFrame dataMessage.\\n * @member {ISdkDataMessageFrame|null|undefined} dataMessage\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.dataMessage = null;\\n\\n /**\\n * SdkSignalFrame remoteVideoUpdate.\\n * @member {ISdkRemoteVideoUpdateFrame|null|undefined} remoteVideoUpdate\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.remoteVideoUpdate = null;\\n\\n /**\\n * SdkSignalFrame primaryMeetingJoin.\\n * @member {ISdkPrimaryMeetingJoinFrame|null|undefined} primaryMeetingJoin\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.primaryMeetingJoin = null;\\n\\n /**\\n * SdkSignalFrame primaryMeetingJoinAck.\\n * @member {ISdkPrimaryMeetingJoinAckFrame|null|undefined} primaryMeetingJoinAck\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.primaryMeetingJoinAck = null;\\n\\n /**\\n * SdkSignalFrame primaryMeetingLeave.\\n * @member {ISdkPrimaryMeetingLeaveFrame|null|undefined} primaryMeetingLeave\\n * @memberof SdkSignalFrame\\n * @instance\\n */\\n SdkSignalFrame.prototype.primaryMeetingLeave = null;\\n\\n /**\\n * Creates a new SdkSignalFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkSignalFrame\\n * @static\\n * @param {ISdkSignalFrame=} [properties] Properties to set\\n * @returns {SdkSignalFrame} SdkSignalFrame instance\\n */\\n SdkSignalFrame.create = function create(properties) {\\n return new SdkSignalFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkSignalFrame message. Does not implicitly {@link SdkSignalFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkSignalFrame\\n * @static\\n * @param {ISdkSignalFrame} message SdkSignalFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkSignalFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.timestampMs);\\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.type);\\n if (message.error != null && Object.hasOwnProperty.call(message, \\\"error\\\"))\\n $root.SdkErrorFrame.encode(message.error, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\\n if (message.join != null && Object.hasOwnProperty.call(message, \\\"join\\\"))\\n $root.SdkJoinFrame.encode(message.join, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();\\n if (message.joinack != null && Object.hasOwnProperty.call(message, \\\"joinack\\\"))\\n $root.SdkJoinAckFrame.encode(message.joinack, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();\\n if (message.sub != null && Object.hasOwnProperty.call(message, \\\"sub\\\"))\\n $root.SdkSubscribeFrame.encode(message.sub, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();\\n if (message.suback != null && Object.hasOwnProperty.call(message, \\\"suback\\\"))\\n $root.SdkSubscribeAckFrame.encode(message.suback, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();\\n if (message.index != null && Object.hasOwnProperty.call(message, \\\"index\\\"))\\n $root.SdkIndexFrame.encode(message.index, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();\\n if (message.pause != null && Object.hasOwnProperty.call(message, \\\"pause\\\"))\\n $root.SdkPauseResumeFrame.encode(message.pause, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();\\n if (message.leave != null && Object.hasOwnProperty.call(message, \\\"leave\\\"))\\n $root.SdkLeaveFrame.encode(message.leave, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();\\n if (message.leaveAck != null && Object.hasOwnProperty.call(message, \\\"leaveAck\\\"))\\n $root.SdkLeaveAckFrame.encode(message.leaveAck, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();\\n if (message.bitrates != null && Object.hasOwnProperty.call(message, \\\"bitrates\\\"))\\n $root.SdkBitrateFrame.encode(message.bitrates, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim();\\n if (message.audioControl != null && Object.hasOwnProperty.call(message, \\\"audioControl\\\"))\\n $root.SdkAudioControlFrame.encode(message.audioControl, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim();\\n if (message.audioMetadata != null && Object.hasOwnProperty.call(message, \\\"audioMetadata\\\"))\\n $root.SdkAudioMetadataFrame.encode(message.audioMetadata, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim();\\n if (message.audioStreamIdInfo != null && Object.hasOwnProperty.call(message, \\\"audioStreamIdInfo\\\"))\\n $root.SdkAudioStreamIdInfoFrame.encode(message.audioStreamIdInfo, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim();\\n if (message.pingPong != null && Object.hasOwnProperty.call(message, \\\"pingPong\\\"))\\n $root.SdkPingPongFrame.encode(message.pingPong, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim();\\n if (message.audioStatus != null && Object.hasOwnProperty.call(message, \\\"audioStatus\\\"))\\n $root.SdkAudioStatusFrame.encode(message.audioStatus, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();\\n if (message.clientMetric != null && Object.hasOwnProperty.call(message, \\\"clientMetric\\\"))\\n $root.SdkClientMetricFrame.encode(message.clientMetric, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim();\\n if (message.dataMessage != null && Object.hasOwnProperty.call(message, \\\"dataMessage\\\"))\\n $root.SdkDataMessageFrame.encode(message.dataMessage, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim();\\n if (message.remoteVideoUpdate != null && Object.hasOwnProperty.call(message, \\\"remoteVideoUpdate\\\"))\\n $root.SdkRemoteVideoUpdateFrame.encode(message.remoteVideoUpdate, writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim();\\n if (message.primaryMeetingJoin != null && Object.hasOwnProperty.call(message, \\\"primaryMeetingJoin\\\"))\\n $root.SdkPrimaryMeetingJoinFrame.encode(message.primaryMeetingJoin, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim();\\n if (message.primaryMeetingJoinAck != null && Object.hasOwnProperty.call(message, \\\"primaryMeetingJoinAck\\\"))\\n $root.SdkPrimaryMeetingJoinAckFrame.encode(message.primaryMeetingJoinAck, writer.uint32(/* id 27, wireType 2 =*/218).fork()).ldelim();\\n if (message.primaryMeetingLeave != null && Object.hasOwnProperty.call(message, \\\"primaryMeetingLeave\\\"))\\n $root.SdkPrimaryMeetingLeaveFrame.encode(message.primaryMeetingLeave, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkSignalFrame message, length delimited. Does not implicitly {@link SdkSignalFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkSignalFrame\\n * @static\\n * @param {ISdkSignalFrame} message SdkSignalFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkSignalFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkSignalFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkSignalFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkSignalFrame} SdkSignalFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkSignalFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkSignalFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.timestampMs = reader.uint64();\\n break;\\n case 2:\\n message.type = reader.int32();\\n break;\\n case 3:\\n message.error = $root.SdkErrorFrame.decode(reader, reader.uint32());\\n break;\\n case 4:\\n message.join = $root.SdkJoinFrame.decode(reader, reader.uint32());\\n break;\\n case 5:\\n message.joinack = $root.SdkJoinAckFrame.decode(reader, reader.uint32());\\n break;\\n case 6:\\n message.sub = $root.SdkSubscribeFrame.decode(reader, reader.uint32());\\n break;\\n case 7:\\n message.suback = $root.SdkSubscribeAckFrame.decode(reader, reader.uint32());\\n break;\\n case 8:\\n message.index = $root.SdkIndexFrame.decode(reader, reader.uint32());\\n break;\\n case 10:\\n message.pause = $root.SdkPauseResumeFrame.decode(reader, reader.uint32());\\n break;\\n case 11:\\n message.leave = $root.SdkLeaveFrame.decode(reader, reader.uint32());\\n break;\\n case 12:\\n message.leaveAck = $root.SdkLeaveAckFrame.decode(reader, reader.uint32());\\n break;\\n case 14:\\n message.bitrates = $root.SdkBitrateFrame.decode(reader, reader.uint32());\\n break;\\n case 17:\\n message.audioControl = $root.SdkAudioControlFrame.decode(reader, reader.uint32());\\n break;\\n case 18:\\n message.audioMetadata = $root.SdkAudioMetadataFrame.decode(reader, reader.uint32());\\n break;\\n case 19:\\n message.audioStreamIdInfo = $root.SdkAudioStreamIdInfoFrame.decode(reader, reader.uint32());\\n break;\\n case 20:\\n message.pingPong = $root.SdkPingPongFrame.decode(reader, reader.uint32());\\n break;\\n case 21:\\n message.audioStatus = $root.SdkAudioStatusFrame.decode(reader, reader.uint32());\\n break;\\n case 22:\\n message.clientMetric = $root.SdkClientMetricFrame.decode(reader, reader.uint32());\\n break;\\n case 23:\\n message.dataMessage = $root.SdkDataMessageFrame.decode(reader, reader.uint32());\\n break;\\n case 25:\\n message.remoteVideoUpdate = $root.SdkRemoteVideoUpdateFrame.decode(reader, reader.uint32());\\n break;\\n case 26:\\n message.primaryMeetingJoin = $root.SdkPrimaryMeetingJoinFrame.decode(reader, reader.uint32());\\n break;\\n case 27:\\n message.primaryMeetingJoinAck = $root.SdkPrimaryMeetingJoinAckFrame.decode(reader, reader.uint32());\\n break;\\n case 28:\\n message.primaryMeetingLeave = $root.SdkPrimaryMeetingLeaveFrame.decode(reader, reader.uint32());\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n if (!message.hasOwnProperty(\\\"timestampMs\\\"))\\n throw $util.ProtocolError(\\\"missing required 'timestampMs'\\\", { instance: message });\\n if (!message.hasOwnProperty(\\\"type\\\"))\\n throw $util.ProtocolError(\\\"missing required 'type'\\\", { instance: message });\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkSignalFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkSignalFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkSignalFrame} SdkSignalFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkSignalFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkSignalFrame message.\\n * @function verify\\n * @memberof SdkSignalFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkSignalFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (!$util.isInteger(message.timestampMs) && !(message.timestampMs && $util.isInteger(message.timestampMs.low) && $util.isInteger(message.timestampMs.high)))\\n return \\\"timestampMs: integer|Long expected\\\";\\n switch (message.type) {\\n default:\\n return \\\"type: enum value expected\\\";\\n case 1:\\n case 2:\\n case 3:\\n case 4:\\n case 5:\\n case 7:\\n case 8:\\n case 9:\\n case 10:\\n case 13:\\n case 16:\\n case 17:\\n case 18:\\n case 19:\\n case 20:\\n case 21:\\n case 22:\\n case 24:\\n case 25:\\n case 26:\\n case 27:\\n break;\\n }\\n if (message.error != null && message.hasOwnProperty(\\\"error\\\")) {\\n var error = $root.SdkErrorFrame.verify(message.error);\\n if (error)\\n return \\\"error.\\\" + error;\\n }\\n if (message.join != null && message.hasOwnProperty(\\\"join\\\")) {\\n var error = $root.SdkJoinFrame.verify(message.join);\\n if (error)\\n return \\\"join.\\\" + error;\\n }\\n if (message.joinack != null && message.hasOwnProperty(\\\"joinack\\\")) {\\n var error = $root.SdkJoinAckFrame.verify(message.joinack);\\n if (error)\\n return \\\"joinack.\\\" + error;\\n }\\n if (message.sub != null && message.hasOwnProperty(\\\"sub\\\")) {\\n var error = $root.SdkSubscribeFrame.verify(message.sub);\\n if (error)\\n return \\\"sub.\\\" + error;\\n }\\n if (message.suback != null && message.hasOwnProperty(\\\"suback\\\")) {\\n var error = $root.SdkSubscribeAckFrame.verify(message.suback);\\n if (error)\\n return \\\"suback.\\\" + error;\\n }\\n if (message.index != null && message.hasOwnProperty(\\\"index\\\")) {\\n var error = $root.SdkIndexFrame.verify(message.index);\\n if (error)\\n return \\\"index.\\\" + error;\\n }\\n if (message.pause != null && message.hasOwnProperty(\\\"pause\\\")) {\\n var error = $root.SdkPauseResumeFrame.verify(message.pause);\\n if (error)\\n return \\\"pause.\\\" + error;\\n }\\n if (message.leave != null && message.hasOwnProperty(\\\"leave\\\")) {\\n var error = $root.SdkLeaveFrame.verify(message.leave);\\n if (error)\\n return \\\"leave.\\\" + error;\\n }\\n if (message.leaveAck != null && message.hasOwnProperty(\\\"leaveAck\\\")) {\\n var error = $root.SdkLeaveAckFrame.verify(message.leaveAck);\\n if (error)\\n return \\\"leaveAck.\\\" + error;\\n }\\n if (message.bitrates != null && message.hasOwnProperty(\\\"bitrates\\\")) {\\n var error = $root.SdkBitrateFrame.verify(message.bitrates);\\n if (error)\\n return \\\"bitrates.\\\" + error;\\n }\\n if (message.audioControl != null && message.hasOwnProperty(\\\"audioControl\\\")) {\\n var error = $root.SdkAudioControlFrame.verify(message.audioControl);\\n if (error)\\n return \\\"audioControl.\\\" + error;\\n }\\n if (message.audioMetadata != null && message.hasOwnProperty(\\\"audioMetadata\\\")) {\\n var error = $root.SdkAudioMetadataFrame.verify(message.audioMetadata);\\n if (error)\\n return \\\"audioMetadata.\\\" + error;\\n }\\n if (message.audioStreamIdInfo != null && message.hasOwnProperty(\\\"audioStreamIdInfo\\\")) {\\n var error = $root.SdkAudioStreamIdInfoFrame.verify(message.audioStreamIdInfo);\\n if (error)\\n return \\\"audioStreamIdInfo.\\\" + error;\\n }\\n if (message.pingPong != null && message.hasOwnProperty(\\\"pingPong\\\")) {\\n var error = $root.SdkPingPongFrame.verify(message.pingPong);\\n if (error)\\n return \\\"pingPong.\\\" + error;\\n }\\n if (message.audioStatus != null && message.hasOwnProperty(\\\"audioStatus\\\")) {\\n var error = $root.SdkAudioStatusFrame.verify(message.audioStatus);\\n if (error)\\n return \\\"audioStatus.\\\" + error;\\n }\\n if (message.clientMetric != null && message.hasOwnProperty(\\\"clientMetric\\\")) {\\n var error = $root.SdkClientMetricFrame.verify(message.clientMetric);\\n if (error)\\n return \\\"clientMetric.\\\" + error;\\n }\\n if (message.dataMessage != null && message.hasOwnProperty(\\\"dataMessage\\\")) {\\n var error = $root.SdkDataMessageFrame.verify(message.dataMessage);\\n if (error)\\n return \\\"dataMessage.\\\" + error;\\n }\\n if (message.remoteVideoUpdate != null && message.hasOwnProperty(\\\"remoteVideoUpdate\\\")) {\\n var error = $root.SdkRemoteVideoUpdateFrame.verify(message.remoteVideoUpdate);\\n if (error)\\n return \\\"remoteVideoUpdate.\\\" + error;\\n }\\n if (message.primaryMeetingJoin != null && message.hasOwnProperty(\\\"primaryMeetingJoin\\\")) {\\n var error = $root.SdkPrimaryMeetingJoinFrame.verify(message.primaryMeetingJoin);\\n if (error)\\n return \\\"primaryMeetingJoin.\\\" + error;\\n }\\n if (message.primaryMeetingJoinAck != null && message.hasOwnProperty(\\\"primaryMeetingJoinAck\\\")) {\\n var error = $root.SdkPrimaryMeetingJoinAckFrame.verify(message.primaryMeetingJoinAck);\\n if (error)\\n return \\\"primaryMeetingJoinAck.\\\" + error;\\n }\\n if (message.primaryMeetingLeave != null && message.hasOwnProperty(\\\"primaryMeetingLeave\\\")) {\\n var error = $root.SdkPrimaryMeetingLeaveFrame.verify(message.primaryMeetingLeave);\\n if (error)\\n return \\\"primaryMeetingLeave.\\\" + error;\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkSignalFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkSignalFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkSignalFrame} SdkSignalFrame\\n */\\n SdkSignalFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkSignalFrame)\\n return object;\\n var message = new $root.SdkSignalFrame();\\n if (object.timestampMs != null)\\n if ($util.Long)\\n (message.timestampMs = $util.Long.fromValue(object.timestampMs)).unsigned = true;\\n else if (typeof object.timestampMs === \\\"string\\\")\\n message.timestampMs = parseInt(object.timestampMs, 10);\\n else if (typeof object.timestampMs === \\\"number\\\")\\n message.timestampMs = object.timestampMs;\\n else if (typeof object.timestampMs === \\\"object\\\")\\n message.timestampMs = new $util.LongBits(object.timestampMs.low >>> 0, object.timestampMs.high >>> 0).toNumber(true);\\n switch (object.type) {\\n case \\\"JOIN\\\":\\n case 1:\\n message.type = 1;\\n break;\\n case \\\"JOIN_ACK\\\":\\n case 2:\\n message.type = 2;\\n break;\\n case \\\"SUBSCRIBE\\\":\\n case 3:\\n message.type = 3;\\n break;\\n case \\\"SUBSCRIBE_ACK\\\":\\n case 4:\\n message.type = 4;\\n break;\\n case \\\"INDEX\\\":\\n case 5:\\n message.type = 5;\\n break;\\n case \\\"PAUSE\\\":\\n case 7:\\n message.type = 7;\\n break;\\n case \\\"RESUME\\\":\\n case 8:\\n message.type = 8;\\n break;\\n case \\\"LEAVE\\\":\\n case 9:\\n message.type = 9;\\n break;\\n case \\\"LEAVE_ACK\\\":\\n case 10:\\n message.type = 10;\\n break;\\n case \\\"BITRATES\\\":\\n case 13:\\n message.type = 13;\\n break;\\n case \\\"AUDIO_CONTROL\\\":\\n case 16:\\n message.type = 16;\\n break;\\n case \\\"AUDIO_METADATA\\\":\\n case 17:\\n message.type = 17;\\n break;\\n case \\\"AUDIO_STREAM_ID_INFO\\\":\\n case 18:\\n message.type = 18;\\n break;\\n case \\\"PING_PONG\\\":\\n case 19:\\n message.type = 19;\\n break;\\n case \\\"AUDIO_STATUS\\\":\\n case 20:\\n message.type = 20;\\n break;\\n case \\\"CLIENT_METRIC\\\":\\n case 21:\\n message.type = 21;\\n break;\\n case \\\"DATA_MESSAGE\\\":\\n case 22:\\n message.type = 22;\\n break;\\n case \\\"REMOTE_VIDEO_UPDATE\\\":\\n case 24:\\n message.type = 24;\\n break;\\n case \\\"PRIMARY_MEETING_JOIN\\\":\\n case 25:\\n message.type = 25;\\n break;\\n case \\\"PRIMARY_MEETING_JOIN_ACK\\\":\\n case 26:\\n message.type = 26;\\n break;\\n case \\\"PRIMARY_MEETING_LEAVE\\\":\\n case 27:\\n message.type = 27;\\n break;\\n }\\n if (object.error != null) {\\n if (typeof object.error !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.error: object expected\\\");\\n message.error = $root.SdkErrorFrame.fromObject(object.error);\\n }\\n if (object.join != null) {\\n if (typeof object.join !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.join: object expected\\\");\\n message.join = $root.SdkJoinFrame.fromObject(object.join);\\n }\\n if (object.joinack != null) {\\n if (typeof object.joinack !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.joinack: object expected\\\");\\n message.joinack = $root.SdkJoinAckFrame.fromObject(object.joinack);\\n }\\n if (object.sub != null) {\\n if (typeof object.sub !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.sub: object expected\\\");\\n message.sub = $root.SdkSubscribeFrame.fromObject(object.sub);\\n }\\n if (object.suback != null) {\\n if (typeof object.suback !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.suback: object expected\\\");\\n message.suback = $root.SdkSubscribeAckFrame.fromObject(object.suback);\\n }\\n if (object.index != null) {\\n if (typeof object.index !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.index: object expected\\\");\\n message.index = $root.SdkIndexFrame.fromObject(object.index);\\n }\\n if (object.pause != null) {\\n if (typeof object.pause !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.pause: object expected\\\");\\n message.pause = $root.SdkPauseResumeFrame.fromObject(object.pause);\\n }\\n if (object.leave != null) {\\n if (typeof object.leave !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.leave: object expected\\\");\\n message.leave = $root.SdkLeaveFrame.fromObject(object.leave);\\n }\\n if (object.leaveAck != null) {\\n if (typeof object.leaveAck !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.leaveAck: object expected\\\");\\n message.leaveAck = $root.SdkLeaveAckFrame.fromObject(object.leaveAck);\\n }\\n if (object.bitrates != null) {\\n if (typeof object.bitrates !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.bitrates: object expected\\\");\\n message.bitrates = $root.SdkBitrateFrame.fromObject(object.bitrates);\\n }\\n if (object.audioControl != null) {\\n if (typeof object.audioControl !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.audioControl: object expected\\\");\\n message.audioControl = $root.SdkAudioControlFrame.fromObject(object.audioControl);\\n }\\n if (object.audioMetadata != null) {\\n if (typeof object.audioMetadata !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.audioMetadata: object expected\\\");\\n message.audioMetadata = $root.SdkAudioMetadataFrame.fromObject(object.audioMetadata);\\n }\\n if (object.audioStreamIdInfo != null) {\\n if (typeof object.audioStreamIdInfo !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.audioStreamIdInfo: object expected\\\");\\n message.audioStreamIdInfo = $root.SdkAudioStreamIdInfoFrame.fromObject(object.audioStreamIdInfo);\\n }\\n if (object.pingPong != null) {\\n if (typeof object.pingPong !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.pingPong: object expected\\\");\\n message.pingPong = $root.SdkPingPongFrame.fromObject(object.pingPong);\\n }\\n if (object.audioStatus != null) {\\n if (typeof object.audioStatus !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.audioStatus: object expected\\\");\\n message.audioStatus = $root.SdkAudioStatusFrame.fromObject(object.audioStatus);\\n }\\n if (object.clientMetric != null) {\\n if (typeof object.clientMetric !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.clientMetric: object expected\\\");\\n message.clientMetric = $root.SdkClientMetricFrame.fromObject(object.clientMetric);\\n }\\n if (object.dataMessage != null) {\\n if (typeof object.dataMessage !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.dataMessage: object expected\\\");\\n message.dataMessage = $root.SdkDataMessageFrame.fromObject(object.dataMessage);\\n }\\n if (object.remoteVideoUpdate != null) {\\n if (typeof object.remoteVideoUpdate !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.remoteVideoUpdate: object expected\\\");\\n message.remoteVideoUpdate = $root.SdkRemoteVideoUpdateFrame.fromObject(object.remoteVideoUpdate);\\n }\\n if (object.primaryMeetingJoin != null) {\\n if (typeof object.primaryMeetingJoin !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.primaryMeetingJoin: object expected\\\");\\n message.primaryMeetingJoin = $root.SdkPrimaryMeetingJoinFrame.fromObject(object.primaryMeetingJoin);\\n }\\n if (object.primaryMeetingJoinAck != null) {\\n if (typeof object.primaryMeetingJoinAck !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.primaryMeetingJoinAck: object expected\\\");\\n message.primaryMeetingJoinAck = $root.SdkPrimaryMeetingJoinAckFrame.fromObject(object.primaryMeetingJoinAck);\\n }\\n if (object.primaryMeetingLeave != null) {\\n if (typeof object.primaryMeetingLeave !== \\\"object\\\")\\n throw TypeError(\\\".SdkSignalFrame.primaryMeetingLeave: object expected\\\");\\n message.primaryMeetingLeave = $root.SdkPrimaryMeetingLeaveFrame.fromObject(object.primaryMeetingLeave);\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkSignalFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkSignalFrame\\n * @static\\n * @param {SdkSignalFrame} message SdkSignalFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkSignalFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n if ($util.Long) {\\n var long = new $util.Long(0, 0, true);\\n object.timestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\\n } else\\n object.timestampMs = options.longs === String ? \\\"0\\\" : 0;\\n object.type = options.enums === String ? \\\"JOIN\\\" : 1;\\n object.error = null;\\n object.join = null;\\n object.joinack = null;\\n object.sub = null;\\n object.suback = null;\\n object.index = null;\\n object.pause = null;\\n object.leave = null;\\n object.leaveAck = null;\\n object.bitrates = null;\\n object.audioControl = null;\\n object.audioMetadata = null;\\n object.audioStreamIdInfo = null;\\n object.pingPong = null;\\n object.audioStatus = null;\\n object.clientMetric = null;\\n object.dataMessage = null;\\n object.remoteVideoUpdate = null;\\n object.primaryMeetingJoin = null;\\n object.primaryMeetingJoinAck = null;\\n object.primaryMeetingLeave = null;\\n }\\n if (message.timestampMs != null && message.hasOwnProperty(\\\"timestampMs\\\"))\\n if (typeof message.timestampMs === \\\"number\\\")\\n object.timestampMs = options.longs === String ? String(message.timestampMs) : message.timestampMs;\\n else\\n object.timestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.timestampMs) : options.longs === Number ? new $util.LongBits(message.timestampMs.low >>> 0, message.timestampMs.high >>> 0).toNumber(true) : message.timestampMs;\\n if (message.type != null && message.hasOwnProperty(\\\"type\\\"))\\n object.type = options.enums === String ? $root.SdkSignalFrame.Type[message.type] : message.type;\\n if (message.error != null && message.hasOwnProperty(\\\"error\\\"))\\n object.error = $root.SdkErrorFrame.toObject(message.error, options);\\n if (message.join != null && message.hasOwnProperty(\\\"join\\\"))\\n object.join = $root.SdkJoinFrame.toObject(message.join, options);\\n if (message.joinack != null && message.hasOwnProperty(\\\"joinack\\\"))\\n object.joinack = $root.SdkJoinAckFrame.toObject(message.joinack, options);\\n if (message.sub != null && message.hasOwnProperty(\\\"sub\\\"))\\n object.sub = $root.SdkSubscribeFrame.toObject(message.sub, options);\\n if (message.suback != null && message.hasOwnProperty(\\\"suback\\\"))\\n object.suback = $root.SdkSubscribeAckFrame.toObject(message.suback, options);\\n if (message.index != null && message.hasOwnProperty(\\\"index\\\"))\\n object.index = $root.SdkIndexFrame.toObject(message.index, options);\\n if (message.pause != null && message.hasOwnProperty(\\\"pause\\\"))\\n object.pause = $root.SdkPauseResumeFrame.toObject(message.pause, options);\\n if (message.leave != null && message.hasOwnProperty(\\\"leave\\\"))\\n object.leave = $root.SdkLeaveFrame.toObject(message.leave, options);\\n if (message.leaveAck != null && message.hasOwnProperty(\\\"leaveAck\\\"))\\n object.leaveAck = $root.SdkLeaveAckFrame.toObject(message.leaveAck, options);\\n if (message.bitrates != null && message.hasOwnProperty(\\\"bitrates\\\"))\\n object.bitrates = $root.SdkBitrateFrame.toObject(message.bitrates, options);\\n if (message.audioControl != null && message.hasOwnProperty(\\\"audioControl\\\"))\\n object.audioControl = $root.SdkAudioControlFrame.toObject(message.audioControl, options);\\n if (message.audioMetadata != null && message.hasOwnProperty(\\\"audioMetadata\\\"))\\n object.audioMetadata = $root.SdkAudioMetadataFrame.toObject(message.audioMetadata, options);\\n if (message.audioStreamIdInfo != null && message.hasOwnProperty(\\\"audioStreamIdInfo\\\"))\\n object.audioStreamIdInfo = $root.SdkAudioStreamIdInfoFrame.toObject(message.audioStreamIdInfo, options);\\n if (message.pingPong != null && message.hasOwnProperty(\\\"pingPong\\\"))\\n object.pingPong = $root.SdkPingPongFrame.toObject(message.pingPong, options);\\n if (message.audioStatus != null && message.hasOwnProperty(\\\"audioStatus\\\"))\\n object.audioStatus = $root.SdkAudioStatusFrame.toObject(message.audioStatus, options);\\n if (message.clientMetric != null && message.hasOwnProperty(\\\"clientMetric\\\"))\\n object.clientMetric = $root.SdkClientMetricFrame.toObject(message.clientMetric, options);\\n if (message.dataMessage != null && message.hasOwnProperty(\\\"dataMessage\\\"))\\n object.dataMessage = $root.SdkDataMessageFrame.toObject(message.dataMessage, options);\\n if (message.remoteVideoUpdate != null && message.hasOwnProperty(\\\"remoteVideoUpdate\\\"))\\n object.remoteVideoUpdate = $root.SdkRemoteVideoUpdateFrame.toObject(message.remoteVideoUpdate, options);\\n if (message.primaryMeetingJoin != null && message.hasOwnProperty(\\\"primaryMeetingJoin\\\"))\\n object.primaryMeetingJoin = $root.SdkPrimaryMeetingJoinFrame.toObject(message.primaryMeetingJoin, options);\\n if (message.primaryMeetingJoinAck != null && message.hasOwnProperty(\\\"primaryMeetingJoinAck\\\"))\\n object.primaryMeetingJoinAck = $root.SdkPrimaryMeetingJoinAckFrame.toObject(message.primaryMeetingJoinAck, options);\\n if (message.primaryMeetingLeave != null && message.hasOwnProperty(\\\"primaryMeetingLeave\\\"))\\n object.primaryMeetingLeave = $root.SdkPrimaryMeetingLeaveFrame.toObject(message.primaryMeetingLeave, options);\\n return object;\\n };\\n\\n /**\\n * Converts this SdkSignalFrame to JSON.\\n * @function toJSON\\n * @memberof SdkSignalFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkSignalFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n /**\\n * Type enum.\\n * @name SdkSignalFrame.Type\\n * @enum {number}\\n * @property {number} JOIN=1 JOIN value\\n * @property {number} JOIN_ACK=2 JOIN_ACK value\\n * @property {number} SUBSCRIBE=3 SUBSCRIBE value\\n * @property {number} SUBSCRIBE_ACK=4 SUBSCRIBE_ACK value\\n * @property {number} INDEX=5 INDEX value\\n * @property {number} PAUSE=7 PAUSE value\\n * @property {number} RESUME=8 RESUME value\\n * @property {number} LEAVE=9 LEAVE value\\n * @property {number} LEAVE_ACK=10 LEAVE_ACK value\\n * @property {number} BITRATES=13 BITRATES value\\n * @property {number} AUDIO_CONTROL=16 AUDIO_CONTROL value\\n * @property {number} AUDIO_METADATA=17 AUDIO_METADATA value\\n * @property {number} AUDIO_STREAM_ID_INFO=18 AUDIO_STREAM_ID_INFO value\\n * @property {number} PING_PONG=19 PING_PONG value\\n * @property {number} AUDIO_STATUS=20 AUDIO_STATUS value\\n * @property {number} CLIENT_METRIC=21 CLIENT_METRIC value\\n * @property {number} DATA_MESSAGE=22 DATA_MESSAGE value\\n * @property {number} REMOTE_VIDEO_UPDATE=24 REMOTE_VIDEO_UPDATE value\\n * @property {number} PRIMARY_MEETING_JOIN=25 PRIMARY_MEETING_JOIN value\\n * @property {number} PRIMARY_MEETING_JOIN_ACK=26 PRIMARY_MEETING_JOIN_ACK value\\n * @property {number} PRIMARY_MEETING_LEAVE=27 PRIMARY_MEETING_LEAVE value\\n */\\n SdkSignalFrame.Type = (function() {\\n var valuesById = {}, values = Object.create(valuesById);\\n values[valuesById[1] = \\\"JOIN\\\"] = 1;\\n values[valuesById[2] = \\\"JOIN_ACK\\\"] = 2;\\n values[valuesById[3] = \\\"SUBSCRIBE\\\"] = 3;\\n values[valuesById[4] = \\\"SUBSCRIBE_ACK\\\"] = 4;\\n values[valuesById[5] = \\\"INDEX\\\"] = 5;\\n values[valuesById[7] = \\\"PAUSE\\\"] = 7;\\n values[valuesById[8] = \\\"RESUME\\\"] = 8;\\n values[valuesById[9] = \\\"LEAVE\\\"] = 9;\\n values[valuesById[10] = \\\"LEAVE_ACK\\\"] = 10;\\n values[valuesById[13] = \\\"BITRATES\\\"] = 13;\\n values[valuesById[16] = \\\"AUDIO_CONTROL\\\"] = 16;\\n values[valuesById[17] = \\\"AUDIO_METADATA\\\"] = 17;\\n values[valuesById[18] = \\\"AUDIO_STREAM_ID_INFO\\\"] = 18;\\n values[valuesById[19] = \\\"PING_PONG\\\"] = 19;\\n values[valuesById[20] = \\\"AUDIO_STATUS\\\"] = 20;\\n values[valuesById[21] = \\\"CLIENT_METRIC\\\"] = 21;\\n values[valuesById[22] = \\\"DATA_MESSAGE\\\"] = 22;\\n values[valuesById[24] = \\\"REMOTE_VIDEO_UPDATE\\\"] = 24;\\n values[valuesById[25] = \\\"PRIMARY_MEETING_JOIN\\\"] = 25;\\n values[valuesById[26] = \\\"PRIMARY_MEETING_JOIN_ACK\\\"] = 26;\\n values[valuesById[27] = \\\"PRIMARY_MEETING_LEAVE\\\"] = 27;\\n return values;\\n })();\\n\\n return SdkSignalFrame;\\n})();\\n\\n$root.SdkErrorFrame = (function() {\\n\\n /**\\n * Properties of a SdkErrorFrame.\\n * @exports ISdkErrorFrame\\n * @interface ISdkErrorFrame\\n * @property {number|null} [status] SdkErrorFrame status\\n * @property {string|null} [description] SdkErrorFrame description\\n */\\n\\n /**\\n * Constructs a new SdkErrorFrame.\\n * @exports SdkErrorFrame\\n * @classdesc Represents a SdkErrorFrame.\\n * @implements ISdkErrorFrame\\n * @constructor\\n * @param {ISdkErrorFrame=} [properties] Properties to set\\n */\\n function SdkErrorFrame(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkErrorFrame status.\\n * @member {number} status\\n * @memberof SdkErrorFrame\\n * @instance\\n */\\n SdkErrorFrame.prototype.status = 0;\\n\\n /**\\n * SdkErrorFrame description.\\n * @member {string} description\\n * @memberof SdkErrorFrame\\n * @instance\\n */\\n SdkErrorFrame.prototype.description = \\\"\\\";\\n\\n /**\\n * Creates a new SdkErrorFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkErrorFrame\\n * @static\\n * @param {ISdkErrorFrame=} [properties] Properties to set\\n * @returns {SdkErrorFrame} SdkErrorFrame instance\\n */\\n SdkErrorFrame.create = function create(properties) {\\n return new SdkErrorFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkErrorFrame message. Does not implicitly {@link SdkErrorFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkErrorFrame\\n * @static\\n * @param {ISdkErrorFrame} message SdkErrorFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkErrorFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.status != null && Object.hasOwnProperty.call(message, \\\"status\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.status);\\n if (message.description != null && Object.hasOwnProperty.call(message, \\\"description\\\"))\\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.description);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkErrorFrame message, length delimited. Does not implicitly {@link SdkErrorFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkErrorFrame\\n * @static\\n * @param {ISdkErrorFrame} message SdkErrorFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkErrorFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkErrorFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkErrorFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkErrorFrame} SdkErrorFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkErrorFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkErrorFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.status = reader.uint32();\\n break;\\n case 2:\\n message.description = reader.string();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkErrorFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkErrorFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkErrorFrame} SdkErrorFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkErrorFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkErrorFrame message.\\n * @function verify\\n * @memberof SdkErrorFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkErrorFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.status != null && message.hasOwnProperty(\\\"status\\\"))\\n if (!$util.isInteger(message.status))\\n return \\\"status: integer expected\\\";\\n if (message.description != null && message.hasOwnProperty(\\\"description\\\"))\\n if (!$util.isString(message.description))\\n return \\\"description: string expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkErrorFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkErrorFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkErrorFrame} SdkErrorFrame\\n */\\n SdkErrorFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkErrorFrame)\\n return object;\\n var message = new $root.SdkErrorFrame();\\n if (object.status != null)\\n message.status = object.status >>> 0;\\n if (object.description != null)\\n message.description = String(object.description);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkErrorFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkErrorFrame\\n * @static\\n * @param {SdkErrorFrame} message SdkErrorFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkErrorFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.status = 0;\\n object.description = \\\"\\\";\\n }\\n if (message.status != null && message.hasOwnProperty(\\\"status\\\"))\\n object.status = message.status;\\n if (message.description != null && message.hasOwnProperty(\\\"description\\\"))\\n object.description = message.description;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkErrorFrame to JSON.\\n * @function toJSON\\n * @memberof SdkErrorFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkErrorFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkErrorFrame;\\n})();\\n\\n/**\\n * SdkJoinFlags enum.\\n * @exports SdkJoinFlags\\n * @enum {number}\\n * @property {number} HAS_STREAM_UPDATE=2 HAS_STREAM_UPDATE value\\n * @property {number} COMPLETE_VIDEO_SOURCES_LIST=16 COMPLETE_VIDEO_SOURCES_LIST value\\n * @property {number} EXCLUDE_SELF_CONTENT_IN_INDEX=32 EXCLUDE_SELF_CONTENT_IN_INDEX value\\n */\\n$root.SdkJoinFlags = (function() {\\n var valuesById = {}, values = Object.create(valuesById);\\n values[valuesById[2] = \\\"HAS_STREAM_UPDATE\\\"] = 2;\\n values[valuesById[16] = \\\"COMPLETE_VIDEO_SOURCES_LIST\\\"] = 16;\\n values[valuesById[32] = \\\"EXCLUDE_SELF_CONTENT_IN_INDEX\\\"] = 32;\\n return values;\\n})();\\n\\n$root.SdkClientDetails = (function() {\\n\\n /**\\n * Properties of a SdkClientDetails.\\n * @exports ISdkClientDetails\\n * @interface ISdkClientDetails\\n * @property {string|null} [appName] SdkClientDetails appName\\n * @property {string|null} [appVersion] SdkClientDetails appVersion\\n * @property {string|null} [deviceModel] SdkClientDetails deviceModel\\n * @property {string|null} [deviceMake] SdkClientDetails deviceMake\\n * @property {string|null} [platformName] SdkClientDetails platformName\\n * @property {string|null} [platformVersion] SdkClientDetails platformVersion\\n * @property {string|null} [clientSource] SdkClientDetails clientSource\\n * @property {string|null} [chimeSdkVersion] SdkClientDetails chimeSdkVersion\\n * @property {string|null} [clientUtcOffset] SdkClientDetails clientUtcOffset\\n */\\n\\n /**\\n * Constructs a new SdkClientDetails.\\n * @exports SdkClientDetails\\n * @classdesc Represents a SdkClientDetails.\\n * @implements ISdkClientDetails\\n * @constructor\\n * @param {ISdkClientDetails=} [properties] Properties to set\\n */\\n function SdkClientDetails(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkClientDetails appName.\\n * @member {string} appName\\n * @memberof SdkClientDetails\\n * @instance\\n */\\n SdkClientDetails.prototype.appName = \\\"\\\";\\n\\n /**\\n * SdkClientDetails appVersion.\\n * @member {string} appVersion\\n * @memberof SdkClientDetails\\n * @instance\\n */\\n SdkClientDetails.prototype.appVersion = \\\"\\\";\\n\\n /**\\n * SdkClientDetails deviceModel.\\n * @member {string} deviceModel\\n * @memberof SdkClientDetails\\n * @instance\\n */\\n SdkClientDetails.prototype.deviceModel = \\\"\\\";\\n\\n /**\\n * SdkClientDetails deviceMake.\\n * @member {string} deviceMake\\n * @memberof SdkClientDetails\\n * @instance\\n */\\n SdkClientDetails.prototype.deviceMake = \\\"\\\";\\n\\n /**\\n * SdkClientDetails platformName.\\n * @member {string} platformName\\n * @memberof SdkClientDetails\\n * @instance\\n */\\n SdkClientDetails.prototype.platformName = \\\"\\\";\\n\\n /**\\n * SdkClientDetails platformVersion.\\n * @member {string} platformVersion\\n * @memberof SdkClientDetails\\n * @instance\\n */\\n SdkClientDetails.prototype.platformVersion = \\\"\\\";\\n\\n /**\\n * SdkClientDetails clientSource.\\n * @member {string} clientSource\\n * @memberof SdkClientDetails\\n * @instance\\n */\\n SdkClientDetails.prototype.clientSource = \\\"\\\";\\n\\n /**\\n * SdkClientDetails chimeSdkVersion.\\n * @member {string} chimeSdkVersion\\n * @memberof SdkClientDetails\\n * @instance\\n */\\n SdkClientDetails.prototype.chimeSdkVersion = \\\"\\\";\\n\\n /**\\n * SdkClientDetails clientUtcOffset.\\n * @member {string} clientUtcOffset\\n * @memberof SdkClientDetails\\n * @instance\\n */\\n SdkClientDetails.prototype.clientUtcOffset = \\\"\\\";\\n\\n /**\\n * Creates a new SdkClientDetails instance using the specified properties.\\n * @function create\\n * @memberof SdkClientDetails\\n * @static\\n * @param {ISdkClientDetails=} [properties] Properties to set\\n * @returns {SdkClientDetails} SdkClientDetails instance\\n */\\n SdkClientDetails.create = function create(properties) {\\n return new SdkClientDetails(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkClientDetails message. Does not implicitly {@link SdkClientDetails.verify|verify} messages.\\n * @function encode\\n * @memberof SdkClientDetails\\n * @static\\n * @param {ISdkClientDetails} message SdkClientDetails message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkClientDetails.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.appName != null && Object.hasOwnProperty.call(message, \\\"appName\\\"))\\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.appName);\\n if (message.appVersion != null && Object.hasOwnProperty.call(message, \\\"appVersion\\\"))\\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.appVersion);\\n if (message.deviceModel != null && Object.hasOwnProperty.call(message, \\\"deviceModel\\\"))\\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.deviceModel);\\n if (message.deviceMake != null && Object.hasOwnProperty.call(message, \\\"deviceMake\\\"))\\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.deviceMake);\\n if (message.platformName != null && Object.hasOwnProperty.call(message, \\\"platformName\\\"))\\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.platformName);\\n if (message.platformVersion != null && Object.hasOwnProperty.call(message, \\\"platformVersion\\\"))\\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.platformVersion);\\n if (message.clientSource != null && Object.hasOwnProperty.call(message, \\\"clientSource\\\"))\\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.clientSource);\\n if (message.chimeSdkVersion != null && Object.hasOwnProperty.call(message, \\\"chimeSdkVersion\\\"))\\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.chimeSdkVersion);\\n if (message.clientUtcOffset != null && Object.hasOwnProperty.call(message, \\\"clientUtcOffset\\\"))\\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.clientUtcOffset);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkClientDetails message, length delimited. Does not implicitly {@link SdkClientDetails.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkClientDetails\\n * @static\\n * @param {ISdkClientDetails} message SdkClientDetails message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkClientDetails.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkClientDetails message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkClientDetails\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkClientDetails} SdkClientDetails\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkClientDetails.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkClientDetails();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.appName = reader.string();\\n break;\\n case 2:\\n message.appVersion = reader.string();\\n break;\\n case 3:\\n message.deviceModel = reader.string();\\n break;\\n case 4:\\n message.deviceMake = reader.string();\\n break;\\n case 5:\\n message.platformName = reader.string();\\n break;\\n case 6:\\n message.platformVersion = reader.string();\\n break;\\n case 7:\\n message.clientSource = reader.string();\\n break;\\n case 8:\\n message.chimeSdkVersion = reader.string();\\n break;\\n case 9:\\n message.clientUtcOffset = reader.string();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkClientDetails message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkClientDetails\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkClientDetails} SdkClientDetails\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkClientDetails.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkClientDetails message.\\n * @function verify\\n * @memberof SdkClientDetails\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkClientDetails.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.appName != null && message.hasOwnProperty(\\\"appName\\\"))\\n if (!$util.isString(message.appName))\\n return \\\"appName: string expected\\\";\\n if (message.appVersion != null && message.hasOwnProperty(\\\"appVersion\\\"))\\n if (!$util.isString(message.appVersion))\\n return \\\"appVersion: string expected\\\";\\n if (message.deviceModel != null && message.hasOwnProperty(\\\"deviceModel\\\"))\\n if (!$util.isString(message.deviceModel))\\n return \\\"deviceModel: string expected\\\";\\n if (message.deviceMake != null && message.hasOwnProperty(\\\"deviceMake\\\"))\\n if (!$util.isString(message.deviceMake))\\n return \\\"deviceMake: string expected\\\";\\n if (message.platformName != null && message.hasOwnProperty(\\\"platformName\\\"))\\n if (!$util.isString(message.platformName))\\n return \\\"platformName: string expected\\\";\\n if (message.platformVersion != null && message.hasOwnProperty(\\\"platformVersion\\\"))\\n if (!$util.isString(message.platformVersion))\\n return \\\"platformVersion: string expected\\\";\\n if (message.clientSource != null && message.hasOwnProperty(\\\"clientSource\\\"))\\n if (!$util.isString(message.clientSource))\\n return \\\"clientSource: string expected\\\";\\n if (message.chimeSdkVersion != null && message.hasOwnProperty(\\\"chimeSdkVersion\\\"))\\n if (!$util.isString(message.chimeSdkVersion))\\n return \\\"chimeSdkVersion: string expected\\\";\\n if (message.clientUtcOffset != null && message.hasOwnProperty(\\\"clientUtcOffset\\\"))\\n if (!$util.isString(message.clientUtcOffset))\\n return \\\"clientUtcOffset: string expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkClientDetails message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkClientDetails\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkClientDetails} SdkClientDetails\\n */\\n SdkClientDetails.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkClientDetails)\\n return object;\\n var message = new $root.SdkClientDetails();\\n if (object.appName != null)\\n message.appName = String(object.appName);\\n if (object.appVersion != null)\\n message.appVersion = String(object.appVersion);\\n if (object.deviceModel != null)\\n message.deviceModel = String(object.deviceModel);\\n if (object.deviceMake != null)\\n message.deviceMake = String(object.deviceMake);\\n if (object.platformName != null)\\n message.platformName = String(object.platformName);\\n if (object.platformVersion != null)\\n message.platformVersion = String(object.platformVersion);\\n if (object.clientSource != null)\\n message.clientSource = String(object.clientSource);\\n if (object.chimeSdkVersion != null)\\n message.chimeSdkVersion = String(object.chimeSdkVersion);\\n if (object.clientUtcOffset != null)\\n message.clientUtcOffset = String(object.clientUtcOffset);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkClientDetails message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkClientDetails\\n * @static\\n * @param {SdkClientDetails} message SdkClientDetails\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkClientDetails.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.appName = \\\"\\\";\\n object.appVersion = \\\"\\\";\\n object.deviceModel = \\\"\\\";\\n object.deviceMake = \\\"\\\";\\n object.platformName = \\\"\\\";\\n object.platformVersion = \\\"\\\";\\n object.clientSource = \\\"\\\";\\n object.chimeSdkVersion = \\\"\\\";\\n object.clientUtcOffset = \\\"\\\";\\n }\\n if (message.appName != null && message.hasOwnProperty(\\\"appName\\\"))\\n object.appName = message.appName;\\n if (message.appVersion != null && message.hasOwnProperty(\\\"appVersion\\\"))\\n object.appVersion = message.appVersion;\\n if (message.deviceModel != null && message.hasOwnProperty(\\\"deviceModel\\\"))\\n object.deviceModel = message.deviceModel;\\n if (message.deviceMake != null && message.hasOwnProperty(\\\"deviceMake\\\"))\\n object.deviceMake = message.deviceMake;\\n if (message.platformName != null && message.hasOwnProperty(\\\"platformName\\\"))\\n object.platformName = message.platformName;\\n if (message.platformVersion != null && message.hasOwnProperty(\\\"platformVersion\\\"))\\n object.platformVersion = message.platformVersion;\\n if (message.clientSource != null && message.hasOwnProperty(\\\"clientSource\\\"))\\n object.clientSource = message.clientSource;\\n if (message.chimeSdkVersion != null && message.hasOwnProperty(\\\"chimeSdkVersion\\\"))\\n object.chimeSdkVersion = message.chimeSdkVersion;\\n if (message.clientUtcOffset != null && message.hasOwnProperty(\\\"clientUtcOffset\\\"))\\n object.clientUtcOffset = message.clientUtcOffset;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkClientDetails to JSON.\\n * @function toJSON\\n * @memberof SdkClientDetails\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkClientDetails.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkClientDetails;\\n})();\\n\\n/**\\n * SdkServerSideNetworkAdaption enum.\\n * @exports SdkServerSideNetworkAdaption\\n * @enum {number}\\n * @property {number} DEFAULT=1 DEFAULT value\\n * @property {number} NONE=2 NONE value\\n * @property {number} BANDWIDTH_PROBING=3 BANDWIDTH_PROBING value\\n * @property {number} BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION=4 BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION value\\n */\\n$root.SdkServerSideNetworkAdaption = (function() {\\n var valuesById = {}, values = Object.create(valuesById);\\n values[valuesById[1] = \\\"DEFAULT\\\"] = 1;\\n values[valuesById[2] = \\\"NONE\\\"] = 2;\\n values[valuesById[3] = \\\"BANDWIDTH_PROBING\\\"] = 3;\\n values[valuesById[4] = \\\"BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION\\\"] = 4;\\n return values;\\n})();\\n\\n$root.SdkJoinFrame = (function() {\\n\\n /**\\n * Properties of a SdkJoinFrame.\\n * @exports ISdkJoinFrame\\n * @interface ISdkJoinFrame\\n * @property {number|null} [protocolVersion] SdkJoinFrame protocolVersion\\n * @property {number|null} [maxNumOfVideos] SdkJoinFrame maxNumOfVideos\\n * @property {number|null} [flags] SdkJoinFrame flags\\n * @property {ISdkClientDetails|null} [clientDetails] SdkJoinFrame clientDetails\\n * @property {number|Long|null} [audioSessionId] SdkJoinFrame audioSessionId\\n * @property {boolean|null} [wantsCompressedSdp] SdkJoinFrame wantsCompressedSdp\\n * @property {SdkServerSideNetworkAdaption|null} [serverSideNetworkAdaption] SdkJoinFrame serverSideNetworkAdaption\\n * @property {Array.<SdkServerSideNetworkAdaption>|null} [supportedServerSideNetworkAdaptions] SdkJoinFrame supportedServerSideNetworkAdaptions\\n * @property {boolean|null} [disablePeriodicKeyframeRequestOnContentSender] SdkJoinFrame disablePeriodicKeyframeRequestOnContentSender\\n */\\n\\n /**\\n * Constructs a new SdkJoinFrame.\\n * @exports SdkJoinFrame\\n * @classdesc Represents a SdkJoinFrame.\\n * @implements ISdkJoinFrame\\n * @constructor\\n * @param {ISdkJoinFrame=} [properties] Properties to set\\n */\\n function SdkJoinFrame(properties) {\\n this.supportedServerSideNetworkAdaptions = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkJoinFrame protocolVersion.\\n * @member {number} protocolVersion\\n * @memberof SdkJoinFrame\\n * @instance\\n */\\n SdkJoinFrame.prototype.protocolVersion = 2;\\n\\n /**\\n * SdkJoinFrame maxNumOfVideos.\\n * @member {number} maxNumOfVideos\\n * @memberof SdkJoinFrame\\n * @instance\\n */\\n SdkJoinFrame.prototype.maxNumOfVideos = 0;\\n\\n /**\\n * SdkJoinFrame flags.\\n * @member {number} flags\\n * @memberof SdkJoinFrame\\n * @instance\\n */\\n SdkJoinFrame.prototype.flags = 0;\\n\\n /**\\n * SdkJoinFrame clientDetails.\\n * @member {ISdkClientDetails|null|undefined} clientDetails\\n * @memberof SdkJoinFrame\\n * @instance\\n */\\n SdkJoinFrame.prototype.clientDetails = null;\\n\\n /**\\n * SdkJoinFrame audioSessionId.\\n * @member {number|Long} audioSessionId\\n * @memberof SdkJoinFrame\\n * @instance\\n */\\n SdkJoinFrame.prototype.audioSessionId = $util.Long ? $util.Long.fromBits(0,0,true) : 0;\\n\\n /**\\n * SdkJoinFrame wantsCompressedSdp.\\n * @member {boolean} wantsCompressedSdp\\n * @memberof SdkJoinFrame\\n * @instance\\n */\\n SdkJoinFrame.prototype.wantsCompressedSdp = false;\\n\\n /**\\n * SdkJoinFrame serverSideNetworkAdaption.\\n * @member {SdkServerSideNetworkAdaption} serverSideNetworkAdaption\\n * @memberof SdkJoinFrame\\n * @instance\\n */\\n SdkJoinFrame.prototype.serverSideNetworkAdaption = 1;\\n\\n /**\\n * SdkJoinFrame supportedServerSideNetworkAdaptions.\\n * @member {Array.<SdkServerSideNetworkAdaption>} supportedServerSideNetworkAdaptions\\n * @memberof SdkJoinFrame\\n * @instance\\n */\\n SdkJoinFrame.prototype.supportedServerSideNetworkAdaptions = $util.emptyArray;\\n\\n /**\\n * SdkJoinFrame disablePeriodicKeyframeRequestOnContentSender.\\n * @member {boolean} disablePeriodicKeyframeRequestOnContentSender\\n * @memberof SdkJoinFrame\\n * @instance\\n */\\n SdkJoinFrame.prototype.disablePeriodicKeyframeRequestOnContentSender = false;\\n\\n /**\\n * Creates a new SdkJoinFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkJoinFrame\\n * @static\\n * @param {ISdkJoinFrame=} [properties] Properties to set\\n * @returns {SdkJoinFrame} SdkJoinFrame instance\\n */\\n SdkJoinFrame.create = function create(properties) {\\n return new SdkJoinFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkJoinFrame message. Does not implicitly {@link SdkJoinFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkJoinFrame\\n * @static\\n * @param {ISdkJoinFrame} message SdkJoinFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkJoinFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.protocolVersion != null && Object.hasOwnProperty.call(message, \\\"protocolVersion\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.protocolVersion);\\n if (message.maxNumOfVideos != null && Object.hasOwnProperty.call(message, \\\"maxNumOfVideos\\\"))\\n writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.maxNumOfVideos);\\n if (message.flags != null && Object.hasOwnProperty.call(message, \\\"flags\\\"))\\n writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.flags);\\n if (message.clientDetails != null && Object.hasOwnProperty.call(message, \\\"clientDetails\\\"))\\n $root.SdkClientDetails.encode(message.clientDetails, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();\\n if (message.audioSessionId != null && Object.hasOwnProperty.call(message, \\\"audioSessionId\\\"))\\n writer.uint32(/* id 6, wireType 0 =*/48).uint64(message.audioSessionId);\\n if (message.wantsCompressedSdp != null && Object.hasOwnProperty.call(message, \\\"wantsCompressedSdp\\\"))\\n writer.uint32(/* id 7, wireType 0 =*/56).bool(message.wantsCompressedSdp);\\n if (message.serverSideNetworkAdaption != null && Object.hasOwnProperty.call(message, \\\"serverSideNetworkAdaption\\\"))\\n writer.uint32(/* id 10, wireType 0 =*/80).int32(message.serverSideNetworkAdaption);\\n if (message.supportedServerSideNetworkAdaptions != null && message.supportedServerSideNetworkAdaptions.length)\\n for (var i = 0; i < message.supportedServerSideNetworkAdaptions.length; ++i)\\n writer.uint32(/* id 11, wireType 0 =*/88).int32(message.supportedServerSideNetworkAdaptions[i]);\\n if (message.disablePeriodicKeyframeRequestOnContentSender != null && Object.hasOwnProperty.call(message, \\\"disablePeriodicKeyframeRequestOnContentSender\\\"))\\n writer.uint32(/* id 13, wireType 0 =*/104).bool(message.disablePeriodicKeyframeRequestOnContentSender);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkJoinFrame message, length delimited. Does not implicitly {@link SdkJoinFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkJoinFrame\\n * @static\\n * @param {ISdkJoinFrame} message SdkJoinFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkJoinFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkJoinFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkJoinFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkJoinFrame} SdkJoinFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkJoinFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkJoinFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.protocolVersion = reader.uint32();\\n break;\\n case 2:\\n message.maxNumOfVideos = reader.uint32();\\n break;\\n case 3:\\n message.flags = reader.uint32();\\n break;\\n case 4:\\n message.clientDetails = $root.SdkClientDetails.decode(reader, reader.uint32());\\n break;\\n case 6:\\n message.audioSessionId = reader.uint64();\\n break;\\n case 7:\\n message.wantsCompressedSdp = reader.bool();\\n break;\\n case 10:\\n message.serverSideNetworkAdaption = reader.int32();\\n break;\\n case 11:\\n if (!(message.supportedServerSideNetworkAdaptions && message.supportedServerSideNetworkAdaptions.length))\\n message.supportedServerSideNetworkAdaptions = [];\\n if ((tag & 7) === 2) {\\n var end2 = reader.uint32() + reader.pos;\\n while (reader.pos < end2)\\n message.supportedServerSideNetworkAdaptions.push(reader.int32());\\n } else\\n message.supportedServerSideNetworkAdaptions.push(reader.int32());\\n break;\\n case 13:\\n message.disablePeriodicKeyframeRequestOnContentSender = reader.bool();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkJoinFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkJoinFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkJoinFrame} SdkJoinFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkJoinFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkJoinFrame message.\\n * @function verify\\n * @memberof SdkJoinFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkJoinFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.protocolVersion != null && message.hasOwnProperty(\\\"protocolVersion\\\"))\\n if (!$util.isInteger(message.protocolVersion))\\n return \\\"protocolVersion: integer expected\\\";\\n if (message.maxNumOfVideos != null && message.hasOwnProperty(\\\"maxNumOfVideos\\\"))\\n if (!$util.isInteger(message.maxNumOfVideos))\\n return \\\"maxNumOfVideos: integer expected\\\";\\n if (message.flags != null && message.hasOwnProperty(\\\"flags\\\"))\\n if (!$util.isInteger(message.flags))\\n return \\\"flags: integer expected\\\";\\n if (message.clientDetails != null && message.hasOwnProperty(\\\"clientDetails\\\")) {\\n var error = $root.SdkClientDetails.verify(message.clientDetails);\\n if (error)\\n return \\\"clientDetails.\\\" + error;\\n }\\n if (message.audioSessionId != null && message.hasOwnProperty(\\\"audioSessionId\\\"))\\n if (!$util.isInteger(message.audioSessionId) && !(message.audioSessionId && $util.isInteger(message.audioSessionId.low) && $util.isInteger(message.audioSessionId.high)))\\n return \\\"audioSessionId: integer|Long expected\\\";\\n if (message.wantsCompressedSdp != null && message.hasOwnProperty(\\\"wantsCompressedSdp\\\"))\\n if (typeof message.wantsCompressedSdp !== \\\"boolean\\\")\\n return \\\"wantsCompressedSdp: boolean expected\\\";\\n if (message.serverSideNetworkAdaption != null && message.hasOwnProperty(\\\"serverSideNetworkAdaption\\\"))\\n switch (message.serverSideNetworkAdaption) {\\n default:\\n return \\\"serverSideNetworkAdaption: enum value expected\\\";\\n case 1:\\n case 2:\\n case 3:\\n case 4:\\n break;\\n }\\n if (message.supportedServerSideNetworkAdaptions != null && message.hasOwnProperty(\\\"supportedServerSideNetworkAdaptions\\\")) {\\n if (!Array.isArray(message.supportedServerSideNetworkAdaptions))\\n return \\\"supportedServerSideNetworkAdaptions: array expected\\\";\\n for (var i = 0; i < message.supportedServerSideNetworkAdaptions.length; ++i)\\n switch (message.supportedServerSideNetworkAdaptions[i]) {\\n default:\\n return \\\"supportedServerSideNetworkAdaptions: enum value[] expected\\\";\\n case 1:\\n case 2:\\n case 3:\\n case 4:\\n break;\\n }\\n }\\n if (message.disablePeriodicKeyframeRequestOnContentSender != null && message.hasOwnProperty(\\\"disablePeriodicKeyframeRequestOnContentSender\\\"))\\n if (typeof message.disablePeriodicKeyframeRequestOnContentSender !== \\\"boolean\\\")\\n return \\\"disablePeriodicKeyframeRequestOnContentSender: boolean expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkJoinFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkJoinFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkJoinFrame} SdkJoinFrame\\n */\\n SdkJoinFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkJoinFrame)\\n return object;\\n var message = new $root.SdkJoinFrame();\\n if (object.protocolVersion != null)\\n message.protocolVersion = object.protocolVersion >>> 0;\\n if (object.maxNumOfVideos != null)\\n message.maxNumOfVideos = object.maxNumOfVideos >>> 0;\\n if (object.flags != null)\\n message.flags = object.flags >>> 0;\\n if (object.clientDetails != null) {\\n if (typeof object.clientDetails !== \\\"object\\\")\\n throw TypeError(\\\".SdkJoinFrame.clientDetails: object expected\\\");\\n message.clientDetails = $root.SdkClientDetails.fromObject(object.clientDetails);\\n }\\n if (object.audioSessionId != null)\\n if ($util.Long)\\n (message.audioSessionId = $util.Long.fromValue(object.audioSessionId)).unsigned = true;\\n else if (typeof object.audioSessionId === \\\"string\\\")\\n message.audioSessionId = parseInt(object.audioSessionId, 10);\\n else if (typeof object.audioSessionId === \\\"number\\\")\\n message.audioSessionId = object.audioSessionId;\\n else if (typeof object.audioSessionId === \\\"object\\\")\\n message.audioSessionId = new $util.LongBits(object.audioSessionId.low >>> 0, object.audioSessionId.high >>> 0).toNumber(true);\\n if (object.wantsCompressedSdp != null)\\n message.wantsCompressedSdp = Boolean(object.wantsCompressedSdp);\\n switch (object.serverSideNetworkAdaption) {\\n case \\\"DEFAULT\\\":\\n case 1:\\n message.serverSideNetworkAdaption = 1;\\n break;\\n case \\\"NONE\\\":\\n case 2:\\n message.serverSideNetworkAdaption = 2;\\n break;\\n case \\\"BANDWIDTH_PROBING\\\":\\n case 3:\\n message.serverSideNetworkAdaption = 3;\\n break;\\n case \\\"BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION\\\":\\n case 4:\\n message.serverSideNetworkAdaption = 4;\\n break;\\n }\\n if (object.supportedServerSideNetworkAdaptions) {\\n if (!Array.isArray(object.supportedServerSideNetworkAdaptions))\\n throw TypeError(\\\".SdkJoinFrame.supportedServerSideNetworkAdaptions: array expected\\\");\\n message.supportedServerSideNetworkAdaptions = [];\\n for (var i = 0; i < object.supportedServerSideNetworkAdaptions.length; ++i)\\n switch (object.supportedServerSideNetworkAdaptions[i]) {\\n default:\\n case \\\"DEFAULT\\\":\\n case 1:\\n message.supportedServerSideNetworkAdaptions[i] = 1;\\n break;\\n case \\\"NONE\\\":\\n case 2:\\n message.supportedServerSideNetworkAdaptions[i] = 2;\\n break;\\n case \\\"BANDWIDTH_PROBING\\\":\\n case 3:\\n message.supportedServerSideNetworkAdaptions[i] = 3;\\n break;\\n case \\\"BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION\\\":\\n case 4:\\n message.supportedServerSideNetworkAdaptions[i] = 4;\\n break;\\n }\\n }\\n if (object.disablePeriodicKeyframeRequestOnContentSender != null)\\n message.disablePeriodicKeyframeRequestOnContentSender = Boolean(object.disablePeriodicKeyframeRequestOnContentSender);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkJoinFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkJoinFrame\\n * @static\\n * @param {SdkJoinFrame} message SdkJoinFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkJoinFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults)\\n object.supportedServerSideNetworkAdaptions = [];\\n if (options.defaults) {\\n object.protocolVersion = 2;\\n object.maxNumOfVideos = 0;\\n object.flags = 0;\\n object.clientDetails = null;\\n if ($util.Long) {\\n var long = new $util.Long(0, 0, true);\\n object.audioSessionId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\\n } else\\n object.audioSessionId = options.longs === String ? \\\"0\\\" : 0;\\n object.wantsCompressedSdp = false;\\n object.serverSideNetworkAdaption = options.enums === String ? \\\"DEFAULT\\\" : 1;\\n object.disablePeriodicKeyframeRequestOnContentSender = false;\\n }\\n if (message.protocolVersion != null && message.hasOwnProperty(\\\"protocolVersion\\\"))\\n object.protocolVersion = message.protocolVersion;\\n if (message.maxNumOfVideos != null && message.hasOwnProperty(\\\"maxNumOfVideos\\\"))\\n object.maxNumOfVideos = message.maxNumOfVideos;\\n if (message.flags != null && message.hasOwnProperty(\\\"flags\\\"))\\n object.flags = message.flags;\\n if (message.clientDetails != null && message.hasOwnProperty(\\\"clientDetails\\\"))\\n object.clientDetails = $root.SdkClientDetails.toObject(message.clientDetails, options);\\n if (message.audioSessionId != null && message.hasOwnProperty(\\\"audioSessionId\\\"))\\n if (typeof message.audioSessionId === \\\"number\\\")\\n object.audioSessionId = options.longs === String ? String(message.audioSessionId) : message.audioSessionId;\\n else\\n object.audioSessionId = options.longs === String ? $util.Long.prototype.toString.call(message.audioSessionId) : options.longs === Number ? new $util.LongBits(message.audioSessionId.low >>> 0, message.audioSessionId.high >>> 0).toNumber(true) : message.audioSessionId;\\n if (message.wantsCompressedSdp != null && message.hasOwnProperty(\\\"wantsCompressedSdp\\\"))\\n object.wantsCompressedSdp = message.wantsCompressedSdp;\\n if (message.serverSideNetworkAdaption != null && message.hasOwnProperty(\\\"serverSideNetworkAdaption\\\"))\\n object.serverSideNetworkAdaption = options.enums === String ? $root.SdkServerSideNetworkAdaption[message.serverSideNetworkAdaption] : message.serverSideNetworkAdaption;\\n if (message.supportedServerSideNetworkAdaptions && message.supportedServerSideNetworkAdaptions.length) {\\n object.supportedServerSideNetworkAdaptions = [];\\n for (var j = 0; j < message.supportedServerSideNetworkAdaptions.length; ++j)\\n object.supportedServerSideNetworkAdaptions[j] = options.enums === String ? $root.SdkServerSideNetworkAdaption[message.supportedServerSideNetworkAdaptions[j]] : message.supportedServerSideNetworkAdaptions[j];\\n }\\n if (message.disablePeriodicKeyframeRequestOnContentSender != null && message.hasOwnProperty(\\\"disablePeriodicKeyframeRequestOnContentSender\\\"))\\n object.disablePeriodicKeyframeRequestOnContentSender = message.disablePeriodicKeyframeRequestOnContentSender;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkJoinFrame to JSON.\\n * @function toJSON\\n * @memberof SdkJoinFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkJoinFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkJoinFrame;\\n})();\\n\\n$root.SdkJoinAckFrame = (function() {\\n\\n /**\\n * Properties of a SdkJoinAckFrame.\\n * @exports ISdkJoinAckFrame\\n * @interface ISdkJoinAckFrame\\n * @property {ISdkTurnCredentials|null} [turnCredentials] SdkJoinAckFrame turnCredentials\\n * @property {number|null} [videoSubscriptionLimit] SdkJoinAckFrame videoSubscriptionLimit\\n * @property {boolean|null} [wantsCompressedSdp] SdkJoinAckFrame wantsCompressedSdp\\n * @property {SdkServerSideNetworkAdaption|null} [defaultServerSideNetworkAdaption] SdkJoinAckFrame defaultServerSideNetworkAdaption\\n */\\n\\n /**\\n * Constructs a new SdkJoinAckFrame.\\n * @exports SdkJoinAckFrame\\n * @classdesc Represents a SdkJoinAckFrame.\\n * @implements ISdkJoinAckFrame\\n * @constructor\\n * @param {ISdkJoinAckFrame=} [properties] Properties to set\\n */\\n function SdkJoinAckFrame(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkJoinAckFrame turnCredentials.\\n * @member {ISdkTurnCredentials|null|undefined} turnCredentials\\n * @memberof SdkJoinAckFrame\\n * @instance\\n */\\n SdkJoinAckFrame.prototype.turnCredentials = null;\\n\\n /**\\n * SdkJoinAckFrame videoSubscriptionLimit.\\n * @member {number} videoSubscriptionLimit\\n * @memberof SdkJoinAckFrame\\n * @instance\\n */\\n SdkJoinAckFrame.prototype.videoSubscriptionLimit = 0;\\n\\n /**\\n * SdkJoinAckFrame wantsCompressedSdp.\\n * @member {boolean} wantsCompressedSdp\\n * @memberof SdkJoinAckFrame\\n * @instance\\n */\\n SdkJoinAckFrame.prototype.wantsCompressedSdp = false;\\n\\n /**\\n * SdkJoinAckFrame defaultServerSideNetworkAdaption.\\n * @member {SdkServerSideNetworkAdaption} defaultServerSideNetworkAdaption\\n * @memberof SdkJoinAckFrame\\n * @instance\\n */\\n SdkJoinAckFrame.prototype.defaultServerSideNetworkAdaption = 1;\\n\\n /**\\n * Creates a new SdkJoinAckFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkJoinAckFrame\\n * @static\\n * @param {ISdkJoinAckFrame=} [properties] Properties to set\\n * @returns {SdkJoinAckFrame} SdkJoinAckFrame instance\\n */\\n SdkJoinAckFrame.create = function create(properties) {\\n return new SdkJoinAckFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkJoinAckFrame message. Does not implicitly {@link SdkJoinAckFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkJoinAckFrame\\n * @static\\n * @param {ISdkJoinAckFrame} message SdkJoinAckFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkJoinAckFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.turnCredentials != null && Object.hasOwnProperty.call(message, \\\"turnCredentials\\\"))\\n $root.SdkTurnCredentials.encode(message.turnCredentials, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\\n if (message.videoSubscriptionLimit != null && Object.hasOwnProperty.call(message, \\\"videoSubscriptionLimit\\\"))\\n writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.videoSubscriptionLimit);\\n if (message.wantsCompressedSdp != null && Object.hasOwnProperty.call(message, \\\"wantsCompressedSdp\\\"))\\n writer.uint32(/* id 3, wireType 0 =*/24).bool(message.wantsCompressedSdp);\\n if (message.defaultServerSideNetworkAdaption != null && Object.hasOwnProperty.call(message, \\\"defaultServerSideNetworkAdaption\\\"))\\n writer.uint32(/* id 4, wireType 0 =*/32).int32(message.defaultServerSideNetworkAdaption);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkJoinAckFrame message, length delimited. Does not implicitly {@link SdkJoinAckFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkJoinAckFrame\\n * @static\\n * @param {ISdkJoinAckFrame} message SdkJoinAckFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkJoinAckFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkJoinAckFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkJoinAckFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkJoinAckFrame} SdkJoinAckFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkJoinAckFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkJoinAckFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.turnCredentials = $root.SdkTurnCredentials.decode(reader, reader.uint32());\\n break;\\n case 2:\\n message.videoSubscriptionLimit = reader.uint32();\\n break;\\n case 3:\\n message.wantsCompressedSdp = reader.bool();\\n break;\\n case 4:\\n message.defaultServerSideNetworkAdaption = reader.int32();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkJoinAckFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkJoinAckFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkJoinAckFrame} SdkJoinAckFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkJoinAckFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkJoinAckFrame message.\\n * @function verify\\n * @memberof SdkJoinAckFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkJoinAckFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.turnCredentials != null && message.hasOwnProperty(\\\"turnCredentials\\\")) {\\n var error = $root.SdkTurnCredentials.verify(message.turnCredentials);\\n if (error)\\n return \\\"turnCredentials.\\\" + error;\\n }\\n if (message.videoSubscriptionLimit != null && message.hasOwnProperty(\\\"videoSubscriptionLimit\\\"))\\n if (!$util.isInteger(message.videoSubscriptionLimit))\\n return \\\"videoSubscriptionLimit: integer expected\\\";\\n if (message.wantsCompressedSdp != null && message.hasOwnProperty(\\\"wantsCompressedSdp\\\"))\\n if (typeof message.wantsCompressedSdp !== \\\"boolean\\\")\\n return \\\"wantsCompressedSdp: boolean expected\\\";\\n if (message.defaultServerSideNetworkAdaption != null && message.hasOwnProperty(\\\"defaultServerSideNetworkAdaption\\\"))\\n switch (message.defaultServerSideNetworkAdaption) {\\n default:\\n return \\\"defaultServerSideNetworkAdaption: enum value expected\\\";\\n case 1:\\n case 2:\\n case 3:\\n case 4:\\n break;\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkJoinAckFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkJoinAckFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkJoinAckFrame} SdkJoinAckFrame\\n */\\n SdkJoinAckFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkJoinAckFrame)\\n return object;\\n var message = new $root.SdkJoinAckFrame();\\n if (object.turnCredentials != null) {\\n if (typeof object.turnCredentials !== \\\"object\\\")\\n throw TypeError(\\\".SdkJoinAckFrame.turnCredentials: object expected\\\");\\n message.turnCredentials = $root.SdkTurnCredentials.fromObject(object.turnCredentials);\\n }\\n if (object.videoSubscriptionLimit != null)\\n message.videoSubscriptionLimit = object.videoSubscriptionLimit >>> 0;\\n if (object.wantsCompressedSdp != null)\\n message.wantsCompressedSdp = Boolean(object.wantsCompressedSdp);\\n switch (object.defaultServerSideNetworkAdaption) {\\n case \\\"DEFAULT\\\":\\n case 1:\\n message.defaultServerSideNetworkAdaption = 1;\\n break;\\n case \\\"NONE\\\":\\n case 2:\\n message.defaultServerSideNetworkAdaption = 2;\\n break;\\n case \\\"BANDWIDTH_PROBING\\\":\\n case 3:\\n message.defaultServerSideNetworkAdaption = 3;\\n break;\\n case \\\"BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION\\\":\\n case 4:\\n message.defaultServerSideNetworkAdaption = 4;\\n break;\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkJoinAckFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkJoinAckFrame\\n * @static\\n * @param {SdkJoinAckFrame} message SdkJoinAckFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkJoinAckFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.turnCredentials = null;\\n object.videoSubscriptionLimit = 0;\\n object.wantsCompressedSdp = false;\\n object.defaultServerSideNetworkAdaption = options.enums === String ? \\\"DEFAULT\\\" : 1;\\n }\\n if (message.turnCredentials != null && message.hasOwnProperty(\\\"turnCredentials\\\"))\\n object.turnCredentials = $root.SdkTurnCredentials.toObject(message.turnCredentials, options);\\n if (message.videoSubscriptionLimit != null && message.hasOwnProperty(\\\"videoSubscriptionLimit\\\"))\\n object.videoSubscriptionLimit = message.videoSubscriptionLimit;\\n if (message.wantsCompressedSdp != null && message.hasOwnProperty(\\\"wantsCompressedSdp\\\"))\\n object.wantsCompressedSdp = message.wantsCompressedSdp;\\n if (message.defaultServerSideNetworkAdaption != null && message.hasOwnProperty(\\\"defaultServerSideNetworkAdaption\\\"))\\n object.defaultServerSideNetworkAdaption = options.enums === String ? $root.SdkServerSideNetworkAdaption[message.defaultServerSideNetworkAdaption] : message.defaultServerSideNetworkAdaption;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkJoinAckFrame to JSON.\\n * @function toJSON\\n * @memberof SdkJoinAckFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkJoinAckFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkJoinAckFrame;\\n})();\\n\\n$root.SdkLeaveFrame = (function() {\\n\\n /**\\n * Properties of a SdkLeaveFrame.\\n * @exports ISdkLeaveFrame\\n * @interface ISdkLeaveFrame\\n */\\n\\n /**\\n * Constructs a new SdkLeaveFrame.\\n * @exports SdkLeaveFrame\\n * @classdesc Represents a SdkLeaveFrame.\\n * @implements ISdkLeaveFrame\\n * @constructor\\n * @param {ISdkLeaveFrame=} [properties] Properties to set\\n */\\n function SdkLeaveFrame(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * Creates a new SdkLeaveFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkLeaveFrame\\n * @static\\n * @param {ISdkLeaveFrame=} [properties] Properties to set\\n * @returns {SdkLeaveFrame} SdkLeaveFrame instance\\n */\\n SdkLeaveFrame.create = function create(properties) {\\n return new SdkLeaveFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkLeaveFrame message. Does not implicitly {@link SdkLeaveFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkLeaveFrame\\n * @static\\n * @param {ISdkLeaveFrame} message SdkLeaveFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkLeaveFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkLeaveFrame message, length delimited. Does not implicitly {@link SdkLeaveFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkLeaveFrame\\n * @static\\n * @param {ISdkLeaveFrame} message SdkLeaveFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkLeaveFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkLeaveFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkLeaveFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkLeaveFrame} SdkLeaveFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkLeaveFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkLeaveFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkLeaveFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkLeaveFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkLeaveFrame} SdkLeaveFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkLeaveFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkLeaveFrame message.\\n * @function verify\\n * @memberof SdkLeaveFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkLeaveFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkLeaveFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkLeaveFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkLeaveFrame} SdkLeaveFrame\\n */\\n SdkLeaveFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkLeaveFrame)\\n return object;\\n return new $root.SdkLeaveFrame();\\n };\\n\\n /**\\n * Creates a plain object from a SdkLeaveFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkLeaveFrame\\n * @static\\n * @param {SdkLeaveFrame} message SdkLeaveFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkLeaveFrame.toObject = function toObject() {\\n return {};\\n };\\n\\n /**\\n * Converts this SdkLeaveFrame to JSON.\\n * @function toJSON\\n * @memberof SdkLeaveFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkLeaveFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkLeaveFrame;\\n})();\\n\\n$root.SdkLeaveAckFrame = (function() {\\n\\n /**\\n * Properties of a SdkLeaveAckFrame.\\n * @exports ISdkLeaveAckFrame\\n * @interface ISdkLeaveAckFrame\\n */\\n\\n /**\\n * Constructs a new SdkLeaveAckFrame.\\n * @exports SdkLeaveAckFrame\\n * @classdesc Represents a SdkLeaveAckFrame.\\n * @implements ISdkLeaveAckFrame\\n * @constructor\\n * @param {ISdkLeaveAckFrame=} [properties] Properties to set\\n */\\n function SdkLeaveAckFrame(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * Creates a new SdkLeaveAckFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkLeaveAckFrame\\n * @static\\n * @param {ISdkLeaveAckFrame=} [properties] Properties to set\\n * @returns {SdkLeaveAckFrame} SdkLeaveAckFrame instance\\n */\\n SdkLeaveAckFrame.create = function create(properties) {\\n return new SdkLeaveAckFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkLeaveAckFrame message. Does not implicitly {@link SdkLeaveAckFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkLeaveAckFrame\\n * @static\\n * @param {ISdkLeaveAckFrame} message SdkLeaveAckFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkLeaveAckFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkLeaveAckFrame message, length delimited. Does not implicitly {@link SdkLeaveAckFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkLeaveAckFrame\\n * @static\\n * @param {ISdkLeaveAckFrame} message SdkLeaveAckFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkLeaveAckFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkLeaveAckFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkLeaveAckFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkLeaveAckFrame} SdkLeaveAckFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkLeaveAckFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkLeaveAckFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkLeaveAckFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkLeaveAckFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkLeaveAckFrame} SdkLeaveAckFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkLeaveAckFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkLeaveAckFrame message.\\n * @function verify\\n * @memberof SdkLeaveAckFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkLeaveAckFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkLeaveAckFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkLeaveAckFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkLeaveAckFrame} SdkLeaveAckFrame\\n */\\n SdkLeaveAckFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkLeaveAckFrame)\\n return object;\\n return new $root.SdkLeaveAckFrame();\\n };\\n\\n /**\\n * Creates a plain object from a SdkLeaveAckFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkLeaveAckFrame\\n * @static\\n * @param {SdkLeaveAckFrame} message SdkLeaveAckFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkLeaveAckFrame.toObject = function toObject() {\\n return {};\\n };\\n\\n /**\\n * Converts this SdkLeaveAckFrame to JSON.\\n * @function toJSON\\n * @memberof SdkLeaveAckFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkLeaveAckFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkLeaveAckFrame;\\n})();\\n\\n/**\\n * SdkStreamServiceType enum.\\n * @exports SdkStreamServiceType\\n * @enum {number}\\n * @property {number} RX=1 RX value\\n * @property {number} TX=2 TX value\\n * @property {number} DUPLEX=3 DUPLEX value\\n */\\n$root.SdkStreamServiceType = (function() {\\n var valuesById = {}, values = Object.create(valuesById);\\n values[valuesById[1] = \\\"RX\\\"] = 1;\\n values[valuesById[2] = \\\"TX\\\"] = 2;\\n values[valuesById[3] = \\\"DUPLEX\\\"] = 3;\\n return values;\\n})();\\n\\n/**\\n * SdkStreamMediaType enum.\\n * @exports SdkStreamMediaType\\n * @enum {number}\\n * @property {number} AUDIO=1 AUDIO value\\n * @property {number} VIDEO=2 VIDEO value\\n */\\n$root.SdkStreamMediaType = (function() {\\n var valuesById = {}, values = Object.create(valuesById);\\n values[valuesById[1] = \\\"AUDIO\\\"] = 1;\\n values[valuesById[2] = \\\"VIDEO\\\"] = 2;\\n return values;\\n})();\\n\\n$root.SdkSubscribeFrame = (function() {\\n\\n /**\\n * Properties of a SdkSubscribeFrame.\\n * @exports ISdkSubscribeFrame\\n * @interface ISdkSubscribeFrame\\n * @property {SdkStreamServiceType|null} [duplex] SdkSubscribeFrame duplex\\n * @property {Array.<ISdkStreamDescriptor>|null} [sendStreams] SdkSubscribeFrame sendStreams\\n * @property {Array.<number>|null} [receiveStreamIds] SdkSubscribeFrame receiveStreamIds\\n * @property {string|null} [sdpOffer] SdkSubscribeFrame sdpOffer\\n * @property {string|null} [audioHost] SdkSubscribeFrame audioHost\\n * @property {boolean|null} [audioCheckin] SdkSubscribeFrame audioCheckin\\n * @property {boolean|null} [audioMuted] SdkSubscribeFrame audioMuted\\n * @property {Uint8Array|null} [compressedSdpOffer] SdkSubscribeFrame compressedSdpOffer\\n * @property {Array.<ISdkVideoSubscriptionConfiguration>|null} [videoSubscriptionConfiguration] SdkSubscribeFrame videoSubscriptionConfiguration\\n */\\n\\n /**\\n * Constructs a new SdkSubscribeFrame.\\n * @exports SdkSubscribeFrame\\n * @classdesc Represents a SdkSubscribeFrame.\\n * @implements ISdkSubscribeFrame\\n * @constructor\\n * @param {ISdkSubscribeFrame=} [properties] Properties to set\\n */\\n function SdkSubscribeFrame(properties) {\\n this.sendStreams = [];\\n this.receiveStreamIds = [];\\n this.videoSubscriptionConfiguration = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkSubscribeFrame duplex.\\n * @member {SdkStreamServiceType} duplex\\n * @memberof SdkSubscribeFrame\\n * @instance\\n */\\n SdkSubscribeFrame.prototype.duplex = 1;\\n\\n /**\\n * SdkSubscribeFrame sendStreams.\\n * @member {Array.<ISdkStreamDescriptor>} sendStreams\\n * @memberof SdkSubscribeFrame\\n * @instance\\n */\\n SdkSubscribeFrame.prototype.sendStreams = $util.emptyArray;\\n\\n /**\\n * SdkSubscribeFrame receiveStreamIds.\\n * @member {Array.<number>} receiveStreamIds\\n * @memberof SdkSubscribeFrame\\n * @instance\\n */\\n SdkSubscribeFrame.prototype.receiveStreamIds = $util.emptyArray;\\n\\n /**\\n * SdkSubscribeFrame sdpOffer.\\n * @member {string} sdpOffer\\n * @memberof SdkSubscribeFrame\\n * @instance\\n */\\n SdkSubscribeFrame.prototype.sdpOffer = \\\"\\\";\\n\\n /**\\n * SdkSubscribeFrame audioHost.\\n * @member {string} audioHost\\n * @memberof SdkSubscribeFrame\\n * @instance\\n */\\n SdkSubscribeFrame.prototype.audioHost = \\\"\\\";\\n\\n /**\\n * SdkSubscribeFrame audioCheckin.\\n * @member {boolean} audioCheckin\\n * @memberof SdkSubscribeFrame\\n * @instance\\n */\\n SdkSubscribeFrame.prototype.audioCheckin = false;\\n\\n /**\\n * SdkSubscribeFrame audioMuted.\\n * @member {boolean} audioMuted\\n * @memberof SdkSubscribeFrame\\n * @instance\\n */\\n SdkSubscribeFrame.prototype.audioMuted = false;\\n\\n /**\\n * SdkSubscribeFrame compressedSdpOffer.\\n * @member {Uint8Array} compressedSdpOffer\\n * @memberof SdkSubscribeFrame\\n * @instance\\n */\\n SdkSubscribeFrame.prototype.compressedSdpOffer = $util.newBuffer([]);\\n\\n /**\\n * SdkSubscribeFrame videoSubscriptionConfiguration.\\n * @member {Array.<ISdkVideoSubscriptionConfiguration>} videoSubscriptionConfiguration\\n * @memberof SdkSubscribeFrame\\n * @instance\\n */\\n SdkSubscribeFrame.prototype.videoSubscriptionConfiguration = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkSubscribeFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkSubscribeFrame\\n * @static\\n * @param {ISdkSubscribeFrame=} [properties] Properties to set\\n * @returns {SdkSubscribeFrame} SdkSubscribeFrame instance\\n */\\n SdkSubscribeFrame.create = function create(properties) {\\n return new SdkSubscribeFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkSubscribeFrame message. Does not implicitly {@link SdkSubscribeFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkSubscribeFrame\\n * @static\\n * @param {ISdkSubscribeFrame} message SdkSubscribeFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkSubscribeFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.duplex != null && Object.hasOwnProperty.call(message, \\\"duplex\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.duplex);\\n if (message.sendStreams != null && message.sendStreams.length)\\n for (var i = 0; i < message.sendStreams.length; ++i)\\n $root.SdkStreamDescriptor.encode(message.sendStreams[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\\n if (message.receiveStreamIds != null && message.receiveStreamIds.length)\\n for (var i = 0; i < message.receiveStreamIds.length; ++i)\\n writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.receiveStreamIds[i]);\\n if (message.sdpOffer != null && Object.hasOwnProperty.call(message, \\\"sdpOffer\\\"))\\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.sdpOffer);\\n if (message.audioHost != null && Object.hasOwnProperty.call(message, \\\"audioHost\\\"))\\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.audioHost);\\n if (message.audioCheckin != null && Object.hasOwnProperty.call(message, \\\"audioCheckin\\\"))\\n writer.uint32(/* id 6, wireType 0 =*/48).bool(message.audioCheckin);\\n if (message.audioMuted != null && Object.hasOwnProperty.call(message, \\\"audioMuted\\\"))\\n writer.uint32(/* id 7, wireType 0 =*/56).bool(message.audioMuted);\\n if (message.compressedSdpOffer != null && Object.hasOwnProperty.call(message, \\\"compressedSdpOffer\\\"))\\n writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.compressedSdpOffer);\\n if (message.videoSubscriptionConfiguration != null && message.videoSubscriptionConfiguration.length)\\n for (var i = 0; i < message.videoSubscriptionConfiguration.length; ++i)\\n $root.SdkVideoSubscriptionConfiguration.encode(message.videoSubscriptionConfiguration[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkSubscribeFrame message, length delimited. Does not implicitly {@link SdkSubscribeFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkSubscribeFrame\\n * @static\\n * @param {ISdkSubscribeFrame} message SdkSubscribeFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkSubscribeFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkSubscribeFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkSubscribeFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkSubscribeFrame} SdkSubscribeFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkSubscribeFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkSubscribeFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.duplex = reader.int32();\\n break;\\n case 2:\\n if (!(message.sendStreams && message.sendStreams.length))\\n message.sendStreams = [];\\n message.sendStreams.push($root.SdkStreamDescriptor.decode(reader, reader.uint32()));\\n break;\\n case 3:\\n if (!(message.receiveStreamIds && message.receiveStreamIds.length))\\n message.receiveStreamIds = [];\\n if ((tag & 7) === 2) {\\n var end2 = reader.uint32() + reader.pos;\\n while (reader.pos < end2)\\n message.receiveStreamIds.push(reader.uint32());\\n } else\\n message.receiveStreamIds.push(reader.uint32());\\n break;\\n case 4:\\n message.sdpOffer = reader.string();\\n break;\\n case 5:\\n message.audioHost = reader.string();\\n break;\\n case 6:\\n message.audioCheckin = reader.bool();\\n break;\\n case 7:\\n message.audioMuted = reader.bool();\\n break;\\n case 8:\\n message.compressedSdpOffer = reader.bytes();\\n break;\\n case 9:\\n if (!(message.videoSubscriptionConfiguration && message.videoSubscriptionConfiguration.length))\\n message.videoSubscriptionConfiguration = [];\\n message.videoSubscriptionConfiguration.push($root.SdkVideoSubscriptionConfiguration.decode(reader, reader.uint32()));\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkSubscribeFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkSubscribeFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkSubscribeFrame} SdkSubscribeFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkSubscribeFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkSubscribeFrame message.\\n * @function verify\\n * @memberof SdkSubscribeFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkSubscribeFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.duplex != null && message.hasOwnProperty(\\\"duplex\\\"))\\n switch (message.duplex) {\\n default:\\n return \\\"duplex: enum value expected\\\";\\n case 1:\\n case 2:\\n case 3:\\n break;\\n }\\n if (message.sendStreams != null && message.hasOwnProperty(\\\"sendStreams\\\")) {\\n if (!Array.isArray(message.sendStreams))\\n return \\\"sendStreams: array expected\\\";\\n for (var i = 0; i < message.sendStreams.length; ++i) {\\n var error = $root.SdkStreamDescriptor.verify(message.sendStreams[i]);\\n if (error)\\n return \\\"sendStreams.\\\" + error;\\n }\\n }\\n if (message.receiveStreamIds != null && message.hasOwnProperty(\\\"receiveStreamIds\\\")) {\\n if (!Array.isArray(message.receiveStreamIds))\\n return \\\"receiveStreamIds: array expected\\\";\\n for (var i = 0; i < message.receiveStreamIds.length; ++i)\\n if (!$util.isInteger(message.receiveStreamIds[i]))\\n return \\\"receiveStreamIds: integer[] expected\\\";\\n }\\n if (message.sdpOffer != null && message.hasOwnProperty(\\\"sdpOffer\\\"))\\n if (!$util.isString(message.sdpOffer))\\n return \\\"sdpOffer: string expected\\\";\\n if (message.audioHost != null && message.hasOwnProperty(\\\"audioHost\\\"))\\n if (!$util.isString(message.audioHost))\\n return \\\"audioHost: string expected\\\";\\n if (message.audioCheckin != null && message.hasOwnProperty(\\\"audioCheckin\\\"))\\n if (typeof message.audioCheckin !== \\\"boolean\\\")\\n return \\\"audioCheckin: boolean expected\\\";\\n if (message.audioMuted != null && message.hasOwnProperty(\\\"audioMuted\\\"))\\n if (typeof message.audioMuted !== \\\"boolean\\\")\\n return \\\"audioMuted: boolean expected\\\";\\n if (message.compressedSdpOffer != null && message.hasOwnProperty(\\\"compressedSdpOffer\\\"))\\n if (!(message.compressedSdpOffer && typeof message.compressedSdpOffer.length === \\\"number\\\" || $util.isString(message.compressedSdpOffer)))\\n return \\\"compressedSdpOffer: buffer expected\\\";\\n if (message.videoSubscriptionConfiguration != null && message.hasOwnProperty(\\\"videoSubscriptionConfiguration\\\")) {\\n if (!Array.isArray(message.videoSubscriptionConfiguration))\\n return \\\"videoSubscriptionConfiguration: array expected\\\";\\n for (var i = 0; i < message.videoSubscriptionConfiguration.length; ++i) {\\n var error = $root.SdkVideoSubscriptionConfiguration.verify(message.videoSubscriptionConfiguration[i]);\\n if (error)\\n return \\\"videoSubscriptionConfiguration.\\\" + error;\\n }\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkSubscribeFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkSubscribeFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkSubscribeFrame} SdkSubscribeFrame\\n */\\n SdkSubscribeFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkSubscribeFrame)\\n return object;\\n var message = new $root.SdkSubscribeFrame();\\n switch (object.duplex) {\\n case \\\"RX\\\":\\n case 1:\\n message.duplex = 1;\\n break;\\n case \\\"TX\\\":\\n case 2:\\n message.duplex = 2;\\n break;\\n case \\\"DUPLEX\\\":\\n case 3:\\n message.duplex = 3;\\n break;\\n }\\n if (object.sendStreams) {\\n if (!Array.isArray(object.sendStreams))\\n throw TypeError(\\\".SdkSubscribeFrame.sendStreams: array expected\\\");\\n message.sendStreams = [];\\n for (var i = 0; i < object.sendStreams.length; ++i) {\\n if (typeof object.sendStreams[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkSubscribeFrame.sendStreams: object expected\\\");\\n message.sendStreams[i] = $root.SdkStreamDescriptor.fromObject(object.sendStreams[i]);\\n }\\n }\\n if (object.receiveStreamIds) {\\n if (!Array.isArray(object.receiveStreamIds))\\n throw TypeError(\\\".SdkSubscribeFrame.receiveStreamIds: array expected\\\");\\n message.receiveStreamIds = [];\\n for (var i = 0; i < object.receiveStreamIds.length; ++i)\\n message.receiveStreamIds[i] = object.receiveStreamIds[i] >>> 0;\\n }\\n if (object.sdpOffer != null)\\n message.sdpOffer = String(object.sdpOffer);\\n if (object.audioHost != null)\\n message.audioHost = String(object.audioHost);\\n if (object.audioCheckin != null)\\n message.audioCheckin = Boolean(object.audioCheckin);\\n if (object.audioMuted != null)\\n message.audioMuted = Boolean(object.audioMuted);\\n if (object.compressedSdpOffer != null)\\n if (typeof object.compressedSdpOffer === \\\"string\\\")\\n $util.base64.decode(object.compressedSdpOffer, message.compressedSdpOffer = $util.newBuffer($util.base64.length(object.compressedSdpOffer)), 0);\\n else if (object.compressedSdpOffer.length)\\n message.compressedSdpOffer = object.compressedSdpOffer;\\n if (object.videoSubscriptionConfiguration) {\\n if (!Array.isArray(object.videoSubscriptionConfiguration))\\n throw TypeError(\\\".SdkSubscribeFrame.videoSubscriptionConfiguration: array expected\\\");\\n message.videoSubscriptionConfiguration = [];\\n for (var i = 0; i < object.videoSubscriptionConfiguration.length; ++i) {\\n if (typeof object.videoSubscriptionConfiguration[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkSubscribeFrame.videoSubscriptionConfiguration: object expected\\\");\\n message.videoSubscriptionConfiguration[i] = $root.SdkVideoSubscriptionConfiguration.fromObject(object.videoSubscriptionConfiguration[i]);\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkSubscribeFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkSubscribeFrame\\n * @static\\n * @param {SdkSubscribeFrame} message SdkSubscribeFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkSubscribeFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults) {\\n object.sendStreams = [];\\n object.receiveStreamIds = [];\\n object.videoSubscriptionConfiguration = [];\\n }\\n if (options.defaults) {\\n object.duplex = options.enums === String ? \\\"RX\\\" : 1;\\n object.sdpOffer = \\\"\\\";\\n object.audioHost = \\\"\\\";\\n object.audioCheckin = false;\\n object.audioMuted = false;\\n if (options.bytes === String)\\n object.compressedSdpOffer = \\\"\\\";\\n else {\\n object.compressedSdpOffer = [];\\n if (options.bytes !== Array)\\n object.compressedSdpOffer = $util.newBuffer(object.compressedSdpOffer);\\n }\\n }\\n if (message.duplex != null && message.hasOwnProperty(\\\"duplex\\\"))\\n object.duplex = options.enums === String ? $root.SdkStreamServiceType[message.duplex] : message.duplex;\\n if (message.sendStreams && message.sendStreams.length) {\\n object.sendStreams = [];\\n for (var j = 0; j < message.sendStreams.length; ++j)\\n object.sendStreams[j] = $root.SdkStreamDescriptor.toObject(message.sendStreams[j], options);\\n }\\n if (message.receiveStreamIds && message.receiveStreamIds.length) {\\n object.receiveStreamIds = [];\\n for (var j = 0; j < message.receiveStreamIds.length; ++j)\\n object.receiveStreamIds[j] = message.receiveStreamIds[j];\\n }\\n if (message.sdpOffer != null && message.hasOwnProperty(\\\"sdpOffer\\\"))\\n object.sdpOffer = message.sdpOffer;\\n if (message.audioHost != null && message.hasOwnProperty(\\\"audioHost\\\"))\\n object.audioHost = message.audioHost;\\n if (message.audioCheckin != null && message.hasOwnProperty(\\\"audioCheckin\\\"))\\n object.audioCheckin = message.audioCheckin;\\n if (message.audioMuted != null && message.hasOwnProperty(\\\"audioMuted\\\"))\\n object.audioMuted = message.audioMuted;\\n if (message.compressedSdpOffer != null && message.hasOwnProperty(\\\"compressedSdpOffer\\\"))\\n object.compressedSdpOffer = options.bytes === String ? $util.base64.encode(message.compressedSdpOffer, 0, message.compressedSdpOffer.length) : options.bytes === Array ? Array.prototype.slice.call(message.compressedSdpOffer) : message.compressedSdpOffer;\\n if (message.videoSubscriptionConfiguration && message.videoSubscriptionConfiguration.length) {\\n object.videoSubscriptionConfiguration = [];\\n for (var j = 0; j < message.videoSubscriptionConfiguration.length; ++j)\\n object.videoSubscriptionConfiguration[j] = $root.SdkVideoSubscriptionConfiguration.toObject(message.videoSubscriptionConfiguration[j], options);\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkSubscribeFrame to JSON.\\n * @function toJSON\\n * @memberof SdkSubscribeFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkSubscribeFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkSubscribeFrame;\\n})();\\n\\n$root.SdkSubscribeAckFrame = (function() {\\n\\n /**\\n * Properties of a SdkSubscribeAckFrame.\\n * @exports ISdkSubscribeAckFrame\\n * @interface ISdkSubscribeAckFrame\\n * @property {SdkStreamServiceType|null} [duplex] SdkSubscribeAckFrame duplex\\n * @property {Array.<ISdkStreamAllocation>|null} [allocations] SdkSubscribeAckFrame allocations\\n * @property {string|null} [sdpAnswer] SdkSubscribeAckFrame sdpAnswer\\n * @property {Array.<ISdkTrackMapping>|null} [tracks] SdkSubscribeAckFrame tracks\\n * @property {Uint8Array|null} [compressedSdpAnswer] SdkSubscribeAckFrame compressedSdpAnswer\\n */\\n\\n /**\\n * Constructs a new SdkSubscribeAckFrame.\\n * @exports SdkSubscribeAckFrame\\n * @classdesc Represents a SdkSubscribeAckFrame.\\n * @implements ISdkSubscribeAckFrame\\n * @constructor\\n * @param {ISdkSubscribeAckFrame=} [properties] Properties to set\\n */\\n function SdkSubscribeAckFrame(properties) {\\n this.allocations = [];\\n this.tracks = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkSubscribeAckFrame duplex.\\n * @member {SdkStreamServiceType} duplex\\n * @memberof SdkSubscribeAckFrame\\n * @instance\\n */\\n SdkSubscribeAckFrame.prototype.duplex = 1;\\n\\n /**\\n * SdkSubscribeAckFrame allocations.\\n * @member {Array.<ISdkStreamAllocation>} allocations\\n * @memberof SdkSubscribeAckFrame\\n * @instance\\n */\\n SdkSubscribeAckFrame.prototype.allocations = $util.emptyArray;\\n\\n /**\\n * SdkSubscribeAckFrame sdpAnswer.\\n * @member {string} sdpAnswer\\n * @memberof SdkSubscribeAckFrame\\n * @instance\\n */\\n SdkSubscribeAckFrame.prototype.sdpAnswer = \\\"\\\";\\n\\n /**\\n * SdkSubscribeAckFrame tracks.\\n * @member {Array.<ISdkTrackMapping>} tracks\\n * @memberof SdkSubscribeAckFrame\\n * @instance\\n */\\n SdkSubscribeAckFrame.prototype.tracks = $util.emptyArray;\\n\\n /**\\n * SdkSubscribeAckFrame compressedSdpAnswer.\\n * @member {Uint8Array} compressedSdpAnswer\\n * @memberof SdkSubscribeAckFrame\\n * @instance\\n */\\n SdkSubscribeAckFrame.prototype.compressedSdpAnswer = $util.newBuffer([]);\\n\\n /**\\n * Creates a new SdkSubscribeAckFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkSubscribeAckFrame\\n * @static\\n * @param {ISdkSubscribeAckFrame=} [properties] Properties to set\\n * @returns {SdkSubscribeAckFrame} SdkSubscribeAckFrame instance\\n */\\n SdkSubscribeAckFrame.create = function create(properties) {\\n return new SdkSubscribeAckFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkSubscribeAckFrame message. Does not implicitly {@link SdkSubscribeAckFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkSubscribeAckFrame\\n * @static\\n * @param {ISdkSubscribeAckFrame} message SdkSubscribeAckFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkSubscribeAckFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.duplex != null && Object.hasOwnProperty.call(message, \\\"duplex\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.duplex);\\n if (message.allocations != null && message.allocations.length)\\n for (var i = 0; i < message.allocations.length; ++i)\\n $root.SdkStreamAllocation.encode(message.allocations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\\n if (message.sdpAnswer != null && Object.hasOwnProperty.call(message, \\\"sdpAnswer\\\"))\\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.sdpAnswer);\\n if (message.tracks != null && message.tracks.length)\\n for (var i = 0; i < message.tracks.length; ++i)\\n $root.SdkTrackMapping.encode(message.tracks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();\\n if (message.compressedSdpAnswer != null && Object.hasOwnProperty.call(message, \\\"compressedSdpAnswer\\\"))\\n writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.compressedSdpAnswer);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkSubscribeAckFrame message, length delimited. Does not implicitly {@link SdkSubscribeAckFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkSubscribeAckFrame\\n * @static\\n * @param {ISdkSubscribeAckFrame} message SdkSubscribeAckFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkSubscribeAckFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkSubscribeAckFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkSubscribeAckFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkSubscribeAckFrame} SdkSubscribeAckFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkSubscribeAckFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkSubscribeAckFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.duplex = reader.int32();\\n break;\\n case 2:\\n if (!(message.allocations && message.allocations.length))\\n message.allocations = [];\\n message.allocations.push($root.SdkStreamAllocation.decode(reader, reader.uint32()));\\n break;\\n case 3:\\n message.sdpAnswer = reader.string();\\n break;\\n case 4:\\n if (!(message.tracks && message.tracks.length))\\n message.tracks = [];\\n message.tracks.push($root.SdkTrackMapping.decode(reader, reader.uint32()));\\n break;\\n case 5:\\n message.compressedSdpAnswer = reader.bytes();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkSubscribeAckFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkSubscribeAckFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkSubscribeAckFrame} SdkSubscribeAckFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkSubscribeAckFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkSubscribeAckFrame message.\\n * @function verify\\n * @memberof SdkSubscribeAckFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkSubscribeAckFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.duplex != null && message.hasOwnProperty(\\\"duplex\\\"))\\n switch (message.duplex) {\\n default:\\n return \\\"duplex: enum value expected\\\";\\n case 1:\\n case 2:\\n case 3:\\n break;\\n }\\n if (message.allocations != null && message.hasOwnProperty(\\\"allocations\\\")) {\\n if (!Array.isArray(message.allocations))\\n return \\\"allocations: array expected\\\";\\n for (var i = 0; i < message.allocations.length; ++i) {\\n var error = $root.SdkStreamAllocation.verify(message.allocations[i]);\\n if (error)\\n return \\\"allocations.\\\" + error;\\n }\\n }\\n if (message.sdpAnswer != null && message.hasOwnProperty(\\\"sdpAnswer\\\"))\\n if (!$util.isString(message.sdpAnswer))\\n return \\\"sdpAnswer: string expected\\\";\\n if (message.tracks != null && message.hasOwnProperty(\\\"tracks\\\")) {\\n if (!Array.isArray(message.tracks))\\n return \\\"tracks: array expected\\\";\\n for (var i = 0; i < message.tracks.length; ++i) {\\n var error = $root.SdkTrackMapping.verify(message.tracks[i]);\\n if (error)\\n return \\\"tracks.\\\" + error;\\n }\\n }\\n if (message.compressedSdpAnswer != null && message.hasOwnProperty(\\\"compressedSdpAnswer\\\"))\\n if (!(message.compressedSdpAnswer && typeof message.compressedSdpAnswer.length === \\\"number\\\" || $util.isString(message.compressedSdpAnswer)))\\n return \\\"compressedSdpAnswer: buffer expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkSubscribeAckFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkSubscribeAckFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkSubscribeAckFrame} SdkSubscribeAckFrame\\n */\\n SdkSubscribeAckFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkSubscribeAckFrame)\\n return object;\\n var message = new $root.SdkSubscribeAckFrame();\\n switch (object.duplex) {\\n case \\\"RX\\\":\\n case 1:\\n message.duplex = 1;\\n break;\\n case \\\"TX\\\":\\n case 2:\\n message.duplex = 2;\\n break;\\n case \\\"DUPLEX\\\":\\n case 3:\\n message.duplex = 3;\\n break;\\n }\\n if (object.allocations) {\\n if (!Array.isArray(object.allocations))\\n throw TypeError(\\\".SdkSubscribeAckFrame.allocations: array expected\\\");\\n message.allocations = [];\\n for (var i = 0; i < object.allocations.length; ++i) {\\n if (typeof object.allocations[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkSubscribeAckFrame.allocations: object expected\\\");\\n message.allocations[i] = $root.SdkStreamAllocation.fromObject(object.allocations[i]);\\n }\\n }\\n if (object.sdpAnswer != null)\\n message.sdpAnswer = String(object.sdpAnswer);\\n if (object.tracks) {\\n if (!Array.isArray(object.tracks))\\n throw TypeError(\\\".SdkSubscribeAckFrame.tracks: array expected\\\");\\n message.tracks = [];\\n for (var i = 0; i < object.tracks.length; ++i) {\\n if (typeof object.tracks[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkSubscribeAckFrame.tracks: object expected\\\");\\n message.tracks[i] = $root.SdkTrackMapping.fromObject(object.tracks[i]);\\n }\\n }\\n if (object.compressedSdpAnswer != null)\\n if (typeof object.compressedSdpAnswer === \\\"string\\\")\\n $util.base64.decode(object.compressedSdpAnswer, message.compressedSdpAnswer = $util.newBuffer($util.base64.length(object.compressedSdpAnswer)), 0);\\n else if (object.compressedSdpAnswer.length)\\n message.compressedSdpAnswer = object.compressedSdpAnswer;\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkSubscribeAckFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkSubscribeAckFrame\\n * @static\\n * @param {SdkSubscribeAckFrame} message SdkSubscribeAckFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkSubscribeAckFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults) {\\n object.allocations = [];\\n object.tracks = [];\\n }\\n if (options.defaults) {\\n object.duplex = options.enums === String ? \\\"RX\\\" : 1;\\n object.sdpAnswer = \\\"\\\";\\n if (options.bytes === String)\\n object.compressedSdpAnswer = \\\"\\\";\\n else {\\n object.compressedSdpAnswer = [];\\n if (options.bytes !== Array)\\n object.compressedSdpAnswer = $util.newBuffer(object.compressedSdpAnswer);\\n }\\n }\\n if (message.duplex != null && message.hasOwnProperty(\\\"duplex\\\"))\\n object.duplex = options.enums === String ? $root.SdkStreamServiceType[message.duplex] : message.duplex;\\n if (message.allocations && message.allocations.length) {\\n object.allocations = [];\\n for (var j = 0; j < message.allocations.length; ++j)\\n object.allocations[j] = $root.SdkStreamAllocation.toObject(message.allocations[j], options);\\n }\\n if (message.sdpAnswer != null && message.hasOwnProperty(\\\"sdpAnswer\\\"))\\n object.sdpAnswer = message.sdpAnswer;\\n if (message.tracks && message.tracks.length) {\\n object.tracks = [];\\n for (var j = 0; j < message.tracks.length; ++j)\\n object.tracks[j] = $root.SdkTrackMapping.toObject(message.tracks[j], options);\\n }\\n if (message.compressedSdpAnswer != null && message.hasOwnProperty(\\\"compressedSdpAnswer\\\"))\\n object.compressedSdpAnswer = options.bytes === String ? $util.base64.encode(message.compressedSdpAnswer, 0, message.compressedSdpAnswer.length) : options.bytes === Array ? Array.prototype.slice.call(message.compressedSdpAnswer) : message.compressedSdpAnswer;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkSubscribeAckFrame to JSON.\\n * @function toJSON\\n * @memberof SdkSubscribeAckFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkSubscribeAckFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkSubscribeAckFrame;\\n})();\\n\\n$root.SdkIndexFrame = (function() {\\n\\n /**\\n * Properties of a SdkIndexFrame.\\n * @exports ISdkIndexFrame\\n * @interface ISdkIndexFrame\\n * @property {boolean|null} [atCapacity] SdkIndexFrame atCapacity\\n * @property {Array.<ISdkStreamDescriptor>|null} [sources] SdkIndexFrame sources\\n * @property {Array.<number>|null} [pausedAtSourceIds] SdkIndexFrame pausedAtSourceIds\\n * @property {number|null} [numParticipants] SdkIndexFrame numParticipants\\n * @property {Array.<SdkVideoCodecCapability>|null} [supportedReceiveCodecIntersection] SdkIndexFrame supportedReceiveCodecIntersection\\n */\\n\\n /**\\n * Constructs a new SdkIndexFrame.\\n * @exports SdkIndexFrame\\n * @classdesc Represents a SdkIndexFrame.\\n * @implements ISdkIndexFrame\\n * @constructor\\n * @param {ISdkIndexFrame=} [properties] Properties to set\\n */\\n function SdkIndexFrame(properties) {\\n this.sources = [];\\n this.pausedAtSourceIds = [];\\n this.supportedReceiveCodecIntersection = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkIndexFrame atCapacity.\\n * @member {boolean} atCapacity\\n * @memberof SdkIndexFrame\\n * @instance\\n */\\n SdkIndexFrame.prototype.atCapacity = false;\\n\\n /**\\n * SdkIndexFrame sources.\\n * @member {Array.<ISdkStreamDescriptor>} sources\\n * @memberof SdkIndexFrame\\n * @instance\\n */\\n SdkIndexFrame.prototype.sources = $util.emptyArray;\\n\\n /**\\n * SdkIndexFrame pausedAtSourceIds.\\n * @member {Array.<number>} pausedAtSourceIds\\n * @memberof SdkIndexFrame\\n * @instance\\n */\\n SdkIndexFrame.prototype.pausedAtSourceIds = $util.emptyArray;\\n\\n /**\\n * SdkIndexFrame numParticipants.\\n * @member {number} numParticipants\\n * @memberof SdkIndexFrame\\n * @instance\\n */\\n SdkIndexFrame.prototype.numParticipants = 0;\\n\\n /**\\n * SdkIndexFrame supportedReceiveCodecIntersection.\\n * @member {Array.<SdkVideoCodecCapability>} supportedReceiveCodecIntersection\\n * @memberof SdkIndexFrame\\n * @instance\\n */\\n SdkIndexFrame.prototype.supportedReceiveCodecIntersection = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkIndexFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkIndexFrame\\n * @static\\n * @param {ISdkIndexFrame=} [properties] Properties to set\\n * @returns {SdkIndexFrame} SdkIndexFrame instance\\n */\\n SdkIndexFrame.create = function create(properties) {\\n return new SdkIndexFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkIndexFrame message. Does not implicitly {@link SdkIndexFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkIndexFrame\\n * @static\\n * @param {ISdkIndexFrame} message SdkIndexFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkIndexFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.atCapacity != null && Object.hasOwnProperty.call(message, \\\"atCapacity\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).bool(message.atCapacity);\\n if (message.sources != null && message.sources.length)\\n for (var i = 0; i < message.sources.length; ++i)\\n $root.SdkStreamDescriptor.encode(message.sources[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\\n if (message.pausedAtSourceIds != null && message.pausedAtSourceIds.length)\\n for (var i = 0; i < message.pausedAtSourceIds.length; ++i)\\n writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.pausedAtSourceIds[i]);\\n if (message.numParticipants != null && Object.hasOwnProperty.call(message, \\\"numParticipants\\\"))\\n writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.numParticipants);\\n if (message.supportedReceiveCodecIntersection != null && message.supportedReceiveCodecIntersection.length)\\n for (var i = 0; i < message.supportedReceiveCodecIntersection.length; ++i)\\n writer.uint32(/* id 5, wireType 0 =*/40).int32(message.supportedReceiveCodecIntersection[i]);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkIndexFrame message, length delimited. Does not implicitly {@link SdkIndexFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkIndexFrame\\n * @static\\n * @param {ISdkIndexFrame} message SdkIndexFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkIndexFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkIndexFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkIndexFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkIndexFrame} SdkIndexFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkIndexFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkIndexFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.atCapacity = reader.bool();\\n break;\\n case 2:\\n if (!(message.sources && message.sources.length))\\n message.sources = [];\\n message.sources.push($root.SdkStreamDescriptor.decode(reader, reader.uint32()));\\n break;\\n case 3:\\n if (!(message.pausedAtSourceIds && message.pausedAtSourceIds.length))\\n message.pausedAtSourceIds = [];\\n if ((tag & 7) === 2) {\\n var end2 = reader.uint32() + reader.pos;\\n while (reader.pos < end2)\\n message.pausedAtSourceIds.push(reader.uint32());\\n } else\\n message.pausedAtSourceIds.push(reader.uint32());\\n break;\\n case 4:\\n message.numParticipants = reader.uint32();\\n break;\\n case 5:\\n if (!(message.supportedReceiveCodecIntersection && message.supportedReceiveCodecIntersection.length))\\n message.supportedReceiveCodecIntersection = [];\\n if ((tag & 7) === 2) {\\n var end2 = reader.uint32() + reader.pos;\\n while (reader.pos < end2)\\n message.supportedReceiveCodecIntersection.push(reader.int32());\\n } else\\n message.supportedReceiveCodecIntersection.push(reader.int32());\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkIndexFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkIndexFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkIndexFrame} SdkIndexFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkIndexFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkIndexFrame message.\\n * @function verify\\n * @memberof SdkIndexFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkIndexFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.atCapacity != null && message.hasOwnProperty(\\\"atCapacity\\\"))\\n if (typeof message.atCapacity !== \\\"boolean\\\")\\n return \\\"atCapacity: boolean expected\\\";\\n if (message.sources != null && message.hasOwnProperty(\\\"sources\\\")) {\\n if (!Array.isArray(message.sources))\\n return \\\"sources: array expected\\\";\\n for (var i = 0; i < message.sources.length; ++i) {\\n var error = $root.SdkStreamDescriptor.verify(message.sources[i]);\\n if (error)\\n return \\\"sources.\\\" + error;\\n }\\n }\\n if (message.pausedAtSourceIds != null && message.hasOwnProperty(\\\"pausedAtSourceIds\\\")) {\\n if (!Array.isArray(message.pausedAtSourceIds))\\n return \\\"pausedAtSourceIds: array expected\\\";\\n for (var i = 0; i < message.pausedAtSourceIds.length; ++i)\\n if (!$util.isInteger(message.pausedAtSourceIds[i]))\\n return \\\"pausedAtSourceIds: integer[] expected\\\";\\n }\\n if (message.numParticipants != null && message.hasOwnProperty(\\\"numParticipants\\\"))\\n if (!$util.isInteger(message.numParticipants))\\n return \\\"numParticipants: integer expected\\\";\\n if (message.supportedReceiveCodecIntersection != null && message.hasOwnProperty(\\\"supportedReceiveCodecIntersection\\\")) {\\n if (!Array.isArray(message.supportedReceiveCodecIntersection))\\n return \\\"supportedReceiveCodecIntersection: array expected\\\";\\n for (var i = 0; i < message.supportedReceiveCodecIntersection.length; ++i)\\n switch (message.supportedReceiveCodecIntersection[i]) {\\n default:\\n return \\\"supportedReceiveCodecIntersection: enum value[] expected\\\";\\n case 1:\\n case 3:\\n break;\\n }\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkIndexFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkIndexFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkIndexFrame} SdkIndexFrame\\n */\\n SdkIndexFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkIndexFrame)\\n return object;\\n var message = new $root.SdkIndexFrame();\\n if (object.atCapacity != null)\\n message.atCapacity = Boolean(object.atCapacity);\\n if (object.sources) {\\n if (!Array.isArray(object.sources))\\n throw TypeError(\\\".SdkIndexFrame.sources: array expected\\\");\\n message.sources = [];\\n for (var i = 0; i < object.sources.length; ++i) {\\n if (typeof object.sources[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkIndexFrame.sources: object expected\\\");\\n message.sources[i] = $root.SdkStreamDescriptor.fromObject(object.sources[i]);\\n }\\n }\\n if (object.pausedAtSourceIds) {\\n if (!Array.isArray(object.pausedAtSourceIds))\\n throw TypeError(\\\".SdkIndexFrame.pausedAtSourceIds: array expected\\\");\\n message.pausedAtSourceIds = [];\\n for (var i = 0; i < object.pausedAtSourceIds.length; ++i)\\n message.pausedAtSourceIds[i] = object.pausedAtSourceIds[i] >>> 0;\\n }\\n if (object.numParticipants != null)\\n message.numParticipants = object.numParticipants >>> 0;\\n if (object.supportedReceiveCodecIntersection) {\\n if (!Array.isArray(object.supportedReceiveCodecIntersection))\\n throw TypeError(\\\".SdkIndexFrame.supportedReceiveCodecIntersection: array expected\\\");\\n message.supportedReceiveCodecIntersection = [];\\n for (var i = 0; i < object.supportedReceiveCodecIntersection.length; ++i)\\n switch (object.supportedReceiveCodecIntersection[i]) {\\n default:\\n case \\\"VP8\\\":\\n case 1:\\n message.supportedReceiveCodecIntersection[i] = 1;\\n break;\\n case \\\"H264_CONSTRAINED_BASELINE_PROFILE\\\":\\n case 3:\\n message.supportedReceiveCodecIntersection[i] = 3;\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkIndexFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkIndexFrame\\n * @static\\n * @param {SdkIndexFrame} message SdkIndexFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkIndexFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults) {\\n object.sources = [];\\n object.pausedAtSourceIds = [];\\n object.supportedReceiveCodecIntersection = [];\\n }\\n if (options.defaults) {\\n object.atCapacity = false;\\n object.numParticipants = 0;\\n }\\n if (message.atCapacity != null && message.hasOwnProperty(\\\"atCapacity\\\"))\\n object.atCapacity = message.atCapacity;\\n if (message.sources && message.sources.length) {\\n object.sources = [];\\n for (var j = 0; j < message.sources.length; ++j)\\n object.sources[j] = $root.SdkStreamDescriptor.toObject(message.sources[j], options);\\n }\\n if (message.pausedAtSourceIds && message.pausedAtSourceIds.length) {\\n object.pausedAtSourceIds = [];\\n for (var j = 0; j < message.pausedAtSourceIds.length; ++j)\\n object.pausedAtSourceIds[j] = message.pausedAtSourceIds[j];\\n }\\n if (message.numParticipants != null && message.hasOwnProperty(\\\"numParticipants\\\"))\\n object.numParticipants = message.numParticipants;\\n if (message.supportedReceiveCodecIntersection && message.supportedReceiveCodecIntersection.length) {\\n object.supportedReceiveCodecIntersection = [];\\n for (var j = 0; j < message.supportedReceiveCodecIntersection.length; ++j)\\n object.supportedReceiveCodecIntersection[j] = options.enums === String ? $root.SdkVideoCodecCapability[message.supportedReceiveCodecIntersection[j]] : message.supportedReceiveCodecIntersection[j];\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkIndexFrame to JSON.\\n * @function toJSON\\n * @memberof SdkIndexFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkIndexFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkIndexFrame;\\n})();\\n\\n$root.SdkPauseResumeFrame = (function() {\\n\\n /**\\n * Properties of a SdkPauseResumeFrame.\\n * @exports ISdkPauseResumeFrame\\n * @interface ISdkPauseResumeFrame\\n * @property {Array.<number>|null} [streamIds] SdkPauseResumeFrame streamIds\\n * @property {Array.<number>|null} [groupIds] SdkPauseResumeFrame groupIds\\n */\\n\\n /**\\n * Constructs a new SdkPauseResumeFrame.\\n * @exports SdkPauseResumeFrame\\n * @classdesc Represents a SdkPauseResumeFrame.\\n * @implements ISdkPauseResumeFrame\\n * @constructor\\n * @param {ISdkPauseResumeFrame=} [properties] Properties to set\\n */\\n function SdkPauseResumeFrame(properties) {\\n this.streamIds = [];\\n this.groupIds = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkPauseResumeFrame streamIds.\\n * @member {Array.<number>} streamIds\\n * @memberof SdkPauseResumeFrame\\n * @instance\\n */\\n SdkPauseResumeFrame.prototype.streamIds = $util.emptyArray;\\n\\n /**\\n * SdkPauseResumeFrame groupIds.\\n * @member {Array.<number>} groupIds\\n * @memberof SdkPauseResumeFrame\\n * @instance\\n */\\n SdkPauseResumeFrame.prototype.groupIds = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkPauseResumeFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkPauseResumeFrame\\n * @static\\n * @param {ISdkPauseResumeFrame=} [properties] Properties to set\\n * @returns {SdkPauseResumeFrame} SdkPauseResumeFrame instance\\n */\\n SdkPauseResumeFrame.create = function create(properties) {\\n return new SdkPauseResumeFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkPauseResumeFrame message. Does not implicitly {@link SdkPauseResumeFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkPauseResumeFrame\\n * @static\\n * @param {ISdkPauseResumeFrame} message SdkPauseResumeFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkPauseResumeFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.streamIds != null && message.streamIds.length)\\n for (var i = 0; i < message.streamIds.length; ++i)\\n writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.streamIds[i]);\\n if (message.groupIds != null && message.groupIds.length)\\n for (var i = 0; i < message.groupIds.length; ++i)\\n writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.groupIds[i]);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkPauseResumeFrame message, length delimited. Does not implicitly {@link SdkPauseResumeFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkPauseResumeFrame\\n * @static\\n * @param {ISdkPauseResumeFrame} message SdkPauseResumeFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkPauseResumeFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkPauseResumeFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkPauseResumeFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkPauseResumeFrame} SdkPauseResumeFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkPauseResumeFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkPauseResumeFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n if (!(message.streamIds && message.streamIds.length))\\n message.streamIds = [];\\n if ((tag & 7) === 2) {\\n var end2 = reader.uint32() + reader.pos;\\n while (reader.pos < end2)\\n message.streamIds.push(reader.uint32());\\n } else\\n message.streamIds.push(reader.uint32());\\n break;\\n case 2:\\n if (!(message.groupIds && message.groupIds.length))\\n message.groupIds = [];\\n if ((tag & 7) === 2) {\\n var end2 = reader.uint32() + reader.pos;\\n while (reader.pos < end2)\\n message.groupIds.push(reader.uint32());\\n } else\\n message.groupIds.push(reader.uint32());\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkPauseResumeFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkPauseResumeFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkPauseResumeFrame} SdkPauseResumeFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkPauseResumeFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkPauseResumeFrame message.\\n * @function verify\\n * @memberof SdkPauseResumeFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkPauseResumeFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.streamIds != null && message.hasOwnProperty(\\\"streamIds\\\")) {\\n if (!Array.isArray(message.streamIds))\\n return \\\"streamIds: array expected\\\";\\n for (var i = 0; i < message.streamIds.length; ++i)\\n if (!$util.isInteger(message.streamIds[i]))\\n return \\\"streamIds: integer[] expected\\\";\\n }\\n if (message.groupIds != null && message.hasOwnProperty(\\\"groupIds\\\")) {\\n if (!Array.isArray(message.groupIds))\\n return \\\"groupIds: array expected\\\";\\n for (var i = 0; i < message.groupIds.length; ++i)\\n if (!$util.isInteger(message.groupIds[i]))\\n return \\\"groupIds: integer[] expected\\\";\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkPauseResumeFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkPauseResumeFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkPauseResumeFrame} SdkPauseResumeFrame\\n */\\n SdkPauseResumeFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkPauseResumeFrame)\\n return object;\\n var message = new $root.SdkPauseResumeFrame();\\n if (object.streamIds) {\\n if (!Array.isArray(object.streamIds))\\n throw TypeError(\\\".SdkPauseResumeFrame.streamIds: array expected\\\");\\n message.streamIds = [];\\n for (var i = 0; i < object.streamIds.length; ++i)\\n message.streamIds[i] = object.streamIds[i] >>> 0;\\n }\\n if (object.groupIds) {\\n if (!Array.isArray(object.groupIds))\\n throw TypeError(\\\".SdkPauseResumeFrame.groupIds: array expected\\\");\\n message.groupIds = [];\\n for (var i = 0; i < object.groupIds.length; ++i)\\n message.groupIds[i] = object.groupIds[i] >>> 0;\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkPauseResumeFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkPauseResumeFrame\\n * @static\\n * @param {SdkPauseResumeFrame} message SdkPauseResumeFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkPauseResumeFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults) {\\n object.streamIds = [];\\n object.groupIds = [];\\n }\\n if (message.streamIds && message.streamIds.length) {\\n object.streamIds = [];\\n for (var j = 0; j < message.streamIds.length; ++j)\\n object.streamIds[j] = message.streamIds[j];\\n }\\n if (message.groupIds && message.groupIds.length) {\\n object.groupIds = [];\\n for (var j = 0; j < message.groupIds.length; ++j)\\n object.groupIds[j] = message.groupIds[j];\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkPauseResumeFrame to JSON.\\n * @function toJSON\\n * @memberof SdkPauseResumeFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkPauseResumeFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkPauseResumeFrame;\\n})();\\n\\n$root.SdkBitrateFrame = (function() {\\n\\n /**\\n * Properties of a SdkBitrateFrame.\\n * @exports ISdkBitrateFrame\\n * @interface ISdkBitrateFrame\\n * @property {Array.<ISdkBitrate>|null} [bitrates] SdkBitrateFrame bitrates\\n * @property {number|null} [serverAvailableOutgoingBitrate] SdkBitrateFrame serverAvailableOutgoingBitrate\\n */\\n\\n /**\\n * Constructs a new SdkBitrateFrame.\\n * @exports SdkBitrateFrame\\n * @classdesc Represents a SdkBitrateFrame.\\n * @implements ISdkBitrateFrame\\n * @constructor\\n * @param {ISdkBitrateFrame=} [properties] Properties to set\\n */\\n function SdkBitrateFrame(properties) {\\n this.bitrates = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkBitrateFrame bitrates.\\n * @member {Array.<ISdkBitrate>} bitrates\\n * @memberof SdkBitrateFrame\\n * @instance\\n */\\n SdkBitrateFrame.prototype.bitrates = $util.emptyArray;\\n\\n /**\\n * SdkBitrateFrame serverAvailableOutgoingBitrate.\\n * @member {number} serverAvailableOutgoingBitrate\\n * @memberof SdkBitrateFrame\\n * @instance\\n */\\n SdkBitrateFrame.prototype.serverAvailableOutgoingBitrate = 0;\\n\\n /**\\n * Creates a new SdkBitrateFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkBitrateFrame\\n * @static\\n * @param {ISdkBitrateFrame=} [properties] Properties to set\\n * @returns {SdkBitrateFrame} SdkBitrateFrame instance\\n */\\n SdkBitrateFrame.create = function create(properties) {\\n return new SdkBitrateFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkBitrateFrame message. Does not implicitly {@link SdkBitrateFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkBitrateFrame\\n * @static\\n * @param {ISdkBitrateFrame} message SdkBitrateFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkBitrateFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.bitrates != null && message.bitrates.length)\\n for (var i = 0; i < message.bitrates.length; ++i)\\n $root.SdkBitrate.encode(message.bitrates[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\\n if (message.serverAvailableOutgoingBitrate != null && Object.hasOwnProperty.call(message, \\\"serverAvailableOutgoingBitrate\\\"))\\n writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.serverAvailableOutgoingBitrate);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkBitrateFrame message, length delimited. Does not implicitly {@link SdkBitrateFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkBitrateFrame\\n * @static\\n * @param {ISdkBitrateFrame} message SdkBitrateFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkBitrateFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkBitrateFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkBitrateFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkBitrateFrame} SdkBitrateFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkBitrateFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkBitrateFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n if (!(message.bitrates && message.bitrates.length))\\n message.bitrates = [];\\n message.bitrates.push($root.SdkBitrate.decode(reader, reader.uint32()));\\n break;\\n case 2:\\n message.serverAvailableOutgoingBitrate = reader.uint32();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkBitrateFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkBitrateFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkBitrateFrame} SdkBitrateFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkBitrateFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkBitrateFrame message.\\n * @function verify\\n * @memberof SdkBitrateFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkBitrateFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.bitrates != null && message.hasOwnProperty(\\\"bitrates\\\")) {\\n if (!Array.isArray(message.bitrates))\\n return \\\"bitrates: array expected\\\";\\n for (var i = 0; i < message.bitrates.length; ++i) {\\n var error = $root.SdkBitrate.verify(message.bitrates[i]);\\n if (error)\\n return \\\"bitrates.\\\" + error;\\n }\\n }\\n if (message.serverAvailableOutgoingBitrate != null && message.hasOwnProperty(\\\"serverAvailableOutgoingBitrate\\\"))\\n if (!$util.isInteger(message.serverAvailableOutgoingBitrate))\\n return \\\"serverAvailableOutgoingBitrate: integer expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkBitrateFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkBitrateFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkBitrateFrame} SdkBitrateFrame\\n */\\n SdkBitrateFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkBitrateFrame)\\n return object;\\n var message = new $root.SdkBitrateFrame();\\n if (object.bitrates) {\\n if (!Array.isArray(object.bitrates))\\n throw TypeError(\\\".SdkBitrateFrame.bitrates: array expected\\\");\\n message.bitrates = [];\\n for (var i = 0; i < object.bitrates.length; ++i) {\\n if (typeof object.bitrates[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkBitrateFrame.bitrates: object expected\\\");\\n message.bitrates[i] = $root.SdkBitrate.fromObject(object.bitrates[i]);\\n }\\n }\\n if (object.serverAvailableOutgoingBitrate != null)\\n message.serverAvailableOutgoingBitrate = object.serverAvailableOutgoingBitrate >>> 0;\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkBitrateFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkBitrateFrame\\n * @static\\n * @param {SdkBitrateFrame} message SdkBitrateFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkBitrateFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults)\\n object.bitrates = [];\\n if (options.defaults)\\n object.serverAvailableOutgoingBitrate = 0;\\n if (message.bitrates && message.bitrates.length) {\\n object.bitrates = [];\\n for (var j = 0; j < message.bitrates.length; ++j)\\n object.bitrates[j] = $root.SdkBitrate.toObject(message.bitrates[j], options);\\n }\\n if (message.serverAvailableOutgoingBitrate != null && message.hasOwnProperty(\\\"serverAvailableOutgoingBitrate\\\"))\\n object.serverAvailableOutgoingBitrate = message.serverAvailableOutgoingBitrate;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkBitrateFrame to JSON.\\n * @function toJSON\\n * @memberof SdkBitrateFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkBitrateFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkBitrateFrame;\\n})();\\n\\n$root.SdkStreamDescriptor = (function() {\\n\\n /**\\n * Properties of a SdkStreamDescriptor.\\n * @exports ISdkStreamDescriptor\\n * @interface ISdkStreamDescriptor\\n * @property {number|null} [streamId] SdkStreamDescriptor streamId\\n * @property {number|null} [framerate] SdkStreamDescriptor framerate\\n * @property {number|null} [maxBitrateKbps] SdkStreamDescriptor maxBitrateKbps\\n * @property {string|null} [trackLabel] SdkStreamDescriptor trackLabel\\n * @property {number|null} [groupId] SdkStreamDescriptor groupId\\n * @property {number|null} [avgBitrateBps] SdkStreamDescriptor avgBitrateBps\\n * @property {string|null} [attendeeId] SdkStreamDescriptor attendeeId\\n * @property {SdkStreamMediaType|null} [mediaType] SdkStreamDescriptor mediaType\\n * @property {string|null} [externalUserId] SdkStreamDescriptor externalUserId\\n */\\n\\n /**\\n * Constructs a new SdkStreamDescriptor.\\n * @exports SdkStreamDescriptor\\n * @classdesc Represents a SdkStreamDescriptor.\\n * @implements ISdkStreamDescriptor\\n * @constructor\\n * @param {ISdkStreamDescriptor=} [properties] Properties to set\\n */\\n function SdkStreamDescriptor(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkStreamDescriptor streamId.\\n * @member {number} streamId\\n * @memberof SdkStreamDescriptor\\n * @instance\\n */\\n SdkStreamDescriptor.prototype.streamId = 0;\\n\\n /**\\n * SdkStreamDescriptor framerate.\\n * @member {number} framerate\\n * @memberof SdkStreamDescriptor\\n * @instance\\n */\\n SdkStreamDescriptor.prototype.framerate = 0;\\n\\n /**\\n * SdkStreamDescriptor maxBitrateKbps.\\n * @member {number} maxBitrateKbps\\n * @memberof SdkStreamDescriptor\\n * @instance\\n */\\n SdkStreamDescriptor.prototype.maxBitrateKbps = 0;\\n\\n /**\\n * SdkStreamDescriptor trackLabel.\\n * @member {string} trackLabel\\n * @memberof SdkStreamDescriptor\\n * @instance\\n */\\n SdkStreamDescriptor.prototype.trackLabel = \\\"\\\";\\n\\n /**\\n * SdkStreamDescriptor groupId.\\n * @member {number} groupId\\n * @memberof SdkStreamDescriptor\\n * @instance\\n */\\n SdkStreamDescriptor.prototype.groupId = 0;\\n\\n /**\\n * SdkStreamDescriptor avgBitrateBps.\\n * @member {number} avgBitrateBps\\n * @memberof SdkStreamDescriptor\\n * @instance\\n */\\n SdkStreamDescriptor.prototype.avgBitrateBps = 0;\\n\\n /**\\n * SdkStreamDescriptor attendeeId.\\n * @member {string} attendeeId\\n * @memberof SdkStreamDescriptor\\n * @instance\\n */\\n SdkStreamDescriptor.prototype.attendeeId = \\\"\\\";\\n\\n /**\\n * SdkStreamDescriptor mediaType.\\n * @member {SdkStreamMediaType} mediaType\\n * @memberof SdkStreamDescriptor\\n * @instance\\n */\\n SdkStreamDescriptor.prototype.mediaType = 1;\\n\\n /**\\n * SdkStreamDescriptor externalUserId.\\n * @member {string} externalUserId\\n * @memberof SdkStreamDescriptor\\n * @instance\\n */\\n SdkStreamDescriptor.prototype.externalUserId = \\\"\\\";\\n\\n /**\\n * Creates a new SdkStreamDescriptor instance using the specified properties.\\n * @function create\\n * @memberof SdkStreamDescriptor\\n * @static\\n * @param {ISdkStreamDescriptor=} [properties] Properties to set\\n * @returns {SdkStreamDescriptor} SdkStreamDescriptor instance\\n */\\n SdkStreamDescriptor.create = function create(properties) {\\n return new SdkStreamDescriptor(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkStreamDescriptor message. Does not implicitly {@link SdkStreamDescriptor.verify|verify} messages.\\n * @function encode\\n * @memberof SdkStreamDescriptor\\n * @static\\n * @param {ISdkStreamDescriptor} message SdkStreamDescriptor message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkStreamDescriptor.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.streamId != null && Object.hasOwnProperty.call(message, \\\"streamId\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.streamId);\\n if (message.framerate != null && Object.hasOwnProperty.call(message, \\\"framerate\\\"))\\n writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.framerate);\\n if (message.maxBitrateKbps != null && Object.hasOwnProperty.call(message, \\\"maxBitrateKbps\\\"))\\n writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.maxBitrateKbps);\\n if (message.trackLabel != null && Object.hasOwnProperty.call(message, \\\"trackLabel\\\"))\\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.trackLabel);\\n if (message.groupId != null && Object.hasOwnProperty.call(message, \\\"groupId\\\"))\\n writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.groupId);\\n if (message.avgBitrateBps != null && Object.hasOwnProperty.call(message, \\\"avgBitrateBps\\\"))\\n writer.uint32(/* id 7, wireType 0 =*/56).uint32(message.avgBitrateBps);\\n if (message.attendeeId != null && Object.hasOwnProperty.call(message, \\\"attendeeId\\\"))\\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.attendeeId);\\n if (message.mediaType != null && Object.hasOwnProperty.call(message, \\\"mediaType\\\"))\\n writer.uint32(/* id 9, wireType 0 =*/72).int32(message.mediaType);\\n if (message.externalUserId != null && Object.hasOwnProperty.call(message, \\\"externalUserId\\\"))\\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.externalUserId);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkStreamDescriptor message, length delimited. Does not implicitly {@link SdkStreamDescriptor.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkStreamDescriptor\\n * @static\\n * @param {ISdkStreamDescriptor} message SdkStreamDescriptor message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkStreamDescriptor.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkStreamDescriptor message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkStreamDescriptor\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkStreamDescriptor} SdkStreamDescriptor\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkStreamDescriptor.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkStreamDescriptor();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.streamId = reader.uint32();\\n break;\\n case 2:\\n message.framerate = reader.uint32();\\n break;\\n case 3:\\n message.maxBitrateKbps = reader.uint32();\\n break;\\n case 4:\\n message.trackLabel = reader.string();\\n break;\\n case 6:\\n message.groupId = reader.uint32();\\n break;\\n case 7:\\n message.avgBitrateBps = reader.uint32();\\n break;\\n case 8:\\n message.attendeeId = reader.string();\\n break;\\n case 9:\\n message.mediaType = reader.int32();\\n break;\\n case 10:\\n message.externalUserId = reader.string();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkStreamDescriptor message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkStreamDescriptor\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkStreamDescriptor} SdkStreamDescriptor\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkStreamDescriptor.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkStreamDescriptor message.\\n * @function verify\\n * @memberof SdkStreamDescriptor\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkStreamDescriptor.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.streamId != null && message.hasOwnProperty(\\\"streamId\\\"))\\n if (!$util.isInteger(message.streamId))\\n return \\\"streamId: integer expected\\\";\\n if (message.framerate != null && message.hasOwnProperty(\\\"framerate\\\"))\\n if (!$util.isInteger(message.framerate))\\n return \\\"framerate: integer expected\\\";\\n if (message.maxBitrateKbps != null && message.hasOwnProperty(\\\"maxBitrateKbps\\\"))\\n if (!$util.isInteger(message.maxBitrateKbps))\\n return \\\"maxBitrateKbps: integer expected\\\";\\n if (message.trackLabel != null && message.hasOwnProperty(\\\"trackLabel\\\"))\\n if (!$util.isString(message.trackLabel))\\n return \\\"trackLabel: string expected\\\";\\n if (message.groupId != null && message.hasOwnProperty(\\\"groupId\\\"))\\n if (!$util.isInteger(message.groupId))\\n return \\\"groupId: integer expected\\\";\\n if (message.avgBitrateBps != null && message.hasOwnProperty(\\\"avgBitrateBps\\\"))\\n if (!$util.isInteger(message.avgBitrateBps))\\n return \\\"avgBitrateBps: integer expected\\\";\\n if (message.attendeeId != null && message.hasOwnProperty(\\\"attendeeId\\\"))\\n if (!$util.isString(message.attendeeId))\\n return \\\"attendeeId: string expected\\\";\\n if (message.mediaType != null && message.hasOwnProperty(\\\"mediaType\\\"))\\n switch (message.mediaType) {\\n default:\\n return \\\"mediaType: enum value expected\\\";\\n case 1:\\n case 2:\\n break;\\n }\\n if (message.externalUserId != null && message.hasOwnProperty(\\\"externalUserId\\\"))\\n if (!$util.isString(message.externalUserId))\\n return \\\"externalUserId: string expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkStreamDescriptor message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkStreamDescriptor\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkStreamDescriptor} SdkStreamDescriptor\\n */\\n SdkStreamDescriptor.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkStreamDescriptor)\\n return object;\\n var message = new $root.SdkStreamDescriptor();\\n if (object.streamId != null)\\n message.streamId = object.streamId >>> 0;\\n if (object.framerate != null)\\n message.framerate = object.framerate >>> 0;\\n if (object.maxBitrateKbps != null)\\n message.maxBitrateKbps = object.maxBitrateKbps >>> 0;\\n if (object.trackLabel != null)\\n message.trackLabel = String(object.trackLabel);\\n if (object.groupId != null)\\n message.groupId = object.groupId >>> 0;\\n if (object.avgBitrateBps != null)\\n message.avgBitrateBps = object.avgBitrateBps >>> 0;\\n if (object.attendeeId != null)\\n message.attendeeId = String(object.attendeeId);\\n switch (object.mediaType) {\\n case \\\"AUDIO\\\":\\n case 1:\\n message.mediaType = 1;\\n break;\\n case \\\"VIDEO\\\":\\n case 2:\\n message.mediaType = 2;\\n break;\\n }\\n if (object.externalUserId != null)\\n message.externalUserId = String(object.externalUserId);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkStreamDescriptor message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkStreamDescriptor\\n * @static\\n * @param {SdkStreamDescriptor} message SdkStreamDescriptor\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkStreamDescriptor.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.streamId = 0;\\n object.framerate = 0;\\n object.maxBitrateKbps = 0;\\n object.trackLabel = \\\"\\\";\\n object.groupId = 0;\\n object.avgBitrateBps = 0;\\n object.attendeeId = \\\"\\\";\\n object.mediaType = options.enums === String ? \\\"AUDIO\\\" : 1;\\n object.externalUserId = \\\"\\\";\\n }\\n if (message.streamId != null && message.hasOwnProperty(\\\"streamId\\\"))\\n object.streamId = message.streamId;\\n if (message.framerate != null && message.hasOwnProperty(\\\"framerate\\\"))\\n object.framerate = message.framerate;\\n if (message.maxBitrateKbps != null && message.hasOwnProperty(\\\"maxBitrateKbps\\\"))\\n object.maxBitrateKbps = message.maxBitrateKbps;\\n if (message.trackLabel != null && message.hasOwnProperty(\\\"trackLabel\\\"))\\n object.trackLabel = message.trackLabel;\\n if (message.groupId != null && message.hasOwnProperty(\\\"groupId\\\"))\\n object.groupId = message.groupId;\\n if (message.avgBitrateBps != null && message.hasOwnProperty(\\\"avgBitrateBps\\\"))\\n object.avgBitrateBps = message.avgBitrateBps;\\n if (message.attendeeId != null && message.hasOwnProperty(\\\"attendeeId\\\"))\\n object.attendeeId = message.attendeeId;\\n if (message.mediaType != null && message.hasOwnProperty(\\\"mediaType\\\"))\\n object.mediaType = options.enums === String ? $root.SdkStreamMediaType[message.mediaType] : message.mediaType;\\n if (message.externalUserId != null && message.hasOwnProperty(\\\"externalUserId\\\"))\\n object.externalUserId = message.externalUserId;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkStreamDescriptor to JSON.\\n * @function toJSON\\n * @memberof SdkStreamDescriptor\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkStreamDescriptor.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkStreamDescriptor;\\n})();\\n\\n$root.SdkStreamAllocation = (function() {\\n\\n /**\\n * Properties of a SdkStreamAllocation.\\n * @exports ISdkStreamAllocation\\n * @interface ISdkStreamAllocation\\n * @property {string|null} [trackLabel] SdkStreamAllocation trackLabel\\n * @property {number|null} [streamId] SdkStreamAllocation streamId\\n * @property {number|null} [groupId] SdkStreamAllocation groupId\\n */\\n\\n /**\\n * Constructs a new SdkStreamAllocation.\\n * @exports SdkStreamAllocation\\n * @classdesc Represents a SdkStreamAllocation.\\n * @implements ISdkStreamAllocation\\n * @constructor\\n * @param {ISdkStreamAllocation=} [properties] Properties to set\\n */\\n function SdkStreamAllocation(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkStreamAllocation trackLabel.\\n * @member {string} trackLabel\\n * @memberof SdkStreamAllocation\\n * @instance\\n */\\n SdkStreamAllocation.prototype.trackLabel = \\\"\\\";\\n\\n /**\\n * SdkStreamAllocation streamId.\\n * @member {number} streamId\\n * @memberof SdkStreamAllocation\\n * @instance\\n */\\n SdkStreamAllocation.prototype.streamId = 0;\\n\\n /**\\n * SdkStreamAllocation groupId.\\n * @member {number} groupId\\n * @memberof SdkStreamAllocation\\n * @instance\\n */\\n SdkStreamAllocation.prototype.groupId = 0;\\n\\n /**\\n * Creates a new SdkStreamAllocation instance using the specified properties.\\n * @function create\\n * @memberof SdkStreamAllocation\\n * @static\\n * @param {ISdkStreamAllocation=} [properties] Properties to set\\n * @returns {SdkStreamAllocation} SdkStreamAllocation instance\\n */\\n SdkStreamAllocation.create = function create(properties) {\\n return new SdkStreamAllocation(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkStreamAllocation message. Does not implicitly {@link SdkStreamAllocation.verify|verify} messages.\\n * @function encode\\n * @memberof SdkStreamAllocation\\n * @static\\n * @param {ISdkStreamAllocation} message SdkStreamAllocation message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkStreamAllocation.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.trackLabel != null && Object.hasOwnProperty.call(message, \\\"trackLabel\\\"))\\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.trackLabel);\\n if (message.streamId != null && Object.hasOwnProperty.call(message, \\\"streamId\\\"))\\n writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.streamId);\\n if (message.groupId != null && Object.hasOwnProperty.call(message, \\\"groupId\\\"))\\n writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.groupId);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkStreamAllocation message, length delimited. Does not implicitly {@link SdkStreamAllocation.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkStreamAllocation\\n * @static\\n * @param {ISdkStreamAllocation} message SdkStreamAllocation message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkStreamAllocation.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkStreamAllocation message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkStreamAllocation\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkStreamAllocation} SdkStreamAllocation\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkStreamAllocation.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkStreamAllocation();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.trackLabel = reader.string();\\n break;\\n case 2:\\n message.streamId = reader.uint32();\\n break;\\n case 3:\\n message.groupId = reader.uint32();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkStreamAllocation message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkStreamAllocation\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkStreamAllocation} SdkStreamAllocation\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkStreamAllocation.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkStreamAllocation message.\\n * @function verify\\n * @memberof SdkStreamAllocation\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkStreamAllocation.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.trackLabel != null && message.hasOwnProperty(\\\"trackLabel\\\"))\\n if (!$util.isString(message.trackLabel))\\n return \\\"trackLabel: string expected\\\";\\n if (message.streamId != null && message.hasOwnProperty(\\\"streamId\\\"))\\n if (!$util.isInteger(message.streamId))\\n return \\\"streamId: integer expected\\\";\\n if (message.groupId != null && message.hasOwnProperty(\\\"groupId\\\"))\\n if (!$util.isInteger(message.groupId))\\n return \\\"groupId: integer expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkStreamAllocation message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkStreamAllocation\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkStreamAllocation} SdkStreamAllocation\\n */\\n SdkStreamAllocation.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkStreamAllocation)\\n return object;\\n var message = new $root.SdkStreamAllocation();\\n if (object.trackLabel != null)\\n message.trackLabel = String(object.trackLabel);\\n if (object.streamId != null)\\n message.streamId = object.streamId >>> 0;\\n if (object.groupId != null)\\n message.groupId = object.groupId >>> 0;\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkStreamAllocation message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkStreamAllocation\\n * @static\\n * @param {SdkStreamAllocation} message SdkStreamAllocation\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkStreamAllocation.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.trackLabel = \\\"\\\";\\n object.streamId = 0;\\n object.groupId = 0;\\n }\\n if (message.trackLabel != null && message.hasOwnProperty(\\\"trackLabel\\\"))\\n object.trackLabel = message.trackLabel;\\n if (message.streamId != null && message.hasOwnProperty(\\\"streamId\\\"))\\n object.streamId = message.streamId;\\n if (message.groupId != null && message.hasOwnProperty(\\\"groupId\\\"))\\n object.groupId = message.groupId;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkStreamAllocation to JSON.\\n * @function toJSON\\n * @memberof SdkStreamAllocation\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkStreamAllocation.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkStreamAllocation;\\n})();\\n\\n$root.SdkTrackMapping = (function() {\\n\\n /**\\n * Properties of a SdkTrackMapping.\\n * @exports ISdkTrackMapping\\n * @interface ISdkTrackMapping\\n * @property {number|null} [streamId] SdkTrackMapping streamId\\n * @property {number|null} [ssrc] SdkTrackMapping ssrc\\n * @property {string|null} [trackLabel] SdkTrackMapping trackLabel\\n */\\n\\n /**\\n * Constructs a new SdkTrackMapping.\\n * @exports SdkTrackMapping\\n * @classdesc Represents a SdkTrackMapping.\\n * @implements ISdkTrackMapping\\n * @constructor\\n * @param {ISdkTrackMapping=} [properties] Properties to set\\n */\\n function SdkTrackMapping(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkTrackMapping streamId.\\n * @member {number} streamId\\n * @memberof SdkTrackMapping\\n * @instance\\n */\\n SdkTrackMapping.prototype.streamId = 0;\\n\\n /**\\n * SdkTrackMapping ssrc.\\n * @member {number} ssrc\\n * @memberof SdkTrackMapping\\n * @instance\\n */\\n SdkTrackMapping.prototype.ssrc = 0;\\n\\n /**\\n * SdkTrackMapping trackLabel.\\n * @member {string} trackLabel\\n * @memberof SdkTrackMapping\\n * @instance\\n */\\n SdkTrackMapping.prototype.trackLabel = \\\"\\\";\\n\\n /**\\n * Creates a new SdkTrackMapping instance using the specified properties.\\n * @function create\\n * @memberof SdkTrackMapping\\n * @static\\n * @param {ISdkTrackMapping=} [properties] Properties to set\\n * @returns {SdkTrackMapping} SdkTrackMapping instance\\n */\\n SdkTrackMapping.create = function create(properties) {\\n return new SdkTrackMapping(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkTrackMapping message. Does not implicitly {@link SdkTrackMapping.verify|verify} messages.\\n * @function encode\\n * @memberof SdkTrackMapping\\n * @static\\n * @param {ISdkTrackMapping} message SdkTrackMapping message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTrackMapping.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.streamId != null && Object.hasOwnProperty.call(message, \\\"streamId\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.streamId);\\n if (message.ssrc != null && Object.hasOwnProperty.call(message, \\\"ssrc\\\"))\\n writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.ssrc);\\n if (message.trackLabel != null && Object.hasOwnProperty.call(message, \\\"trackLabel\\\"))\\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.trackLabel);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkTrackMapping message, length delimited. Does not implicitly {@link SdkTrackMapping.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkTrackMapping\\n * @static\\n * @param {ISdkTrackMapping} message SdkTrackMapping message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTrackMapping.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkTrackMapping message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkTrackMapping\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkTrackMapping} SdkTrackMapping\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTrackMapping.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkTrackMapping();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.streamId = reader.uint32();\\n break;\\n case 2:\\n message.ssrc = reader.uint32();\\n break;\\n case 3:\\n message.trackLabel = reader.string();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkTrackMapping message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkTrackMapping\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkTrackMapping} SdkTrackMapping\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTrackMapping.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkTrackMapping message.\\n * @function verify\\n * @memberof SdkTrackMapping\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkTrackMapping.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.streamId != null && message.hasOwnProperty(\\\"streamId\\\"))\\n if (!$util.isInteger(message.streamId))\\n return \\\"streamId: integer expected\\\";\\n if (message.ssrc != null && message.hasOwnProperty(\\\"ssrc\\\"))\\n if (!$util.isInteger(message.ssrc))\\n return \\\"ssrc: integer expected\\\";\\n if (message.trackLabel != null && message.hasOwnProperty(\\\"trackLabel\\\"))\\n if (!$util.isString(message.trackLabel))\\n return \\\"trackLabel: string expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkTrackMapping message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkTrackMapping\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkTrackMapping} SdkTrackMapping\\n */\\n SdkTrackMapping.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkTrackMapping)\\n return object;\\n var message = new $root.SdkTrackMapping();\\n if (object.streamId != null)\\n message.streamId = object.streamId >>> 0;\\n if (object.ssrc != null)\\n message.ssrc = object.ssrc >>> 0;\\n if (object.trackLabel != null)\\n message.trackLabel = String(object.trackLabel);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkTrackMapping message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkTrackMapping\\n * @static\\n * @param {SdkTrackMapping} message SdkTrackMapping\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkTrackMapping.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.streamId = 0;\\n object.ssrc = 0;\\n object.trackLabel = \\\"\\\";\\n }\\n if (message.streamId != null && message.hasOwnProperty(\\\"streamId\\\"))\\n object.streamId = message.streamId;\\n if (message.ssrc != null && message.hasOwnProperty(\\\"ssrc\\\"))\\n object.ssrc = message.ssrc;\\n if (message.trackLabel != null && message.hasOwnProperty(\\\"trackLabel\\\"))\\n object.trackLabel = message.trackLabel;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkTrackMapping to JSON.\\n * @function toJSON\\n * @memberof SdkTrackMapping\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkTrackMapping.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkTrackMapping;\\n})();\\n\\n$root.SdkBitrate = (function() {\\n\\n /**\\n * Properties of a SdkBitrate.\\n * @exports ISdkBitrate\\n * @interface ISdkBitrate\\n * @property {number|null} [sourceStreamId] SdkBitrate sourceStreamId\\n * @property {number|null} [avgBitrateBps] SdkBitrate avgBitrateBps\\n */\\n\\n /**\\n * Constructs a new SdkBitrate.\\n * @exports SdkBitrate\\n * @classdesc Represents a SdkBitrate.\\n * @implements ISdkBitrate\\n * @constructor\\n * @param {ISdkBitrate=} [properties] Properties to set\\n */\\n function SdkBitrate(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkBitrate sourceStreamId.\\n * @member {number} sourceStreamId\\n * @memberof SdkBitrate\\n * @instance\\n */\\n SdkBitrate.prototype.sourceStreamId = 0;\\n\\n /**\\n * SdkBitrate avgBitrateBps.\\n * @member {number} avgBitrateBps\\n * @memberof SdkBitrate\\n * @instance\\n */\\n SdkBitrate.prototype.avgBitrateBps = 0;\\n\\n /**\\n * Creates a new SdkBitrate instance using the specified properties.\\n * @function create\\n * @memberof SdkBitrate\\n * @static\\n * @param {ISdkBitrate=} [properties] Properties to set\\n * @returns {SdkBitrate} SdkBitrate instance\\n */\\n SdkBitrate.create = function create(properties) {\\n return new SdkBitrate(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkBitrate message. Does not implicitly {@link SdkBitrate.verify|verify} messages.\\n * @function encode\\n * @memberof SdkBitrate\\n * @static\\n * @param {ISdkBitrate} message SdkBitrate message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkBitrate.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.sourceStreamId != null && Object.hasOwnProperty.call(message, \\\"sourceStreamId\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.sourceStreamId);\\n if (message.avgBitrateBps != null && Object.hasOwnProperty.call(message, \\\"avgBitrateBps\\\"))\\n writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.avgBitrateBps);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkBitrate message, length delimited. Does not implicitly {@link SdkBitrate.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkBitrate\\n * @static\\n * @param {ISdkBitrate} message SdkBitrate message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkBitrate.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkBitrate message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkBitrate\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkBitrate} SdkBitrate\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkBitrate.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkBitrate();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.sourceStreamId = reader.uint32();\\n break;\\n case 2:\\n message.avgBitrateBps = reader.uint32();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkBitrate message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkBitrate\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkBitrate} SdkBitrate\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkBitrate.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkBitrate message.\\n * @function verify\\n * @memberof SdkBitrate\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkBitrate.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.sourceStreamId != null && message.hasOwnProperty(\\\"sourceStreamId\\\"))\\n if (!$util.isInteger(message.sourceStreamId))\\n return \\\"sourceStreamId: integer expected\\\";\\n if (message.avgBitrateBps != null && message.hasOwnProperty(\\\"avgBitrateBps\\\"))\\n if (!$util.isInteger(message.avgBitrateBps))\\n return \\\"avgBitrateBps: integer expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkBitrate message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkBitrate\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkBitrate} SdkBitrate\\n */\\n SdkBitrate.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkBitrate)\\n return object;\\n var message = new $root.SdkBitrate();\\n if (object.sourceStreamId != null)\\n message.sourceStreamId = object.sourceStreamId >>> 0;\\n if (object.avgBitrateBps != null)\\n message.avgBitrateBps = object.avgBitrateBps >>> 0;\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkBitrate message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkBitrate\\n * @static\\n * @param {SdkBitrate} message SdkBitrate\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkBitrate.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.sourceStreamId = 0;\\n object.avgBitrateBps = 0;\\n }\\n if (message.sourceStreamId != null && message.hasOwnProperty(\\\"sourceStreamId\\\"))\\n object.sourceStreamId = message.sourceStreamId;\\n if (message.avgBitrateBps != null && message.hasOwnProperty(\\\"avgBitrateBps\\\"))\\n object.avgBitrateBps = message.avgBitrateBps;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkBitrate to JSON.\\n * @function toJSON\\n * @memberof SdkBitrate\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkBitrate.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkBitrate;\\n})();\\n\\n$root.SdkAudioControlFrame = (function() {\\n\\n /**\\n * Properties of a SdkAudioControlFrame.\\n * @exports ISdkAudioControlFrame\\n * @interface ISdkAudioControlFrame\\n * @property {boolean|null} [muted] SdkAudioControlFrame muted\\n */\\n\\n /**\\n * Constructs a new SdkAudioControlFrame.\\n * @exports SdkAudioControlFrame\\n * @classdesc Represents a SdkAudioControlFrame.\\n * @implements ISdkAudioControlFrame\\n * @constructor\\n * @param {ISdkAudioControlFrame=} [properties] Properties to set\\n */\\n function SdkAudioControlFrame(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkAudioControlFrame muted.\\n * @member {boolean} muted\\n * @memberof SdkAudioControlFrame\\n * @instance\\n */\\n SdkAudioControlFrame.prototype.muted = false;\\n\\n /**\\n * Creates a new SdkAudioControlFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkAudioControlFrame\\n * @static\\n * @param {ISdkAudioControlFrame=} [properties] Properties to set\\n * @returns {SdkAudioControlFrame} SdkAudioControlFrame instance\\n */\\n SdkAudioControlFrame.create = function create(properties) {\\n return new SdkAudioControlFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkAudioControlFrame message. Does not implicitly {@link SdkAudioControlFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkAudioControlFrame\\n * @static\\n * @param {ISdkAudioControlFrame} message SdkAudioControlFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkAudioControlFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.muted != null && Object.hasOwnProperty.call(message, \\\"muted\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).bool(message.muted);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkAudioControlFrame message, length delimited. Does not implicitly {@link SdkAudioControlFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkAudioControlFrame\\n * @static\\n * @param {ISdkAudioControlFrame} message SdkAudioControlFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkAudioControlFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkAudioControlFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkAudioControlFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkAudioControlFrame} SdkAudioControlFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkAudioControlFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkAudioControlFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.muted = reader.bool();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkAudioControlFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkAudioControlFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkAudioControlFrame} SdkAudioControlFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkAudioControlFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkAudioControlFrame message.\\n * @function verify\\n * @memberof SdkAudioControlFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkAudioControlFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.muted != null && message.hasOwnProperty(\\\"muted\\\"))\\n if (typeof message.muted !== \\\"boolean\\\")\\n return \\\"muted: boolean expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkAudioControlFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkAudioControlFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkAudioControlFrame} SdkAudioControlFrame\\n */\\n SdkAudioControlFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkAudioControlFrame)\\n return object;\\n var message = new $root.SdkAudioControlFrame();\\n if (object.muted != null)\\n message.muted = Boolean(object.muted);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkAudioControlFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkAudioControlFrame\\n * @static\\n * @param {SdkAudioControlFrame} message SdkAudioControlFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkAudioControlFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults)\\n object.muted = false;\\n if (message.muted != null && message.hasOwnProperty(\\\"muted\\\"))\\n object.muted = message.muted;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkAudioControlFrame to JSON.\\n * @function toJSON\\n * @memberof SdkAudioControlFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkAudioControlFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkAudioControlFrame;\\n})();\\n\\n$root.SdkAudioMetadataFrame = (function() {\\n\\n /**\\n * Properties of a SdkAudioMetadataFrame.\\n * @exports ISdkAudioMetadataFrame\\n * @interface ISdkAudioMetadataFrame\\n * @property {Array.<ISdkAudioAttendeeState>|null} [attendeeStates] SdkAudioMetadataFrame attendeeStates\\n */\\n\\n /**\\n * Constructs a new SdkAudioMetadataFrame.\\n * @exports SdkAudioMetadataFrame\\n * @classdesc Represents a SdkAudioMetadataFrame.\\n * @implements ISdkAudioMetadataFrame\\n * @constructor\\n * @param {ISdkAudioMetadataFrame=} [properties] Properties to set\\n */\\n function SdkAudioMetadataFrame(properties) {\\n this.attendeeStates = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkAudioMetadataFrame attendeeStates.\\n * @member {Array.<ISdkAudioAttendeeState>} attendeeStates\\n * @memberof SdkAudioMetadataFrame\\n * @instance\\n */\\n SdkAudioMetadataFrame.prototype.attendeeStates = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkAudioMetadataFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkAudioMetadataFrame\\n * @static\\n * @param {ISdkAudioMetadataFrame=} [properties] Properties to set\\n * @returns {SdkAudioMetadataFrame} SdkAudioMetadataFrame instance\\n */\\n SdkAudioMetadataFrame.create = function create(properties) {\\n return new SdkAudioMetadataFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkAudioMetadataFrame message. Does not implicitly {@link SdkAudioMetadataFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkAudioMetadataFrame\\n * @static\\n * @param {ISdkAudioMetadataFrame} message SdkAudioMetadataFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkAudioMetadataFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.attendeeStates != null && message.attendeeStates.length)\\n for (var i = 0; i < message.attendeeStates.length; ++i)\\n $root.SdkAudioAttendeeState.encode(message.attendeeStates[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkAudioMetadataFrame message, length delimited. Does not implicitly {@link SdkAudioMetadataFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkAudioMetadataFrame\\n * @static\\n * @param {ISdkAudioMetadataFrame} message SdkAudioMetadataFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkAudioMetadataFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkAudioMetadataFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkAudioMetadataFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkAudioMetadataFrame} SdkAudioMetadataFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkAudioMetadataFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkAudioMetadataFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n if (!(message.attendeeStates && message.attendeeStates.length))\\n message.attendeeStates = [];\\n message.attendeeStates.push($root.SdkAudioAttendeeState.decode(reader, reader.uint32()));\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkAudioMetadataFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkAudioMetadataFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkAudioMetadataFrame} SdkAudioMetadataFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkAudioMetadataFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkAudioMetadataFrame message.\\n * @function verify\\n * @memberof SdkAudioMetadataFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkAudioMetadataFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.attendeeStates != null && message.hasOwnProperty(\\\"attendeeStates\\\")) {\\n if (!Array.isArray(message.attendeeStates))\\n return \\\"attendeeStates: array expected\\\";\\n for (var i = 0; i < message.attendeeStates.length; ++i) {\\n var error = $root.SdkAudioAttendeeState.verify(message.attendeeStates[i]);\\n if (error)\\n return \\\"attendeeStates.\\\" + error;\\n }\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkAudioMetadataFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkAudioMetadataFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkAudioMetadataFrame} SdkAudioMetadataFrame\\n */\\n SdkAudioMetadataFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkAudioMetadataFrame)\\n return object;\\n var message = new $root.SdkAudioMetadataFrame();\\n if (object.attendeeStates) {\\n if (!Array.isArray(object.attendeeStates))\\n throw TypeError(\\\".SdkAudioMetadataFrame.attendeeStates: array expected\\\");\\n message.attendeeStates = [];\\n for (var i = 0; i < object.attendeeStates.length; ++i) {\\n if (typeof object.attendeeStates[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkAudioMetadataFrame.attendeeStates: object expected\\\");\\n message.attendeeStates[i] = $root.SdkAudioAttendeeState.fromObject(object.attendeeStates[i]);\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkAudioMetadataFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkAudioMetadataFrame\\n * @static\\n * @param {SdkAudioMetadataFrame} message SdkAudioMetadataFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkAudioMetadataFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults)\\n object.attendeeStates = [];\\n if (message.attendeeStates && message.attendeeStates.length) {\\n object.attendeeStates = [];\\n for (var j = 0; j < message.attendeeStates.length; ++j)\\n object.attendeeStates[j] = $root.SdkAudioAttendeeState.toObject(message.attendeeStates[j], options);\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkAudioMetadataFrame to JSON.\\n * @function toJSON\\n * @memberof SdkAudioMetadataFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkAudioMetadataFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkAudioMetadataFrame;\\n})();\\n\\n$root.SdkAudioAttendeeState = (function() {\\n\\n /**\\n * Properties of a SdkAudioAttendeeState.\\n * @exports ISdkAudioAttendeeState\\n * @interface ISdkAudioAttendeeState\\n * @property {number|null} [audioStreamId] SdkAudioAttendeeState audioStreamId\\n * @property {number|null} [volume] SdkAudioAttendeeState volume\\n * @property {boolean|null} [muted] SdkAudioAttendeeState muted\\n * @property {number|null} [signalStrength] SdkAudioAttendeeState signalStrength\\n */\\n\\n /**\\n * Constructs a new SdkAudioAttendeeState.\\n * @exports SdkAudioAttendeeState\\n * @classdesc Represents a SdkAudioAttendeeState.\\n * @implements ISdkAudioAttendeeState\\n * @constructor\\n * @param {ISdkAudioAttendeeState=} [properties] Properties to set\\n */\\n function SdkAudioAttendeeState(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkAudioAttendeeState audioStreamId.\\n * @member {number} audioStreamId\\n * @memberof SdkAudioAttendeeState\\n * @instance\\n */\\n SdkAudioAttendeeState.prototype.audioStreamId = 0;\\n\\n /**\\n * SdkAudioAttendeeState volume.\\n * @member {number} volume\\n * @memberof SdkAudioAttendeeState\\n * @instance\\n */\\n SdkAudioAttendeeState.prototype.volume = 0;\\n\\n /**\\n * SdkAudioAttendeeState muted.\\n * @member {boolean} muted\\n * @memberof SdkAudioAttendeeState\\n * @instance\\n */\\n SdkAudioAttendeeState.prototype.muted = false;\\n\\n /**\\n * SdkAudioAttendeeState signalStrength.\\n * @member {number} signalStrength\\n * @memberof SdkAudioAttendeeState\\n * @instance\\n */\\n SdkAudioAttendeeState.prototype.signalStrength = 0;\\n\\n /**\\n * Creates a new SdkAudioAttendeeState instance using the specified properties.\\n * @function create\\n * @memberof SdkAudioAttendeeState\\n * @static\\n * @param {ISdkAudioAttendeeState=} [properties] Properties to set\\n * @returns {SdkAudioAttendeeState} SdkAudioAttendeeState instance\\n */\\n SdkAudioAttendeeState.create = function create(properties) {\\n return new SdkAudioAttendeeState(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkAudioAttendeeState message. Does not implicitly {@link SdkAudioAttendeeState.verify|verify} messages.\\n * @function encode\\n * @memberof SdkAudioAttendeeState\\n * @static\\n * @param {ISdkAudioAttendeeState} message SdkAudioAttendeeState message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkAudioAttendeeState.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.audioStreamId != null && Object.hasOwnProperty.call(message, \\\"audioStreamId\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.audioStreamId);\\n if (message.volume != null && Object.hasOwnProperty.call(message, \\\"volume\\\"))\\n writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.volume);\\n if (message.muted != null && Object.hasOwnProperty.call(message, \\\"muted\\\"))\\n writer.uint32(/* id 3, wireType 0 =*/24).bool(message.muted);\\n if (message.signalStrength != null && Object.hasOwnProperty.call(message, \\\"signalStrength\\\"))\\n writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.signalStrength);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkAudioAttendeeState message, length delimited. Does not implicitly {@link SdkAudioAttendeeState.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkAudioAttendeeState\\n * @static\\n * @param {ISdkAudioAttendeeState} message SdkAudioAttendeeState message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkAudioAttendeeState.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkAudioAttendeeState message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkAudioAttendeeState\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkAudioAttendeeState} SdkAudioAttendeeState\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkAudioAttendeeState.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkAudioAttendeeState();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.audioStreamId = reader.uint32();\\n break;\\n case 2:\\n message.volume = reader.uint32();\\n break;\\n case 3:\\n message.muted = reader.bool();\\n break;\\n case 4:\\n message.signalStrength = reader.uint32();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkAudioAttendeeState message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkAudioAttendeeState\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkAudioAttendeeState} SdkAudioAttendeeState\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkAudioAttendeeState.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkAudioAttendeeState message.\\n * @function verify\\n * @memberof SdkAudioAttendeeState\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkAudioAttendeeState.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.audioStreamId != null && message.hasOwnProperty(\\\"audioStreamId\\\"))\\n if (!$util.isInteger(message.audioStreamId))\\n return \\\"audioStreamId: integer expected\\\";\\n if (message.volume != null && message.hasOwnProperty(\\\"volume\\\"))\\n if (!$util.isInteger(message.volume))\\n return \\\"volume: integer expected\\\";\\n if (message.muted != null && message.hasOwnProperty(\\\"muted\\\"))\\n if (typeof message.muted !== \\\"boolean\\\")\\n return \\\"muted: boolean expected\\\";\\n if (message.signalStrength != null && message.hasOwnProperty(\\\"signalStrength\\\"))\\n if (!$util.isInteger(message.signalStrength))\\n return \\\"signalStrength: integer expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkAudioAttendeeState message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkAudioAttendeeState\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkAudioAttendeeState} SdkAudioAttendeeState\\n */\\n SdkAudioAttendeeState.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkAudioAttendeeState)\\n return object;\\n var message = new $root.SdkAudioAttendeeState();\\n if (object.audioStreamId != null)\\n message.audioStreamId = object.audioStreamId >>> 0;\\n if (object.volume != null)\\n message.volume = object.volume >>> 0;\\n if (object.muted != null)\\n message.muted = Boolean(object.muted);\\n if (object.signalStrength != null)\\n message.signalStrength = object.signalStrength >>> 0;\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkAudioAttendeeState message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkAudioAttendeeState\\n * @static\\n * @param {SdkAudioAttendeeState} message SdkAudioAttendeeState\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkAudioAttendeeState.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.audioStreamId = 0;\\n object.volume = 0;\\n object.muted = false;\\n object.signalStrength = 0;\\n }\\n if (message.audioStreamId != null && message.hasOwnProperty(\\\"audioStreamId\\\"))\\n object.audioStreamId = message.audioStreamId;\\n if (message.volume != null && message.hasOwnProperty(\\\"volume\\\"))\\n object.volume = message.volume;\\n if (message.muted != null && message.hasOwnProperty(\\\"muted\\\"))\\n object.muted = message.muted;\\n if (message.signalStrength != null && message.hasOwnProperty(\\\"signalStrength\\\"))\\n object.signalStrength = message.signalStrength;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkAudioAttendeeState to JSON.\\n * @function toJSON\\n * @memberof SdkAudioAttendeeState\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkAudioAttendeeState.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkAudioAttendeeState;\\n})();\\n\\n$root.SdkAudioStreamIdInfoFrame = (function() {\\n\\n /**\\n * Properties of a SdkAudioStreamIdInfoFrame.\\n * @exports ISdkAudioStreamIdInfoFrame\\n * @interface ISdkAudioStreamIdInfoFrame\\n * @property {Array.<ISdkAudioStreamIdInfo>|null} [streams] SdkAudioStreamIdInfoFrame streams\\n */\\n\\n /**\\n * Constructs a new SdkAudioStreamIdInfoFrame.\\n * @exports SdkAudioStreamIdInfoFrame\\n * @classdesc Represents a SdkAudioStreamIdInfoFrame.\\n * @implements ISdkAudioStreamIdInfoFrame\\n * @constructor\\n * @param {ISdkAudioStreamIdInfoFrame=} [properties] Properties to set\\n */\\n function SdkAudioStreamIdInfoFrame(properties) {\\n this.streams = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkAudioStreamIdInfoFrame streams.\\n * @member {Array.<ISdkAudioStreamIdInfo>} streams\\n * @memberof SdkAudioStreamIdInfoFrame\\n * @instance\\n */\\n SdkAudioStreamIdInfoFrame.prototype.streams = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkAudioStreamIdInfoFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkAudioStreamIdInfoFrame\\n * @static\\n * @param {ISdkAudioStreamIdInfoFrame=} [properties] Properties to set\\n * @returns {SdkAudioStreamIdInfoFrame} SdkAudioStreamIdInfoFrame instance\\n */\\n SdkAudioStreamIdInfoFrame.create = function create(properties) {\\n return new SdkAudioStreamIdInfoFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkAudioStreamIdInfoFrame message. Does not implicitly {@link SdkAudioStreamIdInfoFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkAudioStreamIdInfoFrame\\n * @static\\n * @param {ISdkAudioStreamIdInfoFrame} message SdkAudioStreamIdInfoFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkAudioStreamIdInfoFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.streams != null && message.streams.length)\\n for (var i = 0; i < message.streams.length; ++i)\\n $root.SdkAudioStreamIdInfo.encode(message.streams[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkAudioStreamIdInfoFrame message, length delimited. Does not implicitly {@link SdkAudioStreamIdInfoFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkAudioStreamIdInfoFrame\\n * @static\\n * @param {ISdkAudioStreamIdInfoFrame} message SdkAudioStreamIdInfoFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkAudioStreamIdInfoFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkAudioStreamIdInfoFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkAudioStreamIdInfoFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkAudioStreamIdInfoFrame} SdkAudioStreamIdInfoFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkAudioStreamIdInfoFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkAudioStreamIdInfoFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n if (!(message.streams && message.streams.length))\\n message.streams = [];\\n message.streams.push($root.SdkAudioStreamIdInfo.decode(reader, reader.uint32()));\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkAudioStreamIdInfoFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkAudioStreamIdInfoFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkAudioStreamIdInfoFrame} SdkAudioStreamIdInfoFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkAudioStreamIdInfoFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkAudioStreamIdInfoFrame message.\\n * @function verify\\n * @memberof SdkAudioStreamIdInfoFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkAudioStreamIdInfoFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.streams != null && message.hasOwnProperty(\\\"streams\\\")) {\\n if (!Array.isArray(message.streams))\\n return \\\"streams: array expected\\\";\\n for (var i = 0; i < message.streams.length; ++i) {\\n var error = $root.SdkAudioStreamIdInfo.verify(message.streams[i]);\\n if (error)\\n return \\\"streams.\\\" + error;\\n }\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkAudioStreamIdInfoFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkAudioStreamIdInfoFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkAudioStreamIdInfoFrame} SdkAudioStreamIdInfoFrame\\n */\\n SdkAudioStreamIdInfoFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkAudioStreamIdInfoFrame)\\n return object;\\n var message = new $root.SdkAudioStreamIdInfoFrame();\\n if (object.streams) {\\n if (!Array.isArray(object.streams))\\n throw TypeError(\\\".SdkAudioStreamIdInfoFrame.streams: array expected\\\");\\n message.streams = [];\\n for (var i = 0; i < object.streams.length; ++i) {\\n if (typeof object.streams[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkAudioStreamIdInfoFrame.streams: object expected\\\");\\n message.streams[i] = $root.SdkAudioStreamIdInfo.fromObject(object.streams[i]);\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkAudioStreamIdInfoFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkAudioStreamIdInfoFrame\\n * @static\\n * @param {SdkAudioStreamIdInfoFrame} message SdkAudioStreamIdInfoFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkAudioStreamIdInfoFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults)\\n object.streams = [];\\n if (message.streams && message.streams.length) {\\n object.streams = [];\\n for (var j = 0; j < message.streams.length; ++j)\\n object.streams[j] = $root.SdkAudioStreamIdInfo.toObject(message.streams[j], options);\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkAudioStreamIdInfoFrame to JSON.\\n * @function toJSON\\n * @memberof SdkAudioStreamIdInfoFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkAudioStreamIdInfoFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkAudioStreamIdInfoFrame;\\n})();\\n\\n$root.SdkAudioStreamIdInfo = (function() {\\n\\n /**\\n * Properties of a SdkAudioStreamIdInfo.\\n * @exports ISdkAudioStreamIdInfo\\n * @interface ISdkAudioStreamIdInfo\\n * @property {number|null} [audioStreamId] SdkAudioStreamIdInfo audioStreamId\\n * @property {string|null} [attendeeId] SdkAudioStreamIdInfo attendeeId\\n * @property {boolean|null} [muted] SdkAudioStreamIdInfo muted\\n * @property {string|null} [externalUserId] SdkAudioStreamIdInfo externalUserId\\n * @property {boolean|null} [dropped] SdkAudioStreamIdInfo dropped\\n */\\n\\n /**\\n * Constructs a new SdkAudioStreamIdInfo.\\n * @exports SdkAudioStreamIdInfo\\n * @classdesc Represents a SdkAudioStreamIdInfo.\\n * @implements ISdkAudioStreamIdInfo\\n * @constructor\\n * @param {ISdkAudioStreamIdInfo=} [properties] Properties to set\\n */\\n function SdkAudioStreamIdInfo(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkAudioStreamIdInfo audioStreamId.\\n * @member {number} audioStreamId\\n * @memberof SdkAudioStreamIdInfo\\n * @instance\\n */\\n SdkAudioStreamIdInfo.prototype.audioStreamId = 0;\\n\\n /**\\n * SdkAudioStreamIdInfo attendeeId.\\n * @member {string} attendeeId\\n * @memberof SdkAudioStreamIdInfo\\n * @instance\\n */\\n SdkAudioStreamIdInfo.prototype.attendeeId = \\\"\\\";\\n\\n /**\\n * SdkAudioStreamIdInfo muted.\\n * @member {boolean} muted\\n * @memberof SdkAudioStreamIdInfo\\n * @instance\\n */\\n SdkAudioStreamIdInfo.prototype.muted = false;\\n\\n /**\\n * SdkAudioStreamIdInfo externalUserId.\\n * @member {string} externalUserId\\n * @memberof SdkAudioStreamIdInfo\\n * @instance\\n */\\n SdkAudioStreamIdInfo.prototype.externalUserId = \\\"\\\";\\n\\n /**\\n * SdkAudioStreamIdInfo dropped.\\n * @member {boolean} dropped\\n * @memberof SdkAudioStreamIdInfo\\n * @instance\\n */\\n SdkAudioStreamIdInfo.prototype.dropped = false;\\n\\n /**\\n * Creates a new SdkAudioStreamIdInfo instance using the specified properties.\\n * @function create\\n * @memberof SdkAudioStreamIdInfo\\n * @static\\n * @param {ISdkAudioStreamIdInfo=} [properties] Properties to set\\n * @returns {SdkAudioStreamIdInfo} SdkAudioStreamIdInfo instance\\n */\\n SdkAudioStreamIdInfo.create = function create(properties) {\\n return new SdkAudioStreamIdInfo(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkAudioStreamIdInfo message. Does not implicitly {@link SdkAudioStreamIdInfo.verify|verify} messages.\\n * @function encode\\n * @memberof SdkAudioStreamIdInfo\\n * @static\\n * @param {ISdkAudioStreamIdInfo} message SdkAudioStreamIdInfo message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkAudioStreamIdInfo.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.audioStreamId != null && Object.hasOwnProperty.call(message, \\\"audioStreamId\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.audioStreamId);\\n if (message.attendeeId != null && Object.hasOwnProperty.call(message, \\\"attendeeId\\\"))\\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.attendeeId);\\n if (message.muted != null && Object.hasOwnProperty.call(message, \\\"muted\\\"))\\n writer.uint32(/* id 3, wireType 0 =*/24).bool(message.muted);\\n if (message.externalUserId != null && Object.hasOwnProperty.call(message, \\\"externalUserId\\\"))\\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.externalUserId);\\n if (message.dropped != null && Object.hasOwnProperty.call(message, \\\"dropped\\\"))\\n writer.uint32(/* id 5, wireType 0 =*/40).bool(message.dropped);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkAudioStreamIdInfo message, length delimited. Does not implicitly {@link SdkAudioStreamIdInfo.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkAudioStreamIdInfo\\n * @static\\n * @param {ISdkAudioStreamIdInfo} message SdkAudioStreamIdInfo message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkAudioStreamIdInfo.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkAudioStreamIdInfo message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkAudioStreamIdInfo\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkAudioStreamIdInfo} SdkAudioStreamIdInfo\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkAudioStreamIdInfo.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkAudioStreamIdInfo();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.audioStreamId = reader.uint32();\\n break;\\n case 2:\\n message.attendeeId = reader.string();\\n break;\\n case 3:\\n message.muted = reader.bool();\\n break;\\n case 4:\\n message.externalUserId = reader.string();\\n break;\\n case 5:\\n message.dropped = reader.bool();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkAudioStreamIdInfo message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkAudioStreamIdInfo\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkAudioStreamIdInfo} SdkAudioStreamIdInfo\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkAudioStreamIdInfo.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkAudioStreamIdInfo message.\\n * @function verify\\n * @memberof SdkAudioStreamIdInfo\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkAudioStreamIdInfo.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.audioStreamId != null && message.hasOwnProperty(\\\"audioStreamId\\\"))\\n if (!$util.isInteger(message.audioStreamId))\\n return \\\"audioStreamId: integer expected\\\";\\n if (message.attendeeId != null && message.hasOwnProperty(\\\"attendeeId\\\"))\\n if (!$util.isString(message.attendeeId))\\n return \\\"attendeeId: string expected\\\";\\n if (message.muted != null && message.hasOwnProperty(\\\"muted\\\"))\\n if (typeof message.muted !== \\\"boolean\\\")\\n return \\\"muted: boolean expected\\\";\\n if (message.externalUserId != null && message.hasOwnProperty(\\\"externalUserId\\\"))\\n if (!$util.isString(message.externalUserId))\\n return \\\"externalUserId: string expected\\\";\\n if (message.dropped != null && message.hasOwnProperty(\\\"dropped\\\"))\\n if (typeof message.dropped !== \\\"boolean\\\")\\n return \\\"dropped: boolean expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkAudioStreamIdInfo message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkAudioStreamIdInfo\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkAudioStreamIdInfo} SdkAudioStreamIdInfo\\n */\\n SdkAudioStreamIdInfo.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkAudioStreamIdInfo)\\n return object;\\n var message = new $root.SdkAudioStreamIdInfo();\\n if (object.audioStreamId != null)\\n message.audioStreamId = object.audioStreamId >>> 0;\\n if (object.attendeeId != null)\\n message.attendeeId = String(object.attendeeId);\\n if (object.muted != null)\\n message.muted = Boolean(object.muted);\\n if (object.externalUserId != null)\\n message.externalUserId = String(object.externalUserId);\\n if (object.dropped != null)\\n message.dropped = Boolean(object.dropped);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkAudioStreamIdInfo message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkAudioStreamIdInfo\\n * @static\\n * @param {SdkAudioStreamIdInfo} message SdkAudioStreamIdInfo\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkAudioStreamIdInfo.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.audioStreamId = 0;\\n object.attendeeId = \\\"\\\";\\n object.muted = false;\\n object.externalUserId = \\\"\\\";\\n object.dropped = false;\\n }\\n if (message.audioStreamId != null && message.hasOwnProperty(\\\"audioStreamId\\\"))\\n object.audioStreamId = message.audioStreamId;\\n if (message.attendeeId != null && message.hasOwnProperty(\\\"attendeeId\\\"))\\n object.attendeeId = message.attendeeId;\\n if (message.muted != null && message.hasOwnProperty(\\\"muted\\\"))\\n object.muted = message.muted;\\n if (message.externalUserId != null && message.hasOwnProperty(\\\"externalUserId\\\"))\\n object.externalUserId = message.externalUserId;\\n if (message.dropped != null && message.hasOwnProperty(\\\"dropped\\\"))\\n object.dropped = message.dropped;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkAudioStreamIdInfo to JSON.\\n * @function toJSON\\n * @memberof SdkAudioStreamIdInfo\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkAudioStreamIdInfo.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkAudioStreamIdInfo;\\n})();\\n\\n/**\\n * SdkPingPongType enum.\\n * @exports SdkPingPongType\\n * @enum {number}\\n * @property {number} PING=1 PING value\\n * @property {number} PONG=2 PONG value\\n */\\n$root.SdkPingPongType = (function() {\\n var valuesById = {}, values = Object.create(valuesById);\\n values[valuesById[1] = \\\"PING\\\"] = 1;\\n values[valuesById[2] = \\\"PONG\\\"] = 2;\\n return values;\\n})();\\n\\n$root.SdkPingPongFrame = (function() {\\n\\n /**\\n * Properties of a SdkPingPongFrame.\\n * @exports ISdkPingPongFrame\\n * @interface ISdkPingPongFrame\\n * @property {SdkPingPongType} type SdkPingPongFrame type\\n * @property {number} pingId SdkPingPongFrame pingId\\n */\\n\\n /**\\n * Constructs a new SdkPingPongFrame.\\n * @exports SdkPingPongFrame\\n * @classdesc Represents a SdkPingPongFrame.\\n * @implements ISdkPingPongFrame\\n * @constructor\\n * @param {ISdkPingPongFrame=} [properties] Properties to set\\n */\\n function SdkPingPongFrame(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkPingPongFrame type.\\n * @member {SdkPingPongType} type\\n * @memberof SdkPingPongFrame\\n * @instance\\n */\\n SdkPingPongFrame.prototype.type = 1;\\n\\n /**\\n * SdkPingPongFrame pingId.\\n * @member {number} pingId\\n * @memberof SdkPingPongFrame\\n * @instance\\n */\\n SdkPingPongFrame.prototype.pingId = 0;\\n\\n /**\\n * Creates a new SdkPingPongFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkPingPongFrame\\n * @static\\n * @param {ISdkPingPongFrame=} [properties] Properties to set\\n * @returns {SdkPingPongFrame} SdkPingPongFrame instance\\n */\\n SdkPingPongFrame.create = function create(properties) {\\n return new SdkPingPongFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkPingPongFrame message. Does not implicitly {@link SdkPingPongFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkPingPongFrame\\n * @static\\n * @param {ISdkPingPongFrame} message SdkPingPongFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkPingPongFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type);\\n writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.pingId);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkPingPongFrame message, length delimited. Does not implicitly {@link SdkPingPongFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkPingPongFrame\\n * @static\\n * @param {ISdkPingPongFrame} message SdkPingPongFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkPingPongFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkPingPongFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkPingPongFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkPingPongFrame} SdkPingPongFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkPingPongFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkPingPongFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.type = reader.int32();\\n break;\\n case 2:\\n message.pingId = reader.uint32();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n if (!message.hasOwnProperty(\\\"type\\\"))\\n throw $util.ProtocolError(\\\"missing required 'type'\\\", { instance: message });\\n if (!message.hasOwnProperty(\\\"pingId\\\"))\\n throw $util.ProtocolError(\\\"missing required 'pingId'\\\", { instance: message });\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkPingPongFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkPingPongFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkPingPongFrame} SdkPingPongFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkPingPongFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkPingPongFrame message.\\n * @function verify\\n * @memberof SdkPingPongFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkPingPongFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n switch (message.type) {\\n default:\\n return \\\"type: enum value expected\\\";\\n case 1:\\n case 2:\\n break;\\n }\\n if (!$util.isInteger(message.pingId))\\n return \\\"pingId: integer expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkPingPongFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkPingPongFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkPingPongFrame} SdkPingPongFrame\\n */\\n SdkPingPongFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkPingPongFrame)\\n return object;\\n var message = new $root.SdkPingPongFrame();\\n switch (object.type) {\\n case \\\"PING\\\":\\n case 1:\\n message.type = 1;\\n break;\\n case \\\"PONG\\\":\\n case 2:\\n message.type = 2;\\n break;\\n }\\n if (object.pingId != null)\\n message.pingId = object.pingId >>> 0;\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkPingPongFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkPingPongFrame\\n * @static\\n * @param {SdkPingPongFrame} message SdkPingPongFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkPingPongFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.type = options.enums === String ? \\\"PING\\\" : 1;\\n object.pingId = 0;\\n }\\n if (message.type != null && message.hasOwnProperty(\\\"type\\\"))\\n object.type = options.enums === String ? $root.SdkPingPongType[message.type] : message.type;\\n if (message.pingId != null && message.hasOwnProperty(\\\"pingId\\\"))\\n object.pingId = message.pingId;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkPingPongFrame to JSON.\\n * @function toJSON\\n * @memberof SdkPingPongFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkPingPongFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkPingPongFrame;\\n})();\\n\\n$root.SdkAudioStatusFrame = (function() {\\n\\n /**\\n * Properties of a SdkAudioStatusFrame.\\n * @exports ISdkAudioStatusFrame\\n * @interface ISdkAudioStatusFrame\\n * @property {number|null} [audioStatus] SdkAudioStatusFrame audioStatus\\n */\\n\\n /**\\n * Constructs a new SdkAudioStatusFrame.\\n * @exports SdkAudioStatusFrame\\n * @classdesc Represents a SdkAudioStatusFrame.\\n * @implements ISdkAudioStatusFrame\\n * @constructor\\n * @param {ISdkAudioStatusFrame=} [properties] Properties to set\\n */\\n function SdkAudioStatusFrame(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkAudioStatusFrame audioStatus.\\n * @member {number} audioStatus\\n * @memberof SdkAudioStatusFrame\\n * @instance\\n */\\n SdkAudioStatusFrame.prototype.audioStatus = 0;\\n\\n /**\\n * Creates a new SdkAudioStatusFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkAudioStatusFrame\\n * @static\\n * @param {ISdkAudioStatusFrame=} [properties] Properties to set\\n * @returns {SdkAudioStatusFrame} SdkAudioStatusFrame instance\\n */\\n SdkAudioStatusFrame.create = function create(properties) {\\n return new SdkAudioStatusFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkAudioStatusFrame message. Does not implicitly {@link SdkAudioStatusFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkAudioStatusFrame\\n * @static\\n * @param {ISdkAudioStatusFrame} message SdkAudioStatusFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkAudioStatusFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.audioStatus != null && Object.hasOwnProperty.call(message, \\\"audioStatus\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.audioStatus);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkAudioStatusFrame message, length delimited. Does not implicitly {@link SdkAudioStatusFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkAudioStatusFrame\\n * @static\\n * @param {ISdkAudioStatusFrame} message SdkAudioStatusFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkAudioStatusFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkAudioStatusFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkAudioStatusFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkAudioStatusFrame} SdkAudioStatusFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkAudioStatusFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkAudioStatusFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.audioStatus = reader.uint32();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkAudioStatusFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkAudioStatusFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkAudioStatusFrame} SdkAudioStatusFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkAudioStatusFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkAudioStatusFrame message.\\n * @function verify\\n * @memberof SdkAudioStatusFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkAudioStatusFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.audioStatus != null && message.hasOwnProperty(\\\"audioStatus\\\"))\\n if (!$util.isInteger(message.audioStatus))\\n return \\\"audioStatus: integer expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkAudioStatusFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkAudioStatusFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkAudioStatusFrame} SdkAudioStatusFrame\\n */\\n SdkAudioStatusFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkAudioStatusFrame)\\n return object;\\n var message = new $root.SdkAudioStatusFrame();\\n if (object.audioStatus != null)\\n message.audioStatus = object.audioStatus >>> 0;\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkAudioStatusFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkAudioStatusFrame\\n * @static\\n * @param {SdkAudioStatusFrame} message SdkAudioStatusFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkAudioStatusFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults)\\n object.audioStatus = 0;\\n if (message.audioStatus != null && message.hasOwnProperty(\\\"audioStatus\\\"))\\n object.audioStatus = message.audioStatus;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkAudioStatusFrame to JSON.\\n * @function toJSON\\n * @memberof SdkAudioStatusFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkAudioStatusFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkAudioStatusFrame;\\n})();\\n\\n$root.SdkMetric = (function() {\\n\\n /**\\n * Properties of a SdkMetric.\\n * @exports ISdkMetric\\n * @interface ISdkMetric\\n * @property {SdkMetric.Type|null} [type] SdkMetric type\\n * @property {number|null} [value] SdkMetric value\\n */\\n\\n /**\\n * Constructs a new SdkMetric.\\n * @exports SdkMetric\\n * @classdesc Represents a SdkMetric.\\n * @implements ISdkMetric\\n * @constructor\\n * @param {ISdkMetric=} [properties] Properties to set\\n */\\n function SdkMetric(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkMetric type.\\n * @member {SdkMetric.Type} type\\n * @memberof SdkMetric\\n * @instance\\n */\\n SdkMetric.prototype.type = 1;\\n\\n /**\\n * SdkMetric value.\\n * @member {number} value\\n * @memberof SdkMetric\\n * @instance\\n */\\n SdkMetric.prototype.value = 0;\\n\\n /**\\n * Creates a new SdkMetric instance using the specified properties.\\n * @function create\\n * @memberof SdkMetric\\n * @static\\n * @param {ISdkMetric=} [properties] Properties to set\\n * @returns {SdkMetric} SdkMetric instance\\n */\\n SdkMetric.create = function create(properties) {\\n return new SdkMetric(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkMetric message. Does not implicitly {@link SdkMetric.verify|verify} messages.\\n * @function encode\\n * @memberof SdkMetric\\n * @static\\n * @param {ISdkMetric} message SdkMetric message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkMetric.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.type != null && Object.hasOwnProperty.call(message, \\\"type\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type);\\n if (message.value != null && Object.hasOwnProperty.call(message, \\\"value\\\"))\\n writer.uint32(/* id 2, wireType 1 =*/17).double(message.value);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkMetric message, length delimited. Does not implicitly {@link SdkMetric.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkMetric\\n * @static\\n * @param {ISdkMetric} message SdkMetric message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkMetric.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkMetric message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkMetric\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkMetric} SdkMetric\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkMetric.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkMetric();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.type = reader.int32();\\n break;\\n case 2:\\n message.value = reader.double();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkMetric message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkMetric\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkMetric} SdkMetric\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkMetric.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkMetric message.\\n * @function verify\\n * @memberof SdkMetric\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkMetric.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.type != null && message.hasOwnProperty(\\\"type\\\"))\\n switch (message.type) {\\n default:\\n return \\\"type: enum value expected\\\";\\n case 1:\\n case 2:\\n case 3:\\n case 4:\\n case 5:\\n case 6:\\n case 7:\\n case 8:\\n case 9:\\n case 10:\\n case 11:\\n case 12:\\n case 13:\\n case 14:\\n case 15:\\n case 16:\\n case 17:\\n case 18:\\n case 19:\\n case 20:\\n case 21:\\n case 22:\\n case 23:\\n case 24:\\n case 25:\\n case 26:\\n case 27:\\n case 28:\\n case 29:\\n case 30:\\n case 31:\\n case 32:\\n case 33:\\n case 34:\\n case 35:\\n case 36:\\n case 37:\\n case 38:\\n case 39:\\n case 40:\\n case 41:\\n case 42:\\n case 43:\\n case 44:\\n case 45:\\n case 46:\\n case 47:\\n case 48:\\n case 49:\\n case 64:\\n case 66:\\n case 69:\\n case 72:\\n case 86:\\n case 87:\\n case 88:\\n case 89:\\n break;\\n }\\n if (message.value != null && message.hasOwnProperty(\\\"value\\\"))\\n if (typeof message.value !== \\\"number\\\")\\n return \\\"value: number expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkMetric message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkMetric\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkMetric} SdkMetric\\n */\\n SdkMetric.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkMetric)\\n return object;\\n var message = new $root.SdkMetric();\\n switch (object.type) {\\n case \\\"VIDEO_ACTUAL_ENCODER_BITRATE\\\":\\n case 1:\\n message.type = 1;\\n break;\\n case \\\"VIDEO_AVAILABLE_SEND_BANDWIDTH\\\":\\n case 2:\\n message.type = 2;\\n break;\\n case \\\"VIDEO_RETRANSMIT_BITRATE\\\":\\n case 3:\\n message.type = 3;\\n break;\\n case \\\"VIDEO_AVAILABLE_RECEIVE_BANDWIDTH\\\":\\n case 4:\\n message.type = 4;\\n break;\\n case \\\"VIDEO_TARGET_ENCODER_BITRATE\\\":\\n case 5:\\n message.type = 5;\\n break;\\n case \\\"VIDEO_BUCKET_DELAY_MS\\\":\\n case 6:\\n message.type = 6;\\n break;\\n case \\\"STUN_RTT_MS\\\":\\n case 7:\\n message.type = 7;\\n break;\\n case \\\"SOCKET_DISCARDED_PPS\\\":\\n case 8:\\n message.type = 8;\\n break;\\n case \\\"RTC_MIC_JITTER_MS\\\":\\n case 9:\\n message.type = 9;\\n break;\\n case \\\"RTC_MIC_PPS\\\":\\n case 10:\\n message.type = 10;\\n break;\\n case \\\"RTC_MIC_FRACTION_PACKET_LOST_PERCENT\\\":\\n case 11:\\n message.type = 11;\\n break;\\n case \\\"RTC_MIC_BITRATE\\\":\\n case 12:\\n message.type = 12;\\n break;\\n case \\\"RTC_MIC_RTT_MS\\\":\\n case 13:\\n message.type = 13;\\n break;\\n case \\\"RTC_SPK_PPS\\\":\\n case 14:\\n message.type = 14;\\n break;\\n case \\\"RTC_SPK_FRACTION_PACKET_LOST_PERCENT\\\":\\n case 15:\\n message.type = 15;\\n break;\\n case \\\"RTC_SPK_JITTER_MS\\\":\\n case 16:\\n message.type = 16;\\n break;\\n case \\\"RTC_SPK_FRACTION_DECODER_LOSS_PERCENT\\\":\\n case 17:\\n message.type = 17;\\n break;\\n case \\\"RTC_SPK_BITRATE\\\":\\n case 18:\\n message.type = 18;\\n break;\\n case \\\"RTC_SPK_CURRENT_DELAY_MS\\\":\\n case 19:\\n message.type = 19;\\n break;\\n case \\\"RTC_SPK_JITTER_BUFFER_MS\\\":\\n case 20:\\n message.type = 20;\\n break;\\n case \\\"VIDEO_SENT_RTT_MS\\\":\\n case 21:\\n message.type = 21;\\n break;\\n case \\\"VIDEO_ENCODE_USAGE_PERCENT\\\":\\n case 22:\\n message.type = 22;\\n break;\\n case \\\"VIDEO_NACKS_RECEIVED\\\":\\n case 23:\\n message.type = 23;\\n break;\\n case \\\"VIDEO_PLIS_RECEIVED\\\":\\n case 24:\\n message.type = 24;\\n break;\\n case \\\"VIDEO_ENCODE_MS\\\":\\n case 25:\\n message.type = 25;\\n break;\\n case \\\"VIDEO_INPUT_FPS\\\":\\n case 26:\\n message.type = 26;\\n break;\\n case \\\"VIDEO_ENCODE_FPS\\\":\\n case 27:\\n message.type = 27;\\n break;\\n case \\\"VIDEO_SENT_FPS\\\":\\n case 28:\\n message.type = 28;\\n break;\\n case \\\"VIDEO_FIRS_RECEIVED\\\":\\n case 29:\\n message.type = 29;\\n break;\\n case \\\"VIDEO_SENT_PPS\\\":\\n case 30:\\n message.type = 30;\\n break;\\n case \\\"VIDEO_SENT_FRACTION_PACKET_LOST_PERCENT\\\":\\n case 31:\\n message.type = 31;\\n break;\\n case \\\"VIDEO_SENT_BITRATE\\\":\\n case 32:\\n message.type = 32;\\n break;\\n case \\\"VIDEO_DROPPED_FPS\\\":\\n case 33:\\n message.type = 33;\\n break;\\n case \\\"VIDEO_TARGET_DELAY_MS\\\":\\n case 34:\\n message.type = 34;\\n break;\\n case \\\"VIDEO_DECODE_MS\\\":\\n case 35:\\n message.type = 35;\\n break;\\n case \\\"VIDEO_OUTPUT_FPS\\\":\\n case 36:\\n message.type = 36;\\n break;\\n case \\\"VIDEO_RECEIVED_PPS\\\":\\n case 37:\\n message.type = 37;\\n break;\\n case \\\"VIDEO_RECEIVED_FRACTION_PACKET_LOST_PERCENT\\\":\\n case 38:\\n message.type = 38;\\n break;\\n case \\\"VIDEO_RENDER_DELAY_MS\\\":\\n case 39:\\n message.type = 39;\\n break;\\n case \\\"VIDEO_RECEIVED_FPS\\\":\\n case 40:\\n message.type = 40;\\n break;\\n case \\\"VIDEO_DECODE_FPS\\\":\\n case 41:\\n message.type = 41;\\n break;\\n case \\\"VIDEO_NACKS_SENT\\\":\\n case 42:\\n message.type = 42;\\n break;\\n case \\\"VIDEO_FIRS_SENT\\\":\\n case 43:\\n message.type = 43;\\n break;\\n case \\\"VIDEO_RECEIVED_BITRATE\\\":\\n case 44:\\n message.type = 44;\\n break;\\n case \\\"VIDEO_CURRENT_DELAY_MS\\\":\\n case 45:\\n message.type = 45;\\n break;\\n case \\\"VIDEO_JITTER_BUFFER_MS\\\":\\n case 46:\\n message.type = 46;\\n break;\\n case \\\"VIDEO_DISCARDED_PPS\\\":\\n case 47:\\n message.type = 47;\\n break;\\n case \\\"VIDEO_PLIS_SENT\\\":\\n case 48:\\n message.type = 48;\\n break;\\n case \\\"VIDEO_RECEIVED_JITTER_MS\\\":\\n case 49:\\n message.type = 49;\\n break;\\n case \\\"VIDEO_ENCODE_HEIGHT\\\":\\n case 64:\\n message.type = 64;\\n break;\\n case \\\"VIDEO_SENT_QP_SUM\\\":\\n case 66:\\n message.type = 66;\\n break;\\n case \\\"VIDEO_DECODE_HEIGHT\\\":\\n case 69:\\n message.type = 69;\\n break;\\n case \\\"VIDEO_RECEIVED_QP_SUM\\\":\\n case 72:\\n message.type = 72;\\n break;\\n case \\\"VIDEO_ENCODE_WIDTH\\\":\\n case 86:\\n message.type = 86;\\n break;\\n case \\\"VIDEO_DECODE_WIDTH\\\":\\n case 87:\\n message.type = 87;\\n break;\\n case \\\"VIDEO_ENCODER_IS_HARDWARE\\\":\\n case 88:\\n message.type = 88;\\n break;\\n case \\\"VIDEO_DECODER_IS_HARDWARE\\\":\\n case 89:\\n message.type = 89;\\n break;\\n }\\n if (object.value != null)\\n message.value = Number(object.value);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkMetric message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkMetric\\n * @static\\n * @param {SdkMetric} message SdkMetric\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkMetric.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.type = options.enums === String ? \\\"VIDEO_ACTUAL_ENCODER_BITRATE\\\" : 1;\\n object.value = 0;\\n }\\n if (message.type != null && message.hasOwnProperty(\\\"type\\\"))\\n object.type = options.enums === String ? $root.SdkMetric.Type[message.type] : message.type;\\n if (message.value != null && message.hasOwnProperty(\\\"value\\\"))\\n object.value = options.json && !isFinite(message.value) ? String(message.value) : message.value;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkMetric to JSON.\\n * @function toJSON\\n * @memberof SdkMetric\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkMetric.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n /**\\n * Type enum.\\n * @name SdkMetric.Type\\n * @enum {number}\\n * @property {number} VIDEO_ACTUAL_ENCODER_BITRATE=1 VIDEO_ACTUAL_ENCODER_BITRATE value\\n * @property {number} VIDEO_AVAILABLE_SEND_BANDWIDTH=2 VIDEO_AVAILABLE_SEND_BANDWIDTH value\\n * @property {number} VIDEO_RETRANSMIT_BITRATE=3 VIDEO_RETRANSMIT_BITRATE value\\n * @property {number} VIDEO_AVAILABLE_RECEIVE_BANDWIDTH=4 VIDEO_AVAILABLE_RECEIVE_BANDWIDTH value\\n * @property {number} VIDEO_TARGET_ENCODER_BITRATE=5 VIDEO_TARGET_ENCODER_BITRATE value\\n * @property {number} VIDEO_BUCKET_DELAY_MS=6 VIDEO_BUCKET_DELAY_MS value\\n * @property {number} STUN_RTT_MS=7 STUN_RTT_MS value\\n * @property {number} SOCKET_DISCARDED_PPS=8 SOCKET_DISCARDED_PPS value\\n * @property {number} RTC_MIC_JITTER_MS=9 RTC_MIC_JITTER_MS value\\n * @property {number} RTC_MIC_PPS=10 RTC_MIC_PPS value\\n * @property {number} RTC_MIC_FRACTION_PACKET_LOST_PERCENT=11 RTC_MIC_FRACTION_PACKET_LOST_PERCENT value\\n * @property {number} RTC_MIC_BITRATE=12 RTC_MIC_BITRATE value\\n * @property {number} RTC_MIC_RTT_MS=13 RTC_MIC_RTT_MS value\\n * @property {number} RTC_SPK_PPS=14 RTC_SPK_PPS value\\n * @property {number} RTC_SPK_FRACTION_PACKET_LOST_PERCENT=15 RTC_SPK_FRACTION_PACKET_LOST_PERCENT value\\n * @property {number} RTC_SPK_JITTER_MS=16 RTC_SPK_JITTER_MS value\\n * @property {number} RTC_SPK_FRACTION_DECODER_LOSS_PERCENT=17 RTC_SPK_FRACTION_DECODER_LOSS_PERCENT value\\n * @property {number} RTC_SPK_BITRATE=18 RTC_SPK_BITRATE value\\n * @property {number} RTC_SPK_CURRENT_DELAY_MS=19 RTC_SPK_CURRENT_DELAY_MS value\\n * @property {number} RTC_SPK_JITTER_BUFFER_MS=20 RTC_SPK_JITTER_BUFFER_MS value\\n * @property {number} VIDEO_SENT_RTT_MS=21 VIDEO_SENT_RTT_MS value\\n * @property {number} VIDEO_ENCODE_USAGE_PERCENT=22 VIDEO_ENCODE_USAGE_PERCENT value\\n * @property {number} VIDEO_NACKS_RECEIVED=23 VIDEO_NACKS_RECEIVED value\\n * @property {number} VIDEO_PLIS_RECEIVED=24 VIDEO_PLIS_RECEIVED value\\n * @property {number} VIDEO_ENCODE_MS=25 VIDEO_ENCODE_MS value\\n * @property {number} VIDEO_INPUT_FPS=26 VIDEO_INPUT_FPS value\\n * @property {number} VIDEO_ENCODE_FPS=27 VIDEO_ENCODE_FPS value\\n * @property {number} VIDEO_SENT_FPS=28 VIDEO_SENT_FPS value\\n * @property {number} VIDEO_FIRS_RECEIVED=29 VIDEO_FIRS_RECEIVED value\\n * @property {number} VIDEO_SENT_PPS=30 VIDEO_SENT_PPS value\\n * @property {number} VIDEO_SENT_FRACTION_PACKET_LOST_PERCENT=31 VIDEO_SENT_FRACTION_PACKET_LOST_PERCENT value\\n * @property {number} VIDEO_SENT_BITRATE=32 VIDEO_SENT_BITRATE value\\n * @property {number} VIDEO_DROPPED_FPS=33 VIDEO_DROPPED_FPS value\\n * @property {number} VIDEO_TARGET_DELAY_MS=34 VIDEO_TARGET_DELAY_MS value\\n * @property {number} VIDEO_DECODE_MS=35 VIDEO_DECODE_MS value\\n * @property {number} VIDEO_OUTPUT_FPS=36 VIDEO_OUTPUT_FPS value\\n * @property {number} VIDEO_RECEIVED_PPS=37 VIDEO_RECEIVED_PPS value\\n * @property {number} VIDEO_RECEIVED_FRACTION_PACKET_LOST_PERCENT=38 VIDEO_RECEIVED_FRACTION_PACKET_LOST_PERCENT value\\n * @property {number} VIDEO_RENDER_DELAY_MS=39 VIDEO_RENDER_DELAY_MS value\\n * @property {number} VIDEO_RECEIVED_FPS=40 VIDEO_RECEIVED_FPS value\\n * @property {number} VIDEO_DECODE_FPS=41 VIDEO_DECODE_FPS value\\n * @property {number} VIDEO_NACKS_SENT=42 VIDEO_NACKS_SENT value\\n * @property {number} VIDEO_FIRS_SENT=43 VIDEO_FIRS_SENT value\\n * @property {number} VIDEO_RECEIVED_BITRATE=44 VIDEO_RECEIVED_BITRATE value\\n * @property {number} VIDEO_CURRENT_DELAY_MS=45 VIDEO_CURRENT_DELAY_MS value\\n * @property {number} VIDEO_JITTER_BUFFER_MS=46 VIDEO_JITTER_BUFFER_MS value\\n * @property {number} VIDEO_DISCARDED_PPS=47 VIDEO_DISCARDED_PPS value\\n * @property {number} VIDEO_PLIS_SENT=48 VIDEO_PLIS_SENT value\\n * @property {number} VIDEO_RECEIVED_JITTER_MS=49 VIDEO_RECEIVED_JITTER_MS value\\n * @property {number} VIDEO_ENCODE_HEIGHT=64 VIDEO_ENCODE_HEIGHT value\\n * @property {number} VIDEO_SENT_QP_SUM=66 VIDEO_SENT_QP_SUM value\\n * @property {number} VIDEO_DECODE_HEIGHT=69 VIDEO_DECODE_HEIGHT value\\n * @property {number} VIDEO_RECEIVED_QP_SUM=72 VIDEO_RECEIVED_QP_SUM value\\n * @property {number} VIDEO_ENCODE_WIDTH=86 VIDEO_ENCODE_WIDTH value\\n * @property {number} VIDEO_DECODE_WIDTH=87 VIDEO_DECODE_WIDTH value\\n * @property {number} VIDEO_ENCODER_IS_HARDWARE=88 VIDEO_ENCODER_IS_HARDWARE value\\n * @property {number} VIDEO_DECODER_IS_HARDWARE=89 VIDEO_DECODER_IS_HARDWARE value\\n */\\n SdkMetric.Type = (function() {\\n var valuesById = {}, values = Object.create(valuesById);\\n values[valuesById[1] = \\\"VIDEO_ACTUAL_ENCODER_BITRATE\\\"] = 1;\\n values[valuesById[2] = \\\"VIDEO_AVAILABLE_SEND_BANDWIDTH\\\"] = 2;\\n values[valuesById[3] = \\\"VIDEO_RETRANSMIT_BITRATE\\\"] = 3;\\n values[valuesById[4] = \\\"VIDEO_AVAILABLE_RECEIVE_BANDWIDTH\\\"] = 4;\\n values[valuesById[5] = \\\"VIDEO_TARGET_ENCODER_BITRATE\\\"] = 5;\\n values[valuesById[6] = \\\"VIDEO_BUCKET_DELAY_MS\\\"] = 6;\\n values[valuesById[7] = \\\"STUN_RTT_MS\\\"] = 7;\\n values[valuesById[8] = \\\"SOCKET_DISCARDED_PPS\\\"] = 8;\\n values[valuesById[9] = \\\"RTC_MIC_JITTER_MS\\\"] = 9;\\n values[valuesById[10] = \\\"RTC_MIC_PPS\\\"] = 10;\\n values[valuesById[11] = \\\"RTC_MIC_FRACTION_PACKET_LOST_PERCENT\\\"] = 11;\\n values[valuesById[12] = \\\"RTC_MIC_BITRATE\\\"] = 12;\\n values[valuesById[13] = \\\"RTC_MIC_RTT_MS\\\"] = 13;\\n values[valuesById[14] = \\\"RTC_SPK_PPS\\\"] = 14;\\n values[valuesById[15] = \\\"RTC_SPK_FRACTION_PACKET_LOST_PERCENT\\\"] = 15;\\n values[valuesById[16] = \\\"RTC_SPK_JITTER_MS\\\"] = 16;\\n values[valuesById[17] = \\\"RTC_SPK_FRACTION_DECODER_LOSS_PERCENT\\\"] = 17;\\n values[valuesById[18] = \\\"RTC_SPK_BITRATE\\\"] = 18;\\n values[valuesById[19] = \\\"RTC_SPK_CURRENT_DELAY_MS\\\"] = 19;\\n values[valuesById[20] = \\\"RTC_SPK_JITTER_BUFFER_MS\\\"] = 20;\\n values[valuesById[21] = \\\"VIDEO_SENT_RTT_MS\\\"] = 21;\\n values[valuesById[22] = \\\"VIDEO_ENCODE_USAGE_PERCENT\\\"] = 22;\\n values[valuesById[23] = \\\"VIDEO_NACKS_RECEIVED\\\"] = 23;\\n values[valuesById[24] = \\\"VIDEO_PLIS_RECEIVED\\\"] = 24;\\n values[valuesById[25] = \\\"VIDEO_ENCODE_MS\\\"] = 25;\\n values[valuesById[26] = \\\"VIDEO_INPUT_FPS\\\"] = 26;\\n values[valuesById[27] = \\\"VIDEO_ENCODE_FPS\\\"] = 27;\\n values[valuesById[28] = \\\"VIDEO_SENT_FPS\\\"] = 28;\\n values[valuesById[29] = \\\"VIDEO_FIRS_RECEIVED\\\"] = 29;\\n values[valuesById[30] = \\\"VIDEO_SENT_PPS\\\"] = 30;\\n values[valuesById[31] = \\\"VIDEO_SENT_FRACTION_PACKET_LOST_PERCENT\\\"] = 31;\\n values[valuesById[32] = \\\"VIDEO_SENT_BITRATE\\\"] = 32;\\n values[valuesById[33] = \\\"VIDEO_DROPPED_FPS\\\"] = 33;\\n values[valuesById[34] = \\\"VIDEO_TARGET_DELAY_MS\\\"] = 34;\\n values[valuesById[35] = \\\"VIDEO_DECODE_MS\\\"] = 35;\\n values[valuesById[36] = \\\"VIDEO_OUTPUT_FPS\\\"] = 36;\\n values[valuesById[37] = \\\"VIDEO_RECEIVED_PPS\\\"] = 37;\\n values[valuesById[38] = \\\"VIDEO_RECEIVED_FRACTION_PACKET_LOST_PERCENT\\\"] = 38;\\n values[valuesById[39] = \\\"VIDEO_RENDER_DELAY_MS\\\"] = 39;\\n values[valuesById[40] = \\\"VIDEO_RECEIVED_FPS\\\"] = 40;\\n values[valuesById[41] = \\\"VIDEO_DECODE_FPS\\\"] = 41;\\n values[valuesById[42] = \\\"VIDEO_NACKS_SENT\\\"] = 42;\\n values[valuesById[43] = \\\"VIDEO_FIRS_SENT\\\"] = 43;\\n values[valuesById[44] = \\\"VIDEO_RECEIVED_BITRATE\\\"] = 44;\\n values[valuesById[45] = \\\"VIDEO_CURRENT_DELAY_MS\\\"] = 45;\\n values[valuesById[46] = \\\"VIDEO_JITTER_BUFFER_MS\\\"] = 46;\\n values[valuesById[47] = \\\"VIDEO_DISCARDED_PPS\\\"] = 47;\\n values[valuesById[48] = \\\"VIDEO_PLIS_SENT\\\"] = 48;\\n values[valuesById[49] = \\\"VIDEO_RECEIVED_JITTER_MS\\\"] = 49;\\n values[valuesById[64] = \\\"VIDEO_ENCODE_HEIGHT\\\"] = 64;\\n values[valuesById[66] = \\\"VIDEO_SENT_QP_SUM\\\"] = 66;\\n values[valuesById[69] = \\\"VIDEO_DECODE_HEIGHT\\\"] = 69;\\n values[valuesById[72] = \\\"VIDEO_RECEIVED_QP_SUM\\\"] = 72;\\n values[valuesById[86] = \\\"VIDEO_ENCODE_WIDTH\\\"] = 86;\\n values[valuesById[87] = \\\"VIDEO_DECODE_WIDTH\\\"] = 87;\\n values[valuesById[88] = \\\"VIDEO_ENCODER_IS_HARDWARE\\\"] = 88;\\n values[valuesById[89] = \\\"VIDEO_DECODER_IS_HARDWARE\\\"] = 89;\\n return values;\\n })();\\n\\n return SdkMetric;\\n})();\\n\\n$root.SdkStreamMetricFrame = (function() {\\n\\n /**\\n * Properties of a SdkStreamMetricFrame.\\n * @exports ISdkStreamMetricFrame\\n * @interface ISdkStreamMetricFrame\\n * @property {number|null} [streamId] SdkStreamMetricFrame streamId\\n * @property {number|null} [groupId] SdkStreamMetricFrame groupId\\n * @property {Array.<ISdkMetric>|null} [metrics] SdkStreamMetricFrame metrics\\n * @property {Array.<ISdkStreamDimension>|null} [dimensions] SdkStreamMetricFrame dimensions\\n */\\n\\n /**\\n * Constructs a new SdkStreamMetricFrame.\\n * @exports SdkStreamMetricFrame\\n * @classdesc Represents a SdkStreamMetricFrame.\\n * @implements ISdkStreamMetricFrame\\n * @constructor\\n * @param {ISdkStreamMetricFrame=} [properties] Properties to set\\n */\\n function SdkStreamMetricFrame(properties) {\\n this.metrics = [];\\n this.dimensions = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkStreamMetricFrame streamId.\\n * @member {number} streamId\\n * @memberof SdkStreamMetricFrame\\n * @instance\\n */\\n SdkStreamMetricFrame.prototype.streamId = 0;\\n\\n /**\\n * SdkStreamMetricFrame groupId.\\n * @member {number} groupId\\n * @memberof SdkStreamMetricFrame\\n * @instance\\n */\\n SdkStreamMetricFrame.prototype.groupId = 0;\\n\\n /**\\n * SdkStreamMetricFrame metrics.\\n * @member {Array.<ISdkMetric>} metrics\\n * @memberof SdkStreamMetricFrame\\n * @instance\\n */\\n SdkStreamMetricFrame.prototype.metrics = $util.emptyArray;\\n\\n /**\\n * SdkStreamMetricFrame dimensions.\\n * @member {Array.<ISdkStreamDimension>} dimensions\\n * @memberof SdkStreamMetricFrame\\n * @instance\\n */\\n SdkStreamMetricFrame.prototype.dimensions = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkStreamMetricFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkStreamMetricFrame\\n * @static\\n * @param {ISdkStreamMetricFrame=} [properties] Properties to set\\n * @returns {SdkStreamMetricFrame} SdkStreamMetricFrame instance\\n */\\n SdkStreamMetricFrame.create = function create(properties) {\\n return new SdkStreamMetricFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkStreamMetricFrame message. Does not implicitly {@link SdkStreamMetricFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkStreamMetricFrame\\n * @static\\n * @param {ISdkStreamMetricFrame} message SdkStreamMetricFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkStreamMetricFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.streamId != null && Object.hasOwnProperty.call(message, \\\"streamId\\\"))\\n writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.streamId);\\n if (message.groupId != null && Object.hasOwnProperty.call(message, \\\"groupId\\\"))\\n writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.groupId);\\n if (message.metrics != null && message.metrics.length)\\n for (var i = 0; i < message.metrics.length; ++i)\\n $root.SdkMetric.encode(message.metrics[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();\\n if (message.dimensions != null && message.dimensions.length)\\n for (var i = 0; i < message.dimensions.length; ++i)\\n $root.SdkStreamDimension.encode(message.dimensions[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkStreamMetricFrame message, length delimited. Does not implicitly {@link SdkStreamMetricFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkStreamMetricFrame\\n * @static\\n * @param {ISdkStreamMetricFrame} message SdkStreamMetricFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkStreamMetricFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkStreamMetricFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkStreamMetricFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkStreamMetricFrame} SdkStreamMetricFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkStreamMetricFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkStreamMetricFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 3:\\n message.streamId = reader.uint32();\\n break;\\n case 4:\\n message.groupId = reader.uint32();\\n break;\\n case 5:\\n if (!(message.metrics && message.metrics.length))\\n message.metrics = [];\\n message.metrics.push($root.SdkMetric.decode(reader, reader.uint32()));\\n break;\\n case 6:\\n if (!(message.dimensions && message.dimensions.length))\\n message.dimensions = [];\\n message.dimensions.push($root.SdkStreamDimension.decode(reader, reader.uint32()));\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkStreamMetricFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkStreamMetricFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkStreamMetricFrame} SdkStreamMetricFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkStreamMetricFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkStreamMetricFrame message.\\n * @function verify\\n * @memberof SdkStreamMetricFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkStreamMetricFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.streamId != null && message.hasOwnProperty(\\\"streamId\\\"))\\n if (!$util.isInteger(message.streamId))\\n return \\\"streamId: integer expected\\\";\\n if (message.groupId != null && message.hasOwnProperty(\\\"groupId\\\"))\\n if (!$util.isInteger(message.groupId))\\n return \\\"groupId: integer expected\\\";\\n if (message.metrics != null && message.hasOwnProperty(\\\"metrics\\\")) {\\n if (!Array.isArray(message.metrics))\\n return \\\"metrics: array expected\\\";\\n for (var i = 0; i < message.metrics.length; ++i) {\\n var error = $root.SdkMetric.verify(message.metrics[i]);\\n if (error)\\n return \\\"metrics.\\\" + error;\\n }\\n }\\n if (message.dimensions != null && message.hasOwnProperty(\\\"dimensions\\\")) {\\n if (!Array.isArray(message.dimensions))\\n return \\\"dimensions: array expected\\\";\\n for (var i = 0; i < message.dimensions.length; ++i) {\\n var error = $root.SdkStreamDimension.verify(message.dimensions[i]);\\n if (error)\\n return \\\"dimensions.\\\" + error;\\n }\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkStreamMetricFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkStreamMetricFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkStreamMetricFrame} SdkStreamMetricFrame\\n */\\n SdkStreamMetricFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkStreamMetricFrame)\\n return object;\\n var message = new $root.SdkStreamMetricFrame();\\n if (object.streamId != null)\\n message.streamId = object.streamId >>> 0;\\n if (object.groupId != null)\\n message.groupId = object.groupId >>> 0;\\n if (object.metrics) {\\n if (!Array.isArray(object.metrics))\\n throw TypeError(\\\".SdkStreamMetricFrame.metrics: array expected\\\");\\n message.metrics = [];\\n for (var i = 0; i < object.metrics.length; ++i) {\\n if (typeof object.metrics[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkStreamMetricFrame.metrics: object expected\\\");\\n message.metrics[i] = $root.SdkMetric.fromObject(object.metrics[i]);\\n }\\n }\\n if (object.dimensions) {\\n if (!Array.isArray(object.dimensions))\\n throw TypeError(\\\".SdkStreamMetricFrame.dimensions: array expected\\\");\\n message.dimensions = [];\\n for (var i = 0; i < object.dimensions.length; ++i) {\\n if (typeof object.dimensions[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkStreamMetricFrame.dimensions: object expected\\\");\\n message.dimensions[i] = $root.SdkStreamDimension.fromObject(object.dimensions[i]);\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkStreamMetricFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkStreamMetricFrame\\n * @static\\n * @param {SdkStreamMetricFrame} message SdkStreamMetricFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkStreamMetricFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults) {\\n object.metrics = [];\\n object.dimensions = [];\\n }\\n if (options.defaults) {\\n object.streamId = 0;\\n object.groupId = 0;\\n }\\n if (message.streamId != null && message.hasOwnProperty(\\\"streamId\\\"))\\n object.streamId = message.streamId;\\n if (message.groupId != null && message.hasOwnProperty(\\\"groupId\\\"))\\n object.groupId = message.groupId;\\n if (message.metrics && message.metrics.length) {\\n object.metrics = [];\\n for (var j = 0; j < message.metrics.length; ++j)\\n object.metrics[j] = $root.SdkMetric.toObject(message.metrics[j], options);\\n }\\n if (message.dimensions && message.dimensions.length) {\\n object.dimensions = [];\\n for (var j = 0; j < message.dimensions.length; ++j)\\n object.dimensions[j] = $root.SdkStreamDimension.toObject(message.dimensions[j], options);\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkStreamMetricFrame to JSON.\\n * @function toJSON\\n * @memberof SdkStreamMetricFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkStreamMetricFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkStreamMetricFrame;\\n})();\\n\\n$root.SdkClientMetricFrame = (function() {\\n\\n /**\\n * Properties of a SdkClientMetricFrame.\\n * @exports ISdkClientMetricFrame\\n * @interface ISdkClientMetricFrame\\n * @property {Array.<ISdkMetric>|null} [globalMetrics] SdkClientMetricFrame globalMetrics\\n * @property {Array.<ISdkStreamMetricFrame>|null} [streamMetricFrames] SdkClientMetricFrame streamMetricFrames\\n */\\n\\n /**\\n * Constructs a new SdkClientMetricFrame.\\n * @exports SdkClientMetricFrame\\n * @classdesc Represents a SdkClientMetricFrame.\\n * @implements ISdkClientMetricFrame\\n * @constructor\\n * @param {ISdkClientMetricFrame=} [properties] Properties to set\\n */\\n function SdkClientMetricFrame(properties) {\\n this.globalMetrics = [];\\n this.streamMetricFrames = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkClientMetricFrame globalMetrics.\\n * @member {Array.<ISdkMetric>} globalMetrics\\n * @memberof SdkClientMetricFrame\\n * @instance\\n */\\n SdkClientMetricFrame.prototype.globalMetrics = $util.emptyArray;\\n\\n /**\\n * SdkClientMetricFrame streamMetricFrames.\\n * @member {Array.<ISdkStreamMetricFrame>} streamMetricFrames\\n * @memberof SdkClientMetricFrame\\n * @instance\\n */\\n SdkClientMetricFrame.prototype.streamMetricFrames = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkClientMetricFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkClientMetricFrame\\n * @static\\n * @param {ISdkClientMetricFrame=} [properties] Properties to set\\n * @returns {SdkClientMetricFrame} SdkClientMetricFrame instance\\n */\\n SdkClientMetricFrame.create = function create(properties) {\\n return new SdkClientMetricFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkClientMetricFrame message. Does not implicitly {@link SdkClientMetricFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkClientMetricFrame\\n * @static\\n * @param {ISdkClientMetricFrame} message SdkClientMetricFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkClientMetricFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.globalMetrics != null && message.globalMetrics.length)\\n for (var i = 0; i < message.globalMetrics.length; ++i)\\n $root.SdkMetric.encode(message.globalMetrics[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\\n if (message.streamMetricFrames != null && message.streamMetricFrames.length)\\n for (var i = 0; i < message.streamMetricFrames.length; ++i)\\n $root.SdkStreamMetricFrame.encode(message.streamMetricFrames[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkClientMetricFrame message, length delimited. Does not implicitly {@link SdkClientMetricFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkClientMetricFrame\\n * @static\\n * @param {ISdkClientMetricFrame} message SdkClientMetricFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkClientMetricFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkClientMetricFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkClientMetricFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkClientMetricFrame} SdkClientMetricFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkClientMetricFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkClientMetricFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n if (!(message.globalMetrics && message.globalMetrics.length))\\n message.globalMetrics = [];\\n message.globalMetrics.push($root.SdkMetric.decode(reader, reader.uint32()));\\n break;\\n case 2:\\n if (!(message.streamMetricFrames && message.streamMetricFrames.length))\\n message.streamMetricFrames = [];\\n message.streamMetricFrames.push($root.SdkStreamMetricFrame.decode(reader, reader.uint32()));\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkClientMetricFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkClientMetricFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkClientMetricFrame} SdkClientMetricFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkClientMetricFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkClientMetricFrame message.\\n * @function verify\\n * @memberof SdkClientMetricFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkClientMetricFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.globalMetrics != null && message.hasOwnProperty(\\\"globalMetrics\\\")) {\\n if (!Array.isArray(message.globalMetrics))\\n return \\\"globalMetrics: array expected\\\";\\n for (var i = 0; i < message.globalMetrics.length; ++i) {\\n var error = $root.SdkMetric.verify(message.globalMetrics[i]);\\n if (error)\\n return \\\"globalMetrics.\\\" + error;\\n }\\n }\\n if (message.streamMetricFrames != null && message.hasOwnProperty(\\\"streamMetricFrames\\\")) {\\n if (!Array.isArray(message.streamMetricFrames))\\n return \\\"streamMetricFrames: array expected\\\";\\n for (var i = 0; i < message.streamMetricFrames.length; ++i) {\\n var error = $root.SdkStreamMetricFrame.verify(message.streamMetricFrames[i]);\\n if (error)\\n return \\\"streamMetricFrames.\\\" + error;\\n }\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkClientMetricFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkClientMetricFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkClientMetricFrame} SdkClientMetricFrame\\n */\\n SdkClientMetricFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkClientMetricFrame)\\n return object;\\n var message = new $root.SdkClientMetricFrame();\\n if (object.globalMetrics) {\\n if (!Array.isArray(object.globalMetrics))\\n throw TypeError(\\\".SdkClientMetricFrame.globalMetrics: array expected\\\");\\n message.globalMetrics = [];\\n for (var i = 0; i < object.globalMetrics.length; ++i) {\\n if (typeof object.globalMetrics[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkClientMetricFrame.globalMetrics: object expected\\\");\\n message.globalMetrics[i] = $root.SdkMetric.fromObject(object.globalMetrics[i]);\\n }\\n }\\n if (object.streamMetricFrames) {\\n if (!Array.isArray(object.streamMetricFrames))\\n throw TypeError(\\\".SdkClientMetricFrame.streamMetricFrames: array expected\\\");\\n message.streamMetricFrames = [];\\n for (var i = 0; i < object.streamMetricFrames.length; ++i) {\\n if (typeof object.streamMetricFrames[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkClientMetricFrame.streamMetricFrames: object expected\\\");\\n message.streamMetricFrames[i] = $root.SdkStreamMetricFrame.fromObject(object.streamMetricFrames[i]);\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkClientMetricFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkClientMetricFrame\\n * @static\\n * @param {SdkClientMetricFrame} message SdkClientMetricFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkClientMetricFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults) {\\n object.globalMetrics = [];\\n object.streamMetricFrames = [];\\n }\\n if (message.globalMetrics && message.globalMetrics.length) {\\n object.globalMetrics = [];\\n for (var j = 0; j < message.globalMetrics.length; ++j)\\n object.globalMetrics[j] = $root.SdkMetric.toObject(message.globalMetrics[j], options);\\n }\\n if (message.streamMetricFrames && message.streamMetricFrames.length) {\\n object.streamMetricFrames = [];\\n for (var j = 0; j < message.streamMetricFrames.length; ++j)\\n object.streamMetricFrames[j] = $root.SdkStreamMetricFrame.toObject(message.streamMetricFrames[j], options);\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkClientMetricFrame to JSON.\\n * @function toJSON\\n * @memberof SdkClientMetricFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkClientMetricFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkClientMetricFrame;\\n})();\\n\\n$root.SdkStreamDimension = (function() {\\n\\n /**\\n * Properties of a SdkStreamDimension.\\n * @exports ISdkStreamDimension\\n * @interface ISdkStreamDimension\\n * @property {SdkStreamDimension.Type|null} [type] SdkStreamDimension type\\n * @property {ISdkDimensionValue|null} [value] SdkStreamDimension value\\n */\\n\\n /**\\n * Constructs a new SdkStreamDimension.\\n * @exports SdkStreamDimension\\n * @classdesc Represents a SdkStreamDimension.\\n * @implements ISdkStreamDimension\\n * @constructor\\n * @param {ISdkStreamDimension=} [properties] Properties to set\\n */\\n function SdkStreamDimension(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkStreamDimension type.\\n * @member {SdkStreamDimension.Type} type\\n * @memberof SdkStreamDimension\\n * @instance\\n */\\n SdkStreamDimension.prototype.type = 1;\\n\\n /**\\n * SdkStreamDimension value.\\n * @member {ISdkDimensionValue|null|undefined} value\\n * @memberof SdkStreamDimension\\n * @instance\\n */\\n SdkStreamDimension.prototype.value = null;\\n\\n /**\\n * Creates a new SdkStreamDimension instance using the specified properties.\\n * @function create\\n * @memberof SdkStreamDimension\\n * @static\\n * @param {ISdkStreamDimension=} [properties] Properties to set\\n * @returns {SdkStreamDimension} SdkStreamDimension instance\\n */\\n SdkStreamDimension.create = function create(properties) {\\n return new SdkStreamDimension(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkStreamDimension message. Does not implicitly {@link SdkStreamDimension.verify|verify} messages.\\n * @function encode\\n * @memberof SdkStreamDimension\\n * @static\\n * @param {ISdkStreamDimension} message SdkStreamDimension message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkStreamDimension.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.type != null && Object.hasOwnProperty.call(message, \\\"type\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type);\\n if (message.value != null && Object.hasOwnProperty.call(message, \\\"value\\\"))\\n $root.SdkDimensionValue.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkStreamDimension message, length delimited. Does not implicitly {@link SdkStreamDimension.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkStreamDimension\\n * @static\\n * @param {ISdkStreamDimension} message SdkStreamDimension message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkStreamDimension.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkStreamDimension message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkStreamDimension\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkStreamDimension} SdkStreamDimension\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkStreamDimension.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkStreamDimension();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.type = reader.int32();\\n break;\\n case 2:\\n message.value = $root.SdkDimensionValue.decode(reader, reader.uint32());\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkStreamDimension message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkStreamDimension\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkStreamDimension} SdkStreamDimension\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkStreamDimension.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkStreamDimension message.\\n * @function verify\\n * @memberof SdkStreamDimension\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkStreamDimension.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.type != null && message.hasOwnProperty(\\\"type\\\"))\\n switch (message.type) {\\n default:\\n return \\\"type: enum value expected\\\";\\n case 1:\\n case 2:\\n break;\\n }\\n if (message.value != null && message.hasOwnProperty(\\\"value\\\")) {\\n var error = $root.SdkDimensionValue.verify(message.value);\\n if (error)\\n return \\\"value.\\\" + error;\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkStreamDimension message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkStreamDimension\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkStreamDimension} SdkStreamDimension\\n */\\n SdkStreamDimension.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkStreamDimension)\\n return object;\\n var message = new $root.SdkStreamDimension();\\n switch (object.type) {\\n case \\\"VIDEO_ENCODER_NAME\\\":\\n case 1:\\n message.type = 1;\\n break;\\n case \\\"VIDEO_DECODER_NAME\\\":\\n case 2:\\n message.type = 2;\\n break;\\n }\\n if (object.value != null) {\\n if (typeof object.value !== \\\"object\\\")\\n throw TypeError(\\\".SdkStreamDimension.value: object expected\\\");\\n message.value = $root.SdkDimensionValue.fromObject(object.value);\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkStreamDimension message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkStreamDimension\\n * @static\\n * @param {SdkStreamDimension} message SdkStreamDimension\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkStreamDimension.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.type = options.enums === String ? \\\"VIDEO_ENCODER_NAME\\\" : 1;\\n object.value = null;\\n }\\n if (message.type != null && message.hasOwnProperty(\\\"type\\\"))\\n object.type = options.enums === String ? $root.SdkStreamDimension.Type[message.type] : message.type;\\n if (message.value != null && message.hasOwnProperty(\\\"value\\\"))\\n object.value = $root.SdkDimensionValue.toObject(message.value, options);\\n return object;\\n };\\n\\n /**\\n * Converts this SdkStreamDimension to JSON.\\n * @function toJSON\\n * @memberof SdkStreamDimension\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkStreamDimension.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n /**\\n * Type enum.\\n * @name SdkStreamDimension.Type\\n * @enum {number}\\n * @property {number} VIDEO_ENCODER_NAME=1 VIDEO_ENCODER_NAME value\\n * @property {number} VIDEO_DECODER_NAME=2 VIDEO_DECODER_NAME value\\n */\\n SdkStreamDimension.Type = (function() {\\n var valuesById = {}, values = Object.create(valuesById);\\n values[valuesById[1] = \\\"VIDEO_ENCODER_NAME\\\"] = 1;\\n values[valuesById[2] = \\\"VIDEO_DECODER_NAME\\\"] = 2;\\n return values;\\n })();\\n\\n return SdkStreamDimension;\\n})();\\n\\n$root.SdkDimensionValue = (function() {\\n\\n /**\\n * Properties of a SdkDimensionValue.\\n * @exports ISdkDimensionValue\\n * @interface ISdkDimensionValue\\n * @property {string|null} [stringValue] SdkDimensionValue stringValue\\n * @property {boolean|null} [boolValue] SdkDimensionValue boolValue\\n * @property {number|Long|null} [uintValue] SdkDimensionValue uintValue\\n */\\n\\n /**\\n * Constructs a new SdkDimensionValue.\\n * @exports SdkDimensionValue\\n * @classdesc Represents a SdkDimensionValue.\\n * @implements ISdkDimensionValue\\n * @constructor\\n * @param {ISdkDimensionValue=} [properties] Properties to set\\n */\\n function SdkDimensionValue(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkDimensionValue stringValue.\\n * @member {string} stringValue\\n * @memberof SdkDimensionValue\\n * @instance\\n */\\n SdkDimensionValue.prototype.stringValue = \\\"\\\";\\n\\n /**\\n * SdkDimensionValue boolValue.\\n * @member {boolean} boolValue\\n * @memberof SdkDimensionValue\\n * @instance\\n */\\n SdkDimensionValue.prototype.boolValue = false;\\n\\n /**\\n * SdkDimensionValue uintValue.\\n * @member {number|Long} uintValue\\n * @memberof SdkDimensionValue\\n * @instance\\n */\\n SdkDimensionValue.prototype.uintValue = $util.Long ? $util.Long.fromBits(0,0,true) : 0;\\n\\n /**\\n * Creates a new SdkDimensionValue instance using the specified properties.\\n * @function create\\n * @memberof SdkDimensionValue\\n * @static\\n * @param {ISdkDimensionValue=} [properties] Properties to set\\n * @returns {SdkDimensionValue} SdkDimensionValue instance\\n */\\n SdkDimensionValue.create = function create(properties) {\\n return new SdkDimensionValue(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkDimensionValue message. Does not implicitly {@link SdkDimensionValue.verify|verify} messages.\\n * @function encode\\n * @memberof SdkDimensionValue\\n * @static\\n * @param {ISdkDimensionValue} message SdkDimensionValue message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkDimensionValue.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.stringValue != null && Object.hasOwnProperty.call(message, \\\"stringValue\\\"))\\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.stringValue);\\n if (message.boolValue != null && Object.hasOwnProperty.call(message, \\\"boolValue\\\"))\\n writer.uint32(/* id 2, wireType 0 =*/16).bool(message.boolValue);\\n if (message.uintValue != null && Object.hasOwnProperty.call(message, \\\"uintValue\\\"))\\n writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uintValue);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkDimensionValue message, length delimited. Does not implicitly {@link SdkDimensionValue.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkDimensionValue\\n * @static\\n * @param {ISdkDimensionValue} message SdkDimensionValue message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkDimensionValue.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkDimensionValue message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkDimensionValue\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkDimensionValue} SdkDimensionValue\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkDimensionValue.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkDimensionValue();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.stringValue = reader.string();\\n break;\\n case 2:\\n message.boolValue = reader.bool();\\n break;\\n case 3:\\n message.uintValue = reader.uint64();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkDimensionValue message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkDimensionValue\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkDimensionValue} SdkDimensionValue\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkDimensionValue.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkDimensionValue message.\\n * @function verify\\n * @memberof SdkDimensionValue\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkDimensionValue.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.stringValue != null && message.hasOwnProperty(\\\"stringValue\\\"))\\n if (!$util.isString(message.stringValue))\\n return \\\"stringValue: string expected\\\";\\n if (message.boolValue != null && message.hasOwnProperty(\\\"boolValue\\\"))\\n if (typeof message.boolValue !== \\\"boolean\\\")\\n return \\\"boolValue: boolean expected\\\";\\n if (message.uintValue != null && message.hasOwnProperty(\\\"uintValue\\\"))\\n if (!$util.isInteger(message.uintValue) && !(message.uintValue && $util.isInteger(message.uintValue.low) && $util.isInteger(message.uintValue.high)))\\n return \\\"uintValue: integer|Long expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkDimensionValue message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkDimensionValue\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkDimensionValue} SdkDimensionValue\\n */\\n SdkDimensionValue.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkDimensionValue)\\n return object;\\n var message = new $root.SdkDimensionValue();\\n if (object.stringValue != null)\\n message.stringValue = String(object.stringValue);\\n if (object.boolValue != null)\\n message.boolValue = Boolean(object.boolValue);\\n if (object.uintValue != null)\\n if ($util.Long)\\n (message.uintValue = $util.Long.fromValue(object.uintValue)).unsigned = true;\\n else if (typeof object.uintValue === \\\"string\\\")\\n message.uintValue = parseInt(object.uintValue, 10);\\n else if (typeof object.uintValue === \\\"number\\\")\\n message.uintValue = object.uintValue;\\n else if (typeof object.uintValue === \\\"object\\\")\\n message.uintValue = new $util.LongBits(object.uintValue.low >>> 0, object.uintValue.high >>> 0).toNumber(true);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkDimensionValue message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkDimensionValue\\n * @static\\n * @param {SdkDimensionValue} message SdkDimensionValue\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkDimensionValue.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.stringValue = \\\"\\\";\\n object.boolValue = false;\\n if ($util.Long) {\\n var long = new $util.Long(0, 0, true);\\n object.uintValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\\n } else\\n object.uintValue = options.longs === String ? \\\"0\\\" : 0;\\n }\\n if (message.stringValue != null && message.hasOwnProperty(\\\"stringValue\\\"))\\n object.stringValue = message.stringValue;\\n if (message.boolValue != null && message.hasOwnProperty(\\\"boolValue\\\"))\\n object.boolValue = message.boolValue;\\n if (message.uintValue != null && message.hasOwnProperty(\\\"uintValue\\\"))\\n if (typeof message.uintValue === \\\"number\\\")\\n object.uintValue = options.longs === String ? String(message.uintValue) : message.uintValue;\\n else\\n object.uintValue = options.longs === String ? $util.Long.prototype.toString.call(message.uintValue) : options.longs === Number ? new $util.LongBits(message.uintValue.low >>> 0, message.uintValue.high >>> 0).toNumber(true) : message.uintValue;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkDimensionValue to JSON.\\n * @function toJSON\\n * @memberof SdkDimensionValue\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkDimensionValue.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkDimensionValue;\\n})();\\n\\n$root.SdkDataMessageFrame = (function() {\\n\\n /**\\n * Properties of a SdkDataMessageFrame.\\n * @exports ISdkDataMessageFrame\\n * @interface ISdkDataMessageFrame\\n * @property {Array.<ISdkDataMessagePayload>|null} [messages] SdkDataMessageFrame messages\\n */\\n\\n /**\\n * Constructs a new SdkDataMessageFrame.\\n * @exports SdkDataMessageFrame\\n * @classdesc Represents a SdkDataMessageFrame.\\n * @implements ISdkDataMessageFrame\\n * @constructor\\n * @param {ISdkDataMessageFrame=} [properties] Properties to set\\n */\\n function SdkDataMessageFrame(properties) {\\n this.messages = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkDataMessageFrame messages.\\n * @member {Array.<ISdkDataMessagePayload>} messages\\n * @memberof SdkDataMessageFrame\\n * @instance\\n */\\n SdkDataMessageFrame.prototype.messages = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkDataMessageFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkDataMessageFrame\\n * @static\\n * @param {ISdkDataMessageFrame=} [properties] Properties to set\\n * @returns {SdkDataMessageFrame} SdkDataMessageFrame instance\\n */\\n SdkDataMessageFrame.create = function create(properties) {\\n return new SdkDataMessageFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkDataMessageFrame message. Does not implicitly {@link SdkDataMessageFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkDataMessageFrame\\n * @static\\n * @param {ISdkDataMessageFrame} message SdkDataMessageFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkDataMessageFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.messages != null && message.messages.length)\\n for (var i = 0; i < message.messages.length; ++i)\\n $root.SdkDataMessagePayload.encode(message.messages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkDataMessageFrame message, length delimited. Does not implicitly {@link SdkDataMessageFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkDataMessageFrame\\n * @static\\n * @param {ISdkDataMessageFrame} message SdkDataMessageFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkDataMessageFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkDataMessageFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkDataMessageFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkDataMessageFrame} SdkDataMessageFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkDataMessageFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkDataMessageFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n if (!(message.messages && message.messages.length))\\n message.messages = [];\\n message.messages.push($root.SdkDataMessagePayload.decode(reader, reader.uint32()));\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkDataMessageFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkDataMessageFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkDataMessageFrame} SdkDataMessageFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkDataMessageFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkDataMessageFrame message.\\n * @function verify\\n * @memberof SdkDataMessageFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkDataMessageFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.messages != null && message.hasOwnProperty(\\\"messages\\\")) {\\n if (!Array.isArray(message.messages))\\n return \\\"messages: array expected\\\";\\n for (var i = 0; i < message.messages.length; ++i) {\\n var error = $root.SdkDataMessagePayload.verify(message.messages[i]);\\n if (error)\\n return \\\"messages.\\\" + error;\\n }\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkDataMessageFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkDataMessageFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkDataMessageFrame} SdkDataMessageFrame\\n */\\n SdkDataMessageFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkDataMessageFrame)\\n return object;\\n var message = new $root.SdkDataMessageFrame();\\n if (object.messages) {\\n if (!Array.isArray(object.messages))\\n throw TypeError(\\\".SdkDataMessageFrame.messages: array expected\\\");\\n message.messages = [];\\n for (var i = 0; i < object.messages.length; ++i) {\\n if (typeof object.messages[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkDataMessageFrame.messages: object expected\\\");\\n message.messages[i] = $root.SdkDataMessagePayload.fromObject(object.messages[i]);\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkDataMessageFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkDataMessageFrame\\n * @static\\n * @param {SdkDataMessageFrame} message SdkDataMessageFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkDataMessageFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults)\\n object.messages = [];\\n if (message.messages && message.messages.length) {\\n object.messages = [];\\n for (var j = 0; j < message.messages.length; ++j)\\n object.messages[j] = $root.SdkDataMessagePayload.toObject(message.messages[j], options);\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkDataMessageFrame to JSON.\\n * @function toJSON\\n * @memberof SdkDataMessageFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkDataMessageFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkDataMessageFrame;\\n})();\\n\\n$root.SdkDataMessagePayload = (function() {\\n\\n /**\\n * Properties of a SdkDataMessagePayload.\\n * @exports ISdkDataMessagePayload\\n * @interface ISdkDataMessagePayload\\n * @property {string|null} [topic] SdkDataMessagePayload topic\\n * @property {Uint8Array|null} [data] SdkDataMessagePayload data\\n * @property {number|null} [lifetimeMs] SdkDataMessagePayload lifetimeMs\\n * @property {string|null} [senderAttendeeId] SdkDataMessagePayload senderAttendeeId\\n * @property {number|Long|null} [ingestTimeNs] SdkDataMessagePayload ingestTimeNs\\n * @property {string|null} [senderExternalUserId] SdkDataMessagePayload senderExternalUserId\\n */\\n\\n /**\\n * Constructs a new SdkDataMessagePayload.\\n * @exports SdkDataMessagePayload\\n * @classdesc Represents a SdkDataMessagePayload.\\n * @implements ISdkDataMessagePayload\\n * @constructor\\n * @param {ISdkDataMessagePayload=} [properties] Properties to set\\n */\\n function SdkDataMessagePayload(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkDataMessagePayload topic.\\n * @member {string} topic\\n * @memberof SdkDataMessagePayload\\n * @instance\\n */\\n SdkDataMessagePayload.prototype.topic = \\\"\\\";\\n\\n /**\\n * SdkDataMessagePayload data.\\n * @member {Uint8Array} data\\n * @memberof SdkDataMessagePayload\\n * @instance\\n */\\n SdkDataMessagePayload.prototype.data = $util.newBuffer([]);\\n\\n /**\\n * SdkDataMessagePayload lifetimeMs.\\n * @member {number} lifetimeMs\\n * @memberof SdkDataMessagePayload\\n * @instance\\n */\\n SdkDataMessagePayload.prototype.lifetimeMs = 0;\\n\\n /**\\n * SdkDataMessagePayload senderAttendeeId.\\n * @member {string} senderAttendeeId\\n * @memberof SdkDataMessagePayload\\n * @instance\\n */\\n SdkDataMessagePayload.prototype.senderAttendeeId = \\\"\\\";\\n\\n /**\\n * SdkDataMessagePayload ingestTimeNs.\\n * @member {number|Long} ingestTimeNs\\n * @memberof SdkDataMessagePayload\\n * @instance\\n */\\n SdkDataMessagePayload.prototype.ingestTimeNs = $util.Long ? $util.Long.fromBits(0,0,false) : 0;\\n\\n /**\\n * SdkDataMessagePayload senderExternalUserId.\\n * @member {string} senderExternalUserId\\n * @memberof SdkDataMessagePayload\\n * @instance\\n */\\n SdkDataMessagePayload.prototype.senderExternalUserId = \\\"\\\";\\n\\n /**\\n * Creates a new SdkDataMessagePayload instance using the specified properties.\\n * @function create\\n * @memberof SdkDataMessagePayload\\n * @static\\n * @param {ISdkDataMessagePayload=} [properties] Properties to set\\n * @returns {SdkDataMessagePayload} SdkDataMessagePayload instance\\n */\\n SdkDataMessagePayload.create = function create(properties) {\\n return new SdkDataMessagePayload(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkDataMessagePayload message. Does not implicitly {@link SdkDataMessagePayload.verify|verify} messages.\\n * @function encode\\n * @memberof SdkDataMessagePayload\\n * @static\\n * @param {ISdkDataMessagePayload} message SdkDataMessagePayload message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkDataMessagePayload.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.topic != null && Object.hasOwnProperty.call(message, \\\"topic\\\"))\\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.topic);\\n if (message.data != null && Object.hasOwnProperty.call(message, \\\"data\\\"))\\n writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data);\\n if (message.lifetimeMs != null && Object.hasOwnProperty.call(message, \\\"lifetimeMs\\\"))\\n writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.lifetimeMs);\\n if (message.senderAttendeeId != null && Object.hasOwnProperty.call(message, \\\"senderAttendeeId\\\"))\\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.senderAttendeeId);\\n if (message.ingestTimeNs != null && Object.hasOwnProperty.call(message, \\\"ingestTimeNs\\\"))\\n writer.uint32(/* id 5, wireType 0 =*/40).int64(message.ingestTimeNs);\\n if (message.senderExternalUserId != null && Object.hasOwnProperty.call(message, \\\"senderExternalUserId\\\"))\\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.senderExternalUserId);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkDataMessagePayload message, length delimited. Does not implicitly {@link SdkDataMessagePayload.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkDataMessagePayload\\n * @static\\n * @param {ISdkDataMessagePayload} message SdkDataMessagePayload message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkDataMessagePayload.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkDataMessagePayload message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkDataMessagePayload\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkDataMessagePayload} SdkDataMessagePayload\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkDataMessagePayload.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkDataMessagePayload();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.topic = reader.string();\\n break;\\n case 2:\\n message.data = reader.bytes();\\n break;\\n case 3:\\n message.lifetimeMs = reader.uint32();\\n break;\\n case 4:\\n message.senderAttendeeId = reader.string();\\n break;\\n case 5:\\n message.ingestTimeNs = reader.int64();\\n break;\\n case 6:\\n message.senderExternalUserId = reader.string();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkDataMessagePayload message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkDataMessagePayload\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkDataMessagePayload} SdkDataMessagePayload\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkDataMessagePayload.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkDataMessagePayload message.\\n * @function verify\\n * @memberof SdkDataMessagePayload\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkDataMessagePayload.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.topic != null && message.hasOwnProperty(\\\"topic\\\"))\\n if (!$util.isString(message.topic))\\n return \\\"topic: string expected\\\";\\n if (message.data != null && message.hasOwnProperty(\\\"data\\\"))\\n if (!(message.data && typeof message.data.length === \\\"number\\\" || $util.isString(message.data)))\\n return \\\"data: buffer expected\\\";\\n if (message.lifetimeMs != null && message.hasOwnProperty(\\\"lifetimeMs\\\"))\\n if (!$util.isInteger(message.lifetimeMs))\\n return \\\"lifetimeMs: integer expected\\\";\\n if (message.senderAttendeeId != null && message.hasOwnProperty(\\\"senderAttendeeId\\\"))\\n if (!$util.isString(message.senderAttendeeId))\\n return \\\"senderAttendeeId: string expected\\\";\\n if (message.ingestTimeNs != null && message.hasOwnProperty(\\\"ingestTimeNs\\\"))\\n if (!$util.isInteger(message.ingestTimeNs) && !(message.ingestTimeNs && $util.isInteger(message.ingestTimeNs.low) && $util.isInteger(message.ingestTimeNs.high)))\\n return \\\"ingestTimeNs: integer|Long expected\\\";\\n if (message.senderExternalUserId != null && message.hasOwnProperty(\\\"senderExternalUserId\\\"))\\n if (!$util.isString(message.senderExternalUserId))\\n return \\\"senderExternalUserId: string expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkDataMessagePayload message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkDataMessagePayload\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkDataMessagePayload} SdkDataMessagePayload\\n */\\n SdkDataMessagePayload.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkDataMessagePayload)\\n return object;\\n var message = new $root.SdkDataMessagePayload();\\n if (object.topic != null)\\n message.topic = String(object.topic);\\n if (object.data != null)\\n if (typeof object.data === \\\"string\\\")\\n $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0);\\n else if (object.data.length)\\n message.data = object.data;\\n if (object.lifetimeMs != null)\\n message.lifetimeMs = object.lifetimeMs >>> 0;\\n if (object.senderAttendeeId != null)\\n message.senderAttendeeId = String(object.senderAttendeeId);\\n if (object.ingestTimeNs != null)\\n if ($util.Long)\\n (message.ingestTimeNs = $util.Long.fromValue(object.ingestTimeNs)).unsigned = false;\\n else if (typeof object.ingestTimeNs === \\\"string\\\")\\n message.ingestTimeNs = parseInt(object.ingestTimeNs, 10);\\n else if (typeof object.ingestTimeNs === \\\"number\\\")\\n message.ingestTimeNs = object.ingestTimeNs;\\n else if (typeof object.ingestTimeNs === \\\"object\\\")\\n message.ingestTimeNs = new $util.LongBits(object.ingestTimeNs.low >>> 0, object.ingestTimeNs.high >>> 0).toNumber();\\n if (object.senderExternalUserId != null)\\n message.senderExternalUserId = String(object.senderExternalUserId);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkDataMessagePayload message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkDataMessagePayload\\n * @static\\n * @param {SdkDataMessagePayload} message SdkDataMessagePayload\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkDataMessagePayload.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.topic = \\\"\\\";\\n if (options.bytes === String)\\n object.data = \\\"\\\";\\n else {\\n object.data = [];\\n if (options.bytes !== Array)\\n object.data = $util.newBuffer(object.data);\\n }\\n object.lifetimeMs = 0;\\n object.senderAttendeeId = \\\"\\\";\\n if ($util.Long) {\\n var long = new $util.Long(0, 0, false);\\n object.ingestTimeNs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\\n } else\\n object.ingestTimeNs = options.longs === String ? \\\"0\\\" : 0;\\n object.senderExternalUserId = \\\"\\\";\\n }\\n if (message.topic != null && message.hasOwnProperty(\\\"topic\\\"))\\n object.topic = message.topic;\\n if (message.data != null && message.hasOwnProperty(\\\"data\\\"))\\n object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data;\\n if (message.lifetimeMs != null && message.hasOwnProperty(\\\"lifetimeMs\\\"))\\n object.lifetimeMs = message.lifetimeMs;\\n if (message.senderAttendeeId != null && message.hasOwnProperty(\\\"senderAttendeeId\\\"))\\n object.senderAttendeeId = message.senderAttendeeId;\\n if (message.ingestTimeNs != null && message.hasOwnProperty(\\\"ingestTimeNs\\\"))\\n if (typeof message.ingestTimeNs === \\\"number\\\")\\n object.ingestTimeNs = options.longs === String ? String(message.ingestTimeNs) : message.ingestTimeNs;\\n else\\n object.ingestTimeNs = options.longs === String ? $util.Long.prototype.toString.call(message.ingestTimeNs) : options.longs === Number ? new $util.LongBits(message.ingestTimeNs.low >>> 0, message.ingestTimeNs.high >>> 0).toNumber() : message.ingestTimeNs;\\n if (message.senderExternalUserId != null && message.hasOwnProperty(\\\"senderExternalUserId\\\"))\\n object.senderExternalUserId = message.senderExternalUserId;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkDataMessagePayload to JSON.\\n * @function toJSON\\n * @memberof SdkDataMessagePayload\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkDataMessagePayload.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkDataMessagePayload;\\n})();\\n\\n$root.SdkTurnCredentials = (function() {\\n\\n /**\\n * Properties of a SdkTurnCredentials.\\n * @exports ISdkTurnCredentials\\n * @interface ISdkTurnCredentials\\n * @property {string|null} [username] SdkTurnCredentials username\\n * @property {string|null} [password] SdkTurnCredentials password\\n * @property {number|null} [ttl] SdkTurnCredentials ttl\\n * @property {Array.<string>|null} [uris] SdkTurnCredentials uris\\n */\\n\\n /**\\n * Constructs a new SdkTurnCredentials.\\n * @exports SdkTurnCredentials\\n * @classdesc Represents a SdkTurnCredentials.\\n * @implements ISdkTurnCredentials\\n * @constructor\\n * @param {ISdkTurnCredentials=} [properties] Properties to set\\n */\\n function SdkTurnCredentials(properties) {\\n this.uris = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkTurnCredentials username.\\n * @member {string} username\\n * @memberof SdkTurnCredentials\\n * @instance\\n */\\n SdkTurnCredentials.prototype.username = \\\"\\\";\\n\\n /**\\n * SdkTurnCredentials password.\\n * @member {string} password\\n * @memberof SdkTurnCredentials\\n * @instance\\n */\\n SdkTurnCredentials.prototype.password = \\\"\\\";\\n\\n /**\\n * SdkTurnCredentials ttl.\\n * @member {number} ttl\\n * @memberof SdkTurnCredentials\\n * @instance\\n */\\n SdkTurnCredentials.prototype.ttl = 0;\\n\\n /**\\n * SdkTurnCredentials uris.\\n * @member {Array.<string>} uris\\n * @memberof SdkTurnCredentials\\n * @instance\\n */\\n SdkTurnCredentials.prototype.uris = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkTurnCredentials instance using the specified properties.\\n * @function create\\n * @memberof SdkTurnCredentials\\n * @static\\n * @param {ISdkTurnCredentials=} [properties] Properties to set\\n * @returns {SdkTurnCredentials} SdkTurnCredentials instance\\n */\\n SdkTurnCredentials.create = function create(properties) {\\n return new SdkTurnCredentials(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkTurnCredentials message. Does not implicitly {@link SdkTurnCredentials.verify|verify} messages.\\n * @function encode\\n * @memberof SdkTurnCredentials\\n * @static\\n * @param {ISdkTurnCredentials} message SdkTurnCredentials message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTurnCredentials.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.username != null && Object.hasOwnProperty.call(message, \\\"username\\\"))\\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.username);\\n if (message.password != null && Object.hasOwnProperty.call(message, \\\"password\\\"))\\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.password);\\n if (message.ttl != null && Object.hasOwnProperty.call(message, \\\"ttl\\\"))\\n writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.ttl);\\n if (message.uris != null && message.uris.length)\\n for (var i = 0; i < message.uris.length; ++i)\\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.uris[i]);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkTurnCredentials message, length delimited. Does not implicitly {@link SdkTurnCredentials.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkTurnCredentials\\n * @static\\n * @param {ISdkTurnCredentials} message SdkTurnCredentials message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTurnCredentials.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkTurnCredentials message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkTurnCredentials\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkTurnCredentials} SdkTurnCredentials\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTurnCredentials.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkTurnCredentials();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.username = reader.string();\\n break;\\n case 2:\\n message.password = reader.string();\\n break;\\n case 3:\\n message.ttl = reader.uint32();\\n break;\\n case 4:\\n if (!(message.uris && message.uris.length))\\n message.uris = [];\\n message.uris.push(reader.string());\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkTurnCredentials message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkTurnCredentials\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkTurnCredentials} SdkTurnCredentials\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTurnCredentials.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkTurnCredentials message.\\n * @function verify\\n * @memberof SdkTurnCredentials\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkTurnCredentials.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.username != null && message.hasOwnProperty(\\\"username\\\"))\\n if (!$util.isString(message.username))\\n return \\\"username: string expected\\\";\\n if (message.password != null && message.hasOwnProperty(\\\"password\\\"))\\n if (!$util.isString(message.password))\\n return \\\"password: string expected\\\";\\n if (message.ttl != null && message.hasOwnProperty(\\\"ttl\\\"))\\n if (!$util.isInteger(message.ttl))\\n return \\\"ttl: integer expected\\\";\\n if (message.uris != null && message.hasOwnProperty(\\\"uris\\\")) {\\n if (!Array.isArray(message.uris))\\n return \\\"uris: array expected\\\";\\n for (var i = 0; i < message.uris.length; ++i)\\n if (!$util.isString(message.uris[i]))\\n return \\\"uris: string[] expected\\\";\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkTurnCredentials message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkTurnCredentials\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkTurnCredentials} SdkTurnCredentials\\n */\\n SdkTurnCredentials.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkTurnCredentials)\\n return object;\\n var message = new $root.SdkTurnCredentials();\\n if (object.username != null)\\n message.username = String(object.username);\\n if (object.password != null)\\n message.password = String(object.password);\\n if (object.ttl != null)\\n message.ttl = object.ttl >>> 0;\\n if (object.uris) {\\n if (!Array.isArray(object.uris))\\n throw TypeError(\\\".SdkTurnCredentials.uris: array expected\\\");\\n message.uris = [];\\n for (var i = 0; i < object.uris.length; ++i)\\n message.uris[i] = String(object.uris[i]);\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkTurnCredentials message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkTurnCredentials\\n * @static\\n * @param {SdkTurnCredentials} message SdkTurnCredentials\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkTurnCredentials.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults)\\n object.uris = [];\\n if (options.defaults) {\\n object.username = \\\"\\\";\\n object.password = \\\"\\\";\\n object.ttl = 0;\\n }\\n if (message.username != null && message.hasOwnProperty(\\\"username\\\"))\\n object.username = message.username;\\n if (message.password != null && message.hasOwnProperty(\\\"password\\\"))\\n object.password = message.password;\\n if (message.ttl != null && message.hasOwnProperty(\\\"ttl\\\"))\\n object.ttl = message.ttl;\\n if (message.uris && message.uris.length) {\\n object.uris = [];\\n for (var j = 0; j < message.uris.length; ++j)\\n object.uris[j] = message.uris[j];\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkTurnCredentials to JSON.\\n * @function toJSON\\n * @memberof SdkTurnCredentials\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkTurnCredentials.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkTurnCredentials;\\n})();\\n\\n$root.SdkTranscriptItem = (function() {\\n\\n /**\\n * Properties of a SdkTranscriptItem.\\n * @exports ISdkTranscriptItem\\n * @interface ISdkTranscriptItem\\n * @property {string|null} [content] SdkTranscriptItem content\\n * @property {number|Long|null} [endTime] SdkTranscriptItem endTime\\n * @property {string|null} [speakerAttendeeId] SdkTranscriptItem speakerAttendeeId\\n * @property {string|null} [speakerExternalUserId] SdkTranscriptItem speakerExternalUserId\\n * @property {number|Long|null} [startTime] SdkTranscriptItem startTime\\n * @property {SdkTranscriptItem.Type|null} [type] SdkTranscriptItem type\\n * @property {boolean|null} [vocabularyFilterMatch] SdkTranscriptItem vocabularyFilterMatch\\n * @property {number|null} [confidence] SdkTranscriptItem confidence\\n * @property {boolean|null} [stable] SdkTranscriptItem stable\\n */\\n\\n /**\\n * Constructs a new SdkTranscriptItem.\\n * @exports SdkTranscriptItem\\n * @classdesc Represents a SdkTranscriptItem.\\n * @implements ISdkTranscriptItem\\n * @constructor\\n * @param {ISdkTranscriptItem=} [properties] Properties to set\\n */\\n function SdkTranscriptItem(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkTranscriptItem content.\\n * @member {string} content\\n * @memberof SdkTranscriptItem\\n * @instance\\n */\\n SdkTranscriptItem.prototype.content = \\\"\\\";\\n\\n /**\\n * SdkTranscriptItem endTime.\\n * @member {number|Long} endTime\\n * @memberof SdkTranscriptItem\\n * @instance\\n */\\n SdkTranscriptItem.prototype.endTime = $util.Long ? $util.Long.fromBits(0,0,false) : 0;\\n\\n /**\\n * SdkTranscriptItem speakerAttendeeId.\\n * @member {string} speakerAttendeeId\\n * @memberof SdkTranscriptItem\\n * @instance\\n */\\n SdkTranscriptItem.prototype.speakerAttendeeId = \\\"\\\";\\n\\n /**\\n * SdkTranscriptItem speakerExternalUserId.\\n * @member {string} speakerExternalUserId\\n * @memberof SdkTranscriptItem\\n * @instance\\n */\\n SdkTranscriptItem.prototype.speakerExternalUserId = \\\"\\\";\\n\\n /**\\n * SdkTranscriptItem startTime.\\n * @member {number|Long} startTime\\n * @memberof SdkTranscriptItem\\n * @instance\\n */\\n SdkTranscriptItem.prototype.startTime = $util.Long ? $util.Long.fromBits(0,0,false) : 0;\\n\\n /**\\n * SdkTranscriptItem type.\\n * @member {SdkTranscriptItem.Type} type\\n * @memberof SdkTranscriptItem\\n * @instance\\n */\\n SdkTranscriptItem.prototype.type = 1;\\n\\n /**\\n * SdkTranscriptItem vocabularyFilterMatch.\\n * @member {boolean} vocabularyFilterMatch\\n * @memberof SdkTranscriptItem\\n * @instance\\n */\\n SdkTranscriptItem.prototype.vocabularyFilterMatch = false;\\n\\n /**\\n * SdkTranscriptItem confidence.\\n * @member {number} confidence\\n * @memberof SdkTranscriptItem\\n * @instance\\n */\\n SdkTranscriptItem.prototype.confidence = 0;\\n\\n /**\\n * SdkTranscriptItem stable.\\n * @member {boolean} stable\\n * @memberof SdkTranscriptItem\\n * @instance\\n */\\n SdkTranscriptItem.prototype.stable = false;\\n\\n /**\\n * Creates a new SdkTranscriptItem instance using the specified properties.\\n * @function create\\n * @memberof SdkTranscriptItem\\n * @static\\n * @param {ISdkTranscriptItem=} [properties] Properties to set\\n * @returns {SdkTranscriptItem} SdkTranscriptItem instance\\n */\\n SdkTranscriptItem.create = function create(properties) {\\n return new SdkTranscriptItem(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptItem message. Does not implicitly {@link SdkTranscriptItem.verify|verify} messages.\\n * @function encode\\n * @memberof SdkTranscriptItem\\n * @static\\n * @param {ISdkTranscriptItem} message SdkTranscriptItem message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptItem.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.content != null && Object.hasOwnProperty.call(message, \\\"content\\\"))\\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.content);\\n if (message.endTime != null && Object.hasOwnProperty.call(message, \\\"endTime\\\"))\\n writer.uint32(/* id 2, wireType 0 =*/16).int64(message.endTime);\\n if (message.speakerAttendeeId != null && Object.hasOwnProperty.call(message, \\\"speakerAttendeeId\\\"))\\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.speakerAttendeeId);\\n if (message.speakerExternalUserId != null && Object.hasOwnProperty.call(message, \\\"speakerExternalUserId\\\"))\\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.speakerExternalUserId);\\n if (message.startTime != null && Object.hasOwnProperty.call(message, \\\"startTime\\\"))\\n writer.uint32(/* id 5, wireType 0 =*/40).int64(message.startTime);\\n if (message.type != null && Object.hasOwnProperty.call(message, \\\"type\\\"))\\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.type);\\n if (message.vocabularyFilterMatch != null && Object.hasOwnProperty.call(message, \\\"vocabularyFilterMatch\\\"))\\n writer.uint32(/* id 7, wireType 0 =*/56).bool(message.vocabularyFilterMatch);\\n if (message.confidence != null && Object.hasOwnProperty.call(message, \\\"confidence\\\"))\\n writer.uint32(/* id 8, wireType 1 =*/65).double(message.confidence);\\n if (message.stable != null && Object.hasOwnProperty.call(message, \\\"stable\\\"))\\n writer.uint32(/* id 9, wireType 0 =*/72).bool(message.stable);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptItem message, length delimited. Does not implicitly {@link SdkTranscriptItem.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkTranscriptItem\\n * @static\\n * @param {ISdkTranscriptItem} message SdkTranscriptItem message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptItem.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkTranscriptItem message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkTranscriptItem\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkTranscriptItem} SdkTranscriptItem\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptItem.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkTranscriptItem();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.content = reader.string();\\n break;\\n case 2:\\n message.endTime = reader.int64();\\n break;\\n case 3:\\n message.speakerAttendeeId = reader.string();\\n break;\\n case 4:\\n message.speakerExternalUserId = reader.string();\\n break;\\n case 5:\\n message.startTime = reader.int64();\\n break;\\n case 6:\\n message.type = reader.int32();\\n break;\\n case 7:\\n message.vocabularyFilterMatch = reader.bool();\\n break;\\n case 8:\\n message.confidence = reader.double();\\n break;\\n case 9:\\n message.stable = reader.bool();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkTranscriptItem message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkTranscriptItem\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkTranscriptItem} SdkTranscriptItem\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptItem.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkTranscriptItem message.\\n * @function verify\\n * @memberof SdkTranscriptItem\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkTranscriptItem.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.content != null && message.hasOwnProperty(\\\"content\\\"))\\n if (!$util.isString(message.content))\\n return \\\"content: string expected\\\";\\n if (message.endTime != null && message.hasOwnProperty(\\\"endTime\\\"))\\n if (!$util.isInteger(message.endTime) && !(message.endTime && $util.isInteger(message.endTime.low) && $util.isInteger(message.endTime.high)))\\n return \\\"endTime: integer|Long expected\\\";\\n if (message.speakerAttendeeId != null && message.hasOwnProperty(\\\"speakerAttendeeId\\\"))\\n if (!$util.isString(message.speakerAttendeeId))\\n return \\\"speakerAttendeeId: string expected\\\";\\n if (message.speakerExternalUserId != null && message.hasOwnProperty(\\\"speakerExternalUserId\\\"))\\n if (!$util.isString(message.speakerExternalUserId))\\n return \\\"speakerExternalUserId: string expected\\\";\\n if (message.startTime != null && message.hasOwnProperty(\\\"startTime\\\"))\\n if (!$util.isInteger(message.startTime) && !(message.startTime && $util.isInteger(message.startTime.low) && $util.isInteger(message.startTime.high)))\\n return \\\"startTime: integer|Long expected\\\";\\n if (message.type != null && message.hasOwnProperty(\\\"type\\\"))\\n switch (message.type) {\\n default:\\n return \\\"type: enum value expected\\\";\\n case 1:\\n case 2:\\n break;\\n }\\n if (message.vocabularyFilterMatch != null && message.hasOwnProperty(\\\"vocabularyFilterMatch\\\"))\\n if (typeof message.vocabularyFilterMatch !== \\\"boolean\\\")\\n return \\\"vocabularyFilterMatch: boolean expected\\\";\\n if (message.confidence != null && message.hasOwnProperty(\\\"confidence\\\"))\\n if (typeof message.confidence !== \\\"number\\\")\\n return \\\"confidence: number expected\\\";\\n if (message.stable != null && message.hasOwnProperty(\\\"stable\\\"))\\n if (typeof message.stable !== \\\"boolean\\\")\\n return \\\"stable: boolean expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkTranscriptItem message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkTranscriptItem\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkTranscriptItem} SdkTranscriptItem\\n */\\n SdkTranscriptItem.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkTranscriptItem)\\n return object;\\n var message = new $root.SdkTranscriptItem();\\n if (object.content != null)\\n message.content = String(object.content);\\n if (object.endTime != null)\\n if ($util.Long)\\n (message.endTime = $util.Long.fromValue(object.endTime)).unsigned = false;\\n else if (typeof object.endTime === \\\"string\\\")\\n message.endTime = parseInt(object.endTime, 10);\\n else if (typeof object.endTime === \\\"number\\\")\\n message.endTime = object.endTime;\\n else if (typeof object.endTime === \\\"object\\\")\\n message.endTime = new $util.LongBits(object.endTime.low >>> 0, object.endTime.high >>> 0).toNumber();\\n if (object.speakerAttendeeId != null)\\n message.speakerAttendeeId = String(object.speakerAttendeeId);\\n if (object.speakerExternalUserId != null)\\n message.speakerExternalUserId = String(object.speakerExternalUserId);\\n if (object.startTime != null)\\n if ($util.Long)\\n (message.startTime = $util.Long.fromValue(object.startTime)).unsigned = false;\\n else if (typeof object.startTime === \\\"string\\\")\\n message.startTime = parseInt(object.startTime, 10);\\n else if (typeof object.startTime === \\\"number\\\")\\n message.startTime = object.startTime;\\n else if (typeof object.startTime === \\\"object\\\")\\n message.startTime = new $util.LongBits(object.startTime.low >>> 0, object.startTime.high >>> 0).toNumber();\\n switch (object.type) {\\n case \\\"PRONUNCIATION\\\":\\n case 1:\\n message.type = 1;\\n break;\\n case \\\"PUNCTUATION\\\":\\n case 2:\\n message.type = 2;\\n break;\\n }\\n if (object.vocabularyFilterMatch != null)\\n message.vocabularyFilterMatch = Boolean(object.vocabularyFilterMatch);\\n if (object.confidence != null)\\n message.confidence = Number(object.confidence);\\n if (object.stable != null)\\n message.stable = Boolean(object.stable);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkTranscriptItem message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkTranscriptItem\\n * @static\\n * @param {SdkTranscriptItem} message SdkTranscriptItem\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkTranscriptItem.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.content = \\\"\\\";\\n if ($util.Long) {\\n var long = new $util.Long(0, 0, false);\\n object.endTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\\n } else\\n object.endTime = options.longs === String ? \\\"0\\\" : 0;\\n object.speakerAttendeeId = \\\"\\\";\\n object.speakerExternalUserId = \\\"\\\";\\n if ($util.Long) {\\n var long = new $util.Long(0, 0, false);\\n object.startTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\\n } else\\n object.startTime = options.longs === String ? \\\"0\\\" : 0;\\n object.type = options.enums === String ? \\\"PRONUNCIATION\\\" : 1;\\n object.vocabularyFilterMatch = false;\\n object.confidence = 0;\\n object.stable = false;\\n }\\n if (message.content != null && message.hasOwnProperty(\\\"content\\\"))\\n object.content = message.content;\\n if (message.endTime != null && message.hasOwnProperty(\\\"endTime\\\"))\\n if (typeof message.endTime === \\\"number\\\")\\n object.endTime = options.longs === String ? String(message.endTime) : message.endTime;\\n else\\n object.endTime = options.longs === String ? $util.Long.prototype.toString.call(message.endTime) : options.longs === Number ? new $util.LongBits(message.endTime.low >>> 0, message.endTime.high >>> 0).toNumber() : message.endTime;\\n if (message.speakerAttendeeId != null && message.hasOwnProperty(\\\"speakerAttendeeId\\\"))\\n object.speakerAttendeeId = message.speakerAttendeeId;\\n if (message.speakerExternalUserId != null && message.hasOwnProperty(\\\"speakerExternalUserId\\\"))\\n object.speakerExternalUserId = message.speakerExternalUserId;\\n if (message.startTime != null && message.hasOwnProperty(\\\"startTime\\\"))\\n if (typeof message.startTime === \\\"number\\\")\\n object.startTime = options.longs === String ? String(message.startTime) : message.startTime;\\n else\\n object.startTime = options.longs === String ? $util.Long.prototype.toString.call(message.startTime) : options.longs === Number ? new $util.LongBits(message.startTime.low >>> 0, message.startTime.high >>> 0).toNumber() : message.startTime;\\n if (message.type != null && message.hasOwnProperty(\\\"type\\\"))\\n object.type = options.enums === String ? $root.SdkTranscriptItem.Type[message.type] : message.type;\\n if (message.vocabularyFilterMatch != null && message.hasOwnProperty(\\\"vocabularyFilterMatch\\\"))\\n object.vocabularyFilterMatch = message.vocabularyFilterMatch;\\n if (message.confidence != null && message.hasOwnProperty(\\\"confidence\\\"))\\n object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence;\\n if (message.stable != null && message.hasOwnProperty(\\\"stable\\\"))\\n object.stable = message.stable;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkTranscriptItem to JSON.\\n * @function toJSON\\n * @memberof SdkTranscriptItem\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkTranscriptItem.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n /**\\n * Type enum.\\n * @name SdkTranscriptItem.Type\\n * @enum {number}\\n * @property {number} PRONUNCIATION=1 PRONUNCIATION value\\n * @property {number} PUNCTUATION=2 PUNCTUATION value\\n */\\n SdkTranscriptItem.Type = (function() {\\n var valuesById = {}, values = Object.create(valuesById);\\n values[valuesById[1] = \\\"PRONUNCIATION\\\"] = 1;\\n values[valuesById[2] = \\\"PUNCTUATION\\\"] = 2;\\n return values;\\n })();\\n\\n return SdkTranscriptItem;\\n})();\\n\\n$root.SdkTranscriptEntity = (function() {\\n\\n /**\\n * Properties of a SdkTranscriptEntity.\\n * @exports ISdkTranscriptEntity\\n * @interface ISdkTranscriptEntity\\n * @property {string|null} [category] SdkTranscriptEntity category\\n * @property {number|null} [confidence] SdkTranscriptEntity confidence\\n * @property {string|null} [content] SdkTranscriptEntity content\\n * @property {number|Long|null} [endTime] SdkTranscriptEntity endTime\\n * @property {number|Long|null} [startTime] SdkTranscriptEntity startTime\\n * @property {string|null} [type] SdkTranscriptEntity type\\n */\\n\\n /**\\n * Constructs a new SdkTranscriptEntity.\\n * @exports SdkTranscriptEntity\\n * @classdesc Represents a SdkTranscriptEntity.\\n * @implements ISdkTranscriptEntity\\n * @constructor\\n * @param {ISdkTranscriptEntity=} [properties] Properties to set\\n */\\n function SdkTranscriptEntity(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkTranscriptEntity category.\\n * @member {string} category\\n * @memberof SdkTranscriptEntity\\n * @instance\\n */\\n SdkTranscriptEntity.prototype.category = \\\"\\\";\\n\\n /**\\n * SdkTranscriptEntity confidence.\\n * @member {number} confidence\\n * @memberof SdkTranscriptEntity\\n * @instance\\n */\\n SdkTranscriptEntity.prototype.confidence = 0;\\n\\n /**\\n * SdkTranscriptEntity content.\\n * @member {string} content\\n * @memberof SdkTranscriptEntity\\n * @instance\\n */\\n SdkTranscriptEntity.prototype.content = \\\"\\\";\\n\\n /**\\n * SdkTranscriptEntity endTime.\\n * @member {number|Long} endTime\\n * @memberof SdkTranscriptEntity\\n * @instance\\n */\\n SdkTranscriptEntity.prototype.endTime = $util.Long ? $util.Long.fromBits(0,0,false) : 0;\\n\\n /**\\n * SdkTranscriptEntity startTime.\\n * @member {number|Long} startTime\\n * @memberof SdkTranscriptEntity\\n * @instance\\n */\\n SdkTranscriptEntity.prototype.startTime = $util.Long ? $util.Long.fromBits(0,0,false) : 0;\\n\\n /**\\n * SdkTranscriptEntity type.\\n * @member {string} type\\n * @memberof SdkTranscriptEntity\\n * @instance\\n */\\n SdkTranscriptEntity.prototype.type = \\\"\\\";\\n\\n /**\\n * Creates a new SdkTranscriptEntity instance using the specified properties.\\n * @function create\\n * @memberof SdkTranscriptEntity\\n * @static\\n * @param {ISdkTranscriptEntity=} [properties] Properties to set\\n * @returns {SdkTranscriptEntity} SdkTranscriptEntity instance\\n */\\n SdkTranscriptEntity.create = function create(properties) {\\n return new SdkTranscriptEntity(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptEntity message. Does not implicitly {@link SdkTranscriptEntity.verify|verify} messages.\\n * @function encode\\n * @memberof SdkTranscriptEntity\\n * @static\\n * @param {ISdkTranscriptEntity} message SdkTranscriptEntity message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptEntity.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.category != null && Object.hasOwnProperty.call(message, \\\"category\\\"))\\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.category);\\n if (message.confidence != null && Object.hasOwnProperty.call(message, \\\"confidence\\\"))\\n writer.uint32(/* id 2, wireType 1 =*/17).double(message.confidence);\\n if (message.content != null && Object.hasOwnProperty.call(message, \\\"content\\\"))\\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.content);\\n if (message.endTime != null && Object.hasOwnProperty.call(message, \\\"endTime\\\"))\\n writer.uint32(/* id 4, wireType 0 =*/32).int64(message.endTime);\\n if (message.startTime != null && Object.hasOwnProperty.call(message, \\\"startTime\\\"))\\n writer.uint32(/* id 5, wireType 0 =*/40).int64(message.startTime);\\n if (message.type != null && Object.hasOwnProperty.call(message, \\\"type\\\"))\\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.type);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptEntity message, length delimited. Does not implicitly {@link SdkTranscriptEntity.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkTranscriptEntity\\n * @static\\n * @param {ISdkTranscriptEntity} message SdkTranscriptEntity message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptEntity.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkTranscriptEntity message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkTranscriptEntity\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkTranscriptEntity} SdkTranscriptEntity\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptEntity.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkTranscriptEntity();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.category = reader.string();\\n break;\\n case 2:\\n message.confidence = reader.double();\\n break;\\n case 3:\\n message.content = reader.string();\\n break;\\n case 4:\\n message.endTime = reader.int64();\\n break;\\n case 5:\\n message.startTime = reader.int64();\\n break;\\n case 6:\\n message.type = reader.string();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkTranscriptEntity message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkTranscriptEntity\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkTranscriptEntity} SdkTranscriptEntity\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptEntity.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkTranscriptEntity message.\\n * @function verify\\n * @memberof SdkTranscriptEntity\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkTranscriptEntity.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.category != null && message.hasOwnProperty(\\\"category\\\"))\\n if (!$util.isString(message.category))\\n return \\\"category: string expected\\\";\\n if (message.confidence != null && message.hasOwnProperty(\\\"confidence\\\"))\\n if (typeof message.confidence !== \\\"number\\\")\\n return \\\"confidence: number expected\\\";\\n if (message.content != null && message.hasOwnProperty(\\\"content\\\"))\\n if (!$util.isString(message.content))\\n return \\\"content: string expected\\\";\\n if (message.endTime != null && message.hasOwnProperty(\\\"endTime\\\"))\\n if (!$util.isInteger(message.endTime) && !(message.endTime && $util.isInteger(message.endTime.low) && $util.isInteger(message.endTime.high)))\\n return \\\"endTime: integer|Long expected\\\";\\n if (message.startTime != null && message.hasOwnProperty(\\\"startTime\\\"))\\n if (!$util.isInteger(message.startTime) && !(message.startTime && $util.isInteger(message.startTime.low) && $util.isInteger(message.startTime.high)))\\n return \\\"startTime: integer|Long expected\\\";\\n if (message.type != null && message.hasOwnProperty(\\\"type\\\"))\\n if (!$util.isString(message.type))\\n return \\\"type: string expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkTranscriptEntity message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkTranscriptEntity\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkTranscriptEntity} SdkTranscriptEntity\\n */\\n SdkTranscriptEntity.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkTranscriptEntity)\\n return object;\\n var message = new $root.SdkTranscriptEntity();\\n if (object.category != null)\\n message.category = String(object.category);\\n if (object.confidence != null)\\n message.confidence = Number(object.confidence);\\n if (object.content != null)\\n message.content = String(object.content);\\n if (object.endTime != null)\\n if ($util.Long)\\n (message.endTime = $util.Long.fromValue(object.endTime)).unsigned = false;\\n else if (typeof object.endTime === \\\"string\\\")\\n message.endTime = parseInt(object.endTime, 10);\\n else if (typeof object.endTime === \\\"number\\\")\\n message.endTime = object.endTime;\\n else if (typeof object.endTime === \\\"object\\\")\\n message.endTime = new $util.LongBits(object.endTime.low >>> 0, object.endTime.high >>> 0).toNumber();\\n if (object.startTime != null)\\n if ($util.Long)\\n (message.startTime = $util.Long.fromValue(object.startTime)).unsigned = false;\\n else if (typeof object.startTime === \\\"string\\\")\\n message.startTime = parseInt(object.startTime, 10);\\n else if (typeof object.startTime === \\\"number\\\")\\n message.startTime = object.startTime;\\n else if (typeof object.startTime === \\\"object\\\")\\n message.startTime = new $util.LongBits(object.startTime.low >>> 0, object.startTime.high >>> 0).toNumber();\\n if (object.type != null)\\n message.type = String(object.type);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkTranscriptEntity message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkTranscriptEntity\\n * @static\\n * @param {SdkTranscriptEntity} message SdkTranscriptEntity\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkTranscriptEntity.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.category = \\\"\\\";\\n object.confidence = 0;\\n object.content = \\\"\\\";\\n if ($util.Long) {\\n var long = new $util.Long(0, 0, false);\\n object.endTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\\n } else\\n object.endTime = options.longs === String ? \\\"0\\\" : 0;\\n if ($util.Long) {\\n var long = new $util.Long(0, 0, false);\\n object.startTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\\n } else\\n object.startTime = options.longs === String ? \\\"0\\\" : 0;\\n object.type = \\\"\\\";\\n }\\n if (message.category != null && message.hasOwnProperty(\\\"category\\\"))\\n object.category = message.category;\\n if (message.confidence != null && message.hasOwnProperty(\\\"confidence\\\"))\\n object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence;\\n if (message.content != null && message.hasOwnProperty(\\\"content\\\"))\\n object.content = message.content;\\n if (message.endTime != null && message.hasOwnProperty(\\\"endTime\\\"))\\n if (typeof message.endTime === \\\"number\\\")\\n object.endTime = options.longs === String ? String(message.endTime) : message.endTime;\\n else\\n object.endTime = options.longs === String ? $util.Long.prototype.toString.call(message.endTime) : options.longs === Number ? new $util.LongBits(message.endTime.low >>> 0, message.endTime.high >>> 0).toNumber() : message.endTime;\\n if (message.startTime != null && message.hasOwnProperty(\\\"startTime\\\"))\\n if (typeof message.startTime === \\\"number\\\")\\n object.startTime = options.longs === String ? String(message.startTime) : message.startTime;\\n else\\n object.startTime = options.longs === String ? $util.Long.prototype.toString.call(message.startTime) : options.longs === Number ? new $util.LongBits(message.startTime.low >>> 0, message.startTime.high >>> 0).toNumber() : message.startTime;\\n if (message.type != null && message.hasOwnProperty(\\\"type\\\"))\\n object.type = message.type;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkTranscriptEntity to JSON.\\n * @function toJSON\\n * @memberof SdkTranscriptEntity\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkTranscriptEntity.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkTranscriptEntity;\\n})();\\n\\n$root.SdkTranscriptAlternative = (function() {\\n\\n /**\\n * Properties of a SdkTranscriptAlternative.\\n * @exports ISdkTranscriptAlternative\\n * @interface ISdkTranscriptAlternative\\n * @property {Array.<ISdkTranscriptItem>|null} [items] SdkTranscriptAlternative items\\n * @property {string|null} [transcript] SdkTranscriptAlternative transcript\\n * @property {Array.<ISdkTranscriptEntity>|null} [entities] SdkTranscriptAlternative entities\\n */\\n\\n /**\\n * Constructs a new SdkTranscriptAlternative.\\n * @exports SdkTranscriptAlternative\\n * @classdesc Represents a SdkTranscriptAlternative.\\n * @implements ISdkTranscriptAlternative\\n * @constructor\\n * @param {ISdkTranscriptAlternative=} [properties] Properties to set\\n */\\n function SdkTranscriptAlternative(properties) {\\n this.items = [];\\n this.entities = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkTranscriptAlternative items.\\n * @member {Array.<ISdkTranscriptItem>} items\\n * @memberof SdkTranscriptAlternative\\n * @instance\\n */\\n SdkTranscriptAlternative.prototype.items = $util.emptyArray;\\n\\n /**\\n * SdkTranscriptAlternative transcript.\\n * @member {string} transcript\\n * @memberof SdkTranscriptAlternative\\n * @instance\\n */\\n SdkTranscriptAlternative.prototype.transcript = \\\"\\\";\\n\\n /**\\n * SdkTranscriptAlternative entities.\\n * @member {Array.<ISdkTranscriptEntity>} entities\\n * @memberof SdkTranscriptAlternative\\n * @instance\\n */\\n SdkTranscriptAlternative.prototype.entities = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkTranscriptAlternative instance using the specified properties.\\n * @function create\\n * @memberof SdkTranscriptAlternative\\n * @static\\n * @param {ISdkTranscriptAlternative=} [properties] Properties to set\\n * @returns {SdkTranscriptAlternative} SdkTranscriptAlternative instance\\n */\\n SdkTranscriptAlternative.create = function create(properties) {\\n return new SdkTranscriptAlternative(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptAlternative message. Does not implicitly {@link SdkTranscriptAlternative.verify|verify} messages.\\n * @function encode\\n * @memberof SdkTranscriptAlternative\\n * @static\\n * @param {ISdkTranscriptAlternative} message SdkTranscriptAlternative message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptAlternative.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.items != null && message.items.length)\\n for (var i = 0; i < message.items.length; ++i)\\n $root.SdkTranscriptItem.encode(message.items[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\\n if (message.transcript != null && Object.hasOwnProperty.call(message, \\\"transcript\\\"))\\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.transcript);\\n if (message.entities != null && message.entities.length)\\n for (var i = 0; i < message.entities.length; ++i)\\n $root.SdkTranscriptEntity.encode(message.entities[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptAlternative message, length delimited. Does not implicitly {@link SdkTranscriptAlternative.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkTranscriptAlternative\\n * @static\\n * @param {ISdkTranscriptAlternative} message SdkTranscriptAlternative message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptAlternative.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkTranscriptAlternative message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkTranscriptAlternative\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkTranscriptAlternative} SdkTranscriptAlternative\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptAlternative.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkTranscriptAlternative();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n if (!(message.items && message.items.length))\\n message.items = [];\\n message.items.push($root.SdkTranscriptItem.decode(reader, reader.uint32()));\\n break;\\n case 2:\\n message.transcript = reader.string();\\n break;\\n case 3:\\n if (!(message.entities && message.entities.length))\\n message.entities = [];\\n message.entities.push($root.SdkTranscriptEntity.decode(reader, reader.uint32()));\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkTranscriptAlternative message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkTranscriptAlternative\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkTranscriptAlternative} SdkTranscriptAlternative\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptAlternative.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkTranscriptAlternative message.\\n * @function verify\\n * @memberof SdkTranscriptAlternative\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkTranscriptAlternative.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.items != null && message.hasOwnProperty(\\\"items\\\")) {\\n if (!Array.isArray(message.items))\\n return \\\"items: array expected\\\";\\n for (var i = 0; i < message.items.length; ++i) {\\n var error = $root.SdkTranscriptItem.verify(message.items[i]);\\n if (error)\\n return \\\"items.\\\" + error;\\n }\\n }\\n if (message.transcript != null && message.hasOwnProperty(\\\"transcript\\\"))\\n if (!$util.isString(message.transcript))\\n return \\\"transcript: string expected\\\";\\n if (message.entities != null && message.hasOwnProperty(\\\"entities\\\")) {\\n if (!Array.isArray(message.entities))\\n return \\\"entities: array expected\\\";\\n for (var i = 0; i < message.entities.length; ++i) {\\n var error = $root.SdkTranscriptEntity.verify(message.entities[i]);\\n if (error)\\n return \\\"entities.\\\" + error;\\n }\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkTranscriptAlternative message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkTranscriptAlternative\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkTranscriptAlternative} SdkTranscriptAlternative\\n */\\n SdkTranscriptAlternative.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkTranscriptAlternative)\\n return object;\\n var message = new $root.SdkTranscriptAlternative();\\n if (object.items) {\\n if (!Array.isArray(object.items))\\n throw TypeError(\\\".SdkTranscriptAlternative.items: array expected\\\");\\n message.items = [];\\n for (var i = 0; i < object.items.length; ++i) {\\n if (typeof object.items[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkTranscriptAlternative.items: object expected\\\");\\n message.items[i] = $root.SdkTranscriptItem.fromObject(object.items[i]);\\n }\\n }\\n if (object.transcript != null)\\n message.transcript = String(object.transcript);\\n if (object.entities) {\\n if (!Array.isArray(object.entities))\\n throw TypeError(\\\".SdkTranscriptAlternative.entities: array expected\\\");\\n message.entities = [];\\n for (var i = 0; i < object.entities.length; ++i) {\\n if (typeof object.entities[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkTranscriptAlternative.entities: object expected\\\");\\n message.entities[i] = $root.SdkTranscriptEntity.fromObject(object.entities[i]);\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkTranscriptAlternative message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkTranscriptAlternative\\n * @static\\n * @param {SdkTranscriptAlternative} message SdkTranscriptAlternative\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkTranscriptAlternative.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults) {\\n object.items = [];\\n object.entities = [];\\n }\\n if (options.defaults)\\n object.transcript = \\\"\\\";\\n if (message.items && message.items.length) {\\n object.items = [];\\n for (var j = 0; j < message.items.length; ++j)\\n object.items[j] = $root.SdkTranscriptItem.toObject(message.items[j], options);\\n }\\n if (message.transcript != null && message.hasOwnProperty(\\\"transcript\\\"))\\n object.transcript = message.transcript;\\n if (message.entities && message.entities.length) {\\n object.entities = [];\\n for (var j = 0; j < message.entities.length; ++j)\\n object.entities[j] = $root.SdkTranscriptEntity.toObject(message.entities[j], options);\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkTranscriptAlternative to JSON.\\n * @function toJSON\\n * @memberof SdkTranscriptAlternative\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkTranscriptAlternative.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkTranscriptAlternative;\\n})();\\n\\n$root.SdkTranscriptLanguageWithScore = (function() {\\n\\n /**\\n * Properties of a SdkTranscriptLanguageWithScore.\\n * @exports ISdkTranscriptLanguageWithScore\\n * @interface ISdkTranscriptLanguageWithScore\\n * @property {string|null} [languageCode] SdkTranscriptLanguageWithScore languageCode\\n * @property {number|null} [score] SdkTranscriptLanguageWithScore score\\n */\\n\\n /**\\n * Constructs a new SdkTranscriptLanguageWithScore.\\n * @exports SdkTranscriptLanguageWithScore\\n * @classdesc Represents a SdkTranscriptLanguageWithScore.\\n * @implements ISdkTranscriptLanguageWithScore\\n * @constructor\\n * @param {ISdkTranscriptLanguageWithScore=} [properties] Properties to set\\n */\\n function SdkTranscriptLanguageWithScore(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkTranscriptLanguageWithScore languageCode.\\n * @member {string} languageCode\\n * @memberof SdkTranscriptLanguageWithScore\\n * @instance\\n */\\n SdkTranscriptLanguageWithScore.prototype.languageCode = \\\"\\\";\\n\\n /**\\n * SdkTranscriptLanguageWithScore score.\\n * @member {number} score\\n * @memberof SdkTranscriptLanguageWithScore\\n * @instance\\n */\\n SdkTranscriptLanguageWithScore.prototype.score = 0;\\n\\n /**\\n * Creates a new SdkTranscriptLanguageWithScore instance using the specified properties.\\n * @function create\\n * @memberof SdkTranscriptLanguageWithScore\\n * @static\\n * @param {ISdkTranscriptLanguageWithScore=} [properties] Properties to set\\n * @returns {SdkTranscriptLanguageWithScore} SdkTranscriptLanguageWithScore instance\\n */\\n SdkTranscriptLanguageWithScore.create = function create(properties) {\\n return new SdkTranscriptLanguageWithScore(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptLanguageWithScore message. Does not implicitly {@link SdkTranscriptLanguageWithScore.verify|verify} messages.\\n * @function encode\\n * @memberof SdkTranscriptLanguageWithScore\\n * @static\\n * @param {ISdkTranscriptLanguageWithScore} message SdkTranscriptLanguageWithScore message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptLanguageWithScore.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.languageCode != null && Object.hasOwnProperty.call(message, \\\"languageCode\\\"))\\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode);\\n if (message.score != null && Object.hasOwnProperty.call(message, \\\"score\\\"))\\n writer.uint32(/* id 2, wireType 1 =*/17).double(message.score);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptLanguageWithScore message, length delimited. Does not implicitly {@link SdkTranscriptLanguageWithScore.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkTranscriptLanguageWithScore\\n * @static\\n * @param {ISdkTranscriptLanguageWithScore} message SdkTranscriptLanguageWithScore message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptLanguageWithScore.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkTranscriptLanguageWithScore message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkTranscriptLanguageWithScore\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkTranscriptLanguageWithScore} SdkTranscriptLanguageWithScore\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptLanguageWithScore.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkTranscriptLanguageWithScore();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.languageCode = reader.string();\\n break;\\n case 2:\\n message.score = reader.double();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkTranscriptLanguageWithScore message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkTranscriptLanguageWithScore\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkTranscriptLanguageWithScore} SdkTranscriptLanguageWithScore\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptLanguageWithScore.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkTranscriptLanguageWithScore message.\\n * @function verify\\n * @memberof SdkTranscriptLanguageWithScore\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkTranscriptLanguageWithScore.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.languageCode != null && message.hasOwnProperty(\\\"languageCode\\\"))\\n if (!$util.isString(message.languageCode))\\n return \\\"languageCode: string expected\\\";\\n if (message.score != null && message.hasOwnProperty(\\\"score\\\"))\\n if (typeof message.score !== \\\"number\\\")\\n return \\\"score: number expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkTranscriptLanguageWithScore message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkTranscriptLanguageWithScore\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkTranscriptLanguageWithScore} SdkTranscriptLanguageWithScore\\n */\\n SdkTranscriptLanguageWithScore.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkTranscriptLanguageWithScore)\\n return object;\\n var message = new $root.SdkTranscriptLanguageWithScore();\\n if (object.languageCode != null)\\n message.languageCode = String(object.languageCode);\\n if (object.score != null)\\n message.score = Number(object.score);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkTranscriptLanguageWithScore message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkTranscriptLanguageWithScore\\n * @static\\n * @param {SdkTranscriptLanguageWithScore} message SdkTranscriptLanguageWithScore\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkTranscriptLanguageWithScore.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.languageCode = \\\"\\\";\\n object.score = 0;\\n }\\n if (message.languageCode != null && message.hasOwnProperty(\\\"languageCode\\\"))\\n object.languageCode = message.languageCode;\\n if (message.score != null && message.hasOwnProperty(\\\"score\\\"))\\n object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkTranscriptLanguageWithScore to JSON.\\n * @function toJSON\\n * @memberof SdkTranscriptLanguageWithScore\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkTranscriptLanguageWithScore.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkTranscriptLanguageWithScore;\\n})();\\n\\n$root.SdkTranscriptResult = (function() {\\n\\n /**\\n * Properties of a SdkTranscriptResult.\\n * @exports ISdkTranscriptResult\\n * @interface ISdkTranscriptResult\\n * @property {Array.<ISdkTranscriptAlternative>|null} [alternatives] SdkTranscriptResult alternatives\\n * @property {string|null} [channelId] SdkTranscriptResult channelId\\n * @property {number|Long|null} [endTime] SdkTranscriptResult endTime\\n * @property {boolean|null} [isPartial] SdkTranscriptResult isPartial\\n * @property {string|null} [resultId] SdkTranscriptResult resultId\\n * @property {number|Long|null} [startTime] SdkTranscriptResult startTime\\n * @property {string|null} [languageCode] SdkTranscriptResult languageCode\\n * @property {Array.<ISdkTranscriptLanguageWithScore>|null} [languageIdentification] SdkTranscriptResult languageIdentification\\n */\\n\\n /**\\n * Constructs a new SdkTranscriptResult.\\n * @exports SdkTranscriptResult\\n * @classdesc Represents a SdkTranscriptResult.\\n * @implements ISdkTranscriptResult\\n * @constructor\\n * @param {ISdkTranscriptResult=} [properties] Properties to set\\n */\\n function SdkTranscriptResult(properties) {\\n this.alternatives = [];\\n this.languageIdentification = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkTranscriptResult alternatives.\\n * @member {Array.<ISdkTranscriptAlternative>} alternatives\\n * @memberof SdkTranscriptResult\\n * @instance\\n */\\n SdkTranscriptResult.prototype.alternatives = $util.emptyArray;\\n\\n /**\\n * SdkTranscriptResult channelId.\\n * @member {string} channelId\\n * @memberof SdkTranscriptResult\\n * @instance\\n */\\n SdkTranscriptResult.prototype.channelId = \\\"\\\";\\n\\n /**\\n * SdkTranscriptResult endTime.\\n * @member {number|Long} endTime\\n * @memberof SdkTranscriptResult\\n * @instance\\n */\\n SdkTranscriptResult.prototype.endTime = $util.Long ? $util.Long.fromBits(0,0,false) : 0;\\n\\n /**\\n * SdkTranscriptResult isPartial.\\n * @member {boolean} isPartial\\n * @memberof SdkTranscriptResult\\n * @instance\\n */\\n SdkTranscriptResult.prototype.isPartial = false;\\n\\n /**\\n * SdkTranscriptResult resultId.\\n * @member {string} resultId\\n * @memberof SdkTranscriptResult\\n * @instance\\n */\\n SdkTranscriptResult.prototype.resultId = \\\"\\\";\\n\\n /**\\n * SdkTranscriptResult startTime.\\n * @member {number|Long} startTime\\n * @memberof SdkTranscriptResult\\n * @instance\\n */\\n SdkTranscriptResult.prototype.startTime = $util.Long ? $util.Long.fromBits(0,0,false) : 0;\\n\\n /**\\n * SdkTranscriptResult languageCode.\\n * @member {string} languageCode\\n * @memberof SdkTranscriptResult\\n * @instance\\n */\\n SdkTranscriptResult.prototype.languageCode = \\\"\\\";\\n\\n /**\\n * SdkTranscriptResult languageIdentification.\\n * @member {Array.<ISdkTranscriptLanguageWithScore>} languageIdentification\\n * @memberof SdkTranscriptResult\\n * @instance\\n */\\n SdkTranscriptResult.prototype.languageIdentification = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkTranscriptResult instance using the specified properties.\\n * @function create\\n * @memberof SdkTranscriptResult\\n * @static\\n * @param {ISdkTranscriptResult=} [properties] Properties to set\\n * @returns {SdkTranscriptResult} SdkTranscriptResult instance\\n */\\n SdkTranscriptResult.create = function create(properties) {\\n return new SdkTranscriptResult(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptResult message. Does not implicitly {@link SdkTranscriptResult.verify|verify} messages.\\n * @function encode\\n * @memberof SdkTranscriptResult\\n * @static\\n * @param {ISdkTranscriptResult} message SdkTranscriptResult message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptResult.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.alternatives != null && message.alternatives.length)\\n for (var i = 0; i < message.alternatives.length; ++i)\\n $root.SdkTranscriptAlternative.encode(message.alternatives[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\\n if (message.channelId != null && Object.hasOwnProperty.call(message, \\\"channelId\\\"))\\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId);\\n if (message.endTime != null && Object.hasOwnProperty.call(message, \\\"endTime\\\"))\\n writer.uint32(/* id 3, wireType 0 =*/24).int64(message.endTime);\\n if (message.isPartial != null && Object.hasOwnProperty.call(message, \\\"isPartial\\\"))\\n writer.uint32(/* id 4, wireType 0 =*/32).bool(message.isPartial);\\n if (message.resultId != null && Object.hasOwnProperty.call(message, \\\"resultId\\\"))\\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.resultId);\\n if (message.startTime != null && Object.hasOwnProperty.call(message, \\\"startTime\\\"))\\n writer.uint32(/* id 6, wireType 0 =*/48).int64(message.startTime);\\n if (message.languageCode != null && Object.hasOwnProperty.call(message, \\\"languageCode\\\"))\\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.languageCode);\\n if (message.languageIdentification != null && message.languageIdentification.length)\\n for (var i = 0; i < message.languageIdentification.length; ++i)\\n $root.SdkTranscriptLanguageWithScore.encode(message.languageIdentification[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptResult message, length delimited. Does not implicitly {@link SdkTranscriptResult.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkTranscriptResult\\n * @static\\n * @param {ISdkTranscriptResult} message SdkTranscriptResult message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptResult.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkTranscriptResult message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkTranscriptResult\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkTranscriptResult} SdkTranscriptResult\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptResult.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkTranscriptResult();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n if (!(message.alternatives && message.alternatives.length))\\n message.alternatives = [];\\n message.alternatives.push($root.SdkTranscriptAlternative.decode(reader, reader.uint32()));\\n break;\\n case 2:\\n message.channelId = reader.string();\\n break;\\n case 3:\\n message.endTime = reader.int64();\\n break;\\n case 4:\\n message.isPartial = reader.bool();\\n break;\\n case 5:\\n message.resultId = reader.string();\\n break;\\n case 6:\\n message.startTime = reader.int64();\\n break;\\n case 7:\\n message.languageCode = reader.string();\\n break;\\n case 8:\\n if (!(message.languageIdentification && message.languageIdentification.length))\\n message.languageIdentification = [];\\n message.languageIdentification.push($root.SdkTranscriptLanguageWithScore.decode(reader, reader.uint32()));\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkTranscriptResult message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkTranscriptResult\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkTranscriptResult} SdkTranscriptResult\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptResult.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkTranscriptResult message.\\n * @function verify\\n * @memberof SdkTranscriptResult\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkTranscriptResult.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.alternatives != null && message.hasOwnProperty(\\\"alternatives\\\")) {\\n if (!Array.isArray(message.alternatives))\\n return \\\"alternatives: array expected\\\";\\n for (var i = 0; i < message.alternatives.length; ++i) {\\n var error = $root.SdkTranscriptAlternative.verify(message.alternatives[i]);\\n if (error)\\n return \\\"alternatives.\\\" + error;\\n }\\n }\\n if (message.channelId != null && message.hasOwnProperty(\\\"channelId\\\"))\\n if (!$util.isString(message.channelId))\\n return \\\"channelId: string expected\\\";\\n if (message.endTime != null && message.hasOwnProperty(\\\"endTime\\\"))\\n if (!$util.isInteger(message.endTime) && !(message.endTime && $util.isInteger(message.endTime.low) && $util.isInteger(message.endTime.high)))\\n return \\\"endTime: integer|Long expected\\\";\\n if (message.isPartial != null && message.hasOwnProperty(\\\"isPartial\\\"))\\n if (typeof message.isPartial !== \\\"boolean\\\")\\n return \\\"isPartial: boolean expected\\\";\\n if (message.resultId != null && message.hasOwnProperty(\\\"resultId\\\"))\\n if (!$util.isString(message.resultId))\\n return \\\"resultId: string expected\\\";\\n if (message.startTime != null && message.hasOwnProperty(\\\"startTime\\\"))\\n if (!$util.isInteger(message.startTime) && !(message.startTime && $util.isInteger(message.startTime.low) && $util.isInteger(message.startTime.high)))\\n return \\\"startTime: integer|Long expected\\\";\\n if (message.languageCode != null && message.hasOwnProperty(\\\"languageCode\\\"))\\n if (!$util.isString(message.languageCode))\\n return \\\"languageCode: string expected\\\";\\n if (message.languageIdentification != null && message.hasOwnProperty(\\\"languageIdentification\\\")) {\\n if (!Array.isArray(message.languageIdentification))\\n return \\\"languageIdentification: array expected\\\";\\n for (var i = 0; i < message.languageIdentification.length; ++i) {\\n var error = $root.SdkTranscriptLanguageWithScore.verify(message.languageIdentification[i]);\\n if (error)\\n return \\\"languageIdentification.\\\" + error;\\n }\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkTranscriptResult message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkTranscriptResult\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkTranscriptResult} SdkTranscriptResult\\n */\\n SdkTranscriptResult.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkTranscriptResult)\\n return object;\\n var message = new $root.SdkTranscriptResult();\\n if (object.alternatives) {\\n if (!Array.isArray(object.alternatives))\\n throw TypeError(\\\".SdkTranscriptResult.alternatives: array expected\\\");\\n message.alternatives = [];\\n for (var i = 0; i < object.alternatives.length; ++i) {\\n if (typeof object.alternatives[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkTranscriptResult.alternatives: object expected\\\");\\n message.alternatives[i] = $root.SdkTranscriptAlternative.fromObject(object.alternatives[i]);\\n }\\n }\\n if (object.channelId != null)\\n message.channelId = String(object.channelId);\\n if (object.endTime != null)\\n if ($util.Long)\\n (message.endTime = $util.Long.fromValue(object.endTime)).unsigned = false;\\n else if (typeof object.endTime === \\\"string\\\")\\n message.endTime = parseInt(object.endTime, 10);\\n else if (typeof object.endTime === \\\"number\\\")\\n message.endTime = object.endTime;\\n else if (typeof object.endTime === \\\"object\\\")\\n message.endTime = new $util.LongBits(object.endTime.low >>> 0, object.endTime.high >>> 0).toNumber();\\n if (object.isPartial != null)\\n message.isPartial = Boolean(object.isPartial);\\n if (object.resultId != null)\\n message.resultId = String(object.resultId);\\n if (object.startTime != null)\\n if ($util.Long)\\n (message.startTime = $util.Long.fromValue(object.startTime)).unsigned = false;\\n else if (typeof object.startTime === \\\"string\\\")\\n message.startTime = parseInt(object.startTime, 10);\\n else if (typeof object.startTime === \\\"number\\\")\\n message.startTime = object.startTime;\\n else if (typeof object.startTime === \\\"object\\\")\\n message.startTime = new $util.LongBits(object.startTime.low >>> 0, object.startTime.high >>> 0).toNumber();\\n if (object.languageCode != null)\\n message.languageCode = String(object.languageCode);\\n if (object.languageIdentification) {\\n if (!Array.isArray(object.languageIdentification))\\n throw TypeError(\\\".SdkTranscriptResult.languageIdentification: array expected\\\");\\n message.languageIdentification = [];\\n for (var i = 0; i < object.languageIdentification.length; ++i) {\\n if (typeof object.languageIdentification[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkTranscriptResult.languageIdentification: object expected\\\");\\n message.languageIdentification[i] = $root.SdkTranscriptLanguageWithScore.fromObject(object.languageIdentification[i]);\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkTranscriptResult message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkTranscriptResult\\n * @static\\n * @param {SdkTranscriptResult} message SdkTranscriptResult\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkTranscriptResult.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults) {\\n object.alternatives = [];\\n object.languageIdentification = [];\\n }\\n if (options.defaults) {\\n object.channelId = \\\"\\\";\\n if ($util.Long) {\\n var long = new $util.Long(0, 0, false);\\n object.endTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\\n } else\\n object.endTime = options.longs === String ? \\\"0\\\" : 0;\\n object.isPartial = false;\\n object.resultId = \\\"\\\";\\n if ($util.Long) {\\n var long = new $util.Long(0, 0, false);\\n object.startTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\\n } else\\n object.startTime = options.longs === String ? \\\"0\\\" : 0;\\n object.languageCode = \\\"\\\";\\n }\\n if (message.alternatives && message.alternatives.length) {\\n object.alternatives = [];\\n for (var j = 0; j < message.alternatives.length; ++j)\\n object.alternatives[j] = $root.SdkTranscriptAlternative.toObject(message.alternatives[j], options);\\n }\\n if (message.channelId != null && message.hasOwnProperty(\\\"channelId\\\"))\\n object.channelId = message.channelId;\\n if (message.endTime != null && message.hasOwnProperty(\\\"endTime\\\"))\\n if (typeof message.endTime === \\\"number\\\")\\n object.endTime = options.longs === String ? String(message.endTime) : message.endTime;\\n else\\n object.endTime = options.longs === String ? $util.Long.prototype.toString.call(message.endTime) : options.longs === Number ? new $util.LongBits(message.endTime.low >>> 0, message.endTime.high >>> 0).toNumber() : message.endTime;\\n if (message.isPartial != null && message.hasOwnProperty(\\\"isPartial\\\"))\\n object.isPartial = message.isPartial;\\n if (message.resultId != null && message.hasOwnProperty(\\\"resultId\\\"))\\n object.resultId = message.resultId;\\n if (message.startTime != null && message.hasOwnProperty(\\\"startTime\\\"))\\n if (typeof message.startTime === \\\"number\\\")\\n object.startTime = options.longs === String ? String(message.startTime) : message.startTime;\\n else\\n object.startTime = options.longs === String ? $util.Long.prototype.toString.call(message.startTime) : options.longs === Number ? new $util.LongBits(message.startTime.low >>> 0, message.startTime.high >>> 0).toNumber() : message.startTime;\\n if (message.languageCode != null && message.hasOwnProperty(\\\"languageCode\\\"))\\n object.languageCode = message.languageCode;\\n if (message.languageIdentification && message.languageIdentification.length) {\\n object.languageIdentification = [];\\n for (var j = 0; j < message.languageIdentification.length; ++j)\\n object.languageIdentification[j] = $root.SdkTranscriptLanguageWithScore.toObject(message.languageIdentification[j], options);\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkTranscriptResult to JSON.\\n * @function toJSON\\n * @memberof SdkTranscriptResult\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkTranscriptResult.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkTranscriptResult;\\n})();\\n\\n$root.SdkTranscript = (function() {\\n\\n /**\\n * Properties of a SdkTranscript.\\n * @exports ISdkTranscript\\n * @interface ISdkTranscript\\n * @property {Array.<ISdkTranscriptResult>|null} [results] SdkTranscript results\\n */\\n\\n /**\\n * Constructs a new SdkTranscript.\\n * @exports SdkTranscript\\n * @classdesc Represents a SdkTranscript.\\n * @implements ISdkTranscript\\n * @constructor\\n * @param {ISdkTranscript=} [properties] Properties to set\\n */\\n function SdkTranscript(properties) {\\n this.results = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkTranscript results.\\n * @member {Array.<ISdkTranscriptResult>} results\\n * @memberof SdkTranscript\\n * @instance\\n */\\n SdkTranscript.prototype.results = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkTranscript instance using the specified properties.\\n * @function create\\n * @memberof SdkTranscript\\n * @static\\n * @param {ISdkTranscript=} [properties] Properties to set\\n * @returns {SdkTranscript} SdkTranscript instance\\n */\\n SdkTranscript.create = function create(properties) {\\n return new SdkTranscript(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkTranscript message. Does not implicitly {@link SdkTranscript.verify|verify} messages.\\n * @function encode\\n * @memberof SdkTranscript\\n * @static\\n * @param {ISdkTranscript} message SdkTranscript message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscript.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.results != null && message.results.length)\\n for (var i = 0; i < message.results.length; ++i)\\n $root.SdkTranscriptResult.encode(message.results[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkTranscript message, length delimited. Does not implicitly {@link SdkTranscript.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkTranscript\\n * @static\\n * @param {ISdkTranscript} message SdkTranscript message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscript.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkTranscript message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkTranscript\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkTranscript} SdkTranscript\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscript.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkTranscript();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n if (!(message.results && message.results.length))\\n message.results = [];\\n message.results.push($root.SdkTranscriptResult.decode(reader, reader.uint32()));\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkTranscript message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkTranscript\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkTranscript} SdkTranscript\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscript.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkTranscript message.\\n * @function verify\\n * @memberof SdkTranscript\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkTranscript.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.results != null && message.hasOwnProperty(\\\"results\\\")) {\\n if (!Array.isArray(message.results))\\n return \\\"results: array expected\\\";\\n for (var i = 0; i < message.results.length; ++i) {\\n var error = $root.SdkTranscriptResult.verify(message.results[i]);\\n if (error)\\n return \\\"results.\\\" + error;\\n }\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkTranscript message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkTranscript\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkTranscript} SdkTranscript\\n */\\n SdkTranscript.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkTranscript)\\n return object;\\n var message = new $root.SdkTranscript();\\n if (object.results) {\\n if (!Array.isArray(object.results))\\n throw TypeError(\\\".SdkTranscript.results: array expected\\\");\\n message.results = [];\\n for (var i = 0; i < object.results.length; ++i) {\\n if (typeof object.results[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkTranscript.results: object expected\\\");\\n message.results[i] = $root.SdkTranscriptResult.fromObject(object.results[i]);\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkTranscript message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkTranscript\\n * @static\\n * @param {SdkTranscript} message SdkTranscript\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkTranscript.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults)\\n object.results = [];\\n if (message.results && message.results.length) {\\n object.results = [];\\n for (var j = 0; j < message.results.length; ++j)\\n object.results[j] = $root.SdkTranscriptResult.toObject(message.results[j], options);\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkTranscript to JSON.\\n * @function toJSON\\n * @memberof SdkTranscript\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkTranscript.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkTranscript;\\n})();\\n\\n$root.SdkTranscriptionStatus = (function() {\\n\\n /**\\n * Properties of a SdkTranscriptionStatus.\\n * @exports ISdkTranscriptionStatus\\n * @interface ISdkTranscriptionStatus\\n * @property {SdkTranscriptionStatus.Type|null} [type] SdkTranscriptionStatus type\\n * @property {number|Long|null} [eventTime] SdkTranscriptionStatus eventTime\\n * @property {string|null} [transcriptionRegion] SdkTranscriptionStatus transcriptionRegion\\n * @property {string|null} [transcriptionConfiguration] SdkTranscriptionStatus transcriptionConfiguration\\n * @property {string|null} [message] SdkTranscriptionStatus message\\n */\\n\\n /**\\n * Constructs a new SdkTranscriptionStatus.\\n * @exports SdkTranscriptionStatus\\n * @classdesc Represents a SdkTranscriptionStatus.\\n * @implements ISdkTranscriptionStatus\\n * @constructor\\n * @param {ISdkTranscriptionStatus=} [properties] Properties to set\\n */\\n function SdkTranscriptionStatus(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkTranscriptionStatus type.\\n * @member {SdkTranscriptionStatus.Type} type\\n * @memberof SdkTranscriptionStatus\\n * @instance\\n */\\n SdkTranscriptionStatus.prototype.type = 1;\\n\\n /**\\n * SdkTranscriptionStatus eventTime.\\n * @member {number|Long} eventTime\\n * @memberof SdkTranscriptionStatus\\n * @instance\\n */\\n SdkTranscriptionStatus.prototype.eventTime = $util.Long ? $util.Long.fromBits(0,0,false) : 0;\\n\\n /**\\n * SdkTranscriptionStatus transcriptionRegion.\\n * @member {string} transcriptionRegion\\n * @memberof SdkTranscriptionStatus\\n * @instance\\n */\\n SdkTranscriptionStatus.prototype.transcriptionRegion = \\\"\\\";\\n\\n /**\\n * SdkTranscriptionStatus transcriptionConfiguration.\\n * @member {string} transcriptionConfiguration\\n * @memberof SdkTranscriptionStatus\\n * @instance\\n */\\n SdkTranscriptionStatus.prototype.transcriptionConfiguration = \\\"\\\";\\n\\n /**\\n * SdkTranscriptionStatus message.\\n * @member {string} message\\n * @memberof SdkTranscriptionStatus\\n * @instance\\n */\\n SdkTranscriptionStatus.prototype.message = \\\"\\\";\\n\\n /**\\n * Creates a new SdkTranscriptionStatus instance using the specified properties.\\n * @function create\\n * @memberof SdkTranscriptionStatus\\n * @static\\n * @param {ISdkTranscriptionStatus=} [properties] Properties to set\\n * @returns {SdkTranscriptionStatus} SdkTranscriptionStatus instance\\n */\\n SdkTranscriptionStatus.create = function create(properties) {\\n return new SdkTranscriptionStatus(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptionStatus message. Does not implicitly {@link SdkTranscriptionStatus.verify|verify} messages.\\n * @function encode\\n * @memberof SdkTranscriptionStatus\\n * @static\\n * @param {ISdkTranscriptionStatus} message SdkTranscriptionStatus message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptionStatus.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.type != null && Object.hasOwnProperty.call(message, \\\"type\\\"))\\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type);\\n if (message.eventTime != null && Object.hasOwnProperty.call(message, \\\"eventTime\\\"))\\n writer.uint32(/* id 2, wireType 0 =*/16).int64(message.eventTime);\\n if (message.transcriptionRegion != null && Object.hasOwnProperty.call(message, \\\"transcriptionRegion\\\"))\\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.transcriptionRegion);\\n if (message.transcriptionConfiguration != null && Object.hasOwnProperty.call(message, \\\"transcriptionConfiguration\\\"))\\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.transcriptionConfiguration);\\n if (message.message != null && Object.hasOwnProperty.call(message, \\\"message\\\"))\\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.message);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptionStatus message, length delimited. Does not implicitly {@link SdkTranscriptionStatus.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkTranscriptionStatus\\n * @static\\n * @param {ISdkTranscriptionStatus} message SdkTranscriptionStatus message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptionStatus.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkTranscriptionStatus message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkTranscriptionStatus\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkTranscriptionStatus} SdkTranscriptionStatus\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptionStatus.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkTranscriptionStatus();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.type = reader.int32();\\n break;\\n case 2:\\n message.eventTime = reader.int64();\\n break;\\n case 3:\\n message.transcriptionRegion = reader.string();\\n break;\\n case 4:\\n message.transcriptionConfiguration = reader.string();\\n break;\\n case 5:\\n message.message = reader.string();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkTranscriptionStatus message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkTranscriptionStatus\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkTranscriptionStatus} SdkTranscriptionStatus\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptionStatus.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkTranscriptionStatus message.\\n * @function verify\\n * @memberof SdkTranscriptionStatus\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkTranscriptionStatus.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.type != null && message.hasOwnProperty(\\\"type\\\"))\\n switch (message.type) {\\n default:\\n return \\\"type: enum value expected\\\";\\n case 1:\\n case 2:\\n case 3:\\n case 4:\\n case 5:\\n break;\\n }\\n if (message.eventTime != null && message.hasOwnProperty(\\\"eventTime\\\"))\\n if (!$util.isInteger(message.eventTime) && !(message.eventTime && $util.isInteger(message.eventTime.low) && $util.isInteger(message.eventTime.high)))\\n return \\\"eventTime: integer|Long expected\\\";\\n if (message.transcriptionRegion != null && message.hasOwnProperty(\\\"transcriptionRegion\\\"))\\n if (!$util.isString(message.transcriptionRegion))\\n return \\\"transcriptionRegion: string expected\\\";\\n if (message.transcriptionConfiguration != null && message.hasOwnProperty(\\\"transcriptionConfiguration\\\"))\\n if (!$util.isString(message.transcriptionConfiguration))\\n return \\\"transcriptionConfiguration: string expected\\\";\\n if (message.message != null && message.hasOwnProperty(\\\"message\\\"))\\n if (!$util.isString(message.message))\\n return \\\"message: string expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkTranscriptionStatus message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkTranscriptionStatus\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkTranscriptionStatus} SdkTranscriptionStatus\\n */\\n SdkTranscriptionStatus.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkTranscriptionStatus)\\n return object;\\n var message = new $root.SdkTranscriptionStatus();\\n switch (object.type) {\\n case \\\"STARTED\\\":\\n case 1:\\n message.type = 1;\\n break;\\n case \\\"INTERRUPTED\\\":\\n case 2:\\n message.type = 2;\\n break;\\n case \\\"RESUMED\\\":\\n case 3:\\n message.type = 3;\\n break;\\n case \\\"STOPPED\\\":\\n case 4:\\n message.type = 4;\\n break;\\n case \\\"FAILED\\\":\\n case 5:\\n message.type = 5;\\n break;\\n }\\n if (object.eventTime != null)\\n if ($util.Long)\\n (message.eventTime = $util.Long.fromValue(object.eventTime)).unsigned = false;\\n else if (typeof object.eventTime === \\\"string\\\")\\n message.eventTime = parseInt(object.eventTime, 10);\\n else if (typeof object.eventTime === \\\"number\\\")\\n message.eventTime = object.eventTime;\\n else if (typeof object.eventTime === \\\"object\\\")\\n message.eventTime = new $util.LongBits(object.eventTime.low >>> 0, object.eventTime.high >>> 0).toNumber();\\n if (object.transcriptionRegion != null)\\n message.transcriptionRegion = String(object.transcriptionRegion);\\n if (object.transcriptionConfiguration != null)\\n message.transcriptionConfiguration = String(object.transcriptionConfiguration);\\n if (object.message != null)\\n message.message = String(object.message);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkTranscriptionStatus message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkTranscriptionStatus\\n * @static\\n * @param {SdkTranscriptionStatus} message SdkTranscriptionStatus\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkTranscriptionStatus.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.type = options.enums === String ? \\\"STARTED\\\" : 1;\\n if ($util.Long) {\\n var long = new $util.Long(0, 0, false);\\n object.eventTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\\n } else\\n object.eventTime = options.longs === String ? \\\"0\\\" : 0;\\n object.transcriptionRegion = \\\"\\\";\\n object.transcriptionConfiguration = \\\"\\\";\\n object.message = \\\"\\\";\\n }\\n if (message.type != null && message.hasOwnProperty(\\\"type\\\"))\\n object.type = options.enums === String ? $root.SdkTranscriptionStatus.Type[message.type] : message.type;\\n if (message.eventTime != null && message.hasOwnProperty(\\\"eventTime\\\"))\\n if (typeof message.eventTime === \\\"number\\\")\\n object.eventTime = options.longs === String ? String(message.eventTime) : message.eventTime;\\n else\\n object.eventTime = options.longs === String ? $util.Long.prototype.toString.call(message.eventTime) : options.longs === Number ? new $util.LongBits(message.eventTime.low >>> 0, message.eventTime.high >>> 0).toNumber() : message.eventTime;\\n if (message.transcriptionRegion != null && message.hasOwnProperty(\\\"transcriptionRegion\\\"))\\n object.transcriptionRegion = message.transcriptionRegion;\\n if (message.transcriptionConfiguration != null && message.hasOwnProperty(\\\"transcriptionConfiguration\\\"))\\n object.transcriptionConfiguration = message.transcriptionConfiguration;\\n if (message.message != null && message.hasOwnProperty(\\\"message\\\"))\\n object.message = message.message;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkTranscriptionStatus to JSON.\\n * @function toJSON\\n * @memberof SdkTranscriptionStatus\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkTranscriptionStatus.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n /**\\n * Type enum.\\n * @name SdkTranscriptionStatus.Type\\n * @enum {number}\\n * @property {number} STARTED=1 STARTED value\\n * @property {number} INTERRUPTED=2 INTERRUPTED value\\n * @property {number} RESUMED=3 RESUMED value\\n * @property {number} STOPPED=4 STOPPED value\\n * @property {number} FAILED=5 FAILED value\\n */\\n SdkTranscriptionStatus.Type = (function() {\\n var valuesById = {}, values = Object.create(valuesById);\\n values[valuesById[1] = \\\"STARTED\\\"] = 1;\\n values[valuesById[2] = \\\"INTERRUPTED\\\"] = 2;\\n values[valuesById[3] = \\\"RESUMED\\\"] = 3;\\n values[valuesById[4] = \\\"STOPPED\\\"] = 4;\\n values[valuesById[5] = \\\"FAILED\\\"] = 5;\\n return values;\\n })();\\n\\n return SdkTranscriptionStatus;\\n})();\\n\\n$root.SdkTranscriptEvent = (function() {\\n\\n /**\\n * Properties of a SdkTranscriptEvent.\\n * @exports ISdkTranscriptEvent\\n * @interface ISdkTranscriptEvent\\n * @property {ISdkTranscriptionStatus|null} [status] SdkTranscriptEvent status\\n * @property {ISdkTranscript|null} [transcript] SdkTranscriptEvent transcript\\n */\\n\\n /**\\n * Constructs a new SdkTranscriptEvent.\\n * @exports SdkTranscriptEvent\\n * @classdesc Represents a SdkTranscriptEvent.\\n * @implements ISdkTranscriptEvent\\n * @constructor\\n * @param {ISdkTranscriptEvent=} [properties] Properties to set\\n */\\n function SdkTranscriptEvent(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkTranscriptEvent status.\\n * @member {ISdkTranscriptionStatus|null|undefined} status\\n * @memberof SdkTranscriptEvent\\n * @instance\\n */\\n SdkTranscriptEvent.prototype.status = null;\\n\\n /**\\n * SdkTranscriptEvent transcript.\\n * @member {ISdkTranscript|null|undefined} transcript\\n * @memberof SdkTranscriptEvent\\n * @instance\\n */\\n SdkTranscriptEvent.prototype.transcript = null;\\n\\n // OneOf field names bound to virtual getters and setters\\n var $oneOfFields;\\n\\n /**\\n * SdkTranscriptEvent Event.\\n * @member {\\\"status\\\"|\\\"transcript\\\"|undefined} Event\\n * @memberof SdkTranscriptEvent\\n * @instance\\n */\\n Object.defineProperty(SdkTranscriptEvent.prototype, \\\"Event\\\", {\\n get: $util.oneOfGetter($oneOfFields = [\\\"status\\\", \\\"transcript\\\"]),\\n set: $util.oneOfSetter($oneOfFields)\\n });\\n\\n /**\\n * Creates a new SdkTranscriptEvent instance using the specified properties.\\n * @function create\\n * @memberof SdkTranscriptEvent\\n * @static\\n * @param {ISdkTranscriptEvent=} [properties] Properties to set\\n * @returns {SdkTranscriptEvent} SdkTranscriptEvent instance\\n */\\n SdkTranscriptEvent.create = function create(properties) {\\n return new SdkTranscriptEvent(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptEvent message. Does not implicitly {@link SdkTranscriptEvent.verify|verify} messages.\\n * @function encode\\n * @memberof SdkTranscriptEvent\\n * @static\\n * @param {ISdkTranscriptEvent} message SdkTranscriptEvent message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptEvent.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.status != null && Object.hasOwnProperty.call(message, \\\"status\\\"))\\n $root.SdkTranscriptionStatus.encode(message.status, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\\n if (message.transcript != null && Object.hasOwnProperty.call(message, \\\"transcript\\\"))\\n $root.SdkTranscript.encode(message.transcript, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptEvent message, length delimited. Does not implicitly {@link SdkTranscriptEvent.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkTranscriptEvent\\n * @static\\n * @param {ISdkTranscriptEvent} message SdkTranscriptEvent message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptEvent.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkTranscriptEvent message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkTranscriptEvent\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkTranscriptEvent} SdkTranscriptEvent\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptEvent.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkTranscriptEvent();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.status = $root.SdkTranscriptionStatus.decode(reader, reader.uint32());\\n break;\\n case 2:\\n message.transcript = $root.SdkTranscript.decode(reader, reader.uint32());\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkTranscriptEvent message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkTranscriptEvent\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkTranscriptEvent} SdkTranscriptEvent\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptEvent.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkTranscriptEvent message.\\n * @function verify\\n * @memberof SdkTranscriptEvent\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkTranscriptEvent.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n var properties = {};\\n if (message.status != null && message.hasOwnProperty(\\\"status\\\")) {\\n properties.Event = 1;\\n {\\n var error = $root.SdkTranscriptionStatus.verify(message.status);\\n if (error)\\n return \\\"status.\\\" + error;\\n }\\n }\\n if (message.transcript != null && message.hasOwnProperty(\\\"transcript\\\")) {\\n if (properties.Event === 1)\\n return \\\"Event: multiple values\\\";\\n properties.Event = 1;\\n {\\n var error = $root.SdkTranscript.verify(message.transcript);\\n if (error)\\n return \\\"transcript.\\\" + error;\\n }\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkTranscriptEvent message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkTranscriptEvent\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkTranscriptEvent} SdkTranscriptEvent\\n */\\n SdkTranscriptEvent.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkTranscriptEvent)\\n return object;\\n var message = new $root.SdkTranscriptEvent();\\n if (object.status != null) {\\n if (typeof object.status !== \\\"object\\\")\\n throw TypeError(\\\".SdkTranscriptEvent.status: object expected\\\");\\n message.status = $root.SdkTranscriptionStatus.fromObject(object.status);\\n }\\n if (object.transcript != null) {\\n if (typeof object.transcript !== \\\"object\\\")\\n throw TypeError(\\\".SdkTranscriptEvent.transcript: object expected\\\");\\n message.transcript = $root.SdkTranscript.fromObject(object.transcript);\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkTranscriptEvent message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkTranscriptEvent\\n * @static\\n * @param {SdkTranscriptEvent} message SdkTranscriptEvent\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkTranscriptEvent.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (message.status != null && message.hasOwnProperty(\\\"status\\\")) {\\n object.status = $root.SdkTranscriptionStatus.toObject(message.status, options);\\n if (options.oneofs)\\n object.Event = \\\"status\\\";\\n }\\n if (message.transcript != null && message.hasOwnProperty(\\\"transcript\\\")) {\\n object.transcript = $root.SdkTranscript.toObject(message.transcript, options);\\n if (options.oneofs)\\n object.Event = \\\"transcript\\\";\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkTranscriptEvent to JSON.\\n * @function toJSON\\n * @memberof SdkTranscriptEvent\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkTranscriptEvent.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkTranscriptEvent;\\n})();\\n\\n$root.SdkTranscriptFrame = (function() {\\n\\n /**\\n * Properties of a SdkTranscriptFrame.\\n * @exports ISdkTranscriptFrame\\n * @interface ISdkTranscriptFrame\\n * @property {Array.<ISdkTranscriptEvent>|null} [events] SdkTranscriptFrame events\\n */\\n\\n /**\\n * Constructs a new SdkTranscriptFrame.\\n * @exports SdkTranscriptFrame\\n * @classdesc Represents a SdkTranscriptFrame.\\n * @implements ISdkTranscriptFrame\\n * @constructor\\n * @param {ISdkTranscriptFrame=} [properties] Properties to set\\n */\\n function SdkTranscriptFrame(properties) {\\n this.events = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkTranscriptFrame events.\\n * @member {Array.<ISdkTranscriptEvent>} events\\n * @memberof SdkTranscriptFrame\\n * @instance\\n */\\n SdkTranscriptFrame.prototype.events = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkTranscriptFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkTranscriptFrame\\n * @static\\n * @param {ISdkTranscriptFrame=} [properties] Properties to set\\n * @returns {SdkTranscriptFrame} SdkTranscriptFrame instance\\n */\\n SdkTranscriptFrame.create = function create(properties) {\\n return new SdkTranscriptFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptFrame message. Does not implicitly {@link SdkTranscriptFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkTranscriptFrame\\n * @static\\n * @param {ISdkTranscriptFrame} message SdkTranscriptFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.events != null && message.events.length)\\n for (var i = 0; i < message.events.length; ++i)\\n $root.SdkTranscriptEvent.encode(message.events[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkTranscriptFrame message, length delimited. Does not implicitly {@link SdkTranscriptFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkTranscriptFrame\\n * @static\\n * @param {ISdkTranscriptFrame} message SdkTranscriptFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkTranscriptFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkTranscriptFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkTranscriptFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkTranscriptFrame} SdkTranscriptFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkTranscriptFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n if (!(message.events && message.events.length))\\n message.events = [];\\n message.events.push($root.SdkTranscriptEvent.decode(reader, reader.uint32()));\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkTranscriptFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkTranscriptFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkTranscriptFrame} SdkTranscriptFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkTranscriptFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkTranscriptFrame message.\\n * @function verify\\n * @memberof SdkTranscriptFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkTranscriptFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.events != null && message.hasOwnProperty(\\\"events\\\")) {\\n if (!Array.isArray(message.events))\\n return \\\"events: array expected\\\";\\n for (var i = 0; i < message.events.length; ++i) {\\n var error = $root.SdkTranscriptEvent.verify(message.events[i]);\\n if (error)\\n return \\\"events.\\\" + error;\\n }\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkTranscriptFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkTranscriptFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkTranscriptFrame} SdkTranscriptFrame\\n */\\n SdkTranscriptFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkTranscriptFrame)\\n return object;\\n var message = new $root.SdkTranscriptFrame();\\n if (object.events) {\\n if (!Array.isArray(object.events))\\n throw TypeError(\\\".SdkTranscriptFrame.events: array expected\\\");\\n message.events = [];\\n for (var i = 0; i < object.events.length; ++i) {\\n if (typeof object.events[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkTranscriptFrame.events: object expected\\\");\\n message.events[i] = $root.SdkTranscriptEvent.fromObject(object.events[i]);\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkTranscriptFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkTranscriptFrame\\n * @static\\n * @param {SdkTranscriptFrame} message SdkTranscriptFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkTranscriptFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults)\\n object.events = [];\\n if (message.events && message.events.length) {\\n object.events = [];\\n for (var j = 0; j < message.events.length; ++j)\\n object.events[j] = $root.SdkTranscriptEvent.toObject(message.events[j], options);\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkTranscriptFrame to JSON.\\n * @function toJSON\\n * @memberof SdkTranscriptFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkTranscriptFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkTranscriptFrame;\\n})();\\n\\n$root.SdkRemoteVideoUpdateFrame = (function() {\\n\\n /**\\n * Properties of a SdkRemoteVideoUpdateFrame.\\n * @exports ISdkRemoteVideoUpdateFrame\\n * @interface ISdkRemoteVideoUpdateFrame\\n * @property {Array.<ISdkVideoSubscriptionConfiguration>|null} [addedOrUpdatedVideoSubscriptions] SdkRemoteVideoUpdateFrame addedOrUpdatedVideoSubscriptions\\n * @property {Array.<string>|null} [removedVideoSubscriptionMids] SdkRemoteVideoUpdateFrame removedVideoSubscriptionMids\\n */\\n\\n /**\\n * Constructs a new SdkRemoteVideoUpdateFrame.\\n * @exports SdkRemoteVideoUpdateFrame\\n * @classdesc Represents a SdkRemoteVideoUpdateFrame.\\n * @implements ISdkRemoteVideoUpdateFrame\\n * @constructor\\n * @param {ISdkRemoteVideoUpdateFrame=} [properties] Properties to set\\n */\\n function SdkRemoteVideoUpdateFrame(properties) {\\n this.addedOrUpdatedVideoSubscriptions = [];\\n this.removedVideoSubscriptionMids = [];\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkRemoteVideoUpdateFrame addedOrUpdatedVideoSubscriptions.\\n * @member {Array.<ISdkVideoSubscriptionConfiguration>} addedOrUpdatedVideoSubscriptions\\n * @memberof SdkRemoteVideoUpdateFrame\\n * @instance\\n */\\n SdkRemoteVideoUpdateFrame.prototype.addedOrUpdatedVideoSubscriptions = $util.emptyArray;\\n\\n /**\\n * SdkRemoteVideoUpdateFrame removedVideoSubscriptionMids.\\n * @member {Array.<string>} removedVideoSubscriptionMids\\n * @memberof SdkRemoteVideoUpdateFrame\\n * @instance\\n */\\n SdkRemoteVideoUpdateFrame.prototype.removedVideoSubscriptionMids = $util.emptyArray;\\n\\n /**\\n * Creates a new SdkRemoteVideoUpdateFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkRemoteVideoUpdateFrame\\n * @static\\n * @param {ISdkRemoteVideoUpdateFrame=} [properties] Properties to set\\n * @returns {SdkRemoteVideoUpdateFrame} SdkRemoteVideoUpdateFrame instance\\n */\\n SdkRemoteVideoUpdateFrame.create = function create(properties) {\\n return new SdkRemoteVideoUpdateFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkRemoteVideoUpdateFrame message. Does not implicitly {@link SdkRemoteVideoUpdateFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkRemoteVideoUpdateFrame\\n * @static\\n * @param {ISdkRemoteVideoUpdateFrame} message SdkRemoteVideoUpdateFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkRemoteVideoUpdateFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.addedOrUpdatedVideoSubscriptions != null && message.addedOrUpdatedVideoSubscriptions.length)\\n for (var i = 0; i < message.addedOrUpdatedVideoSubscriptions.length; ++i)\\n $root.SdkVideoSubscriptionConfiguration.encode(message.addedOrUpdatedVideoSubscriptions[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\\n if (message.removedVideoSubscriptionMids != null && message.removedVideoSubscriptionMids.length)\\n for (var i = 0; i < message.removedVideoSubscriptionMids.length; ++i)\\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.removedVideoSubscriptionMids[i]);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkRemoteVideoUpdateFrame message, length delimited. Does not implicitly {@link SdkRemoteVideoUpdateFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkRemoteVideoUpdateFrame\\n * @static\\n * @param {ISdkRemoteVideoUpdateFrame} message SdkRemoteVideoUpdateFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkRemoteVideoUpdateFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkRemoteVideoUpdateFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkRemoteVideoUpdateFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkRemoteVideoUpdateFrame} SdkRemoteVideoUpdateFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkRemoteVideoUpdateFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkRemoteVideoUpdateFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n if (!(message.addedOrUpdatedVideoSubscriptions && message.addedOrUpdatedVideoSubscriptions.length))\\n message.addedOrUpdatedVideoSubscriptions = [];\\n message.addedOrUpdatedVideoSubscriptions.push($root.SdkVideoSubscriptionConfiguration.decode(reader, reader.uint32()));\\n break;\\n case 2:\\n if (!(message.removedVideoSubscriptionMids && message.removedVideoSubscriptionMids.length))\\n message.removedVideoSubscriptionMids = [];\\n message.removedVideoSubscriptionMids.push(reader.string());\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkRemoteVideoUpdateFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkRemoteVideoUpdateFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkRemoteVideoUpdateFrame} SdkRemoteVideoUpdateFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkRemoteVideoUpdateFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkRemoteVideoUpdateFrame message.\\n * @function verify\\n * @memberof SdkRemoteVideoUpdateFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkRemoteVideoUpdateFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.addedOrUpdatedVideoSubscriptions != null && message.hasOwnProperty(\\\"addedOrUpdatedVideoSubscriptions\\\")) {\\n if (!Array.isArray(message.addedOrUpdatedVideoSubscriptions))\\n return \\\"addedOrUpdatedVideoSubscriptions: array expected\\\";\\n for (var i = 0; i < message.addedOrUpdatedVideoSubscriptions.length; ++i) {\\n var error = $root.SdkVideoSubscriptionConfiguration.verify(message.addedOrUpdatedVideoSubscriptions[i]);\\n if (error)\\n return \\\"addedOrUpdatedVideoSubscriptions.\\\" + error;\\n }\\n }\\n if (message.removedVideoSubscriptionMids != null && message.hasOwnProperty(\\\"removedVideoSubscriptionMids\\\")) {\\n if (!Array.isArray(message.removedVideoSubscriptionMids))\\n return \\\"removedVideoSubscriptionMids: array expected\\\";\\n for (var i = 0; i < message.removedVideoSubscriptionMids.length; ++i)\\n if (!$util.isString(message.removedVideoSubscriptionMids[i]))\\n return \\\"removedVideoSubscriptionMids: string[] expected\\\";\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkRemoteVideoUpdateFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkRemoteVideoUpdateFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkRemoteVideoUpdateFrame} SdkRemoteVideoUpdateFrame\\n */\\n SdkRemoteVideoUpdateFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkRemoteVideoUpdateFrame)\\n return object;\\n var message = new $root.SdkRemoteVideoUpdateFrame();\\n if (object.addedOrUpdatedVideoSubscriptions) {\\n if (!Array.isArray(object.addedOrUpdatedVideoSubscriptions))\\n throw TypeError(\\\".SdkRemoteVideoUpdateFrame.addedOrUpdatedVideoSubscriptions: array expected\\\");\\n message.addedOrUpdatedVideoSubscriptions = [];\\n for (var i = 0; i < object.addedOrUpdatedVideoSubscriptions.length; ++i) {\\n if (typeof object.addedOrUpdatedVideoSubscriptions[i] !== \\\"object\\\")\\n throw TypeError(\\\".SdkRemoteVideoUpdateFrame.addedOrUpdatedVideoSubscriptions: object expected\\\");\\n message.addedOrUpdatedVideoSubscriptions[i] = $root.SdkVideoSubscriptionConfiguration.fromObject(object.addedOrUpdatedVideoSubscriptions[i]);\\n }\\n }\\n if (object.removedVideoSubscriptionMids) {\\n if (!Array.isArray(object.removedVideoSubscriptionMids))\\n throw TypeError(\\\".SdkRemoteVideoUpdateFrame.removedVideoSubscriptionMids: array expected\\\");\\n message.removedVideoSubscriptionMids = [];\\n for (var i = 0; i < object.removedVideoSubscriptionMids.length; ++i)\\n message.removedVideoSubscriptionMids[i] = String(object.removedVideoSubscriptionMids[i]);\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkRemoteVideoUpdateFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkRemoteVideoUpdateFrame\\n * @static\\n * @param {SdkRemoteVideoUpdateFrame} message SdkRemoteVideoUpdateFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkRemoteVideoUpdateFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.arrays || options.defaults) {\\n object.addedOrUpdatedVideoSubscriptions = [];\\n object.removedVideoSubscriptionMids = [];\\n }\\n if (message.addedOrUpdatedVideoSubscriptions && message.addedOrUpdatedVideoSubscriptions.length) {\\n object.addedOrUpdatedVideoSubscriptions = [];\\n for (var j = 0; j < message.addedOrUpdatedVideoSubscriptions.length; ++j)\\n object.addedOrUpdatedVideoSubscriptions[j] = $root.SdkVideoSubscriptionConfiguration.toObject(message.addedOrUpdatedVideoSubscriptions[j], options);\\n }\\n if (message.removedVideoSubscriptionMids && message.removedVideoSubscriptionMids.length) {\\n object.removedVideoSubscriptionMids = [];\\n for (var j = 0; j < message.removedVideoSubscriptionMids.length; ++j)\\n object.removedVideoSubscriptionMids[j] = message.removedVideoSubscriptionMids[j];\\n }\\n return object;\\n };\\n\\n /**\\n * Converts this SdkRemoteVideoUpdateFrame to JSON.\\n * @function toJSON\\n * @memberof SdkRemoteVideoUpdateFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkRemoteVideoUpdateFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkRemoteVideoUpdateFrame;\\n})();\\n\\n$root.SdkVideoSubscriptionConfiguration = (function() {\\n\\n /**\\n * Properties of a SdkVideoSubscriptionConfiguration.\\n * @exports ISdkVideoSubscriptionConfiguration\\n * @interface ISdkVideoSubscriptionConfiguration\\n * @property {string} mid SdkVideoSubscriptionConfiguration mid\\n * @property {string|null} [attendeeId] SdkVideoSubscriptionConfiguration attendeeId\\n * @property {number|null} [streamId] SdkVideoSubscriptionConfiguration streamId\\n * @property {number|null} [priority] SdkVideoSubscriptionConfiguration priority\\n * @property {number|null} [targetBitrateKbps] SdkVideoSubscriptionConfiguration targetBitrateKbps\\n * @property {number|null} [groupId] SdkVideoSubscriptionConfiguration groupId\\n */\\n\\n /**\\n * Constructs a new SdkVideoSubscriptionConfiguration.\\n * @exports SdkVideoSubscriptionConfiguration\\n * @classdesc Represents a SdkVideoSubscriptionConfiguration.\\n * @implements ISdkVideoSubscriptionConfiguration\\n * @constructor\\n * @param {ISdkVideoSubscriptionConfiguration=} [properties] Properties to set\\n */\\n function SdkVideoSubscriptionConfiguration(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkVideoSubscriptionConfiguration mid.\\n * @member {string} mid\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @instance\\n */\\n SdkVideoSubscriptionConfiguration.prototype.mid = \\\"\\\";\\n\\n /**\\n * SdkVideoSubscriptionConfiguration attendeeId.\\n * @member {string} attendeeId\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @instance\\n */\\n SdkVideoSubscriptionConfiguration.prototype.attendeeId = \\\"\\\";\\n\\n /**\\n * SdkVideoSubscriptionConfiguration streamId.\\n * @member {number} streamId\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @instance\\n */\\n SdkVideoSubscriptionConfiguration.prototype.streamId = 0;\\n\\n /**\\n * SdkVideoSubscriptionConfiguration priority.\\n * @member {number} priority\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @instance\\n */\\n SdkVideoSubscriptionConfiguration.prototype.priority = 0;\\n\\n /**\\n * SdkVideoSubscriptionConfiguration targetBitrateKbps.\\n * @member {number} targetBitrateKbps\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @instance\\n */\\n SdkVideoSubscriptionConfiguration.prototype.targetBitrateKbps = 0;\\n\\n /**\\n * SdkVideoSubscriptionConfiguration groupId.\\n * @member {number} groupId\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @instance\\n */\\n SdkVideoSubscriptionConfiguration.prototype.groupId = 0;\\n\\n /**\\n * Creates a new SdkVideoSubscriptionConfiguration instance using the specified properties.\\n * @function create\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @static\\n * @param {ISdkVideoSubscriptionConfiguration=} [properties] Properties to set\\n * @returns {SdkVideoSubscriptionConfiguration} SdkVideoSubscriptionConfiguration instance\\n */\\n SdkVideoSubscriptionConfiguration.create = function create(properties) {\\n return new SdkVideoSubscriptionConfiguration(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkVideoSubscriptionConfiguration message. Does not implicitly {@link SdkVideoSubscriptionConfiguration.verify|verify} messages.\\n * @function encode\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @static\\n * @param {ISdkVideoSubscriptionConfiguration} message SdkVideoSubscriptionConfiguration message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkVideoSubscriptionConfiguration.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid);\\n if (message.attendeeId != null && Object.hasOwnProperty.call(message, \\\"attendeeId\\\"))\\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.attendeeId);\\n if (message.streamId != null && Object.hasOwnProperty.call(message, \\\"streamId\\\"))\\n writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.streamId);\\n if (message.priority != null && Object.hasOwnProperty.call(message, \\\"priority\\\"))\\n writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.priority);\\n if (message.targetBitrateKbps != null && Object.hasOwnProperty.call(message, \\\"targetBitrateKbps\\\"))\\n writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.targetBitrateKbps);\\n if (message.groupId != null && Object.hasOwnProperty.call(message, \\\"groupId\\\"))\\n writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.groupId);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkVideoSubscriptionConfiguration message, length delimited. Does not implicitly {@link SdkVideoSubscriptionConfiguration.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @static\\n * @param {ISdkVideoSubscriptionConfiguration} message SdkVideoSubscriptionConfiguration message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkVideoSubscriptionConfiguration.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkVideoSubscriptionConfiguration message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkVideoSubscriptionConfiguration} SdkVideoSubscriptionConfiguration\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkVideoSubscriptionConfiguration.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkVideoSubscriptionConfiguration();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.mid = reader.string();\\n break;\\n case 2:\\n message.attendeeId = reader.string();\\n break;\\n case 3:\\n message.streamId = reader.uint32();\\n break;\\n case 4:\\n message.priority = reader.uint32();\\n break;\\n case 5:\\n message.targetBitrateKbps = reader.uint32();\\n break;\\n case 6:\\n message.groupId = reader.uint32();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n if (!message.hasOwnProperty(\\\"mid\\\"))\\n throw $util.ProtocolError(\\\"missing required 'mid'\\\", { instance: message });\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkVideoSubscriptionConfiguration message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkVideoSubscriptionConfiguration} SdkVideoSubscriptionConfiguration\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkVideoSubscriptionConfiguration.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkVideoSubscriptionConfiguration message.\\n * @function verify\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkVideoSubscriptionConfiguration.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (!$util.isString(message.mid))\\n return \\\"mid: string expected\\\";\\n if (message.attendeeId != null && message.hasOwnProperty(\\\"attendeeId\\\"))\\n if (!$util.isString(message.attendeeId))\\n return \\\"attendeeId: string expected\\\";\\n if (message.streamId != null && message.hasOwnProperty(\\\"streamId\\\"))\\n if (!$util.isInteger(message.streamId))\\n return \\\"streamId: integer expected\\\";\\n if (message.priority != null && message.hasOwnProperty(\\\"priority\\\"))\\n if (!$util.isInteger(message.priority))\\n return \\\"priority: integer expected\\\";\\n if (message.targetBitrateKbps != null && message.hasOwnProperty(\\\"targetBitrateKbps\\\"))\\n if (!$util.isInteger(message.targetBitrateKbps))\\n return \\\"targetBitrateKbps: integer expected\\\";\\n if (message.groupId != null && message.hasOwnProperty(\\\"groupId\\\"))\\n if (!$util.isInteger(message.groupId))\\n return \\\"groupId: integer expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkVideoSubscriptionConfiguration message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkVideoSubscriptionConfiguration} SdkVideoSubscriptionConfiguration\\n */\\n SdkVideoSubscriptionConfiguration.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkVideoSubscriptionConfiguration)\\n return object;\\n var message = new $root.SdkVideoSubscriptionConfiguration();\\n if (object.mid != null)\\n message.mid = String(object.mid);\\n if (object.attendeeId != null)\\n message.attendeeId = String(object.attendeeId);\\n if (object.streamId != null)\\n message.streamId = object.streamId >>> 0;\\n if (object.priority != null)\\n message.priority = object.priority >>> 0;\\n if (object.targetBitrateKbps != null)\\n message.targetBitrateKbps = object.targetBitrateKbps >>> 0;\\n if (object.groupId != null)\\n message.groupId = object.groupId >>> 0;\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkVideoSubscriptionConfiguration message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @static\\n * @param {SdkVideoSubscriptionConfiguration} message SdkVideoSubscriptionConfiguration\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkVideoSubscriptionConfiguration.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.mid = \\\"\\\";\\n object.attendeeId = \\\"\\\";\\n object.streamId = 0;\\n object.priority = 0;\\n object.targetBitrateKbps = 0;\\n object.groupId = 0;\\n }\\n if (message.mid != null && message.hasOwnProperty(\\\"mid\\\"))\\n object.mid = message.mid;\\n if (message.attendeeId != null && message.hasOwnProperty(\\\"attendeeId\\\"))\\n object.attendeeId = message.attendeeId;\\n if (message.streamId != null && message.hasOwnProperty(\\\"streamId\\\"))\\n object.streamId = message.streamId;\\n if (message.priority != null && message.hasOwnProperty(\\\"priority\\\"))\\n object.priority = message.priority;\\n if (message.targetBitrateKbps != null && message.hasOwnProperty(\\\"targetBitrateKbps\\\"))\\n object.targetBitrateKbps = message.targetBitrateKbps;\\n if (message.groupId != null && message.hasOwnProperty(\\\"groupId\\\"))\\n object.groupId = message.groupId;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkVideoSubscriptionConfiguration to JSON.\\n * @function toJSON\\n * @memberof SdkVideoSubscriptionConfiguration\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkVideoSubscriptionConfiguration.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkVideoSubscriptionConfiguration;\\n})();\\n\\n$root.SdkPrimaryMeetingJoinFrame = (function() {\\n\\n /**\\n * Properties of a SdkPrimaryMeetingJoinFrame.\\n * @exports ISdkPrimaryMeetingJoinFrame\\n * @interface ISdkPrimaryMeetingJoinFrame\\n * @property {ISdkMeetingSessionCredentials|null} [credentials] SdkPrimaryMeetingJoinFrame credentials\\n */\\n\\n /**\\n * Constructs a new SdkPrimaryMeetingJoinFrame.\\n * @exports SdkPrimaryMeetingJoinFrame\\n * @classdesc Represents a SdkPrimaryMeetingJoinFrame.\\n * @implements ISdkPrimaryMeetingJoinFrame\\n * @constructor\\n * @param {ISdkPrimaryMeetingJoinFrame=} [properties] Properties to set\\n */\\n function SdkPrimaryMeetingJoinFrame(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkPrimaryMeetingJoinFrame credentials.\\n * @member {ISdkMeetingSessionCredentials|null|undefined} credentials\\n * @memberof SdkPrimaryMeetingJoinFrame\\n * @instance\\n */\\n SdkPrimaryMeetingJoinFrame.prototype.credentials = null;\\n\\n /**\\n * Creates a new SdkPrimaryMeetingJoinFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkPrimaryMeetingJoinFrame\\n * @static\\n * @param {ISdkPrimaryMeetingJoinFrame=} [properties] Properties to set\\n * @returns {SdkPrimaryMeetingJoinFrame} SdkPrimaryMeetingJoinFrame instance\\n */\\n SdkPrimaryMeetingJoinFrame.create = function create(properties) {\\n return new SdkPrimaryMeetingJoinFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkPrimaryMeetingJoinFrame message. Does not implicitly {@link SdkPrimaryMeetingJoinFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkPrimaryMeetingJoinFrame\\n * @static\\n * @param {ISdkPrimaryMeetingJoinFrame} message SdkPrimaryMeetingJoinFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkPrimaryMeetingJoinFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.credentials != null && Object.hasOwnProperty.call(message, \\\"credentials\\\"))\\n $root.SdkMeetingSessionCredentials.encode(message.credentials, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkPrimaryMeetingJoinFrame message, length delimited. Does not implicitly {@link SdkPrimaryMeetingJoinFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkPrimaryMeetingJoinFrame\\n * @static\\n * @param {ISdkPrimaryMeetingJoinFrame} message SdkPrimaryMeetingJoinFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkPrimaryMeetingJoinFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkPrimaryMeetingJoinFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkPrimaryMeetingJoinFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkPrimaryMeetingJoinFrame} SdkPrimaryMeetingJoinFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkPrimaryMeetingJoinFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkPrimaryMeetingJoinFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.credentials = $root.SdkMeetingSessionCredentials.decode(reader, reader.uint32());\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkPrimaryMeetingJoinFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkPrimaryMeetingJoinFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkPrimaryMeetingJoinFrame} SdkPrimaryMeetingJoinFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkPrimaryMeetingJoinFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkPrimaryMeetingJoinFrame message.\\n * @function verify\\n * @memberof SdkPrimaryMeetingJoinFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkPrimaryMeetingJoinFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.credentials != null && message.hasOwnProperty(\\\"credentials\\\")) {\\n var error = $root.SdkMeetingSessionCredentials.verify(message.credentials);\\n if (error)\\n return \\\"credentials.\\\" + error;\\n }\\n return null;\\n };\\n\\n /**\\n * Creates a SdkPrimaryMeetingJoinFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkPrimaryMeetingJoinFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkPrimaryMeetingJoinFrame} SdkPrimaryMeetingJoinFrame\\n */\\n SdkPrimaryMeetingJoinFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkPrimaryMeetingJoinFrame)\\n return object;\\n var message = new $root.SdkPrimaryMeetingJoinFrame();\\n if (object.credentials != null) {\\n if (typeof object.credentials !== \\\"object\\\")\\n throw TypeError(\\\".SdkPrimaryMeetingJoinFrame.credentials: object expected\\\");\\n message.credentials = $root.SdkMeetingSessionCredentials.fromObject(object.credentials);\\n }\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkPrimaryMeetingJoinFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkPrimaryMeetingJoinFrame\\n * @static\\n * @param {SdkPrimaryMeetingJoinFrame} message SdkPrimaryMeetingJoinFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkPrimaryMeetingJoinFrame.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults)\\n object.credentials = null;\\n if (message.credentials != null && message.hasOwnProperty(\\\"credentials\\\"))\\n object.credentials = $root.SdkMeetingSessionCredentials.toObject(message.credentials, options);\\n return object;\\n };\\n\\n /**\\n * Converts this SdkPrimaryMeetingJoinFrame to JSON.\\n * @function toJSON\\n * @memberof SdkPrimaryMeetingJoinFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkPrimaryMeetingJoinFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkPrimaryMeetingJoinFrame;\\n})();\\n\\n$root.SdkPrimaryMeetingJoinAckFrame = (function() {\\n\\n /**\\n * Properties of a SdkPrimaryMeetingJoinAckFrame.\\n * @exports ISdkPrimaryMeetingJoinAckFrame\\n * @interface ISdkPrimaryMeetingJoinAckFrame\\n */\\n\\n /**\\n * Constructs a new SdkPrimaryMeetingJoinAckFrame.\\n * @exports SdkPrimaryMeetingJoinAckFrame\\n * @classdesc Represents a SdkPrimaryMeetingJoinAckFrame.\\n * @implements ISdkPrimaryMeetingJoinAckFrame\\n * @constructor\\n * @param {ISdkPrimaryMeetingJoinAckFrame=} [properties] Properties to set\\n */\\n function SdkPrimaryMeetingJoinAckFrame(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * Creates a new SdkPrimaryMeetingJoinAckFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkPrimaryMeetingJoinAckFrame\\n * @static\\n * @param {ISdkPrimaryMeetingJoinAckFrame=} [properties] Properties to set\\n * @returns {SdkPrimaryMeetingJoinAckFrame} SdkPrimaryMeetingJoinAckFrame instance\\n */\\n SdkPrimaryMeetingJoinAckFrame.create = function create(properties) {\\n return new SdkPrimaryMeetingJoinAckFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkPrimaryMeetingJoinAckFrame message. Does not implicitly {@link SdkPrimaryMeetingJoinAckFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkPrimaryMeetingJoinAckFrame\\n * @static\\n * @param {ISdkPrimaryMeetingJoinAckFrame} message SdkPrimaryMeetingJoinAckFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkPrimaryMeetingJoinAckFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkPrimaryMeetingJoinAckFrame message, length delimited. Does not implicitly {@link SdkPrimaryMeetingJoinAckFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkPrimaryMeetingJoinAckFrame\\n * @static\\n * @param {ISdkPrimaryMeetingJoinAckFrame} message SdkPrimaryMeetingJoinAckFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkPrimaryMeetingJoinAckFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkPrimaryMeetingJoinAckFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkPrimaryMeetingJoinAckFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkPrimaryMeetingJoinAckFrame} SdkPrimaryMeetingJoinAckFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkPrimaryMeetingJoinAckFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkPrimaryMeetingJoinAckFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkPrimaryMeetingJoinAckFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkPrimaryMeetingJoinAckFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkPrimaryMeetingJoinAckFrame} SdkPrimaryMeetingJoinAckFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkPrimaryMeetingJoinAckFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkPrimaryMeetingJoinAckFrame message.\\n * @function verify\\n * @memberof SdkPrimaryMeetingJoinAckFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkPrimaryMeetingJoinAckFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkPrimaryMeetingJoinAckFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkPrimaryMeetingJoinAckFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkPrimaryMeetingJoinAckFrame} SdkPrimaryMeetingJoinAckFrame\\n */\\n SdkPrimaryMeetingJoinAckFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkPrimaryMeetingJoinAckFrame)\\n return object;\\n return new $root.SdkPrimaryMeetingJoinAckFrame();\\n };\\n\\n /**\\n * Creates a plain object from a SdkPrimaryMeetingJoinAckFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkPrimaryMeetingJoinAckFrame\\n * @static\\n * @param {SdkPrimaryMeetingJoinAckFrame} message SdkPrimaryMeetingJoinAckFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkPrimaryMeetingJoinAckFrame.toObject = function toObject() {\\n return {};\\n };\\n\\n /**\\n * Converts this SdkPrimaryMeetingJoinAckFrame to JSON.\\n * @function toJSON\\n * @memberof SdkPrimaryMeetingJoinAckFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkPrimaryMeetingJoinAckFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkPrimaryMeetingJoinAckFrame;\\n})();\\n\\n$root.SdkPrimaryMeetingLeaveFrame = (function() {\\n\\n /**\\n * Properties of a SdkPrimaryMeetingLeaveFrame.\\n * @exports ISdkPrimaryMeetingLeaveFrame\\n * @interface ISdkPrimaryMeetingLeaveFrame\\n */\\n\\n /**\\n * Constructs a new SdkPrimaryMeetingLeaveFrame.\\n * @exports SdkPrimaryMeetingLeaveFrame\\n * @classdesc Represents a SdkPrimaryMeetingLeaveFrame.\\n * @implements ISdkPrimaryMeetingLeaveFrame\\n * @constructor\\n * @param {ISdkPrimaryMeetingLeaveFrame=} [properties] Properties to set\\n */\\n function SdkPrimaryMeetingLeaveFrame(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * Creates a new SdkPrimaryMeetingLeaveFrame instance using the specified properties.\\n * @function create\\n * @memberof SdkPrimaryMeetingLeaveFrame\\n * @static\\n * @param {ISdkPrimaryMeetingLeaveFrame=} [properties] Properties to set\\n * @returns {SdkPrimaryMeetingLeaveFrame} SdkPrimaryMeetingLeaveFrame instance\\n */\\n SdkPrimaryMeetingLeaveFrame.create = function create(properties) {\\n return new SdkPrimaryMeetingLeaveFrame(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkPrimaryMeetingLeaveFrame message. Does not implicitly {@link SdkPrimaryMeetingLeaveFrame.verify|verify} messages.\\n * @function encode\\n * @memberof SdkPrimaryMeetingLeaveFrame\\n * @static\\n * @param {ISdkPrimaryMeetingLeaveFrame} message SdkPrimaryMeetingLeaveFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkPrimaryMeetingLeaveFrame.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkPrimaryMeetingLeaveFrame message, length delimited. Does not implicitly {@link SdkPrimaryMeetingLeaveFrame.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkPrimaryMeetingLeaveFrame\\n * @static\\n * @param {ISdkPrimaryMeetingLeaveFrame} message SdkPrimaryMeetingLeaveFrame message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkPrimaryMeetingLeaveFrame.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkPrimaryMeetingLeaveFrame message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkPrimaryMeetingLeaveFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkPrimaryMeetingLeaveFrame} SdkPrimaryMeetingLeaveFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkPrimaryMeetingLeaveFrame.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkPrimaryMeetingLeaveFrame();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkPrimaryMeetingLeaveFrame message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkPrimaryMeetingLeaveFrame\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkPrimaryMeetingLeaveFrame} SdkPrimaryMeetingLeaveFrame\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkPrimaryMeetingLeaveFrame.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkPrimaryMeetingLeaveFrame message.\\n * @function verify\\n * @memberof SdkPrimaryMeetingLeaveFrame\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkPrimaryMeetingLeaveFrame.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkPrimaryMeetingLeaveFrame message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkPrimaryMeetingLeaveFrame\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkPrimaryMeetingLeaveFrame} SdkPrimaryMeetingLeaveFrame\\n */\\n SdkPrimaryMeetingLeaveFrame.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkPrimaryMeetingLeaveFrame)\\n return object;\\n return new $root.SdkPrimaryMeetingLeaveFrame();\\n };\\n\\n /**\\n * Creates a plain object from a SdkPrimaryMeetingLeaveFrame message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkPrimaryMeetingLeaveFrame\\n * @static\\n * @param {SdkPrimaryMeetingLeaveFrame} message SdkPrimaryMeetingLeaveFrame\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkPrimaryMeetingLeaveFrame.toObject = function toObject() {\\n return {};\\n };\\n\\n /**\\n * Converts this SdkPrimaryMeetingLeaveFrame to JSON.\\n * @function toJSON\\n * @memberof SdkPrimaryMeetingLeaveFrame\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkPrimaryMeetingLeaveFrame.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkPrimaryMeetingLeaveFrame;\\n})();\\n\\n$root.SdkMeetingSessionCredentials = (function() {\\n\\n /**\\n * Properties of a SdkMeetingSessionCredentials.\\n * @exports ISdkMeetingSessionCredentials\\n * @interface ISdkMeetingSessionCredentials\\n * @property {string|null} [attendeeId] SdkMeetingSessionCredentials attendeeId\\n * @property {string|null} [externalUserId] SdkMeetingSessionCredentials externalUserId\\n * @property {string|null} [joinToken] SdkMeetingSessionCredentials joinToken\\n */\\n\\n /**\\n * Constructs a new SdkMeetingSessionCredentials.\\n * @exports SdkMeetingSessionCredentials\\n * @classdesc Represents a SdkMeetingSessionCredentials.\\n * @implements ISdkMeetingSessionCredentials\\n * @constructor\\n * @param {ISdkMeetingSessionCredentials=} [properties] Properties to set\\n */\\n function SdkMeetingSessionCredentials(properties) {\\n if (properties)\\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\\n if (properties[keys[i]] != null)\\n this[keys[i]] = properties[keys[i]];\\n }\\n\\n /**\\n * SdkMeetingSessionCredentials attendeeId.\\n * @member {string} attendeeId\\n * @memberof SdkMeetingSessionCredentials\\n * @instance\\n */\\n SdkMeetingSessionCredentials.prototype.attendeeId = \\\"\\\";\\n\\n /**\\n * SdkMeetingSessionCredentials externalUserId.\\n * @member {string} externalUserId\\n * @memberof SdkMeetingSessionCredentials\\n * @instance\\n */\\n SdkMeetingSessionCredentials.prototype.externalUserId = \\\"\\\";\\n\\n /**\\n * SdkMeetingSessionCredentials joinToken.\\n * @member {string} joinToken\\n * @memberof SdkMeetingSessionCredentials\\n * @instance\\n */\\n SdkMeetingSessionCredentials.prototype.joinToken = \\\"\\\";\\n\\n /**\\n * Creates a new SdkMeetingSessionCredentials instance using the specified properties.\\n * @function create\\n * @memberof SdkMeetingSessionCredentials\\n * @static\\n * @param {ISdkMeetingSessionCredentials=} [properties] Properties to set\\n * @returns {SdkMeetingSessionCredentials} SdkMeetingSessionCredentials instance\\n */\\n SdkMeetingSessionCredentials.create = function create(properties) {\\n return new SdkMeetingSessionCredentials(properties);\\n };\\n\\n /**\\n * Encodes the specified SdkMeetingSessionCredentials message. Does not implicitly {@link SdkMeetingSessionCredentials.verify|verify} messages.\\n * @function encode\\n * @memberof SdkMeetingSessionCredentials\\n * @static\\n * @param {ISdkMeetingSessionCredentials} message SdkMeetingSessionCredentials message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkMeetingSessionCredentials.encode = function encode(message, writer) {\\n if (!writer)\\n writer = $Writer.create();\\n if (message.attendeeId != null && Object.hasOwnProperty.call(message, \\\"attendeeId\\\"))\\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.attendeeId);\\n if (message.externalUserId != null && Object.hasOwnProperty.call(message, \\\"externalUserId\\\"))\\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.externalUserId);\\n if (message.joinToken != null && Object.hasOwnProperty.call(message, \\\"joinToken\\\"))\\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.joinToken);\\n return writer;\\n };\\n\\n /**\\n * Encodes the specified SdkMeetingSessionCredentials message, length delimited. Does not implicitly {@link SdkMeetingSessionCredentials.verify|verify} messages.\\n * @function encodeDelimited\\n * @memberof SdkMeetingSessionCredentials\\n * @static\\n * @param {ISdkMeetingSessionCredentials} message SdkMeetingSessionCredentials message or plain object to encode\\n * @param {$protobuf.Writer} [writer] Writer to encode to\\n * @returns {$protobuf.Writer} Writer\\n */\\n SdkMeetingSessionCredentials.encodeDelimited = function encodeDelimited(message, writer) {\\n return this.encode(message, writer).ldelim();\\n };\\n\\n /**\\n * Decodes a SdkMeetingSessionCredentials message from the specified reader or buffer.\\n * @function decode\\n * @memberof SdkMeetingSessionCredentials\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @param {number} [length] Message length if known beforehand\\n * @returns {SdkMeetingSessionCredentials} SdkMeetingSessionCredentials\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkMeetingSessionCredentials.decode = function decode(reader, length) {\\n if (!(reader instanceof $Reader))\\n reader = $Reader.create(reader);\\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SdkMeetingSessionCredentials();\\n while (reader.pos < end) {\\n var tag = reader.uint32();\\n switch (tag >>> 3) {\\n case 1:\\n message.attendeeId = reader.string();\\n break;\\n case 2:\\n message.externalUserId = reader.string();\\n break;\\n case 3:\\n message.joinToken = reader.string();\\n break;\\n default:\\n reader.skipType(tag & 7);\\n break;\\n }\\n }\\n return message;\\n };\\n\\n /**\\n * Decodes a SdkMeetingSessionCredentials message from the specified reader or buffer, length delimited.\\n * @function decodeDelimited\\n * @memberof SdkMeetingSessionCredentials\\n * @static\\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\\n * @returns {SdkMeetingSessionCredentials} SdkMeetingSessionCredentials\\n * @throws {Error} If the payload is not a reader or valid buffer\\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\\n */\\n SdkMeetingSessionCredentials.decodeDelimited = function decodeDelimited(reader) {\\n if (!(reader instanceof $Reader))\\n reader = new $Reader(reader);\\n return this.decode(reader, reader.uint32());\\n };\\n\\n /**\\n * Verifies a SdkMeetingSessionCredentials message.\\n * @function verify\\n * @memberof SdkMeetingSessionCredentials\\n * @static\\n * @param {Object.<string,*>} message Plain object to verify\\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\\n */\\n SdkMeetingSessionCredentials.verify = function verify(message) {\\n if (typeof message !== \\\"object\\\" || message === null)\\n return \\\"object expected\\\";\\n if (message.attendeeId != null && message.hasOwnProperty(\\\"attendeeId\\\"))\\n if (!$util.isString(message.attendeeId))\\n return \\\"attendeeId: string expected\\\";\\n if (message.externalUserId != null && message.hasOwnProperty(\\\"externalUserId\\\"))\\n if (!$util.isString(message.externalUserId))\\n return \\\"externalUserId: string expected\\\";\\n if (message.joinToken != null && message.hasOwnProperty(\\\"joinToken\\\"))\\n if (!$util.isString(message.joinToken))\\n return \\\"joinToken: string expected\\\";\\n return null;\\n };\\n\\n /**\\n * Creates a SdkMeetingSessionCredentials message from a plain object. Also converts values to their respective internal types.\\n * @function fromObject\\n * @memberof SdkMeetingSessionCredentials\\n * @static\\n * @param {Object.<string,*>} object Plain object\\n * @returns {SdkMeetingSessionCredentials} SdkMeetingSessionCredentials\\n */\\n SdkMeetingSessionCredentials.fromObject = function fromObject(object) {\\n if (object instanceof $root.SdkMeetingSessionCredentials)\\n return object;\\n var message = new $root.SdkMeetingSessionCredentials();\\n if (object.attendeeId != null)\\n message.attendeeId = String(object.attendeeId);\\n if (object.externalUserId != null)\\n message.externalUserId = String(object.externalUserId);\\n if (object.joinToken != null)\\n message.joinToken = String(object.joinToken);\\n return message;\\n };\\n\\n /**\\n * Creates a plain object from a SdkMeetingSessionCredentials message. Also converts values to other types if specified.\\n * @function toObject\\n * @memberof SdkMeetingSessionCredentials\\n * @static\\n * @param {SdkMeetingSessionCredentials} message SdkMeetingSessionCredentials\\n * @param {$protobuf.IConversionOptions} [options] Conversion options\\n * @returns {Object.<string,*>} Plain object\\n */\\n SdkMeetingSessionCredentials.toObject = function toObject(message, options) {\\n if (!options)\\n options = {};\\n var object = {};\\n if (options.defaults) {\\n object.attendeeId = \\\"\\\";\\n object.externalUserId = \\\"\\\";\\n object.joinToken = \\\"\\\";\\n }\\n if (message.attendeeId != null && message.hasOwnProperty(\\\"attendeeId\\\"))\\n object.attendeeId = message.attendeeId;\\n if (message.externalUserId != null && message.hasOwnProperty(\\\"externalUserId\\\"))\\n object.externalUserId = message.externalUserId;\\n if (message.joinToken != null && message.hasOwnProperty(\\\"joinToken\\\"))\\n object.joinToken = message.joinToken;\\n return object;\\n };\\n\\n /**\\n * Converts this SdkMeetingSessionCredentials to JSON.\\n * @function toJSON\\n * @memberof SdkMeetingSessionCredentials\\n * @instance\\n * @returns {Object.<string,*>} JSON object\\n */\\n SdkMeetingSessionCredentials.prototype.toJSON = function toJSON() {\\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\\n };\\n\\n return SdkMeetingSessionCredentials;\\n})();\\n\\n/**\\n * SdkVideoCodecCapability enum.\\n * @exports SdkVideoCodecCapability\\n * @enum {number}\\n * @property {number} VP8=1 VP8 value\\n * @property {number} H264_CONSTRAINED_BASELINE_PROFILE=3 H264_CONSTRAINED_BASELINE_PROFILE value\\n */\\n$root.SdkVideoCodecCapability = (function() {\\n var valuesById = {}, values = Object.create(valuesById);\\n values[valuesById[1] = \\\"VP8\\\"] = 1;\\n values[valuesById[3] = \\\"H264_CONSTRAINED_BASELINE_PROFILE\\\"] = 3;\\n return values;\\n})();\\n\\nmodule.exports = $root;\\n$util.Long = undefined;\\n$protobuf.configure();\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/sigv4/DefaultSigV4.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/sigv4/DefaultSigV4.js ***!\n \\**********************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst sha256_js_1 = __webpack_require__(/*! @aws-crypto/sha256-js */ \\\"./node_modules/@aws-crypto/sha256-js/build/index.js\\\");\\nconst util_hex_encoding_1 = __webpack_require__(/*! @aws-sdk/util-hex-encoding */ \\\"./node_modules/@aws-sdk/util-hex-encoding/dist-es/index.js\\\");\\nconst Versioning_1 = __webpack_require__(/*! ../versioning/Versioning */ \\\"./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js\\\");\\nclass DefaultSigV4 {\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\\n constructor(chimeClient) {\\n this.chimeClient = chimeClient;\\n }\\n makeTwoDigits(n) {\\n /* istanbul ignore if */\\n /* istanbul ignore else */\\n if (n > 9) {\\n return n.toString();\\n }\\n else {\\n return '0' + n.toString();\\n }\\n }\\n hmac(data, secret) {\\n const hash = new sha256_js_1.Sha256(secret);\\n hash.update(data);\\n return hash.digest();\\n }\\n getDateTimeString() {\\n const d = new Date();\\n return (d.getUTCFullYear() +\\n this.makeTwoDigits(d.getUTCMonth() + 1) +\\n this.makeTwoDigits(d.getUTCDate()) +\\n 'T' +\\n this.makeTwoDigits(d.getUTCHours()) +\\n this.makeTwoDigits(d.getUTCMinutes()) +\\n this.makeTwoDigits(d.getUTCSeconds()) +\\n 'Z');\\n }\\n getDateString(dateTimeString) {\\n return dateTimeString.substring(0, dateTimeString.indexOf('T'));\\n }\\n getSignatureKey(key, date, regionName, serviceName) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const kDate = yield this.hmac(date, 'AWS4' + key);\\n const kRegion = yield this.hmac(regionName, kDate);\\n const kService = yield this.hmac(serviceName, kRegion);\\n const kSigning = yield this.hmac('aws4_request', kService);\\n return kSigning;\\n });\\n }\\n signURL(method, scheme, serviceName, hostname, path, payload, queryParams) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const now = this.getDateTimeString();\\n const today = this.getDateString(now);\\n const algorithm = 'AWS4-HMAC-SHA256';\\n let region = '';\\n // in AWS SDK v3 region is a function\\n if (this.chimeClient.config.region instanceof Function) {\\n region = yield this.chimeClient.config.region();\\n }\\n else {\\n region = this.chimeClient.config.region;\\n }\\n const signedHeaders = 'host';\\n const canonicalHeaders = 'host:' + hostname.toLowerCase() + '\\\\n';\\n const credentialScope = today + '/' + region + '/' + serviceName + '/' + 'aws4_request';\\n let credentials = undefined;\\n // in AWS SDK v3 credentials is a function\\n if (this.chimeClient.config.credentials instanceof Function) {\\n credentials = yield this.chimeClient.config.credentials();\\n }\\n else {\\n credentials = this.chimeClient.config.credentials;\\n }\\n let params = new Map();\\n params.set('X-Amz-Algorithm', [algorithm]);\\n params.set('X-Amz-Credential', [\\n encodeURIComponent(credentials.accessKeyId + '/' + credentialScope),\\n ]);\\n params.set('X-Amz-Date', [now]);\\n params.set('X-Amz-Expires', ['10']);\\n params.set('X-Amz-SignedHeaders', ['host']);\\n if (credentials.sessionToken) {\\n params.set('X-Amz-Security-Token', [encodeURIComponent(credentials.sessionToken)]);\\n }\\n params.set(Versioning_1.default.X_AMZN_VERSION, [encodeURIComponent(Versioning_1.default.sdkVersion)]);\\n params.set(Versioning_1.default.X_AMZN_USER_AGENT, [\\n encodeURIComponent(Versioning_1.default.sdkUserAgentLowResolution),\\n ]);\\n queryParams === null || queryParams === void 0 ? void 0 : queryParams.forEach((values, key) => {\\n const encodedKey = encodeURIComponent(key);\\n values.sort().forEach((value) => {\\n if (!params.has(encodedKey)) {\\n params.set(encodedKey, []);\\n }\\n params.get(encodedKey).push(encodeURIComponent(value));\\n });\\n });\\n let canonicalQuerystring = '';\\n params = new Map([...params.entries()].sort());\\n params.forEach((values, key) => {\\n values.forEach(value => {\\n if (canonicalQuerystring.length) {\\n canonicalQuerystring += '&';\\n }\\n canonicalQuerystring += key + '=' + value;\\n });\\n });\\n const canonicalRequest = method +\\n '\\\\n' +\\n path +\\n '\\\\n' +\\n canonicalQuerystring +\\n '\\\\n' +\\n canonicalHeaders +\\n '\\\\n' +\\n signedHeaders +\\n '\\\\n' +\\n util_hex_encoding_1.toHex(yield this.hmac(payload));\\n const hashedCanonicalRequest = util_hex_encoding_1.toHex(yield this.hmac(canonicalRequest));\\n const stringToSign = 'AWS4-HMAC-SHA256\\\\n' +\\n now +\\n '\\\\n' +\\n today +\\n '/' +\\n region +\\n '/' +\\n serviceName +\\n '/aws4_request\\\\n' +\\n hashedCanonicalRequest;\\n const signingKey = yield this.getSignatureKey(credentials.secretAccessKey, today, region, serviceName);\\n const signature = util_hex_encoding_1.toHex(yield this.hmac(stringToSign, signingKey));\\n const finalParams = canonicalQuerystring + '&X-Amz-Signature=' + signature;\\n return scheme + '://' + hostname + path + '?' + finalParams;\\n });\\n }\\n}\\nexports[\\\"default\\\"] = DefaultSigV4;\\n//# sourceMappingURL=DefaultSigV4.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/sigv4/DefaultSigV4.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/simulcastlayers/SimulcastLayers.js\":\n/*!***********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/simulcastlayers/SimulcastLayers.js ***!\n \\***********************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.SimulcastLayers = void 0;\\n/**\\n * [[SimulcastLayers]] represents simulcast layers for selected simulcast video streams.\\n */\\nvar SimulcastLayers;\\n(function (SimulcastLayers) {\\n /**\\n * Low resolution video stream.\\n */\\n SimulcastLayers[SimulcastLayers[\\\"Low\\\"] = 0] = \\\"Low\\\";\\n /**\\n * Low and medium resolution video streams.\\n */\\n SimulcastLayers[SimulcastLayers[\\\"LowAndMedium\\\"] = 1] = \\\"LowAndMedium\\\";\\n /**\\n * Low and high resolution video streams.\\n */\\n SimulcastLayers[SimulcastLayers[\\\"LowAndHigh\\\"] = 2] = \\\"LowAndHigh\\\";\\n /**\\n * Medium resolution video stream.\\n */\\n SimulcastLayers[SimulcastLayers[\\\"Medium\\\"] = 3] = \\\"Medium\\\";\\n /**\\n * Medium and high resolution video streams.\\n */\\n SimulcastLayers[SimulcastLayers[\\\"MediumAndHigh\\\"] = 4] = \\\"MediumAndHigh\\\";\\n /**\\n * High resolution video stream.\\n */\\n SimulcastLayers[SimulcastLayers[\\\"High\\\"] = 5] = \\\"High\\\";\\n})(SimulcastLayers = exports.SimulcastLayers || (exports.SimulcastLayers = {}));\\nexports[\\\"default\\\"] = SimulcastLayers;\\n//# sourceMappingURL=SimulcastLayers.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/simulcastlayers/SimulcastLayers.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/statscollector/AudioLogEvent.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/statscollector/AudioLogEvent.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.AudioLogEvent = void 0;\\nvar AudioLogEvent;\\n(function (AudioLogEvent) {\\n AudioLogEvent[AudioLogEvent[\\\"DeviceChanged\\\"] = 0] = \\\"DeviceChanged\\\";\\n AudioLogEvent[AudioLogEvent[\\\"MutedLocal\\\"] = 1] = \\\"MutedLocal\\\";\\n AudioLogEvent[AudioLogEvent[\\\"UnmutedLocal\\\"] = 2] = \\\"UnmutedLocal\\\";\\n AudioLogEvent[AudioLogEvent[\\\"Connected\\\"] = 3] = \\\"Connected\\\";\\n AudioLogEvent[AudioLogEvent[\\\"ConnectFailed\\\"] = 4] = \\\"ConnectFailed\\\";\\n AudioLogEvent[AudioLogEvent[\\\"RedmicStartLoss\\\"] = 5] = \\\"RedmicStartLoss\\\";\\n AudioLogEvent[AudioLogEvent[\\\"RedmicEndLoss\\\"] = 6] = \\\"RedmicEndLoss\\\";\\n})(AudioLogEvent = exports.AudioLogEvent || (exports.AudioLogEvent = {}));\\nexports[\\\"default\\\"] = AudioLogEvent;\\n//# sourceMappingURL=AudioLogEvent.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/statscollector/AudioLogEvent.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/statscollector/StatsCollector.js\":\n/*!*********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/statscollector/StatsCollector.js ***!\n \\*********************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst ClientMetricReport_1 = __webpack_require__(/*! ../clientmetricreport/ClientMetricReport */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReport.js\\\");\\nconst ClientMetricReportDirection_1 = __webpack_require__(/*! ../clientmetricreport/ClientMetricReportDirection */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportDirection.js\\\");\\nconst ClientMetricReportMediaType_1 = __webpack_require__(/*! ../clientmetricreport/ClientMetricReportMediaType */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportMediaType.js\\\");\\nconst StreamMetricReport_1 = __webpack_require__(/*! ../clientmetricreport/StreamMetricReport */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/StreamMetricReport.js\\\");\\nconst MeetingSessionLifecycleEvent_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionLifecycleEvent */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionLifecycleEvent.js\\\");\\nconst MeetingSessionLifecycleEventCondition_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionLifecycleEventCondition */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionLifecycleEventCondition.js\\\");\\nconst IntervalScheduler_1 = __webpack_require__(/*! ../scheduler/IntervalScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/IntervalScheduler.js\\\");\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst Types_1 = __webpack_require__(/*! ../utils/Types */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Types.js\\\");\\nconst AudioLogEvent_1 = __webpack_require__(/*! ./AudioLogEvent */ \\\"./node_modules/amazon-chime-sdk-js/build/statscollector/AudioLogEvent.js\\\");\\nconst VideoLogEvent_1 = __webpack_require__(/*! ./VideoLogEvent */ \\\"./node_modules/amazon-chime-sdk-js/build/statscollector/VideoLogEvent.js\\\");\\n/**\\n * [[StatsCollector]] gathers statistics and sends metrics.\\n */\\nclass StatsCollector {\\n constructor(audioVideoController, logger, interval = StatsCollector.INTERVAL_MS) {\\n this.audioVideoController = audioVideoController;\\n this.logger = logger;\\n this.interval = interval;\\n this.intervalScheduler = null;\\n // TODO: Implement metricsAddTime() and metricsLogEvent().\\n this.metricsAddTime = (_name, _duration, _attributes) => { };\\n this.metricsLogEvent = (_name, _attributes) => { };\\n }\\n // TODO: Update toAttribute() and toSuffix() methods to convert raw data to a required type.\\n /**\\n * Converts string to attribute format.\\n */\\n toAttribute(str) {\\n return this.toSuffix(str).substring(1);\\n }\\n /**\\n * Converts string to suffix format.\\n */\\n toSuffix(str) {\\n if (str.toLowerCase() === str) {\\n // e.g. lower_case -> _lower_case\\n return `_${str}`;\\n }\\n else if (str.toUpperCase() === str) {\\n // e.g. UPPER_CASE -> _upper_case\\n return `_${str.toLowerCase()}`;\\n }\\n else {\\n // e.g. CamelCaseWithCAPS -> _camel_case_with_caps\\n return str\\n .replace(/([A-Z][a-z]+)/g, function ($1) {\\n return `_${$1}`;\\n })\\n .replace(/([A-Z][A-Z]+)/g, function ($1) {\\n return `_${$1}`;\\n })\\n .toLowerCase();\\n }\\n }\\n /**\\n * Logs the latency.\\n */\\n logLatency(eventName, timeMs, attributes) {\\n const event = this.toSuffix(eventName);\\n this.logEventTime('meeting' + event, timeMs, attributes);\\n }\\n /**\\n * Logs the state timeout.\\n */\\n logStateTimeout(stateName, attributes) {\\n const state = this.toSuffix(stateName);\\n this.logEvent('meeting_session_state_timeout', Object.assign(Object.assign({}, attributes), { state: `state${state}` }));\\n }\\n /**\\n * Logs the audio event.\\n */\\n logAudioEvent(eventName, attributes) {\\n const event = 'audio' + this.toSuffix(AudioLogEvent_1.default[eventName]);\\n this.logEvent(event, attributes);\\n }\\n /**\\n * Logs the video event.\\n */\\n logVideoEvent(eventName, attributes) {\\n const event = 'video' + this.toSuffix(VideoLogEvent_1.default[eventName]);\\n this.logEvent(event, attributes);\\n }\\n logEventTime(eventName, timeMs, attributes = {}) {\\n const finalAttributes = Object.assign(Object.assign({}, attributes), { call_id: this.audioVideoController.configuration.meetingId, client_type: StatsCollector.CLIENT_TYPE, metric_type: 'latency' });\\n this.logger.debug(() => {\\n return `[StatsCollector] ${eventName}: ${JSON.stringify(finalAttributes)}`;\\n });\\n this.metricsAddTime(eventName, timeMs, finalAttributes);\\n }\\n /**\\n * Logs the session status.\\n */\\n logMeetingSessionStatus(status) {\\n // TODO: Generate the status event name given the status code.\\n const statusEventName = `${status.statusCode()}`;\\n this.logEvent(statusEventName);\\n const statusAttribute = {\\n status: statusEventName,\\n status_code: `${status.statusCode()}`,\\n };\\n this.logEvent('meeting_session_status', statusAttribute);\\n if (status.isTerminal()) {\\n this.logEvent('meeting_session_stopped', statusAttribute);\\n }\\n if (status.isAudioConnectionFailure()) {\\n this.logEvent('meeting_session_audio_failed', statusAttribute);\\n }\\n if (status.isFailure()) {\\n this.logEvent('meeting_session_failed', statusAttribute);\\n }\\n }\\n /**\\n * Logs the lifecycle event.\\n */\\n logLifecycleEvent(lifecycleEvent, condition) {\\n const attributes = {\\n lifecycle_event: `lifecycle${this.toSuffix(MeetingSessionLifecycleEvent_1.default[lifecycleEvent])}`,\\n lifecycle_event_code: `${lifecycleEvent}`,\\n lifecycle_event_condition: `condition${this.toSuffix(MeetingSessionLifecycleEventCondition_1.default[condition])}`,\\n lifecycle_event_condition_code: `${condition}`,\\n };\\n this.logEvent('meeting_session_lifecycle', attributes);\\n }\\n /**\\n * Logs the events.\\n */\\n logEvent(eventName, attributes = {}) {\\n const finalAttributes = Object.assign(Object.assign({}, attributes), { call_id: this.audioVideoController.configuration.meetingId, client_type: StatsCollector.CLIENT_TYPE });\\n this.logger.debug(() => {\\n return `[StatsCollector] ${eventName}: ${JSON.stringify(finalAttributes)}`;\\n });\\n this.metricsLogEvent(eventName, finalAttributes);\\n }\\n /**\\n * Starts collecting statistics.\\n */\\n start(signalingClient, videoStreamIndex) {\\n if (this.intervalScheduler) {\\n return false;\\n }\\n this.logger.info('Starting StatsCollector');\\n this.signalingClient = signalingClient;\\n this.videoStreamIndex = videoStreamIndex;\\n this.clientMetricReport = new ClientMetricReport_1.default(this.logger, this.videoStreamIndex, this.audioVideoController.configuration.credentials.attendeeId);\\n this.intervalScheduler = new IntervalScheduler_1.default(this.interval);\\n this.intervalScheduler.start(() => __awaiter(this, void 0, void 0, function* () {\\n yield this.getStatsWrapper();\\n }));\\n return true;\\n }\\n /*\\n * Stops the stats collector.\\n */\\n stop() {\\n this.logger.info('Stopping StatsCollector');\\n if (this.intervalScheduler) {\\n this.intervalScheduler.stop();\\n }\\n this.intervalScheduler = null;\\n }\\n /**\\n * Convert raw metrics to client metric report.\\n */\\n updateMetricValues(rawMetricReport, isStream) {\\n const metricReport = isStream\\n ? this.clientMetricReport.streamMetricReports[Number(rawMetricReport.ssrc)]\\n : this.clientMetricReport.globalMetricReport;\\n let metricMap;\\n if (isStream) {\\n metricMap = this.clientMetricReport.getMetricMap(metricReport.mediaType, metricReport.direction);\\n }\\n else {\\n metricMap = this.clientMetricReport.getMetricMap();\\n }\\n for (const rawMetric in rawMetricReport) {\\n if (rawMetric in metricMap) {\\n if (typeof rawMetricReport[rawMetric] === 'number') {\\n metricReport.previousMetrics[rawMetric] = metricReport.currentMetrics[rawMetric];\\n metricReport.currentMetrics[rawMetric] = rawMetricReport[rawMetric];\\n }\\n else if (typeof rawMetricReport[rawMetric] === 'string') {\\n metricReport.currentStringMetrics[rawMetric] = rawMetricReport[rawMetric];\\n }\\n else {\\n this.logger.error(`Unknown metric value type ${typeof rawMetricReport[rawMetric]} for metric ${rawMetric}`);\\n }\\n }\\n }\\n }\\n /**\\n * Converts RawMetricReport to StreamMetricReport and GlobalMetricReport and stores them as clientMetricReport.\\n */\\n processRawMetricReports(rawMetricReports) {\\n this.clientMetricReport.currentSsrcs = {};\\n const timeStamp = Date.now();\\n for (const rawMetricReport of rawMetricReports) {\\n const isStream = this.isStreamRawMetricReport(rawMetricReport.type);\\n if (isStream) {\\n const existingStreamMetricReport = this.clientMetricReport.streamMetricReports[Number(rawMetricReport.ssrc)];\\n if (!existingStreamMetricReport) {\\n const streamMetricReport = new StreamMetricReport_1.default();\\n streamMetricReport.mediaType = this.getMediaType(rawMetricReport);\\n streamMetricReport.direction = this.getDirectionType(rawMetricReport);\\n if (!this.videoStreamIndex.allStreams().empty()) {\\n streamMetricReport.streamId = this.videoStreamIndex.streamIdForSSRC(Number(rawMetricReport.ssrc));\\n /* istanbul ignore else */\\n if (this.videoStreamIndex.groupIdForSSRC !== undefined) {\\n streamMetricReport.groupId = this.videoStreamIndex.groupIdForSSRC(Number(rawMetricReport.ssrc));\\n }\\n }\\n this.clientMetricReport.streamMetricReports[Number(rawMetricReport.ssrc)] = streamMetricReport;\\n }\\n else {\\n // Update stream ID in case we have overridden it locally in the case of remote video\\n // updates completed without a negotiation\\n existingStreamMetricReport.streamId = this.videoStreamIndex.streamIdForSSRC(Number(rawMetricReport.ssrc));\\n }\\n this.clientMetricReport.currentSsrcs[Number(rawMetricReport.ssrc)] = 1;\\n }\\n this.updateMetricValues(rawMetricReport, isStream);\\n }\\n this.clientMetricReport.removeDestroyedSsrcs();\\n this.clientMetricReport.previousTimestampMs = this.clientMetricReport.currentTimestampMs;\\n this.clientMetricReport.currentTimestampMs = timeStamp;\\n this.clientMetricReport.print();\\n }\\n /**\\n * Add stream metric dimension frames derived from metrics\\n */\\n addStreamMetricDimensionFrames(streamMetricFrame, streamMetricReport) {\\n const streamDimensionMap = this.clientMetricReport.getStreamDimensionMap();\\n for (const metricName in streamMetricReport.currentStringMetrics) {\\n if (metricName in streamDimensionMap) {\\n const dimensionFrame = SignalingProtocol_js_1.SdkStreamDimension.create();\\n dimensionFrame.type = streamDimensionMap[metricName];\\n const dimensionValue = SignalingProtocol_js_1.SdkDimensionValue.create();\\n dimensionValue.stringValue = streamMetricReport.currentStringMetrics[metricName];\\n dimensionFrame.value = dimensionValue;\\n streamMetricFrame.dimensions.push(dimensionFrame);\\n }\\n }\\n }\\n /**\\n * Packages a metric into the MetricFrame.\\n */\\n addMetricFrame(metricName, clientMetricFrame, metricSpec, ssrc) {\\n const type = metricSpec.type;\\n const transform = metricSpec.transform;\\n const sourceMetric = metricSpec.source;\\n const streamMetricFramesLength = clientMetricFrame.streamMetricFrames.length;\\n const latestStreamMetricFrame = clientMetricFrame.streamMetricFrames[streamMetricFramesLength - 1];\\n if (type) {\\n const metricFrame = SignalingProtocol_js_1.SdkMetric.create();\\n metricFrame.type = type;\\n metricFrame.value = sourceMetric\\n ? transform(sourceMetric, ssrc)\\n : transform(metricName, ssrc);\\n ssrc\\n ? latestStreamMetricFrame.metrics.push(metricFrame)\\n : clientMetricFrame.globalMetrics.push(metricFrame);\\n }\\n }\\n /**\\n * Packages metrics in GlobalMetricReport into the MetricFrame.\\n */\\n addGlobalMetricsToProtobuf(clientMetricFrame) {\\n const metricMap = this.clientMetricReport.getMetricMap();\\n for (const metricName in this.clientMetricReport.globalMetricReport.currentMetrics) {\\n this.addMetricFrame(metricName, clientMetricFrame, metricMap[metricName]);\\n }\\n }\\n /**\\n * Packages metrics in StreamMetricReport into the MetricFrame.\\n */\\n addStreamMetricsToProtobuf(clientMetricFrame) {\\n for (const ssrc in this.clientMetricReport.streamMetricReports) {\\n const streamMetricReport = this.clientMetricReport.streamMetricReports[ssrc];\\n const streamMetricFrame = SignalingProtocol_js_1.SdkStreamMetricFrame.create();\\n streamMetricFrame.streamId = streamMetricReport.streamId;\\n streamMetricFrame.metrics = [];\\n this.addStreamMetricDimensionFrames(streamMetricFrame, streamMetricReport);\\n clientMetricFrame.streamMetricFrames.push(streamMetricFrame);\\n const metricMap = this.clientMetricReport.getMetricMap(streamMetricReport.mediaType, streamMetricReport.direction);\\n for (const metricName in streamMetricReport.currentMetrics) {\\n this.addMetricFrame(metricName, clientMetricFrame, metricMap[metricName], Number(ssrc));\\n }\\n for (const metricName in streamMetricReport.currentStringMetrics) {\\n this.addMetricFrame(metricName, clientMetricFrame, metricMap[metricName], Number(ssrc));\\n }\\n }\\n }\\n /**\\n * Packages all metrics into the MetricFrame.\\n */\\n makeClientMetricProtobuf() {\\n const clientMetricFrame = SignalingProtocol_js_1.SdkClientMetricFrame.create();\\n clientMetricFrame.globalMetrics = [];\\n clientMetricFrame.streamMetricFrames = [];\\n this.addGlobalMetricsToProtobuf(clientMetricFrame);\\n this.addStreamMetricsToProtobuf(clientMetricFrame);\\n return clientMetricFrame;\\n }\\n /**\\n * Sends the MetricFrame to Tincan via ProtoBuf.\\n */\\n sendClientMetricProtobuf(clientMetricFrame) {\\n this.signalingClient.sendClientMetrics(clientMetricFrame);\\n }\\n /**\\n * Checks if the type of RawMetricReport is stream related.\\n */\\n isStreamRawMetricReport(type) {\\n return ['inbound-rtp', 'outbound-rtp', 'remote-inbound-rtp', 'remote-outbound-rtp'].includes(type);\\n }\\n /**\\n * Returns the MediaType for a RawMetricReport.\\n */\\n getMediaType(rawMetricReport) {\\n return rawMetricReport.kind === 'audio' ? ClientMetricReportMediaType_1.default.AUDIO : ClientMetricReportMediaType_1.default.VIDEO;\\n }\\n /**\\n * Returns the Direction for a RawMetricReport.\\n */\\n getDirectionType(rawMetricReport) {\\n const { type } = rawMetricReport;\\n return type === 'inbound-rtp' || type === 'remote-outbound-rtp'\\n ? ClientMetricReportDirection_1.default.DOWNSTREAM\\n : ClientMetricReportDirection_1.default.UPSTREAM;\\n }\\n /**\\n * Checks if a RawMetricReport belongs to certain types.\\n */\\n isValidStandardRawMetric(rawMetricReport) {\\n return (rawMetricReport.type === 'inbound-rtp' ||\\n rawMetricReport.type === 'outbound-rtp' ||\\n rawMetricReport.type === 'remote-inbound-rtp' ||\\n rawMetricReport.type === 'remote-outbound-rtp' ||\\n (rawMetricReport.type === 'candidate-pair' && rawMetricReport.state === 'succeeded'));\\n }\\n /**\\n * Checks if a RawMetricReport is stream related.\\n */\\n isValidSsrc(rawMetricReport) {\\n let validSsrc = true;\\n if (this.isStreamRawMetricReport(rawMetricReport.type) &&\\n this.getDirectionType(rawMetricReport) === ClientMetricReportDirection_1.default.DOWNSTREAM &&\\n this.getMediaType(rawMetricReport) === ClientMetricReportMediaType_1.default.VIDEO) {\\n validSsrc = this.videoStreamIndex.streamIdForSSRC(Number(rawMetricReport.ssrc)) > 0;\\n }\\n return validSsrc;\\n }\\n /**\\n * Checks if a RawMetricReport is valid.\\n */\\n isValidRawMetricReport(rawMetricReport) {\\n return this.isValidStandardRawMetric(rawMetricReport) && this.isValidSsrc(rawMetricReport);\\n }\\n /**\\n * Filters RawMetricReports and keeps the required parts.\\n */\\n filterRawMetricReports(rawMetricReports) {\\n const filteredRawMetricReports = [];\\n for (const rawMetricReport of rawMetricReports) {\\n if (this.isValidRawMetricReport(rawMetricReport)) {\\n filteredRawMetricReports.push(rawMetricReport);\\n }\\n }\\n return filteredRawMetricReports;\\n }\\n /**\\n * Performs a series operation on RawMetricReport.\\n */\\n handleRawMetricReports(rawMetricReports) {\\n const filteredRawMetricReports = this.filterRawMetricReports(rawMetricReports);\\n this.logger.debug(() => {\\n return `Filtered raw metrics : ${JSON.stringify(filteredRawMetricReports)}`;\\n });\\n this.processRawMetricReports(filteredRawMetricReports);\\n const clientMetricFrame = this.makeClientMetricProtobuf();\\n this.sendClientMetricProtobuf(clientMetricFrame);\\n this.audioVideoController.forEachObserver(observer => {\\n Types_1.Maybe.of(observer.metricsDidReceive).map(f => f.bind(observer)(this.clientMetricReport.clone()));\\n });\\n }\\n /**\\n * Gets raw WebRTC metrics.\\n */\\n getStatsWrapper() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this.audioVideoController.rtcPeerConnection) {\\n return;\\n }\\n const rawMetricReports = [];\\n // @ts-ignore\\n try {\\n const report = yield this.audioVideoController.rtcPeerConnection.getStats();\\n this.clientMetricReport.rtcStatsReport = report;\\n report.forEach((item) => {\\n rawMetricReports.push(item);\\n });\\n this.handleRawMetricReports(rawMetricReports);\\n }\\n catch (error) {\\n this.logger.error(error.message);\\n }\\n });\\n }\\n overrideObservableMetric(name, value) {\\n this.clientMetricReport.overrideObservableMetric(name, value);\\n }\\n}\\nexports[\\\"default\\\"] = StatsCollector;\\nStatsCollector.INTERVAL_MS = 1000;\\nStatsCollector.CLIENT_TYPE = 'amazon-chime-sdk-js';\\n//# sourceMappingURL=StatsCollector.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/statscollector/StatsCollector.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/statscollector/VideoLogEvent.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/statscollector/VideoLogEvent.js ***!\n \\********************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.VideoLogEvent = void 0;\\nvar VideoLogEvent;\\n(function (VideoLogEvent) {\\n VideoLogEvent[VideoLogEvent[\\\"InputAttached\\\"] = 0] = \\\"InputAttached\\\";\\n VideoLogEvent[VideoLogEvent[\\\"SendingFailed\\\"] = 1] = \\\"SendingFailed\\\";\\n VideoLogEvent[VideoLogEvent[\\\"SendingSuccess\\\"] = 2] = \\\"SendingSuccess\\\";\\n})(VideoLogEvent = exports.VideoLogEvent || (exports.VideoLogEvent = {}));\\nexports[\\\"default\\\"] = VideoLogEvent;\\n//# sourceMappingURL=VideoLogEvent.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/statscollector/VideoLogEvent.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/AttachMediaInputTask.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/AttachMediaInputTask.js ***!\n \\*****************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst VideoLogEvent_1 = __webpack_require__(/*! ../statscollector/VideoLogEvent */ \\\"./node_modules/amazon-chime-sdk-js/build/statscollector/VideoLogEvent.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/*\\n * [[AttachMediaInputTask]] adds audio and video input to peer connection.\\n */\\nclass AttachMediaInputTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'AttachMediaInputTask';\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n const transceiverController = this.context.transceiverController;\\n transceiverController.setPeer(this.context.peer);\\n transceiverController.setupLocalTransceivers();\\n const audioInput = this.context.activeAudioInput;\\n if (audioInput) {\\n const audioTracks = audioInput.getAudioTracks();\\n this.context.logger.info('attaching audio track to peer connection');\\n yield transceiverController.setAudioInput(audioTracks.length ? audioTracks[0] : null);\\n }\\n else {\\n yield transceiverController.setAudioInput(null);\\n this.context.logger.info('no audio track');\\n }\\n const videoInput = this.context.activeVideoInput;\\n if (videoInput) {\\n const videoTracks = videoInput.getVideoTracks();\\n const videoTrack = videoTracks.length ? videoTracks[0] : null;\\n this.context.logger.info('attaching video track to peer connection');\\n yield transceiverController.setVideoInput(videoTrack);\\n if (this.context.enableSimulcast && this.context.videoUplinkBandwidthPolicy) {\\n const encodingParam = this.context.videoUplinkBandwidthPolicy.chooseEncodingParameters();\\n transceiverController.setEncodingParameters(encodingParam);\\n }\\n if (videoTrack) {\\n this.context.statsCollector.logVideoEvent(VideoLogEvent_1.default.InputAttached, this.context.videoDeviceInformation);\\n }\\n }\\n else {\\n yield transceiverController.setVideoInput(null);\\n this.context.logger.info('no video track');\\n }\\n this.context.videoSubscriptions = transceiverController.updateVideoTransceivers(this.context.videoStreamIndex, this.context.videosToReceive);\\n });\\n }\\n}\\nexports[\\\"default\\\"] = AttachMediaInputTask;\\n//# sourceMappingURL=AttachMediaInputTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/AttachMediaInputTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js ***!\n \\*****************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst OnceTask_1 = __webpack_require__(/*! ./OnceTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/OnceTask.js\\\");\\nconst TaskStatus_1 = __webpack_require__(/*! ./TaskStatus */ \\\"./node_modules/amazon-chime-sdk-js/build/task/TaskStatus.js\\\");\\n/*\\n * [[BaseTask]] provides common utilities for task implementations.\\n */\\nclass BaseTask {\\n constructor(logger) {\\n this.logger = logger;\\n this.taskName = 'BaseTask';\\n this.parentTask = null;\\n this.status = TaskStatus_1.default.IDLE;\\n this.run = this.baseRun.bind(this, this.run);\\n this.cancel = this.baseCancel.bind(this, this.cancel);\\n }\\n once(...dependencies) {\\n return new OnceTask_1.default(this.logger, this, dependencies);\\n }\\n cancel() { }\\n name() {\\n return this.parentTask ? `${this.parentTask.name()}/${this.taskName}` : this.taskName;\\n }\\n setParent(parentTask) {\\n this.parentTask = parentTask;\\n }\\n getStatus() {\\n return this.status;\\n }\\n logAndThrow(message) {\\n this.logger.info(message);\\n throw new Error(message);\\n }\\n baseRun(originalRun) {\\n return __awaiter(this, void 0, void 0, function* () {\\n try {\\n const startTime = Date.now();\\n this.logger.info(`running task ${this.name()}`);\\n switch (this.status) {\\n case TaskStatus_1.default.RUNNING:\\n this.logAndThrow(`${this.name()} is already running`);\\n case TaskStatus_1.default.CANCELED:\\n this.logAndThrow(`${this.name()} was canceled before running`);\\n case TaskStatus_1.default.FINISHED:\\n this.logAndThrow(`${this.name()} was already finished`);\\n }\\n this.status = TaskStatus_1.default.RUNNING;\\n yield originalRun.call(this);\\n this.logger.info(`${this.name()} took ${Math.round(Date.now() - startTime)} ms`);\\n }\\n catch (err) {\\n throw err;\\n }\\n finally {\\n if (this.status !== TaskStatus_1.default.CANCELED) {\\n this.status = TaskStatus_1.default.FINISHED;\\n }\\n }\\n });\\n }\\n baseCancel(originalCancel) {\\n if (this.status === TaskStatus_1.default.CANCELED || this.status === TaskStatus_1.default.FINISHED) {\\n this.logger.info(`Not canceling ${this.name()}: state is ${this.status}`);\\n return;\\n }\\n this.logger.info(`canceling task ${this.name()}`);\\n this.status = TaskStatus_1.default.CANCELED;\\n originalCancel.call(this);\\n }\\n}\\nexports[\\\"default\\\"] = BaseTask;\\n//# sourceMappingURL=BaseTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/CleanRestartedSessionTask.js\":\n/*!**********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/CleanRestartedSessionTask.js ***!\n \\**********************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\nclass CleanRestartedSessionTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'CleanRestartedSessionTask';\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.context.resetConnectionSpecificState();\\n });\\n }\\n}\\nexports[\\\"default\\\"] = CleanRestartedSessionTask;\\n//# sourceMappingURL=CleanRestartedSessionTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/CleanRestartedSessionTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/CleanStoppedSessionTask.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/CleanStoppedSessionTask.js ***!\n \\********************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ../signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/*\\n * `CleanStoppedSessionTask` permenently cleans up all components of `AudioVideoControllerState` after a stop call.\\n */\\nclass CleanStoppedSessionTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'CleanStoppedSessionTask';\\n this.taskCanceler = null;\\n }\\n cancel() {\\n if (this.taskCanceler) {\\n this.taskCanceler.cancel();\\n this.taskCanceler = null;\\n }\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n try {\\n if (this.context.signalingClient.ready()) {\\n this.context.signalingClient.closeConnection();\\n yield this.receiveWebSocketClosedEvent();\\n }\\n }\\n catch (error) {\\n throw error;\\n }\\n finally {\\n for (const observer of this.context.removableObservers) {\\n observer.removeObserver();\\n }\\n this.context.resetConnectionSpecificState();\\n this.context.statsCollector.stop();\\n this.context.statsCollector = null;\\n this.context.connectionMonitor.stop();\\n this.context.connectionMonitor = null;\\n if (this.context.videoUplinkBandwidthPolicy.setTransceiverController) {\\n this.context.videoUplinkBandwidthPolicy.setTransceiverController(undefined);\\n }\\n if (this.context.videoDownlinkBandwidthPolicy.bindToTileController) {\\n this.context.videoDownlinkBandwidthPolicy.bindToTileController(undefined);\\n }\\n // This state may be reused to join another conference, so clear out all the existing video tiles\\n const tile = this.context.videoTileController.getLocalVideoTile();\\n if (tile) {\\n tile.bindVideoStream('', true, null, null, null, null);\\n }\\n this.context.videoTileController.removeAllVideoTiles();\\n }\\n });\\n }\\n receiveWebSocketClosedEvent() {\\n return new Promise((resolve, reject) => {\\n class Interceptor {\\n constructor(signalingClient) {\\n this.signalingClient = signalingClient;\\n }\\n cancel() {\\n this.signalingClient.removeObserver(this);\\n reject(new Error(`CleanStoppedSessionTask got canceled while waiting for the WebSocket closed event`));\\n }\\n handleSignalingClientEvent(event) {\\n if (event.type === SignalingClientEventType_1.default.WebSocketClosed) {\\n this.signalingClient.removeObserver(this);\\n resolve();\\n }\\n }\\n }\\n const interceptor = new Interceptor(this.context.signalingClient);\\n this.taskCanceler = interceptor;\\n this.context.signalingClient.registerObserver(interceptor);\\n });\\n }\\n}\\nexports[\\\"default\\\"] = CleanStoppedSessionTask;\\n//# sourceMappingURL=CleanStoppedSessionTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/CleanStoppedSessionTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/CreatePeerConnectionTask.js\":\n/*!*********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/CreatePeerConnectionTask.js ***!\n \\*********************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/*\\n * [[CreatePeerConnectionTask]] sets up the peer connection object.\\n */\\nclass CreatePeerConnectionTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'CreatePeerConnectionTask';\\n this.removeTrackAddedEventListener = null;\\n this.removeTrackRemovedEventListeners = {};\\n this.trackEvents = [\\n 'ended',\\n 'mute',\\n 'unmute',\\n 'isolationchange',\\n 'overconstrained',\\n ];\\n this.removeVideoTrackEventListeners = {};\\n this.trackAddedHandler = (event) => {\\n const track = event.track;\\n this.context.logger.info(`received track event: kind=${track.kind} id=${track.id} label=${track.label}`);\\n if (event.transceiver && event.transceiver.currentDirection === 'inactive') {\\n return;\\n }\\n if (event.streams.length === 0) {\\n this.context.logger.warn(`Track event but no stream`);\\n return;\\n }\\n const stream = event.streams[0];\\n if (track.kind === 'audio') {\\n this.context.audioMixController.bindAudioStream(stream);\\n }\\n else if (track.kind === 'video' && !this.trackIsVideoInput(track)) {\\n this.addRemoteVideoTrack(track, stream);\\n }\\n };\\n }\\n removeObserver() {\\n this.removeTrackAddedEventListener && this.removeTrackAddedEventListener();\\n for (const trackId in this.removeTrackRemovedEventListeners) {\\n this.removeTrackRemovedEventListeners[trackId]();\\n }\\n }\\n addPeerConnectionEventLogger() {\\n const peer = this.context.peer;\\n peer.addEventListener('connectionstatechange', () => {\\n this.context.logger.info(`peer connection state changed: ${peer.connectionState}`);\\n });\\n peer.addEventListener('negotiationneeded', () => {\\n this.context.logger.info('peer connection negotiation is needed');\\n });\\n peer.addEventListener('icegatheringstatechange', () => {\\n this.context.logger.info(`peer connection ice gathering state changed: ${peer.iceGatheringState}`);\\n });\\n peer.addEventListener('icecandidate', (event) => {\\n this.context.logger.info(`peer connection ice candidate: ${event.candidate ? event.candidate.candidate : '(null)'}`);\\n });\\n peer.addEventListener('iceconnectionstatechange', () => {\\n this.context.logger.info(`peer connection ice connection state changed: ${peer.iceConnectionState}`);\\n });\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.context.removableObservers.push(this);\\n const hasTurnCredentials = this.context.turnCredentials && this.context.turnCredentials.uris.length > 0;\\n const configuration = hasTurnCredentials\\n ? {\\n iceServers: [\\n {\\n urls: this.context.turnCredentials.uris,\\n username: this.context.turnCredentials.username,\\n credential: this.context.turnCredentials.password,\\n credentialType: 'password',\\n },\\n ],\\n iceTransportPolicy: 'relay',\\n }\\n : {};\\n configuration.bundlePolicy = this.context.browserBehavior.requiresBundlePolicy();\\n // @ts-ignore\\n configuration.sdpSemantics = 'unified-plan';\\n if (this.context.peer) {\\n this.context.logger.info('reusing peer connection');\\n }\\n else {\\n this.context.logger.info('creating new peer connection');\\n // @ts-ignore\\n this.context.peer = new RTCPeerConnection(configuration);\\n this.addPeerConnectionEventLogger();\\n }\\n this.removeTrackAddedEventListener = () => {\\n if (this.context.peer) {\\n this.context.peer.removeEventListener('track', this.trackAddedHandler);\\n }\\n this.removeTrackAddedEventListener = null;\\n };\\n this.context.peer.addEventListener('track', this.trackAddedHandler);\\n });\\n }\\n trackIsVideoInput(track) {\\n if (this.context.transceiverController.useTransceivers()) {\\n this.logger.debug(() => {\\n return `getting video track type`;\\n });\\n return this.context.transceiverController.trackIsVideoInput(track);\\n }\\n return false;\\n }\\n addRemoteVideoTrack(track, stream) {\\n var _a;\\n const trackId = stream.id;\\n const attendeeId = this.context.videoStreamIndex.attendeeIdForTrack(trackId);\\n let skipAdding;\\n let tile;\\n if (this.context.videoTileController.getVideoTileForAttendeeId) {\\n tile = this.context.videoTileController.getVideoTileForAttendeeId(attendeeId);\\n skipAdding = !!((_a = tile === null || tile === void 0 ? void 0 : tile.state()) === null || _a === void 0 ? void 0 : _a.boundVideoStream);\\n }\\n else {\\n skipAdding = this.context.videoTileController.haveVideoTileForAttendeeId(attendeeId);\\n }\\n if (skipAdding) {\\n this.context.logger.info(`Not adding remote track. Already have tile for attendeeId: ${attendeeId}`);\\n return;\\n }\\n if (!tile) {\\n tile = this.context.videoTileController.addVideoTile();\\n this.logger.info(`Created video tile ${tile.id()}`);\\n }\\n let streamId = this.context.videoStreamIndex.streamIdForTrack(trackId);\\n if (typeof streamId === 'undefined') {\\n this.logger.warn(`stream not found for tile=${tile.id()} track=${trackId}`);\\n streamId = null;\\n }\\n for (let i = 0; i < this.trackEvents.length; i++) {\\n const trackEvent = this.trackEvents[i];\\n const videoTracks = stream.getVideoTracks();\\n if (videoTracks && videoTracks.length) {\\n const videoTrack = videoTracks[0];\\n const callback = () => {\\n this.context.logger.info(`received the ${trackEvent} event for tile=${tile.id()} id=${track.id} streamId=${streamId}`);\\n if (trackEvent === 'ended') {\\n this.removeRemoteVideoTrack(track, tile.state());\\n }\\n };\\n videoTrack.addEventListener(trackEvent, callback);\\n if (!this.removeVideoTrackEventListeners[track.id]) {\\n this.removeVideoTrackEventListeners[track.id] = [];\\n }\\n this.removeVideoTrackEventListeners[track.id].push(() => {\\n videoTrack.removeEventListener(trackEvent, callback);\\n });\\n }\\n }\\n let width;\\n let height;\\n if (track.getSettings) {\\n const cap = track.getSettings();\\n width = cap.width;\\n height = cap.height;\\n }\\n else {\\n const cap = track.getCapabilities();\\n width = cap.width;\\n height = cap.height;\\n }\\n const externalUserId = this.context.videoStreamIndex.externalUserIdForTrack(trackId);\\n tile.bindVideoStream(attendeeId, false, stream, width, height, streamId, externalUserId);\\n this.logger.info(`video track added, use tile=${tile.id()} track=${trackId} streamId=${streamId}`);\\n const endEvent = 'removetrack';\\n const target = stream;\\n const trackRemovedHandler = () => this.removeRemoteVideoTrack(track, tile.state());\\n this.removeTrackRemovedEventListeners[track.id] = () => {\\n target.removeEventListener(endEvent, trackRemovedHandler);\\n delete this.removeTrackRemovedEventListeners[track.id];\\n };\\n target.addEventListener(endEvent, trackRemovedHandler);\\n }\\n removeRemoteVideoTrack(track, tileState) {\\n if (this.removeTrackRemovedEventListeners.hasOwnProperty(track.id)) {\\n this.removeTrackRemovedEventListeners[track.id]();\\n for (const removeVideoTrackEventListener of this.removeVideoTrackEventListeners[track.id]) {\\n removeVideoTrackEventListener();\\n }\\n delete this.removeVideoTrackEventListeners[track.id];\\n }\\n this.logger.info(`video track ended, removing tile=${tileState.tileId} id=${track.id} stream=${tileState.streamId}`);\\n if (tileState.streamId) {\\n this.context.videosPaused.remove(tileState.streamId);\\n }\\n else {\\n this.logger.warn(`no stream found for tile=${tileState.tileId}`);\\n }\\n this.context.videoTileController.removeVideoTile(tileState.tileId);\\n }\\n}\\nexports[\\\"default\\\"] = CreatePeerConnectionTask;\\nCreatePeerConnectionTask.REMOVE_HANDLER_INTERVAL_MS = 10000;\\n//# sourceMappingURL=CreatePeerConnectionTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/CreatePeerConnectionTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/CreateSDPTask.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/CreateSDPTask.js ***!\n \\**********************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst MeetingSessionStatusCode_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatusCode */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js\\\");\\nconst SDP_1 = __webpack_require__(/*! ../sdp/SDP */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/SDP.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/*\\n * [[CreateSDPTask]] asynchronously calls [[createOffer]] on peer connection.\\n */\\nclass CreateSDPTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'CreateSDPTask';\\n }\\n cancel() {\\n // Just in case. The baseCancel behavior should prevent this.\\n /* istanbul ignore else */\\n if (this.cancelPromise) {\\n const error = new Error(`canceling ${this.name()}`);\\n this.cancelPromise(error);\\n delete this.cancelPromise;\\n }\\n }\\n sessionUsesAudio() {\\n var _a, _b;\\n return !!((_b = (_a = this.context.meetingSessionConfiguration) === null || _a === void 0 ? void 0 : _a.urls) === null || _b === void 0 ? void 0 : _b.audioHostURL);\\n }\\n sessionUsesVideo() {\\n const enabled = true;\\n let sending;\\n if (this.context.transceiverController.useTransceivers()) {\\n sending = this.context.transceiverController.hasVideoInput();\\n }\\n else {\\n sending = this.context.videoTileController.hasStartedLocalVideoTile();\\n }\\n const receiving = !!this.context.videosToReceive && !this.context.videosToReceive.empty();\\n const usesVideo = enabled && (sending || receiving);\\n this.context.logger.info(`uses video: ${usesVideo} (enabled: ${enabled}, sending: ${sending}, receiving: ${receiving})`);\\n return usesVideo;\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n const offerOptions = {\\n offerToReceiveAudio: this.sessionUsesAudio(),\\n offerToReceiveVideo: this.sessionUsesVideo(),\\n };\\n this.logger.info(`peer connection offerOptions: ${JSON.stringify(offerOptions)}`);\\n yield new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\\n this.cancelPromise = (error) => {\\n reject(error);\\n };\\n try {\\n this.context.sdpOfferInit = yield this.context.peer.createOffer(offerOptions);\\n this.context.logger.info('peer connection created offer');\\n if (this.context.previousSdpOffer) {\\n if (new SDP_1.default(this.context.sdpOfferInit.sdp).videoSendSectionHasDifferentSSRC(this.context.previousSdpOffer)) {\\n const error = new Error(`canceling ${this.name()} due to the meeting status code: ${MeetingSessionStatusCode_1.default.IncompatibleSDP}`);\\n this.context.previousSdpOffer = null;\\n reject(error);\\n return;\\n }\\n }\\n resolve();\\n }\\n catch (error) {\\n reject(error);\\n }\\n finally {\\n delete this.cancelPromise;\\n }\\n }));\\n });\\n }\\n}\\nexports[\\\"default\\\"] = CreateSDPTask;\\n//# sourceMappingURL=CreateSDPTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/CreateSDPTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/FinishGatheringICECandidatesTask.js\":\n/*!*****************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/FinishGatheringICECandidatesTask.js ***!\n \\*****************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst MeetingSessionStatusCode_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatusCode */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js\\\");\\nconst SDP_1 = __webpack_require__(/*! ../sdp/SDP */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/SDP.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/*\\n * [[FinishGatheringICECandidatesTask]] add ice-candidate event handler on peer connection to\\n * collect ice candidates and wait for peer connection ice gathering state to complete\\n */\\nclass FinishGatheringICECandidatesTask extends BaseTask_1.default {\\n constructor(context, chromeVpnTimeoutMs = FinishGatheringICECandidatesTask.CHROME_VPN_TIMEOUT_MS) {\\n super(context.logger);\\n this.context = context;\\n this.chromeVpnTimeoutMs = chromeVpnTimeoutMs;\\n this.taskName = 'FinishGatheringICECandidatesTask';\\n }\\n removeEventListener() {\\n if (this.context.peer) {\\n this.context.peer.removeEventListener('icecandidate', this.context.iceCandidateHandler);\\n if (!this.context.turnCredentials) {\\n this.context.peer.removeEventListener('icegatheringstatechange', this.context.iceGatheringStateEventHandler);\\n }\\n }\\n }\\n cancel() {\\n let error;\\n // TODO: Remove when the Chrome VPN reconnect bug is fixed.\\n // In Chrome, SDK may fail to establish TURN session after VPN reconnect.\\n // https://bugs.chromium.org/p/webrtc/issues/detail?id=9097\\n if (this.context.browserBehavior.requiresIceCandidateGatheringTimeoutWorkaround()) {\\n if (this.chromeVpnTimeoutMs < this.context.meetingSessionConfiguration.connectionTimeoutMs) {\\n const duration = Date.now() - this.startTimestampMs;\\n if (duration > this.chromeVpnTimeoutMs) {\\n error = new Error(`canceling ${this.name()} due to the meeting status code: ${MeetingSessionStatusCode_1.default.ICEGatheringTimeoutWorkaround}`);\\n }\\n }\\n }\\n // Just in case. The baseCancel behavior should prevent this.\\n /* istanbul ignore else */\\n if (this.cancelPromise) {\\n error = error || new Error(`canceling ${this.name()}`);\\n this.cancelPromise(error);\\n delete this.cancelPromise;\\n }\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this.context.peer) {\\n this.logAndThrow(`session does not have peer connection; bypass ice gathering`);\\n }\\n if (this.context.browserBehavior.requiresCheckForSdpConnectionAttributes()) {\\n if (new SDP_1.default(this.context.peer.localDescription.sdp).hasCandidatesForAllMLines()) {\\n this.context.logger.info(`ice gathering already complete; bypass gathering, current local description ${this.context.peer.localDescription.sdp}`);\\n return;\\n }\\n }\\n else {\\n this.context.logger.info(`iOS device does not require checking for connection attributes in SDP, current local description ${this.context.peer.localDescription.sdp}`);\\n }\\n /*\\n * To bypass waiting for events, it is required that \\\"icegatheringstate\\\" to be complete and sdp to have candidate\\n * For Firefox, it takes long for iceGatheringState === 'complete'\\n * Ref: https://github.com/aws/amazon-chime-sdk-js/issues/609\\n */\\n if ((this.context.browserBehavior.hasFirefoxWebRTC() ||\\n this.context.peer.iceGatheringState === 'complete') &&\\n new SDP_1.default(this.context.peer.localDescription.sdp).hasCandidates()) {\\n this.context.logger.info('ice gathering state is complete and candidates are in SDP; bypass gathering');\\n return;\\n }\\n try {\\n yield new Promise((resolve, reject) => {\\n this.cancelPromise = (error) => {\\n this.removeEventListener();\\n reject(error);\\n };\\n if (!this.context.turnCredentials) {\\n // if one day, we found a case where a FinishGatheringICECandidate did not resolve but ice gathering state is complete and SDP answer has ice candidates\\n // we may need to enable this\\n this.context.iceGatheringStateEventHandler = () => {\\n if (this.context.peer.iceGatheringState === 'complete') {\\n this.removeEventListener();\\n resolve();\\n delete this.cancelPromise;\\n return;\\n }\\n };\\n this.context.peer.addEventListener('icegatheringstatechange', this.context.iceGatheringStateEventHandler);\\n }\\n this.context.iceCandidateHandler = (event) => {\\n this.context.logger.info(`ice candidate: ${event.candidate ? event.candidate.candidate : '(null)'} state: ${this.context.peer.iceGatheringState}`);\\n // Ice candidate arrives, do not need to wait anymore.\\n // https://webrtcglossary.com/trickle-ice/\\n if (event.candidate) {\\n if (SDP_1.default.isRTPCandidate(event.candidate.candidate)) {\\n this.context.iceCandidates.push(event.candidate);\\n }\\n // Could there be a case the candidate is not written to SDP ?\\n if (this.context.turnCredentials && this.context.iceCandidates.length >= 1) {\\n this.context.logger.info('gathered at least one relay candidate');\\n this.removeEventListener();\\n resolve();\\n delete this.cancelPromise;\\n return;\\n }\\n }\\n // Ice candidate gathering is complete, additional barrier to make sure sdp contain an ice candidate.\\n // TODO: Could there be a race where iceGatheringState is flipped after this task is run ? This could only be handled if ice state is monitored persistently.\\n if (this.context.peer.iceGatheringState === 'complete') {\\n this.context.logger.info('done gathering ice candidates');\\n this.removeEventListener();\\n if (!new SDP_1.default(this.context.peer.localDescription.sdp).hasCandidates() ||\\n this.context.iceCandidates.length === 0) {\\n reject(new Error('no ice candidates were gathered'));\\n delete this.cancelPromise;\\n }\\n else {\\n resolve();\\n delete this.cancelPromise;\\n }\\n }\\n };\\n // SDK does not catch candidate itself and send to sever. Rather, WebRTC handles candidate events and writes candidate to SDP.\\n this.context.peer.addEventListener('icecandidate', this.context.iceCandidateHandler);\\n this.startTimestampMs = Date.now();\\n });\\n }\\n catch (error) {\\n throw error;\\n }\\n finally {\\n /* istanbul ignore else */\\n if (this.startTimestampMs) {\\n this.context.iceGatheringDurationMs = Math.round(Date.now() - this.startTimestampMs);\\n }\\n }\\n });\\n }\\n}\\nexports[\\\"default\\\"] = FinishGatheringICECandidatesTask;\\nFinishGatheringICECandidatesTask.CHROME_VPN_TIMEOUT_MS = 5000;\\n//# sourceMappingURL=FinishGatheringICECandidatesTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/FinishGatheringICECandidatesTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/JoinAndReceiveIndexTask.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/JoinAndReceiveIndexTask.js ***!\n \\********************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst MeetingSessionStatus_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatus */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatus.js\\\");\\nconst MeetingSessionStatusCode_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatusCode */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js\\\");\\nconst MeetingSessionTURNCredentials_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionTURNCredentials */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionTURNCredentials.js\\\");\\nconst ServerSideNetworkAdaption_1 = __webpack_require__(/*! ../signalingclient/ServerSideNetworkAdaption */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/ServerSideNetworkAdaption.js\\\");\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ../signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nconst SignalingClientJoin_1 = __webpack_require__(/*! ../signalingclient/SignalingClientJoin */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientJoin.js\\\");\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/*\\n * [[JoinAndReceiveIndexTask]] sends the JoinFrame and asynchronously waits for the server to send the [[SdkIndexFrame]].\\n * It should run with the [[TimeoutTask]] as the subtask so it can get canceled after timeout.\\n */\\nclass JoinAndReceiveIndexTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'JoinAndReceiveIndexTask';\\n this.taskCanceler = null;\\n }\\n cancel() {\\n if (this.taskCanceler) {\\n this.taskCanceler.cancel();\\n this.taskCanceler = null;\\n }\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n const indexFrame = yield new Promise((resolve, reject) => {\\n const context = this.context;\\n context.turnCredentials = null;\\n class IndexFrameInterceptor {\\n constructor(signalingClient) {\\n this.signalingClient = signalingClient;\\n }\\n cancel() {\\n this.signalingClient.removeObserver(this);\\n reject(new Error(`JoinAndReceiveIndexTask got canceled while waiting for SdkIndexFrame`));\\n }\\n handleSignalingClientEvent(event) {\\n if (event.type === SignalingClientEventType_1.default.WebSocketClosed) {\\n let message = `The signaling connection was closed with code ${event.closeCode} and reason: ${event.closeReason}`;\\n context.logger.warn(message);\\n let statusCode = MeetingSessionStatusCode_1.default.SignalingBadRequest;\\n if (event.closeCode === 4410) {\\n message = 'The meeting already ended.';\\n context.logger.warn(message);\\n statusCode = MeetingSessionStatusCode_1.default.MeetingEnded;\\n }\\n else if (event.closeCode >= 4500 && event.closeCode < 4600) {\\n statusCode = MeetingSessionStatusCode_1.default.SignalingInternalServerError;\\n }\\n context.audioVideoController.handleMeetingSessionStatus(new MeetingSessionStatus_1.default(statusCode), new Error(message));\\n return;\\n }\\n if (event.type !== SignalingClientEventType_1.default.ReceivedSignalFrame) {\\n return;\\n }\\n if (event.message.type === SignalingProtocol_js_1.SdkSignalFrame.Type.JOIN_ACK) {\\n // @ts-ignore: force cast to SdkJoinAckFrame\\n const joinAckFrame = event.message.joinack;\\n if (joinAckFrame && joinAckFrame.videoSubscriptionLimit) {\\n context.videoSubscriptionLimit = joinAckFrame.videoSubscriptionLimit;\\n }\\n context.serverSupportsCompression = joinAckFrame === null || joinAckFrame === void 0 ? void 0 : joinAckFrame.wantsCompressedSdp;\\n if ((joinAckFrame === null || joinAckFrame === void 0 ? void 0 : joinAckFrame.defaultServerSideNetworkAdaption) !== undefined &&\\n joinAckFrame.defaultServerSideNetworkAdaption !== ServerSideNetworkAdaption_1.default.Default &&\\n context.videoDownlinkBandwidthPolicy.setServerSideNetworkAdaption !== undefined) {\\n const defaultServerSideNetworkAdaption = joinAckFrame.defaultServerSideNetworkAdaption;\\n context.logger.info(`Overriding server side network adaption value to ${defaultServerSideNetworkAdaption}`);\\n context.videoDownlinkBandwidthPolicy.setServerSideNetworkAdaption(ServerSideNetworkAdaption_1.convertServerSideNetworkAdaptionEnumFromSignaled(defaultServerSideNetworkAdaption));\\n }\\n if (joinAckFrame && joinAckFrame.turnCredentials) {\\n context.turnCredentials = new MeetingSessionTURNCredentials_1.default();\\n context.turnCredentials.username = joinAckFrame.turnCredentials.username;\\n context.turnCredentials.password = joinAckFrame.turnCredentials.password;\\n context.turnCredentials.ttl = joinAckFrame.turnCredentials.ttl;\\n context.turnCredentials.uris = joinAckFrame.turnCredentials.uris\\n .map((uri) => {\\n return context.meetingSessionConfiguration.urls.urlRewriter(uri);\\n })\\n .filter((uri) => {\\n return !!uri;\\n });\\n }\\n else {\\n context.logger.error('missing TURN credentials in JoinAckFrame');\\n }\\n return;\\n }\\n if (event.message.type !== SignalingProtocol_js_1.SdkSignalFrame.Type.INDEX) {\\n return;\\n }\\n this.signalingClient.removeObserver(this);\\n // @ts-ignore: force cast to SdkIndexFrame\\n const indexFrame = event.message.index;\\n resolve(indexFrame);\\n }\\n }\\n const interceptor = new IndexFrameInterceptor(this.context.signalingClient);\\n this.context.signalingClient.registerObserver(interceptor);\\n this.taskCanceler = interceptor;\\n // reset SDP compression state\\n this.context.previousSdpAnswerAsString = '';\\n this.context.previousSdpOffer = null;\\n this.context.serverSupportsCompression = false;\\n const join = new SignalingClientJoin_1.default(this.context.meetingSessionConfiguration.applicationMetadata);\\n if (this.context.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption !== undefined &&\\n this.context.videoDownlinkBandwidthPolicy.supportedServerSideNetworkAdaptions !== undefined) {\\n join.serverSideNetworkAdaption = this.context.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption();\\n join.supportedServerSideNetworkAdaptions = this.context.videoDownlinkBandwidthPolicy.supportedServerSideNetworkAdaptions();\\n }\\n join.disablePeriodicKeyframeRequestOnContentSender = this.context.meetingSessionConfiguration.disablePeriodicKeyframeRequestOnContentSender;\\n this.context.signalingClient.join(join);\\n });\\n this.context.logger.info(`received first index ${JSON.stringify(indexFrame)}`);\\n // We currently don't bother ingesting this into the same places as `ReceiveVideoStreamIndexTask` as we synchronously attempt a first subscribe\\n // after this task completes and the state isn't quite in the right place to make it work without some refactoring. However that\\n // means that we will always have an initial subscribe without any received videos.\\n this.context.indexFrame = indexFrame;\\n });\\n }\\n}\\nexports[\\\"default\\\"] = JoinAndReceiveIndexTask;\\n//# sourceMappingURL=JoinAndReceiveIndexTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/JoinAndReceiveIndexTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/LeaveAndReceiveLeaveAckTask.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/LeaveAndReceiveLeaveAckTask.js ***!\n \\************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ../signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/**\\n * [[LeaveAndReceiveLeaveAckTask]] sends a Leave frame and waits for a LeaveAck.\\n */\\nclass LeaveAndReceiveLeaveAckTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'LeaveAndReceiveLeaveAckTask';\\n this.taskCanceler = null;\\n }\\n cancel() {\\n if (this.taskCanceler) {\\n this.taskCanceler.cancel();\\n this.taskCanceler = null;\\n }\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.context.signalingClient.ready()) {\\n this.context.signalingClient.leave();\\n this.context.logger.info('sent leave');\\n yield this.receiveLeaveAck();\\n }\\n });\\n }\\n receiveLeaveAck() {\\n return new Promise((resolve, reject) => {\\n class Interceptor {\\n constructor(signalingClient, logger) {\\n this.signalingClient = signalingClient;\\n this.logger = logger;\\n }\\n cancel() {\\n this.signalingClient.removeObserver(this);\\n reject(new Error(`LeaveAndReceiveLeaveAckTask got canceled while waiting for IndexFrame`));\\n }\\n handleSignalingClientEvent(event) {\\n if (event.isConnectionTerminated()) {\\n this.signalingClient.removeObserver(this);\\n this.logger.info('LeaveAndReceiveLeaveAckTask connection terminated');\\n // don't treat this as an error\\n resolve();\\n return;\\n }\\n if (event.type === SignalingClientEventType_1.default.ReceivedSignalFrame &&\\n event.message.type === SignalingProtocol_js_1.SdkSignalFrame.Type.LEAVE_ACK) {\\n this.signalingClient.removeObserver(this);\\n this.logger.info('got leave ack');\\n resolve();\\n }\\n }\\n }\\n const interceptor = new Interceptor(this.context.signalingClient, this.context.logger);\\n this.taskCanceler = interceptor;\\n this.context.signalingClient.registerObserver(interceptor);\\n });\\n }\\n}\\nexports[\\\"default\\\"] = LeaveAndReceiveLeaveAckTask;\\n//# sourceMappingURL=LeaveAndReceiveLeaveAckTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/LeaveAndReceiveLeaveAckTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/ListenForVolumeIndicatorsTask.js\":\n/*!**************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/ListenForVolumeIndicatorsTask.js ***!\n \\**************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ../signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\nclass ListenForVolumeIndicatorsTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'ListenForVolumeIndicatorsTask';\\n this.realtimeMuteAndUnmuteHandler = (muted) => {\\n this.context.signalingClient.mute(muted);\\n };\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.context.removableObservers.push(this);\\n this.context.signalingClient.registerObserver(this);\\n this.context.realtimeController.realtimeSubscribeToMuteAndUnmuteLocalAudio(this.realtimeMuteAndUnmuteHandler);\\n });\\n }\\n removeObserver() {\\n this.context.realtimeController.realtimeUnsubscribeToMuteAndUnmuteLocalAudio(this.realtimeMuteAndUnmuteHandler);\\n this.context.signalingClient.removeObserver(this);\\n }\\n handleSignalingClientEvent(event) {\\n if (event.type !== SignalingClientEventType_1.default.ReceivedSignalFrame) {\\n return;\\n }\\n if (event.message.type === SignalingProtocol_js_1.SdkSignalFrame.Type.AUDIO_STREAM_ID_INFO) {\\n // @ts-ignore\\n const audioStreamIdInfo = event.message.audioStreamIdInfo;\\n this.context.volumeIndicatorAdapter.sendRealtimeUpdatesForAudioStreamIdInfo(audioStreamIdInfo);\\n }\\n else if (event.message.type === SignalingProtocol_js_1.SdkSignalFrame.Type.AUDIO_METADATA) {\\n // @ts-ignore\\n const audioMetadata = event.message.audioMetadata;\\n this.context.volumeIndicatorAdapter.sendRealtimeUpdatesForAudioMetadata(audioMetadata);\\n }\\n }\\n}\\nexports[\\\"default\\\"] = ListenForVolumeIndicatorsTask;\\n//# sourceMappingURL=ListenForVolumeIndicatorsTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/ListenForVolumeIndicatorsTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/MonitorTask.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/MonitorTask.js ***!\n \\********************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst ClientMetricReportDirection_1 = __webpack_require__(/*! ../clientmetricreport/ClientMetricReportDirection */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportDirection.js\\\");\\nconst ClientMetricReportMediaType_1 = __webpack_require__(/*! ../clientmetricreport/ClientMetricReportMediaType */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportMediaType.js\\\");\\nconst ReconnectionHealthPolicy_1 = __webpack_require__(/*! ../connectionhealthpolicy/ReconnectionHealthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/ReconnectionHealthPolicy.js\\\");\\nconst SendingAudioFailureConnectionHealthPolicy_1 = __webpack_require__(/*! ../connectionhealthpolicy/SendingAudioFailureConnectionHealthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/SendingAudioFailureConnectionHealthPolicy.js\\\");\\nconst UnusableAudioWarningConnectionHealthPolicy_1 = __webpack_require__(/*! ../connectionhealthpolicy/UnusableAudioWarningConnectionHealthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/connectionhealthpolicy/UnusableAudioWarningConnectionHealthPolicy.js\\\");\\nconst MeetingSessionStatus_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatus */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatus.js\\\");\\nconst MeetingSessionStatusCode_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatusCode */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js\\\");\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ../signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nconst SignalingProtocol_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst AudioLogEvent_1 = __webpack_require__(/*! ../statscollector/AudioLogEvent */ \\\"./node_modules/amazon-chime-sdk-js/build/statscollector/AudioLogEvent.js\\\");\\nconst Types_1 = __webpack_require__(/*! ../utils/Types */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Types.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/*\\n * [[MonitorTask]] monitors connections using SignalingAndMetricsConnectionMonitor.\\n */\\nclass MonitorTask extends BaseTask_1.default {\\n constructor(context, connectionHealthPolicyConfiguration, initialConnectionHealthData) {\\n super(context.logger);\\n this.context = context;\\n this.initialConnectionHealthData = initialConnectionHealthData;\\n this.taskName = 'MonitorTask';\\n this.prevSignalStrength = 1;\\n this.currentAvailableStreamAvgBitrates = null;\\n this.hasSignalingError = false;\\n this.presenceHandlerCalled = false;\\n // See comment above invocation of `pauseResubscribeCheck` in `DefaultAudioVideoController`\\n // for explanation.\\n this.isResubscribeCheckPaused = false;\\n this.pendingMetricsReport = undefined;\\n this.isMeetingConnected = false;\\n this.checkAndSendWeakSignalEvent = (signalStrength) => {\\n const isCurrentSignalBad = signalStrength < 1;\\n const isPrevSignalBad = this.prevSignalStrength < 1;\\n const signalStrengthEventType = isCurrentSignalBad\\n ? !isPrevSignalBad\\n ? AudioLogEvent_1.default.RedmicStartLoss\\n : null\\n : isPrevSignalBad\\n ? AudioLogEvent_1.default.RedmicEndLoss\\n : null;\\n if (signalStrengthEventType) {\\n this.context.statsCollector.logAudioEvent(signalStrengthEventType);\\n }\\n this.prevSignalStrength = signalStrength;\\n };\\n this.realtimeFatalErrorCallback = (error) => {\\n this.logger.error(`realtime error: ${error}: ${error.stack}`);\\n this.context.audioVideoController.handleMeetingSessionStatus(new MeetingSessionStatus_1.default(MeetingSessionStatusCode_1.default.RealtimeApiFailed), error);\\n };\\n this.realtimeAttendeeIdPresenceHandler = (presentAttendeeId, present) => {\\n var _a;\\n const attendeeId = this.context.meetingSessionConfiguration.credentials.attendeeId;\\n this.logger.info(`attendeePresenceReceived: ${attendeeId}`);\\n if (attendeeId === presentAttendeeId && present && !this.presenceHandlerCalled) {\\n this.presenceHandlerCalled = true;\\n this.context.attendeePresenceDurationMs = Date.now() - this.context.startAudioVideoTimestamp;\\n (_a = this.context.eventController) === null || _a === void 0 ? void 0 : _a.publishEvent('attendeePresenceReceived', {\\n attendeePresenceDurationMs: this.context.attendeePresenceDurationMs,\\n });\\n }\\n };\\n this.generateBaseAudioVideoEventAttributes = () => {\\n const { signalingOpenDurationMs, startTimeMs, iceGatheringDurationMs, attendeePresenceDurationMs, meetingStartDurationMs, } = this.context;\\n return {\\n meetingDurationMs: startTimeMs === null ? 0 : Math.round(Date.now() - startTimeMs),\\n signalingOpenDurationMs,\\n iceGatheringDurationMs,\\n attendeePresenceDurationMs,\\n meetingStartDurationMs,\\n };\\n };\\n this.generateAudioVideoEventAttributesForReceivingAudioDropped = () => {\\n const baseAttributes = this.generateBaseAudioVideoEventAttributes();\\n return Object.assign(Object.assign({}, baseAttributes), { maxVideoTileCount: this.context.maxVideoTileCount, poorConnectionCount: this.context.poorConnectionCount });\\n };\\n this.reconnectionHealthPolicy = new ReconnectionHealthPolicy_1.default(context.logger, Object.assign({}, connectionHealthPolicyConfiguration), this.initialConnectionHealthData.clone());\\n this.unusableAudioWarningHealthPolicy = new UnusableAudioWarningConnectionHealthPolicy_1.default(Object.assign({}, connectionHealthPolicyConfiguration), this.initialConnectionHealthData.clone());\\n this.sendingAudioFailureHealthPolicy = new SendingAudioFailureConnectionHealthPolicy_1.default(context.logger, Object.assign({}, connectionHealthPolicyConfiguration), this.initialConnectionHealthData.clone());\\n }\\n removeObserver() {\\n this.context.audioVideoController.removeObserver(this);\\n this.context.realtimeController.realtimeUnsubscribeToFatalError(this.realtimeFatalErrorCallback);\\n this.context.realtimeController.realtimeUnsubscribeToLocalSignalStrengthChange(this.checkAndSendWeakSignalEvent);\\n this.context.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(this.realtimeAttendeeIdPresenceHandler);\\n this.context.signalingClient.removeObserver(this);\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.context.removableObservers.push(this);\\n this.context.audioVideoController.addObserver(this);\\n this.context.realtimeController.realtimeSubscribeToFatalError(this.realtimeFatalErrorCallback);\\n this.context.realtimeController.realtimeSubscribeToLocalSignalStrengthChange(this.checkAndSendWeakSignalEvent);\\n this.context.realtimeController.realtimeSubscribeToAttendeeIdPresence(this.realtimeAttendeeIdPresenceHandler);\\n this.context.connectionMonitor.start();\\n this.context.statsCollector.start(this.context.signalingClient, this.context.videoStreamIndex);\\n this.context.signalingClient.registerObserver(this);\\n });\\n }\\n pauseResubscribeCheck() {\\n this.isResubscribeCheckPaused = true;\\n }\\n resumeResubscribeCheck() {\\n if (!this.isResubscribeCheckPaused) {\\n // Do not recheck subcribe if it wasn't paused to begin with.\\n return;\\n }\\n this.isResubscribeCheckPaused = false;\\n if (this.pendingMetricsReport) {\\n this.context.logger.info('Resuming resubscribe check with pending metrics report');\\n if (this.checkResubscribe(this.pendingMetricsReport)) {\\n this.context.audioVideoController.update({ needsRenegotiation: false });\\n }\\n }\\n }\\n videoTileDidUpdate(_tileState) {\\n this.context.maxVideoTileCount = Math.max(this.context.maxVideoTileCount, this.context.videoTileController.getAllVideoTiles().length);\\n }\\n checkResubscribe(clientMetricReport) {\\n if (this.isResubscribeCheckPaused) {\\n this.context.logger.info('Resubscribe check is paused, setting incoming client metric report as pending');\\n this.pendingMetricsReport = clientMetricReport;\\n return;\\n }\\n else {\\n this.pendingMetricsReport = undefined;\\n }\\n const metricReport = clientMetricReport.getObservableMetrics();\\n const availableSendBandwidth = metricReport.availableOutgoingBitrate;\\n const nackCountPerSecond = metricReport.nackCountReceivedPerSecond;\\n let needResubscribe = false;\\n this.context.videoDownlinkBandwidthPolicy.updateMetrics(clientMetricReport);\\n const resubscribeForDownlink = this.context.videoDownlinkBandwidthPolicy.wantsResubscribe();\\n needResubscribe = needResubscribe || resubscribeForDownlink;\\n if (resubscribeForDownlink) {\\n const videoSubscriptionIdSet = this.context.videoDownlinkBandwidthPolicy.chooseSubscriptions();\\n // Same logic as in `ReceiveVideoStreamIndexTask`, immediately truncating rather then truncating on subscribe\\n // avoids any issues with components (e.g. transceiver controller) along the way.\\n this.context.videosToReceive = videoSubscriptionIdSet.truncate(this.context.videoSubscriptionLimit);\\n if (videoSubscriptionIdSet.size() > this.context.videosToReceive.size()) {\\n this.logger.warn(`Video receive limit exceeded. Limiting the videos to ${this.context.videosToReceive.size()}. Please consider using AllHighestVideoBandwidthPolicy or VideoPriorityBasedPolicy along with chooseRemoteVideoSources api to select the video sources to be displayed.`);\\n }\\n this.logger.info(`trigger resubscribe for down=${resubscribeForDownlink}; videosToReceive=[${this.context.videosToReceive.array()}]`);\\n }\\n if (this.context.videoTileController.hasStartedLocalVideoTile()) {\\n this.context.videoUplinkBandwidthPolicy.updateConnectionMetric({\\n uplinkKbps: availableSendBandwidth / 1000,\\n nackCountPerSecond: nackCountPerSecond,\\n });\\n const resubscribeForUplink = this.context.videoUplinkBandwidthPolicy.wantsResubscribe();\\n needResubscribe = needResubscribe || resubscribeForUplink;\\n if (resubscribeForUplink) {\\n this.logger.info(`trigger resubscribe for up=${resubscribeForUplink}; videosToReceive=[${this.context.videosToReceive.array()}]`);\\n this.context.videoUplinkBandwidthPolicy.chooseEncodingParameters();\\n this.context.videoUplinkBandwidthPolicy.chooseMediaTrackConstraints();\\n }\\n }\\n return needResubscribe;\\n }\\n metricsDidReceive(clientMetricReport) {\\n if (this.checkResubscribe(clientMetricReport)) {\\n this.context.audioVideoController.update({ needsRenegotiation: false });\\n }\\n if (!this.currentAvailableStreamAvgBitrates) {\\n return;\\n }\\n const streamMetricReport = clientMetricReport.streamMetricReports;\\n const downlinkVideoStream = new Map();\\n // TODO: move those logic to stats collector.\\n for (const ssrc in streamMetricReport) {\\n if (streamMetricReport[ssrc].mediaType === ClientMetricReportMediaType_1.default.VIDEO &&\\n streamMetricReport[ssrc].direction === ClientMetricReportDirection_1.default.DOWNSTREAM) {\\n downlinkVideoStream.set(streamMetricReport[ssrc].streamId, streamMetricReport[ssrc]);\\n }\\n }\\n }\\n connectionHealthDidChange(connectionHealthData) {\\n if (connectionHealthData.consecutiveMissedPongs === 0) {\\n if (this.context.reconnectController) {\\n this.context.reconnectController.setLastActiveTimestampMs(Date.now());\\n }\\n }\\n this.applyHealthPolicy(this.reconnectionHealthPolicy, connectionHealthData, () => {\\n this.context.audioVideoController.handleMeetingSessionStatus(new MeetingSessionStatus_1.default(MeetingSessionStatusCode_1.default.ConnectionHealthReconnect), null);\\n });\\n this.applyHealthPolicy(this.unusableAudioWarningHealthPolicy, connectionHealthData, () => {\\n var _a;\\n this.context.poorConnectionCount += 1;\\n const attributes = this.generateAudioVideoEventAttributesForReceivingAudioDropped();\\n (_a = this.context.eventController) === null || _a === void 0 ? void 0 : _a.publishEvent('receivingAudioDropped', attributes);\\n if (this.context.videoTileController.haveVideoTilesWithStreams()) {\\n this.context.audioVideoController.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.connectionDidSuggestStopVideo).map(f => f.bind(observer)());\\n });\\n }\\n else {\\n this.context.audioVideoController.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.connectionDidBecomePoor).map(f => f.bind(observer)());\\n });\\n }\\n }, () => {\\n this.context.audioVideoController.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.connectionDidBecomeGood).map(f => f.bind(observer)());\\n });\\n });\\n if (this.isMeetingConnected) {\\n this.applyHealthPolicy(this.sendingAudioFailureHealthPolicy, connectionHealthData, () => {\\n var _a;\\n const attributes = this.generateBaseAudioVideoEventAttributes();\\n (_a = this.context.eventController) === null || _a === void 0 ? void 0 : _a.publishEvent('sendingAudioFailed', attributes);\\n }, () => {\\n var _a;\\n const attributes = this.generateBaseAudioVideoEventAttributes();\\n (_a = this.context.eventController) === null || _a === void 0 ? void 0 : _a.publishEvent('sendingAudioRecovered', attributes);\\n });\\n }\\n }\\n audioVideoDidStart() {\\n this.isMeetingConnected = true;\\n }\\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\\n audioVideoDidStartConnecting(reconnecting) {\\n // The expectation here is that the flag will be set to true again when audioVideoDidStart() is eventually called.\\n this.isMeetingConnected = false;\\n }\\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\\n audioVideoDidStop(sessionStatus) {\\n this.isMeetingConnected = false;\\n }\\n applyHealthPolicy(healthPolicy, connectionHealthData, unhealthyCallback, healthyCallback) {\\n healthPolicy.update(connectionHealthData);\\n const healthValue = healthPolicy.healthIfChanged();\\n if (healthValue !== null) {\\n this.logger.info(`${healthPolicy.name} value is now ${healthValue}`);\\n if (healthValue <= healthPolicy.minimumHealth()) {\\n Types_1.Maybe.of(unhealthyCallback).map(f => f.bind(this)());\\n }\\n else {\\n Types_1.Maybe.of(healthyCallback).map(f => f.bind(this)());\\n }\\n }\\n }\\n handleBitrateFrame(bitrates) {\\n this.currentAvailableStreamAvgBitrates = bitrates;\\n if (bitrates.serverAvailableOutgoingBitrate > 0) {\\n this.logger.info(`Received server side estimation of available incoming bitrate ${bitrates.serverAvailableOutgoingBitrate}kbps`);\\n // This value will be included in the 'Bitrates' signaling message if we are using\\n // server side remote video quality adaption, since if that is the case we will\\n // be using TWCC and will therefore not likely have an estimate on the client\\n // for available incoming bitrate\\n this.context.statsCollector.overrideObservableMetric('availableIncomingBitrate', bitrates.serverAvailableOutgoingBitrate * 1000);\\n }\\n }\\n handleSignalingClientEvent(event) {\\n var _a;\\n // Don't add two or more consecutive \\\"signalingDropped\\\" states.\\n if ((event.type === SignalingClientEventType_1.default.WebSocketClosed &&\\n (event.closeCode === 4410 || (event.closeCode >= 4500 && event.closeCode < 4600))) ||\\n event.type === SignalingClientEventType_1.default.WebSocketError ||\\n event.type === SignalingClientEventType_1.default.WebSocketFailed) {\\n if (!this.hasSignalingError) {\\n const attributes = this.generateAudioVideoEventAttributesForReceivingAudioDropped();\\n (_a = this.context.eventController) === null || _a === void 0 ? void 0 : _a.publishEvent('signalingDropped', attributes);\\n this.hasSignalingError = true;\\n }\\n }\\n else if (event.type === SignalingClientEventType_1.default.WebSocketOpen) {\\n this.hasSignalingError = false;\\n }\\n if (event.type === SignalingClientEventType_1.default.ReceivedSignalFrame) {\\n if (!!event.message.bitrates) {\\n const bitrateFrame = event.message.bitrates;\\n this.context.videoStreamIndex.integrateBitratesFrame(bitrateFrame);\\n this.context.videoDownlinkBandwidthPolicy.updateIndex(this.context.videoStreamIndex);\\n this.handleBitrateFrame(event.message.bitrates);\\n }\\n const status = MeetingSessionStatus_1.default.fromSignalFrame(event.message);\\n // Primary meeting join ack status will be handled by `PromoteToPrimaryMeetingTask`\\n if (event.message.type !== SignalingProtocol_1.SdkSignalFrame.Type.PRIMARY_MEETING_JOIN_ACK &&\\n status.statusCode() !== MeetingSessionStatusCode_1.default.OK) {\\n this.context.audioVideoController.handleMeetingSessionStatus(status, null);\\n }\\n }\\n }\\n}\\nexports[\\\"default\\\"] = MonitorTask;\\n//# sourceMappingURL=MonitorTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/MonitorTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/NoOpTask.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/NoOpTask.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass NoOpTask {\\n cancel() { }\\n name() {\\n return 'NoOpTask';\\n }\\n run() {\\n return Promise.resolve();\\n }\\n setParent(_parentTask) { }\\n}\\nexports[\\\"default\\\"] = NoOpTask;\\n//# sourceMappingURL=NoOpTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/NoOpTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/OnceTask.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/OnceTask.js ***!\n \\*****************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst LogLevel_1 = __webpack_require__(/*! ../logger/LogLevel */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/LogLevel.js\\\");\\nconst AsyncScheduler_1 = __webpack_require__(/*! ../scheduler/AsyncScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/AsyncScheduler.js\\\");\\n/**\\n * A task that wraps another task and ensures it is run only once,\\n * regardless of how many times `run` is called.\\n *\\n * This allows you to implement a kind of barrier synchronization.\\n */\\nclass OnceTask {\\n constructor(logger, task, dependencies) {\\n this.logger = logger;\\n this.task = task;\\n this.dependencies = dependencies;\\n // Whether we have canceled.\\n this.canceled = false;\\n }\\n name() {\\n return `${this.task.name()} (once)`;\\n }\\n cancel() {\\n // We want to preserve one interesting property: the deepest dependency that hasn't\\n // already finished or been canceled is the first to be canceled, and its failure\\n // will propagate back up the promise chain.\\n //\\n // We can't just cancel ourselves with cancelPromise -- we will cut off the rest of\\n // the tree. Nor can we necessarily do it on the same event loop tick, because the\\n // cancelation might be subtly async.\\n //\\n // Instead, we immediately cancel each dependency, and then we cancel the current\\n // task (if it's running), and then we cancel via our promise escape hatch if needed.\\n /* istanbul ignore if */\\n if (this.canceled) {\\n return;\\n }\\n if (this.dependencies) {\\n for (const dep of this.dependencies) {\\n dep.cancel();\\n }\\n }\\n // Do this on the next tick so that our canceled dependencies cascade.\\n this.logger.info(`Canceling ${this.name()}`);\\n AsyncScheduler_1.default.nextTick(() => this.task.cancel());\\n this.canceled = true;\\n if (this.cancelPromise) {\\n AsyncScheduler_1.default.nextTick(() => this.cancelPromise(new Error(`canceling ${this.name()}`)));\\n }\\n }\\n logDependencies() {\\n if (this.logger.getLogLevel() > LogLevel_1.default.INFO) {\\n return;\\n }\\n if (!this.dependencies) {\\n return;\\n }\\n const names = this.dependencies\\n .filter(d => d)\\n .map(d => d.name())\\n .join(', ');\\n this.logger.info(`${this.task.name()} waiting for dependencies: ${names}`);\\n }\\n run() {\\n if (this.promise) {\\n return this.promise;\\n }\\n const dependencies = this.dependencies\\n ? Promise.all(this.dependencies.map(d => d === null || d === void 0 ? void 0 : d.run()))\\n : Promise.resolve();\\n this.logDependencies();\\n this.ongoing = dependencies.then(() => this.task.run());\\n return (this.promise = new Promise((resolve, reject) => {\\n this.cancelPromise = reject;\\n this.ongoing.then(resolve).catch(reject);\\n }));\\n }\\n setParent(parentTask) {\\n this.task.setParent(parentTask);\\n }\\n}\\nexports[\\\"default\\\"] = OnceTask;\\n//# sourceMappingURL=OnceTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/OnceTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/OpenSignalingConnectionTask.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/OpenSignalingConnectionTask.js ***!\n \\************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SignalingClientConnectionRequest_1 = __webpack_require__(/*! ../signalingclient/SignalingClientConnectionRequest */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientConnectionRequest.js\\\");\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ../signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\nclass OpenSignalingConnectionTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'OpenSignalingConnectionTask';\\n this.taskCanceler = null;\\n }\\n cancel() {\\n if (this.taskCanceler) {\\n this.taskCanceler.cancel();\\n this.taskCanceler = null;\\n }\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n const configuration = this.context.meetingSessionConfiguration;\\n this.context.signalingClient.openConnection(new SignalingClientConnectionRequest_1.default(configuration.urls.signalingURL, configuration.credentials.joinToken));\\n const startTimeMs = Date.now();\\n try {\\n yield new Promise((resolve, reject) => {\\n class WebSocketOpenInterceptor {\\n constructor(signalingClient) {\\n this.signalingClient = signalingClient;\\n }\\n cancel() {\\n this.signalingClient.removeObserver(this);\\n reject(new Error(`OpenSignalingConnectionTask got canceled while waiting to open signaling connection`));\\n }\\n handleSignalingClientEvent(event) {\\n switch (event.type) {\\n case SignalingClientEventType_1.default.WebSocketOpen:\\n this.signalingClient.removeObserver(this);\\n resolve();\\n break;\\n case SignalingClientEventType_1.default.WebSocketFailed:\\n this.signalingClient.removeObserver(this);\\n reject(new Error('WebSocket connection failed'));\\n break;\\n }\\n }\\n }\\n const interceptor = new WebSocketOpenInterceptor(this.context.signalingClient);\\n this.context.signalingClient.registerObserver(interceptor);\\n this.taskCanceler = interceptor;\\n });\\n }\\n catch (error) {\\n throw error;\\n }\\n finally {\\n this.context.signalingOpenDurationMs = Math.round(Date.now() - startTimeMs);\\n this.logger.info(`Opening signaling connection took ${this.context.signalingOpenDurationMs} ms`);\\n }\\n });\\n }\\n}\\nexports[\\\"default\\\"] = OpenSignalingConnectionTask;\\n//# sourceMappingURL=OpenSignalingConnectionTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/OpenSignalingConnectionTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/ParallelGroupTask.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/ParallelGroupTask.js ***!\n \\**************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/**\\n * [[ParallelGroupTask]] runs a set of tasks in parallel. When canceled, it\\n * stops any currently running tasks.\\n */\\nclass ParallelGroupTask extends BaseTask_1.default {\\n constructor(logger, taskName, tasksToRunParallel) {\\n super(logger);\\n this.taskName = taskName;\\n this.tasksToRunParallel = tasksToRunParallel;\\n for (const task of tasksToRunParallel) {\\n task.setParent(this);\\n }\\n }\\n cancel() {\\n for (const task of this.tasksToRunParallel) {\\n this.logger.info(`canceling parallel group task ${this.name()} subtask ${task.name()}`);\\n task.cancel();\\n }\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n const taskResults = [];\\n for (const task of this.tasksToRunParallel) {\\n this.logger.info(`parallel group task ${this.name()} running subtask ${task.name()}`);\\n taskResults.push(task.run());\\n }\\n const failures = [];\\n for (let i = 0; i < taskResults.length; i++) {\\n try {\\n yield taskResults[i];\\n }\\n catch (err) {\\n failures.push(`task ${this.tasksToRunParallel[i].name()} failed: ${err.message}`);\\n }\\n this.logger.info(`parallel group task ${this.name()} completed subtask ${this.tasksToRunParallel[i].name()}`);\\n }\\n if (failures.length > 0) {\\n const failureMessage = failures.join(', ');\\n this.logAndThrow(`parallel group task ${this.name()} failed for tasks: ${failureMessage}`);\\n }\\n this.logger.info(`parallel group task ${this.name()} completed`);\\n });\\n }\\n}\\nexports[\\\"default\\\"] = ParallelGroupTask;\\n//# sourceMappingURL=ParallelGroupTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/ParallelGroupTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/PromoteToPrimaryMeetingTask.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/PromoteToPrimaryMeetingTask.js ***!\n \\************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst __1 = __webpack_require__(/*! .. */ \\\"./node_modules/amazon-chime-sdk-js/build/index.js\\\");\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ../signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/**\\n * [[PromoteToPrimaryMeetingTask]] sends a `SdkSignalFrame.PrimaryMeetingJoin` and waits for\\n * a `SdkSignalFrame.PrimaryMeetingJoinAck` frame.\\n */\\nclass PromoteToPrimaryMeetingTask extends BaseTask_1.default {\\n constructor(context, credentials, completionCallback) {\\n super(context.logger);\\n this.context = context;\\n this.credentials = credentials;\\n this.completionCallback = completionCallback;\\n this.taskName = 'PromoteToPrimaryMeetingTask';\\n this.taskCanceler = null;\\n }\\n cancel() {\\n if (this.taskCanceler) {\\n this.taskCanceler.cancel();\\n this.taskCanceler = null;\\n }\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.context.signalingClient.ready()) {\\n this.context.signalingClient.promoteToPrimaryMeeting(this.credentials);\\n this.context.logger.info('Sent request to join primary meeting');\\n yield this.receivePrimaryMeetingJoinAck();\\n }\\n else {\\n this.completionCallback(new __1.MeetingSessionStatus(__1.MeetingSessionStatusCode.SignalingRequestFailed));\\n }\\n });\\n }\\n receivePrimaryMeetingJoinAck() {\\n return new Promise((resolve, _) => {\\n class Interceptor {\\n constructor(signalingClient, completionCallback, logger) {\\n this.signalingClient = signalingClient;\\n this.completionCallback = completionCallback;\\n this.logger = logger;\\n }\\n cancel() {\\n this.signalingClient.removeObserver(this);\\n // Currently only cancel would come from timeout. Should\\n // be rare enough (ignoring bugs) that we don't need to bother\\n // retrying.\\n this.completionCallback(new __1.MeetingSessionStatus(__1.MeetingSessionStatusCode.SignalingRequestFailed));\\n resolve();\\n }\\n handleSignalingClientEvent(event) {\\n if (event.isConnectionTerminated()) {\\n this.signalingClient.removeObserver(this);\\n this.logger.info('PromoteToPrimaryMeetingTask connection terminated');\\n // This would happen either in happy or unhappy disconnections. The\\n // timing here is rare enough (ignoring bugs) that we don't need to bother\\n // retrying the unhappy case.\\n this.completionCallback(new __1.MeetingSessionStatus(__1.MeetingSessionStatusCode.SignalingRequestFailed));\\n resolve();\\n }\\n if (event.type === SignalingClientEventType_1.default.ReceivedSignalFrame &&\\n event.message.type === SignalingProtocol_js_1.SdkSignalFrame.Type.PRIMARY_MEETING_JOIN_ACK) {\\n this.signalingClient.removeObserver(this);\\n this.logger.info('Got a primary meeting join ACK');\\n this.completionCallback(__1.MeetingSessionStatus.fromSignalFrame(event.message));\\n resolve();\\n }\\n }\\n }\\n const interceptor = new Interceptor(this.context.signalingClient, this.completionCallback, this.context.logger);\\n this.taskCanceler = interceptor;\\n this.context.signalingClient.registerObserver(interceptor);\\n });\\n }\\n}\\nexports[\\\"default\\\"] = PromoteToPrimaryMeetingTask;\\n//# sourceMappingURL=PromoteToPrimaryMeetingTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/PromoteToPrimaryMeetingTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/ReceiveAudioInputTask.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/ReceiveAudioInputTask.js ***!\n \\******************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/**\\n * [[ReceiveAudioInputTask]] acquires an audio input.\\n */\\nclass ReceiveAudioInputTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'ReceiveAudioInputTask';\\n }\\n run() {\\n var _a, _b;\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!((_b = (_a = this.context.meetingSessionConfiguration) === null || _a === void 0 ? void 0 : _a.urls) === null || _b === void 0 ? void 0 : _b.audioHostURL)) {\\n this.context.logger.info('No audio connection: not acquiring audio input');\\n return;\\n }\\n if (this.context.activeAudioInput) {\\n this.context.logger.info('an active audio input exists');\\n return;\\n }\\n let audioInput;\\n try {\\n audioInput = yield this.context.mediaStreamBroker.acquireAudioInputStream();\\n }\\n catch (error) {\\n this.context.logger.warn('could not acquire audio input from current device');\\n }\\n if (audioInput) {\\n this.context.activeAudioInput = audioInput;\\n }\\n else {\\n this.context.logger.warn('an audio input is not available');\\n }\\n });\\n }\\n}\\nexports[\\\"default\\\"] = ReceiveAudioInputTask;\\n//# sourceMappingURL=ReceiveAudioInputTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/ReceiveAudioInputTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/ReceiveRemoteVideoPauseResumeTask.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/ReceiveRemoteVideoPauseResumeTask.js ***!\n \\******************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ../signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/*\\n * [[ReceiveRemoteVideoPauseResume]] receives [[SdkPauseFrame]] from the server side (only if\\n * `VideoDownlinkBandwidthPolicy.getServerSideNetworkAdaption()` == `BandwidthProbingAndRemoteVideoQualityAdaption`)\\n * which indicates remote video sources that have been paused or resumed and updates [[VideoDownlinkBandwidthPolicy]]\\n * and [[VideoTileController]]\\n */\\nclass ReceiveRemoteVideoPauseResume extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'ReceiveRemoteVideoPauseResume';\\n this.serverPausedVideoTileIds = new Set();\\n }\\n removeObserver() {\\n this.context.signalingClient.removeObserver(this);\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.context.signalingClient.registerObserver(this);\\n this.context.removableObservers.push(this);\\n });\\n }\\n handleSignalingClientEvent(event) {\\n if (event.type !== SignalingClientEventType_1.default.ReceivedSignalFrame ||\\n (event.message.type !== SignalingProtocol_js_1.SdkSignalFrame.Type.PAUSE &&\\n event.message.type !== SignalingProtocol_js_1.SdkSignalFrame.Type.RESUME)) {\\n return;\\n }\\n // @ts-ignore: force cast to SdkPauseFrame\\n const pauseResumeFrame = event.message.pause;\\n const messageType = event.message.type;\\n this.context.logger.info(`received new ${messageType === SignalingProtocol_js_1.SdkSignalFrame.Type.PAUSE ? 'pause' : 'resume'} frame: ${JSON.stringify(pauseResumeFrame)}`);\\n if (!pauseResumeFrame ||\\n this.context.videoTileController.getVideoTileForAttendeeId === undefined ||\\n this.context.videoDownlinkBandwidthPolicy.forEachObserver === undefined ||\\n this.context.videoStreamIndex.attendeeIdForGroupId === undefined) {\\n return;\\n }\\n const tiles = pauseResumeFrame.groupIds.map((groupId) => {\\n const attendeeId = this.context.videoStreamIndex.attendeeIdForGroupId(groupId);\\n return this.context.videoTileController.getVideoTileForAttendeeId(attendeeId);\\n });\\n for (const tile of tiles) {\\n if (tile === undefined) {\\n continue;\\n }\\n if (messageType === SignalingProtocol_js_1.SdkSignalFrame.Type.PAUSE) {\\n if (!tile.state().paused) {\\n this.serverPausedVideoTileIds.add(tile.id());\\n this.context.videoDownlinkBandwidthPolicy.forEachObserver((observer) => {\\n observer.tileWillBePausedByDownlinkPolicy(tile.id());\\n });\\n // This circumvents the tile controller so it will not send\\n // any signaling messages to server side.\\n tile.pause();\\n }\\n }\\n else {\\n if (tile.state().paused && this.serverPausedVideoTileIds.has(tile.id())) {\\n this.serverPausedVideoTileIds.delete(tile.id());\\n this.context.videoDownlinkBandwidthPolicy.forEachObserver((observer) => {\\n observer.tileWillBeUnpausedByDownlinkPolicy(tile.id());\\n });\\n // See comment above.\\n tile.unpause();\\n }\\n }\\n }\\n }\\n}\\nexports[\\\"default\\\"] = ReceiveRemoteVideoPauseResume;\\n//# sourceMappingURL=ReceiveRemoteVideoPauseResumeTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/ReceiveRemoteVideoPauseResumeTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/ReceiveTURNCredentialsTask.js\":\n/*!***********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/ReceiveTURNCredentialsTask.js ***!\n \\***********************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst MeetingSessionStatusCode_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatusCode */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js\\\");\\nconst MeetingSessionTURNCredentials_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionTURNCredentials */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionTURNCredentials.js\\\");\\nconst DefaultModality_1 = __webpack_require__(/*! ../modality/DefaultModality */ \\\"./node_modules/amazon-chime-sdk-js/build/modality/DefaultModality.js\\\");\\nconst Versioning_1 = __webpack_require__(/*! ../versioning/Versioning */ \\\"./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/*\\n * [[ReceiveTURNCredentialsTask]] asynchronously retrieves TURN credentials.\\n */\\nclass ReceiveTURNCredentialsTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'ReceiveTURNCredentialsTask';\\n this.url = context.meetingSessionConfiguration.urls.turnControlURL;\\n this.meetingId = context.meetingSessionConfiguration.meetingId;\\n this.joinToken = context.meetingSessionConfiguration.credentials.joinToken;\\n }\\n cancel() {\\n // Just in case. The baseCancel behavior should prevent this.\\n /* istanbul ignore else */\\n if (this.cancelPromise) {\\n const error = new Error(`canceling ${this.name()}`);\\n this.cancelPromise(error);\\n delete this.cancelPromise;\\n }\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.context.turnCredentials) {\\n this.context.logger.info('TURN credentials available, skipping credentials fetch');\\n return;\\n }\\n this.context.logger.error('missing TURN credentials - falling back to fetch');\\n if (!this.url) {\\n this.context.logger.info('TURN control url not supplied, skipping credentials fetch');\\n return;\\n }\\n const options = {\\n method: 'POST',\\n mode: 'cors',\\n cache: 'no-cache',\\n credentials: 'omit',\\n headers: {\\n 'Content-Type': 'application/json',\\n 'X-Chime-Auth-Token': '_aws_wt_session=' + new DefaultModality_1.default(this.joinToken).base(),\\n },\\n redirect: 'follow',\\n referrer: 'no-referrer',\\n body: JSON.stringify({ meetingId: this.meetingId }),\\n };\\n this.context.logger.info(`requesting TURN credentials from ${this.url}`);\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n const responseBodyJson = yield new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\\n this.cancelPromise = (error) => {\\n reject(error);\\n };\\n try {\\n const responseBody = yield fetch(Versioning_1.default.urlWithVersion(this.url), options);\\n this.context.logger.info(`received TURN credentials`);\\n if (responseBody.status && responseBody.status === 403) {\\n reject(new Error(`canceling ${this.name()} due to the meeting status code: ${MeetingSessionStatusCode_1.default.TURNCredentialsForbidden}`));\\n return;\\n }\\n if (responseBody.status && responseBody.status === 404) {\\n reject(new Error(`canceling ${this.name()} due to the meeting status code: ${MeetingSessionStatusCode_1.default.MeetingEnded}`));\\n return;\\n }\\n resolve(yield responseBody.json());\\n }\\n catch (error) {\\n reject(error);\\n }\\n finally {\\n delete this.cancelPromise;\\n }\\n }));\\n this.context.turnCredentials = new MeetingSessionTURNCredentials_1.default();\\n this.context.turnCredentials.password = responseBodyJson.password;\\n this.context.turnCredentials.ttl = responseBodyJson.ttl;\\n this.context.turnCredentials.uris = responseBodyJson.uris\\n .map((uri) => {\\n return this.context.meetingSessionConfiguration.urls.urlRewriter(uri);\\n })\\n .filter((uri) => {\\n return !!uri;\\n });\\n this.context.turnCredentials.username = responseBodyJson.username;\\n });\\n }\\n}\\nexports[\\\"default\\\"] = ReceiveTURNCredentialsTask;\\n//# sourceMappingURL=ReceiveTURNCredentialsTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/ReceiveTURNCredentialsTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/ReceiveVideoInputTask.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/ReceiveVideoInputTask.js ***!\n \\******************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultModality_1 = __webpack_require__(/*! ../modality/DefaultModality */ \\\"./node_modules/amazon-chime-sdk-js/build/modality/DefaultModality.js\\\");\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/**\\n * [[ReceiveVideoInputTask]] acquires a video input from [[DeviceController]].\\n */\\nclass ReceiveVideoInputTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'ReceiveVideoInputTask';\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n // TODO: move videoDuplexMode and videoCaptureAndEncodeParameters to video tile controller\\n const receiveEnabled = this.context.videoDuplexMode === SignalingProtocol_js_1.SdkStreamServiceType.RX ||\\n this.context.videoDuplexMode === SignalingProtocol_js_1.SdkStreamServiceType.DUPLEX;\\n if (this.context.videoTileController.hasStartedLocalVideoTile()) {\\n this.context.videoDuplexMode = receiveEnabled\\n ? SignalingProtocol_js_1.SdkStreamServiceType.DUPLEX\\n : SignalingProtocol_js_1.SdkStreamServiceType.TX;\\n }\\n else {\\n this.context.videoDuplexMode = receiveEnabled ? SignalingProtocol_js_1.SdkStreamServiceType.RX : 0;\\n }\\n this.context.videoCaptureAndEncodeParameter = this.context.videoUplinkBandwidthPolicy.chooseCaptureAndEncodeParameters();\\n if (!this.context.videoTileController.hasStartedLocalVideoTile()) {\\n this.context.logger.info('has not started local video tile');\\n if (this.context.activeVideoInput) {\\n this.context.activeVideoInput = undefined;\\n // Indicate to the stream index that we are no longer sending video. We will\\n // no longer be tracking irrelevant local sending bitrates sent via received Bitrate message, nor will\\n // we track any spurious allocated stream IDs from the backend.\\n this.context.videoStreamIndex.integrateUplinkPolicyDecision([]);\\n }\\n return;\\n }\\n // TODO: bind after ICE connection started in case of a failure to resubscribe\\n // or perform error handling to unbind video stream.\\n const localTile = this.context.videoTileController.getLocalVideoTile();\\n let videoInput = undefined;\\n try {\\n videoInput = yield this.context.mediaStreamBroker.acquireVideoInputStream();\\n }\\n catch (error) {\\n this.context.logger.warn('could not acquire video input from current device');\\n this.context.videoTileController.stopLocalVideoTile();\\n }\\n if (this.context.enableSimulcast) {\\n const encodingParams = this.context.videoUplinkBandwidthPolicy.chooseEncodingParameters();\\n this.context.videoStreamIndex.integrateUplinkPolicyDecision(Array.from(encodingParams.values()));\\n }\\n this.context.activeVideoInput = videoInput;\\n if (videoInput) {\\n const videoTracks = videoInput.getVideoTracks();\\n // There can be a race condition when there are several audioVideo.update calls (e.g., calling\\n // startLocalVideoTile and stopLocalVideoTile at the same time)\\n // that causes the video stream to not contain any video track.\\n // This should recovers in the next update call.\\n if (!videoTracks || videoTracks.length === 0) {\\n return;\\n }\\n const attendeeId = this.context.meetingSessionConfiguration.credentials.attendeeId;\\n const isContentAttendee = new DefaultModality_1.default(attendeeId).hasModality(DefaultModality_1.default.MODALITY_CONTENT);\\n const trackSettings = videoTracks[0].getSettings();\\n // apply video track constraints for content share\\n if (isContentAttendee) {\\n const constraint = {\\n width: { ideal: 1920 },\\n height: { ideal: 1080 },\\n frameRate: { ideal: 30 },\\n };\\n this.context.logger.info(`Video track (content = ${isContentAttendee}) with constraint: ${JSON.stringify(constraint)}, trackSettings: ${JSON.stringify(trackSettings)}`);\\n try {\\n yield videoTracks[0].applyConstraints(constraint);\\n }\\n catch (error) {\\n this.context.logger.info('Could not apply constraint for video track (content = ${isContentAttendee})');\\n }\\n }\\n // For video, we currently enforce 720p for simulcast. This logic should be removed in the future.\\n if (this.context.enableSimulcast && !isContentAttendee) {\\n const constraint = this.context.videoUplinkBandwidthPolicy.chooseMediaTrackConstraints();\\n this.context.logger.info(`simulcast: choose constraint ${JSON.stringify(constraint)}`);\\n try {\\n yield videoTracks[0].applyConstraints(constraint);\\n }\\n catch (error) {\\n this.context.logger.info('simulcast: pass video without more constraint');\\n }\\n }\\n const externalUserId = this.context.audioVideoController.configuration.credentials\\n .externalUserId;\\n localTile.bindVideoStream(attendeeId, true, videoInput, trackSettings.width, trackSettings.height, null, externalUserId);\\n for (let i = 0; i < videoTracks.length; i++) {\\n const track = videoTracks[i];\\n this.logger.info(`using video device label=${track.label} id=${track.id}`);\\n this.context.videoDeviceInformation['current_camera_name'] = track.label;\\n this.context.videoDeviceInformation['current_camera_id'] = track.id;\\n }\\n }\\n });\\n }\\n}\\nexports[\\\"default\\\"] = ReceiveVideoInputTask;\\n//# sourceMappingURL=ReceiveVideoInputTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/ReceiveVideoInputTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/ReceiveVideoStreamIndexTask.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/ReceiveVideoStreamIndexTask.js ***!\n \\************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst MeetingSessionVideoAvailability_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionVideoAvailability */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionVideoAvailability.js\\\");\\nconst DefaultModality_1 = __webpack_require__(/*! ../modality/DefaultModality */ \\\"./node_modules/amazon-chime-sdk-js/build/modality/DefaultModality.js\\\");\\nconst VideoCodecCapability_1 = __webpack_require__(/*! ../sdp/VideoCodecCapability */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/VideoCodecCapability.js\\\");\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ../signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst Types_1 = __webpack_require__(/*! ../utils/Types */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Types.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/*\\n * [[ReceiveVideoStreamIndexTask]] receives [[SdkIndexFrame]] and updates [[VideoUplinkBandwidthPolicy]] and [[VideoDownlinkBandwidthPolicy]].\\n */\\nclass ReceiveVideoStreamIndexTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'ReceiveVideoStreamIndexTask';\\n // See comment above invocation of `pauseIngestion` in `DefaultAudioVideoController`\\n // for explanation.\\n this.isIngestionPaused = false;\\n this.pendingIndex = null;\\n }\\n removeObserver() {\\n this.context.signalingClient.removeObserver(this);\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.handleIndexFrame(this.context.indexFrame);\\n this.context.signalingClient.registerObserver(this);\\n this.context.removableObservers.push(this);\\n });\\n }\\n handleSignalingClientEvent(event) {\\n if (event.type !== SignalingClientEventType_1.default.ReceivedSignalFrame ||\\n event.message.type !== SignalingProtocol_js_1.SdkSignalFrame.Type.INDEX) {\\n return;\\n }\\n // @ts-ignore: force cast to SdkIndexFrame\\n const indexFrame = event.message.index;\\n this.context.logger.info(`received new index ${JSON.stringify(indexFrame)}`);\\n this.handleIndexFrame(indexFrame);\\n }\\n pauseIngestion() {\\n this.isIngestionPaused = true;\\n }\\n resumeIngestion() {\\n if (!this.isIngestionPaused) {\\n // Do not recheck subcribe if it wasn't paused to begin with.\\n return;\\n }\\n this.isIngestionPaused = false;\\n if (this.pendingIndex) {\\n this.context.logger.info('Resuming index ingestion with pending index');\\n this.handleIndexFrame(this.pendingIndex);\\n }\\n }\\n handleIndexFrame(indexFrame) {\\n if (!indexFrame) {\\n return;\\n }\\n if (this.isIngestionPaused) {\\n this.context.logger.info(`Index ingestion is paused, setting most recent index as pending`);\\n this.pendingIndex = indexFrame;\\n return;\\n }\\n else {\\n this.pendingIndex = null;\\n }\\n // Filter out self content share video\\n const selfAttendeeId = this.context.audioVideoController.configuration.credentials.attendeeId;\\n indexFrame.sources = indexFrame.sources.filter(source => {\\n const modality = new DefaultModality_1.default(source.attendeeId);\\n return !(modality.base() === selfAttendeeId && modality.hasModality(DefaultModality_1.default.MODALITY_CONTENT));\\n });\\n const { videoStreamIndex, videoDownlinkBandwidthPolicy, videoUplinkBandwidthPolicy, } = this.context;\\n const oldVideoSources = videoStreamIndex.allVideoSendingSourcesExcludingSelf(selfAttendeeId);\\n videoStreamIndex.integrateIndexFrame(indexFrame);\\n videoDownlinkBandwidthPolicy.updateIndex(videoStreamIndex);\\n videoUplinkBandwidthPolicy.updateIndex(videoStreamIndex);\\n this.resubscribe(videoDownlinkBandwidthPolicy, videoUplinkBandwidthPolicy);\\n this.updateVideoAvailability(indexFrame);\\n this.handleIndexVideosPausedAtSource();\\n if (indexFrame.supportedReceiveCodecIntersection.length > 0) {\\n this.handleSupportedVideoReceiveCodecIntersection(indexFrame);\\n }\\n // `forEachObserver`is asynchronous anyways so it doesn't matter (for better or worse) whether we\\n // trigger it before or after the policy update + possible resubscribe kickoff\\n const newVideoSources = videoStreamIndex.allVideoSendingSourcesExcludingSelf(selfAttendeeId);\\n if (!this.areVideoSourcesEqual(oldVideoSources, newVideoSources)) {\\n this.context.audioVideoController.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.remoteVideoSourcesDidChange).map(f => f.bind(observer)(newVideoSources));\\n });\\n }\\n }\\n areVideoSourcesEqual(oldVideoSources, newVideoSources) {\\n if (oldVideoSources.length !== newVideoSources.length) {\\n return false;\\n }\\n const compare = (videoSourceA, videoSourceB) => videoSourceA.attendee.attendeeId.localeCompare(videoSourceB.attendee.attendeeId);\\n const sortedOldVideoSources = [...oldVideoSources].sort(compare);\\n const sortedNewVideoSources = [...newVideoSources].sort(compare);\\n for (let i = 0; i < sortedOldVideoSources.length; i++) {\\n if (sortedOldVideoSources[i].attendee.attendeeId !==\\n sortedNewVideoSources[i].attendee.attendeeId) {\\n return false;\\n }\\n }\\n return true;\\n }\\n resubscribe(videoDownlinkBandwidthPolicy, videoUplinkBandwidthPolicy) {\\n const resubscribeForDownlink = videoDownlinkBandwidthPolicy.wantsResubscribe();\\n const resubscribeForUplink = (this.context.videoDuplexMode === SignalingProtocol_js_1.SdkStreamServiceType.TX ||\\n this.context.videoDuplexMode === SignalingProtocol_js_1.SdkStreamServiceType.DUPLEX) &&\\n videoUplinkBandwidthPolicy.wantsResubscribe();\\n const shouldResubscribe = resubscribeForDownlink || resubscribeForUplink;\\n this.logger.info(`should resubscribe: ${shouldResubscribe} (downlink: ${resubscribeForDownlink} uplink: ${resubscribeForUplink})`);\\n if (!shouldResubscribe) {\\n return;\\n }\\n const videoSubscriptionIdSet = videoDownlinkBandwidthPolicy.chooseSubscriptions();\\n this.context.videosToReceive = videoSubscriptionIdSet.truncate(this.context.videoSubscriptionLimit);\\n if (videoSubscriptionIdSet.size() > this.context.videosToReceive.size()) {\\n this.logger.warn(`Video receive limit exceeded. Limiting the videos to ${this.context.videosToReceive.size()}. Please consider using AllHighestVideoBandwidthPolicy or VideoPriorityBasedPolicy along with chooseRemoteVideoSources api to select the video sources to be displayed.`);\\n }\\n this.context.videoCaptureAndEncodeParameter = videoUplinkBandwidthPolicy.chooseCaptureAndEncodeParameters();\\n this.logger.info(`trigger resubscribe for up=${resubscribeForUplink} down=${resubscribeForDownlink}; videosToReceive=[${this.context.videosToReceive.array()}] captureParams=${JSON.stringify(this.context.videoCaptureAndEncodeParameter)}`);\\n this.context.audioVideoController.update({ needsRenegotiation: false });\\n }\\n updateVideoAvailability(indexFrame) {\\n if (!this.context.videosToReceive) {\\n this.logger.error('videosToReceive must be set in the meeting context.');\\n return;\\n }\\n const videoAvailability = new MeetingSessionVideoAvailability_1.default();\\n videoAvailability.remoteVideoAvailable = !this.context.videosToReceive.empty();\\n videoAvailability.canStartLocalVideo = !indexFrame.atCapacity;\\n if (!this.context.lastKnownVideoAvailability ||\\n !this.context.lastKnownVideoAvailability.equal(videoAvailability)) {\\n this.context.lastKnownVideoAvailability = videoAvailability.clone();\\n this.context.audioVideoController.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.videoAvailabilityDidChange).map(f => f.bind(observer)(videoAvailability.clone()));\\n });\\n }\\n }\\n handleSupportedVideoReceiveCodecIntersection(index) {\\n if (this.context.videoSendCodecPreferences === undefined) {\\n return;\\n }\\n const newMeetingSupportedVideoSendCodecPreferences = [];\\n let willNeedUpdate = false;\\n // Intersect `this.context.videoSendCodecPreferences` with `index.supportedReceiveCodecIntersection`\\n for (const capability of this.context.videoSendCodecPreferences) {\\n let codecSupported = false;\\n for (const signaledCapability of index.supportedReceiveCodecIntersection) {\\n if (capability.equals(VideoCodecCapability_1.default.fromSignaled(signaledCapability))) {\\n codecSupported = true;\\n newMeetingSupportedVideoSendCodecPreferences.push(capability);\\n break;\\n }\\n }\\n // We need to renegotiate if we are currently sending a codec that is no longer supported in the call.\\n if (this.context.currentVideoSendCodec !== undefined &&\\n !codecSupported &&\\n capability.equals(this.context.currentVideoSendCodec)) {\\n willNeedUpdate = true;\\n }\\n }\\n if (newMeetingSupportedVideoSendCodecPreferences.length > 0) {\\n this.context.meetingSupportedVideoSendCodecPreferences = newMeetingSupportedVideoSendCodecPreferences;\\n }\\n else {\\n this.logger.warn('Interesection of meeting receive codec support and send codec preferences has no overlap, falling back to just values provided in `setVideoCodecSendPreferences`');\\n this.context.meetingSupportedVideoSendCodecPreferences = undefined;\\n }\\n if (willNeedUpdate) {\\n this.context.audioVideoController.update({ needsRenegotiation: true });\\n }\\n }\\n handleIndexVideosPausedAtSource() {\\n const streamsPausedAtSource = this.context.videoStreamIndex.streamsPausedAtSource();\\n for (const tile of this.context.videoTileController.getAllVideoTiles()) {\\n const tileState = tile.state();\\n if (streamsPausedAtSource.contain(tileState.streamId)) {\\n if (tile.markPoorConnection()) {\\n this.logger.info(`marks the tile ${tileState.tileId} as having a poor connection`);\\n }\\n }\\n else {\\n if (tile.unmarkPoorConnection()) {\\n this.logger.info(`unmarks the tile ${tileState.tileId} as having a poor connection`);\\n }\\n }\\n }\\n }\\n}\\nexports[\\\"default\\\"] = ReceiveVideoStreamIndexTask;\\n//# sourceMappingURL=ReceiveVideoStreamIndexTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/ReceiveVideoStreamIndexTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/RunnableTask.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/RunnableTask.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/**\\n * [[RunnableTask]] Task wrapper for any Promised-operation\\n */\\nclass RunnableTask extends BaseTask_1.default {\\n constructor(logger, fn, taskName = 'RunnableTask') {\\n super(logger);\\n this.fn = fn;\\n this.taskName = taskName;\\n }\\n run() {\\n return this.fn().then(() => { });\\n }\\n}\\nexports[\\\"default\\\"] = RunnableTask;\\n//# sourceMappingURL=RunnableTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/RunnableTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/SendAndReceiveDataMessagesTask.js\":\n/*!***************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/SendAndReceiveDataMessagesTask.js ***!\n \\***************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DataMessage_1 = __webpack_require__(/*! ../datamessage/DataMessage */ \\\"./node_modules/amazon-chime-sdk-js/build/datamessage/DataMessage.js\\\");\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ../signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\nclass SendAndReceiveDataMessagesTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'SendAndReceiveDataMessagesTask';\\n this.sendDataMessageHandler = (topic, data, // eslint-disable-line @typescript-eslint/no-explicit-any\\n lifetimeMs) => {\\n if (this.context.signalingClient.ready()) {\\n let uint8Data;\\n if (data instanceof Uint8Array) {\\n uint8Data = data;\\n }\\n else if (typeof data === 'string') {\\n uint8Data = new TextEncoder().encode(data);\\n }\\n else {\\n uint8Data = new TextEncoder().encode(JSON.stringify(data));\\n }\\n this.validateDataMessage(topic, uint8Data, lifetimeMs);\\n const message = SignalingProtocol_js_1.SdkDataMessagePayload.create();\\n message.topic = topic;\\n message.lifetimeMs = lifetimeMs;\\n message.data = uint8Data;\\n const messageFrame = SignalingProtocol_js_1.SdkDataMessageFrame.create();\\n messageFrame.messages = [message];\\n this.context.signalingClient.sendDataMessage(messageFrame);\\n }\\n else {\\n this.context.logger.error('Signaling client is not ready');\\n }\\n };\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.context.removableObservers.push(this);\\n this.context.signalingClient.registerObserver(this);\\n this.context.realtimeController.realtimeSubscribeToSendDataMessage(this.sendDataMessageHandler);\\n });\\n }\\n removeObserver() {\\n this.context.realtimeController.realtimeUnsubscribeFromSendDataMessage(this.sendDataMessageHandler);\\n this.context.signalingClient.removeObserver(this);\\n }\\n handleSignalingClientEvent(event) {\\n if (event.type === SignalingClientEventType_1.default.ReceivedSignalFrame &&\\n event.message.type === SignalingProtocol_js_1.SdkSignalFrame.Type.DATA_MESSAGE) {\\n for (const message of event.message.dataMessage.messages) {\\n const dataMessage = new DataMessage_1.default(message.ingestTimeNs / 1000000, message.topic, message.data, message.senderAttendeeId, message.senderExternalUserId, message.ingestTimeNs === 0);\\n this.context.realtimeController.realtimeReceiveDataMessage(dataMessage);\\n }\\n }\\n }\\n validateDataMessage(topic, data, lifetimeMs) {\\n if (!SendAndReceiveDataMessagesTask.TOPIC_REGEX.test(topic)) {\\n throw new Error('Invalid topic');\\n }\\n if (data.length > SendAndReceiveDataMessagesTask.DATA_SIZE) {\\n throw new Error('Data size has to be less than 2048 bytes');\\n }\\n if (lifetimeMs && lifetimeMs < 0) {\\n throw new Error('The life time of the message has to be non negative');\\n }\\n }\\n}\\nexports[\\\"default\\\"] = SendAndReceiveDataMessagesTask;\\nSendAndReceiveDataMessagesTask.TOPIC_REGEX = new RegExp(/^[a-zA-Z0-9_-]{1,36}$/);\\nSendAndReceiveDataMessagesTask.DATA_SIZE = 2048;\\n//# sourceMappingURL=SendAndReceiveDataMessagesTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/SendAndReceiveDataMessagesTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/SerialGroupTask.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/SerialGroupTask.js ***!\n \\************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\nconst TaskStatus_1 = __webpack_require__(/*! ./TaskStatus */ \\\"./node_modules/amazon-chime-sdk-js/build/task/TaskStatus.js\\\");\\n/**\\n * [[SerialGroupTask]] runs a set of tasks in series. When canceled, it stops\\n * any currently running task and runs no further tasks in the group.\\n */\\nclass SerialGroupTask extends BaseTask_1.default {\\n constructor(logger, taskName, tasksToRunSerially) {\\n super(logger);\\n this.taskName = taskName;\\n this.tasksToRunSerially = tasksToRunSerially;\\n this.currentTask = null;\\n for (const task of tasksToRunSerially) {\\n task.setParent(this);\\n }\\n }\\n cancel() {\\n if (this.currentTask) {\\n this.logger.info(`canceling serial group task ${this.name()} subtask ${this.currentTask.name()}`);\\n this.currentTask.cancel();\\n }\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n for (const task of this.tasksToRunSerially) {\\n if (this.getStatus() === TaskStatus_1.default.CANCELED) {\\n this.logAndThrow(`serial group task ${this.name()} was canceled`);\\n }\\n try {\\n this.logger.info(`serial group task ${this.name()} running subtask ${task.name()}`);\\n this.currentTask = task;\\n yield task.run();\\n this.logger.info(`serial group task ${this.name()} completed subtask ${task.name()}`);\\n }\\n catch (err) {\\n this.logAndThrow(`serial group task ${this.name()} was canceled due to subtask ` +\\n `${this.currentTask.name()} error: ${err.message}`);\\n }\\n finally {\\n this.currentTask = null;\\n }\\n }\\n this.logger.info(`serial group task ${this.name()} completed`);\\n });\\n }\\n}\\nexports[\\\"default\\\"] = SerialGroupTask;\\n//# sourceMappingURL=SerialGroupTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/SerialGroupTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/SetLocalDescriptionTask.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/SetLocalDescriptionTask.js ***!\n \\********************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nconst SDP_1 = __webpack_require__(/*! ../sdp/SDP */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/SDP.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/*\\n * [[SetLocalDescriptionTask]] asynchronously calls [[setLocalDescription]] on peer connection.\\n */\\nclass SetLocalDescriptionTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'SetLocalDescriptionTask';\\n }\\n cancel() {\\n // Just in case. The baseCancel behavior should prevent this.\\n /* istanbul ignore else */\\n if (this.cancelPromise) {\\n const error = new Error(`canceling ${this.name()}`);\\n this.cancelPromise(error);\\n delete this.cancelPromise;\\n }\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n const peer = this.context.peer;\\n const sdpOfferInit = this.context.sdpOfferInit;\\n let sdp = sdpOfferInit.sdp;\\n if (this.context.browserBehavior.supportsVideoLayersAllocationRtpHeaderExtension()) {\\n // This will be negotiatiated with backend, and we will only use it to skip resubscribes\\n // if we confirm support/negotiation via `RTCRtpTranceiver.sender.getParams`\\n sdp = new SDP_1.default(sdp).withVideoLayersAllocationRtpHeaderExtension(this.context.previousSdpOffer)\\n .sdp;\\n }\\n if (new DefaultBrowserBehavior_1.default().requiresDisablingH264Encoding()) {\\n sdp = new SDP_1.default(sdp).removeH264SupportFromSendSection().sdp;\\n }\\n if (this.context.videoSendCodecPreferences !== undefined &&\\n this.context.videoSendCodecPreferences.length > 0) {\\n sdp = new SDP_1.default(sdp).withVideoSendCodecPreferences(this.context.meetingSupportedVideoSendCodecPreferences !== undefined\\n ? this.context.meetingSupportedVideoSendCodecPreferences\\n : this.context.videoSendCodecPreferences).sdp;\\n }\\n if (this.context.audioProfile) {\\n sdp = new SDP_1.default(sdp).withAudioMaxAverageBitrate(this.context.audioProfile.audioBitrateBps).sdp;\\n if (this.context.audioProfile.isStereo()) {\\n sdp = new SDP_1.default(sdp).withStereoAudio().sdp;\\n }\\n }\\n this.logger.debug(() => {\\n return `local description is >>>${sdp}<<<`;\\n });\\n const sdpOffer = {\\n type: 'offer',\\n sdp: sdp,\\n toJSON: null,\\n };\\n yield new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\\n this.cancelPromise = (error) => {\\n reject(error);\\n };\\n try {\\n yield peer.setLocalDescription(sdpOffer);\\n resolve();\\n }\\n catch (error) {\\n reject(error);\\n }\\n finally {\\n delete this.cancelPromise;\\n }\\n }));\\n this.context.logger.info('set local description');\\n });\\n }\\n}\\nexports[\\\"default\\\"] = SetLocalDescriptionTask;\\n//# sourceMappingURL=SetLocalDescriptionTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/SetLocalDescriptionTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/SetRemoteDescriptionTask.js\":\n/*!*********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/SetRemoteDescriptionTask.js ***!\n \\*********************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SDP_1 = __webpack_require__(/*! ../sdp/SDP */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/SDP.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/*\\n * [[SetRemoteDescriptionTask]] asynchronously calls [[setRemoteDescription]] on the\\n * peer connection and then waits for the tracks to be added and for the ICE connection\\n * to complete.\\n */\\nclass SetRemoteDescriptionTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'SetRemoteDescriptionTask';\\n }\\n cancel() {\\n if (this.cancelICEPromise) {\\n this.cancelICEPromise();\\n }\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n const peer = this.context.peer;\\n if (!peer) {\\n this.logAndThrow('session does not have peer connection; bypass set remote description');\\n }\\n let sdp = this.context.sdpAnswer;\\n sdp = new SDP_1.default(sdp).withoutServerReflexiveCandidates().sdp;\\n if (this.context.audioProfile) {\\n sdp = new SDP_1.default(sdp).withAudioMaxAverageBitrate(this.context.audioProfile.audioBitrateBps).sdp;\\n if (this.context.audioProfile.isStereo()) {\\n sdp = new SDP_1.default(sdp).withStereoAudio().sdp;\\n }\\n }\\n if (this.context.videoSendCodecPreferences !== undefined &&\\n this.context.videoSendCodecPreferences.length > 0) {\\n sdp = new SDP_1.default(sdp).withVideoSendCodecPreferences(this.context.meetingSupportedVideoSendCodecPreferences !== undefined\\n ? this.context.meetingSupportedVideoSendCodecPreferences\\n : this.context.videoSendCodecPreferences).sdp;\\n this.context.currentVideoSendCodec = new SDP_1.default(sdp).highestPriorityVideoSendCodec();\\n }\\n this.logger.info(`processed remote description is >>>${sdp}<<<`);\\n const remoteDescription = {\\n type: 'answer',\\n sdp: sdp,\\n toJSON: null,\\n };\\n try {\\n yield this.createICEConnectionCompletedPromise(remoteDescription);\\n }\\n catch (err) {\\n throw err;\\n }\\n });\\n }\\n createICEConnectionCompletedPromise(remoteDescription) {\\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\\n const checkConnectionCompleted = () => {\\n if (this.context.peer.iceConnectionState === 'connected' ||\\n this.context.peer.iceConnectionState === 'completed') {\\n this.context.peer.removeEventListener('iceconnectionstatechange', checkConnectionCompleted);\\n resolve();\\n }\\n };\\n this.cancelICEPromise = () => {\\n if (this.context.peer) {\\n this.context.peer.removeEventListener('iceconnectionstatechange', checkConnectionCompleted);\\n }\\n reject(new Error(`${this.name()} got canceled while waiting for the ICE connection state`));\\n };\\n this.context.peer.addEventListener('iceconnectionstatechange', checkConnectionCompleted);\\n try {\\n yield this.context.peer.setRemoteDescription(remoteDescription);\\n this.logger.info('set remote description, waiting for ICE connection');\\n checkConnectionCompleted();\\n }\\n catch (err) {\\n reject(err);\\n }\\n }));\\n }\\n}\\nexports[\\\"default\\\"] = SetRemoteDescriptionTask;\\n//# sourceMappingURL=SetRemoteDescriptionTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/SetRemoteDescriptionTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/SubscribeAndReceiveSubscribeAckTask.js\":\n/*!********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/SubscribeAndReceiveSubscribeAckTask.js ***!\n \\********************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst MeetingSessionStatus_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatus */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatus.js\\\");\\nconst MeetingSessionStatusCode_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatusCode */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js\\\");\\nconst SDP_1 = __webpack_require__(/*! ../sdp/SDP */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/SDP.js\\\");\\nconst ZLIBTextCompressor_1 = __webpack_require__(/*! ../sdp/ZLIBTextCompressor */ \\\"./node_modules/amazon-chime-sdk-js/build/sdp/ZLIBTextCompressor.js\\\");\\nconst ServerSideNetworkAdaption_1 = __webpack_require__(/*! ../signalingclient/ServerSideNetworkAdaption */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/ServerSideNetworkAdaption.js\\\");\\nconst SignalingClientEventType_1 = __webpack_require__(/*! ../signalingclient/SignalingClientEventType */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientEventType.js\\\");\\nconst SignalingClientSubscribe_1 = __webpack_require__(/*! ../signalingclient/SignalingClientSubscribe */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientSubscribe.js\\\");\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst VideoPreferences_1 = __webpack_require__(/*! ../videodownlinkbandwidthpolicy/VideoPreferences */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreferences.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/**\\n * [[SubscribeAndReceiveSubscribeAckTask]] sends a subscribe frame with the given settings\\n * and receives SdkSubscribeAckFrame.\\n */\\nclass SubscribeAndReceiveSubscribeAckTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'SubscribeAndReceiveSubscribeAckTask';\\n this.taskCanceler = null;\\n this.textCompressor = new ZLIBTextCompressor_1.default(context.logger);\\n }\\n cancel() {\\n if (this.taskCanceler) {\\n this.taskCanceler.cancel();\\n this.taskCanceler = null;\\n }\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n let localSdp = '';\\n if (this.context.peer && this.context.peer.localDescription) {\\n localSdp = new SDP_1.default(this.context.peer.localDescription.sdp).withUnifiedPlanFormat().sdp;\\n }\\n if (!this.context.enableSimulcast) {\\n // backward compatibility\\n let frameRate = 0;\\n let maxEncodeBitrateKbps = 0;\\n if (this.context.videoCaptureAndEncodeParameter) {\\n frameRate = this.context.videoCaptureAndEncodeParameter.captureFrameRate();\\n maxEncodeBitrateKbps = this.context.videoCaptureAndEncodeParameter.encodeBitrates()[0];\\n }\\n const param = {\\n rid: 'hi',\\n maxBitrate: maxEncodeBitrateKbps * 1000,\\n maxFramerate: frameRate,\\n active: true,\\n };\\n this.context.videoStreamIndex.integrateUplinkPolicyDecision([param]);\\n }\\n // This will cache the current index so that we maintain the values over the course of the subscribe.\\n this.context.videoStreamIndex.subscribeFrameSent();\\n // See comment above `fixUpSubscriptionOrder`\\n const videoSubscriptions = this.fixUpSubscriptionOrder(localSdp, this.context.videoSubscriptions);\\n const isSendingStreams = this.context.videoDuplexMode === SignalingProtocol_js_1.SdkStreamServiceType.TX ||\\n this.context.videoDuplexMode === SignalingProtocol_js_1.SdkStreamServiceType.DUPLEX;\\n let compressedSDPOffer;\\n const localSdpOffer = localSdp;\\n if (this.context.serverSupportsCompression) {\\n // If the server supports compression, then send the compressed version of the sdp\\n // and exclude the original sdp offer.\\n const prevOffer = this.context.previousSdpOffer ? this.context.previousSdpOffer.sdp : '';\\n compressedSDPOffer = this.textCompressor.compress(localSdpOffer, prevOffer);\\n this.context.logger.info(`Compressed the SDP message from ${localSdpOffer.length} to ${compressedSDPOffer.length} bytes.`);\\n localSdp = '';\\n }\\n this.context.previousSdpOffer = new SDP_1.default(localSdpOffer);\\n const subscribe = new SignalingClientSubscribe_1.default(this.context.meetingSessionConfiguration.credentials.attendeeId, localSdp, this.context.meetingSessionConfiguration.urls.audioHostURL, this.context.realtimeController.realtimeIsLocalAudioMuted(), false, videoSubscriptions, isSendingStreams, this.context.videoStreamIndex.localStreamDescriptions(), \\n // TODO: handle check-in mode, or remove this param\\n true, compressedSDPOffer);\\n if (this.context.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption !== undefined &&\\n !ServerSideNetworkAdaption_1.serverSideNetworkAdaptionIsNoneOrDefault(this.context.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption()) &&\\n this.context.videoDownlinkBandwidthPolicy.getVideoPreferences !== undefined) {\\n // Set initial configuration for the receive streams indicated by the rest of the subscribe\\n subscribe.videoSubscriptionConfiguration = VideoPreferences_1.convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration(this.context, videoSubscriptions.map((streamId) => {\\n return streamId === 0 ? 0 : this.context.videoStreamIndex.groupIdForStreamId(streamId);\\n }), this.context.videoDownlinkBandwidthPolicy.getVideoPreferences());\\n }\\n this.context.logger.info(`sending subscribe: ${JSON.stringify(subscribe)}`);\\n this.context.signalingClient.subscribe(subscribe);\\n const subscribeAckFrame = yield this.receiveSubscribeAck();\\n this.context.logger.info(`got subscribe ack: ${JSON.stringify(subscribeAckFrame)}`);\\n let decompressedText = '';\\n if (subscribeAckFrame.compressedSdpAnswer && subscribeAckFrame.compressedSdpAnswer.length) {\\n decompressedText = this.textCompressor.decompress(subscribeAckFrame.compressedSdpAnswer, this.context.previousSdpAnswerAsString);\\n if (decompressedText.length === 0) {\\n this.context.sdpAnswer = '';\\n this.context.previousSdpAnswerAsString = '';\\n this.logAndThrow(`Error occurred while trying to decompress the SDP answer.`);\\n }\\n this.context.logger.info(`Decompressed the SDP message from ${subscribeAckFrame.compressedSdpAnswer.length} to ${decompressedText.length} bytes.`);\\n this.context.sdpAnswer = decompressedText;\\n }\\n else {\\n this.context.sdpAnswer = subscribeAckFrame.sdpAnswer;\\n }\\n this.context.previousSdpAnswerAsString = this.context.sdpAnswer;\\n this.context.videoStreamIndex.integrateSubscribeAckFrame(subscribeAckFrame);\\n });\\n }\\n // Our backends currently expect the video subscriptions passed in subscribe to precisely\\n // line up with the media sections, with a zero for any video send or inactive section.\\n //\\n // Firefox occasionally tosses stopped transceivers at the end of the SDP without reason\\n // and in general we don't want to be at the mercy of SDP sections not being in the same\\n // order as `getTransceivers`, so we simply recalculate the array here to enforce that\\n // expected invarient until we refactor our signaling to simply take a mapping of MID to\\n // subscription.\\n //\\n // This only works on Unified Plan SDPs\\n fixUpSubscriptionOrder(sdp, videoSubscriptions) {\\n if (this.context.transceiverController.getMidForStreamId === undefined) {\\n return videoSubscriptions;\\n }\\n const midsToStreamIds = new Map();\\n for (const streamId of videoSubscriptions) {\\n // The local description will have been set by the time this task is running, so all\\n // of the transceivers should have `mid` set by now (see comment above `getMidForStreamId`)\\n const mid = this.context.transceiverController.getMidForStreamId(streamId);\\n if (mid === undefined) {\\n if (streamId !== 0) {\\n // Send section or inactive section\\n this.logger.warn(`Could not find MID for stream ID: ${streamId}`);\\n }\\n continue;\\n }\\n midsToStreamIds.set(mid, streamId);\\n }\\n const sections = new SDP_1.default(sdp).mediaSections();\\n const newSubscriptions = [];\\n for (const section of sections) {\\n if (section.mediaType !== 'video') {\\n continue;\\n }\\n if (section.direction === 'recvonly') {\\n const streamId = midsToStreamIds.get(section.mid);\\n if (streamId === undefined) {\\n this.logger.warn(`Could not find stream ID for MID: ${section.mid}`);\\n continue;\\n }\\n newSubscriptions.push(streamId);\\n }\\n else {\\n newSubscriptions.push(0);\\n }\\n }\\n this.logger.info(`Fixed up ${JSON.stringify(videoSubscriptions)} to ${JSON.stringify(newSubscriptions)} (may be same))}`);\\n return newSubscriptions;\\n }\\n receiveSubscribeAck() {\\n return new Promise((resolve, reject) => {\\n const context = this.context;\\n class Interceptor {\\n constructor(signalingClient) {\\n this.signalingClient = signalingClient;\\n }\\n cancel() {\\n this.signalingClient.removeObserver(this);\\n reject(new Error(`SubscribeAndReceiveSubscribeAckTask got canceled while waiting for SdkSubscribeAckFrame`));\\n }\\n handleSignalingClientEvent(event) {\\n if (event.isConnectionTerminated()) {\\n const message = `SubscribeAndReceiveSubscribeAckTask connection was terminated with code ${event.closeCode} and reason: ${event.closeReason}`;\\n context.logger.warn(message);\\n let statusCode = MeetingSessionStatusCode_1.default.TaskFailed;\\n if (event.closeCode >= 4500 && event.closeCode < 4600) {\\n statusCode = MeetingSessionStatusCode_1.default.SignalingInternalServerError;\\n }\\n context.audioVideoController.handleMeetingSessionStatus(new MeetingSessionStatus_1.default(statusCode), new Error(message));\\n return;\\n }\\n if (event.type !== SignalingClientEventType_1.default.ReceivedSignalFrame ||\\n event.message.type !== SignalingProtocol_js_1.SdkSignalFrame.Type.SUBSCRIBE_ACK) {\\n return;\\n }\\n this.signalingClient.removeObserver(this);\\n // @ts-ignore: force cast to SdkSubscribeAckFrame\\n const subackFrame = event.message.suback;\\n resolve(subackFrame);\\n }\\n }\\n const interceptor = new Interceptor(this.context.signalingClient);\\n this.context.signalingClient.registerObserver(interceptor);\\n this.taskCanceler = interceptor;\\n });\\n }\\n}\\nexports[\\\"default\\\"] = SubscribeAndReceiveSubscribeAckTask;\\n//# sourceMappingURL=SubscribeAndReceiveSubscribeAckTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/SubscribeAndReceiveSubscribeAckTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/TaskStatus.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/TaskStatus.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nvar TaskStatus;\\n(function (TaskStatus) {\\n TaskStatus[\\\"IDLE\\\"] = \\\"IDLE\\\";\\n TaskStatus[\\\"RUNNING\\\"] = \\\"RUNNING\\\";\\n TaskStatus[\\\"CANCELED\\\"] = \\\"CANCELED\\\";\\n TaskStatus[\\\"FINISHED\\\"] = \\\"FINISHED\\\";\\n})(TaskStatus || (TaskStatus = {}));\\nexports[\\\"default\\\"] = TaskStatus;\\n//# sourceMappingURL=TaskStatus.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/TaskStatus.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/TimeoutTask.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/TimeoutTask.js ***!\n \\********************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst TimeoutScheduler_1 = __webpack_require__(/*! ../scheduler/TimeoutScheduler */ \\\"./node_modules/amazon-chime-sdk-js/build/scheduler/TimeoutScheduler.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/**\\n * [[TimeoutTask]] runs a subtask until it either succeeds or reaches a\\n * timeout, at which point the subtask is canceled.\\n */\\nclass TimeoutTask extends BaseTask_1.default {\\n constructor(logger, taskToRunBeforeTimeout, timeoutMs) {\\n super(logger);\\n this.taskToRunBeforeTimeout = taskToRunBeforeTimeout;\\n this.timeoutMs = timeoutMs;\\n this.taskName = `Timeout${this.timeoutMs}ms`;\\n taskToRunBeforeTimeout.setParent(this);\\n }\\n cancel() {\\n this.logger.info(`canceling timeout task ${this.name()} subtask ${this.taskToRunBeforeTimeout}`);\\n this.taskToRunBeforeTimeout.cancel();\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n const timer = new TimeoutScheduler_1.default(this.timeoutMs);\\n timer.start(() => {\\n this.logger.info(`timeout reached for task ${this.name()}`);\\n this.taskToRunBeforeTimeout.cancel();\\n });\\n try {\\n yield this.taskToRunBeforeTimeout.run();\\n }\\n finally {\\n timer.stop();\\n }\\n this.logger.info(`timeout task ${this.name()} completed`);\\n });\\n }\\n}\\nexports[\\\"default\\\"] = TimeoutTask;\\n//# sourceMappingURL=TimeoutTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/TimeoutTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/task/WaitForAttendeePresenceTask.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/task/WaitForAttendeePresenceTask.js ***!\n \\************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst MeetingSessionStatusCode_1 = __webpack_require__(/*! ../meetingsession/MeetingSessionStatusCode */ \\\"./node_modules/amazon-chime-sdk-js/build/meetingsession/MeetingSessionStatusCode.js\\\");\\nconst BaseTask_1 = __webpack_require__(/*! ./BaseTask */ \\\"./node_modules/amazon-chime-sdk-js/build/task/BaseTask.js\\\");\\n/*\\n * [[WaitForAttendeePresenceTask]] waits until an attendee presence event happens.\\n */\\nclass WaitForAttendeePresenceTask extends BaseTask_1.default {\\n constructor(context) {\\n super(context.logger);\\n this.context = context;\\n this.taskName = 'WaitForAttendeePresenceTask';\\n }\\n cancel() {\\n // Just in case. The baseCancel behavior should prevent this.\\n /* istanbul ignore else */\\n if (this.cancelPromise) {\\n const error = new Error(`canceling ${this.name()} due to the meeting status code: ${MeetingSessionStatusCode_1.default.NoAttendeePresent}`);\\n this.cancelPromise(error);\\n delete this.cancelPromise;\\n }\\n }\\n run() {\\n return __awaiter(this, void 0, void 0, function* () {\\n const attendeeId = this.context.meetingSessionConfiguration.credentials.attendeeId;\\n return new Promise((resolve, reject) => {\\n const handler = (presentAttendeeId, present, _externalUserId, _dropped, _pos) => {\\n if (attendeeId === presentAttendeeId && present) {\\n this.context.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(handler);\\n resolve();\\n delete this.cancelPromise;\\n }\\n };\\n this.cancelPromise = (error) => {\\n this.context.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(handler);\\n reject(error);\\n };\\n this.context.realtimeController.realtimeSubscribeToAttendeeIdPresence(handler);\\n });\\n });\\n }\\n}\\nexports[\\\"default\\\"] = WaitForAttendeePresenceTask;\\n//# sourceMappingURL=WaitForAttendeePresenceTask.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/task/WaitForAttendeePresenceTask.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/DefaultTransceiverController.js\":\n/*!******************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transceivercontroller/DefaultTransceiverController.js ***!\n \\******************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass DefaultTransceiverController {\\n constructor(logger, browserBehavior) {\\n this.logger = logger;\\n this.browserBehavior = browserBehavior;\\n this._localCameraTransceiver = null;\\n this._localAudioTransceiver = null;\\n this.videoSubscriptions = [];\\n this.defaultMediaStream = null;\\n this.peer = null;\\n this.streamIdToTransceiver = new Map();\\n this.groupIdToTransceiver = new Map();\\n }\\n setEncodingParameters(encodingParamMap) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this._localCameraTransceiver || this._localCameraTransceiver.direction !== 'sendrecv') {\\n return;\\n }\\n const sender = this._localCameraTransceiver.sender;\\n if (!encodingParamMap || encodingParamMap.size === 0) {\\n return;\\n }\\n const newEncodingParams = Array.from(encodingParamMap.values());\\n const oldParam = sender.getParameters();\\n if (!oldParam.encodings || oldParam.encodings.length === 0) {\\n oldParam.encodings = newEncodingParams;\\n }\\n else {\\n for (const existing of oldParam.encodings) {\\n for (const changed of newEncodingParams) {\\n if ((existing.rid || changed.rid) && existing.rid !== changed.rid) {\\n continue;\\n }\\n let key;\\n for (key in changed) {\\n // These properties can't be changed.\\n if (key === 'rid' || key === 'codecPayloadType') {\\n continue;\\n }\\n /* istanbul ignore else */\\n if (changed.hasOwnProperty(key)) {\\n existing[key] = changed[key];\\n }\\n }\\n }\\n }\\n }\\n yield sender.setParameters(oldParam);\\n });\\n }\\n localAudioTransceiver() {\\n return this._localAudioTransceiver;\\n }\\n localVideoTransceiver() {\\n return this._localCameraTransceiver;\\n }\\n setVideoSendingBitrateKbps(bitrateKbps) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this._localCameraTransceiver || this._localCameraTransceiver.direction !== 'sendrecv') {\\n return;\\n }\\n const sender = this._localCameraTransceiver.sender;\\n if (!sender || bitrateKbps <= 0) {\\n return;\\n }\\n const param = sender.getParameters();\\n if (!param.encodings) {\\n param.encodings = [{}];\\n }\\n for (const encodeParam of param.encodings) {\\n encodeParam.maxBitrate = bitrateKbps * 1000;\\n }\\n yield sender.setParameters(param);\\n });\\n }\\n setPeer(peer) {\\n this.peer = peer;\\n }\\n reset() {\\n this._localCameraTransceiver = null;\\n this._localAudioTransceiver = null;\\n this.videoSubscriptions = [];\\n this.defaultMediaStream = null;\\n this.peer = null;\\n }\\n useTransceivers() {\\n return !!this.peer && typeof this.peer.getTransceivers !== 'undefined';\\n }\\n hasVideoInput() {\\n if (!this._localCameraTransceiver || this._localCameraTransceiver.direction !== 'sendrecv')\\n return false;\\n return true;\\n }\\n trackIsVideoInput(track) {\\n if (!this._localCameraTransceiver) {\\n return false;\\n }\\n return (track === this._localCameraTransceiver.sender.track ||\\n track === this._localCameraTransceiver.receiver.track);\\n }\\n setupLocalTransceivers() {\\n if (!this.useTransceivers()) {\\n return;\\n }\\n if (!this.defaultMediaStream && typeof MediaStream !== 'undefined') {\\n this.defaultMediaStream = new MediaStream();\\n }\\n if (!this._localAudioTransceiver) {\\n this._localAudioTransceiver = this.peer.addTransceiver('audio', {\\n direction: 'inactive',\\n streams: [this.defaultMediaStream],\\n });\\n }\\n if (!this._localCameraTransceiver) {\\n this._localCameraTransceiver = this.peer.addTransceiver('video', {\\n direction: 'inactive',\\n streams: [this.defaultMediaStream],\\n });\\n }\\n }\\n replaceAudioTrack(track) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this._localAudioTransceiver || this._localAudioTransceiver.direction !== 'sendrecv') {\\n this.logger.info(`audio transceiver direction is not set up or not activated`);\\n return false;\\n }\\n yield this._localAudioTransceiver.sender.replaceTrack(track);\\n return true;\\n });\\n }\\n setAudioInput(track) {\\n return __awaiter(this, void 0, void 0, function* () {\\n yield this.setTransceiverInput(this._localAudioTransceiver, track);\\n return;\\n });\\n }\\n setVideoInput(track) {\\n return __awaiter(this, void 0, void 0, function* () {\\n yield this.setTransceiverInput(this._localCameraTransceiver, track);\\n return;\\n });\\n }\\n updateVideoTransceivers(videoStreamIndex, videosToReceive) {\\n if (!this.useTransceivers()) {\\n return videosToReceive.array();\\n }\\n // See https://blog.mozilla.org/webrtc/rtcrtptransceiver-explored/ for details on transceivers\\n const transceivers = this.peer.getTransceivers();\\n // Subscription index 0 is reserved for transmitting camera.\\n // We mark inactive slots with 0 in the subscription array.\\n this.videoSubscriptions = [0];\\n videosToReceive = videosToReceive.clone();\\n this.updateTransceivers(transceivers, videoStreamIndex, videosToReceive);\\n this.logger.debug(() => {\\n return this.debugDumpTransceivers();\\n });\\n return this.videoSubscriptions;\\n }\\n updateTransceivers(transceivers, videoStreamIndex, videosToReceive) {\\n const videosRemaining = videosToReceive.array();\\n if (transceivers.length !== 0 && !transceivers[0].stop) {\\n // This function and its usage can be removed once we raise Chrome browser requirements\\n // to M88 (when `RTCRtpTransceiver.stop` was added)\\n this.logger.info('Updating transceivers without `stop` function');\\n this.updateTransceiverWithoutStop(transceivers, videoStreamIndex, videosRemaining);\\n }\\n else if (transceivers.length !== 0) {\\n this.updateTransceiverWithStop(transceivers, videoStreamIndex, videosRemaining);\\n }\\n // Add transceivers for the remaining subscriptions\\n for (const index of videosRemaining) {\\n // @ts-ignore\\n const transceiver = this.peer.addTransceiver('video', {\\n direction: 'recvonly',\\n streams: [new MediaStream()],\\n });\\n this.streamIdToTransceiver.set(index, transceiver);\\n this.groupIdToTransceiver.set(videoStreamIndex.groupIdForStreamId(index), transceiver);\\n this.videoSubscriptions.push(index);\\n this.logger.info(`adding transceiver mid: ${transceiver.mid} subscription: ${index} direction: recvonly`);\\n }\\n }\\n updateTransceiverWithStop(transceivers, videoStreamIndex, videosRemaining) {\\n // Begin counting out index in the the subscription array at 1 since the camera.\\n // Always occupies position 0 (whether active or not).\\n let n = 1;\\n // Reset since otherwise there will be stale indexes corresponding to\\n // stopped transceivers.\\n this.videoSubscriptions = [0];\\n for (const transceiver of transceivers) {\\n if (transceiver === this._localCameraTransceiver ||\\n !this.transceiverIsVideo(transceiver) ||\\n !transceiver.mid) {\\n continue;\\n }\\n let reusingTranceiver = false;\\n // See if we want this existing transceiver for a simulcast stream switch\\n //\\n // By convention with the service backend, msid is equal to the media section mid, prefixed with the string \\\"v_\\\";\\n // we use this to get the stream ID for the track\\n const streamId = videoStreamIndex.streamIdForTrack('v_' + transceiver.mid);\\n if (transceiver.direction !== 'inactive' && streamId !== undefined) {\\n for (const [index, recvStreamId] of videosRemaining.entries()) {\\n // `streamId` may still be the same as `recvStreamId`\\n if (videoStreamIndex.StreamIdsInSameGroup(streamId, recvStreamId)) {\\n transceiver.direction = 'recvonly';\\n this.videoSubscriptions[n] = recvStreamId;\\n reusingTranceiver = true;\\n this.streamIdToTransceiver.delete(streamId);\\n this.streamIdToTransceiver.set(recvStreamId, transceiver);\\n videosRemaining.splice(index, 1);\\n break;\\n }\\n }\\n }\\n if (!reusingTranceiver) {\\n this.videoSubscriptions[n] = 0;\\n this.logger.info(`Stopping MID: ${transceiver.mid}, direction: ${transceiver.direction}, current direction: ${transceiver.currentDirection}`);\\n // Clean up transceiver and mappings for streams that have been unsubscribed from. Note we do not try to reuse\\n // old inactive transceivers for new streams as Firefox will reuse the last frame from\\n // that transceiver, and additionally we simply don't want to risk wiring up a transceiver\\n // to the incorrect video stream for no real benefit besides possible a smaller SDP size.\\n transceiver.stop(); // Note (as of Firefox 94): Firefox will keep these around forever\\n for (const [streamId, previousTransceiver] of this.streamIdToTransceiver.entries()) {\\n if (transceiver.mid === previousTransceiver.mid) {\\n this.streamIdToTransceiver.delete(streamId);\\n this.groupIdToTransceiver.delete(videoStreamIndex.groupIdForStreamId(streamId));\\n }\\n }\\n }\\n n += 1;\\n }\\n }\\n // This function operates similarily to `updateTransceiverWithStop` with the following changes to account\\n // for the fact RTCRtpTransceiver.stop is not available on all supported browsers:\\n // * We attempt to reuse inactive transceivers because libwebrtc will not remove them otherwise and\\n // the SDP will grow endlessly.\\n // * We mark unsubscribed transceivers as 'inactive' so that they can be reused. This requires using a\\n // second for loop.\\n updateTransceiverWithoutStop(transceivers, videoStreamIndex, videosRemaining) {\\n let n = 1;\\n for (const transceiver of transceivers) {\\n if (transceiver === this._localCameraTransceiver || !this.transceiverIsVideo(transceiver)) {\\n continue;\\n }\\n this.videoSubscriptions[n] = 0;\\n if (transceiver.direction !== 'inactive') {\\n const streamId = videoStreamIndex.streamIdForTrack('v_' + transceiver.mid);\\n if (streamId !== undefined) {\\n for (const [index, recvStreamId] of videosRemaining.entries()) {\\n if (videoStreamIndex.StreamIdsInSameGroup(streamId, recvStreamId)) {\\n transceiver.direction = 'recvonly';\\n this.videoSubscriptions[n] = recvStreamId;\\n this.streamIdToTransceiver.delete(streamId);\\n this.streamIdToTransceiver.set(recvStreamId, transceiver);\\n videosRemaining.splice(index, 1);\\n break;\\n }\\n }\\n }\\n }\\n n += 1;\\n }\\n // Next fill in open slots and remove unused\\n n = 1;\\n for (const transceiver of transceivers) {\\n if (transceiver === this._localCameraTransceiver || !this.transceiverIsVideo(transceiver)) {\\n continue;\\n }\\n if (transceiver.direction === 'inactive' && videosRemaining.length > 0) {\\n // Fill available slot\\n transceiver.direction = 'recvonly';\\n const streamId = videosRemaining.shift();\\n this.videoSubscriptions[n] = streamId;\\n this.streamIdToTransceiver.set(streamId, transceiver);\\n this.groupIdToTransceiver.set(videoStreamIndex.groupIdForStreamId(streamId), transceiver);\\n }\\n else {\\n // Remove if no longer subscribed\\n if (this.videoSubscriptions[n] === 0) {\\n transceiver.direction = 'inactive';\\n for (const [streamId, previousTransceiver] of this.streamIdToTransceiver.entries()) {\\n if (transceiver === previousTransceiver) {\\n this.streamIdToTransceiver.delete(streamId);\\n this.groupIdToTransceiver.delete(videoStreamIndex.groupIdForStreamId(streamId));\\n }\\n }\\n }\\n }\\n n += 1;\\n }\\n }\\n getMidForStreamId(streamId) {\\n var _a;\\n return (_a = this.streamIdToTransceiver.get(streamId)) === null || _a === void 0 ? void 0 : _a.mid;\\n }\\n setStreamIdForMid(mid, newStreamId) {\\n for (const [streamId, transceiver] of this.streamIdToTransceiver.entries()) {\\n if (transceiver.mid === mid) {\\n this.streamIdToTransceiver.delete(streamId);\\n this.streamIdToTransceiver.set(newStreamId, transceiver);\\n return;\\n }\\n }\\n }\\n getMidForGroupId(groupId) {\\n var _a;\\n return (_a = this.groupIdToTransceiver.get(groupId)) === null || _a === void 0 ? void 0 : _a.mid;\\n }\\n transceiverIsVideo(transceiver) {\\n return ((transceiver.receiver &&\\n transceiver.receiver.track &&\\n transceiver.receiver.track.kind === 'video') ||\\n (transceiver.sender && transceiver.sender.track && transceiver.sender.track.kind === 'video'));\\n }\\n debugDumpTransceivers() {\\n let msg = '';\\n let n = 0;\\n for (const transceiver of this.peer.getTransceivers()) {\\n if (!this.transceiverIsVideo(transceiver)) {\\n continue;\\n }\\n msg += `transceiver index=${n} mid=${transceiver.mid} subscription=${this.videoSubscriptions[n]} direction=${transceiver.direction}\\\\n`;\\n n += 1;\\n }\\n return msg;\\n }\\n setTransceiverInput(transceiver, track) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!transceiver) {\\n return;\\n }\\n if (track) {\\n transceiver.direction = 'sendrecv';\\n }\\n else {\\n transceiver.direction = 'inactive';\\n }\\n yield transceiver.sender.replaceTrack(track);\\n });\\n }\\n}\\nexports[\\\"default\\\"] = DefaultTransceiverController;\\n//# sourceMappingURL=DefaultTransceiverController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transceivercontroller/DefaultTransceiverController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/SimulcastContentShareTransceiverController.js\":\n/*!********************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transceivercontroller/SimulcastContentShareTransceiverController.js ***!\n \\********************************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SimulcastTransceiverController_1 = __webpack_require__(/*! ./SimulcastTransceiverController */ \\\"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/SimulcastTransceiverController.js\\\");\\nclass SimulcastContentShareTransceiverController extends SimulcastTransceiverController_1.default {\\n constructor(logger, browserBehavior) {\\n super(logger, browserBehavior);\\n let scale = 2;\\n this.videoQualityControlParameterMap = new Map();\\n for (let i = 0; i < SimulcastContentShareTransceiverController.NAME_ARR_ASCENDING.length; i++) {\\n const ridName = SimulcastContentShareTransceiverController.NAME_ARR_ASCENDING[i];\\n this.videoQualityControlParameterMap.set(ridName, {\\n rid: ridName,\\n scaleResolutionDownBy: scale,\\n maxBitrate: SimulcastContentShareTransceiverController.BITRATE_ARR_ASCENDING[i] * 1000,\\n });\\n scale = scale / 2;\\n }\\n }\\n // Note: `scaleResolutionDownBy` has only been tested with values 1, 2, and 4.\\n setEncodingParameters(encodingParamMap) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this._localCameraTransceiver || this._localCameraTransceiver.direction !== 'sendrecv') {\\n return;\\n }\\n const sender = this._localCameraTransceiver.sender;\\n const newEncodingParams = Array.from(encodingParamMap.values());\\n if (newEncodingParams.length <= 0) {\\n return;\\n }\\n const oldParam = sender.getParameters();\\n if (!oldParam.encodings) {\\n oldParam.encodings = newEncodingParams;\\n }\\n else {\\n for (let i = 0; i < oldParam.encodings.length; i++) {\\n if (oldParam.encodings[i].rid === SimulcastTransceiverController_1.default.LOW_LEVEL_NAME) {\\n this.copyEncodingParams(encodingParamMap.get(SimulcastTransceiverController_1.default.LOW_LEVEL_NAME), oldParam.encodings[i]);\\n }\\n if (oldParam.encodings[i].rid === SimulcastTransceiverController_1.default.HIGH_LEVEL_NAME) {\\n this.copyEncodingParams(encodingParamMap.get(SimulcastTransceiverController_1.default.HIGH_LEVEL_NAME), oldParam.encodings[i]);\\n }\\n }\\n }\\n yield sender.setParameters(oldParam);\\n this.logVideoTransceiverParameters();\\n });\\n }\\n}\\nexports[\\\"default\\\"] = SimulcastContentShareTransceiverController;\\nSimulcastContentShareTransceiverController.NAME_ARR_ASCENDING = ['low', 'hi'];\\nSimulcastContentShareTransceiverController.BITRATE_ARR_ASCENDING = [300, 1200];\\n//# sourceMappingURL=SimulcastContentShareTransceiverController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transceivercontroller/SimulcastContentShareTransceiverController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/SimulcastTransceiverController.js\":\n/*!********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transceivercontroller/SimulcastTransceiverController.js ***!\n \\********************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultTransceiverController_1 = __webpack_require__(/*! ./DefaultTransceiverController */ \\\"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/DefaultTransceiverController.js\\\");\\nclass SimulcastTransceiverController extends DefaultTransceiverController_1.default {\\n constructor(logger, browserBehavior) {\\n super(logger, browserBehavior);\\n this.videoQualityControlParameterMap = new Map();\\n let scale = 4;\\n for (let i = 0; i < SimulcastTransceiverController.NAME_ARR_ASCENDING.length; i++) {\\n const ridName = SimulcastTransceiverController.NAME_ARR_ASCENDING[i];\\n this.videoQualityControlParameterMap.set(ridName, {\\n rid: ridName,\\n scaleResolutionDownBy: scale,\\n maxBitrate: SimulcastTransceiverController.BITRATE_ARR_ASCENDING[i] * 1000,\\n });\\n scale = scale / 2;\\n }\\n }\\n // Note: `scaleResolutionDownBy` has only been tested with values 1, 2, and 4.\\n setEncodingParameters(encodingParamMap) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this._localCameraTransceiver || this._localCameraTransceiver.direction !== 'sendrecv') {\\n return;\\n }\\n const sender = this._localCameraTransceiver.sender;\\n const newEncodingParams = Array.from(encodingParamMap.values());\\n if (newEncodingParams.length <= 0) {\\n return;\\n }\\n const oldParam = sender.getParameters();\\n if (!oldParam.encodings) {\\n oldParam.encodings = newEncodingParams;\\n }\\n else {\\n for (let i = 0; i < oldParam.encodings.length; i++) {\\n if (oldParam.encodings[i].rid === SimulcastTransceiverController.LOW_LEVEL_NAME) {\\n this.copyEncodingParams(encodingParamMap.get(SimulcastTransceiverController.LOW_LEVEL_NAME), oldParam.encodings[i]);\\n }\\n if (oldParam.encodings[i].rid === SimulcastTransceiverController.MID_LEVEL_NAME) {\\n this.copyEncodingParams(encodingParamMap.get(SimulcastTransceiverController.MID_LEVEL_NAME), oldParam.encodings[i]);\\n }\\n if (oldParam.encodings[i].rid === SimulcastTransceiverController.HIGH_LEVEL_NAME) {\\n this.copyEncodingParams(encodingParamMap.get(SimulcastTransceiverController.HIGH_LEVEL_NAME), oldParam.encodings[i]);\\n }\\n }\\n }\\n yield sender.setParameters(oldParam);\\n this.logVideoTransceiverParameters();\\n });\\n }\\n setVideoSendingBitrateKbps(_bitrateKbps) {\\n return __awaiter(this, void 0, void 0, function* () {\\n return;\\n });\\n }\\n setupLocalTransceivers() {\\n if (!this.useTransceivers()) {\\n return;\\n }\\n if (!this.defaultMediaStream && typeof MediaStream !== 'undefined') {\\n this.defaultMediaStream = new MediaStream();\\n }\\n if (!this._localAudioTransceiver) {\\n this._localAudioTransceiver = this.peer.addTransceiver('audio', {\\n direction: 'inactive',\\n streams: [this.defaultMediaStream],\\n });\\n }\\n if (!this._localCameraTransceiver) {\\n const encodingParams = Array.from(this.videoQualityControlParameterMap.values());\\n this._localCameraTransceiver = this.peer.addTransceiver('video', {\\n direction: 'inactive',\\n streams: [this.defaultMediaStream],\\n sendEncodings: encodingParams,\\n });\\n }\\n }\\n logVideoTransceiverParameters() {\\n const params = this._localCameraTransceiver.sender.getParameters();\\n const encodings = params.encodings;\\n let msg = 'simulcast: current encoding parameters \\\\n';\\n for (const encodingParam of encodings) {\\n msg += `rid=${encodingParam.rid} maxBitrate=${encodingParam.maxBitrate} active=${encodingParam.active} scaleDownBy=${encodingParam.scaleResolutionDownBy} maxFrameRate = ${encodingParam.maxFramerate} \\\\n`;\\n }\\n this.logger.info(msg);\\n }\\n copyEncodingParams(fromEncodingParams, toEncodingParams) {\\n toEncodingParams.active = fromEncodingParams.active;\\n toEncodingParams.maxBitrate = fromEncodingParams.maxBitrate;\\n toEncodingParams.scaleResolutionDownBy = fromEncodingParams.scaleResolutionDownBy;\\n toEncodingParams.maxFramerate = fromEncodingParams.maxFramerate;\\n }\\n}\\nexports[\\\"default\\\"] = SimulcastTransceiverController;\\nSimulcastTransceiverController.LOW_LEVEL_NAME = 'low';\\nSimulcastTransceiverController.MID_LEVEL_NAME = 'mid';\\nSimulcastTransceiverController.HIGH_LEVEL_NAME = 'hi';\\nSimulcastTransceiverController.NAME_ARR_ASCENDING = ['low', 'mid', 'hi'];\\nSimulcastTransceiverController.BITRATE_ARR_ASCENDING = [200, 400, 1100];\\n//# sourceMappingURL=SimulcastTransceiverController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transceivercontroller/SimulcastTransceiverController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/VideoOnlyTransceiverController.js\":\n/*!********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transceivercontroller/VideoOnlyTransceiverController.js ***!\n \\********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultTransceiverController_1 = __webpack_require__(/*! ./DefaultTransceiverController */ \\\"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/DefaultTransceiverController.js\\\");\\nclass VideoOnlyTransceiverController extends DefaultTransceiverController_1.default {\\n constructor(logger, browserBehavior) {\\n super(logger, browserBehavior);\\n }\\n setupLocalTransceivers() {\\n if (!this.useTransceivers()) {\\n return;\\n }\\n if (!this.defaultMediaStream && typeof MediaStream !== 'undefined') {\\n this.defaultMediaStream = new MediaStream();\\n }\\n if (!this._localCameraTransceiver) {\\n this._localCameraTransceiver = this.peer.addTransceiver('video', {\\n direction: 'inactive',\\n streams: [this.defaultMediaStream],\\n });\\n }\\n }\\n}\\nexports[\\\"default\\\"] = VideoOnlyTransceiverController;\\n//# sourceMappingURL=VideoOnlyTransceiverController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transceivercontroller/VideoOnlyTransceiverController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transcript/DefaultTranscriptionController.js\":\n/*!*********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transcript/DefaultTranscriptionController.js ***!\n \\*********************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.TRANSCRIPTION_DATA_MESSAGE_TOPIC = void 0;\\nconst TranscriptEvent_1 = __webpack_require__(/*! ./TranscriptEvent */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptEvent.js\\\");\\nexports.TRANSCRIPTION_DATA_MESSAGE_TOPIC = 'aws:chime:transcription';\\nclass DefaultTranscriptionController {\\n constructor(realtimeController) {\\n this.realtimeController = realtimeController;\\n this.transcriptEventCallbacks = new Set();\\n }\\n subscribeToTranscriptEvent(callback) {\\n if (this.transcriptEventCallbacks.size === 0) {\\n this.realtimeController.realtimeSubscribeToReceiveDataMessage(exports.TRANSCRIPTION_DATA_MESSAGE_TOPIC, (dataMessage) => {\\n for (const transcriptEvent of TranscriptEvent_1.TranscriptEventConverter.from(dataMessage)) {\\n for (const transcriptEventCallback of this.transcriptEventCallbacks) {\\n transcriptEventCallback(transcriptEvent);\\n }\\n }\\n });\\n }\\n this.transcriptEventCallbacks.add(callback);\\n }\\n unsubscribeFromTranscriptEvent(callback) {\\n this.transcriptEventCallbacks.delete(callback);\\n if (this.transcriptEventCallbacks.size === 0) {\\n this.realtimeController.realtimeUnsubscribeFromReceiveDataMessage(exports.TRANSCRIPTION_DATA_MESSAGE_TOPIC);\\n }\\n }\\n}\\nexports[\\\"default\\\"] = DefaultTranscriptionController;\\n//# sourceMappingURL=DefaultTranscriptionController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transcript/DefaultTranscriptionController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transcript/Transcript.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transcript/Transcript.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass Transcript {\\n}\\nexports[\\\"default\\\"] = Transcript;\\n//# sourceMappingURL=Transcript.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transcript/Transcript.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptAlternative.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptAlternative.js ***!\n \\************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass TranscriptAlternative {\\n}\\nexports[\\\"default\\\"] = TranscriptAlternative;\\n//# sourceMappingURL=TranscriptAlternative.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptAlternative.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptEntity.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptEntity.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/*\\n* When redacting personally identifiable information (PII) from a streaming transcription, Amazon Transcribe replaces each identified instance of PII with [PII] in your transcript.\\n* An additional option available for streaming audio is PII identification.\\n* When you activate PII Identification, Amazon Transcribe labels the PII in your transcription results under an Entities object.\\n* PII identification and redaction for streaming jobs is performed only upon complete transcription of the audio segments.\\n* category refers to whether the entity is a PII or PHI data.\\n* confidence refers to the confidence that the speech it flagged for redaction/identification is truly PII. Confidence value ranges from 0 to 1 inclusive.\\n* type refers to the type of PII/PHI data that is identified. The current supported type values are: BANK_ACCOUNT_NUMBER, BANK_ROUTING, CREDIT_DEBIT_NUMBER, CREDIT_DEBIT_CVV, CREDIT_DEBIT_EXPIRY, PIN, EMAIL, ADDRESS, NAME, PHONE, SSN.\\n* type is only available in case of engine transcribe and not in medical transcribe\\n* type can be expected to change and grow as Transcribe evolves\\n* endTimeMs and startTimeMs are epoch timestamps in milliseconds\\n* Sample Redacted PII Data would look similar to this :\\n* \\\"Entities\\\": [\\n {\\n \\\"Content\\\": \\\"[NAME]\\\",\\n \\\"Category\\\": \\\"PII\\\",\\n \\\"Type\\\": \\\"NAME\\\",\\n \\\"StartTime\\\" : 1636493289421,\\n \\\"EndTime\\\" : 1636493290016,\\n \\\"Confidence\\\": 0.9989\\n }\\n ]\\n* Sample PII Identified data would look similar to this :\\n* \\\"Entities\\\": [\\n {\\n \\\"Content\\\": \\\"janet smithy\\\",\\n \\\"Category\\\": \\\"PII\\\",\\n \\\"Type\\\": \\\"NAME\\\",\\n \\\"StartTime\\\" : 1636493289421,\\n \\\"EndTime\\\" : 1636493290016,\\n \\\"Confidence\\\": 0.9989\\n }\\n ]\\n*/\\nclass TranscriptEntity {\\n}\\nexports[\\\"default\\\"] = TranscriptEntity;\\n//# sourceMappingURL=TranscriptEntity.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptEntity.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptEvent.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptEvent.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.TranscriptEventConverter = void 0;\\nconst SignalingProtocol_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst Transcript_1 = __webpack_require__(/*! ./Transcript */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/Transcript.js\\\");\\nconst TranscriptionStatus_1 = __webpack_require__(/*! ./TranscriptionStatus */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptionStatus.js\\\");\\nconst TranscriptionStatusType_1 = __webpack_require__(/*! ./TranscriptionStatusType */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptionStatusType.js\\\");\\nconst TranscriptItemType_1 = __webpack_require__(/*! ./TranscriptItemType */ \\\"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptItemType.js\\\");\\nconst TranscriptionStatusTypes = {\\n [SignalingProtocol_1.SdkTranscriptionStatus.Type.STARTED]: TranscriptionStatusType_1.default.STARTED,\\n [SignalingProtocol_1.SdkTranscriptionStatus.Type.INTERRUPTED]: TranscriptionStatusType_1.default.INTERRUPTED,\\n [SignalingProtocol_1.SdkTranscriptionStatus.Type.RESUMED]: TranscriptionStatusType_1.default.RESUMED,\\n [SignalingProtocol_1.SdkTranscriptionStatus.Type.STOPPED]: TranscriptionStatusType_1.default.STOPPED,\\n [SignalingProtocol_1.SdkTranscriptionStatus.Type.FAILED]: TranscriptionStatusType_1.default.FAILED,\\n};\\nclass TranscriptEventConverter {\\n /**\\n * Decodes a list of TranscriptEvent from a data message.\\n * @param dataMessage Data message to decode from\\n * @returns List of TranscriptEvent\\n * @throws {Error} If the data message payload cannot be decoded\\n */\\n static from(dataMessage) {\\n let frame;\\n try {\\n frame = SignalingProtocol_1.SdkTranscriptFrame.decode(dataMessage.data);\\n }\\n catch (e) {\\n throw new Error('Cannot decode transcript data message: ' + e);\\n }\\n const transcriptEvents = [];\\n for (const sdkTranscriptEvent of frame.events) {\\n if (sdkTranscriptEvent.status) {\\n const transcriptionStatusType = TranscriptionStatusTypes[sdkTranscriptEvent.status.type];\\n if (!transcriptionStatusType) {\\n continue;\\n }\\n const transcriptionStatus = new TranscriptionStatus_1.default();\\n transcriptionStatus.type = transcriptionStatusType;\\n transcriptionStatus.eventTimeMs = sdkTranscriptEvent.status.eventTime;\\n transcriptionStatus.transcriptionRegion = sdkTranscriptEvent.status.transcriptionRegion;\\n transcriptionStatus.transcriptionConfiguration =\\n sdkTranscriptEvent.status.transcriptionConfiguration;\\n if (sdkTranscriptEvent.status.message) {\\n transcriptionStatus.message = sdkTranscriptEvent.status.message;\\n }\\n transcriptEvents.push(transcriptionStatus);\\n }\\n else if (sdkTranscriptEvent.transcript) {\\n const transcript = new Transcript_1.default();\\n transcript.results = [];\\n for (const result of sdkTranscriptEvent.transcript.results) {\\n const transcriptResult = {\\n channelId: result.channelId,\\n isPartial: result.isPartial,\\n resultId: result.resultId,\\n startTimeMs: result.startTime,\\n endTimeMs: result.endTime,\\n alternatives: [],\\n };\\n if (result.languageCode) {\\n transcriptResult.languageCode = result.languageCode;\\n }\\n if (result.languageIdentification && result.languageIdentification.length > 0) {\\n transcriptResult.languageIdentification = [];\\n for (const languageIdentification of result.languageIdentification) {\\n const transcriptLanguageWithScore = {\\n languageCode: languageIdentification.languageCode,\\n score: languageIdentification.score,\\n };\\n transcriptResult.languageIdentification.push(transcriptLanguageWithScore);\\n }\\n }\\n for (const alternative of result.alternatives) {\\n const transcriptAlternative = {\\n items: [],\\n transcript: alternative.transcript,\\n };\\n for (const item of alternative.items) {\\n const transcriptItem = {\\n content: item.content,\\n attendee: {\\n attendeeId: item.speakerAttendeeId,\\n externalUserId: item.speakerExternalUserId,\\n },\\n startTimeMs: item.startTime,\\n endTimeMs: item.endTime,\\n type: null,\\n };\\n if (item.vocabularyFilterMatch) {\\n transcriptItem.vocabularyFilterMatch = item.vocabularyFilterMatch;\\n }\\n if (item.hasOwnProperty('stable')) {\\n transcriptItem.stable = item.stable;\\n }\\n if (item.hasOwnProperty('confidence')) {\\n transcriptItem.confidence = item.confidence;\\n }\\n switch (item.type) {\\n case SignalingProtocol_1.SdkTranscriptItem.Type.PRONUNCIATION:\\n transcriptItem.type = TranscriptItemType_1.default.PRONUNCIATION;\\n break;\\n case SignalingProtocol_1.SdkTranscriptItem.Type.PUNCTUATION:\\n transcriptItem.type = TranscriptItemType_1.default.PUNCTUATION;\\n break;\\n }\\n transcriptAlternative.items.push(transcriptItem);\\n }\\n for (const entity of alternative.entities) {\\n if (!transcriptAlternative.entities) {\\n transcriptAlternative.entities = [];\\n }\\n const transcriptEntity = {\\n category: entity.category,\\n confidence: entity.confidence,\\n content: entity.content,\\n startTimeMs: entity.startTime,\\n endTimeMs: entity.endTime,\\n };\\n if (entity.type) {\\n transcriptEntity.type = entity.type;\\n }\\n transcriptAlternative.entities.push(transcriptEntity);\\n }\\n transcriptResult.alternatives.push(transcriptAlternative);\\n }\\n transcript.results.push(transcriptResult);\\n }\\n transcriptEvents.push(transcript);\\n }\\n }\\n return transcriptEvents;\\n }\\n}\\nexports.TranscriptEventConverter = TranscriptEventConverter;\\n//# sourceMappingURL=TranscriptEvent.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptEvent.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptItem.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptItem.js ***!\n \\*****************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass TranscriptItem {\\n}\\nexports[\\\"default\\\"] = TranscriptItem;\\n//# sourceMappingURL=TranscriptItem.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptItem.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptItemType.js\":\n/*!*********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptItemType.js ***!\n \\*********************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nvar TranscriptItemType;\\n(function (TranscriptItemType) {\\n TranscriptItemType[\\\"PRONUNCIATION\\\"] = \\\"pronunciation\\\";\\n TranscriptItemType[\\\"PUNCTUATION\\\"] = \\\"punctuation\\\";\\n})(TranscriptItemType || (TranscriptItemType = {}));\\nexports[\\\"default\\\"] = TranscriptItemType;\\n//# sourceMappingURL=TranscriptItemType.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptItemType.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptLanguageWithScore.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptLanguageWithScore.js ***!\n \\******************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/*\\n* When using automatic language identification for streaming transcription,\\n* Amazon Transcribe provides the language codes of the identified languages and their associated confidence scores.\\n* languageCode refers to one of language code from the set of languageOptions provided during start transcription call\\n* score refers to the confidence score is a value between zero and one; a larger value indicates a higher confidence in the identified language.\\n* Sample LanguageWithScore would look similar to this :\\n* \\\"LanguageIdentification\\\": [\\n {\\n \\\"LanguageCode\\\": \\\"en-US\\\",\\n \\\"Score\\\": 0.805\\n },\\n {\\n \\\"LanguageCode\\\": \\\"ja-JP\\\",\\n \\\"Score\\\": 0.195\\n }\\n ]\\n*/\\nclass TranscriptLanguageWithScore {\\n}\\nexports[\\\"default\\\"] = TranscriptLanguageWithScore;\\n//# sourceMappingURL=TranscriptLanguageWithScore.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptLanguageWithScore.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptResult.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptResult.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass TranscriptResult {\\n}\\nexports[\\\"default\\\"] = TranscriptResult;\\n//# sourceMappingURL=TranscriptResult.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptResult.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptionStatus.js\":\n/*!**********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptionStatus.js ***!\n \\**********************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass TranscriptionStatus {\\n}\\nexports[\\\"default\\\"] = TranscriptionStatus;\\n//# sourceMappingURL=TranscriptionStatus.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptionStatus.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptionStatusType.js\":\n/*!**************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptionStatusType.js ***!\n \\**************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nvar TranscriptionStatusType;\\n(function (TranscriptionStatusType) {\\n TranscriptionStatusType[\\\"STARTED\\\"] = \\\"started\\\";\\n TranscriptionStatusType[\\\"INTERRUPTED\\\"] = \\\"interrupted\\\";\\n TranscriptionStatusType[\\\"RESUMED\\\"] = \\\"resumed\\\";\\n TranscriptionStatusType[\\\"STOPPED\\\"] = \\\"stopped\\\";\\n TranscriptionStatusType[\\\"FAILED\\\"] = \\\"failed\\\";\\n})(TranscriptionStatusType || (TranscriptionStatusType = {}));\\nexports[\\\"default\\\"] = TranscriptionStatusType;\\n//# sourceMappingURL=TranscriptionStatusType.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/transcript/TranscriptionStatusType.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/useragentparser/DefaultUserAgentParser.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/useragentparser/DefaultUserAgentParser.js ***!\n \\******************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n// Use \\\"ua-parser-js\\\" over \\\"detect-browser\\\" to get more detailed information.\\nconst ua_parser_js_1 = __webpack_require__(/*! ua-parser-js */ \\\"./node_modules/ua-parser-js/src/ua-parser.js\\\");\\nconst Versioning_1 = __webpack_require__(/*! ../versioning/Versioning */ \\\"./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js\\\");\\n/**\\n * [[DefaultUserAgentParser]] uses UAParser to parse the browser's user agent.\\n * It is responsible to hold and provide browser, OS and device specific information.\\n */\\nclass DefaultUserAgentParser {\\n constructor(logger) {\\n var _a, _b, _c, _d, _e, _f, _g;\\n try {\\n this.parserResult =\\n navigator && navigator.userAgent\\n ? new ua_parser_js_1.UAParser(navigator.userAgent).getResult()\\n : undefined;\\n }\\n catch (error) {\\n /* istanbul ignore next */\\n logger.error(error.message);\\n }\\n this.browserMajorVersion =\\n ((_c = (_b = (_a = this.parserResult) === null || _a === void 0 ? void 0 : _a.browser) === null || _b === void 0 ? void 0 : _b.version) === null || _c === void 0 ? void 0 : _c.split('.')[0]) || DefaultUserAgentParser.UNAVAILABLE;\\n this.browserName = ((_d = this.parserResult) === null || _d === void 0 ? void 0 : _d.browser.name) || DefaultUserAgentParser.UNAVAILABLE;\\n this.browserVersion = ((_e = this.parserResult) === null || _e === void 0 ? void 0 : _e.browser.version) || DefaultUserAgentParser.UNAVAILABLE;\\n this.deviceName =\\n [((_f = this.parserResult) === null || _f === void 0 ? void 0 : _f.device.vendor) || '', ((_g = this.parserResult) === null || _g === void 0 ? void 0 : _g.device.model) || '']\\n .join(' ')\\n .trim() || DefaultUserAgentParser.UNAVAILABLE;\\n }\\n getParserResult() {\\n var _a, _b;\\n return {\\n browserMajorVersion: this.browserMajorVersion,\\n browserName: this.browserName,\\n browserVersion: this.browserVersion,\\n deviceName: this.deviceName,\\n osName: ((_a = this.parserResult) === null || _a === void 0 ? void 0 : _a.os.name) || DefaultUserAgentParser.UNAVAILABLE,\\n osVersion: ((_b = this.parserResult) === null || _b === void 0 ? void 0 : _b.os.version) || DefaultUserAgentParser.UNAVAILABLE,\\n sdkVersion: Versioning_1.default.sdkVersion,\\n sdkName: Versioning_1.default.sdkName,\\n };\\n }\\n}\\nexports[\\\"default\\\"] = DefaultUserAgentParser;\\nDefaultUserAgentParser.UNAVAILABLE = 'Unavailable';\\n//# sourceMappingURL=DefaultUserAgentParser.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/useragentparser/DefaultUserAgentParser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/utils/PromiseQueue.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/utils/PromiseQueue.js ***!\n \\**********************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * A simple promise queue to enforce the order of async APIs for example, start/stop video/audio input.\\n */\\nclass PromiseQueue {\\n constructor() {\\n this.queue = Promise.resolve();\\n }\\n // eslint-disable-next-line\\n add(func) {\\n return new Promise((resolve, reject) => {\\n this.queue = this.queue.then(func).then(resolve).catch(reject);\\n });\\n }\\n}\\nexports[\\\"default\\\"] = PromiseQueue;\\n//# sourceMappingURL=PromiseQueue.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/utils/PromiseQueue.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/utils/Types.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/utils/Types.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.None = exports.Some = exports.Maybe = void 0;\\nclass Maybe {\\n static of(value) {\\n return value === undefined || value === null ? None.of() : Some.of(value);\\n }\\n}\\nexports.Maybe = Maybe;\\nclass Some {\\n constructor(value) {\\n this.value = value;\\n this.isSome = true;\\n this.isNone = false;\\n }\\n map(f) {\\n return Maybe.of(f(this.value));\\n }\\n flatMap(f) {\\n return f(this.value);\\n }\\n get() {\\n return this.value;\\n }\\n getOrElse(_value) {\\n return this.value;\\n }\\n defaulting(value) {\\n return Maybe.of(this.getOrElse(value));\\n }\\n static of(value) {\\n if (value === null || value === undefined) {\\n throw new Error('value is ${value}');\\n }\\n return new Some(value);\\n }\\n}\\nexports.Some = Some;\\nclass None {\\n constructor() {\\n this.isSome = false;\\n this.isNone = true;\\n }\\n get() {\\n throw new Error('value is null');\\n }\\n getOrElse(value) {\\n return value;\\n }\\n map(_f) {\\n return new None();\\n }\\n flatMap(_f) {\\n return new None();\\n }\\n defaulting(value) {\\n return Maybe.of(this.getOrElse(value));\\n }\\n static of() {\\n return new None();\\n }\\n}\\nexports.None = None;\\n//# sourceMappingURL=Types.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/utils/Types.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/utils/Utils.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/utils/Utils.js ***!\n \\***************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.getFormattedOffset = exports.getDefaultAssetSpec = exports.toLowerCasePropertyNames = exports.isIFramed = exports.wait = void 0;\\nconst Versioning_1 = __webpack_require__(/*! ../versioning/Versioning */ \\\"./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js\\\");\\nfunction wait(waitTimeMs) {\\n return new Promise(resolve => setTimeout(resolve, waitTimeMs));\\n}\\nexports.wait = wait;\\n// This is impossible to adequately test in Node, so Istanbul ignore.\\n/* istanbul ignore next */\\nfunction isIFramed() {\\n var _a;\\n // Same-origin iframes can check `nodeName`.\\n // We can also check whether the parent window and the top window are the same.\\n // Cross-origin iframes will throw on the `parent` check, so catch here.\\n try {\\n return ((_a = window.frameElement) === null || _a === void 0 ? void 0 : _a.nodeName) === 'IFRAME' || parent !== top;\\n }\\n catch (e) {\\n // Very likely to be a cross-origin iframe.\\n return true;\\n }\\n}\\nexports.isIFramed = isIFramed;\\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\\nfunction toLowerCasePropertyNames(input) {\\n if (input === null) {\\n return null;\\n }\\n else if (typeof input !== 'object') {\\n return input;\\n }\\n else if (Array.isArray(input)) {\\n return input.map(toLowerCasePropertyNames);\\n }\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n return Object.keys(input).reduce((result, key) => {\\n const value = input[key];\\n const newValue = typeof value === 'object' ? toLowerCasePropertyNames(value) : value;\\n result[key.toLowerCase()] = newValue;\\n return result;\\n }, {});\\n}\\nexports.toLowerCasePropertyNames = toLowerCasePropertyNames;\\n/**\\n * Based on the SDK version, return an asset group.\\n *\\n * @returns the default asset spec, based on the SDK version.\\n */\\nfunction getDefaultAssetSpec() {\\n const version = Versioning_1.default.sdkVersionSemVer;\\n return {\\n assetGroup: `sdk-${version.major}.${version.minor}`,\\n };\\n}\\nexports.getDefaultAssetSpec = getDefaultAssetSpec;\\n/**\\n * Get UTC offset in (+|-)HH:mm format\\n * E.g. For Asia/Calcutta timezone, +05:30 UTC offset value is returned\\n */\\nfunction getFormattedOffset(utcOffset) {\\n const offset = Math.abs(utcOffset);\\n const offsetOperator = utcOffset <= 0 ? '+' : '-';\\n const offsetHours = Math.floor(offset / 60)\\n .toString()\\n .padStart(2, '0');\\n const offsetMinutes = Math.floor(offset % 60)\\n .toString()\\n .padStart(2, '0');\\n return `${offsetOperator}${offsetHours}:${offsetMinutes}`;\\n}\\nexports.getFormattedOffset = getFormattedOffset;\\n//# sourceMappingURL=Utils.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/utils/Utils.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nconst version_1 = __webpack_require__(/*! ./version */ \\\"./node_modules/amazon-chime-sdk-js/build/versioning/version.js\\\");\\nclass Versioning {\\n /**\\n * Return string representation of SDK name\\n */\\n static get sdkName() {\\n return 'amazon-chime-sdk-js';\\n }\\n /**\\n * Return string representation of SDK version\\n */\\n static get sdkVersion() {\\n return version_1.default.semverString;\\n }\\n /**\\n * Returns the parts of the semver, so major/minor/patch can be extracted individually.\\n */\\n static get sdkVersionSemVer() {\\n var _a, _b, _c, _d;\\n const v = version_1.default.semverString.match(/^(?<major>[0-9]+)\\\\.(?<minor>[0-9]+)((?:\\\\.(?<patch>[0-9]+))(?:-(?<preRelease>[a-zA-Z]+(\\\\.[0-9])*))?)?/);\\n return {\\n major: (_a = v === null || v === void 0 ? void 0 : v.groups) === null || _a === void 0 ? void 0 : _a.major,\\n minor: (_b = v === null || v === void 0 ? void 0 : v.groups) === null || _b === void 0 ? void 0 : _b.minor,\\n patch: (_c = v === null || v === void 0 ? void 0 : v.groups) === null || _c === void 0 ? void 0 : _c.patch,\\n preRelease: (_d = v === null || v === void 0 ? void 0 : v.groups) === null || _d === void 0 ? void 0 : _d.preRelease,\\n };\\n }\\n /**\\n * Return the SHA-1 of the Git commit from which this build was created.\\n */\\n static get buildSHA() {\\n // Skip the leading 'g'.\\n return version_1.default.hash.substr(1);\\n }\\n /**\\n * Return low-resolution string representation of SDK user agent (e.g. `chrome-78`)\\n */\\n static get sdkUserAgentLowResolution() {\\n const browserBehavior = new DefaultBrowserBehavior_1.default();\\n return `${browserBehavior.name()}-${browserBehavior.majorVersion()}`;\\n }\\n /**\\n * Return URL with versioning information appended\\n */\\n static urlWithVersion(url) {\\n const urlWithVersion = new URL(url);\\n urlWithVersion.searchParams.append(Versioning.X_AMZN_VERSION, Versioning.sdkVersion);\\n urlWithVersion.searchParams.append(Versioning.X_AMZN_USER_AGENT, Versioning.sdkUserAgentLowResolution);\\n return urlWithVersion.toString();\\n }\\n}\\nexports[\\\"default\\\"] = Versioning;\\nVersioning.X_AMZN_VERSION = 'X-Amzn-Version';\\nVersioning.X_AMZN_USER_AGENT = 'X-Amzn-User-Agent';\\n//# sourceMappingURL=Versioning.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/versioning/version.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/versioning/version.js ***!\n \\**********************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports[\\\"default\\\"] = {\\n \\\"hash\\\": \\\"64a3f79\\\",\\n \\\"raw\\\": \\\"v3.15.0\\\",\\n \\\"semverString\\\": \\\"3.15.0\\\"\\n};\\n//# sourceMappingURL=version.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/versioning/version.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videocaptureandencodeparameter/DefaultVideoCaptureAndEncodeParameter.js\":\n/*!************************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videocaptureandencodeparameter/DefaultVideoCaptureAndEncodeParameter.js ***!\n \\************************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass DefaultVideoCaptureAndEncodeParameter {\\n constructor(cameraWidth, cameraHeight, cameraFrameRate, maxEncodeBitrateKbps, isSimulcast, scaleResolutionDownBy = 1) {\\n this.cameraWidth = cameraWidth;\\n this.cameraHeight = cameraHeight;\\n this.cameraFrameRate = cameraFrameRate;\\n this.maxEncodeBitrateKbps = maxEncodeBitrateKbps;\\n this.isSimulcast = isSimulcast;\\n this.scaleResolutionDownBy = scaleResolutionDownBy;\\n }\\n equal(other) {\\n let checkForEqual = other.captureWidth() === this.cameraWidth &&\\n other.captureHeight() === this.cameraHeight &&\\n other.captureFrameRate() === this.cameraFrameRate &&\\n other.encodeBitrates().length === this.encodeBitrates().length &&\\n other.encodeScaleResolutionDownBy().length === this.encodeScaleResolutionDownBy().length &&\\n other.encodeWidths().length === this.encodeWidths().length &&\\n other.encodeHeights().length === this.encodeHeights().length;\\n if (checkForEqual) {\\n for (let i = 0; i < other.encodeWidths().length; i++) {\\n if (other.encodeWidths()[i] !== this.encodeWidths()[i] ||\\n other.encodeHeights()[i] !== this.encodeHeights()[i] ||\\n other.encodeBitrates()[i] !== this.encodeBitrates()[i] ||\\n other.encodeScaleResolutionDownBy()[i] !== this.encodeScaleResolutionDownBy()[i]) {\\n checkForEqual = false;\\n return checkForEqual;\\n }\\n }\\n }\\n return checkForEqual;\\n }\\n clone() {\\n return new DefaultVideoCaptureAndEncodeParameter(this.cameraWidth, this.cameraHeight, this.cameraFrameRate, this.maxEncodeBitrateKbps, this.isSimulcast, this.scaleResolutionDownBy);\\n }\\n captureWidth() {\\n return this.cameraWidth;\\n }\\n captureHeight() {\\n return this.cameraHeight;\\n }\\n captureFrameRate() {\\n return this.cameraFrameRate;\\n }\\n encodeBitrates() {\\n // TODO: add simulcast layer\\n return [this.maxEncodeBitrateKbps];\\n }\\n encodeScaleResolutionDownBy() {\\n return [this.scaleResolutionDownBy];\\n }\\n encodeWidths() {\\n return [this.cameraWidth];\\n }\\n encodeHeights() {\\n return [this.cameraHeight];\\n }\\n}\\nexports[\\\"default\\\"] = DefaultVideoCaptureAndEncodeParameter;\\n//# sourceMappingURL=DefaultVideoCaptureAndEncodeParameter.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videocaptureandencodeparameter/DefaultVideoCaptureAndEncodeParameter.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/AllHighestVideoBandwidthPolicy.js\":\n/*!***************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/AllHighestVideoBandwidthPolicy.js ***!\n \\***************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultVideoStreamIdSet_1 = __webpack_require__(/*! ../videostreamidset/DefaultVideoStreamIdSet */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamidset/DefaultVideoStreamIdSet.js\\\");\\n/**\\n * [[AllHighestVideoBandwidthPolicy]] implements is a rudimentary policy that simply\\n * always subscribes to the highest quality video stream available\\n * for all non-self participants.\\n */\\nclass AllHighestVideoBandwidthPolicy {\\n constructor(selfAttendeeId) {\\n this.selfAttendeeId = selfAttendeeId;\\n this.reset();\\n }\\n reset() {\\n this.optimalReceiveSet = new DefaultVideoStreamIdSet_1.default();\\n this.subscribedReceiveSet = new DefaultVideoStreamIdSet_1.default();\\n this.videoSources = undefined;\\n }\\n updateIndex(videoIndex) {\\n this.videoIndex = videoIndex;\\n this.optimalReceiveSet = this.calculateOptimalReceiveSet(videoIndex);\\n }\\n updateMetrics(_clientMetricReport) { }\\n wantsResubscribe() {\\n return !this.subscribedReceiveSet.equal(this.optimalReceiveSet);\\n }\\n chooseSubscriptions() {\\n this.subscribedReceiveSet = this.optimalReceiveSet.clone();\\n return this.subscribedReceiveSet.clone();\\n }\\n chooseRemoteVideoSources(videoSources) {\\n this.videoSources = videoSources;\\n this.optimalReceiveSet = this.calculateOptimalReceiveSet(this.videoIndex).clone();\\n }\\n calculateOptimalReceiveSet(videoIndex) {\\n const streamSelectionSet = new DefaultVideoStreamIdSet_1.default();\\n if (!this.videoIndex || this.videoIndex.allStreams().empty()) {\\n return streamSelectionSet;\\n }\\n const receiveSet = videoIndex.highestQualityStreamFromEachGroupExcludingSelf(this.selfAttendeeId);\\n // If video sources are not chosen, then return the default receive set.\\n if (this.videoSources === undefined) {\\n return receiveSet;\\n }\\n // Get the list of all the remote stream information\\n const remoteInfos = this.videoIndex.remoteStreamDescriptions();\\n const mapOfAttendeeIdToOptimalStreamId = new Map();\\n for (const info of remoteInfos) {\\n if (receiveSet.contain(info.streamId)) {\\n mapOfAttendeeIdToOptimalStreamId.set(info.attendeeId, info.streamId);\\n }\\n }\\n for (const videoSource of this.videoSources) {\\n const attendeeId = videoSource.attendee.attendeeId;\\n if (mapOfAttendeeIdToOptimalStreamId.has(attendeeId)) {\\n streamSelectionSet.add(mapOfAttendeeIdToOptimalStreamId.get(attendeeId));\\n }\\n }\\n return streamSelectionSet;\\n }\\n}\\nexports[\\\"default\\\"] = AllHighestVideoBandwidthPolicy;\\n//# sourceMappingURL=AllHighestVideoBandwidthPolicy.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/AllHighestVideoBandwidthPolicy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/NoVideoDownlinkBandwidthPolicy.js\":\n/*!***************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/NoVideoDownlinkBandwidthPolicy.js ***!\n \\***************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultVideoStreamIdSet_1 = __webpack_require__(/*! ../videostreamidset/DefaultVideoStreamIdSet */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamidset/DefaultVideoStreamIdSet.js\\\");\\nclass NoVideoDownlinkBandwidthPolicy {\\n reset() { }\\n updateIndex(_videoIndex) { }\\n updateMetrics(_clientMetricReport) { }\\n wantsResubscribe() {\\n return false;\\n }\\n chooseSubscriptions() {\\n return new DefaultVideoStreamIdSet_1.default();\\n }\\n}\\nexports[\\\"default\\\"] = NoVideoDownlinkBandwidthPolicy;\\n//# sourceMappingURL=NoVideoDownlinkBandwidthPolicy.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/NoVideoDownlinkBandwidthPolicy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/TargetDisplaySize.js\":\n/*!**************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/TargetDisplaySize.js ***!\n \\**************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.TargetDisplaySize = void 0;\\n/**\\n * [[TargetDisplaySize]] represents the max resolution that a video stream can have when simulcast is enabled in priority based downlink policy.\\n * If there is only one stream being sent, then this field will get ignored. Its values currently parallel [[SimulcastLayers]].\\n */\\nvar TargetDisplaySize;\\n(function (TargetDisplaySize) {\\n /**\\n * Low resolution video stream.\\n */\\n TargetDisplaySize[TargetDisplaySize[\\\"Low\\\"] = 0] = \\\"Low\\\";\\n /**\\n * Medium resolution video stream.\\n */\\n TargetDisplaySize[TargetDisplaySize[\\\"Medium\\\"] = 1] = \\\"Medium\\\";\\n /**\\n * High resolution video stream.\\n */\\n TargetDisplaySize[TargetDisplaySize[\\\"High\\\"] = 2] = \\\"High\\\";\\n /**\\n * Maximum resolution video stream.\\n */\\n TargetDisplaySize[TargetDisplaySize[\\\"Maximum\\\"] = 3] = \\\"Maximum\\\";\\n})(TargetDisplaySize = exports.TargetDisplaySize || (exports.TargetDisplaySize = {}));\\nexports[\\\"default\\\"] = TargetDisplaySize;\\n//# sourceMappingURL=TargetDisplaySize.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/TargetDisplaySize.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoAdaptiveProbePolicy.js\":\n/*!*********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoAdaptiveProbePolicy.js ***!\n \\*********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst ContentShareConstants_1 = __webpack_require__(/*! ../contentsharecontroller/ContentShareConstants */ \\\"./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/ContentShareConstants.js\\\");\\nconst VideoPreference_1 = __webpack_require__(/*! ./VideoPreference */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreference.js\\\");\\nconst VideoPreferences_1 = __webpack_require__(/*! ./VideoPreferences */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreferences.js\\\");\\nconst VideoPriorityBasedPolicy_1 = __webpack_require__(/*! ./VideoPriorityBasedPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPriorityBasedPolicy.js\\\");\\nclass VideoAdaptiveProbePolicy extends VideoPriorityBasedPolicy_1.default {\\n constructor(logger) {\\n super(logger);\\n this.logger = logger;\\n super.shouldPauseTiles = false;\\n this.videoPreferences = undefined;\\n }\\n reset() {\\n super.reset();\\n super.shouldPauseTiles = false;\\n this.videoPreferences = undefined;\\n }\\n updateIndex(videoIndex) {\\n super.updateIndex(videoIndex);\\n const newPreferences = VideoPreferences_1.VideoPreferences.prepare();\\n let containsContent = false;\\n const remoteInfos = videoIndex.remoteStreamDescriptions();\\n // If there is active content then set that as high priority, and the rest at lower\\n for (const info of remoteInfos) {\\n // I don't know why we need to do this duplicate check.\\n if (!newPreferences.some(preference => preference.attendeeId === info.attendeeId)) {\\n // For now always subscribe to content even if higher bandwidth then target\\n if (info.attendeeId.endsWith(ContentShareConstants_1.default.Modality)) {\\n newPreferences.add(new VideoPreference_1.default(info.attendeeId, 1));\\n containsContent = true;\\n }\\n else {\\n newPreferences.add(new VideoPreference_1.default(info.attendeeId, 2));\\n }\\n }\\n }\\n if (containsContent) {\\n this.videoPreferences = newPreferences.build();\\n this.videoPreferencesUpdated = true;\\n }\\n else {\\n this.videoPreferences = undefined;\\n }\\n }\\n /**\\n * [[VideoAdaptiveProbePolicy]] does not allow setting video preferences and this function\\n * will be a no-op. Please use [[VideoPriorityBasedPolicy]] directly if you would like to set\\n * preferences.\\n */\\n chooseRemoteVideoSources(_preferences) {\\n this.logger.error('chooseRemoteVideoSources should not be called by VideoAdaptiveProbePolicy');\\n return;\\n }\\n}\\nexports[\\\"default\\\"] = VideoAdaptiveProbePolicy;\\n//# sourceMappingURL=VideoAdaptiveProbePolicy.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoAdaptiveProbePolicy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreference.js\":\n/*!************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreference.js ***!\n \\************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst TargetDisplaySize_1 = __webpack_require__(/*! ./TargetDisplaySize */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/TargetDisplaySize.js\\\");\\nclass VideoPreference {\\n /** Initializes a [[VideoPreference]] with the given properties.\\n *\\n * @param attendeeId Attendee ID of the client\\n * @param priority The relative priority of this attendee against others.\\n * @param targetSize The desired maximum simulcast layers to receive.\\n */\\n constructor(attendeeId, priority, targetSize) {\\n this.attendeeId = attendeeId;\\n this.priority = priority;\\n this.targetSize = targetSize !== undefined ? targetSize : TargetDisplaySize_1.default.High;\\n }\\n partialCompare(other) {\\n return this.priority - other.priority;\\n }\\n equals(other) {\\n return (this.attendeeId === other.attendeeId &&\\n this.targetSize === other.targetSize &&\\n this.priority === other.priority);\\n }\\n clone() {\\n return new VideoPreference(this.attendeeId, this.priority, this.targetSize);\\n }\\n targetSizeToBitrateKbps(targetSize) {\\n switch (targetSize) {\\n case TargetDisplaySize_1.default.Maximum:\\n return VideoPreference.MAXIMUM_BITRATE_KBPS;\\n case TargetDisplaySize_1.default.High:\\n return VideoPreference.HIGH_BITRATE_KBPS;\\n case TargetDisplaySize_1.default.Medium:\\n return VideoPreference.MID_BITRATE_KBPS;\\n case TargetDisplaySize_1.default.Low:\\n return VideoPreference.LOW_BITRATE_KBPS;\\n }\\n }\\n}\\nexports[\\\"default\\\"] = VideoPreference;\\nVideoPreference.LOW_BITRATE_KBPS = 300;\\nVideoPreference.MID_BITRATE_KBPS = 600;\\nVideoPreference.HIGH_BITRATE_KBPS = 1400;\\nVideoPreference.MAXIMUM_BITRATE_KBPS = 10000;\\n//# sourceMappingURL=VideoPreference.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreference.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreferences.js\":\n/*!*************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreferences.js ***!\n \\*************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.VideoPreferences = exports.MutableVideoPreferences = exports.convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration = void 0;\\nconst SignalingClientVideoSubscriptionConfiguration_1 = __webpack_require__(/*! ../signalingclient/SignalingClientVideoSubscriptionConfiguration */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/SignalingClientVideoSubscriptionConfiguration.js\\\");\\nfunction convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration(context, receiveGroupIds, preferences) {\\n if (context.transceiverController.getMidForGroupId === undefined ||\\n context.videoStreamIndex.attendeeIdForGroupId === undefined ||\\n preferences === undefined) {\\n return [];\\n }\\n const configurations = new Array();\\n const attendeeIdToMid = new Map();\\n const attendeeIdToGroupId = new Map();\\n for (const groupId of receiveGroupIds) {\\n // The local description will have been set by the time this task is running, so all\\n // of the transceivers should have `mid` set by now (see comment above `getMidForStreamId`)\\n const mid = context.transceiverController.getMidForGroupId(groupId);\\n if (mid === undefined) {\\n continue;\\n }\\n const attendeeId = context.videoStreamIndex.attendeeIdForGroupId(groupId);\\n attendeeIdToMid.set(attendeeId, mid);\\n attendeeIdToGroupId.set(attendeeId, groupId);\\n }\\n for (const preference of preferences) {\\n const configuration = new SignalingClientVideoSubscriptionConfiguration_1.default();\\n const mid = attendeeIdToMid.get(preference.attendeeId);\\n if (mid === undefined) {\\n continue;\\n }\\n configuration.mid = mid;\\n configuration.attendeeId = preference.attendeeId;\\n configuration.groupId = attendeeIdToGroupId.get(preference.attendeeId);\\n // The signaling protocol expects 'higher' values for 'higher' priorities\\n configuration.priority = Number.MAX_SAFE_INTEGER - preference.priority;\\n configuration.targetBitrateKbps = preference.targetSizeToBitrateKbps(preference.targetSize);\\n configurations.push(configuration);\\n }\\n return configurations;\\n}\\nexports.convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration = convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration;\\nclass ObjectSet {\\n constructor(items = []) {\\n this.items = items;\\n }\\n static default() {\\n return new ObjectSet([]);\\n }\\n // Returns the items in sorted order.\\n [Symbol.iterator]() {\\n let i = 0;\\n const items = this.items;\\n return {\\n next() {\\n if (i < items.length) {\\n return {\\n done: false,\\n value: items[i++],\\n };\\n }\\n return {\\n done: true,\\n value: null,\\n };\\n },\\n };\\n }\\n first() {\\n return this.items[0];\\n }\\n add(item) {\\n // If this is used elsewhere, there needs to be a duplicate check here\\n this.items.push(item);\\n }\\n replaceFirst(newItem, f) {\\n const pos = this.items.findIndex(f);\\n if (pos === -1) {\\n // If this is used elsewhere, there needs to be a duplicate check here\\n this.items.push(newItem);\\n }\\n else if (!this.has(newItem)) {\\n this.items[pos] = newItem;\\n }\\n else {\\n this.items.splice(pos, 1);\\n }\\n }\\n remove(item) {\\n this.items = this.items.filter(a => !a.equals(item));\\n }\\n clear() {\\n this.items = [];\\n }\\n isEmpty() {\\n return this.items.length === 0;\\n }\\n equals(other) {\\n if (other === this) {\\n return true;\\n }\\n if (other.items.length !== this.items.length) {\\n return false;\\n }\\n // TODO: if we keep the arrays sorted correctly, not just by priority, then\\n // we don't need to do this painstaking O(n^2) work.\\n for (const item of this.items) {\\n if (!other.items.some(a => a.equals(item))) {\\n return false;\\n }\\n }\\n return true;\\n }\\n has(item) {\\n return this.items.some(a => a.equals(item));\\n }\\n some(f) {\\n return this.items.some(f);\\n }\\n clone() {\\n return new ObjectSet([...this.items]);\\n }\\n sort() {\\n this.items.sort((a, b) => a.partialCompare(b));\\n }\\n modify() {\\n // COW.\\n return new SetBuilder(this);\\n }\\n}\\nclass SetBuilder {\\n constructor(items = new ObjectSet()) {\\n this.items = items;\\n this.copied = false;\\n }\\n cow() {\\n if (this.copied) {\\n return;\\n }\\n this.items = this.items.clone();\\n this.copied = true;\\n }\\n add(item) {\\n // Don't actually need to COW unless the item is there to add.\\n if (this.items.has(item)) {\\n return;\\n }\\n this.cow();\\n this.items.add(item);\\n }\\n replaceFirst(newItem, f) {\\n // Don't actually need to COW unless the item is already there\\n // and there are no items to replace\\n if (this.items.has(newItem) && !this.items.some(f)) {\\n return;\\n }\\n this.cow();\\n this.items.replaceFirst(newItem, f);\\n }\\n remove(item) {\\n // Don't actually need to COW unless the item is there to remove.\\n if (!this.items.has(item)) {\\n return;\\n }\\n this.cow();\\n this.items.remove(item);\\n }\\n some(f) {\\n return this.items.some(f);\\n }\\n clear() {\\n if (this.items.isEmpty()) {\\n return;\\n }\\n this.cow();\\n this.items.clear();\\n }\\n build() {\\n // Immutable sets are always kept sorted!\\n if (this.copied) {\\n this.items.sort();\\n }\\n this.copied = false;\\n return this.items;\\n }\\n}\\nclass MutableVideoPreferences {\\n constructor(builder) {\\n this.builder = builder;\\n }\\n add(pref) {\\n this.builder.add(pref);\\n }\\n replaceFirst(newPref, f) {\\n this.builder.replaceFirst(newPref, f);\\n }\\n remove(pref) {\\n this.builder.remove(pref);\\n }\\n some(f) {\\n return this.builder.some(f);\\n }\\n clear() {\\n this.builder.clear();\\n }\\n build() {\\n return new VideoPreferences(this.builder.build());\\n }\\n}\\nexports.MutableVideoPreferences = MutableVideoPreferences;\\nclass VideoPreferences {\\n /** @internal */\\n constructor(items) {\\n this.items = items;\\n }\\n static prepare() {\\n return new MutableVideoPreferences(new SetBuilder());\\n }\\n static default() {\\n return new VideoPreferences(ObjectSet.default());\\n }\\n [Symbol.iterator]() {\\n return this.items[Symbol.iterator]();\\n }\\n highestPriority() {\\n var _a;\\n return (_a = this.items.first()) === null || _a === void 0 ? void 0 : _a.priority;\\n }\\n // Our items happen to always be sorted!\\n sorted() {\\n return this.items[Symbol.iterator]();\\n }\\n equals(other) {\\n return other === this || this.items.equals(other.items);\\n }\\n modify() {\\n return new MutableVideoPreferences(this.items.modify());\\n }\\n some(f) {\\n return this.items.some(f);\\n }\\n isEmpty() {\\n return this.items.isEmpty();\\n }\\n clone() {\\n const videoPreferences = VideoPreferences.prepare();\\n for (const preference of this.items) {\\n videoPreferences.add(preference.clone());\\n }\\n return videoPreferences.build();\\n }\\n}\\nexports.VideoPreferences = VideoPreferences;\\nexports[\\\"default\\\"] = VideoPreferences;\\n//# sourceMappingURL=VideoPreferences.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreferences.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPriorityBasedPolicy.js\":\n/*!*********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPriorityBasedPolicy.js ***!\n \\*********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst Attendee_1 = __webpack_require__(/*! ../attendee/Attendee */ \\\"./node_modules/amazon-chime-sdk-js/build/attendee/Attendee.js\\\");\\nconst ClientMetricReportDirection_1 = __webpack_require__(/*! ../clientmetricreport/ClientMetricReportDirection */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportDirection.js\\\");\\nconst ClientMetricReportMediaType_1 = __webpack_require__(/*! ../clientmetricreport/ClientMetricReportMediaType */ \\\"./node_modules/amazon-chime-sdk-js/build/clientmetricreport/ClientMetricReportMediaType.js\\\");\\nconst ContentShareConstants_1 = __webpack_require__(/*! ../contentsharecontroller/ContentShareConstants */ \\\"./node_modules/amazon-chime-sdk-js/build/contentsharecontroller/ContentShareConstants.js\\\");\\nconst LogLevel_1 = __webpack_require__(/*! ../logger/LogLevel */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/LogLevel.js\\\");\\nconst ServerSideNetworkAdaption_1 = __webpack_require__(/*! ../signalingclient/ServerSideNetworkAdaption */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/ServerSideNetworkAdaption.js\\\");\\nconst VideoSource_1 = __webpack_require__(/*! ../videosource/VideoSource */ \\\"./node_modules/amazon-chime-sdk-js/build/videosource/VideoSource.js\\\");\\nconst DefaultVideoStreamIdSet_1 = __webpack_require__(/*! ../videostreamidset/DefaultVideoStreamIdSet */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamidset/DefaultVideoStreamIdSet.js\\\");\\nconst AllHighestVideoBandwidthPolicy_1 = __webpack_require__(/*! ./AllHighestVideoBandwidthPolicy */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/AllHighestVideoBandwidthPolicy.js\\\");\\nconst TargetDisplaySize_1 = __webpack_require__(/*! ./TargetDisplaySize */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/TargetDisplaySize.js\\\");\\nconst VideoPreference_1 = __webpack_require__(/*! ./VideoPreference */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreference.js\\\");\\nconst VideoPreferences_1 = __webpack_require__(/*! ./VideoPreferences */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPreferences.js\\\");\\nconst VideoPriorityBasedPolicyConfig_1 = __webpack_require__(/*! ./VideoPriorityBasedPolicyConfig */ \\\"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPriorityBasedPolicyConfig.js\\\");\\n/** @internal */\\nclass LinkMediaStats {\\n constructor() {\\n this.bandwidthEstimateKbps = 0;\\n this.usedBandwidthKbps = 0;\\n this.packetsLost = 0;\\n this.nackCount = 0;\\n this.rttMs = 0;\\n }\\n}\\nclass VideoPriorityBasedPolicy {\\n constructor(logger, videoPriorityBasedPolicyConfig = VideoPriorityBasedPolicyConfig_1.default.Default) {\\n this.logger = logger;\\n this.videoPriorityBasedPolicyConfig = videoPriorityBasedPolicyConfig;\\n this.shouldPauseTiles = true;\\n this.observerQueue = new Set();\\n this.pausedBwAttendeeIds = new Set();\\n this.wantsResubscribeObserver = undefined;\\n this.reset();\\n }\\n reset() {\\n // Self-attendee is not actually necessary in 'AllHighestVideoBandwidthPolicy' since it just passes it to\\n // `highestQualityStreamFromEachGroupExcludingSelf` which itself doesn't need it as self attendees are not in the\\n // index\\n this.allHighestPolicy = new AllHighestVideoBandwidthPolicy_1.default('');\\n this.optimalReceiveSet = new DefaultVideoStreamIdSet_1.default();\\n this.optimalReceiveStreams = [];\\n this.optimalNonPausedReceiveStreams = [];\\n this.subscribedReceiveSet = new DefaultVideoStreamIdSet_1.default();\\n this.subscribedReceiveStreams = [];\\n this.videoPreferences = undefined;\\n this.defaultVideoPreferences = undefined;\\n this.shouldPauseTiles = true;\\n this.pausedStreamIds = new DefaultVideoStreamIdSet_1.default();\\n this.pausedBwAttendeeIds = new Set();\\n this.videoPreferencesUpdated = false;\\n this.logCount = 0;\\n this.startupPeriod = true;\\n this.usingPrevTargetRate = false;\\n this.rateProbeState = \\\"Not Probing\\\" /* NotProbing */;\\n this.firstEstimateTimestamp = 0;\\n this.lastUpgradeRateKbps = 0;\\n this.timeBeforeAllowSubscribeMs = VideoPriorityBasedPolicy.MIN_TIME_BETWEEN_SUBSCRIBE_MS;\\n this.lastProbeTimestamp = Date.now();\\n this.timeBeforeAllowProbeMs = VideoPriorityBasedPolicy.MIN_TIME_BETWEEN_PROBE_MS;\\n this.downlinkStats = new LinkMediaStats();\\n this.prevDownlinkStats = new LinkMediaStats();\\n this.probeFailed = false;\\n this.serverSideNetworkAdaption = this.videoPriorityBasedPolicyConfig.serverSideNetworkAdaption;\\n this.pendingActionAfterUpdatedPreferences = false;\\n }\\n bindToTileController(tileController) {\\n this.tileController = tileController;\\n this.logger.info('tileController bound');\\n }\\n setWantsResubscribeObserver(observer) {\\n this.wantsResubscribeObserver = observer;\\n }\\n // This function allows setting preferences without the need to inherit from this class\\n // which would require not using the internal keyword\\n chooseRemoteVideoSources(preferences) {\\n var _a;\\n if ((_a = this.videoPreferences) === null || _a === void 0 ? void 0 : _a.equals(preferences)) {\\n return;\\n }\\n this.videoPreferences = preferences === null || preferences === void 0 ? void 0 : preferences.clone();\\n if (!ServerSideNetworkAdaption_1.serverSideNetworkAdaptionIsNoneOrDefault(this.serverSideNetworkAdaption)) {\\n this.pendingActionAfterUpdatedPreferences = true;\\n if (this.wantsResubscribeObserver !== undefined) {\\n this.wantsResubscribeObserver();\\n this.pendingActionAfterUpdatedPreferences = false;\\n }\\n if (this.serverSideNetworkAdaption ===\\n ServerSideNetworkAdaption_1.default.BandwidthProbingAndRemoteVideoQualityAdaption) {\\n const desiredVideoSources = new Array();\\n for (const preference of this.videoPreferences) {\\n const source = new VideoSource_1.default();\\n source.attendee = new Attendee_1.default();\\n source.attendee.attendeeId = preference.attendeeId;\\n desiredVideoSources.push(source);\\n }\\n this.allHighestPolicy.chooseRemoteVideoSources(desiredVideoSources);\\n return;\\n }\\n }\\n this.videoPreferencesUpdated = true;\\n this.logger.info(`bwe: setVideoPreferences bwe: new preferences: ${JSON.stringify(preferences)}`);\\n return;\\n }\\n updateIndex(videoIndex) {\\n this.videoIndex = videoIndex;\\n if (this.serverSideNetworkAdaption ===\\n ServerSideNetworkAdaption_1.default.BandwidthProbingAndRemoteVideoQualityAdaption) {\\n this.allHighestPolicy.updateIndex(videoIndex);\\n }\\n if (!this.videoPreferences) {\\n this.updateDefaultVideoPreferences();\\n }\\n }\\n updateDefaultVideoPreferences() {\\n const attendeeIds = new Set();\\n for (const stream of this.videoIndex.remoteStreamDescriptions()) {\\n attendeeIds.add(stream.attendeeId);\\n }\\n const prefs = VideoPreferences_1.VideoPreferences.prepare();\\n const numAttendees = attendeeIds.size;\\n let targetDisplaySize = TargetDisplaySize_1.default.High;\\n if (numAttendees > 8) {\\n targetDisplaySize = TargetDisplaySize_1.default.Low;\\n }\\n else if (numAttendees > 4) {\\n targetDisplaySize = TargetDisplaySize_1.default.Medium;\\n }\\n for (const attendeeId of attendeeIds) {\\n prefs.add(new VideoPreference_1.default(attendeeId, 1, targetDisplaySize));\\n }\\n this.defaultVideoPreferences = prefs.build();\\n }\\n updateMetrics(clientMetricReport) {\\n if (!this.videoIndex || this.videoIndex.allStreams().empty()) {\\n return;\\n }\\n this.prevDownlinkStats = this.downlinkStats;\\n this.downlinkStats = new LinkMediaStats();\\n const metricReport = clientMetricReport.getObservableMetrics();\\n // availableIncomingBitrate is the standard stat but is not available in Firefox yet so only Safari for now.\\n this.downlinkStats.bandwidthEstimateKbps = metricReport.availableIncomingBitrate / 1000;\\n for (const ssrcStr in clientMetricReport.streamMetricReports) {\\n const ssrc = Number.parseInt(ssrcStr, 10);\\n const metrics = clientMetricReport.streamMetricReports[ssrc];\\n if (metrics.direction === ClientMetricReportDirection_1.default.DOWNSTREAM && metrics.mediaType === ClientMetricReportMediaType_1.default.VIDEO) {\\n // Only use video stream metrics\\n if (metrics.currentMetrics.hasOwnProperty('nackCount')) {\\n this.downlinkStats.nackCount += clientMetricReport.countPerSecond('nackCount', ssrc);\\n }\\n if (metrics.currentMetrics.hasOwnProperty('packetsLost')) {\\n this.downlinkStats.packetsLost += clientMetricReport.countPerSecond('packetsLost', ssrc);\\n }\\n if (metrics.currentMetrics.hasOwnProperty('bytesReceived')) {\\n this.downlinkStats.usedBandwidthKbps +=\\n clientMetricReport.bitsPerSecond('bytesReceived', ssrc) / 1000;\\n }\\n }\\n }\\n }\\n wantsResubscribe() {\\n let wants = false;\\n if (!ServerSideNetworkAdaption_1.serverSideNetworkAdaptionIsNoneOrDefault(this.serverSideNetworkAdaption)) {\\n wants || (wants = this.pendingActionAfterUpdatedPreferences);\\n if (this.serverSideNetworkAdaption ===\\n ServerSideNetworkAdaption_1.default.BandwidthProbingAndRemoteVideoQualityAdaption) {\\n return wants || this.allHighestPolicy.wantsResubscribe();\\n }\\n }\\n this.calculateOptimalReceiveSet();\\n wants || (wants = !this.subscribedReceiveSet.equal(this.optimalReceiveSet));\\n return wants;\\n }\\n chooseSubscriptions() {\\n if (!ServerSideNetworkAdaption_1.serverSideNetworkAdaptionIsNoneOrDefault(this.serverSideNetworkAdaption)) {\\n this.pendingActionAfterUpdatedPreferences = false;\\n if (this.serverSideNetworkAdaption ===\\n ServerSideNetworkAdaption_1.default.BandwidthProbingAndRemoteVideoQualityAdaption) {\\n return this.allHighestPolicy.chooseSubscriptions();\\n }\\n }\\n if (!this.subscribedReceiveSet.equal(this.optimalReceiveSet)) {\\n this.lastSubscribeTimestamp = Date.now();\\n }\\n this.subscribedReceiveSet = this.optimalReceiveSet.clone();\\n this.subscribedReceiveStreams = this.optimalReceiveStreams.slice();\\n return this.subscribedReceiveSet.clone();\\n }\\n addObserver(observer) {\\n this.observerQueue.add(observer);\\n }\\n removeObserver(observer) {\\n this.observerQueue.delete(observer);\\n }\\n forEachObserver(observerFunc) {\\n for (const observer of this.observerQueue) {\\n observerFunc(observer);\\n }\\n }\\n setVideoPriorityBasedPolicyConfigs(config) {\\n this.videoPriorityBasedPolicyConfig = config;\\n }\\n calculateOptimalReceiveStreams() {\\n var _a;\\n const chosenStreams = [];\\n const remoteInfos = this.videoIndex.remoteStreamDescriptions();\\n if (remoteInfos.length === 0 || ((_a = this.videoPreferences) === null || _a === void 0 ? void 0 : _a.isEmpty())) {\\n this.optimalReceiveStreams = [];\\n return;\\n }\\n const lastProbeState = this.rateProbeState;\\n this.cleanBwPausedTiles(remoteInfos);\\n this.handleAppPausedStreams(chosenStreams, remoteInfos);\\n const sameStreamChoices = this.availStreamsSameAsLast(remoteInfos);\\n const noMajorChange = !this.startupPeriod && sameStreamChoices;\\n // If no major changes then don't allow subscribes for the allowed amount of time\\n if (noMajorChange &&\\n Date.now() - this.lastSubscribeTimestamp < this.timeBeforeAllowSubscribeMs) {\\n return;\\n }\\n // Sort streams by bitrate ascending.\\n remoteInfos.sort((a, b) => {\\n if (a.maxBitrateKbps === b.maxBitrateKbps) {\\n return a.streamId - b.streamId;\\n }\\n return a.maxBitrateKbps - b.maxBitrateKbps;\\n });\\n // Convert 0 avg bitrates to max and handle special cases\\n for (const info of remoteInfos) {\\n if (info.avgBitrateKbps === 0 || info.avgBitrateKbps > info.maxBitrateKbps) {\\n // Content can be a special case\\n if (info.attendeeId.endsWith(ContentShareConstants_1.default.Modality) && info.maxBitrateKbps < 100) {\\n info.maxBitrateKbps = info.avgBitrateKbps;\\n }\\n else {\\n info.avgBitrateKbps = info.maxBitrateKbps;\\n }\\n }\\n }\\n const rates = {\\n targetDownlinkBitrate: 0,\\n chosenTotalBitrate: 0,\\n deltaToNextUpgrade: 0,\\n };\\n rates.targetDownlinkBitrate = this.determineTargetRate();\\n const numberOfParticipants = this.subscribedReceiveSet.size();\\n const currentEstimated = this.downlinkStats.bandwidthEstimateKbps;\\n // Use videoPriorityBasedPolicyConfig to add additional delays based on network conditions\\n const dontAllowSubscribe = !this.videoPriorityBasedPolicyConfig.allowSubscribe(numberOfParticipants, currentEstimated);\\n if (this.probeFailed) {\\n // When probe failed, we set timeBeforeAllowSubscribeMs to 3x longer\\n // Since we have passed the subscribe interval now, we will try to probe again\\n this.probeFailed = false;\\n // For the same reason above, reset time before allow subscribe to default\\n this.timeBeforeAllowSubscribeMs = VideoPriorityBasedPolicy.MIN_TIME_BETWEEN_SUBSCRIBE_MS;\\n if (noMajorChange && dontAllowSubscribe)\\n return;\\n }\\n const upgradeStream = this.priorityPolicy(rates, remoteInfos, chosenStreams);\\n const skipProbe = !ServerSideNetworkAdaption_1.serverSideNetworkAdaptionIsNoneOrDefault(this.serverSideNetworkAdaption);\\n let subscriptionChoice = 0 /* NewOptimal */;\\n // Look for probing or override opportunities\\n if (!skipProbe && !this.startupPeriod && sameStreamChoices) {\\n if (this.rateProbeState === \\\"Probing\\\" /* Probing */) {\\n subscriptionChoice = this.handleProbe(chosenStreams, rates.targetDownlinkBitrate);\\n }\\n else if (rates.deltaToNextUpgrade !== 0) {\\n subscriptionChoice = this.maybeOverrideOrProbe(chosenStreams, rates, upgradeStream);\\n }\\n }\\n else {\\n // If there was a change in streams to choose from, then cancel any probing or upgrades\\n this.setProbeState(\\\"Not Probing\\\" /* NotProbing */);\\n this.lastUpgradeRateKbps = 0;\\n }\\n this.prevRemoteInfos = remoteInfos;\\n this.videoPreferencesUpdated = false;\\n if (subscriptionChoice === 1 /* PreviousOptimal */) {\\n this.logger.info(`bwe: keepSameSubscriptions stats:${JSON.stringify(this.downlinkStats)}`);\\n this.prevTargetRateKbps = rates.targetDownlinkBitrate;\\n return;\\n }\\n if (subscriptionChoice === 2 /* PreProbe */) {\\n const subscribedRate = this.calculateSubscribeRate(this.preProbeNonPausedReceiveStreams);\\n this.optimalReceiveStreams = this.preProbeReceiveStreams.slice();\\n this.processBwPausedStreams(remoteInfos, this.preProbeNonPausedReceiveStreams);\\n this.logger.info('bwe: Use Pre-Probe subscription subscribedRate:' + subscribedRate);\\n return;\\n }\\n this.optimalNonPausedReceiveStreams = chosenStreams.slice();\\n const lastNumberPaused = this.pausedBwAttendeeIds.size;\\n this.processBwPausedStreams(remoteInfos, chosenStreams);\\n if (this.logger.getLogLevel() <= LogLevel_1.LogLevel.INFO &&\\n (this.logCount % 15 === 0 ||\\n this.rateProbeState !== lastProbeState ||\\n this.optimalReceiveStreams.length !== chosenStreams.length ||\\n lastNumberPaused !== this.pausedBwAttendeeIds.size)) {\\n this.logger.info(this.policyStateLogStr(remoteInfos, rates.targetDownlinkBitrate));\\n this.logCount = 0;\\n }\\n this.logCount++;\\n this.prevTargetRateKbps = rates.targetDownlinkBitrate;\\n this.optimalReceiveStreams = chosenStreams.slice();\\n }\\n calculateOptimalReceiveSet() {\\n const streamSelectionSet = new DefaultVideoStreamIdSet_1.default();\\n this.calculateOptimalReceiveStreams();\\n for (const stream of this.optimalReceiveStreams) {\\n streamSelectionSet.add(stream.streamId);\\n }\\n if (!this.optimalReceiveSet.equal(streamSelectionSet)) {\\n const subscribedRate = this.calculateSubscribeRate(this.optimalReceiveStreams);\\n this.logger.info(`bwe: new streamSelection: ${JSON.stringify(streamSelectionSet)} subscribedRate:${subscribedRate}`);\\n }\\n this.optimalReceiveSet = streamSelectionSet;\\n }\\n determineTargetRate() {\\n let targetBitrate = 0;\\n const now = Date.now();\\n // Startup phase handling. During this period the estimate can be 0 or\\n // could still be slowly hunting for a steady state. This startup ramp up\\n // can cause a series of subscribes which can be distracting. During this\\n // time just use our configured default value\\n if (this.downlinkStats.bandwidthEstimateKbps !== 0) {\\n if (this.firstEstimateTimestamp === 0) {\\n this.firstEstimateTimestamp = now;\\n }\\n // handle startup state where estimator is still converging.\\n if (this.startupPeriod) {\\n // Drop out of startup period if\\n // - estimate is above default\\n // - get packet loss and have a valid estimate\\n // - startup period has expired and rate is not still increasing\\n if (this.downlinkStats.bandwidthEstimateKbps >\\n VideoPriorityBasedPolicy.DEFAULT_BANDWIDTH_KBPS ||\\n this.downlinkStats.packetsLost > 0 ||\\n (now - this.firstEstimateTimestamp > VideoPriorityBasedPolicy.STARTUP_PERIOD_MS &&\\n this.downlinkStats.bandwidthEstimateKbps <=\\n this.prevDownlinkStats.bandwidthEstimateKbps)) {\\n this.startupPeriod = false;\\n this.prevTargetRateKbps = this.downlinkStats.bandwidthEstimateKbps;\\n }\\n }\\n // If we are in the startup period and we haven't detected any packet loss, then\\n // keep it at the default to let the estimation get to a steady state\\n if (this.startupPeriod) {\\n targetBitrate = VideoPriorityBasedPolicy.DEFAULT_BANDWIDTH_KBPS;\\n }\\n else {\\n // We rely on our target bitrate being above what we are receiving to mark a probe as complete,\\n // however in browsers, the estimate can heavily lag behind the actual receive rate, especially when low.\\n //\\n // To mitigate this we override with the actual estimate plus some buffer if we aren't seeing packet loss.\\n if (this.rateProbeState === \\\"Probing\\\" /* Probing */ &&\\n this.downlinkStats.usedBandwidthKbps > this.downlinkStats.bandwidthEstimateKbps &&\\n this.downlinkStats.packetsLost < VideoPriorityBasedPolicy.SPURIOUS_PACKET_LOST_THRESHOLD) {\\n this.logger.info(`bwe: In probe state, overriding estimate ${this.downlinkStats.bandwidthEstimateKbps} with actual receive bitrate ${this.downlinkStats.usedBandwidthKbps}`);\\n targetBitrate =\\n this.downlinkStats.usedBandwidthKbps +\\n VideoPriorityBasedPolicy.USED_BANDWIDTH_OVERRIDE_BUFFER_KBPS;\\n }\\n else {\\n targetBitrate = this.downlinkStats.bandwidthEstimateKbps;\\n }\\n }\\n }\\n else {\\n if (this.firstEstimateTimestamp === 0) {\\n targetBitrate = VideoPriorityBasedPolicy.DEFAULT_BANDWIDTH_KBPS;\\n }\\n else {\\n targetBitrate = this.prevTargetRateKbps;\\n }\\n }\\n // Estimated downlink rate can follow actual bandwidth or fall for a short period of time\\n // due to the absolute send time estimator incorrectly thinking that a delay in packets is\\n // a precursor to packet loss. We have seen too many false positives on this, so we\\n // will ignore largish drops in the estimate if there is no packet loss\\n if (!this.startupPeriod &&\\n ((this.usingPrevTargetRate &&\\n this.downlinkStats.bandwidthEstimateKbps < this.prevTargetRateKbps) ||\\n this.downlinkStats.bandwidthEstimateKbps <\\n (this.prevTargetRateKbps *\\n (100 - VideoPriorityBasedPolicy.LARGE_RATE_CHANGE_TRIGGER_PERCENT)) /\\n 100 ||\\n this.downlinkStats.bandwidthEstimateKbps <\\n (this.downlinkStats.usedBandwidthKbps *\\n VideoPriorityBasedPolicy.LARGE_RATE_CHANGE_TRIGGER_PERCENT) /\\n 100) &&\\n this.downlinkStats.packetsLost === 0) {\\n // Set target to be the same as last\\n this.logger.debug(() => {\\n return 'bwe: ValidateRate: Using Previous rate ' + this.prevTargetRateKbps;\\n });\\n this.usingPrevTargetRate = true;\\n targetBitrate = this.prevTargetRateKbps;\\n }\\n else {\\n this.usingPrevTargetRate = false;\\n }\\n return targetBitrate;\\n }\\n setProbeState(newState) {\\n if (this.rateProbeState === newState) {\\n return false;\\n }\\n const now = Date.now();\\n switch (newState) {\\n case \\\"Not Probing\\\" /* NotProbing */:\\n this.probePendingStartTimestamp = 0;\\n break;\\n case \\\"Probe Pending\\\" /* ProbePending */:\\n if (this.lastProbeTimestamp === 0 ||\\n now - this.lastProbeTimestamp > VideoPriorityBasedPolicy.MIN_TIME_BETWEEN_PROBE_MS) {\\n this.probePendingStartTimestamp = now;\\n }\\n else {\\n // Too soon to do a probe again\\n return false;\\n }\\n break;\\n case \\\"Probing\\\" /* Probing */:\\n if (now - this.probePendingStartTimestamp > this.timeBeforeAllowProbeMs) {\\n this.lastProbeTimestamp = now;\\n this.preProbeReceiveStreams = this.subscribedReceiveStreams.slice();\\n this.preProbeNonPausedReceiveStreams = this.optimalNonPausedReceiveStreams;\\n // Increase the time allowed until the next probe\\n this.timeBeforeAllowProbeMs = Math.min(this.timeBeforeAllowProbeMs * 2, VideoPriorityBasedPolicy.MAX_HOLD_BEFORE_PROBE_MS);\\n }\\n else {\\n // Too soon to do probe\\n return false;\\n }\\n break;\\n }\\n this.logger.info('bwe: setProbeState to ' + newState + ' from ' + this.rateProbeState);\\n this.rateProbeState = newState;\\n return true;\\n }\\n // Upgrade the stream id from the appropriate group or add it if it wasn't already in the list.\\n // Return the added amount of bandwidth\\n upgradeToStream(chosenStreams, upgradeStream) {\\n for (let i = 0; i < chosenStreams.length; i++) {\\n if (chosenStreams[i].groupId === upgradeStream.groupId) {\\n const diffRate = upgradeStream.avgBitrateKbps - chosenStreams[i].avgBitrateKbps;\\n this.logger.info('bwe: upgradeStream from ' + JSON.stringify(chosenStreams[i]) + ' to ' + upgradeStream);\\n this.lastUpgradeRateKbps = diffRate;\\n chosenStreams[i] = upgradeStream;\\n return diffRate;\\n }\\n }\\n // We are adding a stream and not upgrading.\\n chosenStreams.push(upgradeStream);\\n this.lastUpgradeRateKbps = upgradeStream.avgBitrateKbps;\\n return this.lastUpgradeRateKbps;\\n }\\n // Do specific behavior while we are currently in probing state and metrics\\n // indicate environment is still valid to do probing.\\n // Return true if the caller should not change from the previous subscriptions.\\n handleProbe(chosenStreams, targetDownlinkBitrate) {\\n // Don't allow probe to happen indefinitely\\n if (Date.now() - this.lastProbeTimestamp > VideoPriorityBasedPolicy.MAX_ALLOWED_PROBE_TIME_MS) {\\n this.logger.info(`bwe: Canceling probe due to timeout`);\\n this.setProbeState(\\\"Not Probing\\\" /* NotProbing */);\\n return 0 /* NewOptimal */;\\n }\\n if (this.downlinkStats.packetsLost > 0) {\\n this.logger.info(`bwe: Probe encountering packets lost:${this.downlinkStats.packetsLost}`);\\n // See comment above `VideoPriorityBasedPolicy.SPURIOUS_PACKET_LOST_THRESHOLD`\\n if (this.downlinkStats.packetsLost > VideoPriorityBasedPolicy.SPURIOUS_PACKET_LOST_THRESHOLD) {\\n this.setProbeState(\\\"Not Probing\\\" /* NotProbing */);\\n this.logger.info(`bwe: Canceling probe due to packets lost:${this.downlinkStats.packetsLost}`);\\n this.probeFailed = true;\\n this.timeBeforeAllowSubscribeMs =\\n Math.max(VideoPriorityBasedPolicy.MIN_TIME_BETWEEN_SUBSCRIBE_MS, this.timeBeforeAllowSubscribeMs) * 3;\\n // packet lost indicates bad network and thus slowing down subscribing by extend delay by 3 times\\n return 2 /* PreProbe */;\\n }\\n }\\n const subscribedRate = this.calculateSubscribeRate(this.optimalReceiveStreams);\\n if (this.chosenStreamsSameAsLast(chosenStreams) || targetDownlinkBitrate > subscribedRate) {\\n this.logger.info(`bwe: Probe successful`);\\n // If target bitrate can sustain probe rate, then probe was successful.\\n this.setProbeState(\\\"Not Probing\\\" /* NotProbing */);\\n // Reset the time allowed between probes since this was successful\\n this.timeBeforeAllowProbeMs = VideoPriorityBasedPolicy.MIN_TIME_BETWEEN_PROBE_MS;\\n return 0 /* NewOptimal */;\\n }\\n return 1 /* PreviousOptimal */;\\n }\\n maybeOverrideOrProbe(chosenStreams, rates, upgradeStream) {\\n const sameSubscriptions = this.chosenStreamsSameAsLast(chosenStreams);\\n let useLastSubscriptions = 0 /* NewOptimal */;\\n // We want to minimize thrashing between between low res and high res of different\\n // participants due to avg bitrate fluctuations. If there hasn't been much of a change in estimated bandwidth\\n // and the number of streams and their max rates are the same, then reuse the previous subscription\\n const triggerPercent = rates.targetDownlinkBitrate > VideoPriorityBasedPolicy.LOW_BITRATE_THRESHOLD_KBPS\\n ? VideoPriorityBasedPolicy.TARGET_RATE_CHANGE_TRIGGER_PERCENT\\n : VideoPriorityBasedPolicy.TARGET_RATE_CHANGE_TRIGGER_PERCENT * 2;\\n const minTargetBitrateDelta = (rates.targetDownlinkBitrate * triggerPercent) / 100;\\n this.targetRateBaselineForDeltaCheckKbps =\\n this.targetRateBaselineForDeltaCheckKbps !== undefined\\n ? this.targetRateBaselineForDeltaCheckKbps\\n : this.prevTargetRateKbps;\\n if (!sameSubscriptions &&\\n Math.abs(rates.targetDownlinkBitrate - this.targetRateBaselineForDeltaCheckKbps) <\\n minTargetBitrateDelta) {\\n this.logger.info('bwe: MaybeOverrideOrProbe: Reuse last decision based on delta rate. {' +\\n JSON.stringify(this.subscribedReceiveSet) +\\n `}`);\\n useLastSubscriptions = 1 /* PreviousOptimal */;\\n }\\n else {\\n this.targetRateBaselineForDeltaCheckKbps = rates.targetDownlinkBitrate;\\n }\\n // If there has been packet loss, then reset to no probing state\\n if (this.downlinkStats.packetsLost > this.prevDownlinkStats.packetsLost) {\\n this.setProbeState(\\\"Not Probing\\\" /* NotProbing */);\\n this.lastUpgradeRateKbps = 0;\\n return useLastSubscriptions;\\n }\\n if (sameSubscriptions || useLastSubscriptions === 1 /* PreviousOptimal */) {\\n // If planned subscriptions are same as last, then either move to probe pending state\\n // or move to probing state if enough time has passed.\\n switch (this.rateProbeState) {\\n case \\\"Not Probing\\\" /* NotProbing */:\\n this.setProbeState(\\\"Probe Pending\\\" /* ProbePending */);\\n break;\\n case \\\"Probe Pending\\\" /* ProbePending */:\\n if (this.setProbeState(\\\"Probing\\\" /* Probing */)) {\\n this.upgradeToStream(chosenStreams, upgradeStream);\\n useLastSubscriptions = 0 /* NewOptimal */;\\n }\\n break;\\n }\\n }\\n else {\\n this.setProbeState(\\\"Not Probing\\\" /* NotProbing */);\\n }\\n return useLastSubscriptions;\\n }\\n // Utility function to find max rate of streams in current decision\\n calculateSubscribeRate(streams) {\\n let subscribeRate = 0;\\n for (const stream of streams) {\\n if (!this.pausedStreamIds.contain(stream.streamId) &&\\n !this.pausedBwAttendeeIds.has(stream.attendeeId)) {\\n subscribeRate += stream.maxBitrateKbps;\\n }\\n }\\n return subscribeRate;\\n }\\n handleAppPausedStreams(chosenStreams, remoteInfos) {\\n if (!this.tileController) {\\n this.logger.warn('tileController not found!');\\n return;\\n }\\n this.pausedStreamIds = new DefaultVideoStreamIdSet_1.default();\\n const remoteTiles = this.tileController.getAllRemoteVideoTiles();\\n for (const tile of remoteTiles) {\\n const state = tile.state();\\n if (state.paused && !this.pausedBwAttendeeIds.has(state.boundAttendeeId)) {\\n let j = remoteInfos.length;\\n while (j--) {\\n if (remoteInfos[j].attendeeId === state.boundAttendeeId) {\\n this.logger.info('bwe: removed paused attendee ' +\\n state.boundAttendeeId +\\n ' streamId: ' +\\n remoteInfos[j].streamId);\\n this.pausedStreamIds.add(remoteInfos[j].streamId);\\n // Add the stream to the selection set to keep the tile around\\n if (this.subscribedReceiveSet.contain(remoteInfos[j].streamId)) {\\n chosenStreams.push(remoteInfos[j]);\\n }\\n remoteInfos.splice(j, 1);\\n }\\n }\\n }\\n }\\n }\\n processBwPausedStreams(remoteInfos, chosenStreams) {\\n if (!this.tileController) {\\n this.logger.warn('tileController not found!');\\n return;\\n }\\n const preferences = this.getCurrentVideoPreferences();\\n if (preferences && this.shouldPauseTiles) {\\n const videoTiles = this.tileController.getAllVideoTiles();\\n for (const preference of preferences) {\\n const videoTile = this.getVideoTileForAttendeeId(preference.attendeeId, videoTiles);\\n const paused = (videoTile === null || videoTile === void 0 ? void 0 : videoTile.state().paused) || false;\\n if (!chosenStreams.some(stream => stream.attendeeId === preference.attendeeId)) {\\n // We cannot rely on the existance of video tile to indicate that the source exists in the call\\n // because tiles will not be added or removed until after a full renegotiation (i.e. it will\\n // be behind the state provided by the index)\\n const streamExists = remoteInfos.some(stream => stream.attendeeId === preference.attendeeId);\\n if (videoTile && streamExists) {\\n const info = this.optimalReceiveStreams.find(stream => stream.attendeeId === preference.attendeeId);\\n if (info !== undefined) {\\n if (!paused) {\\n this.logger.info(`bwe: pausing streamId ${info.streamId} attendee ${preference.attendeeId} due to bandwidth`);\\n this.forEachObserver(observer => {\\n observer.tileWillBePausedByDownlinkPolicy(videoTile.id());\\n });\\n this.tileController.pauseVideoTile(videoTile.id());\\n }\\n chosenStreams.push(info);\\n }\\n this.pausedBwAttendeeIds.add(preference.attendeeId);\\n }\\n else if (streamExists) {\\n // Create a tile for this participant if one doesn't already exist and mark it as paused\\n // Don't include it in the chosen streams because we don't want to subscribe for it then have to pause it.\\n const newTile = this.tileController.addVideoTile();\\n newTile.bindVideoStream(preference.attendeeId, false, null, 0, 0, 0, null);\\n this.forEachObserver(observer => {\\n observer.tileWillBePausedByDownlinkPolicy(newTile.id());\\n });\\n newTile.pause();\\n this.logger.info(`bwe: Created video tile ${newTile.id()} for bw paused attendee ${preference.attendeeId}`);\\n this.pausedBwAttendeeIds.add(preference.attendeeId);\\n }\\n }\\n else if (paused && this.pausedBwAttendeeIds.has(preference.attendeeId)) {\\n this.logger.info(`bwe: unpausing attendee ${preference.attendeeId} due to bandwidth`);\\n this.forEachObserver(observer => {\\n observer.tileWillBeUnpausedByDownlinkPolicy(videoTile.id());\\n });\\n this.tileController.unpauseVideoTile(videoTile.id());\\n this.pausedBwAttendeeIds.delete(preference.attendeeId);\\n }\\n }\\n }\\n }\\n cleanBwPausedTiles(remoteInfos) {\\n if (!this.tileController) {\\n this.logger.warn('tileController not found!');\\n return;\\n }\\n const tiles = this.tileController.getAllRemoteVideoTiles();\\n const preferences = this.getCurrentVideoPreferences();\\n for (const tile of tiles) {\\n const state = tile.state();\\n if (!state.boundVideoStream) {\\n if (!remoteInfos.some(stream => stream.attendeeId === state.boundAttendeeId)) {\\n this.tileController.removeVideoTile(state.tileId);\\n this.logger.info(`bwe: Removed video tile ${state.tileId} for bw paused attendee ${state.boundAttendeeId}`);\\n }\\n else if (preferences !== undefined &&\\n !preferences.some(pref => pref.attendeeId === state.boundAttendeeId)) {\\n this.tileController.removeVideoTile(state.tileId);\\n }\\n }\\n }\\n }\\n priorityPolicy(rates, remoteInfos, chosenStreams) {\\n let upgradeStream;\\n const videoPreferences = this.getCurrentVideoPreferences();\\n const highestPriority = videoPreferences.highestPriority();\\n let nextPriority;\\n let priority = highestPriority;\\n while (priority !== -1) {\\n nextPriority = -1;\\n for (const preference of videoPreferences) {\\n if (preference.priority === priority) {\\n // First subscribe to at least low rate\\n for (const info of remoteInfos) {\\n if (info.attendeeId === preference.attendeeId) {\\n if (!chosenStreams.some(stream => stream.groupId === info.groupId)) {\\n if (rates.chosenTotalBitrate + info.avgBitrateKbps <= rates.targetDownlinkBitrate) {\\n chosenStreams.push(info);\\n rates.chosenTotalBitrate += info.avgBitrateKbps;\\n }\\n else if (rates.deltaToNextUpgrade === 0) {\\n // Keep track of step to next upgrade\\n rates.deltaToNextUpgrade = info.avgBitrateKbps;\\n upgradeStream = info;\\n }\\n }\\n }\\n }\\n }\\n else {\\n if (preference.priority > priority) {\\n nextPriority = preference.priority;\\n break;\\n }\\n }\\n }\\n // Now try to upgrade all attendee's with this priority\\n for (const preference of videoPreferences) {\\n if (preference.priority === priority) {\\n for (const info of remoteInfos) {\\n if (info.attendeeId === preference.attendeeId) {\\n const index = chosenStreams.findIndex(stream => stream.groupId === info.groupId && stream.maxBitrateKbps < info.maxBitrateKbps);\\n if (index !== -1) {\\n const increaseKbps = info.avgBitrateKbps - chosenStreams[index].avgBitrateKbps;\\n if (this.hasSimulcastStreams(remoteInfos, info.attendeeId, info.groupId) &&\\n this.canUpgrade(info.avgBitrateKbps, preference.targetSize, preference.targetSizeToBitrateKbps(preference.targetSize), info.attendeeId.endsWith(ContentShareConstants_1.default.Modality))) {\\n this.logger.info(`bwe: attendee: ${info.attendeeId} group: ${info.groupId} has simulcast and can upgrade avgBitrate: ${info.avgBitrateKbps} target: ${preference.targetSizeToBitrateKbps(preference.targetSize)} targetTotalBitrate: ${rates.targetDownlinkBitrate}`);\\n if (rates.chosenTotalBitrate + increaseKbps <= rates.targetDownlinkBitrate) {\\n rates.chosenTotalBitrate += increaseKbps;\\n chosenStreams[index] = info;\\n }\\n else if (rates.deltaToNextUpgrade === 0) {\\n // Keep track of step to next upgrade\\n rates.deltaToNextUpgrade = increaseKbps;\\n upgradeStream = info;\\n }\\n }\\n else {\\n this.logger.info('bwe: cannot upgrade stream quality beyond target size');\\n }\\n }\\n }\\n }\\n }\\n else {\\n if (preference.priority > priority) {\\n break;\\n }\\n }\\n }\\n // If we haven't subscribed to the highest rate of the top priority videos then\\n // do not subscribe to any other sources\\n if (priority === highestPriority && rates.deltaToNextUpgrade !== 0) {\\n break;\\n }\\n priority = nextPriority;\\n }\\n return upgradeStream;\\n }\\n getVideoTileForAttendeeId(attendeeId, videoTiles) {\\n for (const tile of videoTiles) {\\n const state = tile.state();\\n if (state.boundAttendeeId === attendeeId) {\\n return tile;\\n }\\n }\\n return null;\\n }\\n canUpgrade(bitrateKbp, targetResolution, targetBitrateKbp, isContent) {\\n // For content share, even if the higher quality stream has a high max bitrate of 1200 kbps for example\\n // the avg bitrate can be way lower so have to make sure that we do not update to a higher bitrate than the\\n // target value.\\n // This does not apply to video as video uplink bandwidth could change the max bitrate value without resubscribing\\n // so the max bitrate value might not be up-to-date on the downlink side. Also in the case of video, the avg\\n // bitrate is close to the actual max bitrate.\\n let canUpgrade = false;\\n if (isContent) {\\n // Content simulcast only have 2 layers right now so we always upgrade if the target resolution is high and\\n // skip if the target resolution is low. If the target resolution is medium then fall back to use avg bitrate\\n // as video.\\n if (targetResolution === TargetDisplaySize_1.default.High) {\\n canUpgrade = true;\\n }\\n else if (targetResolution === TargetDisplaySize_1.default.Medium && bitrateKbp <= targetBitrateKbp) {\\n canUpgrade = true;\\n }\\n }\\n else if (bitrateKbp <= targetBitrateKbp) {\\n canUpgrade = true;\\n }\\n if (canUpgrade) {\\n this.logger.info(`bwe: canUpgrade: bitrateKbp: ${bitrateKbp} targetBitrateKbp: ${targetBitrateKbp}`);\\n return true;\\n }\\n this.logger.info(`bwe: cannot Upgrade: bitrateKbp: ${bitrateKbp} targetBitrateKbp: ${targetBitrateKbp}`);\\n return false;\\n }\\n hasSimulcastStreams(remoteInfos, attendeeId, groupId) {\\n let streamCount = 0;\\n for (const info of remoteInfos) {\\n if (info.attendeeId === attendeeId && info.groupId === groupId) {\\n streamCount++;\\n }\\n }\\n this.logger.info(`bwe: attendeeId: ${attendeeId} groupId: ${groupId} hasSimulcastStreams: streamCount: ${streamCount}`);\\n return streamCount > 1;\\n }\\n availStreamsSameAsLast(remoteInfos) {\\n if (this.prevRemoteInfos === undefined ||\\n remoteInfos.length !== this.prevRemoteInfos.length ||\\n this.videoPreferencesUpdated === true) {\\n return false;\\n }\\n for (const info of remoteInfos) {\\n const infoMatch = this.prevRemoteInfos.find(prevInfo => prevInfo.groupId === info.groupId &&\\n prevInfo.streamId === info.streamId &&\\n prevInfo.maxBitrateKbps === info.maxBitrateKbps);\\n if (infoMatch === undefined) {\\n return false;\\n }\\n }\\n return true;\\n }\\n chosenStreamsSameAsLast(chosenStreams) {\\n if (this.optimalNonPausedReceiveStreams.length !== chosenStreams.length) {\\n return false;\\n }\\n for (const lastStream of this.optimalNonPausedReceiveStreams) {\\n if (!chosenStreams.some(stream => stream.streamId === lastStream.streamId)) {\\n return false;\\n }\\n }\\n return true;\\n }\\n policyStateLogStr(remoteInfos, targetDownlinkBitrate) {\\n const subscribedRate = this.calculateSubscribeRate(this.optimalReceiveStreams);\\n const optimalReceiveSet = {\\n targetBitrate: targetDownlinkBitrate,\\n subscribedRate: subscribedRate,\\n probeState: this.rateProbeState,\\n startupPeriod: this.startupPeriod,\\n };\\n // Reduced remote info logging:\\n let remoteInfoStr = `remoteInfos: [`;\\n for (const info of remoteInfos) {\\n remoteInfoStr += `{grpId:${info.groupId} strId:${info.streamId} maxBr:${info.maxBitrateKbps} avgBr:${info.avgBitrateKbps}}, `;\\n }\\n remoteInfoStr += `]`;\\n let logString = `bwe: optimalReceiveSet ${JSON.stringify(optimalReceiveSet)}\\\\n` +\\n `bwe: prev ${JSON.stringify(this.prevDownlinkStats)}\\\\n` +\\n `bwe: now ${JSON.stringify(this.downlinkStats)}\\\\n` +\\n `bwe: ${remoteInfoStr}\\\\n`;\\n if (this.pausedStreamIds.size() > 0 || this.pausedBwAttendeeIds.size > 0) {\\n logString += `bwe: paused: app stream ids ${JSON.stringify(this.pausedStreamIds)} bw attendees { ${Array.from(this.pausedBwAttendeeIds).join(' ')} }\\\\n`;\\n }\\n if (this.videoPreferences) {\\n logString += `bwe: preferences: ${JSON.stringify(this.videoPreferences)}`;\\n }\\n else {\\n logString += `bwe: default preferences: ${JSON.stringify(this.defaultVideoPreferences)}`;\\n }\\n return logString;\\n }\\n getCurrentVideoPreferences() {\\n return this.videoPreferences || this.defaultVideoPreferences;\\n }\\n getServerSideNetworkAdaption() {\\n return this.serverSideNetworkAdaption;\\n }\\n setServerSideNetworkAdaption(adaption) {\\n this.serverSideNetworkAdaption = adaption;\\n this.setProbeState(\\\"Not Probing\\\" /* NotProbing */); // In case we were probing\\n }\\n supportedServerSideNetworkAdaptions() {\\n return [\\n ServerSideNetworkAdaption_1.default.None,\\n ServerSideNetworkAdaption_1.default.BandwidthProbing,\\n ServerSideNetworkAdaption_1.default.BandwidthProbingAndRemoteVideoQualityAdaption,\\n ];\\n }\\n getVideoPreferences() {\\n let preferences = this.getCurrentVideoPreferences();\\n if (!preferences) {\\n const dummyPreferences = VideoPreferences_1.VideoPreferences.prepare();\\n // Can't be undefined, occasionally the audio video controller\\n // will call this function before the first index is received\\n preferences = dummyPreferences.build();\\n }\\n return preferences;\\n }\\n}\\nexports[\\\"default\\\"] = VideoPriorityBasedPolicy;\\nVideoPriorityBasedPolicy.DEFAULT_BANDWIDTH_KBPS = 2800;\\nVideoPriorityBasedPolicy.STARTUP_PERIOD_MS = 6000;\\nVideoPriorityBasedPolicy.LARGE_RATE_CHANGE_TRIGGER_PERCENT = 20;\\nVideoPriorityBasedPolicy.TARGET_RATE_CHANGE_TRIGGER_PERCENT = 15;\\nVideoPriorityBasedPolicy.LOW_BITRATE_THRESHOLD_KBPS = 300;\\nVideoPriorityBasedPolicy.MIN_TIME_BETWEEN_PROBE_MS = 5000;\\nVideoPriorityBasedPolicy.MIN_TIME_BETWEEN_SUBSCRIBE_MS = 2000;\\n// We apply exponentional backoff to probe attempts if they do not\\n// succeed, so we need to set a reasonable maximum.\\nVideoPriorityBasedPolicy.MAX_HOLD_BEFORE_PROBE_MS = 30000;\\nVideoPriorityBasedPolicy.MAX_ALLOWED_PROBE_TIME_MS = 60000;\\n// Occasionally we see that on unpause or upgrade we see a single packet lost\\n// or two, even in completely unconstrained scenarios. We should look into\\n// why this occurs on the backend, but for now we require a non-trivial\\n// amount of packets lost to fail the probe. These could also be from\\n// other senders given we don't yet use TWCC.\\nVideoPriorityBasedPolicy.SPURIOUS_PACKET_LOST_THRESHOLD = 2;\\n// See usage\\nVideoPriorityBasedPolicy.USED_BANDWIDTH_OVERRIDE_BUFFER_KBPS = 100;\\n//# sourceMappingURL=VideoPriorityBasedPolicy.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPriorityBasedPolicy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPriorityBasedPolicyConfig.js\":\n/*!***************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPriorityBasedPolicyConfig.js ***!\n \\***************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst ServerSideNetworkAdaption_1 = __webpack_require__(/*! ../signalingclient/ServerSideNetworkAdaption */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingclient/ServerSideNetworkAdaption.js\\\");\\n/**\\n * [[VideoPriorityBasedPolicyConfig]] contains the network issue response delay and network issue recovery delay.\\n */\\nclass VideoPriorityBasedPolicyConfig {\\n /** Initializes a [[VideoPriorityBasedPolicyConfig]] with the network event delays.\\n *\\n * @param networkIssueResponseDelayFactor Delays before reducing subscribed video bitrate. Input should be a value between 0 and 1.\\n * @param networkIssueRecoveryDelayFactor Delays before starting to increase bitrates after a network event and\\n * delays between increasing video bitrates on each individual stream. Input should be a value between 0 and 1.\\n */\\n constructor(networkIssueResponseDelayFactor = 0, networkIssueRecoveryDelayFactor = 0) {\\n this.networkIssueResponseDelayFactor = networkIssueResponseDelayFactor;\\n this.networkIssueRecoveryDelayFactor = networkIssueRecoveryDelayFactor;\\n this.currentNetworkEvent = 0 /* Stable */;\\n this.bandwidthDecreaseTimestamp = 0; // the last time bandwidth decreases\\n this.referenceBitrate = 0;\\n /**\\n * Additional server side features to be enabled for network adaption. This\\n * may be overridden by the server.\\n */\\n this.serverSideNetworkAdaption = ServerSideNetworkAdaption_1.default.Default;\\n if (networkIssueResponseDelayFactor < 0) {\\n networkIssueResponseDelayFactor = 0;\\n }\\n else if (networkIssueResponseDelayFactor > 1) {\\n networkIssueResponseDelayFactor = 1;\\n }\\n this.networkIssueResponseDelayFactor = networkIssueResponseDelayFactor;\\n if (networkIssueRecoveryDelayFactor < 0) {\\n networkIssueRecoveryDelayFactor = 0;\\n }\\n else if (networkIssueRecoveryDelayFactor > 1) {\\n networkIssueRecoveryDelayFactor = 1;\\n }\\n this.networkIssueRecoveryDelayFactor = networkIssueRecoveryDelayFactor;\\n }\\n // determine if subscribe is allowed based on network issue/recovery delays\\n allowSubscribe(numberOfParticipants, currentEstimated) {\\n let timeBeforeAllowSubscribeMs = 0;\\n const previousNetworkEvent = this.currentNetworkEvent;\\n if (currentEstimated > this.referenceBitrate) {\\n // if bw increases\\n this.currentNetworkEvent = 2 /* Increase */;\\n this.referenceBitrate = currentEstimated;\\n return true;\\n }\\n else if (currentEstimated < this.referenceBitrate) {\\n // if bw decreases, we use response delay\\n this.currentNetworkEvent = 1 /* Decrease */;\\n timeBeforeAllowSubscribeMs = this.getSubscribeDelay(this.currentNetworkEvent, numberOfParticipants);\\n if (previousNetworkEvent !== 1 /* Decrease */) {\\n this.bandwidthDecreaseTimestamp = Date.now();\\n }\\n else if (Date.now() - this.bandwidthDecreaseTimestamp > timeBeforeAllowSubscribeMs) {\\n this.referenceBitrate = currentEstimated;\\n return true;\\n }\\n return false;\\n }\\n else {\\n this.currentNetworkEvent = 0 /* Stable */;\\n return false;\\n }\\n }\\n // convert network event delay factor to actual delay in ms\\n getSubscribeDelay(event, numberOfParticipants) {\\n // left and right boundary of the delay\\n let subscribeDelay = VideoPriorityBasedPolicyConfig.MINIMUM_DELAY_MS;\\n const range = VideoPriorityBasedPolicyConfig.MAXIMUM_DELAY_MS -\\n VideoPriorityBasedPolicyConfig.MINIMUM_DELAY_MS;\\n const responseFactor = this.networkIssueResponseDelayFactor;\\n switch (event) {\\n case 1 /* Decrease */:\\n // we include number of participants here since bigger size of the meeting will generate higher bitrate\\n subscribeDelay += range * responseFactor * (1 + numberOfParticipants / 10);\\n subscribeDelay = Math.min(VideoPriorityBasedPolicyConfig.MAXIMUM_DELAY_MS, subscribeDelay);\\n break;\\n }\\n return subscribeDelay;\\n }\\n}\\nexports[\\\"default\\\"] = VideoPriorityBasedPolicyConfig;\\nVideoPriorityBasedPolicyConfig.MINIMUM_DELAY_MS = 2000;\\nVideoPriorityBasedPolicyConfig.MAXIMUM_DELAY_MS = 8000;\\n// presets\\nVideoPriorityBasedPolicyConfig.Default = new VideoPriorityBasedPolicyConfig(0, 0);\\nVideoPriorityBasedPolicyConfig.UnstableNetworkPreset = new VideoPriorityBasedPolicyConfig(0, 1);\\nVideoPriorityBasedPolicyConfig.StableNetworkPreset = new VideoPriorityBasedPolicyConfig(1, 0);\\n//# sourceMappingURL=VideoPriorityBasedPolicyConfig.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videodownlinkbandwidthpolicy/VideoPriorityBasedPolicyConfig.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videoelementfactory/NoOpVideoElementFactory.js\":\n/*!***********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videoelementfactory/NoOpVideoElementFactory.js ***!\n \\***********************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass NoOpVideoElementFactory {\\n create() {\\n const element = {\\n clientWidth: 400,\\n clientHeight: 300,\\n width: 400,\\n height: 300,\\n videoWidth: 400,\\n videoHeight: 300,\\n style: {\\n transform: '',\\n },\\n hasAttribute: () => {\\n return false;\\n },\\n removeAttribute: () => { },\\n setAttribute: () => { },\\n srcObject: false,\\n paused: true,\\n pause: () => {\\n element.paused = true;\\n },\\n play: () => {\\n element.paused = false;\\n return Promise.resolve();\\n },\\n };\\n // @ts-ignore\\n return element;\\n }\\n}\\nexports[\\\"default\\\"] = NoOpVideoElementFactory;\\n//# sourceMappingURL=NoOpVideoElementFactory.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videoelementfactory/NoOpVideoElementFactory.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/CanvasVideoFrameBuffer.js\":\n/*!**********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/CanvasVideoFrameBuffer.js ***!\n \\**********************************************************************************************/\n/***/ (function(__unused_webpack_module, exports) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[CanvasVideoFrameBuffer]] implements [[VideoFrameBuffer]]. It internally holds an `HTMLCanvasElement`.\\n */\\nclass CanvasVideoFrameBuffer {\\n constructor(canvas) {\\n this.canvas = canvas;\\n this.destroyed = false;\\n }\\n destroy() {\\n this.canvas = null;\\n this.destroyed = true;\\n }\\n asCanvasImageSource() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.destroyed) {\\n return Promise.reject('canvas buffer is destroyed');\\n }\\n return Promise.resolve(this.canvas);\\n });\\n }\\n asCanvasElement() {\\n return this.canvas;\\n }\\n}\\nexports[\\\"default\\\"] = CanvasVideoFrameBuffer;\\n//# sourceMappingURL=CanvasVideoFrameBuffer.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/CanvasVideoFrameBuffer.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/DefaultVideoFrameProcessorPipeline.js\":\n/*!**********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/DefaultVideoFrameProcessorPipeline.js ***!\n \\**********************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst CanvasVideoFrameBuffer_1 = __webpack_require__(/*! ./CanvasVideoFrameBuffer */ \\\"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/CanvasVideoFrameBuffer.js\\\");\\nconst DEFAULT_FRAMERATE = 15;\\n/**\\n * [[DefaultVideoFrameProcessorPipeline]] implements {@link VideoFrameProcessorPipeline}.\\n * It constructs a buffer {@link CanvasVideoFrameBuffer} as source by default and invokes processor based on `framerate`.\\n * The default output type is `MediaStream`.\\n */\\nclass DefaultVideoFrameProcessorPipeline {\\n constructor(logger, stages) {\\n this.logger = logger;\\n this.stages = stages;\\n this.fr = DEFAULT_FRAMERATE;\\n // initialize with dummy inactive MediaStream to keep strict type\\n this.outputMediaStream = new MediaStream();\\n this.videoInput = document.createElement('video');\\n this.canvasOutput = document.createElement('canvas');\\n this.outputCtx = this.canvasOutput.getContext('2d');\\n this.canvasInput = document.createElement('canvas');\\n this.inputCtx = this.canvasInput.getContext('2d');\\n this.inputVideoStream = null;\\n this.sourceBuffers = [];\\n this.destBuffers = [];\\n this.observers = new Set();\\n this.hasStarted = false;\\n this.process = (_event) => __awaiter(this, void 0, void 0, function* () {\\n if (!this.inputVideoStream) {\\n return;\\n }\\n const processVideoStart = performance.now();\\n // videoWidth is intrinsic video width\\n if (this.videoInput.videoWidth) {\\n if (this.canvasInput.width !== this.videoInput.videoWidth) {\\n this.canvasInput.width = this.videoInput.videoWidth;\\n this.canvasInput.height = this.videoInput.videoHeight;\\n this.sourceBuffers[0].height = this.canvasInput.height;\\n this.sourceBuffers[0].width = this.canvasInput.width;\\n this.sourceBuffers[0].framerate = this.framerate;\\n }\\n this.inputCtx.drawImage(this.videoInput, 0, 0);\\n }\\n // processes input buffers\\n let buffers = [];\\n buffers.push(this.sourceBuffers[0]);\\n try {\\n for (const proc of this.processors) {\\n buffers = yield proc.process(buffers);\\n }\\n }\\n catch (_error) {\\n this.forEachObserver(obs => {\\n if (obs.processingDidFailToStart) {\\n obs.processingDidFailToStart();\\n }\\n });\\n return;\\n }\\n this.destBuffers = buffers;\\n let imageSource;\\n try {\\n imageSource = yield this.destBuffers[0].asCanvasImageSource();\\n }\\n catch (error) {\\n if (this.inputVideoStream) {\\n this.logger.info('buffers are destroyed and pipeline could not start');\\n this.forEachObserver(obs => {\\n if (obs.processingDidFailToStart) {\\n obs.processingDidFailToStart();\\n }\\n });\\n }\\n return;\\n }\\n // finally draws the image\\n const frameWidth = imageSource.width;\\n const frameHeight = imageSource.height;\\n if (frameWidth !== 0 && frameHeight !== 0) {\\n if (this.canvasOutput.width !== frameWidth && this.canvasOutput.height !== frameHeight) {\\n this.canvasOutput.width = frameWidth;\\n this.canvasOutput.height = frameHeight;\\n }\\n this.outputCtx.drawImage(imageSource, 0, 0, frameWidth, frameHeight, 0, 0, frameWidth, frameHeight);\\n if (!this.hasStarted) {\\n this.hasStarted = true;\\n this.forEachObserver(observer => {\\n if (observer.processingDidStart) {\\n observer.processingDidStart();\\n }\\n });\\n }\\n }\\n // measures time\\n const processVideoLatency = performance.now() - processVideoStart;\\n const leave = (1000 * 2) / this.framerate - processVideoLatency; // half fps\\n const nextFrameDelay = Math.max(0, 1000 / this.framerate - processVideoLatency);\\n if (leave <= 0) {\\n this.forEachObserver(obs => {\\n if (obs.processingLatencyTooHigh) {\\n obs.processingLatencyTooHigh(processVideoLatency);\\n }\\n });\\n }\\n // TODO: use requestAnimationFrame which is more organic and allows browser to conserve resources by its choices.\\n /* @ts-ignore */\\n this.lastTimeOut = setTimeout(this.process, nextFrameDelay);\\n });\\n }\\n destroy() {\\n this.stop();\\n if (this.stages) {\\n for (const stage of this.stages) {\\n stage.destroy();\\n }\\n }\\n }\\n get framerate() {\\n return this.fr;\\n }\\n // A negative framerate will cause `captureStream` to throw `NotSupportedError`.\\n // The setter prevents this by switching to the default framerate if less than 0.\\n set framerate(value) {\\n this.fr = value < 0 ? DEFAULT_FRAMERATE : value;\\n }\\n stop() {\\n // empty stream, stop pipeline\\n // null input media stream stops the pipeline.\\n this.videoInput.removeEventListener('loadedmetadata', this.process);\\n this.videoInput.srcObject = null;\\n // Clean the input stream and buffers.\\n this.destroyInputMediaStreamAndBuffers();\\n // Stop all the output tracks, but don't discard the media stream,\\n // because it's how other parts of the codebase recognize when\\n // a selected stream is part of this transform device.\\n if (this.outputMediaStream) {\\n for (const track of this.outputMediaStream.getVideoTracks()) {\\n track.stop();\\n }\\n }\\n if (this.lastTimeOut) {\\n clearTimeout(this.lastTimeOut);\\n this.lastTimeOut = undefined;\\n }\\n if (this.hasStarted) {\\n this.hasStarted = false;\\n this.forEachObserver(observer => {\\n if (observer.processingDidStop) {\\n observer.processingDidStop();\\n }\\n });\\n }\\n }\\n addObserver(observer) {\\n this.observers.add(observer);\\n }\\n removeObserver(observer) {\\n this.observers.delete(observer);\\n }\\n getInputMediaStream() {\\n return __awaiter(this, void 0, void 0, function* () {\\n return this.inputVideoStream;\\n });\\n }\\n getActiveOutputMediaStream() {\\n if (this.isOutputMediaStreamActive()) {\\n return this.outputMediaStream;\\n }\\n this.outputMediaStream = this.canvasOutput.captureStream(this.framerate);\\n this.cloneInputAudioTracksToOutput();\\n return this.outputMediaStream;\\n }\\n /**\\n * `inputMediaStream` is by default used to construct one {@link CanvasVideoFrameBuffer}\\n * The buffer will be fed into the first {@link VideoFrameProcessor}.\\n */\\n setInputMediaStream(inputMediaStream) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!inputMediaStream) {\\n this.stop();\\n return;\\n }\\n if (inputMediaStream.getVideoTracks().length === 0) {\\n this.logger.error('No video tracks in input media stream, ignoring');\\n return;\\n }\\n this.inputVideoStream = inputMediaStream;\\n const settings = this.inputVideoStream.getVideoTracks()[0].getSettings();\\n this.logger.info(`processing pipeline input stream settings ${JSON.stringify(settings)}`);\\n this.canvasOutput.width = settings.width;\\n this.canvasOutput.height = settings.height;\\n this.videoInput.addEventListener('loadedmetadata', this.process);\\n this.videoInput.srcObject = this.inputVideoStream;\\n // avoid iOS safari full screen video\\n this.videoInput.setAttribute('playsinline', 'true');\\n // create sources\\n const canvasBuffer = new CanvasVideoFrameBuffer_1.default(this.canvasInput);\\n this.sourceBuffers.push(canvasBuffer);\\n this.videoInput.load();\\n try {\\n yield this.videoInput.play();\\n }\\n catch (_a) {\\n this.logger.warn('Video element play() overrided by another load().');\\n }\\n this.cloneInputAudioTracksToOutput();\\n });\\n }\\n cloneInputAudioTracksToOutput() {\\n if (!this.isOutputMediaStreamActive() || this.inputVideoStream === null) {\\n this.logger.info('Not cloning input audio tracks to output, do not have media streams ready');\\n return; // Just wait for `getActiveOutputMediaStream`\\n }\\n // Remove current audio tracks from output\\n for (const audioTrack of this.outputMediaStream.getAudioTracks()) {\\n this.logger.info(`Removing audio track ${audioTrack.id} from output stream`);\\n this.outputMediaStream.removeTrack(audioTrack);\\n }\\n for (const audioTrack of this.inputVideoStream.getAudioTracks()) {\\n this.logger.info(`Adding audio track ${audioTrack.id} to output stream`);\\n this.outputMediaStream.addTrack(audioTrack);\\n }\\n }\\n isOutputMediaStreamActive() {\\n return this.outputMediaStream && this.outputMediaStream.active;\\n }\\n set processors(stages) {\\n this.stages = stages;\\n }\\n get processors() {\\n return this.stages;\\n }\\n forEachObserver(observerFunc) {\\n for (const observer of this.observers) {\\n setTimeout(() => {\\n observerFunc(observer);\\n }, 0);\\n }\\n }\\n destroyInputMediaStreamAndBuffers() {\\n if (this.inputVideoStream) {\\n for (const track of this.inputVideoStream.getTracks()) {\\n track.stop();\\n }\\n }\\n this.inputVideoStream = null;\\n for (const buffer of this.sourceBuffers) {\\n buffer.destroy();\\n }\\n this.sourceBuffers = [];\\n }\\n}\\nexports[\\\"default\\\"] = DefaultVideoFrameProcessorPipeline;\\n//# sourceMappingURL=DefaultVideoFrameProcessorPipeline.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/DefaultVideoFrameProcessorPipeline.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/DefaultVideoTransformDevice.js\":\n/*!***************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/DefaultVideoTransformDevice.js ***!\n \\***************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nconst DefaultVideoFrameProcessorPipeline_1 = __webpack_require__(/*! ./DefaultVideoFrameProcessorPipeline */ \\\"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/DefaultVideoFrameProcessorPipeline.js\\\");\\n/**\\n * [[DefaultVideoTransformDevice]] is an augmented [[VideoInputDevice]].\\n * It transform the input {@link Device} with an array of {@link VideoFrameProcessor} to produce a `MediaStream`.\\n */\\nclass DefaultVideoTransformDevice {\\n constructor(logger, device, processors, browserBehavior = new DefaultBrowserBehavior_1.default()) {\\n this.logger = logger;\\n this.device = device;\\n this.processors = processors;\\n this.browserBehavior = browserBehavior;\\n this.observers = new Set();\\n this.pipe = new DefaultVideoFrameProcessorPipeline_1.default(this.logger, this.processors);\\n this.pipe.addObserver(this);\\n }\\n /**\\n * getter for `outputMediaStream`.\\n * `outputMediaStream` is returned by internal {@link VideoFrameProcessorPipeline}.\\n * It is possible, but unlikely, that this accessor will throw.\\n */\\n get outputMediaStream() {\\n return this.pipe.outputMediaStream;\\n }\\n /** @internal */\\n passEventControllerToProcessors(eventController) {\\n /* istanbul ignore else */\\n if (this.pipe.processors) {\\n for (const processor of this.pipe.processors) {\\n // Only certain processors are configured to provide event reporting,\\n // so here will confirm that the processor has event controller capablility\\n if (typeof processor.setEventController === 'function') {\\n processor.setEventController(eventController);\\n }\\n }\\n }\\n }\\n /**\\n * `chooseNewInnerDevice` preserves the inner pipeline and processing state and switches\\n * the inner device. Since the pipeline and processors are shared with the new transform device\\n * only one transform device can be used.\\n */\\n chooseNewInnerDevice(newDevice) {\\n const newTransformDevice = new DefaultVideoTransformDevice(this.logger, newDevice, this.processors, this.browserBehavior);\\n newTransformDevice.pipe = this.pipe;\\n return newTransformDevice;\\n }\\n /**\\n * Return the inner device as provided during construction.\\n */\\n getInnerDevice() {\\n return this.device;\\n }\\n intrinsicDevice() {\\n return __awaiter(this, void 0, void 0, function* () {\\n return this.device;\\n });\\n }\\n /**\\n * Create {@link VideoFrameProcessorPipeline} if there is not a existing one and start video processors.\\n * Returns output `MediaStream` produced by {@link VideoFrameProcessorPipeline}.\\n */\\n transformStream(mediaStream) {\\n return __awaiter(this, void 0, void 0, function* () {\\n yield this.pipe.setInputMediaStream(mediaStream);\\n this.inputMediaStream = mediaStream;\\n return this.pipe.getActiveOutputMediaStream();\\n });\\n }\\n /**\\n * onOutputStreamDisconnect is called when device controller wants to detach\\n * the transform device. The default behavior is to stop the output\\n * media stream and release the input the media stream. If the input media stream\\n * is the provided device, it will not be released.\\n */\\n onOutputStreamDisconnect() {\\n this.logger.info('DefaultVideoTransformDevice: detach stopping input media stream');\\n const deviceIsMediaStream = this.device && this.device.id;\\n // Stop processing but keep the pipe and processors\\n this.pipe.stop();\\n // Turn off the camera, unless device is a MediaStream\\n if (!deviceIsMediaStream) {\\n if (this.inputMediaStream) {\\n for (const track of this.inputMediaStream.getVideoTracks()) {\\n track.stop();\\n }\\n }\\n }\\n }\\n /**\\n * Dispose of the inner workings of the transform device, including pipeline and processors.\\n * `stop` can only be called when the transform device is not used by device controller anymore.\\n * After `stop` is called, all transform devices which share the pipeline must be discarded.\\n */\\n stop() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.inputMediaStream) {\\n for (const track of this.inputMediaStream.getVideoTracks()) {\\n track.stop();\\n }\\n }\\n this.pipe.destroy();\\n this.inputMediaStream = null;\\n });\\n }\\n /**\\n * Add an observer to receive notifications about lifecycle events.\\n * See {@link DefaultVideoTransformDeviceObserver} for details.\\n * If the observer has already been added, this method call has no effect.\\n */\\n addObserver(observer) {\\n this.observers.add(observer);\\n }\\n /**\\n * Remove an existing observer. If the observer has not been previously. this method call has no effect.\\n */\\n removeObserver(observer) {\\n this.observers.delete(observer);\\n }\\n processingDidStart() {\\n this.logger.info('video transform device processing started');\\n this.forEachObserver(observer => {\\n if (observer.processingDidStart) {\\n observer.processingDidStart();\\n }\\n });\\n }\\n processingLatencyTooHigh(latencyMs) {\\n this.forEachObserver(observer => {\\n if (observer.processingLatencyTooHigh) {\\n observer.processingLatencyTooHigh(latencyMs);\\n }\\n });\\n }\\n processingDidFailToStart() {\\n this.logger.info('video transform device processing failed to start');\\n this.forEachObserver(observer => {\\n if (observer.processingDidFailToStart) {\\n observer.processingDidFailToStart();\\n }\\n });\\n }\\n processingDidStop() {\\n this.logger.info('video transform device processing stopped');\\n this.forEachObserver(observer => {\\n if (observer.processingDidStop) {\\n observer.processingDidStop();\\n }\\n });\\n }\\n forEachObserver(observerFunc) {\\n for (const observer of this.observers) {\\n setTimeout(() => {\\n observerFunc(observer);\\n }, 0);\\n }\\n }\\n}\\nexports[\\\"default\\\"] = DefaultVideoTransformDevice;\\n//# sourceMappingURL=DefaultVideoTransformDevice.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/DefaultVideoTransformDevice.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/NoOpVideoFrameProcessor.js\":\n/*!***********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/NoOpVideoFrameProcessor.js ***!\n \\***********************************************************************************************/\n/***/ (function(__unused_webpack_module, exports) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[NoOpVideoFrameProcessor]] implements [[VideoFrameProcessor]].\\n * It's a no-op processor and input is passed to output directly.\\n */\\nclass NoOpVideoFrameProcessor {\\n process(buffers) {\\n return __awaiter(this, void 0, void 0, function* () {\\n return buffers;\\n });\\n }\\n destroy() {\\n return __awaiter(this, void 0, void 0, function* () {\\n return;\\n });\\n }\\n}\\nexports[\\\"default\\\"] = NoOpVideoFrameProcessor;\\n//# sourceMappingURL=NoOpVideoFrameProcessor.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/NoOpVideoFrameProcessor.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videofx/DeferredPromise.js\":\n/*!***************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videofx/DeferredPromise.js ***!\n \\***************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.DeferredPromise = void 0;\\n/**\\n * [[DeferredPromise]] Is a wrapper around a javascript promise that\\n * will allow us to resolve and reject the promise from outside of the\\n * promise's executor block.\\n */\\nclass DeferredPromise {\\n constructor() {\\n this.promise = new Promise((resolve, reject) => {\\n this.resolve = resolve;\\n this.reject = reject;\\n });\\n }\\n /**\\n * Get the promise associated with the DeferredPromise.\\n * @returns Promise<T>\\n */\\n getPromise() {\\n return this.promise;\\n }\\n /**\\n * Resolve this.promise.\\n */\\n resolvePromise(resolveParameter) {\\n this.resolve(resolveParameter);\\n }\\n /**\\n * Resolve this.promise with a resolveParameter. Then,\\n * replace the resolved promise with a new promise.\\n */\\n resolveAndReplacePromise(resolveParameter) {\\n this.resolve(resolveParameter);\\n this.promise = new Promise((resolve, reject) => {\\n this.resolve = resolve;\\n this.reject = reject;\\n });\\n }\\n /**\\n * Reject this.promise.\\n */\\n rejectPromise(rejectError) {\\n this.reject(rejectError);\\n }\\n /**\\n * Reject this.promise with a reject parameter. Then,\\n * replace the rejected promise with a new promise.\\n */\\n rejectAndReplacePromise(rejectError) {\\n this.reject(rejectError);\\n this.promise = new Promise((resolve, reject) => {\\n this.resolve = resolve;\\n this.reject = reject;\\n });\\n }\\n}\\nexports.DeferredPromise = DeferredPromise;\\n//# sourceMappingURL=DeferredPromise.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videofx/DeferredPromise.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxCanvasOpsManager.js\":\n/*!***********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxCanvasOpsManager.js ***!\n \\***********************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.VideoFxCanvasOpsManager = void 0;\\nconst VideoFxConstants_1 = __webpack_require__(/*! ./VideoFxConstants */ \\\"./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxConstants.js\\\");\\n/**\\n * [[VideoFxCanvasOpsManager]] Mechanism drives the canvas based operations\\n * for the VideoFxProcessor. This includes input stream resizing to segmentation model\\n * dimensions and managing the canvas loading for background replacement.\\n */\\nclass VideoFxCanvasOpsManager {\\n constructor(streamParameters, outputCanvas) {\\n this.streamParameters = streamParameters;\\n this.outputCanvas = outputCanvas;\\n this.configureCanvasPipeline();\\n }\\n /**\\n * Generate the raw image data in a format that is directly importable into\\n * the segmentation model\\n * @param inputCanvas\\n * @returns ImageData\\n */\\n getInferenceInputData(inputCanvas) {\\n // Resize our full resolution frame into a new canvas scaled to the\\n // size of our segmentation model\\n this.inferenceCtx.save();\\n this.inferenceCtx.scale(this.horizontalResizeScalar, this.verticalResizeScalar);\\n this.inferenceCtx.drawImage(inputCanvas, 0, 0);\\n this.inferenceCtx.restore();\\n // Now we can directly take image data that is the desired size of\\n // of our segmentation model linput\\n const inferenceInputData = this.inferenceCtx.getImageData(0, 0, VideoFxConstants_1.SEGMENTATION_MODEL.WIDTH_IN_PIXELS, VideoFxConstants_1.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS);\\n return inferenceInputData;\\n }\\n /**\\n * Reconfigure the canvas operations/pipeline to fit the dimensions of the new\\n * video stream, and resize background replacement canvas.\\n * @param streamParameters an VideoFxStreamParameters object specifying stream dimensions\\n */\\n configureForStreamParameters(streamParameters) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.streamParameters = streamParameters;\\n this.outputCanvas.width = this.streamParameters.width;\\n this.outputCanvas.height = this.streamParameters.height;\\n // Resize background replacement canvas -- if it exists\\n if (this.backgroundReplacementCanvas) {\\n const resizedCanvas = document.createElement('canvas');\\n resizedCanvas.width = this.streamParameters.width;\\n resizedCanvas.height = this.streamParameters.height;\\n resizedCanvas\\n .getContext('2d')\\n .drawImage(this.backgroundReplacementCanvas, 0, 0, this.streamParameters.width, this.streamParameters.height);\\n this.backgroundReplacementCanvas = resizedCanvas;\\n }\\n this.configureCanvasPipeline();\\n });\\n }\\n /**\\n * Configure the inference canvas so that write operations to the canvas\\n * result in an image resizing.\\n */\\n configureCanvasPipeline() {\\n // Create new inference canvas and context\\n this.inferenceCanvas = document.createElement('canvas');\\n this.inferenceCtx = this.inferenceCanvas.getContext('2d', {\\n willReadFrequently: true,\\n });\\n // Configure the resize operation, which will be utilized by calling scale\\n // and then drawing any sized input to the canvas\\n this.inferenceCanvas.width = VideoFxConstants_1.SEGMENTATION_MODEL.WIDTH_IN_PIXELS;\\n this.inferenceCanvas.height = VideoFxConstants_1.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS;\\n this.horizontalResizeScalar = VideoFxConstants_1.SEGMENTATION_MODEL.WIDTH_IN_PIXELS / this.streamParameters.width;\\n this.verticalResizeScalar = VideoFxConstants_1.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS / this.streamParameters.height;\\n }\\n /**\\n * Return the background replacement canvas\\n * @returns HTMLCanvasElement\\n */\\n getBackgroundReplacementCanvas() {\\n return this.backgroundReplacementCanvas;\\n }\\n /**\\n * Attempt to load custom replacement background image from URL, or the default background color.\\n * The backgroundReplacementCanvas is then set from the loaded image.\\n * @param effectConfig\\n */\\n loadReplacementBackground(effectConfig) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const imageURL = effectConfig.backgroundReplacement.backgroundImageURL;\\n const defaultColor = effectConfig.backgroundReplacement.defaultColor;\\n if (imageURL) {\\n try {\\n const backgroundImage = yield this.loadImage(imageURL);\\n this.backgroundReplacementImage = backgroundImage;\\n this.resizeAndSetReplacementImage(this.backgroundReplacementImage);\\n }\\n catch (error) /* istanbul ignore next */ {\\n // The following can only happen due to an intermittent network issue.\\n this.logger.error(error);\\n throw new Error('Failed to set the replacement image.');\\n }\\n }\\n else {\\n this.resizeAndSetReplacementColor(defaultColor);\\n }\\n });\\n }\\n /**\\n * Draw loaded image on a canvas sized to the stream parameters, which is then set to the\\n * backgroundReplacementCanvas member variable.\\n * @param backgroundImage\\n */\\n resizeAndSetReplacementImage(backgroundImage) {\\n const resizedCanvas = document.createElement('canvas');\\n const resizedCtx = resizedCanvas.getContext('2d');\\n resizedCanvas.width = this.streamParameters.width;\\n resizedCanvas.height = this.streamParameters.height;\\n resizedCtx.drawImage(backgroundImage, 0, 0, this.streamParameters.width, this.streamParameters.height);\\n this.backgroundReplacementCanvas = resizedCanvas;\\n }\\n /**\\n * Fill default color on a canvas sized to the stream parameters, which is then set to the\\n * backgroundReplacementCanvas member variable.\\n * @param defaultColor\\n */\\n resizeAndSetReplacementColor(defaultColor) {\\n const resizedCanvas = document.createElement('canvas');\\n const resizedCtx = resizedCanvas.getContext('2d');\\n resizedCanvas.width = this.streamParameters.width;\\n resizedCanvas.height = this.streamParameters.height;\\n resizedCtx.fillStyle = defaultColor;\\n resizedCtx.fillRect(0, 0, this.streamParameters.width, this.streamParameters.height);\\n this.backgroundReplacementCanvas = resizedCanvas;\\n }\\n /**\\n * Attempt to load background image from URL.\\n * @param backgroundImageURL\\n * @returns Promise<HTMLCanvasElement>\\n */\\n loadImage(backgroundImageURL) {\\n return __awaiter(this, void 0, void 0, function* () {\\n // Attempt to fetch the image\\n const image = yield fetch(backgroundImageURL).catch(error => {\\n this.logger.error(error.toString());\\n // Error returned in unit tests from mock fetch is non-compatible\\n /* istanbul ignore next */\\n throw new Error('Failed to fetch image.');\\n });\\n // Convert successful fetch into an HTMLImageElement\\n const imageBlob = yield image.blob();\\n const img = new Image();\\n img.src = URL.createObjectURL(imageBlob);\\n return new Promise((resolve, reject) => {\\n img.onload = () => {\\n resolve(img);\\n };\\n img.onerror = error => {\\n reject(error);\\n };\\n });\\n });\\n }\\n}\\nexports.VideoFxCanvasOpsManager = VideoFxCanvasOpsManager;\\n//# sourceMappingURL=VideoFxCanvasOpsManager.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxCanvasOpsManager.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxConstants.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxConstants.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.FXLIB_PATH = exports.WORKER_PATH = exports.CDN_BASE_PATH = exports.RESOURCE_CONSTRAINTS = exports.SEGMENTATION_MODEL = exports.DEFAULT_STREAM_PARAMETERS = exports.WORKER_MSG = void 0;\\n// These are constants relating to communication between the VideoFxProcessor\\n// and the VideoFxEngine\\nexports.WORKER_MSG = {\\n BUILD_ENGINE_REQUEST: 'BuildEngineRequest',\\n BUILD_ENGINE_RESPONSE: 'BuildEngineResponse',\\n PERFORM_SEGMENTATION_REQUEST: 'PerformSegmentationRequest',\\n PERFORM_SEGMENTATION_RESPONSE: 'PerformSegmentationResponse',\\n PERFORM_SEGMENTATION_SAB_REQUEST: 'PerformSegmentationSABRequest',\\n PERFORM_SEGMENTATION_SAB_RESPONSE: 'PerformSegmentationSABResponse',\\n DESTROY_ASSETS_REQUEST: 'DestroyAssetsRequest',\\n DESTROY_ASSETS_RESPONSE: 'DestroyAssetsResponse',\\n CLOSE_WORKER_REQUEST: 'CloseWorkerRequest',\\n};\\nexports.DEFAULT_STREAM_PARAMETERS = {\\n FRAMES_PER_SECOND: 15,\\n WIDTH_IN_PIXEL: 960,\\n HEIGHT_IN_PIXEL: 540,\\n CHANNEL_COUNT: 4,\\n};\\n// These are constants relating to the status of different processes that get returned\\n// by the VideoFxEngine\\nexports.SEGMENTATION_MODEL = {\\n LOAD_SUCCESS: 2,\\n WIDTH_IN_PIXELS: 176,\\n HEIGHT_IN_PIXELS: 160,\\n};\\n// These are constants relating to resource constraints\\nexports.RESOURCE_CONSTRAINTS = {\\n DEFAULT_PROCESSING_BUDGET_PER_FRAME: 50,\\n // Segmenation throttling constants\\n SEGMENTATION_DEFAULT_FRAMES_PER_SEGMENTATION: 1,\\n SEGMENTATION_SAMPLING_PERIOD_FRAME_COUNT: 500,\\n // Blur throttling constants\\n BLUR_DEFAULT_CYCLE_PERCENTAGE: 10,\\n BLUR_SAMPLING_PERIOD_FRAME_COUNT: 1000,\\n // General constants for throttling blur and segmentation\\n MIN_PROCESSING_BUDGET: 0,\\n MAX_PROCESSING_BUDGET: 100,\\n};\\nexports.CDN_BASE_PATH = 'https://static.sdkassets.chime.aws';\\nconst MFX_ASSET_PATH = '/ml_media_fx/otherassets';\\nexports.WORKER_PATH = `${MFX_ASSET_PATH}/worker.js`;\\nexports.FXLIB_PATH = `${MFX_ASSET_PATH}/fxlib.js`;\\n//# sourceMappingURL=VideoFxConstants.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxConstants.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxProcessor.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxProcessor.js ***!\n \\****************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst fetch_1 = __webpack_require__(/*! ../../libs/voicefocus/fetch */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/fetch.js\\\");\\nconst loader_1 = __webpack_require__(/*! ../../libs/voicefocus/loader */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/loader.js\\\");\\nconst support_1 = __webpack_require__(/*! ../../libs/voicefocus/support */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/support.js\\\");\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nconst NoOpLogger_1 = __webpack_require__(/*! ../logger/NoOpLogger */ \\\"./node_modules/amazon-chime-sdk-js/build/logger/NoOpLogger.js\\\");\\nconst Utils_1 = __webpack_require__(/*! ../utils/Utils */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Utils.js\\\");\\nconst Versioning_1 = __webpack_require__(/*! ../versioning/Versioning */ \\\"./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js\\\");\\nconst CanvasVideoFrameBuffer_1 = __webpack_require__(/*! ../videoframeprocessor/CanvasVideoFrameBuffer */ \\\"./node_modules/amazon-chime-sdk-js/build/videoframeprocessor/CanvasVideoFrameBuffer.js\\\");\\nconst DeferredPromise_1 = __webpack_require__(/*! ./DeferredPromise */ \\\"./node_modules/amazon-chime-sdk-js/build/videofx/DeferredPromise.js\\\");\\nconst VideoFxCanvasOpsManager_1 = __webpack_require__(/*! ./VideoFxCanvasOpsManager */ \\\"./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxCanvasOpsManager.js\\\");\\nconst VideoFxConstants_1 = __webpack_require__(/*! ./VideoFxConstants */ \\\"./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxConstants.js\\\");\\nconst VideoFxSegmentationRateManager_1 = __webpack_require__(/*! ./VideoFxSegmentationRateManager */ \\\"./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxSegmentationRateManager.js\\\");\\n/**\\n * [[VideoFxProcessor]] Mechanism that drives the data transformation\\n * of individual video frames to apply ML-based background blur and\\n * background replacement effects on the video stream.\\n */\\nclass VideoFxProcessor {\\n /**\\n * Initializes a new instance of [[VideoFxProcessor]] with a default NoOp [[VideoFxConfig]].\\n * @param logger\\n * @param processingBudgetPerFrame throttling constraint for processing\\n * @param eventController EventController object to manage events\\n */\\n constructor(logger, processingBudgetPerFrame = VideoFxConstants_1.RESOURCE_CONSTRAINTS.DEFAULT_PROCESSING_BUDGET_PER_FRAME, eventController) {\\n this.logger = logger;\\n // Configure the buffer for where output frames will be placed\\n this.outputCanvas = document.createElement('canvas');\\n this.canvasVideoFrameBuffer = new CanvasVideoFrameBuffer_1.default(this.outputCanvas);\\n // Validate the inputted resource constraint\\n try {\\n this.validateProcessingBudgetPerFrame(processingBudgetPerFrame);\\n }\\n catch (error) {\\n this.logger.error(error);\\n throw new Error(`Cannot instantiate VideoFxProcessor due to invalid ` +\\n `processingBudgetPerFrame of ${processingBudgetPerFrame}`);\\n }\\n if (eventController) {\\n this.eventController = eventController;\\n }\\n // Create a basic effectConfig (noOp)\\n this.effectConfig = {\\n backgroundBlur: {\\n isEnabled: false,\\n strength: 'low',\\n },\\n backgroundReplacement: {\\n isEnabled: false,\\n backgroundImageURL: null,\\n defaultColor: 'black',\\n },\\n };\\n // This promise object will be used to coordinate timing of sending/receiving frames from engine\\n this.segmentationRequestPromise = new DeferredPromise_1.DeferredPromise();\\n // Configure resource management for the segmentation frequency\\n this.segmentationRateManager = new VideoFxSegmentationRateManager_1.VideoFxSegmentationRateManager(this.logger, processingBudgetPerFrame);\\n // Configure default streamParameters\\n this.streamParameters = {\\n framerate: VideoFxConstants_1.DEFAULT_STREAM_PARAMETERS.FRAMES_PER_SECOND,\\n width: VideoFxConstants_1.DEFAULT_STREAM_PARAMETERS.WIDTH_IN_PIXEL,\\n height: VideoFxConstants_1.DEFAULT_STREAM_PARAMETERS.HEIGHT_IN_PIXEL,\\n channels: VideoFxConstants_1.DEFAULT_STREAM_PARAMETERS.CHANNEL_COUNT,\\n };\\n // Determine if shared array buffer can be used to transfer frame data from\\n // main thread to web worker thread\\n if (VideoFxProcessor.isSharedArrayBufferSupported) {\\n this.sharedImageBuffer = new SharedArrayBuffer(VideoFxConstants_1.SEGMENTATION_MODEL.WIDTH_IN_PIXELS *\\n VideoFxConstants_1.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS *\\n this.streamParameters.channels);\\n this.sharedImageData = new Uint8ClampedArray(this.sharedImageBuffer);\\n }\\n this.logger.info(`VideoFx supports Shared Array Buffer: ` + `${VideoFxProcessor.isSharedArrayBufferSupported}`);\\n // Determine if filter operations are supported\\n this.canvasOpsManager = new VideoFxCanvasOpsManager_1.VideoFxCanvasOpsManager(this.streamParameters, this.outputCanvas);\\n // Configure the final transformed frame location\\n this.outputCanvas.width = this.streamParameters.width;\\n this.outputCanvas.height = this.streamParameters.height;\\n // Set an empty mask at initialization\\n this.segmentationMask = new ImageData(this.streamParameters.width, this.streamParameters.height);\\n this.logger.info(`VideoFxProcessor instantiated with a processingBudgetPerFrame of ${processingBudgetPerFrame}`);\\n }\\n /**\\n * Apply the [[VideoFxProcessor]]'s specialized effect onto the frame contained by\\n * the buffer parameter.\\n * @param buffers\\n * @returns buffers\\n */\\n process(buffers) {\\n return __awaiter(this, void 0, void 0, function* () {\\n // Note: Required method through implementation of VideoFrameProcessor.\\n return buffers;\\n });\\n }\\n /**\\n * Process an input stream and apply the visual effects specified in this effectConfig.\\n * @param buffers the input stream\\n * @returns an output stream of VideoFrameBuffer\\n */\\n fxProcess(buffers) {\\n return __awaiter(this, void 0, void 0, function* () {\\n // Process our input image into raw input data\\n const inputCanvas = buffers[0].asCanvasElement();\\n // We must confirm that our incoming stream did not change it's parameters\\n if (this.didStreamParametersChange(inputCanvas)) {\\n yield this.adjustProcessorForNewStreamParameters(inputCanvas);\\n }\\n // Decide to use the existing segmentation or perform a new segmentation\\n try {\\n yield this.manageSegmentationMask(inputCanvas);\\n }\\n catch (error) {\\n this.logger.error(error);\\n throw new Error(`Video stream could not be processed`);\\n }\\n // Render a final image using the input canvas and the segmentation mask\\n yield this.renderer.render(inputCanvas, this.segmentationMask);\\n // Send canvas video frame buffer to rest of processor pipeline\\n buffers[0] = this.canvasVideoFrameBuffer;\\n return buffers;\\n });\\n }\\n /**\\n * Perform a process call that just returns the input stream\\n * @param buffers the input stream\\n * @returns an output stream of VideoFrameBuffer\\n */\\n noOpProcess(buffers) {\\n return __awaiter(this, void 0, void 0, function* () {\\n return buffers;\\n });\\n }\\n /**\\n * Check if the stream dimensions/parameters have changed.\\n * @param stream frame from current video stream about to be processed\\n * @returns boolean representing if the stream parameters changed\\n */\\n didStreamParametersChange(stream) {\\n return (stream.width !== this.streamParameters.width || stream.height !== this.streamParameters.height);\\n }\\n /**\\n * Adjust the videoFxProcessor to handle new stream parameters.\\n * @param stream frame from current video stream about to be processed\\n */\\n adjustProcessorForNewStreamParameters(stream) {\\n return __awaiter(this, void 0, void 0, function* () {\\n // Update the stored streamParameters\\n this.streamParameters.width = stream.width;\\n this.streamParameters.height = stream.height;\\n // Notify the canvas ops manager to reconfigure pipeline dimensions\\n yield this.canvasOpsManager.configureForStreamParameters(this.streamParameters);\\n // Configure the renderer to work with new stream dimensions\\n yield this.renderer.configure(this.streamParameters.width, this.streamParameters.height, this.effectConfig);\\n });\\n }\\n /**\\n * Clean up any excess memory that has been allocated by [[VideoFxProcessor]].\\n */\\n destroy() {\\n return __awaiter(this, void 0, void 0, function* () {\\n // Note: Required method through implementation of VideoFrameProcessor.\\n this.canvasVideoFrameBuffer.destroy();\\n if (this.fxLibScript && this.fxLibScript.parentNode) {\\n this.fxLibScript.parentNode.removeChild(this.fxLibScript);\\n }\\n if (this.engineWorker) {\\n // Post message to destroy all assets\\n this.destroyedAssetsPromise = new DeferredPromise_1.DeferredPromise();\\n this.engineWorker.postMessage({\\n msg: VideoFxConstants_1.WORKER_MSG.DESTROY_ASSETS_REQUEST,\\n });\\n // Wait until all the assets are destroyed\\n yield this.destroyedAssetsPromise.getPromise();\\n // Close the engine worker\\n this.engineWorker.postMessage({\\n msg: VideoFxConstants_1.WORKER_MSG.CLOSE_WORKER_REQUEST,\\n });\\n }\\n this.logger.info(`VideoFxProcessor destroyed.`);\\n });\\n }\\n /**\\n * Manage the segmentation mask that is used to generate a final frame. This function\\n * will calculate whether or not to re-generate a segmenation and also monitor\\n * how computationally expensive the rate of segmentation are.\\n * @param inputCanvas canvas to be used for segmentation\\n */\\n manageSegmentationMask(inputCanvas) {\\n return __awaiter(this, void 0, void 0, function* () {\\n try {\\n this.segmentationRateManager.submitFrame();\\n if (this.segmentationRateManager.shouldApplySegmentation()) {\\n // Perform a segmentation inference on the downsampled current video frame\\n this.segmentationRateManager.startSegmentation();\\n const inferenceInputImageData = this.canvasOpsManager.getInferenceInputData(inputCanvas);\\n this.segmentationMask = yield this.generateSegmentationMask(inferenceInputImageData);\\n this.segmentationRateManager.completeSegmentation();\\n }\\n }\\n catch (error) {\\n this.logger.error(error.toString());\\n throw new Error(`Can not properly manage the returned segmentation mask`);\\n }\\n });\\n }\\n /**\\n * Generate a segmentation mask from the input frame.\\n * @param inferenceImageData\\n * @returns image data representing segmenation mask\\n */\\n generateSegmentationMask(inferenceImageData) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (VideoFxProcessor.isSharedArrayBufferSupported) {\\n this.sharedImageData.set(inferenceImageData.data);\\n this.engineWorker.postMessage({\\n msg: VideoFxConstants_1.WORKER_MSG.PERFORM_SEGMENTATION_SAB_REQUEST,\\n payload: this.sharedImageBuffer,\\n });\\n }\\n else {\\n this.engineWorker.postMessage({\\n msg: VideoFxConstants_1.WORKER_MSG.PERFORM_SEGMENTATION_REQUEST,\\n payload: inferenceImageData,\\n }, [inferenceImageData.data.buffer]);\\n }\\n // Wait for input image to be returned from VideoFxEngine\\n try {\\n const segmentationMask = yield this.segmentationRequestPromise.getPromise();\\n return segmentationMask;\\n }\\n catch (error) {\\n this.logger.error(error.toString());\\n throw new Error(`Segmentation mask could not be generated`);\\n }\\n });\\n }\\n /**\\n * Make a deep copy of the VideoFxConfig passed in. Needs to be updated if additional\\n * fields are added to VideoFxConfig.\\n * @param effectConfig\\n * @returns newEffectConfig\\n */\\n cloneConfigFrom(effectConfig) {\\n return {\\n backgroundBlur: {\\n isEnabled: effectConfig.backgroundBlur.isEnabled,\\n strength: effectConfig.backgroundBlur.strength,\\n },\\n backgroundReplacement: {\\n isEnabled: effectConfig.backgroundReplacement.isEnabled,\\n backgroundImageURL: effectConfig.backgroundReplacement.backgroundImageURL,\\n defaultColor: effectConfig.backgroundReplacement.defaultColor,\\n },\\n };\\n }\\n /**\\n * Update the [[VideoFxProcessor]] to apply a new set of effects by updating the instance property\\n * [[VideoFxConfig]]. If the effectConfig parameter fails validation, an error is thrown and there is\\n * no update.\\n * @Param effectConfig updated [[VideoFxConfig]] with new video effects\\n */\\n setEffectConfig(effectConfig) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.sameVideoFxConfig(effectConfig, this.effectConfig)) {\\n return;\\n }\\n const newEffectConfig = this.cloneConfigFrom(effectConfig);\\n // Validate the effect config\\n try {\\n yield this.validateEffectConfig(newEffectConfig);\\n }\\n catch (error) {\\n this.logger.error(error.toString());\\n throw new Error(`Provided effect config is invalid, not updating VideoFxProcessor`);\\n }\\n // Configure background replacement image/canvas\\n if (newEffectConfig.backgroundReplacement.isEnabled) {\\n yield this.canvasOpsManager.loadReplacementBackground(newEffectConfig);\\n yield this.renderer.setBackgroundReplacementCanvas(this.canvasOpsManager.getBackgroundReplacementCanvas());\\n }\\n // Configure the renderer to implement the desired effect configuration\\n yield this.renderer.configure(this.streamParameters.width, this.streamParameters.height, newEffectConfig);\\n // Can now officially set the effect config since the rest of the processor is\\n // configured for the new effects\\n this.effectConfig = newEffectConfig;\\n // If no effects are enabled, run no op process, otherwise run the effect based processing\\n if (!this.effectConfig.backgroundBlur.isEnabled &&\\n !this.effectConfig.backgroundReplacement.isEnabled) {\\n this.process = this.noOpProcess;\\n }\\n else {\\n this.process = this.fxProcess;\\n }\\n this.logger.info(`VideoFxProcessor effect configuration updated to: ${JSON.stringify(this.effectConfig)}`);\\n if (this.eventController) {\\n this.publishVideoFxConfigEvent();\\n }\\n });\\n }\\n /**\\n * Confirm that the config consists of valid values.\\n * @param config that will be validated\\n */\\n validateEffectConfig(config) {\\n return __awaiter(this, void 0, void 0, function* () {\\n // We confirm that both blur and replacement are not enabled due to builder error\\n if (config.backgroundBlur.isEnabled && config.backgroundReplacement.isEnabled) {\\n throw new Error(`Invalid VideoFx configuration: Background Blur and Background Replacement ` +\\n `can not both be enabled`);\\n }\\n else if (config.backgroundReplacement.isEnabled) {\\n yield this.validateReplacementConfig(config);\\n }\\n // backgroundBlur does not need to be validated, as valid blurStrength value\\n // is checked at compile time.\\n });\\n }\\n /**\\n * Confirm that the config consists of valid values for background replacement.\\n * @param config that will be validated for background replacement\\n */\\n validateReplacementConfig(config) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (config.backgroundReplacement.backgroundImageURL &&\\n config.backgroundReplacement.defaultColor) {\\n throw new Error(`Invalid VideoFx configuration: Background Replacement can not have both an ` +\\n `image URL and default color`);\\n }\\n if (!config.backgroundReplacement.backgroundImageURL &&\\n !config.backgroundReplacement.defaultColor) {\\n throw new Error(`Invalid VideoFx configuration: Background Replacement image URL and default ` +\\n `can not both be null/undefined`);\\n }\\n // Confirm that the image properly loads\\n try {\\n if (config.backgroundReplacement.backgroundImageURL) {\\n yield this.canvasOpsManager.loadImage(config.backgroundReplacement.backgroundImageURL);\\n }\\n }\\n catch (error) {\\n this.logger.error(error.toString());\\n throw new Error(`Invalid VideoFx configuration: backgroundImageURL failed to load`);\\n }\\n const defaultColor = config.backgroundReplacement.defaultColor;\\n // Confirm that defaultColor is a valid color for fillStyle. We support black by default.\\n if (defaultColor &&\\n defaultColor !== 'black' &&\\n defaultColor !== '#000000' &&\\n defaultColor !== '#000') {\\n // First validate hexadecimal color code\\n if (defaultColor.includes('#')) {\\n const hexRegex = new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/);\\n if (!hexRegex.test(defaultColor)) {\\n throw new Error(`Invalid hexadecimal color code for default replacement ` +\\n `background: ${defaultColor}`);\\n }\\n }\\n const testColorCanvas = document.createElement('canvas');\\n const testColorCtx = testColorCanvas.getContext('2d');\\n // fillStyle is #000000 black by default\\n const prevFillStyle = testColorCtx.fillStyle;\\n testColorCtx.fillStyle = defaultColor;\\n // fillStyle will not change after assignment if invalid value is used\\n /* istanbul ignore next */\\n if (testColorCtx.fillStyle === prevFillStyle) {\\n throw new Error(`Invalid color for default replacement background: ${defaultColor}`);\\n }\\n }\\n });\\n }\\n /**\\n * Confirm that the processingBudgePerFrame constraint holds valid values.\\n * @param constraint to be validated\\n */\\n validateProcessingBudgetPerFrame(processingBudgetPerFrame) {\\n if (processingBudgetPerFrame < VideoFxConstants_1.RESOURCE_CONSTRAINTS.MIN_PROCESSING_BUDGET ||\\n processingBudgetPerFrame > VideoFxConstants_1.RESOURCE_CONSTRAINTS.MAX_PROCESSING_BUDGET) {\\n throw new Error(`Invalid resource constraint: cycle percentage must be within ` +\\n `range of ${VideoFxConstants_1.RESOURCE_CONSTRAINTS.MIN_PROCESSING_BUDGET} and ` +\\n `${VideoFxConstants_1.RESOURCE_CONSTRAINTS.MAX_PROCESSING_BUDGET}`);\\n }\\n }\\n /**\\n * Loads all of the assets that are associated with the stored effectConfig.\\n */\\n loadAssets() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.logger.info(`Loading required assets for the VideoFxProcessor`);\\n try {\\n const videoFxAssetParams = this.getVideoFxAssetParams();\\n yield this.loadEngineWorker(videoFxAssetParams);\\n yield this.buildEngine(videoFxAssetParams);\\n yield this.loadFxLib(videoFxAssetParams);\\n // @ts-ignore\\n this.renderer = constructRenderer(VideoFxConstants_1.SEGMENTATION_MODEL.WIDTH_IN_PIXELS, VideoFxConstants_1.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS, this.effectConfig, this.outputCanvas);\\n }\\n catch (error) {\\n // NOTE: when we update to es2022, throw errors that are chained together\\n this.logger.error(error.toString());\\n throw new Error(`Failed to load necessary assets for the VideoFxProcessor`);\\n }\\n this.logger.info(`Finished loading of essential VideoFxProcessor assets.`);\\n });\\n }\\n /**\\n * Determines the current set of specifications that define the current SDK version.\\n * @returns an [[VideoFxAssetParams]] object defining the parameters of the\\n * current SDK\\n */\\n getVideoFxAssetParams() {\\n const defaultAssetSpec = Utils_1.getDefaultAssetSpec();\\n const videoFxAssetParams = {\\n assetGroup: defaultAssetSpec.assetGroup,\\n revisionID: defaultAssetSpec.revisionID,\\n sdk: encodeURIComponent(Versioning_1.default.sdkVersion),\\n ua: encodeURIComponent(Versioning_1.default.sdkUserAgentLowResolution),\\n };\\n return videoFxAssetParams;\\n }\\n /**\\n * Generate a final path to an asset belonging to current version of SDK.\\n * @param basePath Base of the path that will be used to generate a final path\\n * @param videoFxAssetParams Parameters of the current SDK version\\n * @returns A final path specific to an asset belonging to current SDK\\n * version\\n */\\n getPathFromVideoFxAssetParams(basePath, videoFxAssetParams) {\\n const path = new URL(basePath);\\n for (const [key, value] of Object.entries(videoFxAssetParams)) {\\n if (value !== undefined) {\\n // Encode the key and value into uri format\\n const uriEncodedKey = encodeURIComponent(key);\\n const uriEncodedValue = encodeURIComponent(value);\\n // Set encoded key/value as query params\\n path.searchParams.set(uriEncodedKey, uriEncodedValue);\\n }\\n }\\n return path.toString();\\n }\\n /**\\n * Fetch and then load the engine worker into a web-worker.\\n */\\n loadEngineWorker(videoFxAssetParams) {\\n return __awaiter(this, void 0, void 0, function* () {\\n // The engine worker will always be a required asset for the VideoFxProcessor\\n try {\\n // Determine engine worker path from versioning of the SDK worker\\n const engineWorkerPath = this.getPathFromVideoFxAssetParams(VideoFxConstants_1.CDN_BASE_PATH + VideoFxConstants_1.WORKER_PATH, videoFxAssetParams);\\n // Load the worker that will communicate with the VideoFxEngine\\n this.engineWorker = yield loader_1.loadWorker(engineWorkerPath, 'VideoFxEngineWorker', {}, null);\\n this.logger.info(`Successfully loaded the VideoFxProcessor's engine worker`);\\n // Configure a handler to deal with messages received form the engine worker\\n this.engineWorker.addEventListener('message', event => this.engineWorkerReceiver(event));\\n }\\n catch (error) {\\n this.logger.error(error.toString());\\n throw new Error(`Failed to load the VideoFxProcessor's engine worker`);\\n }\\n });\\n }\\n /**\\n * Build the videoFxEngine.\\n * @param videoFxAssetParams [[VideoFxAssetParams]] defining current version of SDK\\n */\\n buildEngine(videoFxAssetParams) {\\n return __awaiter(this, void 0, void 0, function* () {\\n // Instantiate the deferred promise so we can wait for the worker to\\n // return a completion message\\n this.buildEnginePromise = new DeferredPromise_1.DeferredPromise();\\n // Send a message via the engine worker to instantiate\\n // the video fx engine\\n this.engineWorker.postMessage({\\n msg: VideoFxConstants_1.WORKER_MSG.BUILD_ENGINE_REQUEST,\\n payload: {\\n cdnBasePath: VideoFxConstants_1.CDN_BASE_PATH,\\n sdkVersioningParams: videoFxAssetParams,\\n },\\n });\\n // Wait until the engine finishes building\\n try {\\n yield this.buildEnginePromise.getPromise();\\n }\\n catch (error) {\\n this.logger.error(error.toString());\\n throw new Error(`Failed to instantiate the VideoFxEngine`);\\n }\\n });\\n }\\n /**\\n * Loads the Video Fx library to drive video post-processing, given the versioning\\n * of the SDK worker from the VideoFxAssetParams interface passed as a parameter.\\n * @param videoFxAssetParams\\n */\\n loadFxLib(videoFxAssetParams) {\\n return __awaiter(this, void 0, void 0, function* () {\\n // Determine engine worker path from versioning of the SDK worker\\n const fxLibPath = this.getPathFromVideoFxAssetParams(VideoFxConstants_1.CDN_BASE_PATH + VideoFxConstants_1.FXLIB_PATH, videoFxAssetParams);\\n const WORKER_FETCH_OPTIONS = {\\n method: 'GET',\\n mode: 'cors',\\n credentials: 'omit',\\n redirect: 'follow',\\n referrerPolicy: 'no-referrer',\\n };\\n try {\\n const res = yield fetch_1.fetchWithBehavior(fxLibPath, WORKER_FETCH_OPTIONS, {});\\n if (!res.ok) {\\n throw new Error('Fetch failed.');\\n }\\n const blobURL = window.URL.createObjectURL(yield res.blob());\\n yield new Promise((resolve, reject) => {\\n this.fxLibScript = document.createElement('script');\\n this.fxLibScript.setAttribute('src', blobURL);\\n this.fxLibScript.setAttribute('type', 'module');\\n this.fxLibScript.setAttribute('async', 'false');\\n this.fxLibScript.addEventListener('load', resolve);\\n this.fxLibScript.addEventListener('error', reject);\\n document.body.appendChild(this.fxLibScript);\\n });\\n }\\n catch (error) {\\n this.logger.error(error.toString());\\n throw new Error(`Failed to load the fxlib`);\\n }\\n });\\n }\\n /**\\n * Getter for the current [[VideoFxConfig]] maintained as an instance property of\\n * [[VideoFxProcessor]].\\n * @returns currentEffectConfig\\n */\\n getEffectConfig() {\\n return this.cloneConfigFrom(this.effectConfig);\\n }\\n /**\\n * Receives messages from the engine worker and then delegates\\n * the proper response to a different function.\\n * @param event notification to be received from the engine worker\\n */\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n engineWorkerReceiver(event) {\\n const msg = event.data;\\n switch (msg.msg) {\\n case VideoFxConstants_1.WORKER_MSG.BUILD_ENGINE_RESPONSE:\\n this.settleEngineBuildPromise(msg.payload);\\n break;\\n case VideoFxConstants_1.WORKER_MSG.PERFORM_SEGMENTATION_RESPONSE:\\n this.settleSegmentationPromise(msg.payload.output);\\n break;\\n case VideoFxConstants_1.WORKER_MSG.PERFORM_SEGMENTATION_SAB_RESPONSE:\\n this.settleSegmentationPromiseSAB();\\n break;\\n case VideoFxConstants_1.WORKER_MSG.DESTROY_ASSETS_RESPONSE:\\n this.destroyedAssetsPromise.resolvePromise();\\n break;\\n default:\\n this.logger.info(`VideoFx worker received unknown event msg: ${JSON.stringify(msg)}`);\\n break;\\n }\\n }\\n /**\\n * Handle the message returned from the VideoFX Engine worker to\\n * settle (resolve/reject) the promise associated with initializing the engine.\\n * @param buildStatus status of the final result of building the engine\\n */\\n settleEngineBuildPromise(buildStatus) {\\n // Resolve or reject the engineInstantiatedPromise depending on success\\n // of instatiation\\n if (buildStatus !== VideoFxConstants_1.SEGMENTATION_MODEL.LOAD_SUCCESS) {\\n this.buildEnginePromise.rejectPromise(new Error(`Failed to build VideoFxProcessor's engine`));\\n }\\n else {\\n this.logger.info(`Successfully built the VideoFxEngine`);\\n this.buildEnginePromise.resolvePromise();\\n }\\n }\\n /**\\n * Handle the received segmentation mask and then resolve/reject the promise to notify\\n * the main processing function to prepare for the next frame (using ImageData transfer).\\n * @param segmentationMask\\n */\\n settleSegmentationPromise(segmentationMask) {\\n // Resolve or reject the frameRequestPromise depending on the success of transforming\\n // the input image\\n if (segmentationMask) {\\n // Resolve segmentation promise with mask data\\n this.segmentationRequestPromise.resolveAndReplacePromise(segmentationMask);\\n }\\n else {\\n this.segmentationRequestPromise.rejectAndReplacePromise(new Error(`Failed to perform a segmentation on the input image`));\\n }\\n }\\n /**\\n * Handle the received segmentation mask and then resolve/reject the promise to notify\\n * the main processing function to prepare for the next frame (using shared array buffer).\\n */\\n settleSegmentationPromiseSAB() {\\n try {\\n // Resolve segmentation promise with mask data\\n const transformedImageData = new ImageData(new Uint8ClampedArray(this.sharedImageData), VideoFxConstants_1.SEGMENTATION_MODEL.WIDTH_IN_PIXELS, VideoFxConstants_1.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS);\\n this.segmentationRequestPromise.resolveAndReplacePromise(transformedImageData);\\n }\\n catch (_a) {\\n this.segmentationRequestPromise.rejectAndReplacePromise(new Error(`Failed to perform a segmentation with a shared ` + `array buffer on the input image`));\\n }\\n }\\n /**\\n * Function that will convert the VideoFxProcessor into a NoOp version of itself.\\n * Will only return input video stream and not use worker, engine, or segmentation\\n * model.\\n */\\n setToNoOpProcess() {\\n this.process = this.noOpProcess;\\n }\\n /**\\n * Detect client environment to determine if the [[VideoFxProcessor]] is supported.\\n * @param logger to record/report events of checking processor support\\n * @param attemptAssetLoad will also fetch and build all relevant components of the\\n * processor to ensure end to end feature is supported\\n * @returns a boolean promise that will resolve to true if supported and false if not\\n */\\n static isSupported(logger = new NoOpLogger_1.default(), attemptAssetLoad = true) {\\n return __awaiter(this, void 0, void 0, function* () {\\n // allCheckedPassed represents the state of support and we assume it is true until checkEnv tells us otherwise\\n let allCheckedPassed = true;\\n // checkEnv evaluates a boolean condition, badPromiseCondition, that when true would cause isSupported to fail.\\n // We also log a corresponding error message for each support check so a builder can see what is still needed\\n // in their environment.\\n const checkEnv = (badPromiseCondition, message) => {\\n if (badPromiseCondition) {\\n logger.info(message);\\n allCheckedPassed = false;\\n }\\n };\\n // Get context for operating environment\\n // could not figure out how to remove globalThis to test failure case\\n /* istanbul ignore next */\\n checkEnv(typeof globalThis === 'undefined', 'Browser does not have globalThis.');\\n // Check workers are supported\\n checkEnv(!support_1.supportsWorker(globalThis, logger), 'Browser does not support web workers.');\\n // Check wasm is supported\\n checkEnv(!support_1.supportsWASM(globalThis, logger), 'Browser does not support wasm.');\\n // Check webgl2 is supported\\n checkEnv(!document.createElement('canvas').getContext('webgl2'), 'Browser does not support webgl.');\\n // Check browser support\\n const browserBehavior = new DefaultBrowserBehavior_1.default();\\n checkEnv(!browserBehavior.isVideoFxSupportedBrowser(), 'Browser is unsupported for VideoFxProcessor');\\n // checkProcessor first checks if we can load all required assets and then tests VideoFxProcessor.\\n const checkProcessor = () => __awaiter(this, void 0, void 0, function* () {\\n if (attemptAssetLoad) {\\n try {\\n const testFxProcessor = new VideoFxProcessor(logger);\\n yield testFxProcessor.loadAssets();\\n yield testFxProcessor.destroy(); // destroy assets we just temp loaded\\n }\\n catch (_a) {\\n logger.info('Browser environment is unable to access the required external assets.');\\n return Promise.resolve(false);\\n }\\n }\\n return Promise.resolve(true);\\n });\\n return Promise.resolve(allCheckedPassed ? yield checkProcessor() : false);\\n });\\n }\\n /**\\n * Create a [[VideoFxProcessor]] that has loaded its necessary components, ready to instantly\\n * process a video stream with the effects specified in the passed [[VideoFxConfig]].\\n *\\n * ** NOTICE **\\n *\\n * Amazon Chime background blur 2.0 and background replacement 2.0\\n * Copyright 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n *\\n * By installing or using this package, you agree to the AWS Customer Agreement, AWS Service Terms, and AWS Privacy Notice.\\n * If you already have an AWS Customer Agreement, you agree that the terms of that agreement govern your download and use of this package.\\n * This package is provided as AWS Content and subject to the AWS Customer agreement and any other agreement with AWS governing your use of\\n * AWS services.\\n */\\n static create(logger, effectConfig, processingBudgetPerFrame = VideoFxConstants_1.RESOURCE_CONSTRAINTS.DEFAULT_PROCESSING_BUDGET_PER_FRAME) {\\n return __awaiter(this, void 0, void 0, function* () {\\n // Create the videoFxProcessor\\n const videoFxProcessor = new VideoFxProcessor(logger, processingBudgetPerFrame);\\n // Load the required assets and set desired effect config\\n try {\\n yield videoFxProcessor.loadAssets();\\n yield videoFxProcessor.setEffectConfig(effectConfig);\\n return videoFxProcessor;\\n }\\n catch (error) {\\n logger.error(error.toString());\\n // If we fail loading an essential asset from above, we overwrite our\\n // processor to process with no operations or effects\\n videoFxProcessor.setToNoOpProcess();\\n throw new Error(`VideoFxProcessor built with support for only NoOp processing`);\\n }\\n });\\n }\\n /** @internal */\\n setEventController(eventController) {\\n /*\\n if this is a first time we set the eventController, need to publish the current VideoFxConfig.\\n Otherwise, just set the eventController.\\n */\\n if (this.eventController) {\\n this.eventController = eventController;\\n }\\n else {\\n this.eventController = eventController;\\n this.publishVideoFxConfigEvent();\\n }\\n }\\n publishVideoFxConfigEvent() {\\n const mediaFXEventAttibutes = {\\n backgroundBlurEnabled: this.effectConfig.backgroundBlur.isEnabled.toString(),\\n backgroundBlurStrength: this.effectConfig.backgroundBlur.strength,\\n backgroundReplacementEnabled: this.effectConfig.backgroundReplacement.isEnabled.toString(),\\n backgroundFilterVersion: 2,\\n };\\n this.eventController.publishEvent('backgroundFilterConfigSelected', mediaFXEventAttibutes);\\n }\\n sameVideoFxConfig(firstConfig, secondConfig) {\\n return (firstConfig.backgroundBlur.isEnabled === secondConfig.backgroundBlur.isEnabled &&\\n firstConfig.backgroundBlur.strength === secondConfig.backgroundBlur.strength &&\\n firstConfig.backgroundReplacement.backgroundImageURL ===\\n secondConfig.backgroundReplacement.backgroundImageURL &&\\n firstConfig.backgroundReplacement.defaultColor ===\\n secondConfig.backgroundReplacement.defaultColor &&\\n firstConfig.backgroundReplacement.isEnabled === secondConfig.backgroundReplacement.isEnabled);\\n }\\n}\\nexports[\\\"default\\\"] = VideoFxProcessor;\\nVideoFxProcessor.isSharedArrayBufferSupported = typeof SharedArrayBuffer !== 'undefined';\\n//# sourceMappingURL=VideoFxProcessor.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxProcessor.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxSegmentationRateManager.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxSegmentationRateManager.js ***!\n \\******************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.VideoFxSegmentationRateManager = void 0;\\nconst VideoFxConstants_1 = __webpack_require__(/*! ./VideoFxConstants */ \\\"./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxConstants.js\\\");\\n/**\\n * [[VideoFxSegmentationRateManager]] Mechanism that can be used to maximize\\n * frequency of the segmentation operations while maintaining a target amount\\n * of resource utilization.\\n */\\nclass VideoFxSegmentationRateManager {\\n constructor(logger, targetSegmentationCycleTime) {\\n this.logger = logger;\\n // Max amount of compute we want to offer to action (converted from\\n // percentage to decimal)\\n this.targetSegmentationCyclePercentage = targetSegmentationCycleTime / 100;\\n // Variables for recording timing within cycle\\n this.frameCountOverSamplingPeriod = 0;\\n this.totalSegmentationDurationOverSamplingPeriod = 0;\\n this.samplingPeriodStartTime = performance.now();\\n this.framesPerSegmentation = VideoFxConstants_1.RESOURCE_CONSTRAINTS.SEGMENTATION_DEFAULT_FRAMES_PER_SEGMENTATION;\\n }\\n /**\\n * Invoked on every frame to increment the running count of frames being processed\\n */\\n submitFrame() {\\n this.frameCountOverSamplingPeriod++;\\n }\\n /**\\n * Invoked on every frame to coordinate when the segmentation should be\\n * executed so that we are maintaing a segmentation rate of once per every\\n * framesPerSegmentation frames.\\n * @returns boolean for whether or not we want to perform an action on the current\\n * frame\\n */\\n shouldApplySegmentation() {\\n return this.frameCountOverSamplingPeriod % this.framesPerSegmentation === 0;\\n }\\n /**\\n * Starts the timing of the current action\\n */\\n startSegmentation() {\\n this.frameSegmentationStartTime = performance.now();\\n }\\n /**\\n * Invoked after the action to notify the compute manager. Afterwards the\\n * manager will make adjustments to action rates to maintain a value below compute\\n * ceiling\\n */\\n completeSegmentation() {\\n this.totalSegmentationDurationOverSamplingPeriod +=\\n performance.now() - this.frameSegmentationStartTime;\\n // Check if the sampling period has ended. If so, check if frames per\\n // segmentation needs to be updated\\n if (this.frameCountOverSamplingPeriod >=\\n VideoFxConstants_1.RESOURCE_CONSTRAINTS.SEGMENTATION_SAMPLING_PERIOD_FRAME_COUNT) {\\n this.adjustFramesPerSegmentation(this.totalSegmentationDurationOverSamplingPeriod /\\n (performance.now() - this.samplingPeriodStartTime));\\n }\\n }\\n /**\\n * Increase or decrease the frames per segmentation so that we remain as performant as possible,\\n * but also below the targetSegmentationCycleTime\\n * @param currentSegmentationCycleTime Current ratio of frame processing allocated to a specific action\\n */\\n adjustFramesPerSegmentation(currentSegmentationCycleTime) {\\n // Compute is too high -> increase action period (slow down)\\n if (currentSegmentationCycleTime > this.targetSegmentationCyclePercentage) {\\n this.framesPerSegmentation++;\\n this.logger.info(`Segmentation cycle percentage above the configured maximal value. ` +\\n `Decreasing segmentation rate to 1 segmentation per ` +\\n `${this.framesPerSegmentation} frames`);\\n // Compute is too low -> decrease action period (speed up)\\n }\\n else if (this.framesPerSegmentation > 1 &&\\n currentSegmentationCycleTime < this.targetSegmentationCyclePercentage) {\\n this.framesPerSegmentation--;\\n this.logger.info(`Segmentation cycle percentage below the configured maximal value. ` +\\n `Increasing segmentation rate to 1 segmentation per ` +\\n `${this.framesPerSegmentation} frames`);\\n }\\n // Reset for next compute sample/cycle\\n this.totalSegmentationDurationOverSamplingPeriod = 0;\\n this.frameCountOverSamplingPeriod = 0;\\n this.samplingPeriodStartTime = performance.now();\\n }\\n}\\nexports.VideoFxSegmentationRateManager = VideoFxSegmentationRateManager;\\n//# sourceMappingURL=VideoFxSegmentationRateManager.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videofx/VideoFxSegmentationRateManager.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videosource/VideoSource.js\":\n/*!***************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videosource/VideoSource.js ***!\n \\***************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[VideoSource]] contains the information of a video source.\\n */\\nclass VideoSource {\\n}\\nexports[\\\"default\\\"] = VideoSource;\\n//# sourceMappingURL=VideoSource.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videosource/VideoSource.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videostreamidset/DefaultVideoStreamIdSet.js\":\n/*!********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videostreamidset/DefaultVideoStreamIdSet.js ***!\n \\********************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[DefaultVideoStreamIdSet]] implements [[VideoStreamIdSet]].\\n */\\nclass DefaultVideoStreamIdSet {\\n constructor(ids) {\\n this.ids = new Set(ids);\\n }\\n add(streamId) {\\n this.ids.add(streamId);\\n }\\n array() {\\n const values = Array.from(this.ids.values());\\n return values.sort((a, b) => a - b);\\n }\\n contain(streamId) {\\n return this.ids.has(streamId);\\n }\\n forEach(callbackFn) {\\n this.ids.forEach(callbackFn);\\n }\\n empty() {\\n return this.ids.size === 0;\\n }\\n size() {\\n return this.ids.size;\\n }\\n equal(other) {\\n if (!other) {\\n return this.ids.size === 0;\\n }\\n const x = this.array();\\n const y = other.array();\\n if (x.length !== y.length) {\\n return false;\\n }\\n for (let i = 0; i < x.length; i++) {\\n if (x[i] !== y[i]) {\\n return false;\\n }\\n }\\n return true;\\n }\\n clone() {\\n return new DefaultVideoStreamIdSet(this.array());\\n }\\n remove(streamId) {\\n this.ids.delete(streamId);\\n }\\n toJSON() {\\n return this.array();\\n }\\n truncate(length) {\\n const x = this.array();\\n return new DefaultVideoStreamIdSet(x.splice(0, length));\\n }\\n}\\nexports[\\\"default\\\"] = DefaultVideoStreamIdSet;\\n//# sourceMappingURL=DefaultVideoStreamIdSet.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videostreamidset/DefaultVideoStreamIdSet.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videostreamindex/DefaultVideoStreamIndex.js\":\n/*!********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videostreamindex/DefaultVideoStreamIndex.js ***!\n \\********************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst DefaultVideoStreamIdSet_1 = __webpack_require__(/*! ../videostreamidset/DefaultVideoStreamIdSet */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamidset/DefaultVideoStreamIdSet.js\\\");\\nconst VideoStreamDescription_1 = __webpack_require__(/*! ./VideoStreamDescription */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamindex/VideoStreamDescription.js\\\");\\n/**\\n * [[DefaultVideoStreamIndex]] implements [[VideoStreamIndex]] to facilitate video stream subscription\\n * and includes query functions for stream id and attendee id.\\n */\\nclass DefaultVideoStreamIndex {\\n constructor(logger) {\\n this.logger = logger;\\n this.currentIndex = null;\\n this.indexForSubscribe = null;\\n this.currentSubscribeAck = null;\\n // These are based on the index at the time of the last Subscribe Ack\\n this.subscribeTrackToStreamMap = null;\\n this.subscribeStreamToAttendeeMap = null;\\n this.subscribeStreamToExternalUserIdMap = null;\\n this.subscribeSsrcToStreamMap = null;\\n this.subscribeSsrcToGroupMap = null;\\n // These are based on the most up to date index\\n this.streamToAttendeeMap = null;\\n this.groupIdToAttendeeMap = null;\\n this.streamToExternalUserIdMap = null;\\n this.videoStreamDescription = new VideoStreamDescription_1.default();\\n this.videoStreamDescription.trackLabel = 'AmazonChimeExpressVideo';\\n this.videoStreamDescription.streamId = 2;\\n this.videoStreamDescription.groupId = 2;\\n }\\n localStreamDescriptions() {\\n // localStreamDescriptions are used to construct IndexFrame\\n // old behavior for single video is to have streamId and groupId trackLabel fixed as the follows\\n return [this.videoStreamDescription.clone()];\\n }\\n convertBpsToKbps(avgBitrateBps) {\\n if (avgBitrateBps > 0 && avgBitrateBps < 1000) {\\n return 1;\\n }\\n else {\\n return Math.trunc(avgBitrateBps / 1000);\\n }\\n }\\n remoteStreamDescriptions() {\\n if (!this.currentIndex || !this.currentIndex.sources) {\\n return [];\\n }\\n const streamInfos = [];\\n this.currentIndex.sources.forEach(source => {\\n const description = new VideoStreamDescription_1.default();\\n description.attendeeId = source.attendeeId;\\n description.groupId = source.groupId;\\n description.streamId = source.streamId;\\n description.maxBitrateKbps = source.maxBitrateKbps;\\n description.avgBitrateKbps = this.convertBpsToKbps(source.avgBitrateBps);\\n streamInfos.push(description);\\n });\\n return streamInfos;\\n }\\n integrateUplinkPolicyDecision(param) {\\n if (!!param && param.length) {\\n const encodingParam = param[0];\\n this.videoStreamDescription.maxBitrateKbps = encodingParam.maxBitrate / 1000;\\n this.videoStreamDescription.maxFrameRate = encodingParam.maxFramerate;\\n }\\n }\\n integrateIndexFrame(indexFrame) {\\n this.currentIndex = indexFrame;\\n if (!indexFrame) {\\n return;\\n }\\n // In the Amazon Chime SDKs, we assume a one to one mapping of group ID to profile ID when creating\\n // video tiles (multiple video sources are supported through applying a `Modality` to a given profile/session token)\\n //\\n // We enforce this here to mitigate any possible duplicate group IDs left from a reconnection where the previous\\n // signal channel hasn't been timed out yet. To guarantee we receive the latest stream we use the highest group ID\\n // since they are monotonically increasing.\\n const attendeeIdToMainGroupIdMap = new Map();\\n // Improve performance by not filtering sources unless\\n // we know the list will actually change\\n let attendeeWithMultipleGroupIdsExists = false;\\n for (const source of indexFrame.sources) {\\n if (!attendeeIdToMainGroupIdMap.has(source.attendeeId)) {\\n // We haven't see this attendee ID so just keep track of it\\n attendeeIdToMainGroupIdMap.set(source.attendeeId, source.groupId);\\n continue;\\n }\\n // Otherwise see if we should use the group ID corresponding to this source (we prefer the highest for each attendee)\\n const currentGroupId = attendeeIdToMainGroupIdMap.get(source.attendeeId);\\n if (currentGroupId < source.groupId) {\\n this.logger.warn(`Old group ID ${currentGroupId} found for attendee ID ${source.attendeeId}, replacing with newer group ID ${source.groupId}`);\\n attendeeIdToMainGroupIdMap.set(source.attendeeId, source.groupId);\\n }\\n attendeeWithMultipleGroupIdsExists = true;\\n }\\n if (attendeeWithMultipleGroupIdsExists) {\\n // Only use the sources corresponding to the main group IDs for the given attendee ID\\n this.currentIndex.sources = this.currentIndex.sources.filter(source => attendeeIdToMainGroupIdMap.get(source.attendeeId) === source.groupId);\\n }\\n // Null out cached maps, these will be recreated on demand\\n this.streamToAttendeeMap = null;\\n this.groupIdToAttendeeMap = null;\\n this.streamToExternalUserIdMap = null;\\n }\\n subscribeFrameSent() {\\n // This is called just as a Subscribe is being sent. Save corresponding Index\\n this.indexForSubscribe = this.currentIndex;\\n }\\n integrateSubscribeAckFrame(subscribeAck) {\\n this.currentSubscribeAck = subscribeAck;\\n // These are valid until the next Subscribe Ack even if the index is updated\\n this.subscribeTrackToStreamMap = this.buildTrackToStreamMap(this.currentSubscribeAck);\\n this.subscribeSsrcToStreamMap = this.buildSSRCToStreamMap(this.currentSubscribeAck);\\n this.subscribeSsrcToGroupMap = this.buildSSRCToGroupMap(this.currentSubscribeAck);\\n this.subscribeStreamToAttendeeMap = this.buildStreamToAttendeeMap(this.indexForSubscribe);\\n this.subscribeStreamToExternalUserIdMap = this.buildStreamExternalUserIdMap(this.indexForSubscribe);\\n }\\n integrateBitratesFrame(bitrates) {\\n if (this.currentIndex) {\\n for (const bitrate of bitrates.bitrates) {\\n const source = this.currentIndex.sources.find(source => source.streamId === bitrate.sourceStreamId);\\n if (source !== undefined) {\\n source.avgBitrateBps = bitrate.avgBitrateBps;\\n }\\n }\\n }\\n }\\n allStreams() {\\n const set = new DefaultVideoStreamIdSet_1.default();\\n if (this.currentIndex) {\\n for (const source of this.currentIndex.sources) {\\n set.add(source.streamId);\\n }\\n }\\n return set;\\n }\\n allVideoSendingSourcesExcludingSelf(selfAttendeeId) {\\n const videoSources = [];\\n const attendeeSet = new Set();\\n if (this.currentIndex) {\\n if (this.currentIndex.sources && this.currentIndex.sources.length) {\\n for (const stream of this.currentIndex.sources) {\\n const { attendeeId, externalUserId, mediaType } = stream;\\n if (attendeeId !== selfAttendeeId && mediaType === SignalingProtocol_js_1.SdkStreamMediaType.VIDEO) {\\n if (!attendeeSet.has(attendeeId)) {\\n videoSources.push({ attendee: { attendeeId, externalUserId } });\\n attendeeSet.add(attendeeId);\\n }\\n }\\n }\\n }\\n }\\n return videoSources;\\n }\\n streamSelectionUnderBandwidthConstraint(selfAttendeeId, largeTileAttendeeIds, smallTileAttendeeIds, bandwidthKbps) {\\n const newAttendees = new Set();\\n if (this.currentIndex) {\\n for (const stream of this.currentIndex.sources) {\\n if (stream.attendeeId === selfAttendeeId || stream.mediaType !== SignalingProtocol_js_1.SdkStreamMediaType.VIDEO) {\\n continue;\\n }\\n if (!largeTileAttendeeIds.has(stream.attendeeId) &&\\n !smallTileAttendeeIds.has(stream.attendeeId)) {\\n newAttendees.add(stream.attendeeId);\\n }\\n }\\n }\\n const attendeeToStreamDescriptorMap = this.buildAttendeeToSortedStreamDescriptorMapExcludingSelf(selfAttendeeId);\\n const selectionMap = new Map();\\n let usage = 0;\\n attendeeToStreamDescriptorMap.forEach((streams, attendeeId) => {\\n selectionMap.set(attendeeId, streams[0]);\\n usage += streams[0].maxBitrateKbps;\\n });\\n usage = this.trySelectHighBitrateForAttendees(attendeeToStreamDescriptorMap, largeTileAttendeeIds, usage, bandwidthKbps, selectionMap);\\n this.trySelectHighBitrateForAttendees(attendeeToStreamDescriptorMap, newAttendees, usage, bandwidthKbps, selectionMap);\\n const streamSelectionSet = new DefaultVideoStreamIdSet_1.default();\\n for (const source of selectionMap.values()) {\\n streamSelectionSet.add(source.streamId);\\n }\\n return streamSelectionSet;\\n }\\n highestQualityStreamFromEachGroupExcludingSelf(selfAttendeeId) {\\n const set = new DefaultVideoStreamIdSet_1.default();\\n if (this.currentIndex) {\\n const maxes = new Map();\\n for (const source of this.currentIndex.sources) {\\n if (source.attendeeId === selfAttendeeId || source.mediaType !== SignalingProtocol_js_1.SdkStreamMediaType.VIDEO) {\\n continue;\\n }\\n if (!maxes.has(source.groupId) ||\\n source.maxBitrateKbps > maxes.get(source.groupId).maxBitrateKbps) {\\n maxes.set(source.groupId, source);\\n }\\n }\\n for (const source of maxes.values()) {\\n set.add(source.streamId);\\n }\\n }\\n return set;\\n }\\n numberOfVideoPublishingParticipantsExcludingSelf(selfAttendeeId) {\\n return this.highestQualityStreamFromEachGroupExcludingSelf(selfAttendeeId).array().length;\\n }\\n numberOfParticipants() {\\n if (!!this.currentIndex.numParticipants) {\\n return this.currentIndex.numParticipants;\\n }\\n return -1;\\n }\\n attendeeIdForTrack(trackId) {\\n const streamId = this.streamIdForTrack(trackId);\\n if (streamId === undefined || !this.subscribeStreamToAttendeeMap) {\\n this.logger.warn(`no attendee found for track ${trackId}`);\\n return '';\\n }\\n const attendeeId = this.subscribeStreamToAttendeeMap.get(streamId);\\n if (!attendeeId) {\\n this.logger.info(`track ${trackId} (stream ${streamId}) does not correspond to a known attendee`);\\n return '';\\n }\\n return attendeeId;\\n }\\n externalUserIdForTrack(trackId) {\\n const streamId = this.streamIdForTrack(trackId);\\n if (streamId === undefined || !this.subscribeStreamToExternalUserIdMap) {\\n this.logger.warn(`no external user id found for track ${trackId}`);\\n return '';\\n }\\n const externalUserId = this.subscribeStreamToExternalUserIdMap.get(streamId);\\n if (!externalUserId) {\\n this.logger.info(`track ${trackId} (stream ${streamId}) does not correspond to a known externalUserId`);\\n return '';\\n }\\n return externalUserId;\\n }\\n attendeeIdForStreamId(streamId) {\\n if (!this.streamToAttendeeMap) {\\n if (this.currentIndex) {\\n this.streamToAttendeeMap = this.buildStreamToAttendeeMap(this.currentIndex);\\n }\\n else {\\n return '';\\n }\\n }\\n const attendeeId = this.streamToAttendeeMap.get(streamId);\\n if (!attendeeId) {\\n this.logger.info(`stream ID ${streamId} does not correspond to a known attendee`);\\n return '';\\n }\\n return attendeeId;\\n }\\n attendeeIdForGroupId(groupId) {\\n if (!this.groupIdToAttendeeMap) {\\n if (this.currentIndex) {\\n this.groupIdToAttendeeMap = this.buildGroupIdToAttendeeMap(this.currentIndex);\\n }\\n else {\\n return '';\\n }\\n }\\n const attendeeId = this.groupIdToAttendeeMap.get(groupId);\\n if (!attendeeId) {\\n this.logger.info(`group ID ${groupId} does not correspond to a known attendee`);\\n return '';\\n }\\n return attendeeId;\\n }\\n groupIdForStreamId(streamId) {\\n if (!this.currentIndex || !this.currentIndex.sources) {\\n return undefined;\\n }\\n for (const source of this.currentIndex.sources) {\\n if (source.streamId === streamId) {\\n return source.groupId;\\n }\\n }\\n // If wasn't found in current index, then it could be in index used in last subscribe\\n if (!!this.indexForSubscribe) {\\n for (const source of this.indexForSubscribe.sources) {\\n if (source.streamId === streamId) {\\n return source.groupId;\\n }\\n }\\n }\\n return undefined;\\n }\\n StreamIdsInSameGroup(streamId1, streamId2) {\\n if (this.groupIdForStreamId(streamId1) === this.groupIdForStreamId(streamId2)) {\\n return true;\\n }\\n return false;\\n }\\n streamIdForTrack(trackId) {\\n if (!this.subscribeTrackToStreamMap) {\\n return undefined;\\n }\\n return this.subscribeTrackToStreamMap.get(trackId);\\n }\\n streamIdForSSRC(ssrcId) {\\n if (!this.subscribeSsrcToStreamMap) {\\n return undefined;\\n }\\n return this.subscribeSsrcToStreamMap.get(ssrcId);\\n }\\n overrideStreamIdMappings(previous, current) {\\n if (this.subscribeTrackToStreamMap) {\\n for (const [track, streamId] of this.subscribeTrackToStreamMap.entries()) {\\n if (previous === streamId) {\\n this.subscribeTrackToStreamMap.set(track, current);\\n break;\\n }\\n }\\n }\\n if (this.subscribeSsrcToStreamMap) {\\n for (const [ssrc, streamId] of this.subscribeSsrcToStreamMap.entries()) {\\n if (previous === streamId) {\\n this.subscribeSsrcToStreamMap.set(ssrc, current);\\n break;\\n }\\n }\\n }\\n }\\n groupIdForSSRC(ssrcId) {\\n if (!this.subscribeSsrcToGroupMap) {\\n return undefined;\\n }\\n return this.subscribeSsrcToGroupMap.get(ssrcId);\\n }\\n streamsPausedAtSource() {\\n const paused = new DefaultVideoStreamIdSet_1.default();\\n if (this.currentIndex) {\\n for (const streamId of this.currentIndex.pausedAtSourceIds) {\\n paused.add(streamId);\\n }\\n }\\n return paused;\\n }\\n buildTrackToStreamMap(subscribeAck) {\\n const map = new Map();\\n this.logger.debug(() => `trackMap ${JSON.stringify(subscribeAck.tracks)}`);\\n for (const trackMapping of subscribeAck.tracks) {\\n if (trackMapping.trackLabel.length > 0 && trackMapping.streamId > 0) {\\n map.set(trackMapping.trackLabel, trackMapping.streamId);\\n }\\n }\\n return map;\\n }\\n buildSSRCToStreamMap(subscribeAck) {\\n const map = new Map();\\n this.logger.debug(() => `ssrcMap ${JSON.stringify(subscribeAck.tracks)}`);\\n for (const trackMapping of subscribeAck.tracks) {\\n if (trackMapping.trackLabel.length > 0 && trackMapping.streamId > 0) {\\n map.set(trackMapping.ssrc, trackMapping.streamId);\\n }\\n }\\n return map;\\n }\\n buildSSRCToGroupMap(subscribeAck) {\\n const map = new Map();\\n for (const trackMapping of subscribeAck.tracks) {\\n if (trackMapping.trackLabel.length > 0 && trackMapping.streamId > 0) {\\n map.set(trackMapping.ssrc, this.groupIdForStreamId(trackMapping.streamId));\\n }\\n }\\n return map;\\n }\\n buildStreamToAttendeeMap(indexFrame) {\\n const map = new Map();\\n if (indexFrame) {\\n for (const source of indexFrame.sources) {\\n map.set(source.streamId, source.attendeeId);\\n }\\n }\\n return map;\\n }\\n buildGroupIdToAttendeeMap(indexFrame) {\\n const map = new Map();\\n for (const source of indexFrame.sources) {\\n map.set(source.groupId, source.attendeeId);\\n }\\n return map;\\n }\\n buildStreamExternalUserIdMap(indexFrame) {\\n const map = new Map();\\n if (indexFrame) {\\n for (const source of indexFrame.sources) {\\n if (!!source.externalUserId) {\\n map.set(source.streamId, source.externalUserId);\\n }\\n }\\n }\\n return map;\\n }\\n trySelectHighBitrateForAttendees(attendeeToStreamDescriptorMap, highAttendees, currentUsage, bandwidthKbps, currentSelectionRef) {\\n for (const attendeeId of highAttendees) {\\n if (currentUsage >= bandwidthKbps) {\\n break;\\n }\\n if (attendeeToStreamDescriptorMap.has(attendeeId)) {\\n const streams = attendeeToStreamDescriptorMap.get(attendeeId);\\n for (const l of streams.reverse()) {\\n if (currentUsage - currentSelectionRef.get(attendeeId).maxBitrateKbps + l.maxBitrateKbps <\\n bandwidthKbps) {\\n currentUsage =\\n currentUsage - currentSelectionRef.get(attendeeId).maxBitrateKbps + l.maxBitrateKbps;\\n currentSelectionRef.set(attendeeId, l);\\n break;\\n }\\n }\\n }\\n }\\n return currentUsage;\\n }\\n buildAttendeeToSortedStreamDescriptorMapExcludingSelf(selfAttendeeId) {\\n const attendeeToStreamDescriptorMap = new Map();\\n if (this.currentIndex) {\\n for (const source of this.currentIndex.sources) {\\n if (source.attendeeId === selfAttendeeId || source.mediaType !== SignalingProtocol_js_1.SdkStreamMediaType.VIDEO) {\\n continue;\\n }\\n if (attendeeToStreamDescriptorMap.has(source.attendeeId)) {\\n attendeeToStreamDescriptorMap.get(source.attendeeId).push(source);\\n }\\n else {\\n attendeeToStreamDescriptorMap.set(source.attendeeId, [source]);\\n }\\n }\\n }\\n attendeeToStreamDescriptorMap.forEach((streams, _attendeeId) => {\\n streams.sort((stream1, stream2) => {\\n if (stream1.maxBitrateKbps > stream2.maxBitrateKbps) {\\n return 1;\\n }\\n else if (stream1.maxBitrateKbps < stream2.maxBitrateKbps) {\\n return -1;\\n }\\n else {\\n return 0;\\n }\\n });\\n });\\n return attendeeToStreamDescriptorMap;\\n }\\n}\\nexports[\\\"default\\\"] = DefaultVideoStreamIndex;\\n//# sourceMappingURL=DefaultVideoStreamIndex.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videostreamindex/DefaultVideoStreamIndex.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videostreamindex/SimulcastVideoStreamIndex.js\":\n/*!**********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videostreamindex/SimulcastVideoStreamIndex.js ***!\n \\**********************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nconst DefaultVideoStreamIndex_1 = __webpack_require__(/*! ./DefaultVideoStreamIndex */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamindex/DefaultVideoStreamIndex.js\\\");\\nconst VideoStreamDescription_1 = __webpack_require__(/*! ./VideoStreamDescription */ \\\"./node_modules/amazon-chime-sdk-js/build/videostreamindex/VideoStreamDescription.js\\\");\\n/**\\n * [[SimulcastTransceiverController]] implements [[VideoStreamIndex]] to facilitate video stream\\n * subscription and includes query functions for stream id and attendee id.\\n */\\nclass SimulcastVideoStreamIndex extends DefaultVideoStreamIndex_1.default {\\n constructor(logger) {\\n super(logger);\\n this.streamIdToBitrateKbpsMap = new Map();\\n this._localStreamInfos = [];\\n this._lastBitRateMsgTime = Date.now();\\n }\\n localStreamDescriptions() {\\n const clonedDescriptions = [];\\n this._localStreamInfos.forEach(desc => {\\n clonedDescriptions.push(desc.clone());\\n });\\n return clonedDescriptions;\\n }\\n integrateUplinkPolicyDecision(encodingParams) {\\n // Reuse local streams (that might already have stream IDs allocated) until\\n // there are no more and then add as many new local streams as needed\\n let hasStreamsToReuse = true;\\n let localStreamIndex = 0;\\n for (let i = 0; i < encodingParams.length; i++) {\\n const targetMaxBitrateKbps = encodingParams[i].maxBitrate / 1000;\\n const targetMaxFrameRate = encodingParams[i].maxFramerate;\\n if (!hasStreamsToReuse || i === this._localStreamInfos.length) {\\n hasStreamsToReuse = false;\\n const newInfo = new VideoStreamDescription_1.default();\\n newInfo.maxBitrateKbps = targetMaxBitrateKbps;\\n newInfo.maxFrameRate = targetMaxFrameRate;\\n newInfo.disabledByUplinkPolicy = targetMaxBitrateKbps === 0 ? true : false;\\n if (targetMaxBitrateKbps !== 0) {\\n newInfo.timeEnabled = Date.now();\\n }\\n this._localStreamInfos.push(newInfo);\\n localStreamIndex++;\\n continue;\\n }\\n if (this._localStreamInfos[localStreamIndex].maxBitrateKbps === 0 &&\\n targetMaxBitrateKbps > 0) {\\n this._localStreamInfos[localStreamIndex].timeEnabled = Date.now();\\n }\\n this._localStreamInfos[localStreamIndex].maxBitrateKbps = targetMaxBitrateKbps;\\n this._localStreamInfos[localStreamIndex].maxFrameRate = targetMaxFrameRate;\\n this._localStreamInfos[localStreamIndex].disabledByUplinkPolicy =\\n targetMaxBitrateKbps === 0 ? true : false;\\n if (this._localStreamInfos[localStreamIndex].disabledByUplinkPolicy === true) {\\n this._localStreamInfos[localStreamIndex].disabledByWebRTC = false;\\n }\\n localStreamIndex++;\\n }\\n if (hasStreamsToReuse) {\\n // splice is zero-based, remove stream starting from localStreamIndex\\n this._localStreamInfos.splice(localStreamIndex);\\n }\\n }\\n integrateBitratesFrame(bitrateFrame) {\\n super.integrateBitratesFrame(bitrateFrame);\\n const stillSending = new Set();\\n const existingSet = new Set(this.streamIdToBitrateKbpsMap.keys());\\n for (const bitrateMsg of bitrateFrame.bitrates) {\\n stillSending.add(bitrateMsg.sourceStreamId);\\n this.streamIdToBitrateKbpsMap.set(bitrateMsg.sourceStreamId, this.convertBpsToKbps(bitrateMsg.avgBitrateBps));\\n }\\n for (const id of existingSet) {\\n if (!stillSending.has(id)) {\\n const avgBitrateBps = this.streamIdToBitrateKbpsMap.get(id);\\n if (avgBitrateBps === SimulcastVideoStreamIndex.UNSEEN_STREAM_BITRATE) {\\n this.streamIdToBitrateKbpsMap.set(id, SimulcastVideoStreamIndex.RECENTLY_INACTIVE_STREAM_BITRATE);\\n }\\n else {\\n this.streamIdToBitrateKbpsMap.set(id, SimulcastVideoStreamIndex.NOT_SENDING_STREAM_BITRATE);\\n }\\n }\\n }\\n for (let i = 0; i < this._localStreamInfos.length; i++) {\\n this._localStreamInfos[i].disabledByWebRTC = false;\\n const streamId = this._localStreamInfos[i].streamId;\\n if (this._localStreamInfos[i].disabledByUplinkPolicy) {\\n continue;\\n }\\n if (this.streamIdToBitrateKbpsMap.has(streamId)) {\\n const avgBitrateKbps = this.streamIdToBitrateKbpsMap.get(streamId);\\n if (avgBitrateKbps === SimulcastVideoStreamIndex.NOT_SENDING_STREAM_BITRATE &&\\n this._lastBitRateMsgTime - this._localStreamInfos[i].timeEnabled >\\n SimulcastVideoStreamIndex.BitratesMsgFrequencyMs) {\\n this._localStreamInfos[i].disabledByWebRTC = true;\\n }\\n }\\n else {\\n // Do not flag as disabled if it was recently enabled\\n if (this._lastBitRateMsgTime - this._localStreamInfos[i].timeEnabled >\\n SimulcastVideoStreamIndex.BitratesMsgFrequencyMs) {\\n this._localStreamInfos[i].disabledByWebRTC = true;\\n }\\n }\\n }\\n this._lastBitRateMsgTime = Date.now();\\n this.logLocalStreamDescriptions();\\n }\\n logLocalStreamDescriptions() {\\n let msg = '';\\n for (const desc of this._localStreamInfos) {\\n msg += `streamId=${desc.streamId} maxBitrate=${desc.maxBitrateKbps} disabledByWebRTC=${desc.disabledByWebRTC} disabledByUplink=${desc.disabledByUplinkPolicy}\\\\n`;\\n }\\n this.logger.debug(() => {\\n return msg;\\n });\\n }\\n integrateIndexFrame(indexFrame) {\\n super.integrateIndexFrame(indexFrame);\\n const newIndexStreamIdSet = new Set();\\n const existingSet = new Set(this.streamIdToBitrateKbpsMap.keys());\\n for (const stream of this.currentIndex.sources) {\\n if (stream.mediaType !== SignalingProtocol_js_1.SdkStreamMediaType.VIDEO) {\\n continue;\\n }\\n newIndexStreamIdSet.add(stream.streamId);\\n if (!this.streamIdToBitrateKbpsMap.has(stream.streamId)) {\\n this.streamIdToBitrateKbpsMap.set(stream.streamId, SimulcastVideoStreamIndex.UNSEEN_STREAM_BITRATE);\\n }\\n }\\n for (const id of existingSet) {\\n if (!newIndexStreamIdSet.has(id)) {\\n this.streamIdToBitrateKbpsMap.delete(id);\\n }\\n }\\n }\\n integrateSubscribeAckFrame(subscribeAck) {\\n super.integrateSubscribeAckFrame(subscribeAck);\\n if (!subscribeAck.allocations || subscribeAck.allocations === undefined) {\\n return;\\n }\\n let localStreamStartIndex = 0;\\n for (const allocation of subscribeAck.allocations) {\\n // track label is what we offered to the server\\n if (this._localStreamInfos.length < localStreamStartIndex + 1) {\\n this.logger.info('simulcast: allocation has more than number of local streams');\\n break;\\n }\\n this._localStreamInfos[localStreamStartIndex].groupId = allocation.groupId;\\n this._localStreamInfos[localStreamStartIndex].streamId = allocation.streamId;\\n if (!this.streamIdToBitrateKbpsMap.has(allocation.streamId)) {\\n this.streamIdToBitrateKbpsMap.set(allocation.streamId, SimulcastVideoStreamIndex.UNSEEN_STREAM_BITRATE);\\n }\\n localStreamStartIndex++;\\n }\\n }\\n}\\nexports[\\\"default\\\"] = SimulcastVideoStreamIndex;\\n// First time when the bitrate of a stream id is missing from bitrate message, mark it as UNSEEN\\nSimulcastVideoStreamIndex.UNSEEN_STREAM_BITRATE = -2;\\n// Second time when the bitrate is missing, mark it as recently inactive\\nSimulcastVideoStreamIndex.RECENTLY_INACTIVE_STREAM_BITRATE = -1;\\n// Third time when bitrate is missing, mark it as not sending\\nSimulcastVideoStreamIndex.NOT_SENDING_STREAM_BITRATE = 0;\\nSimulcastVideoStreamIndex.BitratesMsgFrequencyMs = 4000;\\n//# sourceMappingURL=SimulcastVideoStreamIndex.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videostreamindex/SimulcastVideoStreamIndex.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videostreamindex/VideoStreamDescription.js\":\n/*!*******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videostreamindex/VideoStreamDescription.js ***!\n \\*******************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SignalingProtocol_js_1 = __webpack_require__(/*! ../signalingprotocol/SignalingProtocol.js */ \\\"./node_modules/amazon-chime-sdk-js/build/signalingprotocol/SignalingProtocol.js\\\");\\nclass VideoStreamDescription {\\n constructor(attendeeId, groupId, streamId, maxBitrateKbps, avgBitrateKbps) {\\n this.attendeeId = '';\\n this.groupId = 0;\\n this.streamId = 0;\\n this.ssrc = 0;\\n this.trackLabel = '';\\n this.maxBitrateKbps = 0;\\n // average bitrate is updated every 2 seconds via bitrates messages\\n this.avgBitrateKbps = 0;\\n this.maxFrameRate = 0;\\n this.timeEnabled = 0;\\n this.disabledByWebRTC = false;\\n this.disabledByUplinkPolicy = false;\\n this.attendeeId = attendeeId;\\n this.groupId = groupId;\\n this.streamId = streamId;\\n this.maxBitrateKbps = maxBitrateKbps;\\n this.avgBitrateKbps = avgBitrateKbps;\\n }\\n clone() {\\n const newInfo = new VideoStreamDescription();\\n newInfo.attendeeId = this.attendeeId;\\n newInfo.groupId = this.groupId;\\n newInfo.streamId = this.streamId;\\n newInfo.ssrc = this.ssrc;\\n newInfo.trackLabel = this.trackLabel;\\n newInfo.maxBitrateKbps = this.maxBitrateKbps;\\n newInfo.avgBitrateKbps = this.avgBitrateKbps;\\n newInfo.maxFrameRate = this.maxFrameRate;\\n newInfo.timeEnabled = this.timeEnabled;\\n newInfo.disabledByWebRTC = this.disabledByWebRTC;\\n newInfo.disabledByUplinkPolicy = this.disabledByUplinkPolicy;\\n return newInfo;\\n }\\n toStreamDescriptor() {\\n const descriptor = SignalingProtocol_js_1.SdkStreamDescriptor.create();\\n descriptor.mediaType = SignalingProtocol_js_1.SdkStreamMediaType.VIDEO;\\n descriptor.trackLabel = this.trackLabel;\\n descriptor.attendeeId = this.attendeeId;\\n descriptor.streamId = this.streamId;\\n descriptor.groupId = this.groupId;\\n descriptor.framerate = this.maxFrameRate;\\n descriptor.maxBitrateKbps =\\n this.disabledByUplinkPolicy || this.disabledByWebRTC ? 0 : this.maxBitrateKbps;\\n descriptor.avgBitrateBps = this.avgBitrateKbps;\\n return descriptor;\\n }\\n}\\nexports[\\\"default\\\"] = VideoStreamDescription;\\n//# sourceMappingURL=VideoStreamDescription.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videostreamindex/VideoStreamDescription.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videotile/DefaultVideoTile.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videotile/DefaultVideoTile.js ***!\n \\******************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\nconst DefaultModality_1 = __webpack_require__(/*! ../modality/DefaultModality */ \\\"./node_modules/amazon-chime-sdk-js/build/modality/DefaultModality.js\\\");\\nconst VideoTileState_1 = __webpack_require__(/*! ./VideoTileState */ \\\"./node_modules/amazon-chime-sdk-js/build/videotile/VideoTileState.js\\\");\\nclass DefaultVideoTile {\\n constructor(tileId, localTile, tileController, devicePixelRatioMonitor) {\\n this.tileController = tileController;\\n this.devicePixelRatioMonitor = devicePixelRatioMonitor;\\n this.tileState = new VideoTileState_1.default();\\n this.tileState.tileId = tileId;\\n this.tileState.localTile = localTile;\\n this.devicePixelRatioMonitor.registerObserver(this);\\n }\\n /**\\n * Connect a video stream to a video element by setting the srcObject of the video element to the video stream.\\n * @param videoStream The video stream input.\\n * @param videoElement The video element input.\\n * @param localTile Flag to indicate whether this is a local video.\\n */\\n static connectVideoStreamToVideoElement(videoStream, videoElement, localTile) {\\n const transform = localTile && videoStream.getVideoTracks()[0].getSettings().facingMode !== 'environment'\\n ? 'rotateY(180deg)'\\n : '';\\n DefaultVideoTile.setVideoElementFlag(videoElement, 'disablePictureInPicture', localTile);\\n DefaultVideoTile.setVideoElementFlag(videoElement, 'disableRemotePlayback', localTile);\\n if (videoElement.style.transform !== transform) {\\n videoElement.style.transform = transform;\\n }\\n if (videoElement.hasAttribute('controls')) {\\n videoElement.removeAttribute('controls');\\n }\\n if (!videoElement.hasAttribute('autoplay')) {\\n videoElement.setAttribute('autoplay', 'true');\\n }\\n // playsinline is needed for video to play in iPhone in non-fullscreen mode.\\n // See https://developer.apple.com/documentation/webkit/safari_tools_and_features/delivering_video_content_for_safari#3030250\\n if (!videoElement.hasAttribute('playsinline')) {\\n videoElement.setAttribute('playsinline', 'true');\\n }\\n // Note that setting the *attribute* 'muted' affects whether the element\\n // is muted *by default* (`.defaultMuted`), not whether it is currently muted (`.muted`).\\n // https://html.spec.whatwg.org/#dom-media-defaultmuted\\n if (!videoElement.hasAttribute('muted')) {\\n // The default value…\\n videoElement.setAttribute('muted', 'true');\\n // … and the value right now.\\n videoElement.muted = true;\\n }\\n if (videoElement.srcObject !== videoStream) {\\n videoElement.srcObject = videoStream;\\n // In Safari, a hidden video element can show a black screen.\\n // See https://bugs.webkit.org/show_bug.cgi?id=241152 for more information.\\n if (new DefaultBrowserBehavior_1.default().requiresVideoPlayWorkaround() && videoElement.paused) {\\n const promise = videoElement.play();\\n // See https://bugs.webkit.org/show_bug.cgi?id=243519 for more information.\\n // https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/\\n /* istanbul ignore else */\\n if (promise !== undefined) {\\n promise\\n .catch(error => {\\n console.warn('Error playing video in Safari', error);\\n })\\n .then(() => {\\n // `then` block is needed, without it we run into black tile issue even though we catch the error.\\n console.debug('Video played successfully in Safari');\\n });\\n }\\n }\\n }\\n }\\n /**\\n * Disconnect a video stream from a video element by setting `HTMLVideoElement.srcObject` to `null`.\\n * @param videoElement The video element input.\\n * @param dueToPause A flag to indicate whether this function is called due to pausing video tile.\\n * Based on `keepLastFrameWhenPaused`, it sets `HTMLVideoElement.srcObject` to `null`.\\n * @param keepLastFrameWhenPaused If `true` and `dueToPause` is also `true`, then we will not set `HTMLVideoElement.srcObject` of the\\n * video element to `null` when it is paused and therefore, the last frame of the stream will be shown.\\n */\\n static disconnectVideoStreamFromVideoElement(videoElement, dueToPause, keepLastFrameWhenPaused = false) {\\n if (!videoElement) {\\n return;\\n }\\n if (dueToPause) {\\n if (!keepLastFrameWhenPaused) {\\n videoElement.srcObject = null;\\n videoElement.style.transform = '';\\n }\\n }\\n else {\\n if (!videoElement.srcObject) {\\n return;\\n }\\n videoElement.pause();\\n videoElement.style.transform = '';\\n DefaultVideoTile.setVideoElementFlag(videoElement, 'disablePictureInPicture', false);\\n DefaultVideoTile.setVideoElementFlag(videoElement, 'disableRemotePlayback', false);\\n videoElement.srcObject = null;\\n }\\n }\\n destroy() {\\n this.devicePixelRatioMonitor.removeObserver(this);\\n if (this.tileState.boundVideoElement &&\\n this.tileState.boundVideoElement.srcObject === this.tileState.boundVideoStream) {\\n DefaultVideoTile.disconnectVideoStreamFromVideoElement(this.tileState.boundVideoElement, false);\\n }\\n this.tileState = new VideoTileState_1.default();\\n }\\n devicePixelRatioChanged(newDevicePixelRatio) {\\n this.tileState.devicePixelRatio = newDevicePixelRatio;\\n this.sendTileStateUpdate();\\n }\\n id() {\\n return this.tileState.tileId;\\n }\\n state() {\\n return this.tileState.clone();\\n }\\n stateRef() {\\n return this.tileState;\\n }\\n bindVideoStream(attendeeId, localTile, mediaStream, contentWidth, contentHeight, streamId, externalUserId) {\\n let tileUpdated = false;\\n if (this.tileState.boundAttendeeId !== attendeeId) {\\n this.tileState.boundAttendeeId = attendeeId;\\n if (new DefaultModality_1.default(attendeeId).hasModality(DefaultModality_1.default.MODALITY_CONTENT)) {\\n this.tileState.isContent = true;\\n }\\n tileUpdated = true;\\n }\\n if (this.tileState.boundExternalUserId !== externalUserId) {\\n this.tileState.boundExternalUserId = externalUserId;\\n tileUpdated = true;\\n }\\n if (this.tileState.localTile !== localTile) {\\n this.tileState.localTile = localTile;\\n tileUpdated = true;\\n }\\n if (this.tileState.boundVideoStream !== mediaStream) {\\n this.tileState.boundVideoStream = mediaStream;\\n tileUpdated = true;\\n }\\n if (this.tileState.videoStreamContentWidth !== contentWidth) {\\n this.tileState.videoStreamContentWidth = contentWidth;\\n tileUpdated = true;\\n }\\n if (this.tileState.videoStreamContentHeight !== contentHeight) {\\n this.tileState.videoStreamContentHeight = contentHeight;\\n tileUpdated = true;\\n }\\n if (this.tileState.streamId !== streamId) {\\n this.tileState.streamId = streamId;\\n tileUpdated = true;\\n }\\n if (tileUpdated) {\\n this.sendTileStateUpdate();\\n }\\n }\\n bindVideoElement(videoElement) {\\n let tileUpdated = false;\\n if (this.tileState.boundVideoElement !== videoElement) {\\n this.tileState.boundVideoElement = videoElement;\\n tileUpdated = true;\\n }\\n if (this.tileState.boundVideoElement !== null) {\\n if (this.tileState.videoElementCSSWidthPixels !== videoElement.clientWidth) {\\n this.tileState.videoElementCSSWidthPixels = videoElement.clientWidth;\\n tileUpdated = true;\\n }\\n if (this.tileState.videoElementCSSHeightPixels !== videoElement.clientHeight) {\\n this.tileState.videoElementCSSHeightPixels = videoElement.clientHeight;\\n tileUpdated = true;\\n }\\n }\\n else {\\n this.tileState.videoElementCSSWidthPixels = null;\\n this.tileState.videoElementCSSHeightPixels = null;\\n }\\n if (tileUpdated) {\\n this.sendTileStateUpdate();\\n }\\n }\\n pause() {\\n if (!this.tileState.paused) {\\n this.tileState.paused = true;\\n this.sendTileStateUpdate();\\n }\\n }\\n unpause() {\\n if (this.tileState.paused) {\\n this.tileState.paused = false;\\n this.sendTileStateUpdate();\\n }\\n }\\n markPoorConnection() {\\n if (this.tileState.poorConnection) {\\n return false;\\n }\\n this.tileState.poorConnection = true;\\n this.sendTileStateUpdate();\\n return true;\\n }\\n unmarkPoorConnection() {\\n if (!this.tileState.poorConnection) {\\n return false;\\n }\\n this.tileState.poorConnection = false;\\n this.sendTileStateUpdate();\\n return true;\\n }\\n capture() {\\n if (!this.tileState.active) {\\n return null;\\n }\\n const canvas = document.createElement('canvas');\\n const video = this.tileState.boundVideoElement;\\n canvas.width = video.videoWidth || video.width;\\n canvas.height = video.videoHeight || video.height;\\n const ctx = canvas.getContext('2d');\\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\\n return ctx.getImageData(0, 0, canvas.width, canvas.height);\\n }\\n setStreamId(id) {\\n this.tileState.streamId = id;\\n // `streamId` is not likely used by builders but we can't\\n // be sure so send a tile state update just in case.\\n this.tileController.sendTileStateUpdate(this.state());\\n }\\n sendTileStateUpdate() {\\n this.updateActiveState();\\n this.updateVideoStreamOnVideoElement();\\n this.updateVideoElementPhysicalPixels();\\n this.tileController.sendTileStateUpdate(this.state());\\n }\\n updateActiveState() {\\n this.tileState.active = !!(!this.tileState.paused &&\\n !this.tileState.poorConnection &&\\n this.tileState.boundAttendeeId &&\\n this.tileState.boundVideoElement &&\\n this.tileState.boundVideoStream);\\n }\\n updateVideoElementPhysicalPixels() {\\n if (typeof this.tileState.videoElementCSSWidthPixels === 'number' &&\\n typeof this.tileState.videoElementCSSHeightPixels === 'number') {\\n this.tileState.videoElementPhysicalWidthPixels =\\n this.tileState.devicePixelRatio * this.tileState.videoElementCSSWidthPixels;\\n this.tileState.videoElementPhysicalHeightPixels =\\n this.tileState.devicePixelRatio * this.tileState.videoElementCSSHeightPixels;\\n }\\n else {\\n this.tileState.videoElementPhysicalWidthPixels = null;\\n this.tileState.videoElementPhysicalHeightPixels = null;\\n }\\n }\\n updateVideoStreamOnVideoElement() {\\n if (this.tileState.active) {\\n DefaultVideoTile.connectVideoStreamToVideoElement(this.tileState.boundVideoStream, this.tileState.boundVideoElement, this.tileState.localTile);\\n }\\n else {\\n DefaultVideoTile.disconnectVideoStreamFromVideoElement(this.tileState.boundVideoElement, this.tileState.paused, this.tileController.keepLastFrameWhenPaused);\\n }\\n }\\n static setVideoElementFlag(videoElement, flag, value) {\\n if (flag in videoElement) {\\n // @ts-ignore\\n videoElement[flag] = value;\\n }\\n }\\n}\\nexports[\\\"default\\\"] = DefaultVideoTile;\\n//# sourceMappingURL=DefaultVideoTile.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videotile/DefaultVideoTile.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videotile/VideoTileState.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videotile/VideoTileState.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/**\\n * [[VideoTileState]] encapsulates the state of a [[VideoTile]]\\n */\\nclass VideoTileState {\\n constructor() {\\n /**\\n * The unique identifier for the [[VideoTile]] managed by [[VideoTileController]]. Each attendee can have at most one tileId.\\n */\\n this.tileId = null;\\n /**\\n * Indication of whether tile is associated with local video.\\n */\\n this.localTile = false;\\n /**\\n * Indication of whether the tile associated with the local attendee has started to play.\\n */\\n this.localTileStarted = false;\\n /**\\n * Indication of whether the tile has content-sharing video.\\n */\\n this.isContent = false;\\n /**\\n * Indication of whether the tile has active video stream. This value may be somewhat arbitrary in how it is calculated,\\n * it is recommended to use the more specific values (e.g. `paused`, `boundVideoElement`, and `boundVideoStream`) to\\n * determine activity as appropriate for your application.\\n */\\n this.active = false;\\n /**\\n * Indication of whether the tile has paused video stream.\\n */\\n this.paused = false;\\n /**\\n * Indication of whether the remote video is paused at publishing attendee. This field is not supported.\\n */\\n this.poorConnection = false;\\n /**\\n * The attendee id associated with the [[VideoTile]].\\n */\\n this.boundAttendeeId = null;\\n /**\\n * The user id associated with the [[VideoTile]].\\n */\\n this.boundExternalUserId = null;\\n /**\\n * The video stream bound with the [[VideoTile]].\\n */\\n this.boundVideoStream = null;\\n /**\\n * The HTMLVideoElement bound with the [[VideoTile]].\\n */\\n this.boundVideoElement = null;\\n /**\\n * The nameplate for the [[VideoTile]]. SDK users should use boundExternalUserId for user id instead of this field.\\n */\\n this.nameplate = null;\\n /**\\n * The intrinsic width of the video stream upon binding with the [[VideoTile]].\\n * Video stream intrinsic width could change and developers should use HTMLVideoElement listener for actual intrinsic width.\\n */\\n this.videoStreamContentWidth = null;\\n /**\\n * The intrinsic height of the video stream upon binding with the [[VideoTile]]\\n * Video stream intrinsic height could change and developers should use HTMLVideoElement listener for actual intrinsic height.\\n */\\n this.videoStreamContentHeight = null;\\n /**\\n * The CSS width in pixel of the HTMLVideoElement upon binding with the [[VideoTile]].\\n */\\n this.videoElementCSSWidthPixels = null;\\n /**\\n * The CSS height in pixel of the HTMLVideoElement upon binding with the [[VideoTile]].\\n */\\n this.videoElementCSSHeightPixels = null;\\n /**\\n * The device pixel ratio of the current display monitor.\\n */\\n this.devicePixelRatio = 0;\\n /**\\n * The physical width in pixel of the HTMLVideoElement upon binding with the [[VideoTile]].\\n */\\n this.videoElementPhysicalWidthPixels = null;\\n /**\\n * The physical height in pixel of the HTMLVideoElement upon binding with the [[VideoTile]].\\n */\\n this.videoElementPhysicalHeightPixels = null;\\n /**\\n * The unique identifier published by server to associate with bound video stream. It is defined in [[SignalingProtocol.proto]].\\n * Developers should avoid using this field directly.\\n */\\n this.streamId = null;\\n }\\n clone() {\\n const cloned = new VideoTileState();\\n cloned.tileId = this.tileId;\\n cloned.localTile = this.localTile;\\n cloned.isContent = this.isContent;\\n cloned.active = this.active;\\n cloned.paused = this.paused;\\n cloned.poorConnection = this.poorConnection;\\n cloned.boundAttendeeId = this.boundAttendeeId;\\n cloned.boundExternalUserId = this.boundExternalUserId;\\n cloned.boundVideoStream = this.boundVideoStream;\\n cloned.boundVideoElement = this.boundVideoElement;\\n cloned.nameplate = this.nameplate;\\n cloned.videoStreamContentWidth = this.videoStreamContentWidth;\\n cloned.videoStreamContentHeight = this.videoStreamContentHeight;\\n cloned.videoElementCSSWidthPixels = this.videoElementCSSWidthPixels;\\n cloned.videoElementCSSHeightPixels = this.videoElementCSSHeightPixels;\\n cloned.devicePixelRatio = this.devicePixelRatio;\\n cloned.videoElementPhysicalWidthPixels = this.videoElementPhysicalWidthPixels;\\n cloned.videoElementPhysicalHeightPixels = this.videoElementPhysicalHeightPixels;\\n cloned.streamId = this.streamId;\\n return cloned;\\n }\\n}\\nexports[\\\"default\\\"] = VideoTileState;\\n//# sourceMappingURL=VideoTileState.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videotile/VideoTileState.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videotilecontroller/DefaultVideoTileController.js\":\n/*!**************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videotilecontroller/DefaultVideoTileController.js ***!\n \\**************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultDevicePixelRatioMonitor_1 = __webpack_require__(/*! ../devicepixelratiomonitor/DefaultDevicePixelRatioMonitor */ \\\"./node_modules/amazon-chime-sdk-js/build/devicepixelratiomonitor/DefaultDevicePixelRatioMonitor.js\\\");\\nconst DevicePixelRatioWindowSource_1 = __webpack_require__(/*! ../devicepixelratiosource/DevicePixelRatioWindowSource */ \\\"./node_modules/amazon-chime-sdk-js/build/devicepixelratiosource/DevicePixelRatioWindowSource.js\\\");\\nconst Types_1 = __webpack_require__(/*! ../utils/Types */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Types.js\\\");\\nconst DefaultVideoTile_1 = __webpack_require__(/*! ../videotile/DefaultVideoTile */ \\\"./node_modules/amazon-chime-sdk-js/build/videotile/DefaultVideoTile.js\\\");\\nclass DefaultVideoTileController {\\n constructor(tileFactory, audioVideoController, logger) {\\n this.tileFactory = tileFactory;\\n this.audioVideoController = audioVideoController;\\n this.logger = logger;\\n this.tileMap = new Map();\\n this.nextTileId = 1;\\n this.currentLocalTile = null;\\n this.currentPausedTilesByIds = new Set();\\n this.keepLastFrameWhenPaused = false;\\n this.keepLastFrameWhenPaused = audioVideoController.configuration.keepLastFrameWhenPaused;\\n }\\n createDevicePixelRatioMonitorIfNeeded() {\\n if (this.devicePixelRatioMonitor) {\\n return;\\n }\\n this.devicePixelRatioMonitor = new DefaultDevicePixelRatioMonitor_1.default(new DevicePixelRatioWindowSource_1.default(), this.logger);\\n }\\n discardDevicePixelRatioMonitorIfNotNeeded() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.tileMap.size || !this.devicePixelRatioMonitor) {\\n return;\\n }\\n const monitor = this.devicePixelRatioMonitor;\\n this.devicePixelRatioMonitor = undefined;\\n return monitor.destroy();\\n });\\n }\\n bindVideoElement(tileId, videoElement) {\\n const tile = this.getVideoTile(tileId);\\n if (tile === null) {\\n this.logger.warn(`Ignoring video element binding for unknown tile id ${tileId}`);\\n return;\\n }\\n tile.bindVideoElement(videoElement);\\n }\\n unbindVideoElement(tileId, cleanUpVideoElement = true) {\\n const tile = this.getVideoTile(tileId);\\n if (tile === null) {\\n this.logger.warn(`Ignoring video element unbinding for unknown tile id ${tileId}`);\\n return;\\n }\\n this.logger.info('Unbinding the video element');\\n const videoElement = tile.stateRef().boundVideoElement;\\n tile.bindVideoElement(null);\\n if (cleanUpVideoElement) {\\n this.logger.info('Cleaning up the video element');\\n DefaultVideoTile_1.default.disconnectVideoStreamFromVideoElement(videoElement, false);\\n }\\n }\\n startLocalVideoTile() {\\n const tile = this.findOrCreateLocalVideoTile();\\n this.currentLocalTile.stateRef().localTileStarted = true;\\n this.audioVideoController.update({ needsRenegotiation: true });\\n return tile.id();\\n }\\n stopLocalVideoTile() {\\n if (!this.currentLocalTile) {\\n return;\\n }\\n this.currentLocalTile.stateRef().localTileStarted = false;\\n this.currentLocalTile.bindVideoStream(this.audioVideoController.configuration.credentials.attendeeId, true, null, null, null, null, this.audioVideoController.configuration.credentials.externalUserId);\\n this.audioVideoController.update({ needsRenegotiation: true });\\n }\\n hasStartedLocalVideoTile() {\\n return !!(this.currentLocalTile && this.currentLocalTile.stateRef().localTileStarted);\\n }\\n removeLocalVideoTile() {\\n if (this.currentLocalTile) {\\n this.removeVideoTile(this.currentLocalTile.id());\\n }\\n }\\n getLocalVideoTile() {\\n return this.currentLocalTile;\\n }\\n pauseVideoTile(tileId) {\\n const tile = this.getVideoTile(tileId);\\n if (tile) {\\n if (!this.currentPausedTilesByIds.has(tileId)) {\\n this.audioVideoController.pauseReceivingStream(tile.stateRef().streamId);\\n this.currentPausedTilesByIds.add(tileId);\\n }\\n tile.pause();\\n }\\n }\\n unpauseVideoTile(tileId) {\\n const tile = this.getVideoTile(tileId);\\n if (tile) {\\n if (this.currentPausedTilesByIds.has(tileId)) {\\n this.audioVideoController.resumeReceivingStream(tile.stateRef().streamId);\\n this.currentPausedTilesByIds.delete(tileId);\\n }\\n tile.unpause();\\n }\\n }\\n getVideoTile(tileId) {\\n return this.tileMap.has(tileId) ? this.tileMap.get(tileId) : null;\\n }\\n getVideoTileArea(tile) {\\n const state = tile.state();\\n let tileHeight = 0;\\n let tileWidth = 0;\\n if (state.boundVideoElement) {\\n tileHeight = state.boundVideoElement.clientHeight * state.devicePixelRatio;\\n tileWidth = state.boundVideoElement.clientWidth * state.devicePixelRatio;\\n }\\n return tileHeight * tileWidth;\\n }\\n getAllRemoteVideoTiles() {\\n const result = new Array();\\n this.tileMap.forEach((tile, tileId) => {\\n if (!this.currentLocalTile || tileId !== this.currentLocalTile.id()) {\\n result.push(tile);\\n }\\n });\\n return result;\\n }\\n getAllVideoTiles() {\\n return Array.from(this.tileMap.values());\\n }\\n addVideoTile(localTile = false) {\\n const tileId = this.nextTileId;\\n this.nextTileId += 1;\\n this.createDevicePixelRatioMonitorIfNeeded();\\n const tile = this.tileFactory.makeTile(tileId, localTile, this, this.devicePixelRatioMonitor);\\n this.tileMap.set(tileId, tile);\\n return tile;\\n }\\n removeVideoTile(tileId) {\\n if (!this.tileMap.has(tileId)) {\\n return;\\n }\\n const tile = this.tileMap.get(tileId);\\n if (this.currentLocalTile === tile) {\\n this.currentLocalTile = null;\\n }\\n tile.destroy();\\n this.tileMap.delete(tileId);\\n this.audioVideoController.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.videoTileWasRemoved).map(f => f.bind(observer)(tileId));\\n });\\n this.discardDevicePixelRatioMonitorIfNotNeeded();\\n }\\n removeVideoTilesByAttendeeId(attendeeId) {\\n const tilesRemoved = [];\\n for (const tile of this.getAllVideoTiles()) {\\n const state = tile.state();\\n if (state.boundAttendeeId === attendeeId) {\\n this.removeVideoTile(state.tileId);\\n tilesRemoved.push(state.tileId);\\n }\\n }\\n return tilesRemoved;\\n }\\n removeAllVideoTiles() {\\n const tileIds = Array.from(this.tileMap.keys());\\n for (const tileId of tileIds) {\\n this.removeVideoTile(tileId);\\n }\\n }\\n sendTileStateUpdate(tileState) {\\n this.audioVideoController.forEachObserver((observer) => {\\n Types_1.Maybe.of(observer.videoTileDidUpdate).map(f => f.bind(observer)(tileState));\\n });\\n }\\n haveVideoTilesWithStreams() {\\n for (const tile of this.getAllVideoTiles()) {\\n if (tile.state().boundVideoStream) {\\n return true;\\n }\\n }\\n return false;\\n }\\n haveVideoTileForAttendeeId(attendeeId) {\\n return !!this.getVideoTileForAttendeeId(attendeeId);\\n }\\n getVideoTileForAttendeeId(attendeeId) {\\n for (const tile of this.getAllVideoTiles()) {\\n const state = tile.state();\\n if (state.boundAttendeeId === attendeeId) {\\n return tile;\\n }\\n }\\n return undefined;\\n }\\n captureVideoTile(tileId) {\\n const tile = this.getVideoTile(tileId);\\n if (!tile) {\\n return null;\\n }\\n return tile.capture();\\n }\\n findOrCreateLocalVideoTile() {\\n if (this.currentLocalTile) {\\n return this.currentLocalTile;\\n }\\n this.currentLocalTile = this.addVideoTile(true);\\n this.currentLocalTile.bindVideoStream(this.audioVideoController.configuration.credentials.attendeeId, true, null, null, null, null, this.audioVideoController.configuration.credentials.externalUserId);\\n return this.currentLocalTile;\\n }\\n}\\nexports[\\\"default\\\"] = DefaultVideoTileController;\\n//# sourceMappingURL=DefaultVideoTileController.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videotilecontroller/DefaultVideoTileController.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videotilefactory/DefaultVideoTileFactory.js\":\n/*!********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videotilefactory/DefaultVideoTileFactory.js ***!\n \\********************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultVideoTile_1 = __webpack_require__(/*! ../videotile/DefaultVideoTile */ \\\"./node_modules/amazon-chime-sdk-js/build/videotile/DefaultVideoTile.js\\\");\\nclass DefaultVideoTileFactory {\\n makeTile(tileId, localTile, tileController, devicePixelRatioMonitor) {\\n return new DefaultVideoTile_1.default(tileId, localTile, tileController, devicePixelRatioMonitor);\\n }\\n}\\nexports[\\\"default\\\"] = DefaultVideoTileFactory;\\n//# sourceMappingURL=DefaultVideoTileFactory.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videotilefactory/DefaultVideoTileFactory.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/BitrateParameters.js\":\n/*!************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/BitrateParameters.js ***!\n \\************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass BitrateParameters {\\n}\\nexports[\\\"default\\\"] = BitrateParameters;\\n//# sourceMappingURL=BitrateParameters.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/BitrateParameters.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.js\":\n/*!***********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.js ***!\n \\***********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SimulcastLayers_1 = __webpack_require__(/*! ../simulcastlayers/SimulcastLayers */ \\\"./node_modules/amazon-chime-sdk-js/build/simulcastlayers/SimulcastLayers.js\\\");\\nconst SimulcastTransceiverController_1 = __webpack_require__(/*! ../transceivercontroller/SimulcastTransceiverController */ \\\"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/SimulcastTransceiverController.js\\\");\\nconst Types_1 = __webpack_require__(/*! ../utils/Types */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Types.js\\\");\\nconst DefaultVideoCaptureAndEncodeParameter_1 = __webpack_require__(/*! ../videocaptureandencodeparameter/DefaultVideoCaptureAndEncodeParameter */ \\\"./node_modules/amazon-chime-sdk-js/build/videocaptureandencodeparameter/DefaultVideoCaptureAndEncodeParameter.js\\\");\\nconst BitrateParameters_1 = __webpack_require__(/*! ./BitrateParameters */ \\\"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/BitrateParameters.js\\\");\\n/**\\n * [[DefaultSimulcastUplinkPolicy]] determines capture and encode\\n * parameters that reacts to estimated uplink bandwidth\\n */\\nclass DefaultSimulcastUplinkPolicy {\\n constructor(selfAttendeeId, logger) {\\n this.selfAttendeeId = selfAttendeeId;\\n this.logger = logger;\\n this.numSenders = 0;\\n // Simulcast is disabled when there are only 2 or fewer attendees, because in that case the backend will forward REMBs from\\n // receiver to sender. Therefore there is no need for simulcast based adaption.\\n this.shouldDisableSimulcast = false;\\n this.newQualityMap = new Map();\\n this.currentQualityMap = new Map();\\n this.newActiveStreams = 1 /* kHiAndLow */;\\n this.currentActiveStreams = 1 /* kHiAndLow */;\\n this.lastUplinkBandwidthKbps = DefaultSimulcastUplinkPolicy.defaultUplinkBandwidthKbps;\\n this.startTimeMs = 0;\\n this.lastUpdatedMs = Date.now();\\n this.videoIndex = null;\\n this.currLocalDescriptions = [];\\n this.nextLocalDescriptions = [];\\n this.observerQueue = new Set();\\n this.optimalParameters = new DefaultVideoCaptureAndEncodeParameter_1.default(0, 0, 0, 0, true);\\n this.parametersInEffect = new DefaultVideoCaptureAndEncodeParameter_1.default(0, 0, 0, 0, true);\\n this.lastUplinkBandwidthKbps = DefaultSimulcastUplinkPolicy.defaultUplinkBandwidthKbps;\\n this.currentQualityMap = this.fillEncodingParamWithBitrates([300, 0, 1200]);\\n this.newQualityMap = this.fillEncodingParamWithBitrates([300, 0, 1200]);\\n }\\n updateConnectionMetric({ uplinkKbps = 0 }) {\\n if (isNaN(uplinkKbps)) {\\n return;\\n }\\n // Check if startup period in order to ignore estimate when video first enabled.\\n // If only audio was active then the estimate will be very low\\n if (this.startTimeMs === 0) {\\n this.startTimeMs = Date.now();\\n }\\n if (Date.now() - this.startTimeMs < DefaultSimulcastUplinkPolicy.startupDurationMs) {\\n this.lastUplinkBandwidthKbps = DefaultSimulcastUplinkPolicy.defaultUplinkBandwidthKbps;\\n }\\n else {\\n this.lastUplinkBandwidthKbps = uplinkKbps;\\n }\\n this.logger.debug(() => {\\n return `simulcast: uplink policy update metrics ${this.lastUplinkBandwidthKbps}`;\\n });\\n let holdTime = DefaultSimulcastUplinkPolicy.holdDownDurationMs;\\n if (this.currentActiveStreams === 3 /* kLow */) {\\n holdTime = DefaultSimulcastUplinkPolicy.holdDownDurationMs * 2;\\n }\\n else if ((this.currentActiveStreams === 2 /* kMidAndLow */ &&\\n uplinkKbps <= DefaultSimulcastUplinkPolicy.kMidDisabledRate) ||\\n (this.currentActiveStreams === 1 /* kHiAndLow */ &&\\n uplinkKbps <= DefaultSimulcastUplinkPolicy.kHiDisabledRate)) {\\n holdTime = DefaultSimulcastUplinkPolicy.holdDownDurationMs / 2;\\n }\\n if (Date.now() < this.lastUpdatedMs + holdTime) {\\n return;\\n }\\n this.newQualityMap = this.calculateEncodingParameters(false);\\n }\\n calculateEncodingParameters(numSendersChanged) {\\n // bitrates parameter min is not used for now\\n const newBitrates = [\\n new BitrateParameters_1.default(),\\n new BitrateParameters_1.default(),\\n new BitrateParameters_1.default(),\\n ];\\n let hysteresisIncrease = 0, hysteresisDecrease = 0;\\n if (this.currentActiveStreams === 0 /* kHi */) {\\n // Don't trigger redetermination based on rate if only one simulcast stream\\n hysteresisIncrease = this.lastUplinkBandwidthKbps + 1;\\n hysteresisDecrease = 0;\\n }\\n else if (this.currentActiveStreams === 1 /* kHiAndLow */) {\\n hysteresisIncrease = 2400;\\n hysteresisDecrease = DefaultSimulcastUplinkPolicy.kHiDisabledRate;\\n }\\n else if (this.currentActiveStreams === 2 /* kMidAndLow */) {\\n hysteresisIncrease = 1000;\\n hysteresisDecrease = DefaultSimulcastUplinkPolicy.kMidDisabledRate;\\n }\\n else {\\n hysteresisIncrease = 300;\\n hysteresisDecrease = 0;\\n }\\n if (numSendersChanged ||\\n this.lastUplinkBandwidthKbps >= hysteresisIncrease ||\\n this.lastUplinkBandwidthKbps <= hysteresisDecrease) {\\n if (this.shouldDisableSimulcast) {\\n // See comment above `shouldDisableSimulcast` for usage.\\n //\\n // The value of `newActiveStreams` is somewhat irrelevant since in one to one calls\\n // we forward REMBs, so this single stream will adapt anywhere from < 100 kbps to 1200 kbps\\n // based on both sender and receiver network conditions. E.g. A receiver may calculate it's\\n // receive BWE as 300 kbps, send that in a REMB which is forwarded, and on receipt the sender\\n // will set its own BWE at 300 kbps, and start sending that as well (again, only for one-to-one\\n // calls). Additionally the value `kHi` is only relevant to the send side (via\\n // `encodingSimulcastLayersDidChange`) as it is not transmitted in anyform to the receiver.\\n //\\n // We use middle layer here to work around a bug in Chromium where\\n // it seems when a transceiver is created when BWE is low (e.g. on a reconnection),\\n // it will never reset the encoder even when `setParameters` is called. WebRTC bug\\n // #12788 seems to call a similar issue out as fixed for VP8, it's not clear if this\\n // is the same issue for H.264. Additionally we are not able to force a keyframe\\n // request from the backend since it will only be sending padding (which also\\n // don't have MID due to #10822). Since we don't scale when simulcast is disabled\\n // this doesn't have any end-user effect.\\n //\\n // Note that this still relies on a little bit (5-6 packets) of padding on reconnect\\n // and that technically the browser will still eventually try to send all 3 streams.\\n //\\n // Also note that due to some uninvestigated logic in bitrate allocation, Chromium\\n // will skip the bottom layer if we try setting it to 1200 kbps instead so it will\\n // still take a while to recover (as it needs to send padding until it reaches around\\n // 1000 kbps).\\n this.newActiveStreams = 0 /* kHi */;\\n newBitrates[0].maxBitrateKbps = 0;\\n newBitrates[1].maxBitrateKbps = 1200;\\n newBitrates[2].maxBitrateKbps = 0;\\n }\\n else if (this.numSenders <= 4 &&\\n this.lastUplinkBandwidthKbps >= DefaultSimulcastUplinkPolicy.kHiDisabledRate) {\\n // 320x192+ (640x384) + 1280x768\\n this.newActiveStreams = 1 /* kHiAndLow */;\\n newBitrates[0].maxBitrateKbps = 300;\\n newBitrates[1].maxBitrateKbps = 0;\\n newBitrates[2].maxBitrateKbps = 1200;\\n }\\n else if (this.lastUplinkBandwidthKbps >= DefaultSimulcastUplinkPolicy.kMidDisabledRate) {\\n // 320x192 + 640x384 + (1280x768)\\n this.newActiveStreams = 2 /* kMidAndLow */;\\n newBitrates[0].maxBitrateKbps = this.lastUplinkBandwidthKbps >= 350 ? 200 : 150;\\n newBitrates[1].maxBitrateKbps = this.numSenders <= 6 ? 600 : 350;\\n newBitrates[2].maxBitrateKbps = 0;\\n }\\n else {\\n // 320x192 + 640x384 + (1280x768)\\n this.newActiveStreams = 3 /* kLow */;\\n newBitrates[0].maxBitrateKbps = 300;\\n newBitrates[1].maxBitrateKbps = 0;\\n newBitrates[2].maxBitrateKbps = 0;\\n }\\n const bitrates = newBitrates.map((v, _i, _a) => {\\n return v.maxBitrateKbps;\\n });\\n this.newQualityMap = this.fillEncodingParamWithBitrates(bitrates);\\n if (!this.encodingParametersEqual()) {\\n this.logger.info(`simulcast: policy:calculateEncodingParameters bw:${this.lastUplinkBandwidthKbps} numSources:${this.numSenders} shouldDisableSimulcast:${this.shouldDisableSimulcast} newQualityMap: ${this.getQualityMapString(this.newQualityMap)}`);\\n }\\n }\\n return this.newQualityMap;\\n }\\n chooseMediaTrackConstraints() {\\n // Changing MediaTrackConstraints causes a restart of video input and possible small\\n // scaling changes. Always use 720p for now\\n const trackConstraint = {\\n width: { ideal: 1280 },\\n height: { ideal: 768 },\\n frameRate: { ideal: 15 },\\n };\\n return trackConstraint;\\n }\\n chooseEncodingParameters() {\\n this.currentQualityMap = this.newQualityMap;\\n this.currentActiveStreams = this.newActiveStreams;\\n if (this.activeStreamsToPublish !== this.newActiveStreams) {\\n this.activeStreamsToPublish = this.newActiveStreams;\\n this.publishEncodingSimulcastLayer();\\n }\\n return this.currentQualityMap;\\n }\\n updateIndex(videoIndex) {\\n // the +1 for self is assuming that we intend to send video, since\\n // the context here is VideoUplinkBandwidthPolicy\\n const numSenders = videoIndex.numberOfVideoPublishingParticipantsExcludingSelf(this.selfAttendeeId) + 1;\\n const numSendersChanged = numSenders !== this.numSenders;\\n // See comment above `shouldDisableSimulcast`\\n const numParticipants = videoIndex.numberOfParticipants();\\n const newShouldDisableSimulcast = numParticipants >= 0 && numParticipants <= 2;\\n const shouldDisableSimulcastChanged = this.shouldDisableSimulcast !== newShouldDisableSimulcast;\\n this.numSenders = numSenders;\\n this.shouldDisableSimulcast = newShouldDisableSimulcast;\\n this.optimalParameters = new DefaultVideoCaptureAndEncodeParameter_1.default(this.captureWidth(), this.captureHeight(), this.captureFrameRate(), this.maxBandwidthKbps(), false);\\n this.videoIndex = videoIndex;\\n this.newQualityMap = this.calculateEncodingParameters(numSendersChanged || shouldDisableSimulcastChanged);\\n }\\n wantsResubscribe() {\\n let constraintDiff = !this.encodingParametersEqual();\\n this.nextLocalDescriptions = this.videoIndex.localStreamDescriptions();\\n for (let i = 0; i < this.nextLocalDescriptions.length; i++) {\\n const streamId = this.nextLocalDescriptions[i].streamId;\\n if (streamId !== 0 && !!streamId) {\\n const prevIndex = this.currLocalDescriptions.findIndex(val => {\\n return val.streamId === streamId;\\n });\\n if (prevIndex !== -1) {\\n if (this.nextLocalDescriptions[i].disabledByWebRTC !==\\n this.currLocalDescriptions[prevIndex].disabledByWebRTC) {\\n constraintDiff = true;\\n }\\n }\\n }\\n }\\n if (constraintDiff) {\\n this.lastUpdatedMs = Date.now();\\n }\\n this.currLocalDescriptions = this.nextLocalDescriptions;\\n return constraintDiff;\\n }\\n compareEncodingParameter(encoding1, encoding2) {\\n return JSON.stringify(encoding1) === JSON.stringify(encoding2);\\n }\\n encodingParametersEqual() {\\n let different = false;\\n for (const ridName of SimulcastTransceiverController_1.default.NAME_ARR_ASCENDING) {\\n different =\\n different ||\\n !this.compareEncodingParameter(this.newQualityMap.get(ridName), this.currentQualityMap.get(ridName));\\n if (different) {\\n break;\\n }\\n }\\n return !different;\\n }\\n chooseCaptureAndEncodeParameters() {\\n // should deprecate in this policy\\n this.parametersInEffect = this.optimalParameters.clone();\\n return this.parametersInEffect.clone();\\n }\\n captureWidth() {\\n // should deprecate in this policy\\n const width = 1280;\\n return width;\\n }\\n captureHeight() {\\n // should deprecate in this policy\\n const height = 768;\\n return height;\\n }\\n captureFrameRate() {\\n // should deprecate in this policy\\n return 15;\\n }\\n maxBandwidthKbps() {\\n // should deprecate in this policy\\n return 1400;\\n }\\n setIdealMaxBandwidthKbps(_idealMaxBandwidthKbps) {\\n // should deprecate in this policy\\n }\\n setHasBandwidthPriority(_hasBandwidthPriority) {\\n // should deprecate in this policy\\n }\\n fillEncodingParamWithBitrates(bitratesKbps) {\\n const newMap = new Map();\\n const toBps = 1000;\\n const nameArr = SimulcastTransceiverController_1.default.NAME_ARR_ASCENDING;\\n const bitrateArr = bitratesKbps;\\n // Don't scale the single simulcast stream regardless of its layer.\\n let scale = this.shouldDisableSimulcast ? 1 : 4;\\n for (let i = 0; i < nameArr.length; i++) {\\n const ridName = nameArr[i];\\n newMap.set(ridName, {\\n rid: ridName,\\n active: bitrateArr[i] > 0 ? true : false,\\n scaleResolutionDownBy: Math.max(scale, 1),\\n maxBitrate: bitrateArr[i] * toBps,\\n });\\n scale = scale / 2;\\n }\\n return newMap;\\n }\\n getQualityMapString(params) {\\n let qualityString = '';\\n const localDescriptions = this.videoIndex.localStreamDescriptions();\\n if (localDescriptions.length === 3) {\\n params.forEach((value) => {\\n let disabledByWebRTC = false;\\n if (value.rid === 'low')\\n disabledByWebRTC = localDescriptions[0].disabledByWebRTC;\\n else if (value.rid === 'mid')\\n disabledByWebRTC = localDescriptions[1].disabledByWebRTC;\\n else\\n disabledByWebRTC = localDescriptions[2].disabledByWebRTC;\\n qualityString += `{ rid: ${value.rid} active:${value.active} disabledByWebRTC: ${disabledByWebRTC} maxBitrate:${value.maxBitrate}}`;\\n });\\n }\\n return qualityString;\\n }\\n getEncodingSimulcastLayer(activeStreams) {\\n switch (activeStreams) {\\n case 0 /* kHi */:\\n return SimulcastLayers_1.default.High;\\n case 1 /* kHiAndLow */:\\n return SimulcastLayers_1.default.LowAndHigh;\\n case 2 /* kMidAndLow */:\\n return SimulcastLayers_1.default.LowAndMedium;\\n case 3 /* kLow */:\\n return SimulcastLayers_1.default.Low;\\n }\\n }\\n publishEncodingSimulcastLayer() {\\n const simulcastLayers = this.getEncodingSimulcastLayer(this.activeStreamsToPublish);\\n this.forEachObserver(observer => {\\n Types_1.Maybe.of(observer.encodingSimulcastLayersDidChange).map(f => f.bind(observer)(simulcastLayers));\\n });\\n }\\n addObserver(observer) {\\n this.logger.info('adding simulcast uplink observer');\\n this.observerQueue.add(observer);\\n }\\n removeObserver(observer) {\\n this.logger.info('removing simulcast uplink observer');\\n this.observerQueue.delete(observer);\\n }\\n forEachObserver(observerFunc) {\\n for (const observer of this.observerQueue) {\\n observerFunc(observer);\\n }\\n }\\n}\\nexports[\\\"default\\\"] = DefaultSimulcastUplinkPolicy;\\nDefaultSimulcastUplinkPolicy.defaultUplinkBandwidthKbps = 1200;\\nDefaultSimulcastUplinkPolicy.startupDurationMs = 6000;\\nDefaultSimulcastUplinkPolicy.holdDownDurationMs = 4000;\\nDefaultSimulcastUplinkPolicy.defaultMaxFrameRate = 15;\\n// Current rough estimates where webrtc disables streams\\nDefaultSimulcastUplinkPolicy.kHiDisabledRate = 700;\\nDefaultSimulcastUplinkPolicy.kMidDisabledRate = 240;\\n//# sourceMappingURL=DefaultSimulcastUplinkPolicy.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicyForContentShare.js\":\n/*!**************************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicyForContentShare.js ***!\n \\**************************************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst SimulcastContentShareTransceiverController_1 = __webpack_require__(/*! ../transceivercontroller/SimulcastContentShareTransceiverController */ \\\"./node_modules/amazon-chime-sdk-js/build/transceivercontroller/SimulcastContentShareTransceiverController.js\\\");\\n/**\\n * [[DefaultSimulcastUplinkPolicyForContentShare]] sets the capture and encode\\n * parameters based on constructor input parameters\\n */\\nclass DefaultSimulcastUplinkPolicyForContentShare {\\n constructor(logger, encodingParams) {\\n this.logger = logger;\\n this.encodingParams = encodingParams;\\n this.videoIndex = null;\\n this.currLocalDescriptions = [];\\n this.nextLocalDescriptions = [];\\n }\\n updateConnectionMetric(_metrics) {\\n // Noop\\n }\\n chooseMediaTrackConstraints() {\\n // Changing MediaTrackConstraints causes a restart of video input and possible small\\n // scaling changes. Always use 720p for now\\n return undefined;\\n }\\n chooseEncodingParameters() {\\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\\n const newMap = new Map();\\n const toBps = 1000;\\n const nameArr = SimulcastContentShareTransceiverController_1.default.NAME_ARR_ASCENDING;\\n newMap.set(nameArr[0], {\\n rid: nameArr[0],\\n active: true,\\n scaleResolutionDownBy: ((_b = (_a = this.encodingParams) === null || _a === void 0 ? void 0 : _a.low) === null || _b === void 0 ? void 0 : _b.scaleResolutionDownBy) || 2,\\n maxBitrate: (((_d = (_c = this.encodingParams) === null || _c === void 0 ? void 0 : _c.low) === null || _d === void 0 ? void 0 : _d.maxBitrateKbps) || 300) * toBps,\\n maxFramerate: ((_f = (_e = this.encodingParams) === null || _e === void 0 ? void 0 : _e.low) === null || _f === void 0 ? void 0 : _f.maxFramerate) || 5,\\n });\\n newMap.set(nameArr[1], {\\n rid: nameArr[1],\\n active: true,\\n scaleResolutionDownBy: ((_h = (_g = this.encodingParams) === null || _g === void 0 ? void 0 : _g.high) === null || _h === void 0 ? void 0 : _h.scaleResolutionDownBy) || 1,\\n maxBitrate: (((_k = (_j = this.encodingParams) === null || _j === void 0 ? void 0 : _j.high) === null || _k === void 0 ? void 0 : _k.maxBitrateKbps) || 1200) * toBps,\\n maxFramerate: (_m = (_l = this.encodingParams) === null || _l === void 0 ? void 0 : _l.high) === null || _m === void 0 ? void 0 : _m.maxFramerate,\\n });\\n this.getQualityMapString(newMap);\\n return newMap;\\n }\\n updateIndex(videoIndex) {\\n this.videoIndex = videoIndex;\\n }\\n wantsResubscribe() {\\n var _a, _b;\\n let constraintDiff = false;\\n this.nextLocalDescriptions = (_a = this.videoIndex) === null || _a === void 0 ? void 0 : _a.localStreamDescriptions();\\n for (let i = 0; i < ((_b = this.nextLocalDescriptions) === null || _b === void 0 ? void 0 : _b.length); i++) {\\n const streamId = this.nextLocalDescriptions[i].streamId;\\n if (streamId !== 0 && !!streamId) {\\n const prevIndex = this.currLocalDescriptions.findIndex(val => {\\n return val.streamId === streamId;\\n });\\n if (prevIndex !== -1) {\\n if (this.nextLocalDescriptions[i].disabledByWebRTC !==\\n this.currLocalDescriptions[prevIndex].disabledByWebRTC) {\\n constraintDiff = true;\\n }\\n }\\n }\\n }\\n this.currLocalDescriptions = this.nextLocalDescriptions;\\n return constraintDiff;\\n }\\n chooseCaptureAndEncodeParameters() {\\n // should deprecate in this policy\\n return undefined;\\n }\\n maxBandwidthKbps() {\\n // should deprecate in this policy\\n return 1200;\\n }\\n setIdealMaxBandwidthKbps(_idealMaxBandwidthKbps) {\\n // should deprecate in this policy\\n }\\n setHasBandwidthPriority(_hasBandwidthPriority) {\\n // should deprecate in this policy\\n }\\n getQualityMapString(params) {\\n var _a;\\n let qualityString = '';\\n const localDescriptions = (_a = this.videoIndex) === null || _a === void 0 ? void 0 : _a.localStreamDescriptions();\\n if ((localDescriptions === null || localDescriptions === void 0 ? void 0 : localDescriptions.length) > 0) {\\n params.forEach((value) => {\\n let disabledByWebRTC = false;\\n if (value.rid === 'low')\\n disabledByWebRTC = localDescriptions[0].disabledByWebRTC;\\n else\\n disabledByWebRTC = localDescriptions[1].disabledByWebRTC;\\n qualityString += `{ rid: ${value.rid} active:${value.active} disabledByWebRTC: ${disabledByWebRTC} maxBitrate:${value.maxBitrate} scaleResolutionDownBy:${value.scaleResolutionDownBy} maxFrameRate:${value.maxFramerate}`;\\n });\\n this.logger.info(`simulcast: content policy:chooseEncodingParameters newQualityMap: ${qualityString}`);\\n }\\n }\\n addObserver(_observer) { }\\n removeObserver(_observer) { }\\n forEachObserver(_observerFunc) { }\\n}\\nexports[\\\"default\\\"] = DefaultSimulcastUplinkPolicyForContentShare;\\n//# sourceMappingURL=DefaultSimulcastUplinkPolicyForContentShare.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicyForContentShare.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/NScaleVideoUplinkBandwidthPolicy.js\":\n/*!***************************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/NScaleVideoUplinkBandwidthPolicy.js ***!\n \\***************************************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultVideoCaptureAndEncodeParameter_1 = __webpack_require__(/*! ../videocaptureandencodeparameter/DefaultVideoCaptureAndEncodeParameter */ \\\"./node_modules/amazon-chime-sdk-js/build/videocaptureandencodeparameter/DefaultVideoCaptureAndEncodeParameter.js\\\");\\n/** NScaleVideoUplinkBandwidthPolicy implements capture and encode\\n * parameters that are nearly equivalent to those chosen by the\\n * traditional native clients, except for a modification to\\n * maxBandwidthKbps and scaleResolutionDownBy described below. */\\nclass NScaleVideoUplinkBandwidthPolicy {\\n constructor(selfAttendeeId, scaleResolution = true, logger = undefined, browserBehavior = undefined) {\\n this.selfAttendeeId = selfAttendeeId;\\n this.scaleResolution = scaleResolution;\\n this.logger = logger;\\n this.browserBehavior = browserBehavior;\\n this.numberOfPublishedVideoSources = undefined;\\n this.idealMaxBandwidthKbps = 1500;\\n this.hasBandwidthPriority = false;\\n this.encodingParamMap = new Map();\\n this.reset();\\n }\\n reset() {\\n // Don't reset `idealMaxBandwidthKbps` or `hasBandwidthPriority` which are set via builder API paths\\n this.numberOfPublishedVideoSources = undefined;\\n this.optimalParameters = new DefaultVideoCaptureAndEncodeParameter_1.default(0, 0, 0, 0, false);\\n this.parametersInEffect = new DefaultVideoCaptureAndEncodeParameter_1.default(0, 0, 0, 0, false);\\n this.encodingParamMap.set(NScaleVideoUplinkBandwidthPolicy.encodingMapKey, {\\n maxBitrate: 0,\\n });\\n }\\n updateConnectionMetric(_metrics) {\\n return;\\n }\\n chooseMediaTrackConstraints() {\\n return {};\\n }\\n chooseEncodingParameters() {\\n return new Map();\\n }\\n updateIndex(videoIndex) {\\n var _a;\\n let hasLocalVideo = true;\\n let scale = 1;\\n if (this.transceiverController) {\\n hasLocalVideo = this.transceiverController.hasVideoInput();\\n }\\n // the +1 for self is assuming that we intend to send video, since\\n // the context here is VideoUplinkBandwidthPolicy\\n const numberOfPublishedVideoSources = videoIndex.numberOfVideoPublishingParticipantsExcludingSelf(this.selfAttendeeId) +\\n (hasLocalVideo ? 1 : 0);\\n if (this.numberOfPublishedVideoSources === numberOfPublishedVideoSources) {\\n (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug('Skipping update index; Number of participants has not changed');\\n return;\\n }\\n this.numberOfPublishedVideoSources = numberOfPublishedVideoSources;\\n if (this.transceiverController) {\\n const settings = this.getStreamCaptureSetting();\\n if (settings) {\\n const encodingParams = this.calculateEncodingParameters(settings);\\n scale = encodingParams.scaleResolutionDownBy;\\n }\\n }\\n this.optimalParameters = new DefaultVideoCaptureAndEncodeParameter_1.default(this.captureWidth(), this.captureHeight(), this.captureFrameRate(), this.maxBandwidthKbps(), false, scale);\\n }\\n wantsResubscribe() {\\n return !this.parametersInEffect.equal(this.optimalParameters);\\n }\\n chooseCaptureAndEncodeParameters() {\\n this.parametersInEffect = this.optimalParameters.clone();\\n return this.parametersInEffect.clone();\\n }\\n captureWidth() {\\n let width = 640;\\n if (this.getNumberOfPublishedVideoSources() > 4) {\\n width = 320;\\n }\\n return width;\\n }\\n captureHeight() {\\n let height = 384;\\n if (this.getNumberOfPublishedVideoSources() > 4) {\\n height = 192;\\n }\\n return height;\\n }\\n captureFrameRate() {\\n return 15;\\n }\\n maxBandwidthKbps() {\\n if (this.hasBandwidthPriority) {\\n return Math.trunc(this.idealMaxBandwidthKbps);\\n }\\n let rate = 0;\\n if (this.getNumberOfPublishedVideoSources() <= 2) {\\n rate = this.idealMaxBandwidthKbps;\\n }\\n else if (this.getNumberOfPublishedVideoSources() <= 4) {\\n rate = (this.idealMaxBandwidthKbps * 2) / 3;\\n }\\n else {\\n rate =\\n ((544 / 11 + 14880 / (11 * this.getNumberOfPublishedVideoSources())) / 600) *\\n this.idealMaxBandwidthKbps;\\n }\\n return Math.trunc(rate);\\n }\\n setIdealMaxBandwidthKbps(idealMaxBandwidthKbps) {\\n this.idealMaxBandwidthKbps = idealMaxBandwidthKbps;\\n }\\n setHasBandwidthPriority(hasBandwidthPriority) {\\n this.hasBandwidthPriority = hasBandwidthPriority;\\n }\\n setTransceiverController(transceiverController) {\\n this.transceiverController = transceiverController;\\n }\\n updateTransceiverController() {\\n return __awaiter(this, void 0, void 0, function* () {\\n const settings = this.getStreamCaptureSetting();\\n if (!settings) {\\n return;\\n }\\n const encodingParams = this.calculateEncodingParameters(settings);\\n if (this.shouldUpdateEndcodingParameters(encodingParams)) {\\n this.encodingParamMap.set(NScaleVideoUplinkBandwidthPolicy.encodingMapKey, encodingParams);\\n this.transceiverController.setEncodingParameters(this.encodingParamMap);\\n }\\n });\\n }\\n shouldUpdateEndcodingParameters(encoding) {\\n var _a, _b;\\n const transceiverEncoding = (_b = (_a = this.transceiverController\\n .localVideoTransceiver()\\n .sender.getParameters()) === null || _a === void 0 ? void 0 : _a.encodings) === null || _b === void 0 ? void 0 : _b[0];\\n /* istanbul ignore next: transceiverEncoding?.scaleResolutionDownBy cannot be covered */\\n return (encoding.maxBitrate !== (transceiverEncoding === null || transceiverEncoding === void 0 ? void 0 : transceiverEncoding.maxBitrate) ||\\n encoding.scaleResolutionDownBy !== (transceiverEncoding === null || transceiverEncoding === void 0 ? void 0 : transceiverEncoding.scaleResolutionDownBy));\\n }\\n calculateEncodingParameters(setting) {\\n var _a, _b;\\n const maxBitrate = this.maxBandwidthKbps() * 1000;\\n let scale = 1;\\n if (setting.height !== undefined &&\\n setting.width !== undefined &&\\n this.scaleResolution &&\\n !this.hasBandwidthPriority &&\\n this.getNumberOfPublishedVideoSources() > 2) {\\n let targetHeight = NScaleVideoUplinkBandwidthPolicy.targetHeightArray[Math.min(this.getNumberOfPublishedVideoSources(), NScaleVideoUplinkBandwidthPolicy.targetHeightArray.length - 1)];\\n //Workaround for issue https://github.com/aws/amazon-chime-sdk-js/issues/2002\\n if (targetHeight === 480 && ((_a = this.browserBehavior) === null || _a === void 0 ? void 0 : _a.disable480pResolutionScaleDown())) {\\n targetHeight = 360;\\n }\\n scale = Math.max(Math.min(setting.height, setting.width) / targetHeight, 1);\\n (_b = this.logger) === null || _b === void 0 ? void 0 : _b.info(`Resolution scale factor is ${scale} for capture resolution ${setting.width}x${setting.height}. New dimension is ${setting.width / scale}x${setting.height / scale}`);\\n }\\n return {\\n scaleResolutionDownBy: scale,\\n maxBitrate: maxBitrate,\\n };\\n }\\n getStreamCaptureSetting() {\\n var _a, _b, _c, _d;\\n return (_d = (_c = (_b = (_a = this.transceiverController) === null || _a === void 0 ? void 0 : _a.localVideoTransceiver()) === null || _b === void 0 ? void 0 : _b.sender) === null || _c === void 0 ? void 0 : _c.track) === null || _d === void 0 ? void 0 : _d.getSettings();\\n }\\n getNumberOfPublishedVideoSources() {\\n var _a;\\n /* istanbul ignore next: policy calculation is dependent on index so this is never undefined at time of use */\\n return (_a = this.numberOfPublishedVideoSources) !== null && _a !== void 0 ? _a : 0;\\n }\\n}\\nexports[\\\"default\\\"] = NScaleVideoUplinkBandwidthPolicy;\\nNScaleVideoUplinkBandwidthPolicy.encodingMapKey = 'video';\\n// 0, 1, 2 have dummy value as we keep the original resolution if we have less than 2 videos.\\nNScaleVideoUplinkBandwidthPolicy.targetHeightArray = [\\n 0,\\n 0,\\n 0,\\n 540,\\n 540,\\n 480,\\n 480,\\n 480,\\n 480,\\n 360,\\n 360,\\n 360,\\n 360,\\n 270,\\n 270,\\n 270,\\n 270,\\n 180,\\n 180,\\n 180,\\n 180,\\n 180,\\n 180,\\n 180,\\n 180,\\n 180,\\n];\\n//# sourceMappingURL=NScaleVideoUplinkBandwidthPolicy.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/NScaleVideoUplinkBandwidthPolicy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/NoVideoUplinkBandwidthPolicy.js\":\n/*!***********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/NoVideoUplinkBandwidthPolicy.js ***!\n \\***********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultVideoCaptureAndEncodeParameter_1 = __webpack_require__(/*! ../videocaptureandencodeparameter/DefaultVideoCaptureAndEncodeParameter */ \\\"./node_modules/amazon-chime-sdk-js/build/videocaptureandencodeparameter/DefaultVideoCaptureAndEncodeParameter.js\\\");\\nclass NoVideoUplinkBandwidthPolicy {\\n constructor() { }\\n updateConnectionMetric(_metrics) { }\\n chooseMediaTrackConstraints() {\\n return {};\\n }\\n chooseEncodingParameters() {\\n return new Map();\\n }\\n updateIndex(_videoIndex) { }\\n wantsResubscribe() {\\n return false;\\n }\\n chooseCaptureAndEncodeParameters() {\\n return new DefaultVideoCaptureAndEncodeParameter_1.default(0, 0, 0, 0, false);\\n }\\n maxBandwidthKbps() {\\n return 0;\\n }\\n setIdealMaxBandwidthKbps(_idealMaxBandwidthKbps) { }\\n setHasBandwidthPriority(_hasBandwidthPriority) { }\\n}\\nexports[\\\"default\\\"] = NoVideoUplinkBandwidthPolicy;\\n//# sourceMappingURL=NoVideoUplinkBandwidthPolicy.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/videouplinkbandwidthpolicy/NoVideoUplinkBandwidthPolicy.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/voicefocus/LoggerAdapter.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/voicefocus/LoggerAdapter.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/** @internal */\\nfunction stringify(args) {\\n return args\\n .map((v) => {\\n if (typeof v === 'object') {\\n return JSON.stringify(v);\\n }\\n return `${v}`;\\n })\\n .join(' ');\\n}\\n/** @internal */\\nclass LoggerAdapter {\\n constructor(base) {\\n this.base = base;\\n }\\n debug(...args) {\\n this.base.debug(stringify(args));\\n }\\n info(...args) {\\n this.base.info(stringify(args));\\n }\\n warn(...args) {\\n this.base.warn(stringify(args));\\n }\\n error(...args) {\\n this.base.error(stringify(args));\\n }\\n}\\nexports[\\\"default\\\"] = LoggerAdapter;\\n//# sourceMappingURL=LoggerAdapter.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/voicefocus/LoggerAdapter.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/voicefocus/VoiceFocusDeviceTransformer.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/voicefocus/VoiceFocusDeviceTransformer.js ***!\n \\******************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.VoiceFocusDeviceTransformer = void 0;\\nconst voicefocus_1 = __webpack_require__(/*! ../../libs/voicefocus/voicefocus */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/voicefocus.js\\\");\\nconst Utils_1 = __webpack_require__(/*! ../utils/Utils */ \\\"./node_modules/amazon-chime-sdk-js/build/utils/Utils.js\\\");\\nconst Versioning_1 = __webpack_require__(/*! ../versioning/Versioning */ \\\"./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js\\\");\\nconst LoggerAdapter_1 = __webpack_require__(/*! ./LoggerAdapter */ \\\"./node_modules/amazon-chime-sdk-js/build/voicefocus/LoggerAdapter.js\\\");\\nconst VoiceFocusTransformDevice_1 = __webpack_require__(/*! ./VoiceFocusTransformDevice */ \\\"./node_modules/amazon-chime-sdk-js/build/voicefocus/VoiceFocusTransformDevice.js\\\");\\nconst VoiceFocusTransformDeviceDelegate_1 = __webpack_require__(/*! ./VoiceFocusTransformDeviceDelegate */ \\\"./node_modules/amazon-chime-sdk-js/build/voicefocus/VoiceFocusTransformDeviceDelegate.js\\\");\\n/**\\n * `VoiceFocusDeviceTransformer` is used to create {@link VoiceFocusTransformDevice|transform devices}\\n * that apply Amazon Voice Focus noise suppression to audio input.\\n *\\n * This transformer captures relevant configuration. You should check for support, initialize,\\n * and then create a device as follows:\\n *\\n * ```typescript\\n * const deviceID = null;\\n *\\n * // This check for support is cheap and quick, and should be used to gate use\\n * // of this feature.\\n * if (!(await VoiceFocusDeviceTransformer.isSupported()) {\\n * console.log('Amazon Voice Focus not supported in this browser.');\\n * return deviceID;\\n * }\\n *\\n * let transformer: VoiceFocusDeviceTransformer;\\n * try {\\n * // This operation can fail in ways that do not indicate no support,\\n * // but do indicate an inability to apply Amazon Voice Focus. Trying again\\n * // might succeed.\\n * transformer = await VoiceFocusDeviceTransformer.create({});\\n * } catch (e) {\\n * // Something went wrong.\\n * console.log('Unable to instantiate Amazon Voice Focus.');\\n * return deviceID;\\n * }\\n *\\n * if (!transformer.isSupported()) {\\n * // The transformer will fall through, but your UI might care.\\n * console.log('Amazon Voice Focus not supported in this browser.');\\n * }\\n *\\n * return await transformer.createTransformDevice(deviceID);\\n * ```\\n */\\nclass VoiceFocusDeviceTransformer {\\n constructor(spec, { preload = true, logger, fetchBehavior = VoiceFocusDeviceTransformer.defaultFetchBehavior(), }, config) {\\n this.spec = spec;\\n this.supported = true;\\n this.logger = logger;\\n this.vfLogger = logger ? new LoggerAdapter_1.default(logger) : undefined;\\n this.preload = preload;\\n this.fetchBehavior = fetchBehavior;\\n // If the user didn't specify one, add the default, which is\\n // identified by the major and minor SDK version.\\n this.spec = VoiceFocusDeviceTransformer.augmentSpec(this.spec);\\n if (config) {\\n this.configuration = Promise.resolve(config);\\n }\\n }\\n /**\\n * Quickly check whether Amazon Voice Focus is supported on this platform.\\n *\\n * This will return `false` if key technologies are absent. A value of `true` does not\\n * necessarily mean that adding Amazon Voice Focus will succeed: it is still possible that the\\n * configuration of the page or the CPU speed of the device are limiting factors.\\n *\\n * {@link VoiceFocusDeviceTransformer.create} will return an instance whose\\n * `isSupported` method more accurately reflects whether Amazon Voice Focus\\n * is supported in the current environment.\\n *\\n * This method will only reject if you provide invalid inputs.\\n *\\n * @param spec An optional asset group and URL paths to use when fetching. You can pass\\n * a complete {@link VoiceFocusSpec} here for convenience, matching the signature of {@link VoiceFocusDeviceTransformer.create}.\\n * @param options Additional named arguments, including `logger`. Set\\n * `allowIFrame` to false to cause the support check to fail in\\n * an iframe.\\n * Chromium's security model means that audio processing works\\n * poorly in iframes.\\n */\\n static isSupported(spec, options) {\\n var _a, _b;\\n const fetchBehavior = VoiceFocusDeviceTransformer.defaultFetchBehavior();\\n const logger = (options === null || options === void 0 ? void 0 : options.logger) ? new LoggerAdapter_1.default(options.logger) : undefined;\\n const opts = {\\n fetchBehavior,\\n logger,\\n };\\n // This is impossible to test in Node, so Istanbul ignore.\\n /* istanbul ignore next */\\n if (Utils_1.isIFramed()) {\\n if ((options === null || options === void 0 ? void 0 : options.allowIFrame) === false) {\\n (_a = options === null || options === void 0 ? void 0 : options.logger) === null || _a === void 0 ? void 0 : _a.error('Amazon Voice Focus support check inside iframe: not supported.');\\n return Promise.resolve(false);\\n }\\n else {\\n (_b = options === null || options === void 0 ? void 0 : options.logger) === null || _b === void 0 ? void 0 : _b.warn('Amazon Voice Focus support check inside iframe: not recommended.');\\n }\\n }\\n return voicefocus_1.VoiceFocus.isSupported(VoiceFocusDeviceTransformer.augmentSpec(spec), opts);\\n }\\n /**\\n * Create a transformer that can apply Amazon Voice Focus noise suppression to a device.\\n *\\n * This method will reject if the provided spec is invalid, or if the process of\\n * checking for support or estimating fails (e.g., because the network is unreachable).\\n *\\n * If Amazon Voice Focus is not supported on this device, this call will not reject and\\n * `isSupported` will return `false` on the returned instance. That instance will\\n * pass through devices unmodified.\\n *\\n * @param spec A definition of how you want Amazon Voice Focus to behave. See the declaration of\\n * {@link VoiceFocusSpec} for details.\\n * @param options Additional named arguments, including `logger` and `preload`.\\n */\\n static create(spec = {}, options = {}, config, \\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n createMeetingResponse, \\n // eslint-disable-next-line\\n createAttendeeResponse) {\\n var _a, _b, _c;\\n return __awaiter(this, void 0, void 0, function* () {\\n if (createMeetingResponse) {\\n if (createMeetingResponse.Meeting.Meeting) {\\n createMeetingResponse = createMeetingResponse.Meeting;\\n }\\n }\\n const meetingFeaturesAllowsES = ((_c = (_b = (_a = createMeetingResponse === null || createMeetingResponse === void 0 ? void 0 : createMeetingResponse.Meeting) === null || _a === void 0 ? void 0 : _a.MeetingFeatures) === null || _b === void 0 ? void 0 : _b.Audio) === null || _c === void 0 ? void 0 : _c.EchoReduction) === 'AVAILABLE';\\n const forbiddenConfig = config &&\\n config.supported === true &&\\n config.model.name === 'ns_es' &&\\n !meetingFeaturesAllowsES;\\n const forbiddenSpec = spec.name === 'ns_es' && !meetingFeaturesAllowsES;\\n if (forbiddenConfig || forbiddenSpec) {\\n throw new Error('Echo Reduction requested but not enabled.');\\n }\\n const transformer = new VoiceFocusDeviceTransformer(spec, options, config);\\n // This also preps the first `VoiceFocus` instance.\\n yield transformer.init();\\n return transformer;\\n });\\n }\\n /**\\n * Given a spec and options, perform the configuration work that is\\n * ordinarily performed during creation of a transformer.\\n *\\n * The computed configuration is not portable between devices or sessions,\\n * but is useful for 'moving' transformers between windows.\\n *\\n * Pass the returned configuration as the third argument to a call to\\n * {@link VoiceFocusDeviceTransformer.create} with the matching spec.\\n */\\n static configure(spec = {}, options = {}) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const transformer = new VoiceFocusDeviceTransformer(spec, options, undefined);\\n return transformer.configure(true);\\n });\\n }\\n /**\\n * Return the computed configuration for this transformer.\\n */\\n getConfiguration() {\\n return this.configuration;\\n }\\n /**\\n * Return whether this transformer is able to function in this environment.\\n * If not, calls to\\n * {@link VoiceFocusDeviceTransformer.createTransformDevice|createTransformDevice}\\n * will pass through an unmodified device.\\n */\\n isSupported() {\\n return this.supported;\\n }\\n /**\\n * Apply Amazon Voice Focus to the selected {@link Device}.\\n *\\n * If this is a stream, it should be one that does not include other noise suppression features,\\n * and you should consider whether to disable automatic gain control (AGC) on the stream, because\\n * it can interact with noise suppression.\\n *\\n * @returns a device promise. This will always resolve to either a\\n * {@link VoiceFocusTransformDevice} or undefined; it will never reject.\\n */\\n createTransformDevice(device, nodeOptions) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this.supported) {\\n // Fall back.\\n return undefined;\\n }\\n try {\\n const preload = true;\\n const [vf, delegate] = yield this.allocateVoiceFocus(preload);\\n const options = Object.assign(Object.assign({}, nodeOptions), { es: this.spec.name === 'ns_es' });\\n return new VoiceFocusTransformDevice_1.default(device, vf, delegate, options);\\n }\\n catch (e) {\\n // Fall back.\\n /* istanbul ignore next */\\n return undefined;\\n }\\n });\\n }\\n /**\\n * Destroy the Voice Focus instance and worker thread associated with the transformer.\\n */\\n static destroyVoiceFocus(transformer) {\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n /* istanbul ignore next */\\n (_a = transformer === null || transformer === void 0 ? void 0 : transformer.vf) === null || _a === void 0 ? void 0 : _a.destroy();\\n });\\n }\\n static augmentSpec(spec) {\\n if (!spec || (!spec.assetGroup && !spec.revisionID)) {\\n return Object.assign(Object.assign({}, spec), { assetGroup: VoiceFocusDeviceTransformer.currentSDKAssetGroup() });\\n }\\n return spec;\\n }\\n configure(preResolve = false) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const options = {\\n fetchBehavior: this.fetchBehavior,\\n preResolve,\\n logger: this.vfLogger,\\n };\\n return voicefocus_1.VoiceFocus.configure(this.spec, options);\\n });\\n }\\n init() {\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this.configuration) {\\n this.configuration = this.configure();\\n }\\n const config = yield this.configuration;\\n if (!config.supported) {\\n // No need to init: it won't work.\\n this.supported = false;\\n return;\\n }\\n // We initialize the first one right now, which makes it easier to detect\\n // possible failures.\\n // This can throw for malformed input. Pass that up the chain.\\n this.pendingVoiceFocus = this.createVoiceFocus(config, this.preload);\\n try {\\n yield this.pendingVoiceFocus;\\n }\\n catch (e) {\\n (_a = this.logger) === null || _a === void 0 ? void 0 : _a.error(`Unable to initialize Amazon Voice Focus: ${e}`);\\n this.supported = false;\\n }\\n });\\n }\\n createVoiceFocus(config, preload) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const delegate = new VoiceFocusTransformDeviceDelegate_1.default();\\n this.vf = yield voicefocus_1.VoiceFocus.init(config, { delegate, preload, logger: this.vfLogger });\\n return [this.vf, delegate];\\n });\\n }\\n allocateVoiceFocus(preload) {\\n return __awaiter(this, void 0, void 0, function* () {\\n // A little safety.\\n /* istanbul ignore next */\\n if (!this.supported) {\\n throw new Error('Not supported.');\\n }\\n if (this.pendingVoiceFocus) {\\n // Use the one we already have, and free the slot for any future execution.\\n const vf = this.pendingVoiceFocus;\\n this.pendingVoiceFocus = undefined;\\n return vf;\\n }\\n return this.createVoiceFocus(yield this.configuration, preload);\\n });\\n }\\n static majorVersion() {\\n return Versioning_1.default.sdkVersion.match(/^[1-9][0-9]*\\\\.(?:0|[1-9][0-9]*)/)[0];\\n }\\n static majorMinorVersion() {\\n return Versioning_1.default.sdkVersion.match(/^[1-9][0-9]*\\\\.(?:0|(?:[1-9][0-9]*))\\\\.(?:0|[1-9][0-9]*)/)[0];\\n }\\n static currentSDKAssetGroup() {\\n // Just on the off chance someone does something silly, handle\\n // malformed version strings here.\\n const v = this.majorVersion();\\n // Just a little safety.\\n /* istanbul ignore next */\\n if (!v) {\\n return `stable-v1`;\\n }\\n return `sdk-${v}`;\\n }\\n // Note that we use query strings here, not headers, in order to make these requests 'simple' and\\n // avoid the need for CORS preflights.\\n // Be very, very careful if you choose to add headers here. You should never need to.\\n static defaultFetchBehavior() {\\n // Just a little safety.\\n /* istanbul ignore next */\\n const version = VoiceFocusDeviceTransformer.majorMinorVersion() || 'unknown';\\n const ua = Versioning_1.default.sdkUserAgentLowResolution;\\n return {\\n escapedQueryString: `sdk=${encodeURIComponent(version)}&ua=${encodeURIComponent(ua)}`,\\n };\\n }\\n}\\nexports.VoiceFocusDeviceTransformer = VoiceFocusDeviceTransformer;\\nexports[\\\"default\\\"] = VoiceFocusDeviceTransformer;\\n//# sourceMappingURL=VoiceFocusDeviceTransformer.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/voicefocus/VoiceFocusDeviceTransformer.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/voicefocus/VoiceFocusTransformDevice.js\":\n/*!****************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/voicefocus/VoiceFocusTransformDevice.js ***!\n \\****************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst DefaultBrowserBehavior_1 = __webpack_require__(/*! ../browserbehavior/DefaultBrowserBehavior */ \\\"./node_modules/amazon-chime-sdk-js/build/browserbehavior/DefaultBrowserBehavior.js\\\");\\n/**\\n * A device that augments a {@link Device} to apply Amazon Voice Focus\\n * noise suppression to an audio input.\\n */\\nclass VoiceFocusTransformDevice {\\n /** @internal */\\n constructor(device, voiceFocus, delegate, nodeOptions, failed = false, node = undefined, browserBehavior = new DefaultBrowserBehavior_1.default(), \\n /** farEndStreams` maps from a stream that could cause echo or interfere with double talkto an `AudioSourceNode` that we use to mix multiple such streams.*/\\n farEndStreamToAudioSourceNode = new Map(), \\n /** mixDestNode is the Audio Destination Node where farEndStreams got mixed into one stream.*/\\n mixDestNode = undefined, \\n /** mixSourceNode is the Audio Source Node where the stream out of mixDestNode got transferred into Audio Worklet Node for processing.*/\\n mixSourceNode = undefined) {\\n this.device = device;\\n this.voiceFocus = voiceFocus;\\n this.delegate = delegate;\\n this.nodeOptions = nodeOptions;\\n this.failed = failed;\\n this.node = node;\\n this.browserBehavior = browserBehavior;\\n this.farEndStreamToAudioSourceNode = farEndStreamToAudioSourceNode;\\n this.mixDestNode = mixDestNode;\\n this.mixSourceNode = mixSourceNode;\\n }\\n /**\\n * Return the inner device as provided during construction, or updated via\\n * {@link VoiceFocusTransformDevice.chooseNewInnerDevice}. Do not confuse\\n * this method with {@link VoiceFocusTransformDevice.intrinsicDevice}.\\n */\\n getInnerDevice() {\\n return this.device;\\n }\\n /**\\n * Disable the audio node while muted to reduce CPU usage.\\n *\\n * @param muted whether the audio device should be muted.\\n */\\n mute(muted) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this.node) {\\n return;\\n }\\n if (muted) {\\n yield this.node.disable();\\n }\\n else {\\n yield this.node.enable();\\n }\\n });\\n }\\n /**\\n * Dispose of the inner workings of the transform device. After this method is called\\n * you will need to create a new device to use Amazon Voice Focus again.\\n */\\n stop() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this.node) {\\n return;\\n }\\n this.node.disconnect();\\n yield this.node.stop();\\n });\\n }\\n /**\\n * If you wish to choose a different inner device, but continue to use Amazon Voice Focus, you\\n * can use this method to efficiently create a new device that will reuse\\n * the same internal state. Only one of the two devices can be used at a time: switch\\n * between them using {@link DeviceController.startAudioInput}.\\n *\\n * If the same device is passed as is currently in use, `this` is returned.\\n *\\n * @param inner The new inner device to use.\\n */\\n chooseNewInnerDevice(inner) {\\n return __awaiter(this, void 0, void 0, function* () {\\n // If the new device is 'default', always recreate. Chrome can switch out\\n // the real device underneath us.\\n if (this.device === inner && !isDefaultDevice(inner)) {\\n return this;\\n }\\n return new VoiceFocusTransformDevice(inner, this.voiceFocus, this.delegate, this.nodeOptions, this.failed, this.node, this.browserBehavior, this.farEndStreamToAudioSourceNode, this.mixDestNode, this.mixSourceNode);\\n });\\n }\\n intrinsicDevice() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.failed) {\\n return this.device;\\n }\\n const isUsingES = this.nodeOptions.es;\\n // Turn the Device into constraints with appropriate AGC settings.\\n const trackConstraints = {\\n echoCancellation: !isUsingES,\\n // @ts-ignore\\n googEchoCancellation: !isUsingES,\\n // @ts-ignore\\n googEchoCancellation2: !isUsingES,\\n noiseSuppression: false,\\n // @ts-ignore\\n googNoiseSuppression: false,\\n // @ts-ignore\\n googHighpassFilter: false,\\n // @ts-ignore\\n googNoiseSuppression2: false,\\n };\\n let useBuiltInAGC;\\n if (this.nodeOptions && this.nodeOptions.agc !== undefined) {\\n useBuiltInAGC = this.nodeOptions.agc.useBuiltInAGC;\\n }\\n else {\\n useBuiltInAGC = true;\\n }\\n trackConstraints.autoGainControl = useBuiltInAGC;\\n // @ts-ignore\\n trackConstraints.googAutoGainControl = useBuiltInAGC;\\n // @ts-ignore\\n trackConstraints.googAutoGainControl2 = useBuiltInAGC;\\n // Empty string and null.\\n if (!this.device) {\\n return trackConstraints;\\n }\\n // Device ID.\\n if (typeof this.device === 'string') {\\n /* istanbul ignore if */\\n if (this.browserBehavior.requiresNoExactMediaStreamConstraints()) {\\n trackConstraints.deviceId = this.device;\\n }\\n else {\\n trackConstraints.deviceId = { exact: this.device };\\n }\\n return trackConstraints;\\n }\\n // It's a stream.\\n if (this.device.id) {\\n // Nothing we can do.\\n return this.device;\\n }\\n // It's constraints.\\n return Object.assign(Object.assign({}, this.device), trackConstraints);\\n });\\n }\\n createAudioNode(context) {\\n var _a, _b;\\n return __awaiter(this, void 0, void 0, function* () {\\n if (((_a = this.node) === null || _a === void 0 ? void 0 : _a.context) === context) {\\n return {\\n start: this.node,\\n end: this.node,\\n };\\n }\\n const agc = { useVoiceFocusAGC: false };\\n const options = Object.assign({ enabled: true, agc }, this.nodeOptions);\\n try {\\n (_b = this.node) === null || _b === void 0 ? void 0 : _b.disconnect();\\n this.node = yield this.voiceFocus.createNode(context, options);\\n if (this.nodeOptions.es) {\\n this.mixDestNode = new MediaStreamAudioDestinationNode(context, {\\n channelCount: 1,\\n channelCountMode: 'explicit',\\n });\\n for (const stream of this.farEndStreamToAudioSourceNode.keys()) {\\n this.assignFarEndStreamToAudioSourceNode(stream);\\n }\\n this.createMixSourceNode();\\n }\\n const start = this.node;\\n const end = this.node;\\n return { start, end };\\n }\\n catch (e) {\\n // It's better to return some audio stream than nothing.\\n this.failed = true;\\n this.delegate.onFallback(this, e);\\n throw e;\\n }\\n });\\n }\\n observeMeetingAudio(audioVideo) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this.nodeOptions.es) {\\n return;\\n }\\n audioVideo.addAudioMixObserver(this);\\n const stream = yield audioVideo.getCurrentMeetingAudioStream();\\n if (stream) {\\n this.addFarEndStream(stream);\\n }\\n });\\n }\\n unObserveMeetingAudio(audioVideo) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this.nodeOptions.es) {\\n return;\\n }\\n audioVideo.removeAudioMixObserver(this);\\n const stream = yield audioVideo.getCurrentMeetingAudioStream();\\n if (stream) {\\n this.removeFarendStream(stream);\\n }\\n });\\n }\\n /**\\n * Add an observer to receive notifications about Amazon Voice Focus lifecycle events.\\n * See {@link VoiceFocusTransformDeviceObserver} for details.\\n * If the observer has already been added, this method call has no effect.\\n */\\n addObserver(observer) {\\n this.delegate.addObserver(observer);\\n }\\n /**\\n * Remove an existing observer. If the observer has not been previously {@link\\n * VoiceFocusTransformDevice.addObserver|added}, this method call has no effect.\\n */\\n removeObserver(observer) {\\n this.delegate.removeObserver(observer);\\n }\\n addFarEndStream(activeStream) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (!this.nodeOptions.es ||\\n !activeStream ||\\n this.farEndStreamToAudioSourceNode.has(activeStream)) {\\n return;\\n }\\n if (this.node) {\\n this.assignFarEndStreamToAudioSourceNode(activeStream);\\n }\\n else {\\n this.farEndStreamToAudioSourceNode.set(activeStream, null);\\n }\\n });\\n }\\n removeFarendStream(inactiveStream) {\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n (_a = this.farEndStreamToAudioSourceNode.get(inactiveStream)) === null || _a === void 0 ? void 0 : _a.disconnect();\\n this.farEndStreamToAudioSourceNode.delete(inactiveStream);\\n });\\n }\\n meetingAudioStreamBecameActive(activeStream) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.addFarEndStream(activeStream);\\n });\\n }\\n meetingAudioStreamBecameInactive(inactiveStream) {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.removeFarendStream(inactiveStream);\\n });\\n }\\n assignFarEndStreamToAudioSourceNode(streamToAdd) {\\n const streamNodeToAdd = this.node.context.createMediaStreamSource(streamToAdd);\\n streamNodeToAdd.channelCount = 1;\\n streamNodeToAdd.channelCountMode = 'explicit';\\n this.farEndStreamToAudioSourceNode.set(streamToAdd, streamNodeToAdd);\\n streamNodeToAdd.connect(this.mixDestNode, 0);\\n }\\n createMixSourceNode() {\\n this.mixSourceNode = this.node.context.createMediaStreamSource(this.mixDestNode.stream);\\n this.mixSourceNode.channelCount = 1;\\n this.mixSourceNode.channelCountMode = 'explicit';\\n this.mixSourceNode.connect(this.node, 0, 1);\\n }\\n}\\nfunction isDefaultDevice(device) {\\n if (device === 'default') {\\n return true;\\n }\\n if (!device || typeof device !== 'object') {\\n return false;\\n }\\n if ('deviceId' in device && device.deviceId === 'default') {\\n return true;\\n }\\n if ('id' in device && device.id === 'default') {\\n return true;\\n }\\n return false;\\n}\\nexports[\\\"default\\\"] = VoiceFocusTransformDevice;\\n//# sourceMappingURL=VoiceFocusTransformDevice.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/voicefocus/VoiceFocusTransformDevice.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/voicefocus/VoiceFocusTransformDeviceDelegate.js\":\n/*!************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/voicefocus/VoiceFocusTransformDeviceDelegate.js ***!\n \\************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\n/** @internal */\\nclass VoiceFocusTransformDeviceDelegate {\\n constructor() {\\n this.observers = new Set();\\n }\\n addObserver(observer) {\\n this.observers.add(observer);\\n }\\n removeObserver(observer) {\\n this.observers.delete(observer);\\n }\\n /** @internal */\\n onFallback(device, e) {\\n var _a;\\n for (const observer of this.observers) {\\n (_a = observer.voiceFocusFellBackToInnerStream) === null || _a === void 0 ? void 0 : _a.call(observer, device, e);\\n }\\n }\\n onCPUWarning() {\\n var _a;\\n for (const observer of this.observers) {\\n (_a = observer.voiceFocusInsufficientResources) === null || _a === void 0 ? void 0 : _a.call(observer);\\n }\\n }\\n}\\nexports[\\\"default\\\"] = VoiceFocusTransformDeviceDelegate;\\n//# sourceMappingURL=VoiceFocusTransformDeviceDelegate.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/voicefocus/VoiceFocusTransformDeviceDelegate.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/volumeindicatoradapter/DefaultVolumeIndicatorAdapter.js\":\n/*!********************************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/volumeindicatoradapter/DefaultVolumeIndicatorAdapter.js ***!\n \\********************************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nclass DefaultVolumeIndicatorAdapter {\\n constructor(logger, realtimeController, minVolumeDecibels, maxVolumeDecibels, selfAttendeeId) {\\n this.logger = logger;\\n this.realtimeController = realtimeController;\\n this.minVolumeDecibels = minVolumeDecibels;\\n this.maxVolumeDecibels = maxVolumeDecibels;\\n this.selfAttendeeId = selfAttendeeId;\\n this.streamIdToAttendeeId = {};\\n this.streamIdToExternalUserId = {};\\n this.warnedAboutMissingStreamIdMapping = {};\\n this.attendeeIdToStreamId = {};\\n this.sessionReconnected = false;\\n }\\n onReconnect() {\\n this.sessionReconnected = true;\\n }\\n sendRealtimeUpdatesForAudioStreamIdInfo(info) {\\n let streamIndex = 0;\\n for (const stream of info.streams) {\\n const hasAttendeeId = !!stream.attendeeId;\\n const hasExternalUserId = !!stream.externalUserId;\\n const hasMuted = stream.hasOwnProperty('muted');\\n const hasDropped = !!stream.dropped;\\n if (hasAttendeeId) {\\n if (!!this.attendeeIdToStreamId[stream.attendeeId] &&\\n this.attendeeIdToStreamId[stream.attendeeId] < stream.audioStreamId) {\\n delete this.attendeeIdToStreamId[stream.attendeeId];\\n }\\n this.streamIdToAttendeeId[stream.audioStreamId] = stream.attendeeId;\\n const externalUserId = hasExternalUserId ? stream.externalUserId : stream.attendeeId;\\n this.streamIdToExternalUserId[stream.audioStreamId] = externalUserId;\\n this.attendeeIdToStreamId[stream.attendeeId] = stream.audioStreamId;\\n this.realtimeController.realtimeSetAttendeeIdPresence(stream.attendeeId, true, externalUserId, false, { attendeeIndex: streamIndex++, attendeesInFrame: info.streams.length });\\n }\\n if (hasMuted) {\\n const attendeeId = this.streamIdToAttendeeId[stream.audioStreamId];\\n const externalUserId = this.streamIdToExternalUserId[stream.audioStreamId];\\n this.realtimeController.realtimeUpdateVolumeIndicator(attendeeId, null, stream.muted, null, externalUserId);\\n }\\n if (!hasAttendeeId && !hasMuted) {\\n const attendeeId = this.streamIdToAttendeeId[stream.audioStreamId];\\n if (attendeeId) {\\n const externalUserId = this.streamIdToExternalUserId[stream.audioStreamId];\\n delete this.streamIdToAttendeeId[stream.audioStreamId];\\n delete this.streamIdToExternalUserId[stream.audioStreamId];\\n delete this.warnedAboutMissingStreamIdMapping[stream.audioStreamId];\\n if (this.attendeeIdToStreamId[attendeeId] === stream.audioStreamId) {\\n delete this.attendeeIdToStreamId[attendeeId];\\n }\\n let attendeeHasNewStreamId = false;\\n for (const otherStreamId of Object.keys(this.streamIdToAttendeeId)) {\\n const otherStreamIdNumber = parseInt(otherStreamId);\\n if (otherStreamIdNumber > stream.audioStreamId &&\\n this.streamIdToAttendeeId[otherStreamIdNumber] === attendeeId) {\\n attendeeHasNewStreamId = true;\\n break;\\n }\\n }\\n if (!attendeeHasNewStreamId) {\\n this.realtimeController.realtimeSetAttendeeIdPresence(attendeeId, false, externalUserId, hasDropped, { attendeeIndex: streamIndex++, attendeesInFrame: info.streams.length });\\n }\\n }\\n }\\n }\\n if (this.sessionReconnected) {\\n this.cleanUpState(info);\\n this.sessionReconnected = false;\\n }\\n }\\n cleanUpState(info) {\\n const localAttendeeIds = Object.values(this.streamIdToAttendeeId);\\n const remoteAttendeeIds = info.streams.map(stream => stream.attendeeId);\\n const deletedAttendeeIds = localAttendeeIds.filter(id => {\\n return !remoteAttendeeIds.includes(id);\\n });\\n for (const [index, deletedAttendeeId] of deletedAttendeeIds.entries()) {\\n const streamId = this.attendeeIdToStreamId[deletedAttendeeId];\\n const externalUserId = this.streamIdToExternalUserId[streamId];\\n delete this.streamIdToAttendeeId[streamId];\\n delete this.streamIdToExternalUserId[streamId];\\n delete this.warnedAboutMissingStreamIdMapping[streamId];\\n delete this.attendeeIdToStreamId[deletedAttendeeId];\\n // During reconnection, the audio info frame might not include self attendee.\\n // However, if that happens, there would be another audio info frame with the self attendee after reconnection.\\n // So we should not send leave event here for self attendee.\\n if (deletedAttendeeId === this.selfAttendeeId) {\\n this.logger.warn(`the volume indicator adapter cleans up the current attendee (presence = false) after reconnection`);\\n continue;\\n }\\n // The reconnect event does not have information whether the attendee is dropped/left.\\n // Defaulting to attendee leaving the meeting\\n this.realtimeController.realtimeSetAttendeeIdPresence(deletedAttendeeId, false, externalUserId, false, { attendeeIndex: index, attendeesInFrame: deletedAttendeeId.length });\\n }\\n }\\n sendRealtimeUpdatesForAudioMetadata(metadata) {\\n let volumes = null;\\n let signalStrengths = null;\\n for (const state of metadata.attendeeStates) {\\n const attendeeId = this.attendeeIdForStreamId(state.audioStreamId);\\n if (state.hasOwnProperty('volume')) {\\n if (volumes === null) {\\n volumes = {};\\n }\\n if (attendeeId !== null) {\\n // @ts-ignore: TODO fix this protobufjs issue\\n volumes[attendeeId] = this.normalizedVolume(state);\\n }\\n }\\n if (state.hasOwnProperty('signalStrength')) {\\n if (signalStrengths === null) {\\n signalStrengths = {};\\n }\\n if (attendeeId !== null) {\\n // @ts-ignore: TODO fix this protobufjs issue\\n signalStrengths[attendeeId] = this.normalizedSignalStrength(state);\\n }\\n }\\n }\\n this.applyRealtimeUpdatesForAudioMetadata(volumes, signalStrengths);\\n }\\n normalizedVolume(state) {\\n const dBVolume = -state.volume;\\n const normalized = 1.0 - (dBVolume - this.maxVolumeDecibels) / (this.minVolumeDecibels - this.maxVolumeDecibels);\\n const clipped = Math.min(Math.max(normalized, 0.0), 1.0);\\n return clipped;\\n }\\n normalizedSignalStrength(state) {\\n const normalized = state.signalStrength / DefaultVolumeIndicatorAdapter.MAX_SIGNAL_STRENGTH_LEVELS;\\n const clipped = Math.min(Math.max(normalized, 0.0), 1.0);\\n return clipped;\\n }\\n applyRealtimeUpdatesForAudioMetadata(volumes, signalStrengths) {\\n for (const streamId in this.streamIdToAttendeeId) {\\n const attendeeId = this.streamIdToAttendeeId[streamId];\\n const externalUserId = this.streamIdToExternalUserId[streamId];\\n let volumeUpdate = null;\\n let signalStrengthUpdate = null;\\n if (volumes !== null) {\\n if (volumes.hasOwnProperty(attendeeId)) {\\n volumeUpdate = volumes[attendeeId];\\n }\\n else {\\n volumeUpdate = DefaultVolumeIndicatorAdapter.IMPLICIT_VOLUME;\\n }\\n }\\n if (signalStrengths !== null) {\\n if (signalStrengths.hasOwnProperty(attendeeId)) {\\n signalStrengthUpdate = signalStrengths[attendeeId];\\n }\\n else {\\n signalStrengthUpdate = DefaultVolumeIndicatorAdapter.IMPLICIT_SIGNAL_STRENGTH;\\n }\\n }\\n if (volumeUpdate !== null || signalStrengthUpdate !== null) {\\n this.realtimeController.realtimeUpdateVolumeIndicator(attendeeId, volumeUpdate, null, signalStrengthUpdate, externalUserId);\\n }\\n }\\n }\\n attendeeIdForStreamId(streamId) {\\n if (streamId === 0) {\\n return null;\\n }\\n const attendeeId = this.streamIdToAttendeeId[streamId];\\n if (attendeeId) {\\n return attendeeId;\\n }\\n if (!this.warnedAboutMissingStreamIdMapping[streamId]) {\\n this.warnedAboutMissingStreamIdMapping[streamId] = true;\\n this.logger.warn(`volume indicator stream id ${streamId} seen before being defined`);\\n }\\n return null;\\n }\\n}\\nexports[\\\"default\\\"] = DefaultVolumeIndicatorAdapter;\\nDefaultVolumeIndicatorAdapter.MAX_SIGNAL_STRENGTH_LEVELS = 2;\\nDefaultVolumeIndicatorAdapter.IMPLICIT_VOLUME = 0;\\nDefaultVolumeIndicatorAdapter.IMPLICIT_SIGNAL_STRENGTH = 1;\\n//# sourceMappingURL=DefaultVolumeIndicatorAdapter.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/volumeindicatoradapter/DefaultVolumeIndicatorAdapter.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/websocketadapter/DefaultWebSocketAdapter.js\":\n/*!********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/websocketadapter/DefaultWebSocketAdapter.js ***!\n \\********************************************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst Versioning_1 = __webpack_require__(/*! ../versioning/Versioning */ \\\"./node_modules/amazon-chime-sdk-js/build/versioning/Versioning.js\\\");\\nconst WebSocketReadyState_1 = __webpack_require__(/*! ./WebSocketReadyState */ \\\"./node_modules/amazon-chime-sdk-js/build/websocketadapter/WebSocketReadyState.js\\\");\\nclass DefaultWebSocketAdapter {\\n constructor(logger) {\\n this.logger = logger;\\n }\\n create(url, protocols, isSignedUrl) {\\n this.connection = new WebSocket(isSignedUrl ? url : Versioning_1.default.urlWithVersion(url), protocols);\\n this.connection.binaryType = 'arraybuffer';\\n }\\n send(message) {\\n if (!this.connection) {\\n this.logger.error('WebSocket not yet created or already destroyed.');\\n return false;\\n }\\n try {\\n if (message instanceof Uint8Array) {\\n this.connection.send(message.buffer);\\n }\\n else {\\n this.connection.send(message);\\n }\\n return true;\\n }\\n catch (err) {\\n this.logger.debug(() => `send error: ${err.message}, websocket state=${WebSocketReadyState_1.default[this.readyState()]}`);\\n return false;\\n }\\n }\\n close(code, reason) {\\n var _a;\\n (_a = this.connection) === null || _a === void 0 ? void 0 : _a.close(code, reason);\\n }\\n destroy() {\\n this.connection = undefined;\\n }\\n addEventListener(handler, eventListener) {\\n /* istanbul ignore if */\\n if (!this.connection) {\\n this.logger.warn('Cannot add event listener with no WebSocket connection.');\\n return;\\n }\\n this.connection.addEventListener(handler, eventListener);\\n }\\n removeEventListener(handler, eventListener) {\\n var _a;\\n (_a = this.connection) === null || _a === void 0 ? void 0 : _a.removeEventListener(handler, eventListener);\\n }\\n readyState() {\\n if (!this.connection) {\\n return WebSocketReadyState_1.default.None;\\n }\\n switch (this.connection.readyState) {\\n case WebSocket.CONNECTING:\\n return WebSocketReadyState_1.default.Connecting;\\n case WebSocket.OPEN:\\n return WebSocketReadyState_1.default.Open;\\n case WebSocket.CLOSING:\\n return WebSocketReadyState_1.default.Closing;\\n case WebSocket.CLOSED:\\n return WebSocketReadyState_1.default.Closed;\\n }\\n }\\n}\\nexports[\\\"default\\\"] = DefaultWebSocketAdapter;\\n//# sourceMappingURL=DefaultWebSocketAdapter.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/websocketadapter/DefaultWebSocketAdapter.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/build/websocketadapter/WebSocketReadyState.js\":\n/*!****************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/build/websocketadapter/WebSocketReadyState.js ***!\n \\****************************************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.WebSocketReadyState = void 0;\\nvar WebSocketReadyState;\\n(function (WebSocketReadyState) {\\n WebSocketReadyState[WebSocketReadyState[\\\"None\\\"] = 0] = \\\"None\\\";\\n WebSocketReadyState[WebSocketReadyState[\\\"Connecting\\\"] = 1] = \\\"Connecting\\\";\\n WebSocketReadyState[WebSocketReadyState[\\\"Open\\\"] = 2] = \\\"Open\\\";\\n WebSocketReadyState[WebSocketReadyState[\\\"Closing\\\"] = 3] = \\\"Closing\\\";\\n WebSocketReadyState[WebSocketReadyState[\\\"Closed\\\"] = 4] = \\\"Closed\\\";\\n})(WebSocketReadyState = exports.WebSocketReadyState || (exports.WebSocketReadyState = {}));\\nexports[\\\"default\\\"] = WebSocketReadyState;\\n//# sourceMappingURL=WebSocketReadyState.js.map\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/build/websocketadapter/WebSocketReadyState.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/libs/voicefocus/decider.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/libs/voicefocus/decider.js ***!\n \\*********************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\n\\n\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.decideModel = exports.measureAndDecideExecutionApproach = void 0;\\nconst loader_js_1 = __webpack_require__(/*! ./loader.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/loader.js\\\");\\nconst support_js_1 = __webpack_require__(/*! ./support.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/support.js\\\");\\nconst DEFAULT_EXECUTION_QUANTA = 3;\\nconst SIMD_SCORE_FIXED_POINT = 2.50;\\nconst WASM_SCORE_FIXED_POINT = 2.63;\\nconst SINGLE_INLINE_SCORE_MULTIPLIER = 0.6;\\nconst QUALITY_MULTIPLE_QUANTA_SCORE_MULTIPLIER = 0.65;\\nconst INTERACTIVITY_MULTIPLE_QUANTA_SCORE_MULTIPLIER = 0.5;\\nconst WORKER_SCORE_MULTIPLIER = 0.7;\\nconst PERFORMANCE_THRESHOLDS = {\\n wasm: {\\n noSupport: 0.07,\\n inline: {\\n c100: 1,\\n c50: 0.36,\\n c20: 0.16,\\n c10: 0.07,\\n },\\n worker: {\\n c100: 0.5,\\n c50: 0.18,\\n c20: 0.08,\\n c10: 0.06,\\n },\\n },\\n simd: {\\n noSupport: 0.10,\\n inline: {\\n c100: 1,\\n c50: 0.43,\\n c20: 0.3,\\n c10: 0.2,\\n },\\n worker: {\\n c100: 0.5,\\n c50: 0.21,\\n c20: 0.15,\\n c10: 0.10,\\n },\\n },\\n};\\nclass Estimator {\\n constructor(fetchConfig, logger) {\\n this.fetchConfig = fetchConfig;\\n this.logger = logger;\\n const workerURL = `${fetchConfig.paths.workers}estimator-v1.js`;\\n this.fetchBehavior = { headers: fetchConfig.headers, escapedQueryString: fetchConfig.escapedQueryString };\\n this.worker = loader_js_1.loadWorker(workerURL, 'VoiceFocusEstimator', this.fetchBehavior, logger);\\n }\\n roundtrip(toSend, receive, expectedKey) {\\n return new Promise((resolve, reject) => {\\n this.worker.then(worker => {\\n let listener;\\n listener = (event) => {\\n const { message, key } = event.data;\\n if (message === receive && key === expectedKey) {\\n worker.removeEventListener('message', listener);\\n resolve(event.data);\\n }\\n };\\n worker.addEventListener('message', listener);\\n worker.postMessage(toSend);\\n }).catch(e => {\\n var _a;\\n (_a = this.logger) === null || _a === void 0 ? void 0 : _a.error('Failed to load worker.', e);\\n reject(e);\\n });\\n });\\n }\\n supportsSIMD(url) {\\n const key = 'simd';\\n const path = url || `${this.fetchConfig.paths.wasm}simd-v1.wasm`;\\n const toSend = {\\n message: 'supports-simd',\\n fetchBehavior: this.fetchBehavior,\\n path,\\n key,\\n };\\n return this.roundtrip(toSend, 'simd-support', key)\\n .then(data => data.supports);\\n }\\n measure(simd, budget) {\\n const benchWASM = `${this.fetchConfig.paths.wasm}bench-v1.wasm`;\\n const benchSIMD = `${this.fetchConfig.paths.wasm}bench-v1_simd.wasm`;\\n const path = simd ? benchSIMD : benchWASM;\\n const key = `bench:${simd}`;\\n const toSend = {\\n message: 'measure',\\n fetchBehavior: this.fetchBehavior,\\n budget,\\n path,\\n key,\\n };\\n return this.roundtrip(toSend, 'measurement', key)\\n .then(data => {\\n if (data.measurement) {\\n return data.measurement;\\n }\\n throw new Error('Failed to measure.');\\n });\\n }\\n stop() {\\n this.worker.then(worker => {\\n var _a;\\n (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug('Stopping estimator worker.');\\n worker.terminate();\\n }).catch(e => {\\n });\\n }\\n}\\nconst inlineScoreMultiplier = (executionQuanta, usagePreference) => {\\n if (executionQuanta === 1) {\\n return SINGLE_INLINE_SCORE_MULTIPLIER;\\n }\\n if (usagePreference === 'quality') {\\n return QUALITY_MULTIPLE_QUANTA_SCORE_MULTIPLIER * executionQuanta;\\n }\\n return INTERACTIVITY_MULTIPLE_QUANTA_SCORE_MULTIPLIER * executionQuanta;\\n};\\nconst decideExecutionApproach = ({ supportsSIMD, supportsSAB, duration, executionPreference = 'auto', simdPreference, variantPreference = 'auto', namePreference = 'default', usagePreference, executionQuantaPreference = DEFAULT_EXECUTION_QUANTA, }, allThresholds = PERFORMANCE_THRESHOLDS, logger) => {\\n const forceSIMD = (simdPreference === 'force');\\n const useSIMD = forceSIMD || (simdPreference !== 'disable' && supportsSIMD);\\n const checkScores = duration !== -1;\\n const baseScore = checkScores ? (useSIMD ? SIMD_SCORE_FIXED_POINT : WASM_SCORE_FIXED_POINT) / duration : 0;\\n const thresholds = useSIMD ? allThresholds.simd : allThresholds.wasm;\\n const inlineScore = checkScores ? inlineScoreMultiplier(executionQuantaPreference, usagePreference) * baseScore : 0;\\n const workerScore = checkScores ? WORKER_SCORE_MULTIPLIER * baseScore : 0;\\n const name = namePreference;\\n const unsupported = (reason) => {\\n return {\\n supported: false,\\n reason,\\n };\\n };\\n if (checkScores) {\\n if (baseScore < thresholds.noSupport) {\\n return unsupported(`Performance score ${baseScore} worse than threshold ${thresholds.noSupport}.`);\\n }\\n }\\n else {\\n if ((executionPreference === 'auto') ||\\n (variantPreference === 'auto')) {\\n return unsupported(`Missing explicit execution (${executionPreference}) or variant (${variantPreference}) preference, but no scoring performed.`);\\n }\\n }\\n logger === null || logger === void 0 ? void 0 : logger.debug(`Bench duration ${duration} yields inline score ${inlineScore} and worker score ${workerScore}.`);\\n const succeed = (processor, executionApproach, variant) => {\\n return {\\n supported: true,\\n useSIMD,\\n processor,\\n executionApproach,\\n variant,\\n executionQuanta: (executionApproach === 'inline' ? executionQuantaPreference : undefined),\\n name,\\n };\\n };\\n const resolveVariant = (score, variant, lookup) => {\\n if (variant !== 'auto') {\\n if (!checkScores || score > lookup[variant]) {\\n return variant;\\n }\\n return 'failed';\\n }\\n if (score > lookup.c100) {\\n return 'c100';\\n }\\n if (score > lookup.c50) {\\n return 'c50';\\n }\\n if (score > lookup.c20) {\\n return 'c20';\\n }\\n if (score > lookup.c10) {\\n return 'c10';\\n }\\n return 'failed';\\n };\\n const reducePreference = (preference) => {\\n switch (preference || 'auto') {\\n case 'auto': {\\n let inlineOption = reducePreference('inline');\\n let workerOption = reducePreference('worker');\\n logger === null || logger === void 0 ? void 0 : logger.debug(`Reducing auto preference: ${JSON.stringify(inlineOption)} vs ${JSON.stringify(workerOption)}`);\\n if (inlineOption.supported === false) {\\n return workerOption;\\n }\\n if (workerOption.supported === false) {\\n return workerOption;\\n }\\n if (inlineOption.variant === workerOption.variant || inlineOption.variant === 'c50') {\\n return inlineOption;\\n }\\n return workerOption;\\n }\\n case 'worker': {\\n if (support_js_1.supportsSharedArrayBuffer(globalThis, window, logger)) {\\n return reducePreference('worker-sab');\\n }\\n return reducePreference('worker-postMessage');\\n }\\n case 'inline': {\\n const variant = resolveVariant(inlineScore, variantPreference, thresholds.inline);\\n if (variant === 'failed') {\\n return unsupported(`Performance score ${inlineScore} not sufficient for inline use with variant preference ${variantPreference}.`);\\n }\\n ;\\n return succeed('voicefocus-inline-processor', 'inline', variant);\\n }\\n case 'worker-sab': {\\n if (!supportsSAB) {\\n const reason = 'Requested worker-sab but no SharedArrayBuffer support.';\\n logger === null || logger === void 0 ? void 0 : logger.warn(reason);\\n return { supported: false, reason };\\n }\\n const variant = resolveVariant(workerScore, variantPreference, thresholds.worker);\\n if (variant === 'failed') {\\n return unsupported(`Performance score ${workerScore} not sufficient for worker use with variant preference ${variantPreference}.`);\\n }\\n ;\\n return succeed('voicefocus-worker-sab-processor', 'worker-sab', variant);\\n }\\n case 'worker-postMessage': {\\n const variant = resolveVariant(workerScore, variantPreference, thresholds.worker);\\n if (variant === 'failed') {\\n return unsupported(`Performance score ${workerScore} not sufficient for worker use.`);\\n }\\n ;\\n if (name === 'ns_es') {\\n const reason = 'Requested echo suppression but postMessage executor does not support it.';\\n logger === null || logger === void 0 ? void 0 : logger.warn(reason);\\n return { supported: false, reason };\\n }\\n ;\\n return succeed('voicefocus-worker-postMessage-processor', 'worker-postMessage', variant);\\n }\\n }\\n };\\n return reducePreference(executionPreference);\\n};\\nconst featureCheck = (forceSIMD, fetchConfig, logger, estimator) => __awaiter(void 0, void 0, void 0, function* () {\\n const supports = {\\n supportsSIMD: forceSIMD,\\n supportsSAB: support_js_1.supportsSharedArrayBuffer(globalThis, window, logger),\\n duration: -1,\\n };\\n if (forceSIMD) {\\n logger === null || logger === void 0 ? void 0 : logger.info('Supports SIMD: true (force)');\\n return supports;\\n }\\n const cleanup = !estimator;\\n const e = estimator || new Estimator(fetchConfig, logger);\\n try {\\n const useSIMD = !support_js_1.isOldChrome(window, logger) && (yield e.supportsSIMD());\\n logger === null || logger === void 0 ? void 0 : logger.info(`Supports SIMD: ${useSIMD} (force: ${forceSIMD})`);\\n supports.supportsSIMD = useSIMD;\\n return supports;\\n }\\n finally {\\n if (cleanup) {\\n e.stop();\\n }\\n }\\n});\\nconst estimateAndFeatureCheck = (forceSIMD, fetchConfig, estimatorBudget, logger) => __awaiter(void 0, void 0, void 0, function* () {\\n const estimator = new Estimator(fetchConfig, logger);\\n try {\\n const supports = yield featureCheck(forceSIMD, fetchConfig, logger, estimator);\\n if (supports.supportsSIMD) {\\n try {\\n supports.duration = yield estimator.measure(true, estimatorBudget);\\n logger === null || logger === void 0 ? void 0 : logger.info('SIMD timing:', supports.duration);\\n return supports;\\n }\\n catch (e) {\\n logger === null || logger === void 0 ? void 0 : logger.warn('Failed SIMD estimation; falling back to non-SIMD.');\\n supports.supportsSIMD = false;\\n }\\n }\\n supports.duration = yield estimator.measure(false, estimatorBudget);\\n logger === null || logger === void 0 ? void 0 : logger.info('No-SIMD timing:', supports.duration);\\n return supports;\\n }\\n catch (e) {\\n logger === null || logger === void 0 ? void 0 : logger.error('Could not feature check.', e);\\n throw e;\\n }\\n finally {\\n estimator.stop();\\n }\\n});\\nconst measureAndDecideExecutionApproach = (spec, fetchConfig, logger, thresholds = PERFORMANCE_THRESHOLDS) => __awaiter(void 0, void 0, void 0, function* () {\\n let executionPreference = spec.executionPreference;\\n const { usagePreference, variantPreference, namePreference, simdPreference, estimatorBudget, executionQuantaPreference, } = spec;\\n if (usagePreference === 'interactivity' && executionPreference !== 'inline') {\\n logger === null || logger === void 0 ? void 0 : logger.debug(`Overriding execution preference ${executionPreference} to reflect interactivity preference.`);\\n executionPreference = 'inline';\\n }\\n const forceSIMD = simdPreference === 'force';\\n const knownModel = variantPreference !== 'auto';\\n const knownExecution = executionPreference !== 'auto';\\n let supports;\\n try {\\n if (knownModel && knownExecution) {\\n supports = yield featureCheck(forceSIMD, fetchConfig, logger);\\n }\\n else {\\n supports = yield estimateAndFeatureCheck(forceSIMD, fetchConfig, estimatorBudget, logger);\\n }\\n }\\n catch (e) {\\n logger === null || logger === void 0 ? void 0 : logger.error('Could not load estimator.', e);\\n throw new Error('Could not load Voice Focus estimator.');\\n }\\n return decideExecutionApproach(Object.assign(Object.assign({}, supports), { simdPreference,\\n executionPreference,\\n variantPreference,\\n namePreference,\\n usagePreference,\\n executionQuantaPreference }), thresholds, logger);\\n});\\nexports.measureAndDecideExecutionApproach = measureAndDecideExecutionApproach;\\nconst decideModel = ({ category, name, variant, simd, url }) => {\\n return `${category}-${name}-${variant}-v1${simd ? '_simd' : ''}`;\\n};\\nexports.decideModel = decideModel;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/libs/voicefocus/decider.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/libs/voicefocus/fetch.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/libs/voicefocus/fetch.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.isValidRevisionID = exports.isValidAssetGroup = exports.resolveURL = exports.addQueryParams = exports.withQueryString = exports.withRequestHeaders = exports.fetchWithBehavior = void 0;\\nfunction fetchWithBehavior(url, init, fetchBehavior) {\\n if (!fetchBehavior) {\\n return fetch(url, init);\\n }\\n const withQuery = withQueryString(url, fetchBehavior);\\n const withHeaders = withRequestHeaders(init, fetchBehavior);\\n return fetch(withQuery, withHeaders);\\n}\\nexports.fetchWithBehavior = fetchWithBehavior;\\nfunction withRequestHeaders(init, fetchBehavior) {\\n if (!(fetchBehavior === null || fetchBehavior === void 0 ? void 0 : fetchBehavior.headers)) {\\n return init;\\n }\\n if (!init) {\\n return {\\n headers: fetchBehavior.headers,\\n };\\n }\\n return Object.assign(Object.assign({}, init), { headers: Object.assign(Object.assign({}, init.headers || {}), fetchBehavior.headers) });\\n}\\nexports.withRequestHeaders = withRequestHeaders;\\nfunction withQueryString(url, fetchBehavior) {\\n if (!(fetchBehavior === null || fetchBehavior === void 0 ? void 0 : fetchBehavior.escapedQueryString)) {\\n return url;\\n }\\n const hasQuery = url.lastIndexOf('?') !== -1;\\n return `${url}${hasQuery ? '&' : '?'}${fetchBehavior.escapedQueryString}`;\\n}\\nexports.withQueryString = withQueryString;\\nfunction addQueryParams(fetchBehavior, queryParams) {\\n const keys = Object.keys(queryParams);\\n if (!keys.length) {\\n return fetchBehavior;\\n }\\n const params = new URLSearchParams(fetchBehavior === null || fetchBehavior === void 0 ? void 0 : fetchBehavior.escapedQueryString);\\n for (const key of keys) {\\n params.append(key, queryParams[key]);\\n }\\n return Object.assign(Object.assign({}, fetchBehavior), { escapedQueryString: params.toString() });\\n}\\nexports.addQueryParams = addQueryParams;\\nconst HEAD_OPTIONS = {\\n method: 'HEAD',\\n mode: 'cors',\\n credentials: 'omit',\\n redirect: 'follow',\\n referrerPolicy: 'origin',\\n};\\nfunction resolveURL(url, fetchBehavior) {\\n return fetchWithBehavior(url, HEAD_OPTIONS, fetchBehavior)\\n .then(response => response.redirected ? response.url : url);\\n}\\nexports.resolveURL = resolveURL;\\nfunction isValidAssetGroup(assetGroup) {\\n return !!assetGroup && /^[-.a-zA-Z0-9]+$/.test(assetGroup);\\n}\\nexports.isValidAssetGroup = isValidAssetGroup;\\nfunction isValidRevisionID(revisionID) {\\n return !!revisionID && /^[123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]{22}$/.test(revisionID);\\n}\\nexports.isValidRevisionID = isValidRevisionID;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/libs/voicefocus/fetch.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/libs/voicefocus/loader.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/libs/voicefocus/loader.js ***!\n \\********************************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.loadWorker = void 0;\\nconst fetch_js_1 = __webpack_require__(/*! ./fetch.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/fetch.js\\\");\\nconst WORKER_FETCH_OPTIONS = {\\n method: 'GET',\\n mode: 'cors',\\n credentials: 'omit',\\n redirect: 'follow',\\n referrerPolicy: 'no-referrer',\\n};\\nconst loadWorker = (workerURL, name, fetchBehavior, logger) => {\\n logger === null || logger === void 0 ? void 0 : logger.debug(`Loading ${name} worker from ${workerURL}.`);\\n let workerURLIsSameOrigin = false;\\n try {\\n workerURLIsSameOrigin = self.origin === (new URL(workerURL)).origin;\\n }\\n catch (e) {\\n logger === null || logger === void 0 ? void 0 : logger.error('Could not compare origins.', e);\\n }\\n if (workerURLIsSameOrigin) {\\n const workerURLWithQuery = fetch_js_1.withQueryString(workerURL, fetchBehavior);\\n return Promise.resolve(new Worker(workerURLWithQuery, { name }));\\n }\\n return fetch_js_1.fetchWithBehavior(workerURL, WORKER_FETCH_OPTIONS, fetchBehavior).then((res) => {\\n if (res.ok) {\\n return res.blob()\\n .then((blob) => new Worker(window.URL.createObjectURL(blob)));\\n }\\n throw new Error('Fetch failed.');\\n });\\n};\\nexports.loadWorker = loadWorker;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/libs/voicefocus/loader.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/libs/voicefocus/support.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/libs/voicefocus/support.js ***!\n \\*********************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\n\\n\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.isOldChrome = exports.supportsWASMStreaming = exports.supportsSharedArrayBuffer = exports.supportsWASM = exports.supportsAudioWorklet = exports.supportsWorker = exports.supportsVoiceFocusWorker = exports.supportsWASMPostMessage = exports.isSafari = void 0;\\nconst loader_js_1 = __webpack_require__(/*! ./loader.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/loader.js\\\");\\nconst isChrome = (global = globalThis) => {\\n const ua = global.navigator.userAgent;\\n return !!ua.match(/Chrom(?:e|ium)\\\\/([0-9]+)/);\\n};\\nconst isSafari = (global = globalThis) => {\\n const ua = global.navigator.userAgent;\\n const hasSafari = ua.match(/Safari\\\\//);\\n const hasChrome = ua.match(/Chrom(?:e|ium)\\\\//);\\n return !!(hasSafari && !hasChrome);\\n};\\nexports.isSafari = isSafari;\\nconst supportsWASMPostMessage = (global = globalThis) => {\\n if (exports.isSafari(global)) {\\n return false;\\n }\\n if (isChrome(global)) {\\n const version = chromeVersion(global) || 0;\\n return version < 95;\\n }\\n return true;\\n};\\nexports.supportsWASMPostMessage = supportsWASMPostMessage;\\nconst supportsVoiceFocusWorker = (scope = globalThis, fetchConfig, logger) => __awaiter(void 0, void 0, void 0, function* () {\\n if (!exports.supportsWorker(scope, logger)) {\\n return false;\\n }\\n const workerURL = `${fetchConfig.paths.workers}worker-v1.js`;\\n try {\\n const worker = yield loader_js_1.loadWorker(workerURL, 'VoiceFocusTestWorker', fetchConfig, logger);\\n try {\\n worker.terminate();\\n }\\n catch (e) {\\n logger === null || logger === void 0 ? void 0 : logger.debug('Failed to terminate worker.', e);\\n }\\n return true;\\n }\\n catch (e) {\\n logger === null || logger === void 0 ? void 0 : logger.info('Failed to fetch and instantiate test worker', e);\\n return false;\\n }\\n});\\nexports.supportsVoiceFocusWorker = supportsVoiceFocusWorker;\\nconst supportsWorker = (scope = globalThis, logger) => {\\n try {\\n return !!scope.Worker;\\n }\\n catch (e) {\\n logger === null || logger === void 0 ? void 0 : logger.info('Does not support Worker', e);\\n return false;\\n }\\n};\\nexports.supportsWorker = supportsWorker;\\nconst supportsAudioWorklet = (scope = globalThis, logger) => {\\n try {\\n return !!scope.AudioWorklet && !!scope.AudioWorkletNode;\\n }\\n catch (e) {\\n logger === null || logger === void 0 ? void 0 : logger.info('Does not support Audio Worklet', e);\\n return false;\\n }\\n};\\nexports.supportsAudioWorklet = supportsAudioWorklet;\\nconst supportsWASM = (scope = globalThis, logger) => {\\n try {\\n return !!scope.WebAssembly && (!!scope.WebAssembly.compile || !!scope.WebAssembly.compileStreaming);\\n }\\n catch (e) {\\n logger === null || logger === void 0 ? void 0 : logger.info('Does not support WASM', e);\\n return false;\\n }\\n};\\nexports.supportsWASM = supportsWASM;\\nconst supportsSharedArrayBuffer = (scope = globalThis, window = globalThis, logger) => {\\n try {\\n return !!scope.SharedArrayBuffer && (!!window.chrome || !!scope.crossOriginIsolated);\\n }\\n catch (e) {\\n logger === null || logger === void 0 ? void 0 : logger.info('Does not support SharedArrayBuffer.');\\n return false;\\n }\\n};\\nexports.supportsSharedArrayBuffer = supportsSharedArrayBuffer;\\nconst supportsWASMStreaming = (scope = globalThis, logger) => {\\n var _a;\\n try {\\n return !!((_a = scope.WebAssembly) === null || _a === void 0 ? void 0 : _a.compileStreaming);\\n }\\n catch (e) {\\n logger === null || logger === void 0 ? void 0 : logger.info('Does not support WASM streaming compilation', e);\\n return false;\\n }\\n};\\nexports.supportsWASMStreaming = supportsWASMStreaming;\\nconst SUPPORTED_CHROME_VERSION = 90;\\nconst chromeVersion = (global = globalThis) => {\\n try {\\n if (!global.chrome) {\\n return undefined;\\n }\\n }\\n catch (e) {\\n }\\n const versionCheck = global.navigator.userAgent.match(/Chrom(?:e|ium)\\\\/([0-9]+)/);\\n if (!versionCheck) {\\n return undefined;\\n }\\n return parseInt(versionCheck[1], 10);\\n};\\nconst isOldChrome = (global = globalThis, logger) => {\\n const version = chromeVersion(global);\\n if (!version) {\\n return false;\\n }\\n if (version < SUPPORTED_CHROME_VERSION) {\\n logger === null || logger === void 0 ? void 0 : logger.debug(`Chrome ${version} has incomplete SIMD support.`);\\n return true;\\n }\\n return false;\\n};\\nexports.isOldChrome = isOldChrome;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/libs/voicefocus/support.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/libs/voicefocus/types.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/libs/voicefocus/types.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.VoiceFocusAudioWorkletNode = void 0;\\nclass VoiceFocusAudioWorkletNode extends ((typeof globalThis !== 'undefined' && globalThis['AudioWorkletNode']) ||\\n class Sadness {\\n }) {\\n}\\nexports.VoiceFocusAudioWorkletNode = VoiceFocusAudioWorkletNode;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/libs/voicefocus/types.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/libs/voicefocus/voicefocus.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/libs/voicefocus/voicefocus.js ***!\n \\************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\n\\n\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nexports.getAudioInput = exports.createAudioContext = exports.VoiceFocus = void 0;\\nconst decider_js_1 = __webpack_require__(/*! ./decider.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/decider.js\\\");\\nconst fetch_js_1 = __webpack_require__(/*! ./fetch.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/fetch.js\\\");\\nconst loader_js_1 = __webpack_require__(/*! ./loader.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/loader.js\\\");\\nconst support_js_1 = __webpack_require__(/*! ./support.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/support.js\\\");\\nconst worklet_inline_node_js_1 = __webpack_require__(/*! ./worklet-inline-node.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/worklet-inline-node.js\\\");\\nconst worklet_worker_sab_node_js_1 = __webpack_require__(/*! ./worklet-worker-sab-node.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/worklet-worker-sab-node.js\\\");\\nconst worklet_worker_postMessage_node_js_1 = __webpack_require__(/*! ./worklet-worker-postMessage-node.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/worklet-worker-postMessage-node.js\\\");\\nconst DEFAULT_AGC_DISABLED_SETTING = {\\n useVoiceFocusAGC: false,\\n useBuiltInAGC: true,\\n};\\nconst DEFAULT_AGC_SETTING = DEFAULT_AGC_DISABLED_SETTING;\\nconst DEFAULT_ASSET_GROUP = 'stable-v1';\\nconst DEFAULT_CDN = 'https://static.sdkassets.chime.aws';\\nconst DEFAULT_PATHS = {\\n processors: `${DEFAULT_CDN}/processors/`,\\n workers: `${DEFAULT_CDN}/workers/`,\\n wasm: `${DEFAULT_CDN}/wasm/`,\\n models: `${DEFAULT_CDN}/wasm/`,\\n};\\nconst DEFAULT_CONTEXT_HINT = {\\n latencyHint: 0,\\n};\\nconst BASE_AUDIO_CONSTRAINTS = {\\n channelCount: 1,\\n echoCancellation: true,\\n googEchoCancellation: true,\\n noiseSuppression: false,\\n googNoiseSuppression: false,\\n googHighpassFilter: false,\\n googTypingNoiseDetection: false,\\n};\\nconst DEFAULT_AUDIO_CONSTRAINTS_WITH_BUILTIN_AGC = Object.assign(Object.assign({}, BASE_AUDIO_CONSTRAINTS), { autoGainControl: true, googAutoGainControl: true, googAutoGainControl2: true });\\nconst DEFAULT_AUDIO_CONSTRAINTS_WITHOUT_BUILTIN_AGC = Object.assign(Object.assign({}, BASE_AUDIO_CONSTRAINTS), { autoGainControl: false, googAutoGainControl: false, googAutoGainControl2: false });\\nconst PROCESSORS = {\\n 'voicefocus-worker-sab-processor': {\\n file: 'worklet-worker-sab-processor-v1.js',\\n node: worklet_worker_sab_node_js_1.default,\\n },\\n 'voicefocus-worker-postMessage-processor': {\\n file: 'worklet-worker-postMessage-processor-v1.js',\\n node: worklet_worker_postMessage_node_js_1.default,\\n },\\n 'voicefocus-inline-processor': {\\n file: 'worklet-inline-processor-v1.js',\\n node: worklet_inline_node_js_1.default,\\n },\\n};\\nconst validateAssetSpec = (assetGroup, revisionID) => {\\n if (assetGroup !== undefined && !fetch_js_1.isValidAssetGroup(assetGroup)) {\\n throw new Error(`Invalid asset group ${assetGroup}`);\\n }\\n if (revisionID !== undefined && !fetch_js_1.isValidRevisionID(revisionID)) {\\n throw new Error(`Invalid revision ID ${revisionID}`);\\n }\\n};\\nconst mungeConstraints = (constraints, agc) => {\\n let defaultConstraints;\\n if (agc.useBuiltInAGC) {\\n defaultConstraints = DEFAULT_AUDIO_CONSTRAINTS_WITH_BUILTIN_AGC;\\n }\\n else {\\n defaultConstraints = DEFAULT_AUDIO_CONSTRAINTS_WITHOUT_BUILTIN_AGC;\\n }\\n if (!constraints) {\\n return { audio: defaultConstraints };\\n }\\n if (!constraints.audio) {\\n return constraints;\\n }\\n if (constraints.video) {\\n throw new Error('Not adding Voice Focus to multi-device getUserMedia call.');\\n }\\n return Object.assign(Object.assign({}, constraints), { audio: constraints.audio === true ? defaultConstraints : Object.assign(Object.assign({}, constraints.audio), defaultConstraints) });\\n};\\nconst urlForModel = (model, paths) => {\\n return `${paths.models}${decider_js_1.decideModel(model)}.wasm`;\\n};\\nclass VoiceFocus {\\n constructor(worker, processorURL, nodeConstructor, nodeOptions, executionQuanta) {\\n this.processorURL = processorURL;\\n this.nodeConstructor = nodeConstructor;\\n this.nodeOptions = nodeOptions;\\n this.executionQuanta = executionQuanta;\\n this.internal = {\\n worker,\\n nodeOptions,\\n isDestroyed: false,\\n };\\n }\\n static isSupported(spec, options) {\\n const { fetchBehavior, logger } = options || {};\\n if (typeof globalThis === 'undefined') {\\n logger === null || logger === void 0 ? void 0 : logger.debug('Browser does not have globalThis.');\\n return Promise.resolve(false);\\n }\\n if (!support_js_1.supportsAudioWorklet(globalThis, logger)) {\\n logger === null || logger === void 0 ? void 0 : logger.debug('Browser does not support Audio Worklet.');\\n return Promise.resolve(false);\\n }\\n if (!support_js_1.supportsWASM(globalThis, logger)) {\\n logger === null || logger === void 0 ? void 0 : logger.debug('Browser does not support WASM.');\\n return Promise.resolve(false);\\n }\\n if (!support_js_1.supportsWASMStreaming(globalThis, logger)) {\\n logger === null || logger === void 0 ? void 0 : logger.debug('Browser does not support streaming WASM compilation.');\\n }\\n const { assetGroup = DEFAULT_ASSET_GROUP, revisionID, paths = DEFAULT_PATHS, } = spec || {};\\n validateAssetSpec(assetGroup, revisionID);\\n const assetConfig = revisionID ? { revisionID } : { assetGroup };\\n const updatedFetchBehavior = fetch_js_1.addQueryParams(fetchBehavior, assetConfig);\\n const fetchConfig = Object.assign(Object.assign({}, updatedFetchBehavior), { paths });\\n return support_js_1.supportsVoiceFocusWorker(globalThis, fetchConfig, logger);\\n }\\n static mungeExecutionPreference(preference, logger) {\\n const isAuto = (preference === undefined || preference === 'auto');\\n if (support_js_1.isSafari(globalThis)) {\\n if (isAuto || preference === 'inline') {\\n return 'inline';\\n }\\n if (!isAuto) {\\n throw new Error(`Unsupported execution preference ${preference}`);\\n }\\n }\\n if (preference === 'worker-sab' && !support_js_1.supportsSharedArrayBuffer(globalThis, globalThis, logger)) {\\n throw new Error(`Unsupported execution preference ${preference}`);\\n }\\n return preference || 'auto';\\n }\\n static configure(spec, options) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const { fetchBehavior, preResolve, logger, } = options || {};\\n const { category = 'voicefocus', name = 'default', variant: variantPreference = 'auto', assetGroup = DEFAULT_ASSET_GROUP, revisionID, simd = 'detect', executionPreference = 'auto', executionQuantaPreference, usagePreference = 'interactivity', estimatorBudget = 100, paths = DEFAULT_PATHS, thresholds, } = spec || {};\\n logger === null || logger === void 0 ? void 0 : logger.debug('Configuring Voice Focus with spec', spec);\\n if (category !== undefined && category !== 'voicefocus') {\\n throw new Error(`Unrecognized category ${category}`);\\n }\\n if (name !== undefined && name !== 'default' && name !== 'ns_es') {\\n throw new Error(`Unrecognized feature name ${name}`);\\n }\\n if (variantPreference !== undefined && !['auto', 'c100', 'c50', 'c20', 'c10'].includes(variantPreference)) {\\n throw new Error(`Unrecognized feature variant ${variantPreference}`);\\n }\\n if (executionQuantaPreference !== undefined && ![1, 2, 3].includes(executionQuantaPreference)) {\\n throw new Error(`Unrecognized execution quanta preference ${executionQuantaPreference}`);\\n }\\n validateAssetSpec(assetGroup, revisionID);\\n if (simd !== undefined && !['detect', 'force', 'disable'].includes(simd)) {\\n throw new Error(`Unrecognized SIMD option ${simd}`);\\n }\\n if (executionPreference !== undefined && !['auto', 'inline', 'worker', 'worker-sab', 'worker-postMessage'].includes(executionPreference)) {\\n throw new Error(`Unrecognized execution preference ${executionPreference}`);\\n }\\n if (usagePreference !== undefined && !['quality', 'interactivity'].includes(usagePreference)) {\\n throw new Error(`Unrecognized usage preference ${usagePreference}`);\\n }\\n const executionSpec = {\\n executionPreference: this.mungeExecutionPreference(executionPreference, logger),\\n usagePreference,\\n executionQuantaPreference,\\n variantPreference,\\n namePreference: name,\\n simdPreference: simd,\\n estimatorBudget,\\n };\\n const assetConfig = revisionID ? { revisionID } : { assetGroup };\\n const updatedFetchBehavior = fetch_js_1.addQueryParams(fetchBehavior, assetConfig);\\n const fetchConfig = Object.assign({ paths }, updatedFetchBehavior);\\n const executionDefinition = yield decider_js_1.measureAndDecideExecutionApproach(executionSpec, fetchConfig, logger, thresholds);\\n if (executionDefinition.supported === false) {\\n return { supported: false, reason: executionDefinition.reason };\\n }\\n logger === null || logger === void 0 ? void 0 : logger.info('Decided execution approach', executionDefinition);\\n const { useSIMD, processor, variant, executionQuanta } = executionDefinition;\\n const model = {\\n category: category || 'voicefocus',\\n name: name || 'default',\\n variant,\\n simd: useSIMD,\\n };\\n if (preResolve) {\\n const startingURL = urlForModel(model, paths);\\n model.url = yield fetch_js_1.resolveURL(startingURL, updatedFetchBehavior);\\n }\\n return {\\n fetchConfig,\\n model,\\n processor,\\n executionQuanta,\\n supported: true,\\n };\\n });\\n }\\n static init(configuration, { delegate, preload = true, logger, }) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (configuration.supported === false) {\\n throw new Error('Voice Focus not supported. Reason: ' + configuration.reason);\\n }\\n const { model, processor, fetchConfig, executionQuanta, } = configuration;\\n const { simd, name } = model;\\n const { paths } = fetchConfig;\\n if (processor !== 'voicefocus-inline-processor' &&\\n processor !== 'voicefocus-worker-postMessage-processor' &&\\n processor !== 'voicefocus-worker-sab-processor') {\\n throw new Error(`Unknown processor ${processor}`);\\n }\\n const modelURL = model.url || urlForModel(model, paths);\\n logger === null || logger === void 0 ? void 0 : logger.debug(`Using model URL ${modelURL}.`);\\n const audioBufferURL = `${paths.wasm}audio_buffer-v1${simd ? '_simd' : ''}.wasm`;\\n const resamplerURL = `${paths.wasm}resampler-v1${simd ? '_simd' : ''}.wasm`;\\n const workerURL = `${paths.workers}worker-v1.js`;\\n const { file, node } = PROCESSORS[processor];\\n const processorURL = `${paths.processors}${file}`;\\n const worker = yield loader_js_1.loadWorker(workerURL, 'VoiceFocusWorker', fetchConfig, logger);\\n if (preload) {\\n logger === null || logger === void 0 ? void 0 : logger.debug('Preloading', modelURL);\\n let message = support_js_1.supportsWASMPostMessage(globalThis) ? 'get-module' : 'get-module-buffer';\\n worker.postMessage({\\n message,\\n preload: true,\\n key: 'model',\\n fetchBehavior: fetchConfig,\\n path: modelURL,\\n });\\n }\\n const numberOfInputs = (name === 'ns_es') ? 2 : 1;\\n const nodeOptions = {\\n processor,\\n worker,\\n audioBufferURL,\\n resamplerURL,\\n fetchBehavior: fetchConfig,\\n modelURL,\\n delegate,\\n logger,\\n numberOfInputs,\\n };\\n const factory = new VoiceFocus(worker, processorURL, node, nodeOptions, executionQuanta);\\n return Promise.resolve(factory);\\n });\\n }\\n createNode(context, options) {\\n var _a;\\n if (this.internal.isDestroyed) {\\n throw new Error('Unable to create node because VoiceFocus worker has been destroyed.');\\n }\\n const { voiceFocusSampleRate = (context.sampleRate === 16000 ? 16000 : 48000), enabled = true, agc = DEFAULT_AGC_SETTING, } = options || {};\\n const supportFarendStream = options === null || options === void 0 ? void 0 : options.es;\\n const processorOptions = {\\n voiceFocusSampleRate,\\n enabled,\\n sendBufferCount: 10,\\n prefill: 6,\\n agc,\\n executionQuanta: this.executionQuanta,\\n supportFarendStream,\\n };\\n const url = fetch_js_1.withQueryString(this.processorURL, (_a = this.nodeOptions) === null || _a === void 0 ? void 0 : _a.fetchBehavior);\\n return context.audioWorklet\\n .addModule(url)\\n .then(() => new (this.nodeConstructor)(context, Object.assign(Object.assign({}, this.nodeOptions), { processorOptions })));\\n }\\n applyToStream(stream, context, options) {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.internal.isDestroyed) {\\n throw new Error(\\\"Unable to apply stream because VoiceFocus worker has been destroyed\\\");\\n }\\n const source = context.createMediaStreamSource(stream);\\n const node = yield this.applyToSourceNode(source, context, options);\\n const destination = context.createMediaStreamDestination();\\n node.connect(destination);\\n return {\\n node,\\n source,\\n destination,\\n stream: destination.stream,\\n };\\n });\\n }\\n applyToSourceNode(source, context, options) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const node = yield this.createNode(context, options);\\n source.connect(node);\\n return node;\\n });\\n }\\n destroy() {\\n if (this.internal.worker) {\\n this.internal.worker.terminate();\\n }\\n this.internal.isDestroyed = true;\\n }\\n}\\nexports.VoiceFocus = VoiceFocus;\\nconst createAudioContext = (contextHint = DEFAULT_CONTEXT_HINT) => {\\n return new (window.AudioContext || window.webkitAudioContext)(contextHint);\\n};\\nexports.createAudioContext = createAudioContext;\\nconst getAudioInput = (context, inputOptions, voiceFocusOptions) => __awaiter(void 0, void 0, void 0, function* () {\\n var _a, _b;\\n const { constraints, spec, delegate, preload = true, options } = inputOptions;\\n const { logger } = voiceFocusOptions;\\n const config = yield VoiceFocus.configure(spec, voiceFocusOptions);\\n if (!config.supported) {\\n (_a = voiceFocusOptions.logger) === null || _a === void 0 ? void 0 : _a.warn('Voice Focus not supported; returning standard stream.');\\n return window.navigator.mediaDevices.getUserMedia(constraints);\\n }\\n const factory = yield VoiceFocus.init(config, { delegate, preload, logger });\\n const agc = ((_b = inputOptions.options) === null || _b === void 0 ? void 0 : _b.agc) || DEFAULT_AGC_SETTING;\\n const input = yield window.navigator.mediaDevices.getUserMedia(mungeConstraints(constraints, agc));\\n return factory.applyToStream(input, context, options).then(result => result.stream);\\n});\\nexports.getAudioInput = getAudioInput;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/libs/voicefocus/voicefocus.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/libs/voicefocus/worklet-inline-node.js\":\n/*!*********************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/libs/voicefocus/worklet-inline-node.js ***!\n \\*********************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\n\\n\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst support_js_1 = __webpack_require__(/*! ./support.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/support.js\\\");\\nconst types_js_1 = __webpack_require__(/*! ./types.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/types.js\\\");\\nconst CPU_WARNING_MAX_INTERVAL_MS = 5 * 1000;\\nclass VoiceFocusInlineNode extends types_js_1.VoiceFocusAudioWorkletNode {\\n constructor(context, options) {\\n super(context, options.processor, options);\\n this.cpuWarningCount = 0;\\n this.channelCountMode = 'explicit';\\n this.channelCount = 1;\\n const { modelURL, worker, fetchBehavior, logger, delegate, } = options;\\n this.logger = logger;\\n this.port.onmessage = this.onProcessorMessage.bind(this);\\n this.delegate = delegate;\\n if (logger)\\n logger.debug('VoiceFocusInlineNode:', modelURL);\\n this.worker = worker;\\n this.worker.onmessage = this.onWorkerMessage.bind(this);\\n const message = support_js_1.supportsWASMPostMessage(globalThis) ? 'get-module' : 'get-module-buffer';\\n this.worker.postMessage({\\n message,\\n key: 'model',\\n fetchBehavior,\\n path: modelURL,\\n });\\n }\\n onModuleBufferLoaded(buffer, key) {\\n this.port.postMessage({ message: 'module-buffer', buffer, key });\\n }\\n onModuleLoaded(module, key) {\\n this.port.postMessage({ message: 'module', module, key });\\n }\\n enable() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.port.postMessage({ message: 'enable' });\\n });\\n }\\n disable() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.port.postMessage({ message: 'disable' });\\n });\\n }\\n stop() {\\n var _a;\\n return __awaiter(this, void 0, void 0, function* () {\\n this.port.postMessage({ message: 'stop' });\\n try {\\n (_a = this.worker) === null || _a === void 0 ? void 0 : _a.terminate();\\n }\\n catch (e) {\\n console.error(\\\"failed to terminate worker:\\\", e);\\n }\\n this.disconnect();\\n });\\n }\\n onProcessorMessage(event) {\\n var _a, _b, _c;\\n const data = event.data;\\n switch (data.message) {\\n case 'cpu':\\n this.cpuWarningCount++;\\n const now = Date.now();\\n const before = this.cpuWarningLastTriggered || now;\\n const diff = Math.abs(now - before);\\n if (!this.cpuWarningLastTriggered || diff > CPU_WARNING_MAX_INTERVAL_MS) {\\n (_a = this.logger) === null || _a === void 0 ? void 0 : _a.warn(`CPU warning (count: ${this.cpuWarningCount}):`, data.message);\\n this.cpuWarningCount = 0;\\n this.cpuWarningLastTriggered = now;\\n }\\n (_b = this.delegate) === null || _b === void 0 ? void 0 : _b.onCPUWarning();\\n break;\\n default:\\n (_c = this.logger) === null || _c === void 0 ? void 0 : _c.debug('Ignoring processor message.');\\n }\\n }\\n onWorkerMessage(event) {\\n const data = event.data;\\n switch (data.message) {\\n case 'module-buffer':\\n if (!data.buffer || !data.key) {\\n return;\\n }\\n this.onModuleBufferLoaded(data.buffer, data.key);\\n break;\\n case 'module':\\n if (!data.module || !data.key) {\\n return;\\n }\\n this.onModuleLoaded(data.module, data.key);\\n break;\\n case 'stopped':\\n if (this.worker) {\\n this.worker.terminate();\\n }\\n break;\\n default:\\n return;\\n }\\n }\\n}\\nexports[\\\"default\\\"] = VoiceFocusInlineNode;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/libs/voicefocus/worklet-inline-node.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/libs/voicefocus/worklet-worker-postMessage-node.js\":\n/*!*********************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/libs/voicefocus/worklet-worker-postMessage-node.js ***!\n \\*********************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\n\\n\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst support_js_1 = __webpack_require__(/*! ./support.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/support.js\\\");\\nconst types_js_1 = __webpack_require__(/*! ./types.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/types.js\\\");\\nclass VoiceFocusWorkerPostMessageNode extends types_js_1.VoiceFocusAudioWorkletNode {\\n constructor(context, options) {\\n super(context, options.processor, options);\\n this.channelCountMode = 'explicit';\\n this.channelCount = 1;\\n const { modelURL, audioBufferURL, worker, fetchBehavior, delegate, } = options;\\n this.delegate = delegate;\\n this.worker = worker;\\n this.worker.onmessage = this.onWorkerMessage.bind(this);\\n this.port.onmessage = this.onProcessorMessage.bind(this);\\n const { enabled, agc, supportFarendStream } = options.processorOptions;\\n this.worker.postMessage({\\n message: 'init',\\n approach: 'postMessage',\\n frames: context.sampleRate === 16000 ? 160 : 480,\\n enabled,\\n agc,\\n fetchBehavior,\\n model: modelURL,\\n supportFarendStream,\\n });\\n const message = support_js_1.supportsWASMPostMessage(globalThis) ? 'get-module' : 'get-module-buffer';\\n this.worker.postMessage({\\n message,\\n key: 'buffer',\\n fetchBehavior,\\n path: audioBufferURL,\\n });\\n }\\n enable() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.worker.postMessage({ message: 'enable' });\\n });\\n }\\n disable() {\\n return __awaiter(this, void 0, void 0, function* () {\\n this.worker.postMessage({ message: 'disable' });\\n });\\n }\\n stop() {\\n return __awaiter(this, void 0, void 0, function* () {\\n try {\\n this.worker.postMessage({ message: 'stop' });\\n }\\n catch (e) {\\n }\\n this.disconnect();\\n });\\n }\\n onWorkerMessage(event) {\\n var _a;\\n const data = event.data;\\n switch (data.message) {\\n case 'ready':\\n this.port.postMessage({ message: 'ready', shared: data.shared }, data.shared ? Object.values(data.shared) : []);\\n break;\\n case 'data':\\n if (!data.buffer) {\\n return;\\n }\\n this.port.postMessage({ message: 'data', buffer: data.buffer }, [data.buffer]);\\n break;\\n case 'stopped':\\n this.worker.terminate();\\n break;\\n case 'module-buffer':\\n case 'module':\\n this.port.postMessage(data);\\n break;\\n case 'cpu':\\n (_a = this.delegate) === null || _a === void 0 ? void 0 : _a.onCPUWarning();\\n break;\\n case 'processing':\\n this.port.postMessage(data);\\n break;\\n default:\\n return;\\n }\\n }\\n onProcessorMessage(event) {\\n var _a;\\n const data = event.data;\\n switch (data.message) {\\n case 'data':\\n if (!data.buffer) {\\n return;\\n }\\n this.worker.postMessage({ message: 'data', buffer: data.buffer }, [data.buffer]);\\n break;\\n case 'cpu':\\n (_a = this.delegate) === null || _a === void 0 ? void 0 : _a.onCPUWarning();\\n break;\\n case 'prepare-for-frames':\\n this.worker.postMessage(data);\\n break;\\n default:\\n return;\\n }\\n }\\n}\\nexports[\\\"default\\\"] = VoiceFocusWorkerPostMessageNode;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/libs/voicefocus/worklet-worker-postMessage-node.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/amazon-chime-sdk-js/libs/voicefocus/worklet-worker-sab-node.js\":\n/*!*************************************************************************************!*\\\n !*** ./node_modules/amazon-chime-sdk-js/libs/voicefocus/worklet-worker-sab-node.js ***!\n \\*************************************************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\\n// SPDX-License-Identifier: Apache-2.0\\n\\n\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", ({ value: true }));\\nconst support_js_1 = __webpack_require__(/*! ./support.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/support.js\\\");\\nconst types_js_1 = __webpack_require__(/*! ./types.js */ \\\"./node_modules/amazon-chime-sdk-js/libs/voicefocus/types.js\\\");\\nconst INDICES = {\\n ready: 0,\\n enabled: 1,\\n};\\nconst STATES = {\\n disabled: 0,\\n enabled: 1,\\n stopped: 2,\\n};\\nclass VoiceFocusWorkerBufferNode extends types_js_1.VoiceFocusAudioWorkletNode {\\n constructor(context, options) {\\n super(context, options.processor, options);\\n this.channelCountMode = 'explicit';\\n this.channelCount = 1;\\n const { modelURL, resamplerURL, worker, fetchBehavior, delegate, } = options;\\n this.delegate = delegate;\\n this.worker = worker;\\n this.worker.onmessage = this.onWorkerMessage.bind(this);\\n this.port.onmessage = this.onProcessorMessage.bind(this);\\n const { enabled, supportFarendStream } = options.processorOptions;\\n this.worker.postMessage({\\n message: 'init',\\n approach: 'sab',\\n frames: context.sampleRate === 16000 ? 160 : 480,\\n enabled,\\n model: modelURL,\\n supportFarendStream,\\n });\\n const message = support_js_1.supportsWASMPostMessage(globalThis) ? 'get-module' : 'get-module-buffer';\\n this.worker.postMessage({\\n message,\\n key: 'resampler',\\n fetchBehavior,\\n path: resamplerURL,\\n });\\n }\\n enable() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.state) {\\n Atomics.store(this.state, INDICES.enabled, STATES.enabled);\\n Atomics.notify(this.state, INDICES.ready, 1);\\n }\\n else {\\n this.worker.postMessage({ message: 'enable' });\\n }\\n });\\n }\\n disable() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.state) {\\n Atomics.store(this.state, INDICES.enabled, STATES.disabled);\\n Atomics.notify(this.state, INDICES.ready, 1);\\n }\\n else {\\n this.worker.postMessage({ message: 'disable' });\\n }\\n });\\n }\\n stop() {\\n return __awaiter(this, void 0, void 0, function* () {\\n if (this.state) {\\n Atomics.store(this.state, INDICES.enabled, STATES.stopped);\\n Atomics.notify(this.state, INDICES.ready, 1);\\n }\\n else {\\n try {\\n this.worker.postMessage({ message: 'stop' });\\n }\\n catch (e) {\\n }\\n }\\n this.disconnect();\\n });\\n }\\n onWorkerMessage(event) {\\n var _a;\\n const data = event.data;\\n switch (data.message) {\\n case 'ready':\\n if (!data.shared) {\\n throw new Error('No shared state.');\\n }\\n this.state = new Int32Array(data.shared.state);\\n this.port.postMessage(data);\\n break;\\n case 'stopped':\\n this.worker.terminate();\\n break;\\n case 'module-buffer':\\n case 'module':\\n this.port.postMessage(data);\\n break;\\n case 'cpu':\\n (_a = this.delegate) === null || _a === void 0 ? void 0 : _a.onCPUWarning();\\n break;\\n case 'processing':\\n this.port.postMessage(data);\\n break;\\n default:\\n return;\\n }\\n }\\n onProcessorMessage(event) {\\n var _a;\\n const data = event.data;\\n switch (data.message) {\\n case 'cpu':\\n (_a = this.delegate) === null || _a === void 0 ? void 0 : _a.onCPUWarning();\\n break;\\n case 'prepare-for-frames':\\n this.worker.postMessage(data);\\n break;\\n default:\\n }\\n }\\n}\\nexports[\\\"default\\\"] = VoiceFocusWorkerBufferNode;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/amazon-chime-sdk-js/libs/voicefocus/worklet-worker-sab-node.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/base64-js/index.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/base64-js/index.js ***!\n \\*****************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\neval(\"\\n\\nexports.byteLength = byteLength\\nexports.toByteArray = toByteArray\\nexports.fromByteArray = fromByteArray\\n\\nvar lookup = []\\nvar revLookup = []\\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\\n\\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\\nfor (var i = 0, len = code.length; i < len; ++i) {\\n lookup[i] = code[i]\\n revLookup[code.charCodeAt(i)] = i\\n}\\n\\n// Support decoding URL-safe base64 strings, as Node.js does.\\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\\nrevLookup['-'.charCodeAt(0)] = 62\\nrevLookup['_'.charCodeAt(0)] = 63\\n\\nfunction getLens (b64) {\\n var len = b64.length\\n\\n if (len % 4 > 0) {\\n throw new Error('Invalid string. Length must be a multiple of 4')\\n }\\n\\n // Trim off extra bytes after placeholder bytes are found\\n // See: https://github.com/beatgammit/base64-js/issues/42\\n var validLen = b64.indexOf('=')\\n if (validLen === -1) validLen = len\\n\\n var placeHoldersLen = validLen === len\\n ? 0\\n : 4 - (validLen % 4)\\n\\n return [validLen, placeHoldersLen]\\n}\\n\\n// base64 is 4/3 + up to two characters of the original data\\nfunction byteLength (b64) {\\n var lens = getLens(b64)\\n var validLen = lens[0]\\n var placeHoldersLen = lens[1]\\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\\n}\\n\\nfunction _byteLength (b64, validLen, placeHoldersLen) {\\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\\n}\\n\\nfunction toByteArray (b64) {\\n var tmp\\n var lens = getLens(b64)\\n var validLen = lens[0]\\n var placeHoldersLen = lens[1]\\n\\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\\n\\n var curByte = 0\\n\\n // if there are placeholders, only get up to the last complete 4 chars\\n var len = placeHoldersLen > 0\\n ? validLen - 4\\n : validLen\\n\\n var i\\n for (i = 0; i < len; i += 4) {\\n tmp =\\n (revLookup[b64.charCodeAt(i)] << 18) |\\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\\n revLookup[b64.charCodeAt(i + 3)]\\n arr[curByte++] = (tmp >> 16) & 0xFF\\n arr[curByte++] = (tmp >> 8) & 0xFF\\n arr[curByte++] = tmp & 0xFF\\n }\\n\\n if (placeHoldersLen === 2) {\\n tmp =\\n (revLookup[b64.charCodeAt(i)] << 2) |\\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\\n arr[curByte++] = tmp & 0xFF\\n }\\n\\n if (placeHoldersLen === 1) {\\n tmp =\\n (revLookup[b64.charCodeAt(i)] << 10) |\\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\\n arr[curByte++] = (tmp >> 8) & 0xFF\\n arr[curByte++] = tmp & 0xFF\\n }\\n\\n return arr\\n}\\n\\nfunction tripletToBase64 (num) {\\n return lookup[num >> 18 & 0x3F] +\\n lookup[num >> 12 & 0x3F] +\\n lookup[num >> 6 & 0x3F] +\\n lookup[num & 0x3F]\\n}\\n\\nfunction encodeChunk (uint8, start, end) {\\n var tmp\\n var output = []\\n for (var i = start; i < end; i += 3) {\\n tmp =\\n ((uint8[i] << 16) & 0xFF0000) +\\n ((uint8[i + 1] << 8) & 0xFF00) +\\n (uint8[i + 2] & 0xFF)\\n output.push(tripletToBase64(tmp))\\n }\\n return output.join('')\\n}\\n\\nfunction fromByteArray (uint8) {\\n var tmp\\n var len = uint8.length\\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\\n var parts = []\\n var maxChunkLength = 16383 // must be multiple of 3\\n\\n // go through the array every three bytes, we'll deal with trailing stuff later\\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\\n }\\n\\n // pad the end with zeros, but make sure to not forget the extra bytes\\n if (extraBytes === 1) {\\n tmp = uint8[len - 1]\\n parts.push(\\n lookup[tmp >> 2] +\\n lookup[(tmp << 4) & 0x3F] +\\n '=='\\n )\\n } else if (extraBytes === 2) {\\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\\n parts.push(\\n lookup[tmp >> 10] +\\n lookup[(tmp >> 4) & 0x3F] +\\n lookup[(tmp << 2) & 0x3F] +\\n '='\\n )\\n }\\n\\n return parts.join('')\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/base64-js/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/bowser/es5.js\":\n/*!************************************!*\\\n !*** ./node_modules/bowser/es5.js ***!\n \\************************************/\n/***/ (function(module) {\n\neval(\"!function(e,t){ true?module.exports=t():0}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\\\"undefined\\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\\"Module\\\"}),Object.defineProperty(e,\\\"__esModule\\\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\\\"object\\\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\\\"default\\\",{enumerable:!0,value:e}),2&t&&\\\"string\\\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\\\"a\\\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\\\"\\\",r(r.s=90)}({17:function(e,t,r){\\\"use strict\\\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\\\"\\\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\\\"\\\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\\\"NT\\\":return\\\"NT\\\";case\\\"XP\\\":return\\\"XP\\\";case\\\"NT 5.0\\\":return\\\"2000\\\";case\\\"NT 5.1\\\":return\\\"XP\\\";case\\\"NT 5.2\\\":return\\\"2003\\\";case\\\"NT 6.0\\\":return\\\"Vista\\\";case\\\"NT 6.1\\\":return\\\"7\\\";case\\\"NT 6.2\\\":return\\\"8\\\";case\\\"NT 6.3\\\":return\\\"8.1\\\";case\\\"NT 10.0\\\":return\\\"10\\\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\\\".\\\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\\\"Leopard\\\";case 6:return\\\"Snow Leopard\\\";case 7:return\\\"Lion\\\";case 8:return\\\"Mountain Lion\\\";case 9:return\\\"Mavericks\\\";case 10:return\\\"Yosemite\\\";case 11:return\\\"El Capitan\\\";case 12:return\\\"Sierra\\\";case 13:return\\\"High Sierra\\\";case 14:return\\\"Mojave\\\";case 15:return\\\"Catalina\\\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\\\".\\\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\\\"Cupcake\\\":1===t[0]&&t[1]>=6?\\\"Donut\\\":2===t[0]&&t[1]<2?\\\"Eclair\\\":2===t[0]&&2===t[1]?\\\"Froyo\\\":2===t[0]&&t[1]>2?\\\"Gingerbread\\\":3===t[0]?\\\"Honeycomb\\\":4===t[0]&&t[1]<1?\\\"Ice Cream Sandwich\\\":4===t[0]&&t[1]<4?\\\"Jelly Bean\\\":4===t[0]&&t[1]>=4?\\\"KitKat\\\":5===t[0]?\\\"Lollipop\\\":6===t[0]?\\\"Marshmallow\\\":7===t[0]?\\\"Nougat\\\":8===t[0]?\\\"Oreo\\\":9===t[0]?\\\"Pie\\\":void 0},e.getVersionPrecision=function(e){return e.split(\\\".\\\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\\\".0\\\");return e.map(n.split(\\\".\\\"),(function(e){return new Array(20-e.length).join(\\\"0\\\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]<u[1][a])return-1}},e.map=function(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r+=1)n.push(t(e[r]));return n},e.find=function(e,t){var r,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(r=0,n=e.length;r<n;r+=1){var i=e[r];if(t(i,r))return i}},e.assign=function(e){for(var t,r,n=e,i=arguments.length,s=new Array(i>1?i-1:0),a=1;a<i;a++)s[a-1]=arguments[a];if(Object.assign)return Object.assign.apply(Object,[e].concat(s));var o=function(){var e=s[t];\\\"object\\\"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){n[t]=e[t]}))};for(t=0,r=s.length;t<r;t+=1)o();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||\\\"\\\"},e}();t.default=i,e.exports=t.default},18:function(e,t,r){\\\"use strict\\\";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0;t.BROWSER_ALIASES_MAP={\\\"Amazon Silk\\\":\\\"amazon_silk\\\",\\\"Android Browser\\\":\\\"android\\\",Bada:\\\"bada\\\",BlackBerry:\\\"blackberry\\\",Chrome:\\\"chrome\\\",Chromium:\\\"chromium\\\",Electron:\\\"electron\\\",Epiphany:\\\"epiphany\\\",Firefox:\\\"firefox\\\",Focus:\\\"focus\\\",Generic:\\\"generic\\\",\\\"Google Search\\\":\\\"google_search\\\",Googlebot:\\\"googlebot\\\",\\\"Internet Explorer\\\":\\\"ie\\\",\\\"K-Meleon\\\":\\\"k_meleon\\\",Maxthon:\\\"maxthon\\\",\\\"Microsoft Edge\\\":\\\"edge\\\",\\\"MZ Browser\\\":\\\"mz\\\",\\\"NAVER Whale Browser\\\":\\\"naver\\\",Opera:\\\"opera\\\",\\\"Opera Coast\\\":\\\"opera_coast\\\",PhantomJS:\\\"phantomjs\\\",Puffin:\\\"puffin\\\",QupZilla:\\\"qupzilla\\\",QQ:\\\"qq\\\",QQLite:\\\"qqlite\\\",Safari:\\\"safari\\\",Sailfish:\\\"sailfish\\\",\\\"Samsung Internet for Android\\\":\\\"samsung_internet\\\",SeaMonkey:\\\"seamonkey\\\",Sleipnir:\\\"sleipnir\\\",Swing:\\\"swing\\\",Tizen:\\\"tizen\\\",\\\"UC Browser\\\":\\\"uc\\\",Vivaldi:\\\"vivaldi\\\",\\\"WebOS Browser\\\":\\\"webos\\\",WeChat:\\\"wechat\\\",\\\"Yandex Browser\\\":\\\"yandex\\\",Roku:\\\"roku\\\"};t.BROWSER_MAP={amazon_silk:\\\"Amazon Silk\\\",android:\\\"Android Browser\\\",bada:\\\"Bada\\\",blackberry:\\\"BlackBerry\\\",chrome:\\\"Chrome\\\",chromium:\\\"Chromium\\\",electron:\\\"Electron\\\",epiphany:\\\"Epiphany\\\",firefox:\\\"Firefox\\\",focus:\\\"Focus\\\",generic:\\\"Generic\\\",googlebot:\\\"Googlebot\\\",google_search:\\\"Google Search\\\",ie:\\\"Internet Explorer\\\",k_meleon:\\\"K-Meleon\\\",maxthon:\\\"Maxthon\\\",edge:\\\"Microsoft Edge\\\",mz:\\\"MZ Browser\\\",naver:\\\"NAVER Whale Browser\\\",opera:\\\"Opera\\\",opera_coast:\\\"Opera Coast\\\",phantomjs:\\\"PhantomJS\\\",puffin:\\\"Puffin\\\",qupzilla:\\\"QupZilla\\\",qq:\\\"QQ Browser\\\",qqlite:\\\"QQ Browser Lite\\\",safari:\\\"Safari\\\",sailfish:\\\"Sailfish\\\",samsung_internet:\\\"Samsung Internet for Android\\\",seamonkey:\\\"SeaMonkey\\\",sleipnir:\\\"Sleipnir\\\",swing:\\\"Swing\\\",tizen:\\\"Tizen\\\",uc:\\\"UC Browser\\\",vivaldi:\\\"Vivaldi\\\",webos:\\\"WebOS Browser\\\",wechat:\\\"WeChat\\\",yandex:\\\"Yandex Browser\\\"};t.PLATFORMS_MAP={tablet:\\\"tablet\\\",mobile:\\\"mobile\\\",desktop:\\\"desktop\\\",tv:\\\"tv\\\"};t.OS_MAP={WindowsPhone:\\\"Windows Phone\\\",Windows:\\\"Windows\\\",MacOS:\\\"macOS\\\",iOS:\\\"iOS\\\",Android:\\\"Android\\\",WebOS:\\\"WebOS\\\",BlackBerry:\\\"BlackBerry\\\",Bada:\\\"Bada\\\",Tizen:\\\"Tizen\\\",Linux:\\\"Linux\\\",ChromeOS:\\\"Chrome OS\\\",PlayStation4:\\\"PlayStation 4\\\",Roku:\\\"Roku\\\"};t.ENGINE_MAP={EdgeHTML:\\\"EdgeHTML\\\",Blink:\\\"Blink\\\",Trident:\\\"Trident\\\",Presto:\\\"Presto\\\",Gecko:\\\"Gecko\\\",WebKit:\\\"WebKit\\\"}},90:function(e,t,r){\\\"use strict\\\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(91))&&n.__esModule?n:{default:n},s=r(18);function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\\\"value\\\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var o=function(){function e(){}var t,r,n;return e.getParser=function(e,t){if(void 0===t&&(t=!1),\\\"string\\\"!=typeof e)throw new Error(\\\"UserAgent should be a string\\\");return new i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,n=[{key:\\\"BROWSER_MAP\\\",get:function(){return s.BROWSER_MAP}},{key:\\\"ENGINE_MAP\\\",get:function(){return s.ENGINE_MAP}},{key:\\\"OS_MAP\\\",get:function(){return s.OS_MAP}},{key:\\\"PLATFORMS_MAP\\\",get:function(){return s.PLATFORMS_MAP}}],(r=null)&&a(t.prototype,r),n&&a(t,n),e}();t.default=o,e.exports=t.default},91:function(e,t,r){\\\"use strict\\\";t.__esModule=!0,t.default=void 0;var n=u(r(92)),i=u(r(93)),s=u(r(94)),a=u(r(95)),o=u(r(17));function u(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||\\\"\\\"===e)throw new Error(\\\"UserAgent parameter can't be empty\\\");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=o.default.find(n.default,(function(t){if(\\\"function\\\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\\\"Browser's test function is not valid\\\")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||\\\"\\\":this.getBrowser().name||\\\"\\\"},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=o.default.find(i.default,(function(t){if(\\\"function\\\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\\\"Browser's test function is not valid\\\")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||\\\"\\\":t||\\\"\\\"},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||\\\"\\\":t||\\\"\\\"},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=o.default.find(s.default,(function(t){if(\\\"function\\\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\\\"Browser's test function is not valid\\\")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||\\\"\\\":this.getEngine().name||\\\"\\\"},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=o.default.find(a.default,(function(t){if(\\\"function\\\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\\\"Browser's test function is not valid\\\")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return o.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,r={},n=0,i={},s=0;if(Object.keys(e).forEach((function(t){var a=e[t];\\\"string\\\"==typeof a?(i[t]=a,s+=1):\\\"object\\\"==typeof a&&(r[t]=a,n+=1)})),n>0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\\\"string\\\"==typeof i)return\\\">\\\"===e[0]||\\\"<\\\"===e[0]?(r=e.substr(1),\\\"=\\\"===e[1]?(n=!0,r=e.substr(2)):t=[],\\\">\\\"===e[0]?t.push(1):t.push(-1)):\\\"=\\\"===e[0]?r=e.substr(1):\\\"~\\\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\\\"use strict\\\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\\\"Googlebot\\\"},r=i.default.getFirstMatch(/googlebot\\\\/(\\\\d+(\\\\.\\\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\\\"Opera\\\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\\\/|opios/i],describe:function(e){var t={name:\\\"Opera\\\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\\\s/](\\\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\\\"Samsung Internet for Android\\\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\\\"NAVER Whale Browser\\\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\\\s/](\\\\d+(?:\\\\.\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\\\"MZ Browser\\\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\\\s/](\\\\d+(?:\\\\.\\\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\\\"Focus\\\"},r=i.default.getFirstMatch(/(?:focus)[\\\\s/](\\\\d+(?:\\\\.\\\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\\\"Swing\\\"},r=i.default.getFirstMatch(/(?:swing)[\\\\s/](\\\\d+(?:\\\\.\\\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\\\"Opera Coast\\\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\\\/\\\\d+(?:.?_?\\\\d+)+/i],describe:function(e){var t={name:\\\"Opera Touch\\\"},r=i.default.getFirstMatch(/(?:opt)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\\\"Yandex Browser\\\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\\\"UC Browser\\\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\\\"Maxthon\\\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\\\"Epiphany\\\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\\\"Puffin\\\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\\\"Sleipnir\\\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\\\"K-Meleon\\\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\\\"WeChat\\\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\\\"QQ Browser Lite\\\":\\\"QQ Browser\\\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\\\"Internet Explorer\\\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\\\sedg\\\\//i],describe:function(e){var t={name:\\\"Microsoft Edge\\\"},r=i.default.getFirstMatch(/\\\\sedg\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\\\"Microsoft Edge\\\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\\\"Vivaldi\\\"},r=i.default.getFirstMatch(/vivaldi\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\\\"SeaMonkey\\\"},r=i.default.getFirstMatch(/seamonkey\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\\\"Sailfish\\\"},r=i.default.getFirstMatch(/sailfish\\\\s?browser\\\\/(\\\\d+(\\\\.\\\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\\\"Amazon Silk\\\"},r=i.default.getFirstMatch(/silk\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\\\"PhantomJS\\\"},r=i.default.getFirstMatch(/phantomjs\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\\\"SlimerJS\\\"},r=i.default.getFirstMatch(/slimerjs\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\\\bbb\\\\d+/i,/rim\\\\stablet/i],describe:function(e){var t={name:\\\"BlackBerry\\\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\\\d]+\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\\\"WebOS Browser\\\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\\\"Bada\\\"},r=i.default.getFirstMatch(/dolfin\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\\\"Tizen\\\"},r=i.default.getFirstMatch(/(?:tizen\\\\s?)?browser\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\\\"QupZilla\\\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\\\"Firefox\\\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\\\"Electron\\\"},r=i.default.getFirstMatch(/(?:electron)\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\\\"Miui\\\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\\\"Chromium\\\"},r=i.default.getFirstMatch(/(?:chromium)[\\\\s/](\\\\d+(\\\\.?_?\\\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\\\"Chrome\\\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\\\"Google Search\\\"},r=i.default.getFirstMatch(/(?:GSA)\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\\\"Android Browser\\\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\\\"PlayStation 4\\\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\\\"Safari\\\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\\\"\\\\\\\\(\\\")?/^(.*)\\\\/(.*)[ \\\\t]\\\\((.*)/:/^(.*)\\\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\\\"use strict\\\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\\\/DVP-(\\\\d+\\\\.\\\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\\\s?(\\\\d+(\\\\.\\\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\\\d\\\\d?.\\\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\\\/)(\\\\d[\\\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\\\d+(\\\\.?_?\\\\d+)+)/i,e).replace(/[_\\\\s]/g,\\\".\\\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\\\d+([_\\\\s]\\\\d+)*) like mac os x/i,e).replace(/[_\\\\s]/g,\\\".\\\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\\\s/-](\\\\d+(\\\\.\\\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\\\/(\\\\d+(\\\\.\\\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\\\bbb\\\\d+/i,/rim\\\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\\\stablet\\\\sos\\\\s(\\\\d+(\\\\.\\\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\\\d+\\\\/(\\\\d+([_\\\\s]\\\\d+)*)/i,e)||i.default.getFirstMatch(/\\\\bbb(\\\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\\\/(\\\\d+(\\\\.\\\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\\\s](\\\\d+(\\\\.\\\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\\\s](\\\\d+(\\\\.\\\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\\\"use strict\\\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\\\"bot\\\",vendor:\\\"Google\\\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\\\"Nova\\\",r={type:s.PLATFORMS_MAP.mobile,vendor:\\\"Huawei\\\"};return t&&(r.model=t),r}},{test:[/nexus\\\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\\\"Nexus\\\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\\\"Apple\\\",model:\\\"iPad\\\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\\\"Apple\\\",model:\\\"iPad\\\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\\\"Amazon\\\",model:\\\"Kindle Fire HD 7\\\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\\\"Amazon\\\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\\\"Apple\\\",model:t}}},{test:[/nexus\\\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\\\"Nexus\\\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\\\"blackberry\\\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\\\"BlackBerry\\\"}}},{test:function(e){return\\\"bada\\\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\\\"windows phone\\\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\\\"Microsoft\\\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\\\".\\\")[0]);return\\\"android\\\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\\\"android\\\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\\\"macos\\\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\\\"Apple\\\"}}},{test:function(e){return\\\"windows\\\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\\\"linux\\\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\\\"playstation 4\\\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\\\"roku\\\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\\\"use strict\\\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\\\"microsoft edge\\\"===e.getBrowserName(!0)},describe:function(e){if(/\\\\sedg\\\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\\\/537\\\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\\\/(\\\\d+(\\\\.?_?\\\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/bowser/es5.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/buffer/index.js\":\n/*!**************************************!*\\\n !*** ./node_modules/buffer/index.js ***!\n \\**************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"/*!\\n * The buffer module from node.js, for the browser.\\n *\\n * @author Feross Aboukhadijeh <https://feross.org>\\n * @license MIT\\n */\\n/* eslint-disable no-proto */\\n\\n\\n\\nconst base64 = __webpack_require__(/*! base64-js */ \\\"./node_modules/base64-js/index.js\\\")\\nconst ieee754 = __webpack_require__(/*! ieee754 */ \\\"./node_modules/ieee754/index.js\\\")\\nconst customInspectSymbol =\\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\\n : null\\n\\nexports.Buffer = Buffer\\nexports.SlowBuffer = SlowBuffer\\nexports.INSPECT_MAX_BYTES = 50\\n\\nconst K_MAX_LENGTH = 0x7fffffff\\nexports.kMaxLength = K_MAX_LENGTH\\n\\n/**\\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\\n * === true Use Uint8Array implementation (fastest)\\n * === false Print warning and recommend using `buffer` v4.x which has an Object\\n * implementation (most compatible, even IE6)\\n *\\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\\n * Opera 11.6+, iOS 4.2+.\\n *\\n * We report that the browser does not support typed arrays if the are not subclassable\\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\\n * for __proto__ and has a buggy typed array implementation.\\n */\\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\\n\\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\\n typeof console.error === 'function') {\\n console.error(\\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\\n )\\n}\\n\\nfunction typedArraySupport () {\\n // Can typed array instances can be augmented?\\n try {\\n const arr = new Uint8Array(1)\\n const proto = { foo: function () { return 42 } }\\n Object.setPrototypeOf(proto, Uint8Array.prototype)\\n Object.setPrototypeOf(arr, proto)\\n return arr.foo() === 42\\n } catch (e) {\\n return false\\n }\\n}\\n\\nObject.defineProperty(Buffer.prototype, 'parent', {\\n enumerable: true,\\n get: function () {\\n if (!Buffer.isBuffer(this)) return undefined\\n return this.buffer\\n }\\n})\\n\\nObject.defineProperty(Buffer.prototype, 'offset', {\\n enumerable: true,\\n get: function () {\\n if (!Buffer.isBuffer(this)) return undefined\\n return this.byteOffset\\n }\\n})\\n\\nfunction createBuffer (length) {\\n if (length > K_MAX_LENGTH) {\\n throw new RangeError('The value \\\"' + length + '\\\" is invalid for option \\\"size\\\"')\\n }\\n // Return an augmented `Uint8Array` instance\\n const buf = new Uint8Array(length)\\n Object.setPrototypeOf(buf, Buffer.prototype)\\n return buf\\n}\\n\\n/**\\n * The Buffer constructor returns instances of `Uint8Array` that have their\\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\\n * returns a single octet.\\n *\\n * The `Uint8Array` prototype remains unmodified.\\n */\\n\\nfunction Buffer (arg, encodingOrOffset, length) {\\n // Common case.\\n if (typeof arg === 'number') {\\n if (typeof encodingOrOffset === 'string') {\\n throw new TypeError(\\n 'The \\\"string\\\" argument must be of type string. Received type number'\\n )\\n }\\n return allocUnsafe(arg)\\n }\\n return from(arg, encodingOrOffset, length)\\n}\\n\\nBuffer.poolSize = 8192 // not used by this implementation\\n\\nfunction from (value, encodingOrOffset, length) {\\n if (typeof value === 'string') {\\n return fromString(value, encodingOrOffset)\\n }\\n\\n if (ArrayBuffer.isView(value)) {\\n return fromArrayView(value)\\n }\\n\\n if (value == null) {\\n throw new TypeError(\\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\\n 'or Array-like Object. Received type ' + (typeof value)\\n )\\n }\\n\\n if (isInstance(value, ArrayBuffer) ||\\n (value && isInstance(value.buffer, ArrayBuffer))) {\\n return fromArrayBuffer(value, encodingOrOffset, length)\\n }\\n\\n if (typeof SharedArrayBuffer !== 'undefined' &&\\n (isInstance(value, SharedArrayBuffer) ||\\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\\n return fromArrayBuffer(value, encodingOrOffset, length)\\n }\\n\\n if (typeof value === 'number') {\\n throw new TypeError(\\n 'The \\\"value\\\" argument must not be of type number. Received type number'\\n )\\n }\\n\\n const valueOf = value.valueOf && value.valueOf()\\n if (valueOf != null && valueOf !== value) {\\n return Buffer.from(valueOf, encodingOrOffset, length)\\n }\\n\\n const b = fromObject(value)\\n if (b) return b\\n\\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\\n typeof value[Symbol.toPrimitive] === 'function') {\\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\\n }\\n\\n throw new TypeError(\\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\\n 'or Array-like Object. Received type ' + (typeof value)\\n )\\n}\\n\\n/**\\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\\n * if value is a number.\\n * Buffer.from(str[, encoding])\\n * Buffer.from(array)\\n * Buffer.from(buffer)\\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\\n **/\\nBuffer.from = function (value, encodingOrOffset, length) {\\n return from(value, encodingOrOffset, length)\\n}\\n\\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\\n// https://github.com/feross/buffer/pull/148\\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\\nObject.setPrototypeOf(Buffer, Uint8Array)\\n\\nfunction assertSize (size) {\\n if (typeof size !== 'number') {\\n throw new TypeError('\\\"size\\\" argument must be of type number')\\n } else if (size < 0) {\\n throw new RangeError('The value \\\"' + size + '\\\" is invalid for option \\\"size\\\"')\\n }\\n}\\n\\nfunction alloc (size, fill, encoding) {\\n assertSize(size)\\n if (size <= 0) {\\n return createBuffer(size)\\n }\\n if (fill !== undefined) {\\n // Only pay attention to encoding if it's a string. This\\n // prevents accidentally sending in a number that would\\n // be interpreted as a start offset.\\n return typeof encoding === 'string'\\n ? createBuffer(size).fill(fill, encoding)\\n : createBuffer(size).fill(fill)\\n }\\n return createBuffer(size)\\n}\\n\\n/**\\n * Creates a new filled Buffer instance.\\n * alloc(size[, fill[, encoding]])\\n **/\\nBuffer.alloc = function (size, fill, encoding) {\\n return alloc(size, fill, encoding)\\n}\\n\\nfunction allocUnsafe (size) {\\n assertSize(size)\\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\\n}\\n\\n/**\\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\\n * */\\nBuffer.allocUnsafe = function (size) {\\n return allocUnsafe(size)\\n}\\n/**\\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\\n */\\nBuffer.allocUnsafeSlow = function (size) {\\n return allocUnsafe(size)\\n}\\n\\nfunction fromString (string, encoding) {\\n if (typeof encoding !== 'string' || encoding === '') {\\n encoding = 'utf8'\\n }\\n\\n if (!Buffer.isEncoding(encoding)) {\\n throw new TypeError('Unknown encoding: ' + encoding)\\n }\\n\\n const length = byteLength(string, encoding) | 0\\n let buf = createBuffer(length)\\n\\n const actual = buf.write(string, encoding)\\n\\n if (actual !== length) {\\n // Writing a hex string, for example, that contains invalid characters will\\n // cause everything after the first invalid character to be ignored. (e.g.\\n // 'abxxcd' will be treated as 'ab')\\n buf = buf.slice(0, actual)\\n }\\n\\n return buf\\n}\\n\\nfunction fromArrayLike (array) {\\n const length = array.length < 0 ? 0 : checked(array.length) | 0\\n const buf = createBuffer(length)\\n for (let i = 0; i < length; i += 1) {\\n buf[i] = array[i] & 255\\n }\\n return buf\\n}\\n\\nfunction fromArrayView (arrayView) {\\n if (isInstance(arrayView, Uint8Array)) {\\n const copy = new Uint8Array(arrayView)\\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\\n }\\n return fromArrayLike(arrayView)\\n}\\n\\nfunction fromArrayBuffer (array, byteOffset, length) {\\n if (byteOffset < 0 || array.byteLength < byteOffset) {\\n throw new RangeError('\\\"offset\\\" is outside of buffer bounds')\\n }\\n\\n if (array.byteLength < byteOffset + (length || 0)) {\\n throw new RangeError('\\\"length\\\" is outside of buffer bounds')\\n }\\n\\n let buf\\n if (byteOffset === undefined && length === undefined) {\\n buf = new Uint8Array(array)\\n } else if (length === undefined) {\\n buf = new Uint8Array(array, byteOffset)\\n } else {\\n buf = new Uint8Array(array, byteOffset, length)\\n }\\n\\n // Return an augmented `Uint8Array` instance\\n Object.setPrototypeOf(buf, Buffer.prototype)\\n\\n return buf\\n}\\n\\nfunction fromObject (obj) {\\n if (Buffer.isBuffer(obj)) {\\n const len = checked(obj.length) | 0\\n const buf = createBuffer(len)\\n\\n if (buf.length === 0) {\\n return buf\\n }\\n\\n obj.copy(buf, 0, 0, len)\\n return buf\\n }\\n\\n if (obj.length !== undefined) {\\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\\n return createBuffer(0)\\n }\\n return fromArrayLike(obj)\\n }\\n\\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\\n return fromArrayLike(obj.data)\\n }\\n}\\n\\nfunction checked (length) {\\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\\n // length is NaN (which is otherwise coerced to zero.)\\n if (length >= K_MAX_LENGTH) {\\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\\n }\\n return length | 0\\n}\\n\\nfunction SlowBuffer (length) {\\n if (+length != length) { // eslint-disable-line eqeqeq\\n length = 0\\n }\\n return Buffer.alloc(+length)\\n}\\n\\nBuffer.isBuffer = function isBuffer (b) {\\n return b != null && b._isBuffer === true &&\\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\\n}\\n\\nBuffer.compare = function compare (a, b) {\\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\\n throw new TypeError(\\n 'The \\\"buf1\\\", \\\"buf2\\\" arguments must be one of type Buffer or Uint8Array'\\n )\\n }\\n\\n if (a === b) return 0\\n\\n let x = a.length\\n let y = b.length\\n\\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\\n if (a[i] !== b[i]) {\\n x = a[i]\\n y = b[i]\\n break\\n }\\n }\\n\\n if (x < y) return -1\\n if (y < x) return 1\\n return 0\\n}\\n\\nBuffer.isEncoding = function isEncoding (encoding) {\\n switch (String(encoding).toLowerCase()) {\\n case 'hex':\\n case 'utf8':\\n case 'utf-8':\\n case 'ascii':\\n case 'latin1':\\n case 'binary':\\n case 'base64':\\n case 'ucs2':\\n case 'ucs-2':\\n case 'utf16le':\\n case 'utf-16le':\\n return true\\n default:\\n return false\\n }\\n}\\n\\nBuffer.concat = function concat (list, length) {\\n if (!Array.isArray(list)) {\\n throw new TypeError('\\\"list\\\" argument must be an Array of Buffers')\\n }\\n\\n if (list.length === 0) {\\n return Buffer.alloc(0)\\n }\\n\\n let i\\n if (length === undefined) {\\n length = 0\\n for (i = 0; i < list.length; ++i) {\\n length += list[i].length\\n }\\n }\\n\\n const buffer = Buffer.allocUnsafe(length)\\n let pos = 0\\n for (i = 0; i < list.length; ++i) {\\n let buf = list[i]\\n if (isInstance(buf, Uint8Array)) {\\n if (pos + buf.length > buffer.length) {\\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\\n buf.copy(buffer, pos)\\n } else {\\n Uint8Array.prototype.set.call(\\n buffer,\\n buf,\\n pos\\n )\\n }\\n } else if (!Buffer.isBuffer(buf)) {\\n throw new TypeError('\\\"list\\\" argument must be an Array of Buffers')\\n } else {\\n buf.copy(buffer, pos)\\n }\\n pos += buf.length\\n }\\n return buffer\\n}\\n\\nfunction byteLength (string, encoding) {\\n if (Buffer.isBuffer(string)) {\\n return string.length\\n }\\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\\n return string.byteLength\\n }\\n if (typeof string !== 'string') {\\n throw new TypeError(\\n 'The \\\"string\\\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\\n 'Received type ' + typeof string\\n )\\n }\\n\\n const len = string.length\\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\\n if (!mustMatch && len === 0) return 0\\n\\n // Use a for loop to avoid recursion\\n let loweredCase = false\\n for (;;) {\\n switch (encoding) {\\n case 'ascii':\\n case 'latin1':\\n case 'binary':\\n return len\\n case 'utf8':\\n case 'utf-8':\\n return utf8ToBytes(string).length\\n case 'ucs2':\\n case 'ucs-2':\\n case 'utf16le':\\n case 'utf-16le':\\n return len * 2\\n case 'hex':\\n return len >>> 1\\n case 'base64':\\n return base64ToBytes(string).length\\n default:\\n if (loweredCase) {\\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\\n }\\n encoding = ('' + encoding).toLowerCase()\\n loweredCase = true\\n }\\n }\\n}\\nBuffer.byteLength = byteLength\\n\\nfunction slowToString (encoding, start, end) {\\n let loweredCase = false\\n\\n // No need to verify that \\\"this.length <= MAX_UINT32\\\" since it's a read-only\\n // property of a typed array.\\n\\n // This behaves neither like String nor Uint8Array in that we set start/end\\n // to their upper/lower bounds if the value passed is out of range.\\n // undefined is handled specially as per ECMA-262 6th Edition,\\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\\n if (start === undefined || start < 0) {\\n start = 0\\n }\\n // Return early if start > this.length. Done here to prevent potential uint32\\n // coercion fail below.\\n if (start > this.length) {\\n return ''\\n }\\n\\n if (end === undefined || end > this.length) {\\n end = this.length\\n }\\n\\n if (end <= 0) {\\n return ''\\n }\\n\\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\\n end >>>= 0\\n start >>>= 0\\n\\n if (end <= start) {\\n return ''\\n }\\n\\n if (!encoding) encoding = 'utf8'\\n\\n while (true) {\\n switch (encoding) {\\n case 'hex':\\n return hexSlice(this, start, end)\\n\\n case 'utf8':\\n case 'utf-8':\\n return utf8Slice(this, start, end)\\n\\n case 'ascii':\\n return asciiSlice(this, start, end)\\n\\n case 'latin1':\\n case 'binary':\\n return latin1Slice(this, start, end)\\n\\n case 'base64':\\n return base64Slice(this, start, end)\\n\\n case 'ucs2':\\n case 'ucs-2':\\n case 'utf16le':\\n case 'utf-16le':\\n return utf16leSlice(this, start, end)\\n\\n default:\\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\\n encoding = (encoding + '').toLowerCase()\\n loweredCase = true\\n }\\n }\\n}\\n\\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\\n// reliably in a browserify context because there could be multiple different\\n// copies of the 'buffer' package in use. This method works even for Buffer\\n// instances that were created from another copy of the `buffer` package.\\n// See: https://github.com/feross/buffer/issues/154\\nBuffer.prototype._isBuffer = true\\n\\nfunction swap (b, n, m) {\\n const i = b[n]\\n b[n] = b[m]\\n b[m] = i\\n}\\n\\nBuffer.prototype.swap16 = function swap16 () {\\n const len = this.length\\n if (len % 2 !== 0) {\\n throw new RangeError('Buffer size must be a multiple of 16-bits')\\n }\\n for (let i = 0; i < len; i += 2) {\\n swap(this, i, i + 1)\\n }\\n return this\\n}\\n\\nBuffer.prototype.swap32 = function swap32 () {\\n const len = this.length\\n if (len % 4 !== 0) {\\n throw new RangeError('Buffer size must be a multiple of 32-bits')\\n }\\n for (let i = 0; i < len; i += 4) {\\n swap(this, i, i + 3)\\n swap(this, i + 1, i + 2)\\n }\\n return this\\n}\\n\\nBuffer.prototype.swap64 = function swap64 () {\\n const len = this.length\\n if (len % 8 !== 0) {\\n throw new RangeError('Buffer size must be a multiple of 64-bits')\\n }\\n for (let i = 0; i < len; i += 8) {\\n swap(this, i, i + 7)\\n swap(this, i + 1, i + 6)\\n swap(this, i + 2, i + 5)\\n swap(this, i + 3, i + 4)\\n }\\n return this\\n}\\n\\nBuffer.prototype.toString = function toString () {\\n const length = this.length\\n if (length === 0) return ''\\n if (arguments.length === 0) return utf8Slice(this, 0, length)\\n return slowToString.apply(this, arguments)\\n}\\n\\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\\n\\nBuffer.prototype.equals = function equals (b) {\\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\\n if (this === b) return true\\n return Buffer.compare(this, b) === 0\\n}\\n\\nBuffer.prototype.inspect = function inspect () {\\n let str = ''\\n const max = exports.INSPECT_MAX_BYTES\\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\\n if (this.length > max) str += ' ... '\\n return '<Buffer ' + str + '>'\\n}\\nif (customInspectSymbol) {\\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\\n}\\n\\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\\n if (isInstance(target, Uint8Array)) {\\n target = Buffer.from(target, target.offset, target.byteLength)\\n }\\n if (!Buffer.isBuffer(target)) {\\n throw new TypeError(\\n 'The \\\"target\\\" argument must be one of type Buffer or Uint8Array. ' +\\n 'Received type ' + (typeof target)\\n )\\n }\\n\\n if (start === undefined) {\\n start = 0\\n }\\n if (end === undefined) {\\n end = target ? target.length : 0\\n }\\n if (thisStart === undefined) {\\n thisStart = 0\\n }\\n if (thisEnd === undefined) {\\n thisEnd = this.length\\n }\\n\\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\\n throw new RangeError('out of range index')\\n }\\n\\n if (thisStart >= thisEnd && start >= end) {\\n return 0\\n }\\n if (thisStart >= thisEnd) {\\n return -1\\n }\\n if (start >= end) {\\n return 1\\n }\\n\\n start >>>= 0\\n end >>>= 0\\n thisStart >>>= 0\\n thisEnd >>>= 0\\n\\n if (this === target) return 0\\n\\n let x = thisEnd - thisStart\\n let y = end - start\\n const len = Math.min(x, y)\\n\\n const thisCopy = this.slice(thisStart, thisEnd)\\n const targetCopy = target.slice(start, end)\\n\\n for (let i = 0; i < len; ++i) {\\n if (thisCopy[i] !== targetCopy[i]) {\\n x = thisCopy[i]\\n y = targetCopy[i]\\n break\\n }\\n }\\n\\n if (x < y) return -1\\n if (y < x) return 1\\n return 0\\n}\\n\\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\\n//\\n// Arguments:\\n// - buffer - a Buffer to search\\n// - val - a string, Buffer, or number\\n// - byteOffset - an index into `buffer`; will be clamped to an int32\\n// - encoding - an optional encoding, relevant is val is a string\\n// - dir - true for indexOf, false for lastIndexOf\\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\\n // Empty buffer means no match\\n if (buffer.length === 0) return -1\\n\\n // Normalize byteOffset\\n if (typeof byteOffset === 'string') {\\n encoding = byteOffset\\n byteOffset = 0\\n } else if (byteOffset > 0x7fffffff) {\\n byteOffset = 0x7fffffff\\n } else if (byteOffset < -0x80000000) {\\n byteOffset = -0x80000000\\n }\\n byteOffset = +byteOffset // Coerce to Number.\\n if (numberIsNaN(byteOffset)) {\\n // byteOffset: it it's undefined, null, NaN, \\\"foo\\\", etc, search whole buffer\\n byteOffset = dir ? 0 : (buffer.length - 1)\\n }\\n\\n // Normalize byteOffset: negative offsets start from the end of the buffer\\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\\n if (byteOffset >= buffer.length) {\\n if (dir) return -1\\n else byteOffset = buffer.length - 1\\n } else if (byteOffset < 0) {\\n if (dir) byteOffset = 0\\n else return -1\\n }\\n\\n // Normalize val\\n if (typeof val === 'string') {\\n val = Buffer.from(val, encoding)\\n }\\n\\n // Finally, search either indexOf (if dir is true) or lastIndexOf\\n if (Buffer.isBuffer(val)) {\\n // Special case: looking for empty string/buffer always fails\\n if (val.length === 0) {\\n return -1\\n }\\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\\n } else if (typeof val === 'number') {\\n val = val & 0xFF // Search for a byte value [0-255]\\n if (typeof Uint8Array.prototype.indexOf === 'function') {\\n if (dir) {\\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\\n } else {\\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\\n }\\n }\\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\\n }\\n\\n throw new TypeError('val must be string, number or Buffer')\\n}\\n\\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\\n let indexSize = 1\\n let arrLength = arr.length\\n let valLength = val.length\\n\\n if (encoding !== undefined) {\\n encoding = String(encoding).toLowerCase()\\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\\n encoding === 'utf16le' || encoding === 'utf-16le') {\\n if (arr.length < 2 || val.length < 2) {\\n return -1\\n }\\n indexSize = 2\\n arrLength /= 2\\n valLength /= 2\\n byteOffset /= 2\\n }\\n }\\n\\n function read (buf, i) {\\n if (indexSize === 1) {\\n return buf[i]\\n } else {\\n return buf.readUInt16BE(i * indexSize)\\n }\\n }\\n\\n let i\\n if (dir) {\\n let foundIndex = -1\\n for (i = byteOffset; i < arrLength; i++) {\\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\\n if (foundIndex === -1) foundIndex = i\\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\\n } else {\\n if (foundIndex !== -1) i -= i - foundIndex\\n foundIndex = -1\\n }\\n }\\n } else {\\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\\n for (i = byteOffset; i >= 0; i--) {\\n let found = true\\n for (let j = 0; j < valLength; j++) {\\n if (read(arr, i + j) !== read(val, j)) {\\n found = false\\n break\\n }\\n }\\n if (found) return i\\n }\\n }\\n\\n return -1\\n}\\n\\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\\n return this.indexOf(val, byteOffset, encoding) !== -1\\n}\\n\\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\\n}\\n\\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\\n}\\n\\nfunction hexWrite (buf, string, offset, length) {\\n offset = Number(offset) || 0\\n const remaining = buf.length - offset\\n if (!length) {\\n length = remaining\\n } else {\\n length = Number(length)\\n if (length > remaining) {\\n length = remaining\\n }\\n }\\n\\n const strLen = string.length\\n\\n if (length > strLen / 2) {\\n length = strLen / 2\\n }\\n let i\\n for (i = 0; i < length; ++i) {\\n const parsed = parseInt(string.substr(i * 2, 2), 16)\\n if (numberIsNaN(parsed)) return i\\n buf[offset + i] = parsed\\n }\\n return i\\n}\\n\\nfunction utf8Write (buf, string, offset, length) {\\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\\n}\\n\\nfunction asciiWrite (buf, string, offset, length) {\\n return blitBuffer(asciiToBytes(string), buf, offset, length)\\n}\\n\\nfunction base64Write (buf, string, offset, length) {\\n return blitBuffer(base64ToBytes(string), buf, offset, length)\\n}\\n\\nfunction ucs2Write (buf, string, offset, length) {\\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\\n}\\n\\nBuffer.prototype.write = function write (string, offset, length, encoding) {\\n // Buffer#write(string)\\n if (offset === undefined) {\\n encoding = 'utf8'\\n length = this.length\\n offset = 0\\n // Buffer#write(string, encoding)\\n } else if (length === undefined && typeof offset === 'string') {\\n encoding = offset\\n length = this.length\\n offset = 0\\n // Buffer#write(string, offset[, length][, encoding])\\n } else if (isFinite(offset)) {\\n offset = offset >>> 0\\n if (isFinite(length)) {\\n length = length >>> 0\\n if (encoding === undefined) encoding = 'utf8'\\n } else {\\n encoding = length\\n length = undefined\\n }\\n } else {\\n throw new Error(\\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\\n )\\n }\\n\\n const remaining = this.length - offset\\n if (length === undefined || length > remaining) length = remaining\\n\\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\\n throw new RangeError('Attempt to write outside buffer bounds')\\n }\\n\\n if (!encoding) encoding = 'utf8'\\n\\n let loweredCase = false\\n for (;;) {\\n switch (encoding) {\\n case 'hex':\\n return hexWrite(this, string, offset, length)\\n\\n case 'utf8':\\n case 'utf-8':\\n return utf8Write(this, string, offset, length)\\n\\n case 'ascii':\\n case 'latin1':\\n case 'binary':\\n return asciiWrite(this, string, offset, length)\\n\\n case 'base64':\\n // Warning: maxLength not taken into account in base64Write\\n return base64Write(this, string, offset, length)\\n\\n case 'ucs2':\\n case 'ucs-2':\\n case 'utf16le':\\n case 'utf-16le':\\n return ucs2Write(this, string, offset, length)\\n\\n default:\\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\\n encoding = ('' + encoding).toLowerCase()\\n loweredCase = true\\n }\\n }\\n}\\n\\nBuffer.prototype.toJSON = function toJSON () {\\n return {\\n type: 'Buffer',\\n data: Array.prototype.slice.call(this._arr || this, 0)\\n }\\n}\\n\\nfunction base64Slice (buf, start, end) {\\n if (start === 0 && end === buf.length) {\\n return base64.fromByteArray(buf)\\n } else {\\n return base64.fromByteArray(buf.slice(start, end))\\n }\\n}\\n\\nfunction utf8Slice (buf, start, end) {\\n end = Math.min(buf.length, end)\\n const res = []\\n\\n let i = start\\n while (i < end) {\\n const firstByte = buf[i]\\n let codePoint = null\\n let bytesPerSequence = (firstByte > 0xEF)\\n ? 4\\n : (firstByte > 0xDF)\\n ? 3\\n : (firstByte > 0xBF)\\n ? 2\\n : 1\\n\\n if (i + bytesPerSequence <= end) {\\n let secondByte, thirdByte, fourthByte, tempCodePoint\\n\\n switch (bytesPerSequence) {\\n case 1:\\n if (firstByte < 0x80) {\\n codePoint = firstByte\\n }\\n break\\n case 2:\\n secondByte = buf[i + 1]\\n if ((secondByte & 0xC0) === 0x80) {\\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\\n if (tempCodePoint > 0x7F) {\\n codePoint = tempCodePoint\\n }\\n }\\n break\\n case 3:\\n secondByte = buf[i + 1]\\n thirdByte = buf[i + 2]\\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\\n codePoint = tempCodePoint\\n }\\n }\\n break\\n case 4:\\n secondByte = buf[i + 1]\\n thirdByte = buf[i + 2]\\n fourthByte = buf[i + 3]\\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\\n codePoint = tempCodePoint\\n }\\n }\\n }\\n }\\n\\n if (codePoint === null) {\\n // we did not generate a valid codePoint so insert a\\n // replacement char (U+FFFD) and advance only 1 byte\\n codePoint = 0xFFFD\\n bytesPerSequence = 1\\n } else if (codePoint > 0xFFFF) {\\n // encode to utf16 (surrogate pair dance)\\n codePoint -= 0x10000\\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\\n codePoint = 0xDC00 | codePoint & 0x3FF\\n }\\n\\n res.push(codePoint)\\n i += bytesPerSequence\\n }\\n\\n return decodeCodePointsArray(res)\\n}\\n\\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\\n// the lowest limit is Chrome, with 0x10000 args.\\n// We go 1 magnitude less, for safety\\nconst MAX_ARGUMENTS_LENGTH = 0x1000\\n\\nfunction decodeCodePointsArray (codePoints) {\\n const len = codePoints.length\\n if (len <= MAX_ARGUMENTS_LENGTH) {\\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\\n }\\n\\n // Decode in chunks to avoid \\\"call stack size exceeded\\\".\\n let res = ''\\n let i = 0\\n while (i < len) {\\n res += String.fromCharCode.apply(\\n String,\\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\\n )\\n }\\n return res\\n}\\n\\nfunction asciiSlice (buf, start, end) {\\n let ret = ''\\n end = Math.min(buf.length, end)\\n\\n for (let i = start; i < end; ++i) {\\n ret += String.fromCharCode(buf[i] & 0x7F)\\n }\\n return ret\\n}\\n\\nfunction latin1Slice (buf, start, end) {\\n let ret = ''\\n end = Math.min(buf.length, end)\\n\\n for (let i = start; i < end; ++i) {\\n ret += String.fromCharCode(buf[i])\\n }\\n return ret\\n}\\n\\nfunction hexSlice (buf, start, end) {\\n const len = buf.length\\n\\n if (!start || start < 0) start = 0\\n if (!end || end < 0 || end > len) end = len\\n\\n let out = ''\\n for (let i = start; i < end; ++i) {\\n out += hexSliceLookupTable[buf[i]]\\n }\\n return out\\n}\\n\\nfunction utf16leSlice (buf, start, end) {\\n const bytes = buf.slice(start, end)\\n let res = ''\\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\\n for (let i = 0; i < bytes.length - 1; i += 2) {\\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\\n }\\n return res\\n}\\n\\nBuffer.prototype.slice = function slice (start, end) {\\n const len = this.length\\n start = ~~start\\n end = end === undefined ? len : ~~end\\n\\n if (start < 0) {\\n start += len\\n if (start < 0) start = 0\\n } else if (start > len) {\\n start = len\\n }\\n\\n if (end < 0) {\\n end += len\\n if (end < 0) end = 0\\n } else if (end > len) {\\n end = len\\n }\\n\\n if (end < start) end = start\\n\\n const newBuf = this.subarray(start, end)\\n // Return an augmented `Uint8Array` instance\\n Object.setPrototypeOf(newBuf, Buffer.prototype)\\n\\n return newBuf\\n}\\n\\n/*\\n * Need to make sure that buffer isn't trying to write out of bounds.\\n */\\nfunction checkOffset (offset, ext, length) {\\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\\n}\\n\\nBuffer.prototype.readUintLE =\\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\\n offset = offset >>> 0\\n byteLength = byteLength >>> 0\\n if (!noAssert) checkOffset(offset, byteLength, this.length)\\n\\n let val = this[offset]\\n let mul = 1\\n let i = 0\\n while (++i < byteLength && (mul *= 0x100)) {\\n val += this[offset + i] * mul\\n }\\n\\n return val\\n}\\n\\nBuffer.prototype.readUintBE =\\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\\n offset = offset >>> 0\\n byteLength = byteLength >>> 0\\n if (!noAssert) {\\n checkOffset(offset, byteLength, this.length)\\n }\\n\\n let val = this[offset + --byteLength]\\n let mul = 1\\n while (byteLength > 0 && (mul *= 0x100)) {\\n val += this[offset + --byteLength] * mul\\n }\\n\\n return val\\n}\\n\\nBuffer.prototype.readUint8 =\\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 1, this.length)\\n return this[offset]\\n}\\n\\nBuffer.prototype.readUint16LE =\\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 2, this.length)\\n return this[offset] | (this[offset + 1] << 8)\\n}\\n\\nBuffer.prototype.readUint16BE =\\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 2, this.length)\\n return (this[offset] << 8) | this[offset + 1]\\n}\\n\\nBuffer.prototype.readUint32LE =\\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 4, this.length)\\n\\n return ((this[offset]) |\\n (this[offset + 1] << 8) |\\n (this[offset + 2] << 16)) +\\n (this[offset + 3] * 0x1000000)\\n}\\n\\nBuffer.prototype.readUint32BE =\\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 4, this.length)\\n\\n return (this[offset] * 0x1000000) +\\n ((this[offset + 1] << 16) |\\n (this[offset + 2] << 8) |\\n this[offset + 3])\\n}\\n\\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\\n offset = offset >>> 0\\n validateNumber(offset, 'offset')\\n const first = this[offset]\\n const last = this[offset + 7]\\n if (first === undefined || last === undefined) {\\n boundsError(offset, this.length - 8)\\n }\\n\\n const lo = first +\\n this[++offset] * 2 ** 8 +\\n this[++offset] * 2 ** 16 +\\n this[++offset] * 2 ** 24\\n\\n const hi = this[++offset] +\\n this[++offset] * 2 ** 8 +\\n this[++offset] * 2 ** 16 +\\n last * 2 ** 24\\n\\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\\n})\\n\\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\\n offset = offset >>> 0\\n validateNumber(offset, 'offset')\\n const first = this[offset]\\n const last = this[offset + 7]\\n if (first === undefined || last === undefined) {\\n boundsError(offset, this.length - 8)\\n }\\n\\n const hi = first * 2 ** 24 +\\n this[++offset] * 2 ** 16 +\\n this[++offset] * 2 ** 8 +\\n this[++offset]\\n\\n const lo = this[++offset] * 2 ** 24 +\\n this[++offset] * 2 ** 16 +\\n this[++offset] * 2 ** 8 +\\n last\\n\\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\\n})\\n\\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\\n offset = offset >>> 0\\n byteLength = byteLength >>> 0\\n if (!noAssert) checkOffset(offset, byteLength, this.length)\\n\\n let val = this[offset]\\n let mul = 1\\n let i = 0\\n while (++i < byteLength && (mul *= 0x100)) {\\n val += this[offset + i] * mul\\n }\\n mul *= 0x80\\n\\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\\n\\n return val\\n}\\n\\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\\n offset = offset >>> 0\\n byteLength = byteLength >>> 0\\n if (!noAssert) checkOffset(offset, byteLength, this.length)\\n\\n let i = byteLength\\n let mul = 1\\n let val = this[offset + --i]\\n while (i > 0 && (mul *= 0x100)) {\\n val += this[offset + --i] * mul\\n }\\n mul *= 0x80\\n\\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\\n\\n return val\\n}\\n\\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 1, this.length)\\n if (!(this[offset] & 0x80)) return (this[offset])\\n return ((0xff - this[offset] + 1) * -1)\\n}\\n\\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 2, this.length)\\n const val = this[offset] | (this[offset + 1] << 8)\\n return (val & 0x8000) ? val | 0xFFFF0000 : val\\n}\\n\\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 2, this.length)\\n const val = this[offset + 1] | (this[offset] << 8)\\n return (val & 0x8000) ? val | 0xFFFF0000 : val\\n}\\n\\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 4, this.length)\\n\\n return (this[offset]) |\\n (this[offset + 1] << 8) |\\n (this[offset + 2] << 16) |\\n (this[offset + 3] << 24)\\n}\\n\\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 4, this.length)\\n\\n return (this[offset] << 24) |\\n (this[offset + 1] << 16) |\\n (this[offset + 2] << 8) |\\n (this[offset + 3])\\n}\\n\\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\\n offset = offset >>> 0\\n validateNumber(offset, 'offset')\\n const first = this[offset]\\n const last = this[offset + 7]\\n if (first === undefined || last === undefined) {\\n boundsError(offset, this.length - 8)\\n }\\n\\n const val = this[offset + 4] +\\n this[offset + 5] * 2 ** 8 +\\n this[offset + 6] * 2 ** 16 +\\n (last << 24) // Overflow\\n\\n return (BigInt(val) << BigInt(32)) +\\n BigInt(first +\\n this[++offset] * 2 ** 8 +\\n this[++offset] * 2 ** 16 +\\n this[++offset] * 2 ** 24)\\n})\\n\\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\\n offset = offset >>> 0\\n validateNumber(offset, 'offset')\\n const first = this[offset]\\n const last = this[offset + 7]\\n if (first === undefined || last === undefined) {\\n boundsError(offset, this.length - 8)\\n }\\n\\n const val = (first << 24) + // Overflow\\n this[++offset] * 2 ** 16 +\\n this[++offset] * 2 ** 8 +\\n this[++offset]\\n\\n return (BigInt(val) << BigInt(32)) +\\n BigInt(this[++offset] * 2 ** 24 +\\n this[++offset] * 2 ** 16 +\\n this[++offset] * 2 ** 8 +\\n last)\\n})\\n\\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 4, this.length)\\n return ieee754.read(this, offset, true, 23, 4)\\n}\\n\\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 4, this.length)\\n return ieee754.read(this, offset, false, 23, 4)\\n}\\n\\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 8, this.length)\\n return ieee754.read(this, offset, true, 52, 8)\\n}\\n\\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\\n offset = offset >>> 0\\n if (!noAssert) checkOffset(offset, 8, this.length)\\n return ieee754.read(this, offset, false, 52, 8)\\n}\\n\\nfunction checkInt (buf, value, offset, ext, max, min) {\\n if (!Buffer.isBuffer(buf)) throw new TypeError('\\\"buffer\\\" argument must be a Buffer instance')\\n if (value > max || value < min) throw new RangeError('\\\"value\\\" argument is out of bounds')\\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\\n}\\n\\nBuffer.prototype.writeUintLE =\\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n byteLength = byteLength >>> 0\\n if (!noAssert) {\\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\\n checkInt(this, value, offset, byteLength, maxBytes, 0)\\n }\\n\\n let mul = 1\\n let i = 0\\n this[offset] = value & 0xFF\\n while (++i < byteLength && (mul *= 0x100)) {\\n this[offset + i] = (value / mul) & 0xFF\\n }\\n\\n return offset + byteLength\\n}\\n\\nBuffer.prototype.writeUintBE =\\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n byteLength = byteLength >>> 0\\n if (!noAssert) {\\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\\n checkInt(this, value, offset, byteLength, maxBytes, 0)\\n }\\n\\n let i = byteLength - 1\\n let mul = 1\\n this[offset + i] = value & 0xFF\\n while (--i >= 0 && (mul *= 0x100)) {\\n this[offset + i] = (value / mul) & 0xFF\\n }\\n\\n return offset + byteLength\\n}\\n\\nBuffer.prototype.writeUint8 =\\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\\n this[offset] = (value & 0xff)\\n return offset + 1\\n}\\n\\nBuffer.prototype.writeUint16LE =\\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\\n this[offset] = (value & 0xff)\\n this[offset + 1] = (value >>> 8)\\n return offset + 2\\n}\\n\\nBuffer.prototype.writeUint16BE =\\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\\n this[offset] = (value >>> 8)\\n this[offset + 1] = (value & 0xff)\\n return offset + 2\\n}\\n\\nBuffer.prototype.writeUint32LE =\\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\\n this[offset + 3] = (value >>> 24)\\n this[offset + 2] = (value >>> 16)\\n this[offset + 1] = (value >>> 8)\\n this[offset] = (value & 0xff)\\n return offset + 4\\n}\\n\\nBuffer.prototype.writeUint32BE =\\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\\n this[offset] = (value >>> 24)\\n this[offset + 1] = (value >>> 16)\\n this[offset + 2] = (value >>> 8)\\n this[offset + 3] = (value & 0xff)\\n return offset + 4\\n}\\n\\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\\n checkIntBI(value, min, max, buf, offset, 7)\\n\\n let lo = Number(value & BigInt(0xffffffff))\\n buf[offset++] = lo\\n lo = lo >> 8\\n buf[offset++] = lo\\n lo = lo >> 8\\n buf[offset++] = lo\\n lo = lo >> 8\\n buf[offset++] = lo\\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\\n buf[offset++] = hi\\n hi = hi >> 8\\n buf[offset++] = hi\\n hi = hi >> 8\\n buf[offset++] = hi\\n hi = hi >> 8\\n buf[offset++] = hi\\n return offset\\n}\\n\\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\\n checkIntBI(value, min, max, buf, offset, 7)\\n\\n let lo = Number(value & BigInt(0xffffffff))\\n buf[offset + 7] = lo\\n lo = lo >> 8\\n buf[offset + 6] = lo\\n lo = lo >> 8\\n buf[offset + 5] = lo\\n lo = lo >> 8\\n buf[offset + 4] = lo\\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\\n buf[offset + 3] = hi\\n hi = hi >> 8\\n buf[offset + 2] = hi\\n hi = hi >> 8\\n buf[offset + 1] = hi\\n hi = hi >> 8\\n buf[offset] = hi\\n return offset + 8\\n}\\n\\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\\n})\\n\\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\\n})\\n\\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) {\\n const limit = Math.pow(2, (8 * byteLength) - 1)\\n\\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\\n }\\n\\n let i = 0\\n let mul = 1\\n let sub = 0\\n this[offset] = value & 0xFF\\n while (++i < byteLength && (mul *= 0x100)) {\\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\\n sub = 1\\n }\\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\\n }\\n\\n return offset + byteLength\\n}\\n\\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) {\\n const limit = Math.pow(2, (8 * byteLength) - 1)\\n\\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\\n }\\n\\n let i = byteLength - 1\\n let mul = 1\\n let sub = 0\\n this[offset + i] = value & 0xFF\\n while (--i >= 0 && (mul *= 0x100)) {\\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\\n sub = 1\\n }\\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\\n }\\n\\n return offset + byteLength\\n}\\n\\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\\n if (value < 0) value = 0xff + value + 1\\n this[offset] = (value & 0xff)\\n return offset + 1\\n}\\n\\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\\n this[offset] = (value & 0xff)\\n this[offset + 1] = (value >>> 8)\\n return offset + 2\\n}\\n\\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\\n this[offset] = (value >>> 8)\\n this[offset + 1] = (value & 0xff)\\n return offset + 2\\n}\\n\\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\\n this[offset] = (value & 0xff)\\n this[offset + 1] = (value >>> 8)\\n this[offset + 2] = (value >>> 16)\\n this[offset + 3] = (value >>> 24)\\n return offset + 4\\n}\\n\\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\\n if (value < 0) value = 0xffffffff + value + 1\\n this[offset] = (value >>> 24)\\n this[offset + 1] = (value >>> 16)\\n this[offset + 2] = (value >>> 8)\\n this[offset + 3] = (value & 0xff)\\n return offset + 4\\n}\\n\\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\\n})\\n\\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\\n})\\n\\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\\n if (offset < 0) throw new RangeError('Index out of range')\\n}\\n\\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) {\\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\\n }\\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\\n return offset + 4\\n}\\n\\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\\n return writeFloat(this, value, offset, true, noAssert)\\n}\\n\\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\\n return writeFloat(this, value, offset, false, noAssert)\\n}\\n\\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\\n value = +value\\n offset = offset >>> 0\\n if (!noAssert) {\\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\\n }\\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\\n return offset + 8\\n}\\n\\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\\n return writeDouble(this, value, offset, true, noAssert)\\n}\\n\\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\\n return writeDouble(this, value, offset, false, noAssert)\\n}\\n\\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\\n if (!start) start = 0\\n if (!end && end !== 0) end = this.length\\n if (targetStart >= target.length) targetStart = target.length\\n if (!targetStart) targetStart = 0\\n if (end > 0 && end < start) end = start\\n\\n // Copy 0 bytes; we're done\\n if (end === start) return 0\\n if (target.length === 0 || this.length === 0) return 0\\n\\n // Fatal error conditions\\n if (targetStart < 0) {\\n throw new RangeError('targetStart out of bounds')\\n }\\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\\n\\n // Are we oob?\\n if (end > this.length) end = this.length\\n if (target.length - targetStart < end - start) {\\n end = target.length - targetStart + start\\n }\\n\\n const len = end - start\\n\\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\\n // Use built-in when available, missing from IE11\\n this.copyWithin(targetStart, start, end)\\n } else {\\n Uint8Array.prototype.set.call(\\n target,\\n this.subarray(start, end),\\n targetStart\\n )\\n }\\n\\n return len\\n}\\n\\n// Usage:\\n// buffer.fill(number[, offset[, end]])\\n// buffer.fill(buffer[, offset[, end]])\\n// buffer.fill(string[, offset[, end]][, encoding])\\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\\n // Handle string cases:\\n if (typeof val === 'string') {\\n if (typeof start === 'string') {\\n encoding = start\\n start = 0\\n end = this.length\\n } else if (typeof end === 'string') {\\n encoding = end\\n end = this.length\\n }\\n if (encoding !== undefined && typeof encoding !== 'string') {\\n throw new TypeError('encoding must be a string')\\n }\\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\\n throw new TypeError('Unknown encoding: ' + encoding)\\n }\\n if (val.length === 1) {\\n const code = val.charCodeAt(0)\\n if ((encoding === 'utf8' && code < 128) ||\\n encoding === 'latin1') {\\n // Fast path: If `val` fits into a single byte, use that numeric value.\\n val = code\\n }\\n }\\n } else if (typeof val === 'number') {\\n val = val & 255\\n } else if (typeof val === 'boolean') {\\n val = Number(val)\\n }\\n\\n // Invalid ranges are not set to a default, so can range check early.\\n if (start < 0 || this.length < start || this.length < end) {\\n throw new RangeError('Out of range index')\\n }\\n\\n if (end <= start) {\\n return this\\n }\\n\\n start = start >>> 0\\n end = end === undefined ? this.length : end >>> 0\\n\\n if (!val) val = 0\\n\\n let i\\n if (typeof val === 'number') {\\n for (i = start; i < end; ++i) {\\n this[i] = val\\n }\\n } else {\\n const bytes = Buffer.isBuffer(val)\\n ? val\\n : Buffer.from(val, encoding)\\n const len = bytes.length\\n if (len === 0) {\\n throw new TypeError('The value \\\"' + val +\\n '\\\" is invalid for argument \\\"value\\\"')\\n }\\n for (i = 0; i < end - start; ++i) {\\n this[i + start] = bytes[i % len]\\n }\\n }\\n\\n return this\\n}\\n\\n// CUSTOM ERRORS\\n// =============\\n\\n// Simplified versions from Node, changed for Buffer-only usage\\nconst errors = {}\\nfunction E (sym, getMessage, Base) {\\n errors[sym] = class NodeError extends Base {\\n constructor () {\\n super()\\n\\n Object.defineProperty(this, 'message', {\\n value: getMessage.apply(this, arguments),\\n writable: true,\\n configurable: true\\n })\\n\\n // Add the error code to the name to include it in the stack trace.\\n this.name = `${this.name} [${sym}]`\\n // Access the stack to generate the error message including the error code\\n // from the name.\\n this.stack // eslint-disable-line no-unused-expressions\\n // Reset the name to the actual name.\\n delete this.name\\n }\\n\\n get code () {\\n return sym\\n }\\n\\n set code (value) {\\n Object.defineProperty(this, 'code', {\\n configurable: true,\\n enumerable: true,\\n value,\\n writable: true\\n })\\n }\\n\\n toString () {\\n return `${this.name} [${sym}]: ${this.message}`\\n }\\n }\\n}\\n\\nE('ERR_BUFFER_OUT_OF_BOUNDS',\\n function (name) {\\n if (name) {\\n return `${name} is outside of buffer bounds`\\n }\\n\\n return 'Attempt to access memory outside buffer bounds'\\n }, RangeError)\\nE('ERR_INVALID_ARG_TYPE',\\n function (name, actual) {\\n return `The \\\"${name}\\\" argument must be of type number. Received type ${typeof actual}`\\n }, TypeError)\\nE('ERR_OUT_OF_RANGE',\\n function (str, range, input) {\\n let msg = `The value of \\\"${str}\\\" is out of range.`\\n let received = input\\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\\n received = addNumericalSeparator(String(input))\\n } else if (typeof input === 'bigint') {\\n received = String(input)\\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\\n received = addNumericalSeparator(received)\\n }\\n received += 'n'\\n }\\n msg += ` It must be ${range}. Received ${received}`\\n return msg\\n }, RangeError)\\n\\nfunction addNumericalSeparator (val) {\\n let res = ''\\n let i = val.length\\n const start = val[0] === '-' ? 1 : 0\\n for (; i >= start + 4; i -= 3) {\\n res = `_${val.slice(i - 3, i)}${res}`\\n }\\n return `${val.slice(0, i)}${res}`\\n}\\n\\n// CHECK FUNCTIONS\\n// ===============\\n\\nfunction checkBounds (buf, offset, byteLength) {\\n validateNumber(offset, 'offset')\\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\\n boundsError(offset, buf.length - (byteLength + 1))\\n }\\n}\\n\\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\\n if (value > max || value < min) {\\n const n = typeof min === 'bigint' ? 'n' : ''\\n let range\\n if (byteLength > 3) {\\n if (min === 0 || min === BigInt(0)) {\\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\\n } else {\\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\\n `${(byteLength + 1) * 8 - 1}${n}`\\n }\\n } else {\\n range = `>= ${min}${n} and <= ${max}${n}`\\n }\\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\\n }\\n checkBounds(buf, offset, byteLength)\\n}\\n\\nfunction validateNumber (value, name) {\\n if (typeof value !== 'number') {\\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\\n }\\n}\\n\\nfunction boundsError (value, length, type) {\\n if (Math.floor(value) !== value) {\\n validateNumber(value, type)\\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\\n }\\n\\n if (length < 0) {\\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\\n }\\n\\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\\n `>= ${type ? 1 : 0} and <= ${length}`,\\n value)\\n}\\n\\n// HELPER FUNCTIONS\\n// ================\\n\\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\\n\\nfunction base64clean (str) {\\n // Node takes equal signs as end of the Base64 encoding\\n str = str.split('=')[0]\\n // Node strips out invalid characters like \\\\n and \\\\t from the string, base64-js does not\\n str = str.trim().replace(INVALID_BASE64_RE, '')\\n // Node converts strings with length < 2 to ''\\n if (str.length < 2) return ''\\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\\n while (str.length % 4 !== 0) {\\n str = str + '='\\n }\\n return str\\n}\\n\\nfunction utf8ToBytes (string, units) {\\n units = units || Infinity\\n let codePoint\\n const length = string.length\\n let leadSurrogate = null\\n const bytes = []\\n\\n for (let i = 0; i < length; ++i) {\\n codePoint = string.charCodeAt(i)\\n\\n // is surrogate component\\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\\n // last char was a lead\\n if (!leadSurrogate) {\\n // no lead yet\\n if (codePoint > 0xDBFF) {\\n // unexpected trail\\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\\n continue\\n } else if (i + 1 === length) {\\n // unpaired lead\\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\\n continue\\n }\\n\\n // valid lead\\n leadSurrogate = codePoint\\n\\n continue\\n }\\n\\n // 2 leads in a row\\n if (codePoint < 0xDC00) {\\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\\n leadSurrogate = codePoint\\n continue\\n }\\n\\n // valid surrogate pair\\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\\n } else if (leadSurrogate) {\\n // valid bmp char, but last char was a lead\\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\\n }\\n\\n leadSurrogate = null\\n\\n // encode utf8\\n if (codePoint < 0x80) {\\n if ((units -= 1) < 0) break\\n bytes.push(codePoint)\\n } else if (codePoint < 0x800) {\\n if ((units -= 2) < 0) break\\n bytes.push(\\n codePoint >> 0x6 | 0xC0,\\n codePoint & 0x3F | 0x80\\n )\\n } else if (codePoint < 0x10000) {\\n if ((units -= 3) < 0) break\\n bytes.push(\\n codePoint >> 0xC | 0xE0,\\n codePoint >> 0x6 & 0x3F | 0x80,\\n codePoint & 0x3F | 0x80\\n )\\n } else if (codePoint < 0x110000) {\\n if ((units -= 4) < 0) break\\n bytes.push(\\n codePoint >> 0x12 | 0xF0,\\n codePoint >> 0xC & 0x3F | 0x80,\\n codePoint >> 0x6 & 0x3F | 0x80,\\n codePoint & 0x3F | 0x80\\n )\\n } else {\\n throw new Error('Invalid code point')\\n }\\n }\\n\\n return bytes\\n}\\n\\nfunction asciiToBytes (str) {\\n const byteArray = []\\n for (let i = 0; i < str.length; ++i) {\\n // Node's code seems to be doing this and not & 0x7F..\\n byteArray.push(str.charCodeAt(i) & 0xFF)\\n }\\n return byteArray\\n}\\n\\nfunction utf16leToBytes (str, units) {\\n let c, hi, lo\\n const byteArray = []\\n for (let i = 0; i < str.length; ++i) {\\n if ((units -= 2) < 0) break\\n\\n c = str.charCodeAt(i)\\n hi = c >> 8\\n lo = c % 256\\n byteArray.push(lo)\\n byteArray.push(hi)\\n }\\n\\n return byteArray\\n}\\n\\nfunction base64ToBytes (str) {\\n return base64.toByteArray(base64clean(str))\\n}\\n\\nfunction blitBuffer (src, dst, offset, length) {\\n let i\\n for (i = 0; i < length; ++i) {\\n if ((i + offset >= dst.length) || (i >= src.length)) break\\n dst[i + offset] = src[i]\\n }\\n return i\\n}\\n\\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\\n// the `instanceof` check but they should be treated as of that type.\\n// See: https://github.com/feross/buffer/issues/166\\nfunction isInstance (obj, type) {\\n return obj instanceof type ||\\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\\n obj.constructor.name === type.name)\\n}\\nfunction numberIsNaN (obj) {\\n // For IE11 support\\n return obj !== obj // eslint-disable-line no-self-compare\\n}\\n\\n// Create lookup table for `toString('hex')`\\n// See: https://github.com/feross/buffer/issues/219\\nconst hexSliceLookupTable = (function () {\\n const alphabet = '0123456789abcdef'\\n const table = new Array(256)\\n for (let i = 0; i < 16; ++i) {\\n const i16 = i * 16\\n for (let j = 0; j < 16; ++j) {\\n table[i16 + j] = alphabet[i] + alphabet[j]\\n }\\n }\\n return table\\n})()\\n\\n// Return not function with Error if BigInt not supported\\nfunction defineBigIntMethod (fn) {\\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\\n}\\n\\nfunction BufferBigIntNotDefined () {\\n throw new Error('BigInt not supported')\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/buffer/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/detect-browser/es/index.js\":\n/*!*************************************************!*\\\n !*** ./node_modules/detect-browser/es/index.js ***!\n \\*************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ BotInfo: () => (/* binding */ BotInfo),\\n/* harmony export */ BrowserInfo: () => (/* binding */ BrowserInfo),\\n/* harmony export */ NodeInfo: () => (/* binding */ NodeInfo),\\n/* harmony export */ ReactNativeInfo: () => (/* binding */ ReactNativeInfo),\\n/* harmony export */ SearchBotDeviceInfo: () => (/* binding */ SearchBotDeviceInfo),\\n/* harmony export */ browserName: () => (/* binding */ browserName),\\n/* harmony export */ detect: () => (/* binding */ detect),\\n/* harmony export */ detectOS: () => (/* binding */ detectOS),\\n/* harmony export */ getNodeVersion: () => (/* binding */ getNodeVersion),\\n/* harmony export */ parseUserAgent: () => (/* binding */ parseUserAgent)\\n/* harmony export */ });\\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) {\\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\\n if (ar || !(i in from)) {\\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\\n ar[i] = from[i];\\n }\\n }\\n return to.concat(ar || Array.prototype.slice.call(from));\\n};\\nvar BrowserInfo = /** @class */ (function () {\\n function BrowserInfo(name, version, os) {\\n this.name = name;\\n this.version = version;\\n this.os = os;\\n this.type = 'browser';\\n }\\n return BrowserInfo;\\n}());\\n\\nvar NodeInfo = /** @class */ (function () {\\n function NodeInfo(version) {\\n this.version = version;\\n this.type = 'node';\\n this.name = 'node';\\n this.os = process.platform;\\n }\\n return NodeInfo;\\n}());\\n\\nvar SearchBotDeviceInfo = /** @class */ (function () {\\n function SearchBotDeviceInfo(name, version, os, bot) {\\n this.name = name;\\n this.version = version;\\n this.os = os;\\n this.bot = bot;\\n this.type = 'bot-device';\\n }\\n return SearchBotDeviceInfo;\\n}());\\n\\nvar BotInfo = /** @class */ (function () {\\n function BotInfo() {\\n this.type = 'bot';\\n this.bot = true; // NOTE: deprecated test name instead\\n this.name = 'bot';\\n this.version = null;\\n this.os = null;\\n }\\n return BotInfo;\\n}());\\n\\nvar ReactNativeInfo = /** @class */ (function () {\\n function ReactNativeInfo() {\\n this.type = 'react-native';\\n this.name = 'react-native';\\n this.version = null;\\n this.os = null;\\n }\\n return ReactNativeInfo;\\n}());\\n\\n// tslint:disable-next-line:max-line-length\\nvar SEARCHBOX_UA_REGEX = /alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/;\\nvar SEARCHBOT_OS_REGEX = /(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\\\\ Jeeves\\\\/Teoma|ia_archiver)/;\\nvar REQUIRED_VERSION_PARTS = 3;\\nvar userAgentRules = [\\n ['aol', /AOLShield\\\\/([0-9\\\\._]+)/],\\n ['edge', /Edge\\\\/([0-9\\\\._]+)/],\\n ['edge-ios', /EdgiOS\\\\/([0-9\\\\._]+)/],\\n ['yandexbrowser', /YaBrowser\\\\/([0-9\\\\._]+)/],\\n ['kakaotalk', /KAKAOTALK\\\\s([0-9\\\\.]+)/],\\n ['samsung', /SamsungBrowser\\\\/([0-9\\\\.]+)/],\\n ['silk', /\\\\bSilk\\\\/([0-9._-]+)\\\\b/],\\n ['miui', /MiuiBrowser\\\\/([0-9\\\\.]+)$/],\\n ['beaker', /BeakerBrowser\\\\/([0-9\\\\.]+)/],\\n ['edge-chromium', /EdgA?\\\\/([0-9\\\\.]+)/],\\n [\\n 'chromium-webview',\\n /(?!Chrom.*OPR)wv\\\\).*Chrom(?:e|ium)\\\\/([0-9\\\\.]+)(:?\\\\s|$)/,\\n ],\\n ['chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\\\\/([0-9\\\\.]+)(:?\\\\s|$)/],\\n ['phantomjs', /PhantomJS\\\\/([0-9\\\\.]+)(:?\\\\s|$)/],\\n ['crios', /CriOS\\\\/([0-9\\\\.]+)(:?\\\\s|$)/],\\n ['firefox', /Firefox\\\\/([0-9\\\\.]+)(?:\\\\s|$)/],\\n ['fxios', /FxiOS\\\\/([0-9\\\\.]+)/],\\n ['opera-mini', /Opera Mini.*Version\\\\/([0-9\\\\.]+)/],\\n ['opera', /Opera\\\\/([0-9\\\\.]+)(?:\\\\s|$)/],\\n ['opera', /OPR\\\\/([0-9\\\\.]+)(:?\\\\s|$)/],\\n ['pie', /^Microsoft Pocket Internet Explorer\\\\/(\\\\d+\\\\.\\\\d+)$/],\\n ['pie', /^Mozilla\\\\/\\\\d\\\\.\\\\d+\\\\s\\\\(compatible;\\\\s(?:MSP?IE|MSInternet Explorer) (\\\\d+\\\\.\\\\d+);.*Windows CE.*\\\\)$/],\\n ['netfront', /^Mozilla\\\\/\\\\d\\\\.\\\\d+.*NetFront\\\\/(\\\\d.\\\\d)/],\\n ['ie', /Trident\\\\/7\\\\.0.*rv\\\\:([0-9\\\\.]+).*\\\\).*Gecko$/],\\n ['ie', /MSIE\\\\s([0-9\\\\.]+);.*Trident\\\\/[4-7].0/],\\n ['ie', /MSIE\\\\s(7\\\\.0)/],\\n ['bb10', /BB10;\\\\sTouch.*Version\\\\/([0-9\\\\.]+)/],\\n ['android', /Android\\\\s([0-9\\\\.]+)/],\\n ['ios', /Version\\\\/([0-9\\\\._]+).*Mobile.*Safari.*/],\\n ['safari', /Version\\\\/([0-9\\\\._]+).*Safari/],\\n ['facebook', /FB[AS]V\\\\/([0-9\\\\.]+)/],\\n ['instagram', /Instagram\\\\s([0-9\\\\.]+)/],\\n ['ios-webview', /AppleWebKit\\\\/([0-9\\\\.]+).*Mobile/],\\n ['ios-webview', /AppleWebKit\\\\/([0-9\\\\.]+).*Gecko\\\\)$/],\\n ['curl', /^curl\\\\/([0-9\\\\.]+)$/],\\n ['searchbot', SEARCHBOX_UA_REGEX],\\n];\\nvar operatingSystemRules = [\\n ['iOS', /iP(hone|od|ad)/],\\n ['Android OS', /Android/],\\n ['BlackBerry OS', /BlackBerry|BB10/],\\n ['Windows Mobile', /IEMobile/],\\n ['Amazon OS', /Kindle/],\\n ['Windows 3.11', /Win16/],\\n ['Windows 95', /(Windows 95)|(Win95)|(Windows_95)/],\\n ['Windows 98', /(Windows 98)|(Win98)/],\\n ['Windows 2000', /(Windows NT 5.0)|(Windows 2000)/],\\n ['Windows XP', /(Windows NT 5.1)|(Windows XP)/],\\n ['Windows Server 2003', /(Windows NT 5.2)/],\\n ['Windows Vista', /(Windows NT 6.0)/],\\n ['Windows 7', /(Windows NT 6.1)/],\\n ['Windows 8', /(Windows NT 6.2)/],\\n ['Windows 8.1', /(Windows NT 6.3)/],\\n ['Windows 10', /(Windows NT 10.0)/],\\n ['Windows ME', /Windows ME/],\\n ['Windows CE', /Windows CE|WinCE|Microsoft Pocket Internet Explorer/],\\n ['Open BSD', /OpenBSD/],\\n ['Sun OS', /SunOS/],\\n ['Chrome OS', /CrOS/],\\n ['Linux', /(Linux)|(X11)/],\\n ['Mac OS', /(Mac_PowerPC)|(Macintosh)/],\\n ['QNX', /QNX/],\\n ['BeOS', /BeOS/],\\n ['OS/2', /OS\\\\/2/],\\n];\\nfunction detect(userAgent) {\\n if (!!userAgent) {\\n return parseUserAgent(userAgent);\\n }\\n if (typeof document === 'undefined' &&\\n typeof navigator !== 'undefined' &&\\n navigator.product === 'ReactNative') {\\n return new ReactNativeInfo();\\n }\\n if (typeof navigator !== 'undefined') {\\n return parseUserAgent(navigator.userAgent);\\n }\\n return getNodeVersion();\\n}\\nfunction matchUserAgent(ua) {\\n // opted for using reduce here rather than Array#first with a regex.test call\\n // this is primarily because using the reduce we only perform the regex\\n // execution once rather than once for the test and for the exec again below\\n // probably something that needs to be benchmarked though\\n return (ua !== '' &&\\n userAgentRules.reduce(function (matched, _a) {\\n var browser = _a[0], regex = _a[1];\\n if (matched) {\\n return matched;\\n }\\n var uaMatch = regex.exec(ua);\\n return !!uaMatch && [browser, uaMatch];\\n }, false));\\n}\\nfunction browserName(ua) {\\n var data = matchUserAgent(ua);\\n return data ? data[0] : null;\\n}\\nfunction parseUserAgent(ua) {\\n var matchedRule = matchUserAgent(ua);\\n if (!matchedRule) {\\n return null;\\n }\\n var name = matchedRule[0], match = matchedRule[1];\\n if (name === 'searchbot') {\\n return new BotInfo();\\n }\\n // Do not use RegExp for split operation as some browser do not support it (See: http://blog.stevenlevithan.com/archives/cross-browser-split)\\n var versionParts = match[1] && match[1].split('.').join('_').split('_').slice(0, 3);\\n if (versionParts) {\\n if (versionParts.length < REQUIRED_VERSION_PARTS) {\\n versionParts = __spreadArray(__spreadArray([], versionParts, true), createVersionParts(REQUIRED_VERSION_PARTS - versionParts.length), true);\\n }\\n }\\n else {\\n versionParts = [];\\n }\\n var version = versionParts.join('.');\\n var os = detectOS(ua);\\n var searchBotMatch = SEARCHBOT_OS_REGEX.exec(ua);\\n if (searchBotMatch && searchBotMatch[1]) {\\n return new SearchBotDeviceInfo(name, version, os, searchBotMatch[1]);\\n }\\n return new BrowserInfo(name, version, os);\\n}\\nfunction detectOS(ua) {\\n for (var ii = 0, count = operatingSystemRules.length; ii < count; ii++) {\\n var _a = operatingSystemRules[ii], os = _a[0], regex = _a[1];\\n var match = regex.exec(ua);\\n if (match) {\\n return os;\\n }\\n }\\n return null;\\n}\\nfunction getNodeVersion() {\\n var isNode = typeof process !== 'undefined' && process.version;\\n return isNode ? new NodeInfo(process.version.slice(1)) : null;\\n}\\nfunction createVersionParts(count) {\\n var output = [];\\n for (var ii = 0; ii < count; ii++) {\\n output.push('0');\\n }\\n return output;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/detect-browser/es/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/ieee754/index.js\":\n/*!***************************************!*\\\n !*** ./node_modules/ieee754/index.js ***!\n \\***************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\neval(\"/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\\n var e, m\\n var eLen = (nBytes * 8) - mLen - 1\\n var eMax = (1 << eLen) - 1\\n var eBias = eMax >> 1\\n var nBits = -7\\n var i = isLE ? (nBytes - 1) : 0\\n var d = isLE ? -1 : 1\\n var s = buffer[offset + i]\\n\\n i += d\\n\\n e = s & ((1 << (-nBits)) - 1)\\n s >>= (-nBits)\\n nBits += eLen\\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\\n\\n m = e & ((1 << (-nBits)) - 1)\\n e >>= (-nBits)\\n nBits += mLen\\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\\n\\n if (e === 0) {\\n e = 1 - eBias\\n } else if (e === eMax) {\\n return m ? NaN : ((s ? -1 : 1) * Infinity)\\n } else {\\n m = m + Math.pow(2, mLen)\\n e = e - eBias\\n }\\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\\n}\\n\\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\\n var e, m, c\\n var eLen = (nBytes * 8) - mLen - 1\\n var eMax = (1 << eLen) - 1\\n var eBias = eMax >> 1\\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\\n var i = isLE ? 0 : (nBytes - 1)\\n var d = isLE ? 1 : -1\\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\\n\\n value = Math.abs(value)\\n\\n if (isNaN(value) || value === Infinity) {\\n m = isNaN(value) ? 1 : 0\\n e = eMax\\n } else {\\n e = Math.floor(Math.log(value) / Math.LN2)\\n if (value * (c = Math.pow(2, -e)) < 1) {\\n e--\\n c *= 2\\n }\\n if (e + eBias >= 1) {\\n value += rt / c\\n } else {\\n value += rt * Math.pow(2, 1 - eBias)\\n }\\n if (value * c >= 2) {\\n e++\\n c /= 2\\n }\\n\\n if (e + eBias >= eMax) {\\n m = 0\\n e = eMax\\n } else if (e + eBias >= 1) {\\n m = ((value * c) - 1) * Math.pow(2, mLen)\\n e = e + eBias\\n } else {\\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\\n e = 0\\n }\\n }\\n\\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\\n\\n e = (e << mLen) | m\\n eLen += mLen\\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\\n\\n buffer[offset + i - d] |= s * 128\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/ieee754/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/localforage/dist/localforage.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/localforage/dist/localforage.js ***!\n \\******************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\neval(\"/*!\\n localForage -- Offline Storage, Improved\\n Version 1.10.0\\n https://localforage.github.io/localForage\\n (c) 2013-2017 Mozilla, Apache License 2.0\\n*/\\n(function(f){if(true){module.exports=f()}else { var g; }})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=undefined;if(!u&&a)return require(o,!0);if(i)return i(o,!0);var f=new Error(\\\"Cannot find module '\\\"+o+\\\"'\\\");throw (f.code=\\\"MODULE_NOT_FOUND\\\", f)}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=undefined;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){\\n(function (global){\\n'use strict';\\nvar Mutation = global.MutationObserver || global.WebKitMutationObserver;\\n\\nvar scheduleDrain;\\n\\n{\\n if (Mutation) {\\n var called = 0;\\n var observer = new Mutation(nextTick);\\n var element = global.document.createTextNode('');\\n observer.observe(element, {\\n characterData: true\\n });\\n scheduleDrain = function () {\\n element.data = (called = ++called % 2);\\n };\\n } else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') {\\n var channel = new global.MessageChannel();\\n channel.port1.onmessage = nextTick;\\n scheduleDrain = function () {\\n channel.port2.postMessage(0);\\n };\\n } else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) {\\n scheduleDrain = function () {\\n\\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\\n var scriptEl = global.document.createElement('script');\\n scriptEl.onreadystatechange = function () {\\n nextTick();\\n\\n scriptEl.onreadystatechange = null;\\n scriptEl.parentNode.removeChild(scriptEl);\\n scriptEl = null;\\n };\\n global.document.documentElement.appendChild(scriptEl);\\n };\\n } else {\\n scheduleDrain = function () {\\n setTimeout(nextTick, 0);\\n };\\n }\\n}\\n\\nvar draining;\\nvar queue = [];\\n//named nextTick for less confusing stack traces\\nfunction nextTick() {\\n draining = true;\\n var i, oldQueue;\\n var len = queue.length;\\n while (len) {\\n oldQueue = queue;\\n queue = [];\\n i = -1;\\n while (++i < len) {\\n oldQueue[i]();\\n }\\n len = queue.length;\\n }\\n draining = false;\\n}\\n\\nmodule.exports = immediate;\\nfunction immediate(task) {\\n if (queue.push(task) === 1 && !draining) {\\n scheduleDrain();\\n }\\n}\\n\\n}).call(this,typeof __webpack_require__.g !== \\\"undefined\\\" ? __webpack_require__.g : typeof self !== \\\"undefined\\\" ? self : typeof window !== \\\"undefined\\\" ? window : {})\\n},{}],2:[function(_dereq_,module,exports){\\n'use strict';\\nvar immediate = _dereq_(1);\\n\\n/* istanbul ignore next */\\nfunction INTERNAL() {}\\n\\nvar handlers = {};\\n\\nvar REJECTED = ['REJECTED'];\\nvar FULFILLED = ['FULFILLED'];\\nvar PENDING = ['PENDING'];\\n\\nmodule.exports = Promise;\\n\\nfunction Promise(resolver) {\\n if (typeof resolver !== 'function') {\\n throw new TypeError('resolver must be a function');\\n }\\n this.state = PENDING;\\n this.queue = [];\\n this.outcome = void 0;\\n if (resolver !== INTERNAL) {\\n safelyResolveThenable(this, resolver);\\n }\\n}\\n\\nPromise.prototype[\\\"catch\\\"] = function (onRejected) {\\n return this.then(null, onRejected);\\n};\\nPromise.prototype.then = function (onFulfilled, onRejected) {\\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\\n typeof onRejected !== 'function' && this.state === REJECTED) {\\n return this;\\n }\\n var promise = new this.constructor(INTERNAL);\\n if (this.state !== PENDING) {\\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\\n unwrap(promise, resolver, this.outcome);\\n } else {\\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\\n }\\n\\n return promise;\\n};\\nfunction QueueItem(promise, onFulfilled, onRejected) {\\n this.promise = promise;\\n if (typeof onFulfilled === 'function') {\\n this.onFulfilled = onFulfilled;\\n this.callFulfilled = this.otherCallFulfilled;\\n }\\n if (typeof onRejected === 'function') {\\n this.onRejected = onRejected;\\n this.callRejected = this.otherCallRejected;\\n }\\n}\\nQueueItem.prototype.callFulfilled = function (value) {\\n handlers.resolve(this.promise, value);\\n};\\nQueueItem.prototype.otherCallFulfilled = function (value) {\\n unwrap(this.promise, this.onFulfilled, value);\\n};\\nQueueItem.prototype.callRejected = function (value) {\\n handlers.reject(this.promise, value);\\n};\\nQueueItem.prototype.otherCallRejected = function (value) {\\n unwrap(this.promise, this.onRejected, value);\\n};\\n\\nfunction unwrap(promise, func, value) {\\n immediate(function () {\\n var returnValue;\\n try {\\n returnValue = func(value);\\n } catch (e) {\\n return handlers.reject(promise, e);\\n }\\n if (returnValue === promise) {\\n handlers.reject(promise, new TypeError('Cannot resolve promise with itself'));\\n } else {\\n handlers.resolve(promise, returnValue);\\n }\\n });\\n}\\n\\nhandlers.resolve = function (self, value) {\\n var result = tryCatch(getThen, value);\\n if (result.status === 'error') {\\n return handlers.reject(self, result.value);\\n }\\n var thenable = result.value;\\n\\n if (thenable) {\\n safelyResolveThenable(self, thenable);\\n } else {\\n self.state = FULFILLED;\\n self.outcome = value;\\n var i = -1;\\n var len = self.queue.length;\\n while (++i < len) {\\n self.queue[i].callFulfilled(value);\\n }\\n }\\n return self;\\n};\\nhandlers.reject = function (self, error) {\\n self.state = REJECTED;\\n self.outcome = error;\\n var i = -1;\\n var len = self.queue.length;\\n while (++i < len) {\\n self.queue[i].callRejected(error);\\n }\\n return self;\\n};\\n\\nfunction getThen(obj) {\\n // Make sure we only access the accessor once as required by the spec\\n var then = obj && obj.then;\\n if (obj && (typeof obj === 'object' || typeof obj === 'function') && typeof then === 'function') {\\n return function appyThen() {\\n then.apply(obj, arguments);\\n };\\n }\\n}\\n\\nfunction safelyResolveThenable(self, thenable) {\\n // Either fulfill, reject or reject with error\\n var called = false;\\n function onError(value) {\\n if (called) {\\n return;\\n }\\n called = true;\\n handlers.reject(self, value);\\n }\\n\\n function onSuccess(value) {\\n if (called) {\\n return;\\n }\\n called = true;\\n handlers.resolve(self, value);\\n }\\n\\n function tryToUnwrap() {\\n thenable(onSuccess, onError);\\n }\\n\\n var result = tryCatch(tryToUnwrap);\\n if (result.status === 'error') {\\n onError(result.value);\\n }\\n}\\n\\nfunction tryCatch(func, value) {\\n var out = {};\\n try {\\n out.value = func(value);\\n out.status = 'success';\\n } catch (e) {\\n out.status = 'error';\\n out.value = e;\\n }\\n return out;\\n}\\n\\nPromise.resolve = resolve;\\nfunction resolve(value) {\\n if (value instanceof this) {\\n return value;\\n }\\n return handlers.resolve(new this(INTERNAL), value);\\n}\\n\\nPromise.reject = reject;\\nfunction reject(reason) {\\n var promise = new this(INTERNAL);\\n return handlers.reject(promise, reason);\\n}\\n\\nPromise.all = all;\\nfunction all(iterable) {\\n var self = this;\\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\\n return this.reject(new TypeError('must be an array'));\\n }\\n\\n var len = iterable.length;\\n var called = false;\\n if (!len) {\\n return this.resolve([]);\\n }\\n\\n var values = new Array(len);\\n var resolved = 0;\\n var i = -1;\\n var promise = new this(INTERNAL);\\n\\n while (++i < len) {\\n allResolver(iterable[i], i);\\n }\\n return promise;\\n function allResolver(value, i) {\\n self.resolve(value).then(resolveFromAll, function (error) {\\n if (!called) {\\n called = true;\\n handlers.reject(promise, error);\\n }\\n });\\n function resolveFromAll(outValue) {\\n values[i] = outValue;\\n if (++resolved === len && !called) {\\n called = true;\\n handlers.resolve(promise, values);\\n }\\n }\\n }\\n}\\n\\nPromise.race = race;\\nfunction race(iterable) {\\n var self = this;\\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\\n return this.reject(new TypeError('must be an array'));\\n }\\n\\n var len = iterable.length;\\n var called = false;\\n if (!len) {\\n return this.resolve([]);\\n }\\n\\n var i = -1;\\n var promise = new this(INTERNAL);\\n\\n while (++i < len) {\\n resolver(iterable[i]);\\n }\\n return promise;\\n function resolver(value) {\\n self.resolve(value).then(function (response) {\\n if (!called) {\\n called = true;\\n handlers.resolve(promise, response);\\n }\\n }, function (error) {\\n if (!called) {\\n called = true;\\n handlers.reject(promise, error);\\n }\\n });\\n }\\n}\\n\\n},{\\\"1\\\":1}],3:[function(_dereq_,module,exports){\\n(function (global){\\n'use strict';\\nif (typeof global.Promise !== 'function') {\\n global.Promise = _dereq_(2);\\n}\\n\\n}).call(this,typeof __webpack_require__.g !== \\\"undefined\\\" ? __webpack_require__.g : typeof self !== \\\"undefined\\\" ? self : typeof window !== \\\"undefined\\\" ? window : {})\\n},{\\\"2\\\":2}],4:[function(_dereq_,module,exports){\\n'use strict';\\n\\nvar _typeof = typeof Symbol === \\\"function\\\" && typeof Symbol.iterator === \\\"symbol\\\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \\\"function\\\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \\\"symbol\\\" : typeof obj; };\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction getIDB() {\\n /* global indexedDB,webkitIndexedDB,mozIndexedDB,OIndexedDB,msIndexedDB */\\n try {\\n if (typeof indexedDB !== 'undefined') {\\n return indexedDB;\\n }\\n if (typeof webkitIndexedDB !== 'undefined') {\\n return webkitIndexedDB;\\n }\\n if (typeof mozIndexedDB !== 'undefined') {\\n return mozIndexedDB;\\n }\\n if (typeof OIndexedDB !== 'undefined') {\\n return OIndexedDB;\\n }\\n if (typeof msIndexedDB !== 'undefined') {\\n return msIndexedDB;\\n }\\n } catch (e) {\\n return;\\n }\\n}\\n\\nvar idb = getIDB();\\n\\nfunction isIndexedDBValid() {\\n try {\\n // Initialize IndexedDB; fall back to vendor-prefixed versions\\n // if needed.\\n if (!idb || !idb.open) {\\n return false;\\n }\\n // We mimic PouchDB here;\\n //\\n // We test for openDatabase because IE Mobile identifies itself\\n // as Safari. Oh the lulz...\\n var isSafari = typeof openDatabase !== 'undefined' && /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) && !/BlackBerry/.test(navigator.platform);\\n\\n var hasFetch = typeof fetch === 'function' && fetch.toString().indexOf('[native code') !== -1;\\n\\n // Safari <10.1 does not meet our requirements for IDB support\\n // (see: https://github.com/pouchdb/pouchdb/issues/5572).\\n // Safari 10.1 shipped with fetch, we can use that to detect it.\\n // Note: this creates issues with `window.fetch` polyfills and\\n // overrides; see:\\n // https://github.com/localForage/localForage/issues/856\\n return (!isSafari || hasFetch) && typeof indexedDB !== 'undefined' &&\\n // some outdated implementations of IDB that appear on Samsung\\n // and HTC Android devices <4.4 are missing IDBKeyRange\\n // See: https://github.com/mozilla/localForage/issues/128\\n // See: https://github.com/mozilla/localForage/issues/272\\n typeof IDBKeyRange !== 'undefined';\\n } catch (e) {\\n return false;\\n }\\n}\\n\\n// Abstracts constructing a Blob object, so it also works in older\\n// browsers that don't support the native Blob constructor. (i.e.\\n// old QtWebKit versions, at least).\\n// Abstracts constructing a Blob object, so it also works in older\\n// browsers that don't support the native Blob constructor. (i.e.\\n// old QtWebKit versions, at least).\\nfunction createBlob(parts, properties) {\\n /* global BlobBuilder,MSBlobBuilder,MozBlobBuilder,WebKitBlobBuilder */\\n parts = parts || [];\\n properties = properties || {};\\n try {\\n return new Blob(parts, properties);\\n } catch (e) {\\n if (e.name !== 'TypeError') {\\n throw e;\\n }\\n var Builder = typeof BlobBuilder !== 'undefined' ? BlobBuilder : typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder : typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder : WebKitBlobBuilder;\\n var builder = new Builder();\\n for (var i = 0; i < parts.length; i += 1) {\\n builder.append(parts[i]);\\n }\\n return builder.getBlob(properties.type);\\n }\\n}\\n\\n// This is CommonJS because lie is an external dependency, so Rollup\\n// can just ignore it.\\nif (typeof Promise === 'undefined') {\\n // In the \\\"nopromises\\\" build this will just throw if you don't have\\n // a global promise object, but it would throw anyway later.\\n _dereq_(3);\\n}\\nvar Promise$1 = Promise;\\n\\nfunction executeCallback(promise, callback) {\\n if (callback) {\\n promise.then(function (result) {\\n callback(null, result);\\n }, function (error) {\\n callback(error);\\n });\\n }\\n}\\n\\nfunction executeTwoCallbacks(promise, callback, errorCallback) {\\n if (typeof callback === 'function') {\\n promise.then(callback);\\n }\\n\\n if (typeof errorCallback === 'function') {\\n promise[\\\"catch\\\"](errorCallback);\\n }\\n}\\n\\nfunction normalizeKey(key) {\\n // Cast the key to a string, as that's all we can set as a key.\\n if (typeof key !== 'string') {\\n console.warn(key + ' used as a key, but it is not a string.');\\n key = String(key);\\n }\\n\\n return key;\\n}\\n\\nfunction getCallback() {\\n if (arguments.length && typeof arguments[arguments.length - 1] === 'function') {\\n return arguments[arguments.length - 1];\\n }\\n}\\n\\n// Some code originally from async_storage.js in\\n// [Gaia](https://github.com/mozilla-b2g/gaia).\\n\\nvar DETECT_BLOB_SUPPORT_STORE = 'local-forage-detect-blob-support';\\nvar supportsBlobs = void 0;\\nvar dbContexts = {};\\nvar toString = Object.prototype.toString;\\n\\n// Transaction Modes\\nvar READ_ONLY = 'readonly';\\nvar READ_WRITE = 'readwrite';\\n\\n// Transform a binary string to an array buffer, because otherwise\\n// weird stuff happens when you try to work with the binary string directly.\\n// It is known.\\n// From http://stackoverflow.com/questions/14967647/ (continues on next line)\\n// encode-decode-image-with-base64-breaks-image (2013-04-21)\\nfunction _binStringToArrayBuffer(bin) {\\n var length = bin.length;\\n var buf = new ArrayBuffer(length);\\n var arr = new Uint8Array(buf);\\n for (var i = 0; i < length; i++) {\\n arr[i] = bin.charCodeAt(i);\\n }\\n return buf;\\n}\\n\\n//\\n// Blobs are not supported in all versions of IndexedDB, notably\\n// Chrome <37 and Android <5. In those versions, storing a blob will throw.\\n//\\n// Various other blob bugs exist in Chrome v37-42 (inclusive).\\n// Detecting them is expensive and confusing to users, and Chrome 37-42\\n// is at very low usage worldwide, so we do a hacky userAgent check instead.\\n//\\n// content-type bug: https://code.google.com/p/chromium/issues/detail?id=408120\\n// 404 bug: https://code.google.com/p/chromium/issues/detail?id=447916\\n// FileReader bug: https://code.google.com/p/chromium/issues/detail?id=447836\\n//\\n// Code borrowed from PouchDB. See:\\n// https://github.com/pouchdb/pouchdb/blob/master/packages/node_modules/pouchdb-adapter-idb/src/blobSupport.js\\n//\\nfunction _checkBlobSupportWithoutCaching(idb) {\\n return new Promise$1(function (resolve) {\\n var txn = idb.transaction(DETECT_BLOB_SUPPORT_STORE, READ_WRITE);\\n var blob = createBlob(['']);\\n txn.objectStore(DETECT_BLOB_SUPPORT_STORE).put(blob, 'key');\\n\\n txn.onabort = function (e) {\\n // If the transaction aborts now its due to not being able to\\n // write to the database, likely due to the disk being full\\n e.preventDefault();\\n e.stopPropagation();\\n resolve(false);\\n };\\n\\n txn.oncomplete = function () {\\n var matchedChrome = navigator.userAgent.match(/Chrome\\\\/(\\\\d+)/);\\n var matchedEdge = navigator.userAgent.match(/Edge\\\\//);\\n // MS Edge pretends to be Chrome 42:\\n // https://msdn.microsoft.com/en-us/library/hh869301%28v=vs.85%29.aspx\\n resolve(matchedEdge || !matchedChrome || parseInt(matchedChrome[1], 10) >= 43);\\n };\\n })[\\\"catch\\\"](function () {\\n return false; // error, so assume unsupported\\n });\\n}\\n\\nfunction _checkBlobSupport(idb) {\\n if (typeof supportsBlobs === 'boolean') {\\n return Promise$1.resolve(supportsBlobs);\\n }\\n return _checkBlobSupportWithoutCaching(idb).then(function (value) {\\n supportsBlobs = value;\\n return supportsBlobs;\\n });\\n}\\n\\nfunction _deferReadiness(dbInfo) {\\n var dbContext = dbContexts[dbInfo.name];\\n\\n // Create a deferred object representing the current database operation.\\n var deferredOperation = {};\\n\\n deferredOperation.promise = new Promise$1(function (resolve, reject) {\\n deferredOperation.resolve = resolve;\\n deferredOperation.reject = reject;\\n });\\n\\n // Enqueue the deferred operation.\\n dbContext.deferredOperations.push(deferredOperation);\\n\\n // Chain its promise to the database readiness.\\n if (!dbContext.dbReady) {\\n dbContext.dbReady = deferredOperation.promise;\\n } else {\\n dbContext.dbReady = dbContext.dbReady.then(function () {\\n return deferredOperation.promise;\\n });\\n }\\n}\\n\\nfunction _advanceReadiness(dbInfo) {\\n var dbContext = dbContexts[dbInfo.name];\\n\\n // Dequeue a deferred operation.\\n var deferredOperation = dbContext.deferredOperations.pop();\\n\\n // Resolve its promise (which is part of the database readiness\\n // chain of promises).\\n if (deferredOperation) {\\n deferredOperation.resolve();\\n return deferredOperation.promise;\\n }\\n}\\n\\nfunction _rejectReadiness(dbInfo, err) {\\n var dbContext = dbContexts[dbInfo.name];\\n\\n // Dequeue a deferred operation.\\n var deferredOperation = dbContext.deferredOperations.pop();\\n\\n // Reject its promise (which is part of the database readiness\\n // chain of promises).\\n if (deferredOperation) {\\n deferredOperation.reject(err);\\n return deferredOperation.promise;\\n }\\n}\\n\\nfunction _getConnection(dbInfo, upgradeNeeded) {\\n return new Promise$1(function (resolve, reject) {\\n dbContexts[dbInfo.name] = dbContexts[dbInfo.name] || createDbContext();\\n\\n if (dbInfo.db) {\\n if (upgradeNeeded) {\\n _deferReadiness(dbInfo);\\n dbInfo.db.close();\\n } else {\\n return resolve(dbInfo.db);\\n }\\n }\\n\\n var dbArgs = [dbInfo.name];\\n\\n if (upgradeNeeded) {\\n dbArgs.push(dbInfo.version);\\n }\\n\\n var openreq = idb.open.apply(idb, dbArgs);\\n\\n if (upgradeNeeded) {\\n openreq.onupgradeneeded = function (e) {\\n var db = openreq.result;\\n try {\\n db.createObjectStore(dbInfo.storeName);\\n if (e.oldVersion <= 1) {\\n // Added when support for blob shims was added\\n db.createObjectStore(DETECT_BLOB_SUPPORT_STORE);\\n }\\n } catch (ex) {\\n if (ex.name === 'ConstraintError') {\\n console.warn('The database \\\"' + dbInfo.name + '\\\"' + ' has been upgraded from version ' + e.oldVersion + ' to version ' + e.newVersion + ', but the storage \\\"' + dbInfo.storeName + '\\\" already exists.');\\n } else {\\n throw ex;\\n }\\n }\\n };\\n }\\n\\n openreq.onerror = function (e) {\\n e.preventDefault();\\n reject(openreq.error);\\n };\\n\\n openreq.onsuccess = function () {\\n var db = openreq.result;\\n db.onversionchange = function (e) {\\n // Triggered when the database is modified (e.g. adding an objectStore) or\\n // deleted (even when initiated by other sessions in different tabs).\\n // Closing the connection here prevents those operations from being blocked.\\n // If the database is accessed again later by this instance, the connection\\n // will be reopened or the database recreated as needed.\\n e.target.close();\\n };\\n resolve(db);\\n _advanceReadiness(dbInfo);\\n };\\n });\\n}\\n\\nfunction _getOriginalConnection(dbInfo) {\\n return _getConnection(dbInfo, false);\\n}\\n\\nfunction _getUpgradedConnection(dbInfo) {\\n return _getConnection(dbInfo, true);\\n}\\n\\nfunction _isUpgradeNeeded(dbInfo, defaultVersion) {\\n if (!dbInfo.db) {\\n return true;\\n }\\n\\n var isNewStore = !dbInfo.db.objectStoreNames.contains(dbInfo.storeName);\\n var isDowngrade = dbInfo.version < dbInfo.db.version;\\n var isUpgrade = dbInfo.version > dbInfo.db.version;\\n\\n if (isDowngrade) {\\n // If the version is not the default one\\n // then warn for impossible downgrade.\\n if (dbInfo.version !== defaultVersion) {\\n console.warn('The database \\\"' + dbInfo.name + '\\\"' + \\\" can't be downgraded from version \\\" + dbInfo.db.version + ' to version ' + dbInfo.version + '.');\\n }\\n // Align the versions to prevent errors.\\n dbInfo.version = dbInfo.db.version;\\n }\\n\\n if (isUpgrade || isNewStore) {\\n // If the store is new then increment the version (if needed).\\n // This will trigger an \\\"upgradeneeded\\\" event which is required\\n // for creating a store.\\n if (isNewStore) {\\n var incVersion = dbInfo.db.version + 1;\\n if (incVersion > dbInfo.version) {\\n dbInfo.version = incVersion;\\n }\\n }\\n\\n return true;\\n }\\n\\n return false;\\n}\\n\\n// encode a blob for indexeddb engines that don't support blobs\\nfunction _encodeBlob(blob) {\\n return new Promise$1(function (resolve, reject) {\\n var reader = new FileReader();\\n reader.onerror = reject;\\n reader.onloadend = function (e) {\\n var base64 = btoa(e.target.result || '');\\n resolve({\\n __local_forage_encoded_blob: true,\\n data: base64,\\n type: blob.type\\n });\\n };\\n reader.readAsBinaryString(blob);\\n });\\n}\\n\\n// decode an encoded blob\\nfunction _decodeBlob(encodedBlob) {\\n var arrayBuff = _binStringToArrayBuffer(atob(encodedBlob.data));\\n return createBlob([arrayBuff], { type: encodedBlob.type });\\n}\\n\\n// is this one of our fancy encoded blobs?\\nfunction _isEncodedBlob(value) {\\n return value && value.__local_forage_encoded_blob;\\n}\\n\\n// Specialize the default `ready()` function by making it dependent\\n// on the current database operations. Thus, the driver will be actually\\n// ready when it's been initialized (default) *and* there are no pending\\n// operations on the database (initiated by some other instances).\\nfunction _fullyReady(callback) {\\n var self = this;\\n\\n var promise = self._initReady().then(function () {\\n var dbContext = dbContexts[self._dbInfo.name];\\n\\n if (dbContext && dbContext.dbReady) {\\n return dbContext.dbReady;\\n }\\n });\\n\\n executeTwoCallbacks(promise, callback, callback);\\n return promise;\\n}\\n\\n// Try to establish a new db connection to replace the\\n// current one which is broken (i.e. experiencing\\n// InvalidStateError while creating a transaction).\\nfunction _tryReconnect(dbInfo) {\\n _deferReadiness(dbInfo);\\n\\n var dbContext = dbContexts[dbInfo.name];\\n var forages = dbContext.forages;\\n\\n for (var i = 0; i < forages.length; i++) {\\n var forage = forages[i];\\n if (forage._dbInfo.db) {\\n forage._dbInfo.db.close();\\n forage._dbInfo.db = null;\\n }\\n }\\n dbInfo.db = null;\\n\\n return _getOriginalConnection(dbInfo).then(function (db) {\\n dbInfo.db = db;\\n if (_isUpgradeNeeded(dbInfo)) {\\n // Reopen the database for upgrading.\\n return _getUpgradedConnection(dbInfo);\\n }\\n return db;\\n }).then(function (db) {\\n // store the latest db reference\\n // in case the db was upgraded\\n dbInfo.db = dbContext.db = db;\\n for (var i = 0; i < forages.length; i++) {\\n forages[i]._dbInfo.db = db;\\n }\\n })[\\\"catch\\\"](function (err) {\\n _rejectReadiness(dbInfo, err);\\n throw err;\\n });\\n}\\n\\n// FF doesn't like Promises (micro-tasks) and IDDB store operations,\\n// so we have to do it with callbacks\\nfunction createTransaction(dbInfo, mode, callback, retries) {\\n if (retries === undefined) {\\n retries = 1;\\n }\\n\\n try {\\n var tx = dbInfo.db.transaction(dbInfo.storeName, mode);\\n callback(null, tx);\\n } catch (err) {\\n if (retries > 0 && (!dbInfo.db || err.name === 'InvalidStateError' || err.name === 'NotFoundError')) {\\n return Promise$1.resolve().then(function () {\\n if (!dbInfo.db || err.name === 'NotFoundError' && !dbInfo.db.objectStoreNames.contains(dbInfo.storeName) && dbInfo.version <= dbInfo.db.version) {\\n // increase the db version, to create the new ObjectStore\\n if (dbInfo.db) {\\n dbInfo.version = dbInfo.db.version + 1;\\n }\\n // Reopen the database for upgrading.\\n return _getUpgradedConnection(dbInfo);\\n }\\n }).then(function () {\\n return _tryReconnect(dbInfo).then(function () {\\n createTransaction(dbInfo, mode, callback, retries - 1);\\n });\\n })[\\\"catch\\\"](callback);\\n }\\n\\n callback(err);\\n }\\n}\\n\\nfunction createDbContext() {\\n return {\\n // Running localForages sharing a database.\\n forages: [],\\n // Shared database.\\n db: null,\\n // Database readiness (promise).\\n dbReady: null,\\n // Deferred operations on the database.\\n deferredOperations: []\\n };\\n}\\n\\n// Open the IndexedDB database (automatically creates one if one didn't\\n// previously exist), using any options set in the config.\\nfunction _initStorage(options) {\\n var self = this;\\n var dbInfo = {\\n db: null\\n };\\n\\n if (options) {\\n for (var i in options) {\\n dbInfo[i] = options[i];\\n }\\n }\\n\\n // Get the current context of the database;\\n var dbContext = dbContexts[dbInfo.name];\\n\\n // ...or create a new context.\\n if (!dbContext) {\\n dbContext = createDbContext();\\n // Register the new context in the global container.\\n dbContexts[dbInfo.name] = dbContext;\\n }\\n\\n // Register itself as a running localForage in the current context.\\n dbContext.forages.push(self);\\n\\n // Replace the default `ready()` function with the specialized one.\\n if (!self._initReady) {\\n self._initReady = self.ready;\\n self.ready = _fullyReady;\\n }\\n\\n // Create an array of initialization states of the related localForages.\\n var initPromises = [];\\n\\n function ignoreErrors() {\\n // Don't handle errors here,\\n // just makes sure related localForages aren't pending.\\n return Promise$1.resolve();\\n }\\n\\n for (var j = 0; j < dbContext.forages.length; j++) {\\n var forage = dbContext.forages[j];\\n if (forage !== self) {\\n // Don't wait for itself...\\n initPromises.push(forage._initReady()[\\\"catch\\\"](ignoreErrors));\\n }\\n }\\n\\n // Take a snapshot of the related localForages.\\n var forages = dbContext.forages.slice(0);\\n\\n // Initialize the connection process only when\\n // all the related localForages aren't pending.\\n return Promise$1.all(initPromises).then(function () {\\n dbInfo.db = dbContext.db;\\n // Get the connection or open a new one without upgrade.\\n return _getOriginalConnection(dbInfo);\\n }).then(function (db) {\\n dbInfo.db = db;\\n if (_isUpgradeNeeded(dbInfo, self._defaultConfig.version)) {\\n // Reopen the database for upgrading.\\n return _getUpgradedConnection(dbInfo);\\n }\\n return db;\\n }).then(function (db) {\\n dbInfo.db = dbContext.db = db;\\n self._dbInfo = dbInfo;\\n // Share the final connection amongst related localForages.\\n for (var k = 0; k < forages.length; k++) {\\n var forage = forages[k];\\n if (forage !== self) {\\n // Self is already up-to-date.\\n forage._dbInfo.db = dbInfo.db;\\n forage._dbInfo.version = dbInfo.version;\\n }\\n }\\n });\\n}\\n\\nfunction getItem(key, callback) {\\n var self = this;\\n\\n key = normalizeKey(key);\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\\n if (err) {\\n return reject(err);\\n }\\n\\n try {\\n var store = transaction.objectStore(self._dbInfo.storeName);\\n var req = store.get(key);\\n\\n req.onsuccess = function () {\\n var value = req.result;\\n if (value === undefined) {\\n value = null;\\n }\\n if (_isEncodedBlob(value)) {\\n value = _decodeBlob(value);\\n }\\n resolve(value);\\n };\\n\\n req.onerror = function () {\\n reject(req.error);\\n };\\n } catch (e) {\\n reject(e);\\n }\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\n// Iterate over all items stored in database.\\nfunction iterate(iterator, callback) {\\n var self = this;\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\\n if (err) {\\n return reject(err);\\n }\\n\\n try {\\n var store = transaction.objectStore(self._dbInfo.storeName);\\n var req = store.openCursor();\\n var iterationNumber = 1;\\n\\n req.onsuccess = function () {\\n var cursor = req.result;\\n\\n if (cursor) {\\n var value = cursor.value;\\n if (_isEncodedBlob(value)) {\\n value = _decodeBlob(value);\\n }\\n var result = iterator(value, cursor.key, iterationNumber++);\\n\\n // when the iterator callback returns any\\n // (non-`undefined`) value, then we stop\\n // the iteration immediately\\n if (result !== void 0) {\\n resolve(result);\\n } else {\\n cursor[\\\"continue\\\"]();\\n }\\n } else {\\n resolve();\\n }\\n };\\n\\n req.onerror = function () {\\n reject(req.error);\\n };\\n } catch (e) {\\n reject(e);\\n }\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n\\n return promise;\\n}\\n\\nfunction setItem(key, value, callback) {\\n var self = this;\\n\\n key = normalizeKey(key);\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n var dbInfo;\\n self.ready().then(function () {\\n dbInfo = self._dbInfo;\\n if (toString.call(value) === '[object Blob]') {\\n return _checkBlobSupport(dbInfo.db).then(function (blobSupport) {\\n if (blobSupport) {\\n return value;\\n }\\n return _encodeBlob(value);\\n });\\n }\\n return value;\\n }).then(function (value) {\\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\\n if (err) {\\n return reject(err);\\n }\\n\\n try {\\n var store = transaction.objectStore(self._dbInfo.storeName);\\n\\n // The reason we don't _save_ null is because IE 10 does\\n // not support saving the `null` type in IndexedDB. How\\n // ironic, given the bug below!\\n // See: https://github.com/mozilla/localForage/issues/161\\n if (value === null) {\\n value = undefined;\\n }\\n\\n var req = store.put(value, key);\\n\\n transaction.oncomplete = function () {\\n // Cast to undefined so the value passed to\\n // callback/promise is the same as what one would get out\\n // of `getItem()` later. This leads to some weirdness\\n // (setItem('foo', undefined) will return `null`), but\\n // it's not my fault localStorage is our baseline and that\\n // it's weird.\\n if (value === undefined) {\\n value = null;\\n }\\n\\n resolve(value);\\n };\\n transaction.onabort = transaction.onerror = function () {\\n var err = req.error ? req.error : req.transaction.error;\\n reject(err);\\n };\\n } catch (e) {\\n reject(e);\\n }\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nfunction removeItem(key, callback) {\\n var self = this;\\n\\n key = normalizeKey(key);\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\\n if (err) {\\n return reject(err);\\n }\\n\\n try {\\n var store = transaction.objectStore(self._dbInfo.storeName);\\n // We use a Grunt task to make this safe for IE and some\\n // versions of Android (including those used by Cordova).\\n // Normally IE won't like `.delete()` and will insist on\\n // using `['delete']()`, but we have a build step that\\n // fixes this for us now.\\n var req = store[\\\"delete\\\"](key);\\n transaction.oncomplete = function () {\\n resolve();\\n };\\n\\n transaction.onerror = function () {\\n reject(req.error);\\n };\\n\\n // The request will be also be aborted if we've exceeded our storage\\n // space.\\n transaction.onabort = function () {\\n var err = req.error ? req.error : req.transaction.error;\\n reject(err);\\n };\\n } catch (e) {\\n reject(e);\\n }\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nfunction clear(callback) {\\n var self = this;\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\\n if (err) {\\n return reject(err);\\n }\\n\\n try {\\n var store = transaction.objectStore(self._dbInfo.storeName);\\n var req = store.clear();\\n\\n transaction.oncomplete = function () {\\n resolve();\\n };\\n\\n transaction.onabort = transaction.onerror = function () {\\n var err = req.error ? req.error : req.transaction.error;\\n reject(err);\\n };\\n } catch (e) {\\n reject(e);\\n }\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nfunction length(callback) {\\n var self = this;\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\\n if (err) {\\n return reject(err);\\n }\\n\\n try {\\n var store = transaction.objectStore(self._dbInfo.storeName);\\n var req = store.count();\\n\\n req.onsuccess = function () {\\n resolve(req.result);\\n };\\n\\n req.onerror = function () {\\n reject(req.error);\\n };\\n } catch (e) {\\n reject(e);\\n }\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nfunction key(n, callback) {\\n var self = this;\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n if (n < 0) {\\n resolve(null);\\n\\n return;\\n }\\n\\n self.ready().then(function () {\\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\\n if (err) {\\n return reject(err);\\n }\\n\\n try {\\n var store = transaction.objectStore(self._dbInfo.storeName);\\n var advanced = false;\\n var req = store.openKeyCursor();\\n\\n req.onsuccess = function () {\\n var cursor = req.result;\\n if (!cursor) {\\n // this means there weren't enough keys\\n resolve(null);\\n\\n return;\\n }\\n\\n if (n === 0) {\\n // We have the first key, return it if that's what they\\n // wanted.\\n resolve(cursor.key);\\n } else {\\n if (!advanced) {\\n // Otherwise, ask the cursor to skip ahead n\\n // records.\\n advanced = true;\\n cursor.advance(n);\\n } else {\\n // When we get here, we've got the nth key.\\n resolve(cursor.key);\\n }\\n }\\n };\\n\\n req.onerror = function () {\\n reject(req.error);\\n };\\n } catch (e) {\\n reject(e);\\n }\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nfunction keys(callback) {\\n var self = this;\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\\n if (err) {\\n return reject(err);\\n }\\n\\n try {\\n var store = transaction.objectStore(self._dbInfo.storeName);\\n var req = store.openKeyCursor();\\n var keys = [];\\n\\n req.onsuccess = function () {\\n var cursor = req.result;\\n\\n if (!cursor) {\\n resolve(keys);\\n return;\\n }\\n\\n keys.push(cursor.key);\\n cursor[\\\"continue\\\"]();\\n };\\n\\n req.onerror = function () {\\n reject(req.error);\\n };\\n } catch (e) {\\n reject(e);\\n }\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nfunction dropInstance(options, callback) {\\n callback = getCallback.apply(this, arguments);\\n\\n var currentConfig = this.config();\\n options = typeof options !== 'function' && options || {};\\n if (!options.name) {\\n options.name = options.name || currentConfig.name;\\n options.storeName = options.storeName || currentConfig.storeName;\\n }\\n\\n var self = this;\\n var promise;\\n if (!options.name) {\\n promise = Promise$1.reject('Invalid arguments');\\n } else {\\n var isCurrentDb = options.name === currentConfig.name && self._dbInfo.db;\\n\\n var dbPromise = isCurrentDb ? Promise$1.resolve(self._dbInfo.db) : _getOriginalConnection(options).then(function (db) {\\n var dbContext = dbContexts[options.name];\\n var forages = dbContext.forages;\\n dbContext.db = db;\\n for (var i = 0; i < forages.length; i++) {\\n forages[i]._dbInfo.db = db;\\n }\\n return db;\\n });\\n\\n if (!options.storeName) {\\n promise = dbPromise.then(function (db) {\\n _deferReadiness(options);\\n\\n var dbContext = dbContexts[options.name];\\n var forages = dbContext.forages;\\n\\n db.close();\\n for (var i = 0; i < forages.length; i++) {\\n var forage = forages[i];\\n forage._dbInfo.db = null;\\n }\\n\\n var dropDBPromise = new Promise$1(function (resolve, reject) {\\n var req = idb.deleteDatabase(options.name);\\n\\n req.onerror = function () {\\n var db = req.result;\\n if (db) {\\n db.close();\\n }\\n reject(req.error);\\n };\\n\\n req.onblocked = function () {\\n // Closing all open connections in onversionchange handler should prevent this situation, but if\\n // we do get here, it just means the request remains pending - eventually it will succeed or error\\n console.warn('dropInstance blocked for database \\\"' + options.name + '\\\" until all open connections are closed');\\n };\\n\\n req.onsuccess = function () {\\n var db = req.result;\\n if (db) {\\n db.close();\\n }\\n resolve(db);\\n };\\n });\\n\\n return dropDBPromise.then(function (db) {\\n dbContext.db = db;\\n for (var i = 0; i < forages.length; i++) {\\n var _forage = forages[i];\\n _advanceReadiness(_forage._dbInfo);\\n }\\n })[\\\"catch\\\"](function (err) {\\n (_rejectReadiness(options, err) || Promise$1.resolve())[\\\"catch\\\"](function () {});\\n throw err;\\n });\\n });\\n } else {\\n promise = dbPromise.then(function (db) {\\n if (!db.objectStoreNames.contains(options.storeName)) {\\n return;\\n }\\n\\n var newVersion = db.version + 1;\\n\\n _deferReadiness(options);\\n\\n var dbContext = dbContexts[options.name];\\n var forages = dbContext.forages;\\n\\n db.close();\\n for (var i = 0; i < forages.length; i++) {\\n var forage = forages[i];\\n forage._dbInfo.db = null;\\n forage._dbInfo.version = newVersion;\\n }\\n\\n var dropObjectPromise = new Promise$1(function (resolve, reject) {\\n var req = idb.open(options.name, newVersion);\\n\\n req.onerror = function (err) {\\n var db = req.result;\\n db.close();\\n reject(err);\\n };\\n\\n req.onupgradeneeded = function () {\\n var db = req.result;\\n db.deleteObjectStore(options.storeName);\\n };\\n\\n req.onsuccess = function () {\\n var db = req.result;\\n db.close();\\n resolve(db);\\n };\\n });\\n\\n return dropObjectPromise.then(function (db) {\\n dbContext.db = db;\\n for (var j = 0; j < forages.length; j++) {\\n var _forage2 = forages[j];\\n _forage2._dbInfo.db = db;\\n _advanceReadiness(_forage2._dbInfo);\\n }\\n })[\\\"catch\\\"](function (err) {\\n (_rejectReadiness(options, err) || Promise$1.resolve())[\\\"catch\\\"](function () {});\\n throw err;\\n });\\n });\\n }\\n }\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nvar asyncStorage = {\\n _driver: 'asyncStorage',\\n _initStorage: _initStorage,\\n _support: isIndexedDBValid(),\\n iterate: iterate,\\n getItem: getItem,\\n setItem: setItem,\\n removeItem: removeItem,\\n clear: clear,\\n length: length,\\n key: key,\\n keys: keys,\\n dropInstance: dropInstance\\n};\\n\\nfunction isWebSQLValid() {\\n return typeof openDatabase === 'function';\\n}\\n\\n// Sadly, the best way to save binary data in WebSQL/localStorage is serializing\\n// it to Base64, so this is how we store it to prevent very strange errors with less\\n// verbose ways of binary <-> string data storage.\\nvar BASE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\\n\\nvar BLOB_TYPE_PREFIX = '~~local_forage_type~';\\nvar BLOB_TYPE_PREFIX_REGEX = /^~~local_forage_type~([^~]+)~/;\\n\\nvar SERIALIZED_MARKER = '__lfsc__:';\\nvar SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER.length;\\n\\n// OMG the serializations!\\nvar TYPE_ARRAYBUFFER = 'arbf';\\nvar TYPE_BLOB = 'blob';\\nvar TYPE_INT8ARRAY = 'si08';\\nvar TYPE_UINT8ARRAY = 'ui08';\\nvar TYPE_UINT8CLAMPEDARRAY = 'uic8';\\nvar TYPE_INT16ARRAY = 'si16';\\nvar TYPE_INT32ARRAY = 'si32';\\nvar TYPE_UINT16ARRAY = 'ur16';\\nvar TYPE_UINT32ARRAY = 'ui32';\\nvar TYPE_FLOAT32ARRAY = 'fl32';\\nvar TYPE_FLOAT64ARRAY = 'fl64';\\nvar TYPE_SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER_LENGTH + TYPE_ARRAYBUFFER.length;\\n\\nvar toString$1 = Object.prototype.toString;\\n\\nfunction stringToBuffer(serializedString) {\\n // Fill the string into a ArrayBuffer.\\n var bufferLength = serializedString.length * 0.75;\\n var len = serializedString.length;\\n var i;\\n var p = 0;\\n var encoded1, encoded2, encoded3, encoded4;\\n\\n if (serializedString[serializedString.length - 1] === '=') {\\n bufferLength--;\\n if (serializedString[serializedString.length - 2] === '=') {\\n bufferLength--;\\n }\\n }\\n\\n var buffer = new ArrayBuffer(bufferLength);\\n var bytes = new Uint8Array(buffer);\\n\\n for (i = 0; i < len; i += 4) {\\n encoded1 = BASE_CHARS.indexOf(serializedString[i]);\\n encoded2 = BASE_CHARS.indexOf(serializedString[i + 1]);\\n encoded3 = BASE_CHARS.indexOf(serializedString[i + 2]);\\n encoded4 = BASE_CHARS.indexOf(serializedString[i + 3]);\\n\\n /*jslint bitwise: true */\\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\\n }\\n return buffer;\\n}\\n\\n// Converts a buffer to a string to store, serialized, in the backend\\n// storage library.\\nfunction bufferToString(buffer) {\\n // base64-arraybuffer\\n var bytes = new Uint8Array(buffer);\\n var base64String = '';\\n var i;\\n\\n for (i = 0; i < bytes.length; i += 3) {\\n /*jslint bitwise: true */\\n base64String += BASE_CHARS[bytes[i] >> 2];\\n base64String += BASE_CHARS[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];\\n base64String += BASE_CHARS[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];\\n base64String += BASE_CHARS[bytes[i + 2] & 63];\\n }\\n\\n if (bytes.length % 3 === 2) {\\n base64String = base64String.substring(0, base64String.length - 1) + '=';\\n } else if (bytes.length % 3 === 1) {\\n base64String = base64String.substring(0, base64String.length - 2) + '==';\\n }\\n\\n return base64String;\\n}\\n\\n// Serialize a value, afterwards executing a callback (which usually\\n// instructs the `setItem()` callback/promise to be executed). This is how\\n// we store binary data with localStorage.\\nfunction serialize(value, callback) {\\n var valueType = '';\\n if (value) {\\n valueType = toString$1.call(value);\\n }\\n\\n // Cannot use `value instanceof ArrayBuffer` or such here, as these\\n // checks fail when running the tests using casper.js...\\n //\\n // TODO: See why those tests fail and use a better solution.\\n if (value && (valueType === '[object ArrayBuffer]' || value.buffer && toString$1.call(value.buffer) === '[object ArrayBuffer]')) {\\n // Convert binary arrays to a string and prefix the string with\\n // a special marker.\\n var buffer;\\n var marker = SERIALIZED_MARKER;\\n\\n if (value instanceof ArrayBuffer) {\\n buffer = value;\\n marker += TYPE_ARRAYBUFFER;\\n } else {\\n buffer = value.buffer;\\n\\n if (valueType === '[object Int8Array]') {\\n marker += TYPE_INT8ARRAY;\\n } else if (valueType === '[object Uint8Array]') {\\n marker += TYPE_UINT8ARRAY;\\n } else if (valueType === '[object Uint8ClampedArray]') {\\n marker += TYPE_UINT8CLAMPEDARRAY;\\n } else if (valueType === '[object Int16Array]') {\\n marker += TYPE_INT16ARRAY;\\n } else if (valueType === '[object Uint16Array]') {\\n marker += TYPE_UINT16ARRAY;\\n } else if (valueType === '[object Int32Array]') {\\n marker += TYPE_INT32ARRAY;\\n } else if (valueType === '[object Uint32Array]') {\\n marker += TYPE_UINT32ARRAY;\\n } else if (valueType === '[object Float32Array]') {\\n marker += TYPE_FLOAT32ARRAY;\\n } else if (valueType === '[object Float64Array]') {\\n marker += TYPE_FLOAT64ARRAY;\\n } else {\\n callback(new Error('Failed to get type for BinaryArray'));\\n }\\n }\\n\\n callback(marker + bufferToString(buffer));\\n } else if (valueType === '[object Blob]') {\\n // Conver the blob to a binaryArray and then to a string.\\n var fileReader = new FileReader();\\n\\n fileReader.onload = function () {\\n // Backwards-compatible prefix for the blob type.\\n var str = BLOB_TYPE_PREFIX + value.type + '~' + bufferToString(this.result);\\n\\n callback(SERIALIZED_MARKER + TYPE_BLOB + str);\\n };\\n\\n fileReader.readAsArrayBuffer(value);\\n } else {\\n try {\\n callback(JSON.stringify(value));\\n } catch (e) {\\n console.error(\\\"Couldn't convert value into a JSON string: \\\", value);\\n\\n callback(null, e);\\n }\\n }\\n}\\n\\n// Deserialize data we've inserted into a value column/field. We place\\n// special markers into our strings to mark them as encoded; this isn't\\n// as nice as a meta field, but it's the only sane thing we can do whilst\\n// keeping localStorage support intact.\\n//\\n// Oftentimes this will just deserialize JSON content, but if we have a\\n// special marker (SERIALIZED_MARKER, defined above), we will extract\\n// some kind of arraybuffer/binary data/typed array out of the string.\\nfunction deserialize(value) {\\n // If we haven't marked this string as being specially serialized (i.e.\\n // something other than serialized JSON), we can just return it and be\\n // done with it.\\n if (value.substring(0, SERIALIZED_MARKER_LENGTH) !== SERIALIZED_MARKER) {\\n return JSON.parse(value);\\n }\\n\\n // The following code deals with deserializing some kind of Blob or\\n // TypedArray. First we separate out the type of data we're dealing\\n // with from the data itself.\\n var serializedString = value.substring(TYPE_SERIALIZED_MARKER_LENGTH);\\n var type = value.substring(SERIALIZED_MARKER_LENGTH, TYPE_SERIALIZED_MARKER_LENGTH);\\n\\n var blobType;\\n // Backwards-compatible blob type serialization strategy.\\n // DBs created with older versions of localForage will simply not have the blob type.\\n if (type === TYPE_BLOB && BLOB_TYPE_PREFIX_REGEX.test(serializedString)) {\\n var matcher = serializedString.match(BLOB_TYPE_PREFIX_REGEX);\\n blobType = matcher[1];\\n serializedString = serializedString.substring(matcher[0].length);\\n }\\n var buffer = stringToBuffer(serializedString);\\n\\n // Return the right type based on the code/type set during\\n // serialization.\\n switch (type) {\\n case TYPE_ARRAYBUFFER:\\n return buffer;\\n case TYPE_BLOB:\\n return createBlob([buffer], { type: blobType });\\n case TYPE_INT8ARRAY:\\n return new Int8Array(buffer);\\n case TYPE_UINT8ARRAY:\\n return new Uint8Array(buffer);\\n case TYPE_UINT8CLAMPEDARRAY:\\n return new Uint8ClampedArray(buffer);\\n case TYPE_INT16ARRAY:\\n return new Int16Array(buffer);\\n case TYPE_UINT16ARRAY:\\n return new Uint16Array(buffer);\\n case TYPE_INT32ARRAY:\\n return new Int32Array(buffer);\\n case TYPE_UINT32ARRAY:\\n return new Uint32Array(buffer);\\n case TYPE_FLOAT32ARRAY:\\n return new Float32Array(buffer);\\n case TYPE_FLOAT64ARRAY:\\n return new Float64Array(buffer);\\n default:\\n throw new Error('Unkown type: ' + type);\\n }\\n}\\n\\nvar localforageSerializer = {\\n serialize: serialize,\\n deserialize: deserialize,\\n stringToBuffer: stringToBuffer,\\n bufferToString: bufferToString\\n};\\n\\n/*\\n * Includes code from:\\n *\\n * base64-arraybuffer\\n * https://github.com/niklasvh/base64-arraybuffer\\n *\\n * Copyright (c) 2012 Niklas von Hertzen\\n * Licensed under the MIT license.\\n */\\n\\nfunction createDbTable(t, dbInfo, callback, errorCallback) {\\n t.executeSql('CREATE TABLE IF NOT EXISTS ' + dbInfo.storeName + ' ' + '(id INTEGER PRIMARY KEY, key unique, value)', [], callback, errorCallback);\\n}\\n\\n// Open the WebSQL database (automatically creates one if one didn't\\n// previously exist), using any options set in the config.\\nfunction _initStorage$1(options) {\\n var self = this;\\n var dbInfo = {\\n db: null\\n };\\n\\n if (options) {\\n for (var i in options) {\\n dbInfo[i] = typeof options[i] !== 'string' ? options[i].toString() : options[i];\\n }\\n }\\n\\n var dbInfoPromise = new Promise$1(function (resolve, reject) {\\n // Open the database; the openDatabase API will automatically\\n // create it for us if it doesn't exist.\\n try {\\n dbInfo.db = openDatabase(dbInfo.name, String(dbInfo.version), dbInfo.description, dbInfo.size);\\n } catch (e) {\\n return reject(e);\\n }\\n\\n // Create our key/value table if it doesn't exist.\\n dbInfo.db.transaction(function (t) {\\n createDbTable(t, dbInfo, function () {\\n self._dbInfo = dbInfo;\\n resolve();\\n }, function (t, error) {\\n reject(error);\\n });\\n }, reject);\\n });\\n\\n dbInfo.serializer = localforageSerializer;\\n return dbInfoPromise;\\n}\\n\\nfunction tryExecuteSql(t, dbInfo, sqlStatement, args, callback, errorCallback) {\\n t.executeSql(sqlStatement, args, callback, function (t, error) {\\n if (error.code === error.SYNTAX_ERR) {\\n t.executeSql('SELECT name FROM sqlite_master ' + \\\"WHERE type='table' AND name = ?\\\", [dbInfo.storeName], function (t, results) {\\n if (!results.rows.length) {\\n // if the table is missing (was deleted)\\n // re-create it table and retry\\n createDbTable(t, dbInfo, function () {\\n t.executeSql(sqlStatement, args, callback, errorCallback);\\n }, errorCallback);\\n } else {\\n errorCallback(t, error);\\n }\\n }, errorCallback);\\n } else {\\n errorCallback(t, error);\\n }\\n }, errorCallback);\\n}\\n\\nfunction getItem$1(key, callback) {\\n var self = this;\\n\\n key = normalizeKey(key);\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n var dbInfo = self._dbInfo;\\n dbInfo.db.transaction(function (t) {\\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName + ' WHERE key = ? LIMIT 1', [key], function (t, results) {\\n var result = results.rows.length ? results.rows.item(0).value : null;\\n\\n // Check to see if this is serialized content we need to\\n // unpack.\\n if (result) {\\n result = dbInfo.serializer.deserialize(result);\\n }\\n\\n resolve(result);\\n }, function (t, error) {\\n reject(error);\\n });\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nfunction iterate$1(iterator, callback) {\\n var self = this;\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n var dbInfo = self._dbInfo;\\n\\n dbInfo.db.transaction(function (t) {\\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName, [], function (t, results) {\\n var rows = results.rows;\\n var length = rows.length;\\n\\n for (var i = 0; i < length; i++) {\\n var item = rows.item(i);\\n var result = item.value;\\n\\n // Check to see if this is serialized content\\n // we need to unpack.\\n if (result) {\\n result = dbInfo.serializer.deserialize(result);\\n }\\n\\n result = iterator(result, item.key, i + 1);\\n\\n // void(0) prevents problems with redefinition\\n // of `undefined`.\\n if (result !== void 0) {\\n resolve(result);\\n return;\\n }\\n }\\n\\n resolve();\\n }, function (t, error) {\\n reject(error);\\n });\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nfunction _setItem(key, value, callback, retriesLeft) {\\n var self = this;\\n\\n key = normalizeKey(key);\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n // The localStorage API doesn't return undefined values in an\\n // \\\"expected\\\" way, so undefined is always cast to null in all\\n // drivers. See: https://github.com/mozilla/localForage/pull/42\\n if (value === undefined) {\\n value = null;\\n }\\n\\n // Save the original value to pass to the callback.\\n var originalValue = value;\\n\\n var dbInfo = self._dbInfo;\\n dbInfo.serializer.serialize(value, function (value, error) {\\n if (error) {\\n reject(error);\\n } else {\\n dbInfo.db.transaction(function (t) {\\n tryExecuteSql(t, dbInfo, 'INSERT OR REPLACE INTO ' + dbInfo.storeName + ' ' + '(key, value) VALUES (?, ?)', [key, value], function () {\\n resolve(originalValue);\\n }, function (t, error) {\\n reject(error);\\n });\\n }, function (sqlError) {\\n // The transaction failed; check\\n // to see if it's a quota error.\\n if (sqlError.code === sqlError.QUOTA_ERR) {\\n // We reject the callback outright for now, but\\n // it's worth trying to re-run the transaction.\\n // Even if the user accepts the prompt to use\\n // more storage on Safari, this error will\\n // be called.\\n //\\n // Try to re-run the transaction.\\n if (retriesLeft > 0) {\\n resolve(_setItem.apply(self, [key, originalValue, callback, retriesLeft - 1]));\\n return;\\n }\\n reject(sqlError);\\n }\\n });\\n }\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nfunction setItem$1(key, value, callback) {\\n return _setItem.apply(this, [key, value, callback, 1]);\\n}\\n\\nfunction removeItem$1(key, callback) {\\n var self = this;\\n\\n key = normalizeKey(key);\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n var dbInfo = self._dbInfo;\\n dbInfo.db.transaction(function (t) {\\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName + ' WHERE key = ?', [key], function () {\\n resolve();\\n }, function (t, error) {\\n reject(error);\\n });\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\n// Deletes every item in the table.\\n// TODO: Find out if this resets the AUTO_INCREMENT number.\\nfunction clear$1(callback) {\\n var self = this;\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n var dbInfo = self._dbInfo;\\n dbInfo.db.transaction(function (t) {\\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName, [], function () {\\n resolve();\\n }, function (t, error) {\\n reject(error);\\n });\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\n// Does a simple `COUNT(key)` to get the number of items stored in\\n// localForage.\\nfunction length$1(callback) {\\n var self = this;\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n var dbInfo = self._dbInfo;\\n dbInfo.db.transaction(function (t) {\\n // Ahhh, SQL makes this one soooooo easy.\\n tryExecuteSql(t, dbInfo, 'SELECT COUNT(key) as c FROM ' + dbInfo.storeName, [], function (t, results) {\\n var result = results.rows.item(0).c;\\n resolve(result);\\n }, function (t, error) {\\n reject(error);\\n });\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\n// Return the key located at key index X; essentially gets the key from a\\n// `WHERE id = ?`. This is the most efficient way I can think to implement\\n// this rarely-used (in my experience) part of the API, but it can seem\\n// inconsistent, because we do `INSERT OR REPLACE INTO` on `setItem()`, so\\n// the ID of each key will change every time it's updated. Perhaps a stored\\n// procedure for the `setItem()` SQL would solve this problem?\\n// TODO: Don't change ID on `setItem()`.\\nfunction key$1(n, callback) {\\n var self = this;\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n var dbInfo = self._dbInfo;\\n dbInfo.db.transaction(function (t) {\\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName + ' WHERE id = ? LIMIT 1', [n + 1], function (t, results) {\\n var result = results.rows.length ? results.rows.item(0).key : null;\\n resolve(result);\\n }, function (t, error) {\\n reject(error);\\n });\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nfunction keys$1(callback) {\\n var self = this;\\n\\n var promise = new Promise$1(function (resolve, reject) {\\n self.ready().then(function () {\\n var dbInfo = self._dbInfo;\\n dbInfo.db.transaction(function (t) {\\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName, [], function (t, results) {\\n var keys = [];\\n\\n for (var i = 0; i < results.rows.length; i++) {\\n keys.push(results.rows.item(i).key);\\n }\\n\\n resolve(keys);\\n }, function (t, error) {\\n reject(error);\\n });\\n });\\n })[\\\"catch\\\"](reject);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\n// https://www.w3.org/TR/webdatabase/#databases\\n// > There is no way to enumerate or delete the databases available for an origin from this API.\\nfunction getAllStoreNames(db) {\\n return new Promise$1(function (resolve, reject) {\\n db.transaction(function (t) {\\n t.executeSql('SELECT name FROM sqlite_master ' + \\\"WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'\\\", [], function (t, results) {\\n var storeNames = [];\\n\\n for (var i = 0; i < results.rows.length; i++) {\\n storeNames.push(results.rows.item(i).name);\\n }\\n\\n resolve({\\n db: db,\\n storeNames: storeNames\\n });\\n }, function (t, error) {\\n reject(error);\\n });\\n }, function (sqlError) {\\n reject(sqlError);\\n });\\n });\\n}\\n\\nfunction dropInstance$1(options, callback) {\\n callback = getCallback.apply(this, arguments);\\n\\n var currentConfig = this.config();\\n options = typeof options !== 'function' && options || {};\\n if (!options.name) {\\n options.name = options.name || currentConfig.name;\\n options.storeName = options.storeName || currentConfig.storeName;\\n }\\n\\n var self = this;\\n var promise;\\n if (!options.name) {\\n promise = Promise$1.reject('Invalid arguments');\\n } else {\\n promise = new Promise$1(function (resolve) {\\n var db;\\n if (options.name === currentConfig.name) {\\n // use the db reference of the current instance\\n db = self._dbInfo.db;\\n } else {\\n db = openDatabase(options.name, '', '', 0);\\n }\\n\\n if (!options.storeName) {\\n // drop all database tables\\n resolve(getAllStoreNames(db));\\n } else {\\n resolve({\\n db: db,\\n storeNames: [options.storeName]\\n });\\n }\\n }).then(function (operationInfo) {\\n return new Promise$1(function (resolve, reject) {\\n operationInfo.db.transaction(function (t) {\\n function dropTable(storeName) {\\n return new Promise$1(function (resolve, reject) {\\n t.executeSql('DROP TABLE IF EXISTS ' + storeName, [], function () {\\n resolve();\\n }, function (t, error) {\\n reject(error);\\n });\\n });\\n }\\n\\n var operations = [];\\n for (var i = 0, len = operationInfo.storeNames.length; i < len; i++) {\\n operations.push(dropTable(operationInfo.storeNames[i]));\\n }\\n\\n Promise$1.all(operations).then(function () {\\n resolve();\\n })[\\\"catch\\\"](function (e) {\\n reject(e);\\n });\\n }, function (sqlError) {\\n reject(sqlError);\\n });\\n });\\n });\\n }\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nvar webSQLStorage = {\\n _driver: 'webSQLStorage',\\n _initStorage: _initStorage$1,\\n _support: isWebSQLValid(),\\n iterate: iterate$1,\\n getItem: getItem$1,\\n setItem: setItem$1,\\n removeItem: removeItem$1,\\n clear: clear$1,\\n length: length$1,\\n key: key$1,\\n keys: keys$1,\\n dropInstance: dropInstance$1\\n};\\n\\nfunction isLocalStorageValid() {\\n try {\\n return typeof localStorage !== 'undefined' && 'setItem' in localStorage &&\\n // in IE8 typeof localStorage.setItem === 'object'\\n !!localStorage.setItem;\\n } catch (e) {\\n return false;\\n }\\n}\\n\\nfunction _getKeyPrefix(options, defaultConfig) {\\n var keyPrefix = options.name + '/';\\n\\n if (options.storeName !== defaultConfig.storeName) {\\n keyPrefix += options.storeName + '/';\\n }\\n return keyPrefix;\\n}\\n\\n// Check if localStorage throws when saving an item\\nfunction checkIfLocalStorageThrows() {\\n var localStorageTestKey = '_localforage_support_test';\\n\\n try {\\n localStorage.setItem(localStorageTestKey, true);\\n localStorage.removeItem(localStorageTestKey);\\n\\n return false;\\n } catch (e) {\\n return true;\\n }\\n}\\n\\n// Check if localStorage is usable and allows to save an item\\n// This method checks if localStorage is usable in Safari Private Browsing\\n// mode, or in any other case where the available quota for localStorage\\n// is 0 and there wasn't any saved items yet.\\nfunction _isLocalStorageUsable() {\\n return !checkIfLocalStorageThrows() || localStorage.length > 0;\\n}\\n\\n// Config the localStorage backend, using options set in the config.\\nfunction _initStorage$2(options) {\\n var self = this;\\n var dbInfo = {};\\n if (options) {\\n for (var i in options) {\\n dbInfo[i] = options[i];\\n }\\n }\\n\\n dbInfo.keyPrefix = _getKeyPrefix(options, self._defaultConfig);\\n\\n if (!_isLocalStorageUsable()) {\\n return Promise$1.reject();\\n }\\n\\n self._dbInfo = dbInfo;\\n dbInfo.serializer = localforageSerializer;\\n\\n return Promise$1.resolve();\\n}\\n\\n// Remove all keys from the datastore, effectively destroying all data in\\n// the app's key/value store!\\nfunction clear$2(callback) {\\n var self = this;\\n var promise = self.ready().then(function () {\\n var keyPrefix = self._dbInfo.keyPrefix;\\n\\n for (var i = localStorage.length - 1; i >= 0; i--) {\\n var key = localStorage.key(i);\\n\\n if (key.indexOf(keyPrefix) === 0) {\\n localStorage.removeItem(key);\\n }\\n }\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\n// Retrieve an item from the store. Unlike the original async_storage\\n// library in Gaia, we don't modify return values at all. If a key's value\\n// is `undefined`, we pass that value to the callback function.\\nfunction getItem$2(key, callback) {\\n var self = this;\\n\\n key = normalizeKey(key);\\n\\n var promise = self.ready().then(function () {\\n var dbInfo = self._dbInfo;\\n var result = localStorage.getItem(dbInfo.keyPrefix + key);\\n\\n // If a result was found, parse it from the serialized\\n // string into a JS object. If result isn't truthy, the key\\n // is likely undefined and we'll pass it straight to the\\n // callback.\\n if (result) {\\n result = dbInfo.serializer.deserialize(result);\\n }\\n\\n return result;\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\n// Iterate over all items in the store.\\nfunction iterate$2(iterator, callback) {\\n var self = this;\\n\\n var promise = self.ready().then(function () {\\n var dbInfo = self._dbInfo;\\n var keyPrefix = dbInfo.keyPrefix;\\n var keyPrefixLength = keyPrefix.length;\\n var length = localStorage.length;\\n\\n // We use a dedicated iterator instead of the `i` variable below\\n // so other keys we fetch in localStorage aren't counted in\\n // the `iterationNumber` argument passed to the `iterate()`\\n // callback.\\n //\\n // See: github.com/mozilla/localForage/pull/435#discussion_r38061530\\n var iterationNumber = 1;\\n\\n for (var i = 0; i < length; i++) {\\n var key = localStorage.key(i);\\n if (key.indexOf(keyPrefix) !== 0) {\\n continue;\\n }\\n var value = localStorage.getItem(key);\\n\\n // If a result was found, parse it from the serialized\\n // string into a JS object. If result isn't truthy, the\\n // key is likely undefined and we'll pass it straight\\n // to the iterator.\\n if (value) {\\n value = dbInfo.serializer.deserialize(value);\\n }\\n\\n value = iterator(value, key.substring(keyPrefixLength), iterationNumber++);\\n\\n if (value !== void 0) {\\n return value;\\n }\\n }\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\n// Same as localStorage's key() method, except takes a callback.\\nfunction key$2(n, callback) {\\n var self = this;\\n var promise = self.ready().then(function () {\\n var dbInfo = self._dbInfo;\\n var result;\\n try {\\n result = localStorage.key(n);\\n } catch (error) {\\n result = null;\\n }\\n\\n // Remove the prefix from the key, if a key is found.\\n if (result) {\\n result = result.substring(dbInfo.keyPrefix.length);\\n }\\n\\n return result;\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nfunction keys$2(callback) {\\n var self = this;\\n var promise = self.ready().then(function () {\\n var dbInfo = self._dbInfo;\\n var length = localStorage.length;\\n var keys = [];\\n\\n for (var i = 0; i < length; i++) {\\n var itemKey = localStorage.key(i);\\n if (itemKey.indexOf(dbInfo.keyPrefix) === 0) {\\n keys.push(itemKey.substring(dbInfo.keyPrefix.length));\\n }\\n }\\n\\n return keys;\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\n// Supply the number of keys in the datastore to the callback function.\\nfunction length$2(callback) {\\n var self = this;\\n var promise = self.keys().then(function (keys) {\\n return keys.length;\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\n// Remove an item from the store, nice and simple.\\nfunction removeItem$2(key, callback) {\\n var self = this;\\n\\n key = normalizeKey(key);\\n\\n var promise = self.ready().then(function () {\\n var dbInfo = self._dbInfo;\\n localStorage.removeItem(dbInfo.keyPrefix + key);\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\n// Set a key's value and run an optional callback once the value is set.\\n// Unlike Gaia's implementation, the callback function is passed the value,\\n// in case you want to operate on that value only after you're sure it\\n// saved, or something like that.\\nfunction setItem$2(key, value, callback) {\\n var self = this;\\n\\n key = normalizeKey(key);\\n\\n var promise = self.ready().then(function () {\\n // Convert undefined values to null.\\n // https://github.com/mozilla/localForage/pull/42\\n if (value === undefined) {\\n value = null;\\n }\\n\\n // Save the original value to pass to the callback.\\n var originalValue = value;\\n\\n return new Promise$1(function (resolve, reject) {\\n var dbInfo = self._dbInfo;\\n dbInfo.serializer.serialize(value, function (value, error) {\\n if (error) {\\n reject(error);\\n } else {\\n try {\\n localStorage.setItem(dbInfo.keyPrefix + key, value);\\n resolve(originalValue);\\n } catch (e) {\\n // localStorage capacity exceeded.\\n // TODO: Make this a specific error/event.\\n if (e.name === 'QuotaExceededError' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED') {\\n reject(e);\\n }\\n reject(e);\\n }\\n }\\n });\\n });\\n });\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nfunction dropInstance$2(options, callback) {\\n callback = getCallback.apply(this, arguments);\\n\\n options = typeof options !== 'function' && options || {};\\n if (!options.name) {\\n var currentConfig = this.config();\\n options.name = options.name || currentConfig.name;\\n options.storeName = options.storeName || currentConfig.storeName;\\n }\\n\\n var self = this;\\n var promise;\\n if (!options.name) {\\n promise = Promise$1.reject('Invalid arguments');\\n } else {\\n promise = new Promise$1(function (resolve) {\\n if (!options.storeName) {\\n resolve(options.name + '/');\\n } else {\\n resolve(_getKeyPrefix(options, self._defaultConfig));\\n }\\n }).then(function (keyPrefix) {\\n for (var i = localStorage.length - 1; i >= 0; i--) {\\n var key = localStorage.key(i);\\n\\n if (key.indexOf(keyPrefix) === 0) {\\n localStorage.removeItem(key);\\n }\\n }\\n });\\n }\\n\\n executeCallback(promise, callback);\\n return promise;\\n}\\n\\nvar localStorageWrapper = {\\n _driver: 'localStorageWrapper',\\n _initStorage: _initStorage$2,\\n _support: isLocalStorageValid(),\\n iterate: iterate$2,\\n getItem: getItem$2,\\n setItem: setItem$2,\\n removeItem: removeItem$2,\\n clear: clear$2,\\n length: length$2,\\n key: key$2,\\n keys: keys$2,\\n dropInstance: dropInstance$2\\n};\\n\\nvar sameValue = function sameValue(x, y) {\\n return x === y || typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y);\\n};\\n\\nvar includes = function includes(array, searchElement) {\\n var len = array.length;\\n var i = 0;\\n while (i < len) {\\n if (sameValue(array[i], searchElement)) {\\n return true;\\n }\\n i++;\\n }\\n\\n return false;\\n};\\n\\nvar isArray = Array.isArray || function (arg) {\\n return Object.prototype.toString.call(arg) === '[object Array]';\\n};\\n\\n// Drivers are stored here when `defineDriver()` is called.\\n// They are shared across all instances of localForage.\\nvar DefinedDrivers = {};\\n\\nvar DriverSupport = {};\\n\\nvar DefaultDrivers = {\\n INDEXEDDB: asyncStorage,\\n WEBSQL: webSQLStorage,\\n LOCALSTORAGE: localStorageWrapper\\n};\\n\\nvar DefaultDriverOrder = [DefaultDrivers.INDEXEDDB._driver, DefaultDrivers.WEBSQL._driver, DefaultDrivers.LOCALSTORAGE._driver];\\n\\nvar OptionalDriverMethods = ['dropInstance'];\\n\\nvar LibraryMethods = ['clear', 'getItem', 'iterate', 'key', 'keys', 'length', 'removeItem', 'setItem'].concat(OptionalDriverMethods);\\n\\nvar DefaultConfig = {\\n description: '',\\n driver: DefaultDriverOrder.slice(),\\n name: 'localforage',\\n // Default DB size is _JUST UNDER_ 5MB, as it's the highest size\\n // we can use without a prompt.\\n size: 4980736,\\n storeName: 'keyvaluepairs',\\n version: 1.0\\n};\\n\\nfunction callWhenReady(localForageInstance, libraryMethod) {\\n localForageInstance[libraryMethod] = function () {\\n var _args = arguments;\\n return localForageInstance.ready().then(function () {\\n return localForageInstance[libraryMethod].apply(localForageInstance, _args);\\n });\\n };\\n}\\n\\nfunction extend() {\\n for (var i = 1; i < arguments.length; i++) {\\n var arg = arguments[i];\\n\\n if (arg) {\\n for (var _key in arg) {\\n if (arg.hasOwnProperty(_key)) {\\n if (isArray(arg[_key])) {\\n arguments[0][_key] = arg[_key].slice();\\n } else {\\n arguments[0][_key] = arg[_key];\\n }\\n }\\n }\\n }\\n }\\n\\n return arguments[0];\\n}\\n\\nvar LocalForage = function () {\\n function LocalForage(options) {\\n _classCallCheck(this, LocalForage);\\n\\n for (var driverTypeKey in DefaultDrivers) {\\n if (DefaultDrivers.hasOwnProperty(driverTypeKey)) {\\n var driver = DefaultDrivers[driverTypeKey];\\n var driverName = driver._driver;\\n this[driverTypeKey] = driverName;\\n\\n if (!DefinedDrivers[driverName]) {\\n // we don't need to wait for the promise,\\n // since the default drivers can be defined\\n // in a blocking manner\\n this.defineDriver(driver);\\n }\\n }\\n }\\n\\n this._defaultConfig = extend({}, DefaultConfig);\\n this._config = extend({}, this._defaultConfig, options);\\n this._driverSet = null;\\n this._initDriver = null;\\n this._ready = false;\\n this._dbInfo = null;\\n\\n this._wrapLibraryMethodsWithReady();\\n this.setDriver(this._config.driver)[\\\"catch\\\"](function () {});\\n }\\n\\n // Set any config values for localForage; can be called anytime before\\n // the first API call (e.g. `getItem`, `setItem`).\\n // We loop through options so we don't overwrite existing config\\n // values.\\n\\n\\n LocalForage.prototype.config = function config(options) {\\n // If the options argument is an object, we use it to set values.\\n // Otherwise, we return either a specified config value or all\\n // config values.\\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {\\n // If localforage is ready and fully initialized, we can't set\\n // any new configuration values. Instead, we return an error.\\n if (this._ready) {\\n return new Error(\\\"Can't call config() after localforage \\\" + 'has been used.');\\n }\\n\\n for (var i in options) {\\n if (i === 'storeName') {\\n options[i] = options[i].replace(/\\\\W/g, '_');\\n }\\n\\n if (i === 'version' && typeof options[i] !== 'number') {\\n return new Error('Database version must be a number.');\\n }\\n\\n this._config[i] = options[i];\\n }\\n\\n // after all config options are set and\\n // the driver option is used, try setting it\\n if ('driver' in options && options.driver) {\\n return this.setDriver(this._config.driver);\\n }\\n\\n return true;\\n } else if (typeof options === 'string') {\\n return this._config[options];\\n } else {\\n return this._config;\\n }\\n };\\n\\n // Used to define a custom driver, shared across all instances of\\n // localForage.\\n\\n\\n LocalForage.prototype.defineDriver = function defineDriver(driverObject, callback, errorCallback) {\\n var promise = new Promise$1(function (resolve, reject) {\\n try {\\n var driverName = driverObject._driver;\\n var complianceError = new Error('Custom driver not compliant; see ' + 'https://mozilla.github.io/localForage/#definedriver');\\n\\n // A driver name should be defined and not overlap with the\\n // library-defined, default drivers.\\n if (!driverObject._driver) {\\n reject(complianceError);\\n return;\\n }\\n\\n var driverMethods = LibraryMethods.concat('_initStorage');\\n for (var i = 0, len = driverMethods.length; i < len; i++) {\\n var driverMethodName = driverMethods[i];\\n\\n // when the property is there,\\n // it should be a method even when optional\\n var isRequired = !includes(OptionalDriverMethods, driverMethodName);\\n if ((isRequired || driverObject[driverMethodName]) && typeof driverObject[driverMethodName] !== 'function') {\\n reject(complianceError);\\n return;\\n }\\n }\\n\\n var configureMissingMethods = function configureMissingMethods() {\\n var methodNotImplementedFactory = function methodNotImplementedFactory(methodName) {\\n return function () {\\n var error = new Error('Method ' + methodName + ' is not implemented by the current driver');\\n var promise = Promise$1.reject(error);\\n executeCallback(promise, arguments[arguments.length - 1]);\\n return promise;\\n };\\n };\\n\\n for (var _i = 0, _len = OptionalDriverMethods.length; _i < _len; _i++) {\\n var optionalDriverMethod = OptionalDriverMethods[_i];\\n if (!driverObject[optionalDriverMethod]) {\\n driverObject[optionalDriverMethod] = methodNotImplementedFactory(optionalDriverMethod);\\n }\\n }\\n };\\n\\n configureMissingMethods();\\n\\n var setDriverSupport = function setDriverSupport(support) {\\n if (DefinedDrivers[driverName]) {\\n console.info('Redefining LocalForage driver: ' + driverName);\\n }\\n DefinedDrivers[driverName] = driverObject;\\n DriverSupport[driverName] = support;\\n // don't use a then, so that we can define\\n // drivers that have simple _support methods\\n // in a blocking manner\\n resolve();\\n };\\n\\n if ('_support' in driverObject) {\\n if (driverObject._support && typeof driverObject._support === 'function') {\\n driverObject._support().then(setDriverSupport, reject);\\n } else {\\n setDriverSupport(!!driverObject._support);\\n }\\n } else {\\n setDriverSupport(true);\\n }\\n } catch (e) {\\n reject(e);\\n }\\n });\\n\\n executeTwoCallbacks(promise, callback, errorCallback);\\n return promise;\\n };\\n\\n LocalForage.prototype.driver = function driver() {\\n return this._driver || null;\\n };\\n\\n LocalForage.prototype.getDriver = function getDriver(driverName, callback, errorCallback) {\\n var getDriverPromise = DefinedDrivers[driverName] ? Promise$1.resolve(DefinedDrivers[driverName]) : Promise$1.reject(new Error('Driver not found.'));\\n\\n executeTwoCallbacks(getDriverPromise, callback, errorCallback);\\n return getDriverPromise;\\n };\\n\\n LocalForage.prototype.getSerializer = function getSerializer(callback) {\\n var serializerPromise = Promise$1.resolve(localforageSerializer);\\n executeTwoCallbacks(serializerPromise, callback);\\n return serializerPromise;\\n };\\n\\n LocalForage.prototype.ready = function ready(callback) {\\n var self = this;\\n\\n var promise = self._driverSet.then(function () {\\n if (self._ready === null) {\\n self._ready = self._initDriver();\\n }\\n\\n return self._ready;\\n });\\n\\n executeTwoCallbacks(promise, callback, callback);\\n return promise;\\n };\\n\\n LocalForage.prototype.setDriver = function setDriver(drivers, callback, errorCallback) {\\n var self = this;\\n\\n if (!isArray(drivers)) {\\n drivers = [drivers];\\n }\\n\\n var supportedDrivers = this._getSupportedDrivers(drivers);\\n\\n function setDriverToConfig() {\\n self._config.driver = self.driver();\\n }\\n\\n function extendSelfWithDriver(driver) {\\n self._extend(driver);\\n setDriverToConfig();\\n\\n self._ready = self._initStorage(self._config);\\n return self._ready;\\n }\\n\\n function initDriver(supportedDrivers) {\\n return function () {\\n var currentDriverIndex = 0;\\n\\n function driverPromiseLoop() {\\n while (currentDriverIndex < supportedDrivers.length) {\\n var driverName = supportedDrivers[currentDriverIndex];\\n currentDriverIndex++;\\n\\n self._dbInfo = null;\\n self._ready = null;\\n\\n return self.getDriver(driverName).then(extendSelfWithDriver)[\\\"catch\\\"](driverPromiseLoop);\\n }\\n\\n setDriverToConfig();\\n var error = new Error('No available storage method found.');\\n self._driverSet = Promise$1.reject(error);\\n return self._driverSet;\\n }\\n\\n return driverPromiseLoop();\\n };\\n }\\n\\n // There might be a driver initialization in progress\\n // so wait for it to finish in order to avoid a possible\\n // race condition to set _dbInfo\\n var oldDriverSetDone = this._driverSet !== null ? this._driverSet[\\\"catch\\\"](function () {\\n return Promise$1.resolve();\\n }) : Promise$1.resolve();\\n\\n this._driverSet = oldDriverSetDone.then(function () {\\n var driverName = supportedDrivers[0];\\n self._dbInfo = null;\\n self._ready = null;\\n\\n return self.getDriver(driverName).then(function (driver) {\\n self._driver = driver._driver;\\n setDriverToConfig();\\n self._wrapLibraryMethodsWithReady();\\n self._initDriver = initDriver(supportedDrivers);\\n });\\n })[\\\"catch\\\"](function () {\\n setDriverToConfig();\\n var error = new Error('No available storage method found.');\\n self._driverSet = Promise$1.reject(error);\\n return self._driverSet;\\n });\\n\\n executeTwoCallbacks(this._driverSet, callback, errorCallback);\\n return this._driverSet;\\n };\\n\\n LocalForage.prototype.supports = function supports(driverName) {\\n return !!DriverSupport[driverName];\\n };\\n\\n LocalForage.prototype._extend = function _extend(libraryMethodsAndProperties) {\\n extend(this, libraryMethodsAndProperties);\\n };\\n\\n LocalForage.prototype._getSupportedDrivers = function _getSupportedDrivers(drivers) {\\n var supportedDrivers = [];\\n for (var i = 0, len = drivers.length; i < len; i++) {\\n var driverName = drivers[i];\\n if (this.supports(driverName)) {\\n supportedDrivers.push(driverName);\\n }\\n }\\n return supportedDrivers;\\n };\\n\\n LocalForage.prototype._wrapLibraryMethodsWithReady = function _wrapLibraryMethodsWithReady() {\\n // Add a stub for each driver API method that delays the call to the\\n // corresponding driver method until localForage is ready. These stubs\\n // will be replaced by the driver methods as soon as the driver is\\n // loaded, so there is no performance impact.\\n for (var i = 0, len = LibraryMethods.length; i < len; i++) {\\n callWhenReady(this, LibraryMethods[i]);\\n }\\n };\\n\\n LocalForage.prototype.createInstance = function createInstance(options) {\\n return new LocalForage(options);\\n };\\n\\n return LocalForage;\\n}();\\n\\n// The actual localForage object that we expose as a module or via a\\n// global. It's extended by pulling in one of our other libraries.\\n\\n\\nvar localforage_js = new LocalForage();\\n\\nmodule.exports = localforage_js;\\n\\n},{\\\"3\\\":3}]},{},[4])(4)\\n});\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/localforage/dist/localforage.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/index.js\":\n/*!************************************!*\\\n !*** ./node_modules/pako/index.js ***!\n \\************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"// Top level file is just a mixin of submodules & constants\\n\\n\\nconst { Deflate, deflate, deflateRaw, gzip } = __webpack_require__(/*! ./lib/deflate */ \\\"./node_modules/pako/lib/deflate.js\\\");\\n\\nconst { Inflate, inflate, inflateRaw, ungzip } = __webpack_require__(/*! ./lib/inflate */ \\\"./node_modules/pako/lib/inflate.js\\\");\\n\\nconst constants = __webpack_require__(/*! ./lib/zlib/constants */ \\\"./node_modules/pako/lib/zlib/constants.js\\\");\\n\\nmodule.exports.Deflate = Deflate;\\nmodule.exports.deflate = deflate;\\nmodule.exports.deflateRaw = deflateRaw;\\nmodule.exports.gzip = gzip;\\nmodule.exports.Inflate = Inflate;\\nmodule.exports.inflate = inflate;\\nmodule.exports.inflateRaw = inflateRaw;\\nmodule.exports.ungzip = ungzip;\\nmodule.exports.constants = constants;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/deflate.js\":\n/*!******************************************!*\\\n !*** ./node_modules/pako/lib/deflate.js ***!\n \\******************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n\\n\\nconst zlib_deflate = __webpack_require__(/*! ./zlib/deflate */ \\\"./node_modules/pako/lib/zlib/deflate.js\\\");\\nconst utils = __webpack_require__(/*! ./utils/common */ \\\"./node_modules/pako/lib/utils/common.js\\\");\\nconst strings = __webpack_require__(/*! ./utils/strings */ \\\"./node_modules/pako/lib/utils/strings.js\\\");\\nconst msg = __webpack_require__(/*! ./zlib/messages */ \\\"./node_modules/pako/lib/zlib/messages.js\\\");\\nconst ZStream = __webpack_require__(/*! ./zlib/zstream */ \\\"./node_modules/pako/lib/zlib/zstream.js\\\");\\n\\nconst toString = Object.prototype.toString;\\n\\n/* Public constants ==========================================================*/\\n/* ===========================================================================*/\\n\\nconst {\\n Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FULL_FLUSH, Z_FINISH,\\n Z_OK, Z_STREAM_END,\\n Z_DEFAULT_COMPRESSION,\\n Z_DEFAULT_STRATEGY,\\n Z_DEFLATED\\n} = __webpack_require__(/*! ./zlib/constants */ \\\"./node_modules/pako/lib/zlib/constants.js\\\");\\n\\n/* ===========================================================================*/\\n\\n\\n/**\\n * class Deflate\\n *\\n * Generic JS-style wrapper for zlib calls. If you don't need\\n * streaming behaviour - use more simple functions: [[deflate]],\\n * [[deflateRaw]] and [[gzip]].\\n **/\\n\\n/* internal\\n * Deflate.chunks -> Array\\n *\\n * Chunks of output data, if [[Deflate#onData]] not overridden.\\n **/\\n\\n/**\\n * Deflate.result -> Uint8Array\\n *\\n * Compressed result, generated by default [[Deflate#onData]]\\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param).\\n **/\\n\\n/**\\n * Deflate.err -> Number\\n *\\n * Error code after deflate finished. 0 (Z_OK) on success.\\n * You will not need it in real life, because deflate errors\\n * are possible only on wrong options or bad `onData` / `onEnd`\\n * custom handlers.\\n **/\\n\\n/**\\n * Deflate.msg -> String\\n *\\n * Error message, if [[Deflate.err]] != 0\\n **/\\n\\n\\n/**\\n * new Deflate(options)\\n * - options (Object): zlib deflate options.\\n *\\n * Creates new deflator instance with specified params. Throws exception\\n * on bad params. Supported options:\\n *\\n * - `level`\\n * - `windowBits`\\n * - `memLevel`\\n * - `strategy`\\n * - `dictionary`\\n *\\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\\n * for more information on these.\\n *\\n * Additional options, for internal needs:\\n *\\n * - `chunkSize` - size of generated data chunks (16K by default)\\n * - `raw` (Boolean) - do raw deflate\\n * - `gzip` (Boolean) - create gzip wrapper\\n * - `header` (Object) - custom header for gzip\\n * - `text` (Boolean) - true if compressed data believed to be text\\n * - `time` (Number) - modification time, unix timestamp\\n * - `os` (Number) - operation system code\\n * - `extra` (Array) - array of bytes with extra data (max 65536)\\n * - `name` (String) - file name (binary string)\\n * - `comment` (String) - comment (binary string)\\n * - `hcrc` (Boolean) - true if header crc should be added\\n *\\n * ##### Example:\\n *\\n * ```javascript\\n * const pako = require('pako')\\n * , chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9])\\n * , chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]);\\n *\\n * const deflate = new pako.Deflate({ level: 3});\\n *\\n * deflate.push(chunk1, false);\\n * deflate.push(chunk2, true); // true -> last chunk\\n *\\n * if (deflate.err) { throw new Error(deflate.err); }\\n *\\n * console.log(deflate.result);\\n * ```\\n **/\\nfunction Deflate(options) {\\n this.options = utils.assign({\\n level: Z_DEFAULT_COMPRESSION,\\n method: Z_DEFLATED,\\n chunkSize: 16384,\\n windowBits: 15,\\n memLevel: 8,\\n strategy: Z_DEFAULT_STRATEGY\\n }, options || {});\\n\\n let opt = this.options;\\n\\n if (opt.raw && (opt.windowBits > 0)) {\\n opt.windowBits = -opt.windowBits;\\n }\\n\\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\\n opt.windowBits += 16;\\n }\\n\\n this.err = 0; // error code, if happens (0 = Z_OK)\\n this.msg = ''; // error message\\n this.ended = false; // used to avoid multiple onEnd() calls\\n this.chunks = []; // chunks of compressed data\\n\\n this.strm = new ZStream();\\n this.strm.avail_out = 0;\\n\\n let status = zlib_deflate.deflateInit2(\\n this.strm,\\n opt.level,\\n opt.method,\\n opt.windowBits,\\n opt.memLevel,\\n opt.strategy\\n );\\n\\n if (status !== Z_OK) {\\n throw new Error(msg[status]);\\n }\\n\\n if (opt.header) {\\n zlib_deflate.deflateSetHeader(this.strm, opt.header);\\n }\\n\\n if (opt.dictionary) {\\n let dict;\\n // Convert data if needed\\n if (typeof opt.dictionary === 'string') {\\n // If we need to compress text, change encoding to utf8.\\n dict = strings.string2buf(opt.dictionary);\\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\\n dict = new Uint8Array(opt.dictionary);\\n } else {\\n dict = opt.dictionary;\\n }\\n\\n status = zlib_deflate.deflateSetDictionary(this.strm, dict);\\n\\n if (status !== Z_OK) {\\n throw new Error(msg[status]);\\n }\\n\\n this._dict_set = true;\\n }\\n}\\n\\n/**\\n * Deflate#push(data[, flush_mode]) -> Boolean\\n * - data (Uint8Array|ArrayBuffer|String): input data. Strings will be\\n * converted to utf8 byte sequence.\\n * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\\n *\\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\\n * new compressed chunks. Returns `true` on success. The last data block must\\n * have `flush_mode` Z_FINISH (or `true`). That will flush internal pending\\n * buffers and call [[Deflate#onEnd]].\\n *\\n * On fail call [[Deflate#onEnd]] with error code and return false.\\n *\\n * ##### Example\\n *\\n * ```javascript\\n * push(chunk, false); // push one of data chunks\\n * ...\\n * push(chunk, true); // push last chunk\\n * ```\\n **/\\nDeflate.prototype.push = function (data, flush_mode) {\\n const strm = this.strm;\\n const chunkSize = this.options.chunkSize;\\n let status, _flush_mode;\\n\\n if (this.ended) { return false; }\\n\\n if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;\\n else _flush_mode = flush_mode === true ? Z_FINISH : Z_NO_FLUSH;\\n\\n // Convert data if needed\\n if (typeof data === 'string') {\\n // If we need to compress text, change encoding to utf8.\\n strm.input = strings.string2buf(data);\\n } else if (toString.call(data) === '[object ArrayBuffer]') {\\n strm.input = new Uint8Array(data);\\n } else {\\n strm.input = data;\\n }\\n\\n strm.next_in = 0;\\n strm.avail_in = strm.input.length;\\n\\n for (;;) {\\n if (strm.avail_out === 0) {\\n strm.output = new Uint8Array(chunkSize);\\n strm.next_out = 0;\\n strm.avail_out = chunkSize;\\n }\\n\\n // Make sure avail_out > 6 to avoid repeating markers\\n if ((_flush_mode === Z_SYNC_FLUSH || _flush_mode === Z_FULL_FLUSH) && strm.avail_out <= 6) {\\n this.onData(strm.output.subarray(0, strm.next_out));\\n strm.avail_out = 0;\\n continue;\\n }\\n\\n status = zlib_deflate.deflate(strm, _flush_mode);\\n\\n // Ended => flush and finish\\n if (status === Z_STREAM_END) {\\n if (strm.next_out > 0) {\\n this.onData(strm.output.subarray(0, strm.next_out));\\n }\\n status = zlib_deflate.deflateEnd(this.strm);\\n this.onEnd(status);\\n this.ended = true;\\n return status === Z_OK;\\n }\\n\\n // Flush if out buffer full\\n if (strm.avail_out === 0) {\\n this.onData(strm.output);\\n continue;\\n }\\n\\n // Flush if requested and has data\\n if (_flush_mode > 0 && strm.next_out > 0) {\\n this.onData(strm.output.subarray(0, strm.next_out));\\n strm.avail_out = 0;\\n continue;\\n }\\n\\n if (strm.avail_in === 0) break;\\n }\\n\\n return true;\\n};\\n\\n\\n/**\\n * Deflate#onData(chunk) -> Void\\n * - chunk (Uint8Array): output data.\\n *\\n * By default, stores data blocks in `chunks[]` property and glue\\n * those in `onEnd`. Override this handler, if you need another behaviour.\\n **/\\nDeflate.prototype.onData = function (chunk) {\\n this.chunks.push(chunk);\\n};\\n\\n\\n/**\\n * Deflate#onEnd(status) -> Void\\n * - status (Number): deflate status. 0 (Z_OK) on success,\\n * other if not.\\n *\\n * Called once after you tell deflate that the input stream is\\n * complete (Z_FINISH). By default - join collected chunks,\\n * free memory and fill `results` / `err` properties.\\n **/\\nDeflate.prototype.onEnd = function (status) {\\n // On success - join\\n if (status === Z_OK) {\\n this.result = utils.flattenChunks(this.chunks);\\n }\\n this.chunks = [];\\n this.err = status;\\n this.msg = this.strm.msg;\\n};\\n\\n\\n/**\\n * deflate(data[, options]) -> Uint8Array\\n * - data (Uint8Array|ArrayBuffer|String): input data to compress.\\n * - options (Object): zlib deflate options.\\n *\\n * Compress `data` with deflate algorithm and `options`.\\n *\\n * Supported options are:\\n *\\n * - level\\n * - windowBits\\n * - memLevel\\n * - strategy\\n * - dictionary\\n *\\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\\n * for more information on these.\\n *\\n * Sugar (options):\\n *\\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\\n * negative windowBits implicitly.\\n *\\n * ##### Example:\\n *\\n * ```javascript\\n * const pako = require('pako')\\n * const data = new Uint8Array([1,2,3,4,5,6,7,8,9]);\\n *\\n * console.log(pako.deflate(data));\\n * ```\\n **/\\nfunction deflate(input, options) {\\n const deflator = new Deflate(options);\\n\\n deflator.push(input, true);\\n\\n // That will never happens, if you don't cheat with options :)\\n if (deflator.err) { throw deflator.msg || msg[deflator.err]; }\\n\\n return deflator.result;\\n}\\n\\n\\n/**\\n * deflateRaw(data[, options]) -> Uint8Array\\n * - data (Uint8Array|ArrayBuffer|String): input data to compress.\\n * - options (Object): zlib deflate options.\\n *\\n * The same as [[deflate]], but creates raw data, without wrapper\\n * (header and adler32 crc).\\n **/\\nfunction deflateRaw(input, options) {\\n options = options || {};\\n options.raw = true;\\n return deflate(input, options);\\n}\\n\\n\\n/**\\n * gzip(data[, options]) -> Uint8Array\\n * - data (Uint8Array|ArrayBuffer|String): input data to compress.\\n * - options (Object): zlib deflate options.\\n *\\n * The same as [[deflate]], but create gzip wrapper instead of\\n * deflate one.\\n **/\\nfunction gzip(input, options) {\\n options = options || {};\\n options.gzip = true;\\n return deflate(input, options);\\n}\\n\\n\\nmodule.exports.Deflate = Deflate;\\nmodule.exports.deflate = deflate;\\nmodule.exports.deflateRaw = deflateRaw;\\nmodule.exports.gzip = gzip;\\nmodule.exports.constants = __webpack_require__(/*! ./zlib/constants */ \\\"./node_modules/pako/lib/zlib/constants.js\\\");\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/deflate.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/inflate.js\":\n/*!******************************************!*\\\n !*** ./node_modules/pako/lib/inflate.js ***!\n \\******************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n\\n\\nconst zlib_inflate = __webpack_require__(/*! ./zlib/inflate */ \\\"./node_modules/pako/lib/zlib/inflate.js\\\");\\nconst utils = __webpack_require__(/*! ./utils/common */ \\\"./node_modules/pako/lib/utils/common.js\\\");\\nconst strings = __webpack_require__(/*! ./utils/strings */ \\\"./node_modules/pako/lib/utils/strings.js\\\");\\nconst msg = __webpack_require__(/*! ./zlib/messages */ \\\"./node_modules/pako/lib/zlib/messages.js\\\");\\nconst ZStream = __webpack_require__(/*! ./zlib/zstream */ \\\"./node_modules/pako/lib/zlib/zstream.js\\\");\\nconst GZheader = __webpack_require__(/*! ./zlib/gzheader */ \\\"./node_modules/pako/lib/zlib/gzheader.js\\\");\\n\\nconst toString = Object.prototype.toString;\\n\\n/* Public constants ==========================================================*/\\n/* ===========================================================================*/\\n\\nconst {\\n Z_NO_FLUSH, Z_FINISH,\\n Z_OK, Z_STREAM_END, Z_NEED_DICT, Z_STREAM_ERROR, Z_DATA_ERROR, Z_MEM_ERROR\\n} = __webpack_require__(/*! ./zlib/constants */ \\\"./node_modules/pako/lib/zlib/constants.js\\\");\\n\\n/* ===========================================================================*/\\n\\n\\n/**\\n * class Inflate\\n *\\n * Generic JS-style wrapper for zlib calls. If you don't need\\n * streaming behaviour - use more simple functions: [[inflate]]\\n * and [[inflateRaw]].\\n **/\\n\\n/* internal\\n * inflate.chunks -> Array\\n *\\n * Chunks of output data, if [[Inflate#onData]] not overridden.\\n **/\\n\\n/**\\n * Inflate.result -> Uint8Array|String\\n *\\n * Uncompressed result, generated by default [[Inflate#onData]]\\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param).\\n **/\\n\\n/**\\n * Inflate.err -> Number\\n *\\n * Error code after inflate finished. 0 (Z_OK) on success.\\n * Should be checked if broken data possible.\\n **/\\n\\n/**\\n * Inflate.msg -> String\\n *\\n * Error message, if [[Inflate.err]] != 0\\n **/\\n\\n\\n/**\\n * new Inflate(options)\\n * - options (Object): zlib inflate options.\\n *\\n * Creates new inflator instance with specified params. Throws exception\\n * on bad params. Supported options:\\n *\\n * - `windowBits`\\n * - `dictionary`\\n *\\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\\n * for more information on these.\\n *\\n * Additional options, for internal needs:\\n *\\n * - `chunkSize` - size of generated data chunks (16K by default)\\n * - `raw` (Boolean) - do raw inflate\\n * - `to` (String) - if equal to 'string', then result will be converted\\n * from utf8 to utf16 (javascript) string. When string output requested,\\n * chunk length can differ from `chunkSize`, depending on content.\\n *\\n * By default, when no options set, autodetect deflate/gzip data format via\\n * wrapper header.\\n *\\n * ##### Example:\\n *\\n * ```javascript\\n * const pako = require('pako')\\n * const chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9])\\n * const chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]);\\n *\\n * const inflate = new pako.Inflate({ level: 3});\\n *\\n * inflate.push(chunk1, false);\\n * inflate.push(chunk2, true); // true -> last chunk\\n *\\n * if (inflate.err) { throw new Error(inflate.err); }\\n *\\n * console.log(inflate.result);\\n * ```\\n **/\\nfunction Inflate(options) {\\n this.options = utils.assign({\\n chunkSize: 1024 * 64,\\n windowBits: 15,\\n to: ''\\n }, options || {});\\n\\n const opt = this.options;\\n\\n // Force window size for `raw` data, if not set directly,\\n // because we have no header for autodetect.\\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\\n opt.windowBits = -opt.windowBits;\\n if (opt.windowBits === 0) { opt.windowBits = -15; }\\n }\\n\\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\\n !(options && options.windowBits)) {\\n opt.windowBits += 32;\\n }\\n\\n // Gzip header has no info about windows size, we can do autodetect only\\n // for deflate. So, if window size not set, force it to max when gzip possible\\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\\n // bit 3 (16) -> gzipped data\\n // bit 4 (32) -> autodetect gzip/deflate\\n if ((opt.windowBits & 15) === 0) {\\n opt.windowBits |= 15;\\n }\\n }\\n\\n this.err = 0; // error code, if happens (0 = Z_OK)\\n this.msg = ''; // error message\\n this.ended = false; // used to avoid multiple onEnd() calls\\n this.chunks = []; // chunks of compressed data\\n\\n this.strm = new ZStream();\\n this.strm.avail_out = 0;\\n\\n let status = zlib_inflate.inflateInit2(\\n this.strm,\\n opt.windowBits\\n );\\n\\n if (status !== Z_OK) {\\n throw new Error(msg[status]);\\n }\\n\\n this.header = new GZheader();\\n\\n zlib_inflate.inflateGetHeader(this.strm, this.header);\\n\\n // Setup dictionary\\n if (opt.dictionary) {\\n // Convert data if needed\\n if (typeof opt.dictionary === 'string') {\\n opt.dictionary = strings.string2buf(opt.dictionary);\\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\\n opt.dictionary = new Uint8Array(opt.dictionary);\\n }\\n if (opt.raw) { //In raw mode we need to set the dictionary early\\n status = zlib_inflate.inflateSetDictionary(this.strm, opt.dictionary);\\n if (status !== Z_OK) {\\n throw new Error(msg[status]);\\n }\\n }\\n }\\n}\\n\\n/**\\n * Inflate#push(data[, flush_mode]) -> Boolean\\n * - data (Uint8Array|ArrayBuffer): input data\\n * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE\\n * flush modes. See constants. Skipped or `false` means Z_NO_FLUSH,\\n * `true` means Z_FINISH.\\n *\\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\\n * new output chunks. Returns `true` on success. If end of stream detected,\\n * [[Inflate#onEnd]] will be called.\\n *\\n * `flush_mode` is not needed for normal operation, because end of stream\\n * detected automatically. You may try to use it for advanced things, but\\n * this functionality was not tested.\\n *\\n * On fail call [[Inflate#onEnd]] with error code and return false.\\n *\\n * ##### Example\\n *\\n * ```javascript\\n * push(chunk, false); // push one of data chunks\\n * ...\\n * push(chunk, true); // push last chunk\\n * ```\\n **/\\nInflate.prototype.push = function (data, flush_mode) {\\n const strm = this.strm;\\n const chunkSize = this.options.chunkSize;\\n const dictionary = this.options.dictionary;\\n let status, _flush_mode, last_avail_out;\\n\\n if (this.ended) return false;\\n\\n if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;\\n else _flush_mode = flush_mode === true ? Z_FINISH : Z_NO_FLUSH;\\n\\n // Convert data if needed\\n if (toString.call(data) === '[object ArrayBuffer]') {\\n strm.input = new Uint8Array(data);\\n } else {\\n strm.input = data;\\n }\\n\\n strm.next_in = 0;\\n strm.avail_in = strm.input.length;\\n\\n for (;;) {\\n if (strm.avail_out === 0) {\\n strm.output = new Uint8Array(chunkSize);\\n strm.next_out = 0;\\n strm.avail_out = chunkSize;\\n }\\n\\n status = zlib_inflate.inflate(strm, _flush_mode);\\n\\n if (status === Z_NEED_DICT && dictionary) {\\n status = zlib_inflate.inflateSetDictionary(strm, dictionary);\\n\\n if (status === Z_OK) {\\n status = zlib_inflate.inflate(strm, _flush_mode);\\n } else if (status === Z_DATA_ERROR) {\\n // Replace code with more verbose\\n status = Z_NEED_DICT;\\n }\\n }\\n\\n // Skip snyc markers if more data follows and not raw mode\\n while (strm.avail_in > 0 &&\\n status === Z_STREAM_END &&\\n strm.state.wrap > 0 &&\\n data[strm.next_in] !== 0)\\n {\\n zlib_inflate.inflateReset(strm);\\n status = zlib_inflate.inflate(strm, _flush_mode);\\n }\\n\\n switch (status) {\\n case Z_STREAM_ERROR:\\n case Z_DATA_ERROR:\\n case Z_NEED_DICT:\\n case Z_MEM_ERROR:\\n this.onEnd(status);\\n this.ended = true;\\n return false;\\n }\\n\\n // Remember real `avail_out` value, because we may patch out buffer content\\n // to align utf8 strings boundaries.\\n last_avail_out = strm.avail_out;\\n\\n if (strm.next_out) {\\n if (strm.avail_out === 0 || status === Z_STREAM_END) {\\n\\n if (this.options.to === 'string') {\\n\\n let next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\\n\\n let tail = strm.next_out - next_out_utf8;\\n let utf8str = strings.buf2string(strm.output, next_out_utf8);\\n\\n // move tail & realign counters\\n strm.next_out = tail;\\n strm.avail_out = chunkSize - tail;\\n if (tail) strm.output.set(strm.output.subarray(next_out_utf8, next_out_utf8 + tail), 0);\\n\\n this.onData(utf8str);\\n\\n } else {\\n this.onData(strm.output.length === strm.next_out ? strm.output : strm.output.subarray(0, strm.next_out));\\n }\\n }\\n }\\n\\n // Must repeat iteration if out buffer is full\\n if (status === Z_OK && last_avail_out === 0) continue;\\n\\n // Finalize if end of stream reached.\\n if (status === Z_STREAM_END) {\\n status = zlib_inflate.inflateEnd(this.strm);\\n this.onEnd(status);\\n this.ended = true;\\n return true;\\n }\\n\\n if (strm.avail_in === 0) break;\\n }\\n\\n return true;\\n};\\n\\n\\n/**\\n * Inflate#onData(chunk) -> Void\\n * - chunk (Uint8Array|String): output data. When string output requested,\\n * each chunk will be string.\\n *\\n * By default, stores data blocks in `chunks[]` property and glue\\n * those in `onEnd`. Override this handler, if you need another behaviour.\\n **/\\nInflate.prototype.onData = function (chunk) {\\n this.chunks.push(chunk);\\n};\\n\\n\\n/**\\n * Inflate#onEnd(status) -> Void\\n * - status (Number): inflate status. 0 (Z_OK) on success,\\n * other if not.\\n *\\n * Called either after you tell inflate that the input stream is\\n * complete (Z_FINISH). By default - join collected chunks,\\n * free memory and fill `results` / `err` properties.\\n **/\\nInflate.prototype.onEnd = function (status) {\\n // On success - join\\n if (status === Z_OK) {\\n if (this.options.to === 'string') {\\n this.result = this.chunks.join('');\\n } else {\\n this.result = utils.flattenChunks(this.chunks);\\n }\\n }\\n this.chunks = [];\\n this.err = status;\\n this.msg = this.strm.msg;\\n};\\n\\n\\n/**\\n * inflate(data[, options]) -> Uint8Array|String\\n * - data (Uint8Array|ArrayBuffer): input data to decompress.\\n * - options (Object): zlib inflate options.\\n *\\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\\n * format via wrapper header by default. That's why we don't provide\\n * separate `ungzip` method.\\n *\\n * Supported options are:\\n *\\n * - windowBits\\n *\\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\\n * for more information.\\n *\\n * Sugar (options):\\n *\\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\\n * negative windowBits implicitly.\\n * - `to` (String) - if equal to 'string', then result will be converted\\n * from utf8 to utf16 (javascript) string. When string output requested,\\n * chunk length can differ from `chunkSize`, depending on content.\\n *\\n *\\n * ##### Example:\\n *\\n * ```javascript\\n * const pako = require('pako');\\n * const input = pako.deflate(new Uint8Array([1,2,3,4,5,6,7,8,9]));\\n * let output;\\n *\\n * try {\\n * output = pako.inflate(input);\\n * } catch (err) {\\n * console.log(err);\\n * }\\n * ```\\n **/\\nfunction inflate(input, options) {\\n const inflator = new Inflate(options);\\n\\n inflator.push(input);\\n\\n // That will never happens, if you don't cheat with options :)\\n if (inflator.err) throw inflator.msg || msg[inflator.err];\\n\\n return inflator.result;\\n}\\n\\n\\n/**\\n * inflateRaw(data[, options]) -> Uint8Array|String\\n * - data (Uint8Array|ArrayBuffer): input data to decompress.\\n * - options (Object): zlib inflate options.\\n *\\n * The same as [[inflate]], but creates raw data, without wrapper\\n * (header and adler32 crc).\\n **/\\nfunction inflateRaw(input, options) {\\n options = options || {};\\n options.raw = true;\\n return inflate(input, options);\\n}\\n\\n\\n/**\\n * ungzip(data[, options]) -> Uint8Array|String\\n * - data (Uint8Array|ArrayBuffer): input data to decompress.\\n * - options (Object): zlib inflate options.\\n *\\n * Just shortcut to [[inflate]], because it autodetects format\\n * by header.content. Done for convenience.\\n **/\\n\\n\\nmodule.exports.Inflate = Inflate;\\nmodule.exports.inflate = inflate;\\nmodule.exports.inflateRaw = inflateRaw;\\nmodule.exports.ungzip = inflate;\\nmodule.exports.constants = __webpack_require__(/*! ./zlib/constants */ \\\"./node_modules/pako/lib/zlib/constants.js\\\");\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/inflate.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/utils/common.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/pako/lib/utils/common.js ***!\n \\***********************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\n\\n\\nconst _has = (obj, key) => {\\n return Object.prototype.hasOwnProperty.call(obj, key);\\n};\\n\\nmodule.exports.assign = function (obj /*from1, from2, from3, ...*/) {\\n const sources = Array.prototype.slice.call(arguments, 1);\\n while (sources.length) {\\n const source = sources.shift();\\n if (!source) { continue; }\\n\\n if (typeof source !== 'object') {\\n throw new TypeError(source + 'must be non-object');\\n }\\n\\n for (const p in source) {\\n if (_has(source, p)) {\\n obj[p] = source[p];\\n }\\n }\\n }\\n\\n return obj;\\n};\\n\\n\\n// Join array of chunks to single array.\\nmodule.exports.flattenChunks = (chunks) => {\\n // calculate data length\\n let len = 0;\\n\\n for (let i = 0, l = chunks.length; i < l; i++) {\\n len += chunks[i].length;\\n }\\n\\n // join chunks\\n const result = new Uint8Array(len);\\n\\n for (let i = 0, pos = 0, l = chunks.length; i < l; i++) {\\n let chunk = chunks[i];\\n result.set(chunk, pos);\\n pos += chunk.length;\\n }\\n\\n return result;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/utils/common.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/utils/strings.js\":\n/*!************************************************!*\\\n !*** ./node_modules/pako/lib/utils/strings.js ***!\n \\************************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"// String encode/decode helpers\\n\\n\\n\\n// Quick check if we can use fast array to bin string conversion\\n//\\n// - apply(Array) can fail on Android 2.2\\n// - apply(Uint8Array) can fail on iOS 5.1 Safari\\n//\\nlet STR_APPLY_UIA_OK = true;\\n\\ntry { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }\\n\\n\\n// Table with utf8 lengths (calculated by first byte of sequence)\\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\\n// because max possible codepoint is 0x10ffff\\nconst _utf8len = new Uint8Array(256);\\nfor (let q = 0; q < 256; q++) {\\n _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);\\n}\\n_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start\\n\\n\\n// convert string to array (typed, when possible)\\nmodule.exports.string2buf = (str) => {\\n if (typeof TextEncoder === 'function' && TextEncoder.prototype.encode) {\\n return new TextEncoder().encode(str);\\n }\\n\\n let buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\\n\\n // count binary size\\n for (m_pos = 0; m_pos < str_len; m_pos++) {\\n c = str.charCodeAt(m_pos);\\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\\n c2 = str.charCodeAt(m_pos + 1);\\n if ((c2 & 0xfc00) === 0xdc00) {\\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\\n m_pos++;\\n }\\n }\\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\\n }\\n\\n // allocate buffer\\n buf = new Uint8Array(buf_len);\\n\\n // convert\\n for (i = 0, m_pos = 0; i < buf_len; m_pos++) {\\n c = str.charCodeAt(m_pos);\\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\\n c2 = str.charCodeAt(m_pos + 1);\\n if ((c2 & 0xfc00) === 0xdc00) {\\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\\n m_pos++;\\n }\\n }\\n if (c < 0x80) {\\n /* one byte */\\n buf[i++] = c;\\n } else if (c < 0x800) {\\n /* two bytes */\\n buf[i++] = 0xC0 | (c >>> 6);\\n buf[i++] = 0x80 | (c & 0x3f);\\n } else if (c < 0x10000) {\\n /* three bytes */\\n buf[i++] = 0xE0 | (c >>> 12);\\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\\n buf[i++] = 0x80 | (c & 0x3f);\\n } else {\\n /* four bytes */\\n buf[i++] = 0xf0 | (c >>> 18);\\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\\n buf[i++] = 0x80 | (c & 0x3f);\\n }\\n }\\n\\n return buf;\\n};\\n\\n// Helper\\nconst buf2binstring = (buf, len) => {\\n // On Chrome, the arguments in a function call that are allowed is `65534`.\\n // If the length of the buffer is smaller than that, we can use this optimization,\\n // otherwise we will take a slower path.\\n if (len < 65534) {\\n if (buf.subarray && STR_APPLY_UIA_OK) {\\n return String.fromCharCode.apply(null, buf.length === len ? buf : buf.subarray(0, len));\\n }\\n }\\n\\n let result = '';\\n for (let i = 0; i < len; i++) {\\n result += String.fromCharCode(buf[i]);\\n }\\n return result;\\n};\\n\\n\\n// convert array to string\\nmodule.exports.buf2string = (buf, max) => {\\n const len = max || buf.length;\\n\\n if (typeof TextDecoder === 'function' && TextDecoder.prototype.decode) {\\n return new TextDecoder().decode(buf.subarray(0, max));\\n }\\n\\n let i, out;\\n\\n // Reserve max possible length (2 words per char)\\n // NB: by unknown reasons, Array is significantly faster for\\n // String.fromCharCode.apply than Uint16Array.\\n const utf16buf = new Array(len * 2);\\n\\n for (out = 0, i = 0; i < len;) {\\n let c = buf[i++];\\n // quick process ascii\\n if (c < 0x80) { utf16buf[out++] = c; continue; }\\n\\n let c_len = _utf8len[c];\\n // skip 5 & 6 byte codes\\n if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }\\n\\n // apply mask on first byte\\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\\n // join the rest\\n while (c_len > 1 && i < len) {\\n c = (c << 6) | (buf[i++] & 0x3f);\\n c_len--;\\n }\\n\\n // terminated by end of string?\\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\\n\\n if (c < 0x10000) {\\n utf16buf[out++] = c;\\n } else {\\n c -= 0x10000;\\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\\n }\\n }\\n\\n return buf2binstring(utf16buf, out);\\n};\\n\\n\\n// Calculate max possible position in utf8 buffer,\\n// that will not break sequence. If that's not possible\\n// - (very small limits) return max size as is.\\n//\\n// buf[] - utf8 bytes array\\n// max - length limit (mandatory);\\nmodule.exports.utf8border = (buf, max) => {\\n\\n max = max || buf.length;\\n if (max > buf.length) { max = buf.length; }\\n\\n // go back from last position, until start of sequence found\\n let pos = max - 1;\\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\\n\\n // Very small and broken sequence,\\n // return max, because we should return something anyway.\\n if (pos < 0) { return max; }\\n\\n // If we came to start of buffer - that means buffer is too small,\\n // return max too.\\n if (pos === 0) { return max; }\\n\\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/utils/strings.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/zlib/adler32.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/pako/lib/zlib/adler32.js ***!\n \\***********************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\n\\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\\n// It isn't worth it to make additional optimizations as in original.\\n// Small size is preferable.\\n\\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\\n//\\n// This software is provided 'as-is', without any express or implied\\n// warranty. In no event will the authors be held liable for any damages\\n// arising from the use of this software.\\n//\\n// Permission is granted to anyone to use this software for any purpose,\\n// including commercial applications, and to alter it and redistribute it\\n// freely, subject to the following restrictions:\\n//\\n// 1. The origin of this software must not be misrepresented; you must not\\n// claim that you wrote the original software. If you use this software\\n// in a product, an acknowledgment in the product documentation would be\\n// appreciated but is not required.\\n// 2. Altered source versions must be plainly marked as such, and must not be\\n// misrepresented as being the original software.\\n// 3. This notice may not be removed or altered from any source distribution.\\n\\nconst adler32 = (adler, buf, len, pos) => {\\n let s1 = (adler & 0xffff) |0,\\n s2 = ((adler >>> 16) & 0xffff) |0,\\n n = 0;\\n\\n while (len !== 0) {\\n // Set limit ~ twice less than 5552, to keep\\n // s2 in 31-bits, because we force signed ints.\\n // in other case %= will fail.\\n n = len > 2000 ? 2000 : len;\\n len -= n;\\n\\n do {\\n s1 = (s1 + buf[pos++]) |0;\\n s2 = (s2 + s1) |0;\\n } while (--n);\\n\\n s1 %= 65521;\\n s2 %= 65521;\\n }\\n\\n return (s1 | (s2 << 16)) |0;\\n};\\n\\n\\nmodule.exports = adler32;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/zlib/adler32.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/zlib/constants.js\":\n/*!*************************************************!*\\\n !*** ./node_modules/pako/lib/zlib/constants.js ***!\n \\*************************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\n\\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\\n//\\n// This software is provided 'as-is', without any express or implied\\n// warranty. In no event will the authors be held liable for any damages\\n// arising from the use of this software.\\n//\\n// Permission is granted to anyone to use this software for any purpose,\\n// including commercial applications, and to alter it and redistribute it\\n// freely, subject to the following restrictions:\\n//\\n// 1. The origin of this software must not be misrepresented; you must not\\n// claim that you wrote the original software. If you use this software\\n// in a product, an acknowledgment in the product documentation would be\\n// appreciated but is not required.\\n// 2. Altered source versions must be plainly marked as such, and must not be\\n// misrepresented as being the original software.\\n// 3. This notice may not be removed or altered from any source distribution.\\n\\nmodule.exports = {\\n\\n /* Allowed flush values; see deflate() and inflate() below for details */\\n Z_NO_FLUSH: 0,\\n Z_PARTIAL_FLUSH: 1,\\n Z_SYNC_FLUSH: 2,\\n Z_FULL_FLUSH: 3,\\n Z_FINISH: 4,\\n Z_BLOCK: 5,\\n Z_TREES: 6,\\n\\n /* Return codes for the compression/decompression functions. Negative values\\n * are errors, positive values are used for special but normal events.\\n */\\n Z_OK: 0,\\n Z_STREAM_END: 1,\\n Z_NEED_DICT: 2,\\n Z_ERRNO: -1,\\n Z_STREAM_ERROR: -2,\\n Z_DATA_ERROR: -3,\\n Z_MEM_ERROR: -4,\\n Z_BUF_ERROR: -5,\\n //Z_VERSION_ERROR: -6,\\n\\n /* compression levels */\\n Z_NO_COMPRESSION: 0,\\n Z_BEST_SPEED: 1,\\n Z_BEST_COMPRESSION: 9,\\n Z_DEFAULT_COMPRESSION: -1,\\n\\n\\n Z_FILTERED: 1,\\n Z_HUFFMAN_ONLY: 2,\\n Z_RLE: 3,\\n Z_FIXED: 4,\\n Z_DEFAULT_STRATEGY: 0,\\n\\n /* Possible values of the data_type field (though see inflate()) */\\n Z_BINARY: 0,\\n Z_TEXT: 1,\\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\\n Z_UNKNOWN: 2,\\n\\n /* The deflate compression method */\\n Z_DEFLATED: 8\\n //Z_NULL: null // Use -1 or null inline, depending on var type\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/zlib/constants.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/zlib/crc32.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/pako/lib/zlib/crc32.js ***!\n \\*********************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\n\\n// Note: we can't get significant speed boost here.\\n// So write code to minimize size - no pregenerated tables\\n// and array tools dependencies.\\n\\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\\n//\\n// This software is provided 'as-is', without any express or implied\\n// warranty. In no event will the authors be held liable for any damages\\n// arising from the use of this software.\\n//\\n// Permission is granted to anyone to use this software for any purpose,\\n// including commercial applications, and to alter it and redistribute it\\n// freely, subject to the following restrictions:\\n//\\n// 1. The origin of this software must not be misrepresented; you must not\\n// claim that you wrote the original software. If you use this software\\n// in a product, an acknowledgment in the product documentation would be\\n// appreciated but is not required.\\n// 2. Altered source versions must be plainly marked as such, and must not be\\n// misrepresented as being the original software.\\n// 3. This notice may not be removed or altered from any source distribution.\\n\\n// Use ordinary array, since untyped makes no boost here\\nconst makeTable = () => {\\n let c, table = [];\\n\\n for (var n = 0; n < 256; n++) {\\n c = n;\\n for (var k = 0; k < 8; k++) {\\n c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\\n }\\n table[n] = c;\\n }\\n\\n return table;\\n};\\n\\n// Create table on load. Just 255 signed longs. Not a problem.\\nconst crcTable = new Uint32Array(makeTable());\\n\\n\\nconst crc32 = (crc, buf, len, pos) => {\\n const t = crcTable;\\n const end = pos + len;\\n\\n crc ^= -1;\\n\\n for (let i = pos; i < end; i++) {\\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\\n }\\n\\n return (crc ^ (-1)); // >>> 0;\\n};\\n\\n\\nmodule.exports = crc32;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/zlib/crc32.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/zlib/deflate.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/pako/lib/zlib/deflate.js ***!\n \\***********************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n\\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\\n//\\n// This software is provided 'as-is', without any express or implied\\n// warranty. In no event will the authors be held liable for any damages\\n// arising from the use of this software.\\n//\\n// Permission is granted to anyone to use this software for any purpose,\\n// including commercial applications, and to alter it and redistribute it\\n// freely, subject to the following restrictions:\\n//\\n// 1. The origin of this software must not be misrepresented; you must not\\n// claim that you wrote the original software. If you use this software\\n// in a product, an acknowledgment in the product documentation would be\\n// appreciated but is not required.\\n// 2. Altered source versions must be plainly marked as such, and must not be\\n// misrepresented as being the original software.\\n// 3. This notice may not be removed or altered from any source distribution.\\n\\nconst { _tr_init, _tr_stored_block, _tr_flush_block, _tr_tally, _tr_align } = __webpack_require__(/*! ./trees */ \\\"./node_modules/pako/lib/zlib/trees.js\\\");\\nconst adler32 = __webpack_require__(/*! ./adler32 */ \\\"./node_modules/pako/lib/zlib/adler32.js\\\");\\nconst crc32 = __webpack_require__(/*! ./crc32 */ \\\"./node_modules/pako/lib/zlib/crc32.js\\\");\\nconst msg = __webpack_require__(/*! ./messages */ \\\"./node_modules/pako/lib/zlib/messages.js\\\");\\n\\n/* Public constants ==========================================================*/\\n/* ===========================================================================*/\\n\\nconst {\\n Z_NO_FLUSH, Z_PARTIAL_FLUSH, Z_FULL_FLUSH, Z_FINISH, Z_BLOCK,\\n Z_OK, Z_STREAM_END, Z_STREAM_ERROR, Z_DATA_ERROR, Z_BUF_ERROR,\\n Z_DEFAULT_COMPRESSION,\\n Z_FILTERED, Z_HUFFMAN_ONLY, Z_RLE, Z_FIXED, Z_DEFAULT_STRATEGY,\\n Z_UNKNOWN,\\n Z_DEFLATED\\n} = __webpack_require__(/*! ./constants */ \\\"./node_modules/pako/lib/zlib/constants.js\\\");\\n\\n/*============================================================================*/\\n\\n\\nconst MAX_MEM_LEVEL = 9;\\n/* Maximum value for memLevel in deflateInit2 */\\nconst MAX_WBITS = 15;\\n/* 32K LZ77 window */\\nconst DEF_MEM_LEVEL = 8;\\n\\n\\nconst LENGTH_CODES = 29;\\n/* number of length codes, not counting the special END_BLOCK code */\\nconst LITERALS = 256;\\n/* number of literal bytes 0..255 */\\nconst L_CODES = LITERALS + 1 + LENGTH_CODES;\\n/* number of Literal or Length codes, including the END_BLOCK code */\\nconst D_CODES = 30;\\n/* number of distance codes */\\nconst BL_CODES = 19;\\n/* number of codes used to transfer the bit lengths */\\nconst HEAP_SIZE = 2 * L_CODES + 1;\\n/* maximum heap size */\\nconst MAX_BITS = 15;\\n/* All codes must not exceed MAX_BITS bits */\\n\\nconst MIN_MATCH = 3;\\nconst MAX_MATCH = 258;\\nconst MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\\n\\nconst PRESET_DICT = 0x20;\\n\\nconst INIT_STATE = 42; /* zlib header -> BUSY_STATE */\\n//#ifdef GZIP\\nconst GZIP_STATE = 57; /* gzip header -> BUSY_STATE | EXTRA_STATE */\\n//#endif\\nconst EXTRA_STATE = 69; /* gzip extra block -> NAME_STATE */\\nconst NAME_STATE = 73; /* gzip file name -> COMMENT_STATE */\\nconst COMMENT_STATE = 91; /* gzip comment -> HCRC_STATE */\\nconst HCRC_STATE = 103; /* gzip header CRC -> BUSY_STATE */\\nconst BUSY_STATE = 113; /* deflate -> FINISH_STATE */\\nconst FINISH_STATE = 666; /* stream complete */\\n\\nconst BS_NEED_MORE = 1; /* block not completed, need more input or more output */\\nconst BS_BLOCK_DONE = 2; /* block flush performed */\\nconst BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\\nconst BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\\n\\nconst OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\\n\\nconst err = (strm, errorCode) => {\\n strm.msg = msg[errorCode];\\n return errorCode;\\n};\\n\\nconst rank = (f) => {\\n return ((f) * 2) - ((f) > 4 ? 9 : 0);\\n};\\n\\nconst zero = (buf) => {\\n let len = buf.length; while (--len >= 0) { buf[len] = 0; }\\n};\\n\\n/* ===========================================================================\\n * Slide the hash table when sliding the window down (could be avoided with 32\\n * bit values at the expense of memory usage). We slide even when level == 0 to\\n * keep the hash table consistent if we switch back to level > 0 later.\\n */\\nconst slide_hash = (s) => {\\n let n, m;\\n let p;\\n let wsize = s.w_size;\\n\\n n = s.hash_size;\\n p = n;\\n do {\\n m = s.head[--p];\\n s.head[p] = (m >= wsize ? m - wsize : 0);\\n } while (--n);\\n n = wsize;\\n//#ifndef FASTEST\\n p = n;\\n do {\\n m = s.prev[--p];\\n s.prev[p] = (m >= wsize ? m - wsize : 0);\\n /* If n is not on any hash chain, prev[n] is garbage but\\n * its value will never be used.\\n */\\n } while (--n);\\n//#endif\\n};\\n\\n/* eslint-disable new-cap */\\nlet HASH_ZLIB = (s, prev, data) => ((prev << s.hash_shift) ^ data) & s.hash_mask;\\n// This hash causes less collisions, https://github.com/nodeca/pako/issues/135\\n// But breaks binary compatibility\\n//let HASH_FAST = (s, prev, data) => ((prev << 8) + (prev >> 8) + (data << 4)) & s.hash_mask;\\nlet HASH = HASH_ZLIB;\\n\\n\\n/* =========================================================================\\n * Flush as much pending output as possible. All deflate() output, except for\\n * some deflate_stored() output, goes through this function so some\\n * applications may wish to modify it to avoid allocating a large\\n * strm->next_out buffer and copying into it. (See also read_buf()).\\n */\\nconst flush_pending = (strm) => {\\n const s = strm.state;\\n\\n //_tr_flush_bits(s);\\n let len = s.pending;\\n if (len > strm.avail_out) {\\n len = strm.avail_out;\\n }\\n if (len === 0) { return; }\\n\\n strm.output.set(s.pending_buf.subarray(s.pending_out, s.pending_out + len), strm.next_out);\\n strm.next_out += len;\\n s.pending_out += len;\\n strm.total_out += len;\\n strm.avail_out -= len;\\n s.pending -= len;\\n if (s.pending === 0) {\\n s.pending_out = 0;\\n }\\n};\\n\\n\\nconst flush_block_only = (s, last) => {\\n _tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\\n s.block_start = s.strstart;\\n flush_pending(s.strm);\\n};\\n\\n\\nconst put_byte = (s, b) => {\\n s.pending_buf[s.pending++] = b;\\n};\\n\\n\\n/* =========================================================================\\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\\n * IN assertion: the stream state is correct and there is enough room in\\n * pending_buf.\\n */\\nconst putShortMSB = (s, b) => {\\n\\n // put_byte(s, (Byte)(b >> 8));\\n// put_byte(s, (Byte)(b & 0xff));\\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\\n s.pending_buf[s.pending++] = b & 0xff;\\n};\\n\\n\\n/* ===========================================================================\\n * Read a new buffer from the current input stream, update the adler32\\n * and total number of bytes read. All deflate() input goes through\\n * this function so some applications may wish to modify it to avoid\\n * allocating a large strm->input buffer and copying from it.\\n * (See also flush_pending()).\\n */\\nconst read_buf = (strm, buf, start, size) => {\\n\\n let len = strm.avail_in;\\n\\n if (len > size) { len = size; }\\n if (len === 0) { return 0; }\\n\\n strm.avail_in -= len;\\n\\n // zmemcpy(buf, strm->next_in, len);\\n buf.set(strm.input.subarray(strm.next_in, strm.next_in + len), start);\\n if (strm.state.wrap === 1) {\\n strm.adler = adler32(strm.adler, buf, len, start);\\n }\\n\\n else if (strm.state.wrap === 2) {\\n strm.adler = crc32(strm.adler, buf, len, start);\\n }\\n\\n strm.next_in += len;\\n strm.total_in += len;\\n\\n return len;\\n};\\n\\n\\n/* ===========================================================================\\n * Set match_start to the longest match starting at the given string and\\n * return its length. Matches shorter or equal to prev_length are discarded,\\n * in which case the result is equal to prev_length and match_start is\\n * garbage.\\n * IN assertions: cur_match is the head of the hash chain for the current\\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\\n * OUT assertion: the match length is not greater than s->lookahead.\\n */\\nconst longest_match = (s, cur_match) => {\\n\\n let chain_length = s.max_chain_length; /* max hash chain length */\\n let scan = s.strstart; /* current string */\\n let match; /* matched string */\\n let len; /* length of current match */\\n let best_len = s.prev_length; /* best match length so far */\\n let nice_match = s.nice_match; /* stop if match long enough */\\n const limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\\n\\n const _win = s.window; // shortcut\\n\\n const wmask = s.w_mask;\\n const prev = s.prev;\\n\\n /* Stop when cur_match becomes <= limit. To simplify the code,\\n * we prevent matches with the string of window index 0.\\n */\\n\\n const strend = s.strstart + MAX_MATCH;\\n let scan_end1 = _win[scan + best_len - 1];\\n let scan_end = _win[scan + best_len];\\n\\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\\n * It is easy to get rid of this optimization if necessary.\\n */\\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \\\"Code too clever\\\");\\n\\n /* Do not waste too much time if we already have a good match: */\\n if (s.prev_length >= s.good_match) {\\n chain_length >>= 2;\\n }\\n /* Do not look for matches beyond the end of the input. This is necessary\\n * to make deflate deterministic.\\n */\\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\\n\\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \\\"need lookahead\\\");\\n\\n do {\\n // Assert(cur_match < s->strstart, \\\"no future\\\");\\n match = cur_match;\\n\\n /* Skip to next match if the match length cannot increase\\n * or if the match length is less than 2. Note that the checks below\\n * for insufficient lookahead only occur occasionally for performance\\n * reasons. Therefore uninitialized memory will be accessed, and\\n * conditional jumps will be made that depend on those values.\\n * However the length of the match is limited to the lookahead, so\\n * the output of deflate is not affected by the uninitialized values.\\n */\\n\\n if (_win[match + best_len] !== scan_end ||\\n _win[match + best_len - 1] !== scan_end1 ||\\n _win[match] !== _win[scan] ||\\n _win[++match] !== _win[scan + 1]) {\\n continue;\\n }\\n\\n /* The check at best_len-1 can be removed because it will be made\\n * again later. (This heuristic is not always a win.)\\n * It is not necessary to compare scan[2] and match[2] since they\\n * are always equal when the other bytes match, given that\\n * the hash keys are equal and that HASH_BITS >= 8.\\n */\\n scan += 2;\\n match++;\\n // Assert(*scan == *match, \\\"match[2]?\\\");\\n\\n /* We check for insufficient lookahead only every 8th comparison;\\n * the 256th check will be made at strstart+258.\\n */\\n do {\\n /*jshint noempty:false*/\\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\\n scan < strend);\\n\\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \\\"wild scan\\\");\\n\\n len = MAX_MATCH - (strend - scan);\\n scan = strend - MAX_MATCH;\\n\\n if (len > best_len) {\\n s.match_start = cur_match;\\n best_len = len;\\n if (len >= nice_match) {\\n break;\\n }\\n scan_end1 = _win[scan + best_len - 1];\\n scan_end = _win[scan + best_len];\\n }\\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\\n\\n if (best_len <= s.lookahead) {\\n return best_len;\\n }\\n return s.lookahead;\\n};\\n\\n\\n/* ===========================================================================\\n * Fill the window when the lookahead becomes insufficient.\\n * Updates strstart and lookahead.\\n *\\n * IN assertion: lookahead < MIN_LOOKAHEAD\\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\\n * At least one byte has been read, or avail_in == 0; reads are\\n * performed for at least two bytes (required for the zip translate_eol\\n * option -- not supported here).\\n */\\nconst fill_window = (s) => {\\n\\n const _w_size = s.w_size;\\n let n, more, str;\\n\\n //Assert(s->lookahead < MIN_LOOKAHEAD, \\\"already enough lookahead\\\");\\n\\n do {\\n more = s.window_size - s.lookahead - s.strstart;\\n\\n // JS ints have 32 bit, block below not needed\\n /* Deal with !@#$% 64K limit: */\\n //if (sizeof(int) <= 2) {\\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\\n // more = wsize;\\n //\\n // } else if (more == (unsigned)(-1)) {\\n // /* Very unlikely, but possible on 16 bit machine if\\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\\n // */\\n // more--;\\n // }\\n //}\\n\\n\\n /* If the window is almost full and there is insufficient lookahead,\\n * move the upper half to the lower one to make room in the upper half.\\n */\\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\\n\\n s.window.set(s.window.subarray(_w_size, _w_size + _w_size - more), 0);\\n s.match_start -= _w_size;\\n s.strstart -= _w_size;\\n /* we now have strstart >= MAX_DIST */\\n s.block_start -= _w_size;\\n if (s.insert > s.strstart) {\\n s.insert = s.strstart;\\n }\\n slide_hash(s);\\n more += _w_size;\\n }\\n if (s.strm.avail_in === 0) {\\n break;\\n }\\n\\n /* If there was no sliding:\\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\\n * more == window_size - lookahead - strstart\\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\\n * => more >= window_size - 2*WSIZE + 2\\n * In the BIG_MEM or MMAP case (not yet supported),\\n * window_size == input_size + MIN_LOOKAHEAD &&\\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\\n * Otherwise, window_size == 2*WSIZE so more >= 2.\\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\\n */\\n //Assert(more >= 2, \\\"more < 2\\\");\\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\\n s.lookahead += n;\\n\\n /* Initialize the hash value now that we have some input: */\\n if (s.lookahead + s.insert >= MIN_MATCH) {\\n str = s.strstart - s.insert;\\n s.ins_h = s.window[str];\\n\\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\\n s.ins_h = HASH(s, s.ins_h, s.window[str + 1]);\\n//#if MIN_MATCH != 3\\n// Call update_hash() MIN_MATCH-3 more times\\n//#endif\\n while (s.insert) {\\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\\n s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);\\n\\n s.prev[str & s.w_mask] = s.head[s.ins_h];\\n s.head[s.ins_h] = str;\\n str++;\\n s.insert--;\\n if (s.lookahead + s.insert < MIN_MATCH) {\\n break;\\n }\\n }\\n }\\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\\n * but this is not important since only literal bytes will be emitted.\\n */\\n\\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\\n\\n /* If the WIN_INIT bytes after the end of the current data have never been\\n * written, then zero those bytes in order to avoid memory check reports of\\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\\n * the longest match routines. Update the high water mark for the next\\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\\n */\\n// if (s.high_water < s.window_size) {\\n// const curr = s.strstart + s.lookahead;\\n// let init = 0;\\n//\\n// if (s.high_water < curr) {\\n// /* Previous high water mark below current data -- zero WIN_INIT\\n// * bytes or up to end of window, whichever is less.\\n// */\\n// init = s.window_size - curr;\\n// if (init > WIN_INIT)\\n// init = WIN_INIT;\\n// zmemzero(s->window + curr, (unsigned)init);\\n// s->high_water = curr + init;\\n// }\\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\\n// /* High water mark at or above current data, but below current data\\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\\n// * to end of window, whichever is less.\\n// */\\n// init = (ulg)curr + WIN_INIT - s->high_water;\\n// if (init > s->window_size - s->high_water)\\n// init = s->window_size - s->high_water;\\n// zmemzero(s->window + s->high_water, (unsigned)init);\\n// s->high_water += init;\\n// }\\n// }\\n//\\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\\n// \\\"not enough room for search\\\");\\n};\\n\\n/* ===========================================================================\\n * Copy without compression as much as possible from the input stream, return\\n * the current block state.\\n *\\n * In case deflateParams() is used to later switch to a non-zero compression\\n * level, s->matches (otherwise unused when storing) keeps track of the number\\n * of hash table slides to perform. If s->matches is 1, then one hash table\\n * slide will be done when switching. If s->matches is 2, the maximum value\\n * allowed here, then the hash table will be cleared, since two or more slides\\n * is the same as a clear.\\n *\\n * deflate_stored() is written to minimize the number of times an input byte is\\n * copied. It is most efficient with large input and output buffers, which\\n * maximizes the opportunites to have a single copy from next_in to next_out.\\n */\\nconst deflate_stored = (s, flush) => {\\n\\n /* Smallest worthy block size when not flushing or finishing. By default\\n * this is 32K. This can be as small as 507 bytes for memLevel == 1. For\\n * large input and output buffers, the stored block size will be larger.\\n */\\n let min_block = s.pending_buf_size - 5 > s.w_size ? s.w_size : s.pending_buf_size - 5;\\n\\n /* Copy as many min_block or larger stored blocks directly to next_out as\\n * possible. If flushing, copy the remaining available input to next_out as\\n * stored blocks, if there is enough space.\\n */\\n let len, left, have, last = 0;\\n let used = s.strm.avail_in;\\n do {\\n /* Set len to the maximum size block that we can copy directly with the\\n * available input data and output space. Set left to how much of that\\n * would be copied from what's left in the window.\\n */\\n len = 65535/* MAX_STORED */; /* maximum deflate stored block length */\\n have = (s.bi_valid + 42) >> 3; /* number of header bytes */\\n if (s.strm.avail_out < have) { /* need room for header */\\n break;\\n }\\n /* maximum stored block length that will fit in avail_out: */\\n have = s.strm.avail_out - have;\\n left = s.strstart - s.block_start; /* bytes left in window */\\n if (len > left + s.strm.avail_in) {\\n len = left + s.strm.avail_in; /* limit len to the input */\\n }\\n if (len > have) {\\n len = have; /* limit len to the output */\\n }\\n\\n /* If the stored block would be less than min_block in length, or if\\n * unable to copy all of the available input when flushing, then try\\n * copying to the window and the pending buffer instead. Also don't\\n * write an empty block when flushing -- deflate() does that.\\n */\\n if (len < min_block && ((len === 0 && flush !== Z_FINISH) ||\\n flush === Z_NO_FLUSH ||\\n len !== left + s.strm.avail_in)) {\\n break;\\n }\\n\\n /* Make a dummy stored block in pending to get the header bytes,\\n * including any pending bits. This also updates the debugging counts.\\n */\\n last = flush === Z_FINISH && len === left + s.strm.avail_in ? 1 : 0;\\n _tr_stored_block(s, 0, 0, last);\\n\\n /* Replace the lengths in the dummy stored block with len. */\\n s.pending_buf[s.pending - 4] = len;\\n s.pending_buf[s.pending - 3] = len >> 8;\\n s.pending_buf[s.pending - 2] = ~len;\\n s.pending_buf[s.pending - 1] = ~len >> 8;\\n\\n /* Write the stored block header bytes. */\\n flush_pending(s.strm);\\n\\n//#ifdef ZLIB_DEBUG\\n// /* Update debugging counts for the data about to be copied. */\\n// s->compressed_len += len << 3;\\n// s->bits_sent += len << 3;\\n//#endif\\n\\n /* Copy uncompressed bytes from the window to next_out. */\\n if (left) {\\n if (left > len) {\\n left = len;\\n }\\n //zmemcpy(s->strm->next_out, s->window + s->block_start, left);\\n s.strm.output.set(s.window.subarray(s.block_start, s.block_start + left), s.strm.next_out);\\n s.strm.next_out += left;\\n s.strm.avail_out -= left;\\n s.strm.total_out += left;\\n s.block_start += left;\\n len -= left;\\n }\\n\\n /* Copy uncompressed bytes directly from next_in to next_out, updating\\n * the check value.\\n */\\n if (len) {\\n read_buf(s.strm, s.strm.output, s.strm.next_out, len);\\n s.strm.next_out += len;\\n s.strm.avail_out -= len;\\n s.strm.total_out += len;\\n }\\n } while (last === 0);\\n\\n /* Update the sliding window with the last s->w_size bytes of the copied\\n * data, or append all of the copied data to the existing window if less\\n * than s->w_size bytes were copied. Also update the number of bytes to\\n * insert in the hash tables, in the event that deflateParams() switches to\\n * a non-zero compression level.\\n */\\n used -= s.strm.avail_in; /* number of input bytes directly copied */\\n if (used) {\\n /* If any input was used, then no unused input remains in the window,\\n * therefore s->block_start == s->strstart.\\n */\\n if (used >= s.w_size) { /* supplant the previous history */\\n s.matches = 2; /* clear hash */\\n //zmemcpy(s->window, s->strm->next_in - s->w_size, s->w_size);\\n s.window.set(s.strm.input.subarray(s.strm.next_in - s.w_size, s.strm.next_in), 0);\\n s.strstart = s.w_size;\\n s.insert = s.strstart;\\n }\\n else {\\n if (s.window_size - s.strstart <= used) {\\n /* Slide the window down. */\\n s.strstart -= s.w_size;\\n //zmemcpy(s->window, s->window + s->w_size, s->strstart);\\n s.window.set(s.window.subarray(s.w_size, s.w_size + s.strstart), 0);\\n if (s.matches < 2) {\\n s.matches++; /* add a pending slide_hash() */\\n }\\n if (s.insert > s.strstart) {\\n s.insert = s.strstart;\\n }\\n }\\n //zmemcpy(s->window + s->strstart, s->strm->next_in - used, used);\\n s.window.set(s.strm.input.subarray(s.strm.next_in - used, s.strm.next_in), s.strstart);\\n s.strstart += used;\\n s.insert += used > s.w_size - s.insert ? s.w_size - s.insert : used;\\n }\\n s.block_start = s.strstart;\\n }\\n if (s.high_water < s.strstart) {\\n s.high_water = s.strstart;\\n }\\n\\n /* If the last block was written to next_out, then done. */\\n if (last) {\\n return BS_FINISH_DONE;\\n }\\n\\n /* If flushing and all input has been consumed, then done. */\\n if (flush !== Z_NO_FLUSH && flush !== Z_FINISH &&\\n s.strm.avail_in === 0 && s.strstart === s.block_start) {\\n return BS_BLOCK_DONE;\\n }\\n\\n /* Fill the window with any remaining input. */\\n have = s.window_size - s.strstart;\\n if (s.strm.avail_in > have && s.block_start >= s.w_size) {\\n /* Slide the window down. */\\n s.block_start -= s.w_size;\\n s.strstart -= s.w_size;\\n //zmemcpy(s->window, s->window + s->w_size, s->strstart);\\n s.window.set(s.window.subarray(s.w_size, s.w_size + s.strstart), 0);\\n if (s.matches < 2) {\\n s.matches++; /* add a pending slide_hash() */\\n }\\n have += s.w_size; /* more space now */\\n if (s.insert > s.strstart) {\\n s.insert = s.strstart;\\n }\\n }\\n if (have > s.strm.avail_in) {\\n have = s.strm.avail_in;\\n }\\n if (have) {\\n read_buf(s.strm, s.window, s.strstart, have);\\n s.strstart += have;\\n s.insert += have > s.w_size - s.insert ? s.w_size - s.insert : have;\\n }\\n if (s.high_water < s.strstart) {\\n s.high_water = s.strstart;\\n }\\n\\n /* There was not enough avail_out to write a complete worthy or flushed\\n * stored block to next_out. Write a stored block to pending instead, if we\\n * have enough input for a worthy block, or if flushing and there is enough\\n * room for the remaining input as a stored block in the pending buffer.\\n */\\n have = (s.bi_valid + 42) >> 3; /* number of header bytes */\\n /* maximum stored block length that will fit in pending: */\\n have = s.pending_buf_size - have > 65535/* MAX_STORED */ ? 65535/* MAX_STORED */ : s.pending_buf_size - have;\\n min_block = have > s.w_size ? s.w_size : have;\\n left = s.strstart - s.block_start;\\n if (left >= min_block ||\\n ((left || flush === Z_FINISH) && flush !== Z_NO_FLUSH &&\\n s.strm.avail_in === 0 && left <= have)) {\\n len = left > have ? have : left;\\n last = flush === Z_FINISH && s.strm.avail_in === 0 &&\\n len === left ? 1 : 0;\\n _tr_stored_block(s, s.block_start, len, last);\\n s.block_start += len;\\n flush_pending(s.strm);\\n }\\n\\n /* We've done all we can with the available input and output. */\\n return last ? BS_FINISH_STARTED : BS_NEED_MORE;\\n};\\n\\n\\n/* ===========================================================================\\n * Compress as much as possible from the input stream, return the current\\n * block state.\\n * This function does not perform lazy evaluation of matches and inserts\\n * new strings in the dictionary only for unmatched strings or for short\\n * matches. It is used only for the fast compression options.\\n */\\nconst deflate_fast = (s, flush) => {\\n\\n let hash_head; /* head of the hash chain */\\n let bflush; /* set if current block must be flushed */\\n\\n for (;;) {\\n /* Make sure that we always have enough lookahead, except\\n * at the end of the input file. We need MAX_MATCH bytes\\n * for the next match, plus MIN_MATCH bytes to insert the\\n * string following the next match.\\n */\\n if (s.lookahead < MIN_LOOKAHEAD) {\\n fill_window(s);\\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\\n return BS_NEED_MORE;\\n }\\n if (s.lookahead === 0) {\\n break; /* flush the current block */\\n }\\n }\\n\\n /* Insert the string window[strstart .. strstart+2] in the\\n * dictionary, and set hash_head to the head of the hash chain:\\n */\\n hash_head = 0/*NIL*/;\\n if (s.lookahead >= MIN_MATCH) {\\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\\n s.head[s.ins_h] = s.strstart;\\n /***/\\n }\\n\\n /* Find the longest match, discarding those <= prev_length.\\n * At this point we have always match_length < MIN_MATCH\\n */\\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\\n /* To simplify the code, we prevent matches with the string\\n * of window index 0 (in particular we have to avoid a match\\n * of the string with itself at the start of the input file).\\n */\\n s.match_length = longest_match(s, hash_head);\\n /* longest_match() sets match_start */\\n }\\n if (s.match_length >= MIN_MATCH) {\\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\\n\\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\\n s.match_length - MIN_MATCH, bflush); ***/\\n bflush = _tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\\n\\n s.lookahead -= s.match_length;\\n\\n /* Insert new strings in the hash table only if the match length\\n * is not too large. This saves time but degrades compression.\\n */\\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\\n s.match_length--; /* string at strstart already in table */\\n do {\\n s.strstart++;\\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\\n s.head[s.ins_h] = s.strstart;\\n /***/\\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\\n * always MIN_MATCH bytes ahead.\\n */\\n } while (--s.match_length !== 0);\\n s.strstart++;\\n } else\\n {\\n s.strstart += s.match_length;\\n s.match_length = 0;\\n s.ins_h = s.window[s.strstart];\\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + 1]);\\n\\n//#if MIN_MATCH != 3\\n// Call UPDATE_HASH() MIN_MATCH-3 more times\\n//#endif\\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\\n * matter since it will be recomputed at next deflate call.\\n */\\n }\\n } else {\\n /* No match, output a literal byte */\\n //Tracevv((stderr,\\\"%c\\\", s.window[s.strstart]));\\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\\n\\n s.lookahead--;\\n s.strstart++;\\n }\\n if (bflush) {\\n /*** FLUSH_BLOCK(s, 0); ***/\\n flush_block_only(s, false);\\n if (s.strm.avail_out === 0) {\\n return BS_NEED_MORE;\\n }\\n /***/\\n }\\n }\\n s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\\n if (flush === Z_FINISH) {\\n /*** FLUSH_BLOCK(s, 1); ***/\\n flush_block_only(s, true);\\n if (s.strm.avail_out === 0) {\\n return BS_FINISH_STARTED;\\n }\\n /***/\\n return BS_FINISH_DONE;\\n }\\n if (s.sym_next) {\\n /*** FLUSH_BLOCK(s, 0); ***/\\n flush_block_only(s, false);\\n if (s.strm.avail_out === 0) {\\n return BS_NEED_MORE;\\n }\\n /***/\\n }\\n return BS_BLOCK_DONE;\\n};\\n\\n/* ===========================================================================\\n * Same as above, but achieves better compression. We use a lazy\\n * evaluation for matches: a match is finally adopted only if there is\\n * no better match at the next window position.\\n */\\nconst deflate_slow = (s, flush) => {\\n\\n let hash_head; /* head of hash chain */\\n let bflush; /* set if current block must be flushed */\\n\\n let max_insert;\\n\\n /* Process the input block. */\\n for (;;) {\\n /* Make sure that we always have enough lookahead, except\\n * at the end of the input file. We need MAX_MATCH bytes\\n * for the next match, plus MIN_MATCH bytes to insert the\\n * string following the next match.\\n */\\n if (s.lookahead < MIN_LOOKAHEAD) {\\n fill_window(s);\\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\\n return BS_NEED_MORE;\\n }\\n if (s.lookahead === 0) { break; } /* flush the current block */\\n }\\n\\n /* Insert the string window[strstart .. strstart+2] in the\\n * dictionary, and set hash_head to the head of the hash chain:\\n */\\n hash_head = 0/*NIL*/;\\n if (s.lookahead >= MIN_MATCH) {\\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\\n s.head[s.ins_h] = s.strstart;\\n /***/\\n }\\n\\n /* Find the longest match, discarding those <= prev_length.\\n */\\n s.prev_length = s.match_length;\\n s.prev_match = s.match_start;\\n s.match_length = MIN_MATCH - 1;\\n\\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\\n s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\\n /* To simplify the code, we prevent matches with the string\\n * of window index 0 (in particular we have to avoid a match\\n * of the string with itself at the start of the input file).\\n */\\n s.match_length = longest_match(s, hash_head);\\n /* longest_match() sets match_start */\\n\\n if (s.match_length <= 5 &&\\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\\n\\n /* If prev_match is also MIN_MATCH, match_start is garbage\\n * but we will ignore the current match anyway.\\n */\\n s.match_length = MIN_MATCH - 1;\\n }\\n }\\n /* If there was a match at the previous step and the current\\n * match is not better, output the previous match:\\n */\\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\\n /* Do not insert strings in hash table beyond this. */\\n\\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\\n\\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\\n s.prev_length - MIN_MATCH, bflush);***/\\n bflush = _tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\\n /* Insert in hash table all strings up to the end of the match.\\n * strstart-1 and strstart are already inserted. If there is not\\n * enough lookahead, the last two strings are not inserted in\\n * the hash table.\\n */\\n s.lookahead -= s.prev_length - 1;\\n s.prev_length -= 2;\\n do {\\n if (++s.strstart <= max_insert) {\\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\\n s.head[s.ins_h] = s.strstart;\\n /***/\\n }\\n } while (--s.prev_length !== 0);\\n s.match_available = 0;\\n s.match_length = MIN_MATCH - 1;\\n s.strstart++;\\n\\n if (bflush) {\\n /*** FLUSH_BLOCK(s, 0); ***/\\n flush_block_only(s, false);\\n if (s.strm.avail_out === 0) {\\n return BS_NEED_MORE;\\n }\\n /***/\\n }\\n\\n } else if (s.match_available) {\\n /* If there was no match at the previous position, output a\\n * single literal. If there was a match but the current match\\n * is longer, truncate the previous match to a single literal.\\n */\\n //Tracevv((stderr,\\\"%c\\\", s->window[s->strstart-1]));\\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\\n bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);\\n\\n if (bflush) {\\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\\n flush_block_only(s, false);\\n /***/\\n }\\n s.strstart++;\\n s.lookahead--;\\n if (s.strm.avail_out === 0) {\\n return BS_NEED_MORE;\\n }\\n } else {\\n /* There is no previous match to compare with, wait for\\n * the next step to decide.\\n */\\n s.match_available = 1;\\n s.strstart++;\\n s.lookahead--;\\n }\\n }\\n //Assert (flush != Z_NO_FLUSH, \\\"no flush?\\\");\\n if (s.match_available) {\\n //Tracevv((stderr,\\\"%c\\\", s->window[s->strstart-1]));\\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\\n bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);\\n\\n s.match_available = 0;\\n }\\n s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\\n if (flush === Z_FINISH) {\\n /*** FLUSH_BLOCK(s, 1); ***/\\n flush_block_only(s, true);\\n if (s.strm.avail_out === 0) {\\n return BS_FINISH_STARTED;\\n }\\n /***/\\n return BS_FINISH_DONE;\\n }\\n if (s.sym_next) {\\n /*** FLUSH_BLOCK(s, 0); ***/\\n flush_block_only(s, false);\\n if (s.strm.avail_out === 0) {\\n return BS_NEED_MORE;\\n }\\n /***/\\n }\\n\\n return BS_BLOCK_DONE;\\n};\\n\\n\\n/* ===========================================================================\\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\\n * one. Do not maintain a hash table. (It will be regenerated if this run of\\n * deflate switches away from Z_RLE.)\\n */\\nconst deflate_rle = (s, flush) => {\\n\\n let bflush; /* set if current block must be flushed */\\n let prev; /* byte at distance one to match */\\n let scan, strend; /* scan goes up to strend for length of run */\\n\\n const _win = s.window;\\n\\n for (;;) {\\n /* Make sure that we always have enough lookahead, except\\n * at the end of the input file. We need MAX_MATCH bytes\\n * for the longest run, plus one for the unrolled loop.\\n */\\n if (s.lookahead <= MAX_MATCH) {\\n fill_window(s);\\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\\n return BS_NEED_MORE;\\n }\\n if (s.lookahead === 0) { break; } /* flush the current block */\\n }\\n\\n /* See how many times the previous byte repeats */\\n s.match_length = 0;\\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\\n scan = s.strstart - 1;\\n prev = _win[scan];\\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\\n strend = s.strstart + MAX_MATCH;\\n do {\\n /*jshint noempty:false*/\\n } while (prev === _win[++scan] && prev === _win[++scan] &&\\n prev === _win[++scan] && prev === _win[++scan] &&\\n prev === _win[++scan] && prev === _win[++scan] &&\\n prev === _win[++scan] && prev === _win[++scan] &&\\n scan < strend);\\n s.match_length = MAX_MATCH - (strend - scan);\\n if (s.match_length > s.lookahead) {\\n s.match_length = s.lookahead;\\n }\\n }\\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \\\"wild scan\\\");\\n }\\n\\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\\n if (s.match_length >= MIN_MATCH) {\\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\\n\\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\\n bflush = _tr_tally(s, 1, s.match_length - MIN_MATCH);\\n\\n s.lookahead -= s.match_length;\\n s.strstart += s.match_length;\\n s.match_length = 0;\\n } else {\\n /* No match, output a literal byte */\\n //Tracevv((stderr,\\\"%c\\\", s->window[s->strstart]));\\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\\n\\n s.lookahead--;\\n s.strstart++;\\n }\\n if (bflush) {\\n /*** FLUSH_BLOCK(s, 0); ***/\\n flush_block_only(s, false);\\n if (s.strm.avail_out === 0) {\\n return BS_NEED_MORE;\\n }\\n /***/\\n }\\n }\\n s.insert = 0;\\n if (flush === Z_FINISH) {\\n /*** FLUSH_BLOCK(s, 1); ***/\\n flush_block_only(s, true);\\n if (s.strm.avail_out === 0) {\\n return BS_FINISH_STARTED;\\n }\\n /***/\\n return BS_FINISH_DONE;\\n }\\n if (s.sym_next) {\\n /*** FLUSH_BLOCK(s, 0); ***/\\n flush_block_only(s, false);\\n if (s.strm.avail_out === 0) {\\n return BS_NEED_MORE;\\n }\\n /***/\\n }\\n return BS_BLOCK_DONE;\\n};\\n\\n/* ===========================================================================\\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\\n * (It will be regenerated if this run of deflate switches away from Huffman.)\\n */\\nconst deflate_huff = (s, flush) => {\\n\\n let bflush; /* set if current block must be flushed */\\n\\n for (;;) {\\n /* Make sure that we have a literal to write. */\\n if (s.lookahead === 0) {\\n fill_window(s);\\n if (s.lookahead === 0) {\\n if (flush === Z_NO_FLUSH) {\\n return BS_NEED_MORE;\\n }\\n break; /* flush the current block */\\n }\\n }\\n\\n /* Output a literal byte */\\n s.match_length = 0;\\n //Tracevv((stderr,\\\"%c\\\", s->window[s->strstart]));\\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\\n s.lookahead--;\\n s.strstart++;\\n if (bflush) {\\n /*** FLUSH_BLOCK(s, 0); ***/\\n flush_block_only(s, false);\\n if (s.strm.avail_out === 0) {\\n return BS_NEED_MORE;\\n }\\n /***/\\n }\\n }\\n s.insert = 0;\\n if (flush === Z_FINISH) {\\n /*** FLUSH_BLOCK(s, 1); ***/\\n flush_block_only(s, true);\\n if (s.strm.avail_out === 0) {\\n return BS_FINISH_STARTED;\\n }\\n /***/\\n return BS_FINISH_DONE;\\n }\\n if (s.sym_next) {\\n /*** FLUSH_BLOCK(s, 0); ***/\\n flush_block_only(s, false);\\n if (s.strm.avail_out === 0) {\\n return BS_NEED_MORE;\\n }\\n /***/\\n }\\n return BS_BLOCK_DONE;\\n};\\n\\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\\n * the desired pack level (0..9). The values given below have been tuned to\\n * exclude worst case performance for pathological files. Better values may be\\n * found for specific files.\\n */\\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\\n\\n this.good_length = good_length;\\n this.max_lazy = max_lazy;\\n this.nice_length = nice_length;\\n this.max_chain = max_chain;\\n this.func = func;\\n}\\n\\nconst configuration_table = [\\n /* good lazy nice chain */\\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\\n\\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\\n];\\n\\n\\n/* ===========================================================================\\n * Initialize the \\\"longest match\\\" routines for a new zlib stream\\n */\\nconst lm_init = (s) => {\\n\\n s.window_size = 2 * s.w_size;\\n\\n /*** CLEAR_HASH(s); ***/\\n zero(s.head); // Fill with NIL (= 0);\\n\\n /* Set the default configuration parameters:\\n */\\n s.max_lazy_match = configuration_table[s.level].max_lazy;\\n s.good_match = configuration_table[s.level].good_length;\\n s.nice_match = configuration_table[s.level].nice_length;\\n s.max_chain_length = configuration_table[s.level].max_chain;\\n\\n s.strstart = 0;\\n s.block_start = 0;\\n s.lookahead = 0;\\n s.insert = 0;\\n s.match_length = s.prev_length = MIN_MATCH - 1;\\n s.match_available = 0;\\n s.ins_h = 0;\\n};\\n\\n\\nfunction DeflateState() {\\n this.strm = null; /* pointer back to this zlib stream */\\n this.status = 0; /* as the name implies */\\n this.pending_buf = null; /* output still pending */\\n this.pending_buf_size = 0; /* size of pending_buf */\\n this.pending_out = 0; /* next pending byte to output to the stream */\\n this.pending = 0; /* nb of bytes in the pending buffer */\\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\\n this.gzhead = null; /* gzip header information to write */\\n this.gzindex = 0; /* where in extra, name, or comment */\\n this.method = Z_DEFLATED; /* can only be DEFLATED */\\n this.last_flush = -1; /* value of flush param for previous deflate call */\\n\\n this.w_size = 0; /* LZ77 window size (32K by default) */\\n this.w_bits = 0; /* log2(w_size) (8..16) */\\n this.w_mask = 0; /* w_size - 1 */\\n\\n this.window = null;\\n /* Sliding window. Input bytes are read into the second half of the window,\\n * and move to the first half later to keep a dictionary of at least wSize\\n * bytes. With this organization, matches are limited to a distance of\\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\\n * performed with a length multiple of the block size.\\n */\\n\\n this.window_size = 0;\\n /* Actual size of window: 2*wSize, except when the user input buffer\\n * is directly used as sliding window.\\n */\\n\\n this.prev = null;\\n /* Link to older string with same hash index. To limit the size of this\\n * array to 64K, this link is maintained only for the last 32K strings.\\n * An index in this array is thus a window index modulo 32K.\\n */\\n\\n this.head = null; /* Heads of the hash chains or NIL. */\\n\\n this.ins_h = 0; /* hash index of string to be inserted */\\n this.hash_size = 0; /* number of elements in hash table */\\n this.hash_bits = 0; /* log2(hash_size) */\\n this.hash_mask = 0; /* hash_size-1 */\\n\\n this.hash_shift = 0;\\n /* Number of bits by which ins_h must be shifted at each input\\n * step. It must be such that after MIN_MATCH steps, the oldest\\n * byte no longer takes part in the hash key, that is:\\n * hash_shift * MIN_MATCH >= hash_bits\\n */\\n\\n this.block_start = 0;\\n /* Window position at the beginning of the current output block. Gets\\n * negative when the window is moved backwards.\\n */\\n\\n this.match_length = 0; /* length of best match */\\n this.prev_match = 0; /* previous match */\\n this.match_available = 0; /* set if previous match exists */\\n this.strstart = 0; /* start of string to insert */\\n this.match_start = 0; /* start of matching string */\\n this.lookahead = 0; /* number of valid bytes ahead in window */\\n\\n this.prev_length = 0;\\n /* Length of the best match at previous step. Matches not greater than this\\n * are discarded. This is used in the lazy match evaluation.\\n */\\n\\n this.max_chain_length = 0;\\n /* To speed up deflation, hash chains are never searched beyond this\\n * length. A higher limit improves compression ratio but degrades the\\n * speed.\\n */\\n\\n this.max_lazy_match = 0;\\n /* Attempt to find a better match only when the current match is strictly\\n * smaller than this value. This mechanism is used only for compression\\n * levels >= 4.\\n */\\n // That's alias to max_lazy_match, don't use directly\\n //this.max_insert_length = 0;\\n /* Insert new strings in the hash table only if the match length is not\\n * greater than this length. This saves time but degrades compression.\\n * max_insert_length is used only for compression levels <= 3.\\n */\\n\\n this.level = 0; /* compression level (1..9) */\\n this.strategy = 0; /* favor or force Huffman coding*/\\n\\n this.good_match = 0;\\n /* Use a faster search when the previous match is longer than this */\\n\\n this.nice_match = 0; /* Stop searching when current match exceeds this */\\n\\n /* used by trees.c: */\\n\\n /* Didn't use ct_data typedef below to suppress compiler warning */\\n\\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\\n\\n // Use flat array of DOUBLE size, with interleaved fata,\\n // because JS does not support effective\\n this.dyn_ltree = new Uint16Array(HEAP_SIZE * 2);\\n this.dyn_dtree = new Uint16Array((2 * D_CODES + 1) * 2);\\n this.bl_tree = new Uint16Array((2 * BL_CODES + 1) * 2);\\n zero(this.dyn_ltree);\\n zero(this.dyn_dtree);\\n zero(this.bl_tree);\\n\\n this.l_desc = null; /* desc. for literal tree */\\n this.d_desc = null; /* desc. for distance tree */\\n this.bl_desc = null; /* desc. for bit length tree */\\n\\n //ush bl_count[MAX_BITS+1];\\n this.bl_count = new Uint16Array(MAX_BITS + 1);\\n /* number of codes at each bit length for an optimal tree */\\n\\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\\n this.heap = new Uint16Array(2 * L_CODES + 1); /* heap used to build the Huffman trees */\\n zero(this.heap);\\n\\n this.heap_len = 0; /* number of elements in the heap */\\n this.heap_max = 0; /* element of largest frequency */\\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\\n * The same heap array is used to build all trees.\\n */\\n\\n this.depth = new Uint16Array(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\\n zero(this.depth);\\n /* Depth of each subtree used as tie breaker for trees of equal frequency\\n */\\n\\n this.sym_buf = 0; /* buffer for distances and literals/lengths */\\n\\n this.lit_bufsize = 0;\\n /* Size of match buffer for literals/lengths. There are 4 reasons for\\n * limiting lit_bufsize to 64K:\\n * - frequencies can be kept in 16 bit counters\\n * - if compression is not successful for the first block, all input\\n * data is still in the window so we can still emit a stored block even\\n * when input comes from standard input. (This can also be done for\\n * all blocks if lit_bufsize is not greater than 32K.)\\n * - if compression is not successful for a file smaller than 64K, we can\\n * even emit a stored file instead of a stored block (saving 5 bytes).\\n * This is applicable only for zip (not gzip or zlib).\\n * - creating new Huffman trees less frequently may not provide fast\\n * adaptation to changes in the input data statistics. (Take for\\n * example a binary file with poorly compressible code followed by\\n * a highly compressible string table.) Smaller buffer sizes give\\n * fast adaptation but have of course the overhead of transmitting\\n * trees more frequently.\\n * - I can't count above 4\\n */\\n\\n this.sym_next = 0; /* running index in sym_buf */\\n this.sym_end = 0; /* symbol table full when sym_next reaches this */\\n\\n this.opt_len = 0; /* bit length of current block with optimal trees */\\n this.static_len = 0; /* bit length of current block with static trees */\\n this.matches = 0; /* number of string matches in current block */\\n this.insert = 0; /* bytes at end of window left to insert */\\n\\n\\n this.bi_buf = 0;\\n /* Output buffer. bits are inserted starting at the bottom (least\\n * significant bits).\\n */\\n this.bi_valid = 0;\\n /* Number of valid bits in bi_buf. All bits above the last valid bit\\n * are always zero.\\n */\\n\\n // Used for window memory init. We safely ignore it for JS. That makes\\n // sense only for pointers and memory check tools.\\n //this.high_water = 0;\\n /* High water mark offset in window for initialized bytes -- bytes above\\n * this are set to zero in order to avoid memory check warnings when\\n * longest match routines access bytes past the input. This is then\\n * updated to the new high water mark.\\n */\\n}\\n\\n\\n/* =========================================================================\\n * Check for a valid deflate stream state. Return 0 if ok, 1 if not.\\n */\\nconst deflateStateCheck = (strm) => {\\n\\n if (!strm) {\\n return 1;\\n }\\n const s = strm.state;\\n if (!s || s.strm !== strm || (s.status !== INIT_STATE &&\\n//#ifdef GZIP\\n s.status !== GZIP_STATE &&\\n//#endif\\n s.status !== EXTRA_STATE &&\\n s.status !== NAME_STATE &&\\n s.status !== COMMENT_STATE &&\\n s.status !== HCRC_STATE &&\\n s.status !== BUSY_STATE &&\\n s.status !== FINISH_STATE)) {\\n return 1;\\n }\\n return 0;\\n};\\n\\n\\nconst deflateResetKeep = (strm) => {\\n\\n if (deflateStateCheck(strm)) {\\n return err(strm, Z_STREAM_ERROR);\\n }\\n\\n strm.total_in = strm.total_out = 0;\\n strm.data_type = Z_UNKNOWN;\\n\\n const s = strm.state;\\n s.pending = 0;\\n s.pending_out = 0;\\n\\n if (s.wrap < 0) {\\n s.wrap = -s.wrap;\\n /* was made negative by deflate(..., Z_FINISH); */\\n }\\n s.status =\\n//#ifdef GZIP\\n s.wrap === 2 ? GZIP_STATE :\\n//#endif\\n s.wrap ? INIT_STATE : BUSY_STATE;\\n strm.adler = (s.wrap === 2) ?\\n 0 // crc32(0, Z_NULL, 0)\\n :\\n 1; // adler32(0, Z_NULL, 0)\\n s.last_flush = -2;\\n _tr_init(s);\\n return Z_OK;\\n};\\n\\n\\nconst deflateReset = (strm) => {\\n\\n const ret = deflateResetKeep(strm);\\n if (ret === Z_OK) {\\n lm_init(strm.state);\\n }\\n return ret;\\n};\\n\\n\\nconst deflateSetHeader = (strm, head) => {\\n\\n if (deflateStateCheck(strm) || strm.state.wrap !== 2) {\\n return Z_STREAM_ERROR;\\n }\\n strm.state.gzhead = head;\\n return Z_OK;\\n};\\n\\n\\nconst deflateInit2 = (strm, level, method, windowBits, memLevel, strategy) => {\\n\\n if (!strm) { // === Z_NULL\\n return Z_STREAM_ERROR;\\n }\\n let wrap = 1;\\n\\n if (level === Z_DEFAULT_COMPRESSION) {\\n level = 6;\\n }\\n\\n if (windowBits < 0) { /* suppress zlib wrapper */\\n wrap = 0;\\n windowBits = -windowBits;\\n }\\n\\n else if (windowBits > 15) {\\n wrap = 2; /* write gzip wrapper instead */\\n windowBits -= 16;\\n }\\n\\n\\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\\n strategy < 0 || strategy > Z_FIXED || (windowBits === 8 && wrap !== 1)) {\\n return err(strm, Z_STREAM_ERROR);\\n }\\n\\n\\n if (windowBits === 8) {\\n windowBits = 9;\\n }\\n /* until 256-byte window bug fixed */\\n\\n const s = new DeflateState();\\n\\n strm.state = s;\\n s.strm = strm;\\n s.status = INIT_STATE; /* to pass state test in deflateReset() */\\n\\n s.wrap = wrap;\\n s.gzhead = null;\\n s.w_bits = windowBits;\\n s.w_size = 1 << s.w_bits;\\n s.w_mask = s.w_size - 1;\\n\\n s.hash_bits = memLevel + 7;\\n s.hash_size = 1 << s.hash_bits;\\n s.hash_mask = s.hash_size - 1;\\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\\n\\n s.window = new Uint8Array(s.w_size * 2);\\n s.head = new Uint16Array(s.hash_size);\\n s.prev = new Uint16Array(s.w_size);\\n\\n // Don't need mem init magic for JS.\\n //s.high_water = 0; /* nothing written to s->window yet */\\n\\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\\n\\n /* We overlay pending_buf and sym_buf. This works since the average size\\n * for length/distance pairs over any compressed block is assured to be 31\\n * bits or less.\\n *\\n * Analysis: The longest fixed codes are a length code of 8 bits plus 5\\n * extra bits, for lengths 131 to 257. The longest fixed distance codes are\\n * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest\\n * possible fixed-codes length/distance pair is then 31 bits total.\\n *\\n * sym_buf starts one-fourth of the way into pending_buf. So there are\\n * three bytes in sym_buf for every four bytes in pending_buf. Each symbol\\n * in sym_buf is three bytes -- two for the distance and one for the\\n * literal/length. As each symbol is consumed, the pointer to the next\\n * sym_buf value to read moves forward three bytes. From that symbol, up to\\n * 31 bits are written to pending_buf. The closest the written pending_buf\\n * bits gets to the next sym_buf symbol to read is just before the last\\n * code is written. At that time, 31*(n-2) bits have been written, just\\n * after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at\\n * 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1\\n * symbols are written.) The closest the writing gets to what is unread is\\n * then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and\\n * can range from 128 to 32768.\\n *\\n * Therefore, at a minimum, there are 142 bits of space between what is\\n * written and what is read in the overlain buffers, so the symbols cannot\\n * be overwritten by the compressed data. That space is actually 139 bits,\\n * due to the three-bit fixed-code block header.\\n *\\n * That covers the case where either Z_FIXED is specified, forcing fixed\\n * codes, or when the use of fixed codes is chosen, because that choice\\n * results in a smaller compressed block than dynamic codes. That latter\\n * condition then assures that the above analysis also covers all dynamic\\n * blocks. A dynamic-code block will only be chosen to be emitted if it has\\n * fewer bits than a fixed-code block would for the same set of symbols.\\n * Therefore its average symbol length is assured to be less than 31. So\\n * the compressed data for a dynamic block also cannot overwrite the\\n * symbols from which it is being constructed.\\n */\\n\\n s.pending_buf_size = s.lit_bufsize * 4;\\n s.pending_buf = new Uint8Array(s.pending_buf_size);\\n\\n // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\\n //s->sym_buf = s->pending_buf + s->lit_bufsize;\\n s.sym_buf = s.lit_bufsize;\\n\\n //s->sym_end = (s->lit_bufsize - 1) * 3;\\n s.sym_end = (s.lit_bufsize - 1) * 3;\\n /* We avoid equality with lit_bufsize*3 because of wraparound at 64K\\n * on 16 bit machines and because stored blocks are restricted to\\n * 64K-1 bytes.\\n */\\n\\n s.level = level;\\n s.strategy = strategy;\\n s.method = method;\\n\\n return deflateReset(strm);\\n};\\n\\nconst deflateInit = (strm, level) => {\\n\\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\\n};\\n\\n\\n/* ========================================================================= */\\nconst deflate = (strm, flush) => {\\n\\n if (deflateStateCheck(strm) || flush > Z_BLOCK || flush < 0) {\\n return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\\n }\\n\\n const s = strm.state;\\n\\n if (!strm.output ||\\n (strm.avail_in !== 0 && !strm.input) ||\\n (s.status === FINISH_STATE && flush !== Z_FINISH)) {\\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\\n }\\n\\n const old_flush = s.last_flush;\\n s.last_flush = flush;\\n\\n /* Flush as much pending output as possible */\\n if (s.pending !== 0) {\\n flush_pending(strm);\\n if (strm.avail_out === 0) {\\n /* Since avail_out is 0, deflate will be called again with\\n * more output space, but possibly with both pending and\\n * avail_in equal to zero. There won't be anything to do,\\n * but this is not an error situation so make sure we\\n * return OK instead of BUF_ERROR at next call of deflate:\\n */\\n s.last_flush = -1;\\n return Z_OK;\\n }\\n\\n /* Make sure there is something to do and avoid duplicate consecutive\\n * flushes. For repeated and useless calls with Z_FINISH, we keep\\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\\n */\\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\\n flush !== Z_FINISH) {\\n return err(strm, Z_BUF_ERROR);\\n }\\n\\n /* User must not provide more input after the first FINISH: */\\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\\n return err(strm, Z_BUF_ERROR);\\n }\\n\\n /* Write the header */\\n if (s.status === INIT_STATE && s.wrap === 0) {\\n s.status = BUSY_STATE;\\n }\\n if (s.status === INIT_STATE) {\\n /* zlib header */\\n let header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\\n let level_flags = -1;\\n\\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\\n level_flags = 0;\\n } else if (s.level < 6) {\\n level_flags = 1;\\n } else if (s.level === 6) {\\n level_flags = 2;\\n } else {\\n level_flags = 3;\\n }\\n header |= (level_flags << 6);\\n if (s.strstart !== 0) { header |= PRESET_DICT; }\\n header += 31 - (header % 31);\\n\\n putShortMSB(s, header);\\n\\n /* Save the adler32 of the preset dictionary: */\\n if (s.strstart !== 0) {\\n putShortMSB(s, strm.adler >>> 16);\\n putShortMSB(s, strm.adler & 0xffff);\\n }\\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\\n s.status = BUSY_STATE;\\n\\n /* Compression must start with an empty pending buffer */\\n flush_pending(strm);\\n if (s.pending !== 0) {\\n s.last_flush = -1;\\n return Z_OK;\\n }\\n }\\n//#ifdef GZIP\\n if (s.status === GZIP_STATE) {\\n /* gzip header */\\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\\n put_byte(s, 31);\\n put_byte(s, 139);\\n put_byte(s, 8);\\n if (!s.gzhead) { // s->gzhead == Z_NULL\\n put_byte(s, 0);\\n put_byte(s, 0);\\n put_byte(s, 0);\\n put_byte(s, 0);\\n put_byte(s, 0);\\n put_byte(s, s.level === 9 ? 2 :\\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\\n 4 : 0));\\n put_byte(s, OS_CODE);\\n s.status = BUSY_STATE;\\n\\n /* Compression must start with an empty pending buffer */\\n flush_pending(strm);\\n if (s.pending !== 0) {\\n s.last_flush = -1;\\n return Z_OK;\\n }\\n }\\n else {\\n put_byte(s, (s.gzhead.text ? 1 : 0) +\\n (s.gzhead.hcrc ? 2 : 0) +\\n (!s.gzhead.extra ? 0 : 4) +\\n (!s.gzhead.name ? 0 : 8) +\\n (!s.gzhead.comment ? 0 : 16)\\n );\\n put_byte(s, s.gzhead.time & 0xff);\\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\\n put_byte(s, s.level === 9 ? 2 :\\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\\n 4 : 0));\\n put_byte(s, s.gzhead.os & 0xff);\\n if (s.gzhead.extra && s.gzhead.extra.length) {\\n put_byte(s, s.gzhead.extra.length & 0xff);\\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\\n }\\n if (s.gzhead.hcrc) {\\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\\n }\\n s.gzindex = 0;\\n s.status = EXTRA_STATE;\\n }\\n }\\n if (s.status === EXTRA_STATE) {\\n if (s.gzhead.extra/* != Z_NULL*/) {\\n let beg = s.pending; /* start of bytes to update crc */\\n let left = (s.gzhead.extra.length & 0xffff) - s.gzindex;\\n while (s.pending + left > s.pending_buf_size) {\\n let copy = s.pending_buf_size - s.pending;\\n // zmemcpy(s.pending_buf + s.pending,\\n // s.gzhead.extra + s.gzindex, copy);\\n s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex, s.gzindex + copy), s.pending);\\n s.pending = s.pending_buf_size;\\n //--- HCRC_UPDATE(beg) ---//\\n if (s.gzhead.hcrc && s.pending > beg) {\\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\\n }\\n //---//\\n s.gzindex += copy;\\n flush_pending(strm);\\n if (s.pending !== 0) {\\n s.last_flush = -1;\\n return Z_OK;\\n }\\n beg = 0;\\n left -= copy;\\n }\\n // JS specific: s.gzhead.extra may be TypedArray or Array for backward compatibility\\n // TypedArray.slice and TypedArray.from don't exist in IE10-IE11\\n let gzhead_extra = new Uint8Array(s.gzhead.extra);\\n // zmemcpy(s->pending_buf + s->pending,\\n // s->gzhead->extra + s->gzindex, left);\\n s.pending_buf.set(gzhead_extra.subarray(s.gzindex, s.gzindex + left), s.pending);\\n s.pending += left;\\n //--- HCRC_UPDATE(beg) ---//\\n if (s.gzhead.hcrc && s.pending > beg) {\\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\\n }\\n //---//\\n s.gzindex = 0;\\n }\\n s.status = NAME_STATE;\\n }\\n if (s.status === NAME_STATE) {\\n if (s.gzhead.name/* != Z_NULL*/) {\\n let beg = s.pending; /* start of bytes to update crc */\\n let val;\\n do {\\n if (s.pending === s.pending_buf_size) {\\n //--- HCRC_UPDATE(beg) ---//\\n if (s.gzhead.hcrc && s.pending > beg) {\\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\\n }\\n //---//\\n flush_pending(strm);\\n if (s.pending !== 0) {\\n s.last_flush = -1;\\n return Z_OK;\\n }\\n beg = 0;\\n }\\n // JS specific: little magic to add zero terminator to end of string\\n if (s.gzindex < s.gzhead.name.length) {\\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\\n } else {\\n val = 0;\\n }\\n put_byte(s, val);\\n } while (val !== 0);\\n //--- HCRC_UPDATE(beg) ---//\\n if (s.gzhead.hcrc && s.pending > beg) {\\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\\n }\\n //---//\\n s.gzindex = 0;\\n }\\n s.status = COMMENT_STATE;\\n }\\n if (s.status === COMMENT_STATE) {\\n if (s.gzhead.comment/* != Z_NULL*/) {\\n let beg = s.pending; /* start of bytes to update crc */\\n let val;\\n do {\\n if (s.pending === s.pending_buf_size) {\\n //--- HCRC_UPDATE(beg) ---//\\n if (s.gzhead.hcrc && s.pending > beg) {\\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\\n }\\n //---//\\n flush_pending(strm);\\n if (s.pending !== 0) {\\n s.last_flush = -1;\\n return Z_OK;\\n }\\n beg = 0;\\n }\\n // JS specific: little magic to add zero terminator to end of string\\n if (s.gzindex < s.gzhead.comment.length) {\\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\\n } else {\\n val = 0;\\n }\\n put_byte(s, val);\\n } while (val !== 0);\\n //--- HCRC_UPDATE(beg) ---//\\n if (s.gzhead.hcrc && s.pending > beg) {\\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\\n }\\n //---//\\n }\\n s.status = HCRC_STATE;\\n }\\n if (s.status === HCRC_STATE) {\\n if (s.gzhead.hcrc) {\\n if (s.pending + 2 > s.pending_buf_size) {\\n flush_pending(strm);\\n if (s.pending !== 0) {\\n s.last_flush = -1;\\n return Z_OK;\\n }\\n }\\n put_byte(s, strm.adler & 0xff);\\n put_byte(s, (strm.adler >> 8) & 0xff);\\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\\n }\\n s.status = BUSY_STATE;\\n\\n /* Compression must start with an empty pending buffer */\\n flush_pending(strm);\\n if (s.pending !== 0) {\\n s.last_flush = -1;\\n return Z_OK;\\n }\\n }\\n//#endif\\n\\n /* Start a new block or continue the current one.\\n */\\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\\n (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\\n let bstate = s.level === 0 ? deflate_stored(s, flush) :\\n s.strategy === Z_HUFFMAN_ONLY ? deflate_huff(s, flush) :\\n s.strategy === Z_RLE ? deflate_rle(s, flush) :\\n configuration_table[s.level].func(s, flush);\\n\\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\\n s.status = FINISH_STATE;\\n }\\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\\n if (strm.avail_out === 0) {\\n s.last_flush = -1;\\n /* avoid BUF_ERROR next call, see above */\\n }\\n return Z_OK;\\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\\n * of deflate should use the same flush parameter to make sure\\n * that the flush is complete. So we don't have to output an\\n * empty block here, this will be done at next call. This also\\n * ensures that for a very small output buffer, we emit at most\\n * one empty block.\\n */\\n }\\n if (bstate === BS_BLOCK_DONE) {\\n if (flush === Z_PARTIAL_FLUSH) {\\n _tr_align(s);\\n }\\n else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\\n\\n _tr_stored_block(s, 0, 0, false);\\n /* For a full flush, this empty block will be recognized\\n * as a special marker by inflate_sync().\\n */\\n if (flush === Z_FULL_FLUSH) {\\n /*** CLEAR_HASH(s); ***/ /* forget history */\\n zero(s.head); // Fill with NIL (= 0);\\n\\n if (s.lookahead === 0) {\\n s.strstart = 0;\\n s.block_start = 0;\\n s.insert = 0;\\n }\\n }\\n }\\n flush_pending(strm);\\n if (strm.avail_out === 0) {\\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\\n return Z_OK;\\n }\\n }\\n }\\n\\n if (flush !== Z_FINISH) { return Z_OK; }\\n if (s.wrap <= 0) { return Z_STREAM_END; }\\n\\n /* Write the trailer */\\n if (s.wrap === 2) {\\n put_byte(s, strm.adler & 0xff);\\n put_byte(s, (strm.adler >> 8) & 0xff);\\n put_byte(s, (strm.adler >> 16) & 0xff);\\n put_byte(s, (strm.adler >> 24) & 0xff);\\n put_byte(s, strm.total_in & 0xff);\\n put_byte(s, (strm.total_in >> 8) & 0xff);\\n put_byte(s, (strm.total_in >> 16) & 0xff);\\n put_byte(s, (strm.total_in >> 24) & 0xff);\\n }\\n else\\n {\\n putShortMSB(s, strm.adler >>> 16);\\n putShortMSB(s, strm.adler & 0xffff);\\n }\\n\\n flush_pending(strm);\\n /* If avail_out is zero, the application will call deflate again\\n * to flush the rest.\\n */\\n if (s.wrap > 0) { s.wrap = -s.wrap; }\\n /* write the trailer only once! */\\n return s.pending !== 0 ? Z_OK : Z_STREAM_END;\\n};\\n\\n\\nconst deflateEnd = (strm) => {\\n\\n if (deflateStateCheck(strm)) {\\n return Z_STREAM_ERROR;\\n }\\n\\n const status = strm.state.status;\\n\\n strm.state = null;\\n\\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\\n};\\n\\n\\n/* =========================================================================\\n * Initializes the compression dictionary from the given byte\\n * sequence without producing any compressed output.\\n */\\nconst deflateSetDictionary = (strm, dictionary) => {\\n\\n let dictLength = dictionary.length;\\n\\n if (deflateStateCheck(strm)) {\\n return Z_STREAM_ERROR;\\n }\\n\\n const s = strm.state;\\n const wrap = s.wrap;\\n\\n if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\\n return Z_STREAM_ERROR;\\n }\\n\\n /* when using zlib wrappers, compute Adler-32 for provided dictionary */\\n if (wrap === 1) {\\n /* adler32(strm->adler, dictionary, dictLength); */\\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\\n }\\n\\n s.wrap = 0; /* avoid computing Adler-32 in read_buf */\\n\\n /* if dictionary would fill window, just replace the history */\\n if (dictLength >= s.w_size) {\\n if (wrap === 0) { /* already empty otherwise */\\n /*** CLEAR_HASH(s); ***/\\n zero(s.head); // Fill with NIL (= 0);\\n s.strstart = 0;\\n s.block_start = 0;\\n s.insert = 0;\\n }\\n /* use the tail */\\n // dictionary = dictionary.slice(dictLength - s.w_size);\\n let tmpDict = new Uint8Array(s.w_size);\\n tmpDict.set(dictionary.subarray(dictLength - s.w_size, dictLength), 0);\\n dictionary = tmpDict;\\n dictLength = s.w_size;\\n }\\n /* insert dictionary into window and hash */\\n const avail = strm.avail_in;\\n const next = strm.next_in;\\n const input = strm.input;\\n strm.avail_in = dictLength;\\n strm.next_in = 0;\\n strm.input = dictionary;\\n fill_window(s);\\n while (s.lookahead >= MIN_MATCH) {\\n let str = s.strstart;\\n let n = s.lookahead - (MIN_MATCH - 1);\\n do {\\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\\n s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);\\n\\n s.prev[str & s.w_mask] = s.head[s.ins_h];\\n\\n s.head[s.ins_h] = str;\\n str++;\\n } while (--n);\\n s.strstart = str;\\n s.lookahead = MIN_MATCH - 1;\\n fill_window(s);\\n }\\n s.strstart += s.lookahead;\\n s.block_start = s.strstart;\\n s.insert = s.lookahead;\\n s.lookahead = 0;\\n s.match_length = s.prev_length = MIN_MATCH - 1;\\n s.match_available = 0;\\n strm.next_in = next;\\n strm.input = input;\\n strm.avail_in = avail;\\n s.wrap = wrap;\\n return Z_OK;\\n};\\n\\n\\nmodule.exports.deflateInit = deflateInit;\\nmodule.exports.deflateInit2 = deflateInit2;\\nmodule.exports.deflateReset = deflateReset;\\nmodule.exports.deflateResetKeep = deflateResetKeep;\\nmodule.exports.deflateSetHeader = deflateSetHeader;\\nmodule.exports.deflate = deflate;\\nmodule.exports.deflateEnd = deflateEnd;\\nmodule.exports.deflateSetDictionary = deflateSetDictionary;\\nmodule.exports.deflateInfo = 'pako deflate (from Nodeca project)';\\n\\n/* Not implemented\\nmodule.exports.deflateBound = deflateBound;\\nmodule.exports.deflateCopy = deflateCopy;\\nmodule.exports.deflateGetDictionary = deflateGetDictionary;\\nmodule.exports.deflateParams = deflateParams;\\nmodule.exports.deflatePending = deflatePending;\\nmodule.exports.deflatePrime = deflatePrime;\\nmodule.exports.deflateTune = deflateTune;\\n*/\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/zlib/deflate.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/zlib/gzheader.js\":\n/*!************************************************!*\\\n !*** ./node_modules/pako/lib/zlib/gzheader.js ***!\n \\************************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\n\\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\\n//\\n// This software is provided 'as-is', without any express or implied\\n// warranty. In no event will the authors be held liable for any damages\\n// arising from the use of this software.\\n//\\n// Permission is granted to anyone to use this software for any purpose,\\n// including commercial applications, and to alter it and redistribute it\\n// freely, subject to the following restrictions:\\n//\\n// 1. The origin of this software must not be misrepresented; you must not\\n// claim that you wrote the original software. If you use this software\\n// in a product, an acknowledgment in the product documentation would be\\n// appreciated but is not required.\\n// 2. Altered source versions must be plainly marked as such, and must not be\\n// misrepresented as being the original software.\\n// 3. This notice may not be removed or altered from any source distribution.\\n\\nfunction GZheader() {\\n /* true if compressed data believed to be text */\\n this.text = 0;\\n /* modification time */\\n this.time = 0;\\n /* extra flags (not used when writing a gzip file) */\\n this.xflags = 0;\\n /* operating system */\\n this.os = 0;\\n /* pointer to extra field or Z_NULL if none */\\n this.extra = null;\\n /* extra field length (valid if extra != Z_NULL) */\\n this.extra_len = 0; // Actually, we don't need it in JS,\\n // but leave for few code modifications\\n\\n //\\n // Setup limits is not necessary because in js we should not preallocate memory\\n // for inflate use constant limit in 65536 bytes\\n //\\n\\n /* space at extra (only when reading header) */\\n // this.extra_max = 0;\\n /* pointer to zero-terminated file name or Z_NULL */\\n this.name = '';\\n /* space at name (only when reading header) */\\n // this.name_max = 0;\\n /* pointer to zero-terminated comment or Z_NULL */\\n this.comment = '';\\n /* space at comment (only when reading header) */\\n // this.comm_max = 0;\\n /* true if there was or will be a header crc */\\n this.hcrc = 0;\\n /* true when done reading gzip header (not used when writing a gzip file) */\\n this.done = false;\\n}\\n\\nmodule.exports = GZheader;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/zlib/gzheader.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/zlib/inffast.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/pako/lib/zlib/inffast.js ***!\n \\***********************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\n\\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\\n//\\n// This software is provided 'as-is', without any express or implied\\n// warranty. In no event will the authors be held liable for any damages\\n// arising from the use of this software.\\n//\\n// Permission is granted to anyone to use this software for any purpose,\\n// including commercial applications, and to alter it and redistribute it\\n// freely, subject to the following restrictions:\\n//\\n// 1. The origin of this software must not be misrepresented; you must not\\n// claim that you wrote the original software. If you use this software\\n// in a product, an acknowledgment in the product documentation would be\\n// appreciated but is not required.\\n// 2. Altered source versions must be plainly marked as such, and must not be\\n// misrepresented as being the original software.\\n// 3. This notice may not be removed or altered from any source distribution.\\n\\n// See state defs from inflate.js\\nconst BAD = 16209; /* got a data error -- remain here until reset */\\nconst TYPE = 16191; /* i: waiting for type bits, including last-flag bit */\\n\\n/*\\n Decode literal, length, and distance codes and write out the resulting\\n literal and match bytes until either not enough input or output is\\n available, an end-of-block is encountered, or a data error is encountered.\\n When large enough input and output buffers are supplied to inflate(), for\\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\\n inflate execution time is spent in this routine.\\n\\n Entry assumptions:\\n\\n state.mode === LEN\\n strm.avail_in >= 6\\n strm.avail_out >= 258\\n start >= strm.avail_out\\n state.bits < 8\\n\\n On return, state.mode is one of:\\n\\n LEN -- ran out of enough output space or enough available input\\n TYPE -- reached end of block code, inflate() to interpret next block\\n BAD -- error in block data\\n\\n Notes:\\n\\n - The maximum input bits used by a length/distance pair is 15 bits for the\\n length code, 5 bits for the length extra, 15 bits for the distance code,\\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\\n checking for available input while decoding.\\n\\n - The maximum bytes that a single length/distance pair can output is 258\\n bytes, which is the maximum length that can be coded. inflate_fast()\\n requires strm.avail_out >= 258 for each loop to avoid checking for\\n output space.\\n */\\nmodule.exports = function inflate_fast(strm, start) {\\n let _in; /* local strm.input */\\n let last; /* have enough input while in < last */\\n let _out; /* local strm.output */\\n let beg; /* inflate()'s initial strm.output */\\n let end; /* while out < end, enough space available */\\n//#ifdef INFLATE_STRICT\\n let dmax; /* maximum distance from zlib header */\\n//#endif\\n let wsize; /* window size or zero if not using window */\\n let whave; /* valid bytes in the window */\\n let wnext; /* window write index */\\n // Use `s_window` instead `window`, avoid conflict with instrumentation tools\\n let s_window; /* allocated sliding window, if wsize != 0 */\\n let hold; /* local strm.hold */\\n let bits; /* local strm.bits */\\n let lcode; /* local strm.lencode */\\n let dcode; /* local strm.distcode */\\n let lmask; /* mask for first level of length codes */\\n let dmask; /* mask for first level of distance codes */\\n let here; /* retrieved table entry */\\n let op; /* code bits, operation, extra bits, or */\\n /* window position, window bytes to copy */\\n let len; /* match length, unused bytes */\\n let dist; /* match distance */\\n let from; /* where to copy match from */\\n let from_source;\\n\\n\\n let input, output; // JS specific, because we have no pointers\\n\\n /* copy state to local variables */\\n const state = strm.state;\\n //here = state.here;\\n _in = strm.next_in;\\n input = strm.input;\\n last = _in + (strm.avail_in - 5);\\n _out = strm.next_out;\\n output = strm.output;\\n beg = _out - (start - strm.avail_out);\\n end = _out + (strm.avail_out - 257);\\n//#ifdef INFLATE_STRICT\\n dmax = state.dmax;\\n//#endif\\n wsize = state.wsize;\\n whave = state.whave;\\n wnext = state.wnext;\\n s_window = state.window;\\n hold = state.hold;\\n bits = state.bits;\\n lcode = state.lencode;\\n dcode = state.distcode;\\n lmask = (1 << state.lenbits) - 1;\\n dmask = (1 << state.distbits) - 1;\\n\\n\\n /* decode literals and length/distances until end-of-block or not enough\\n input data or output space */\\n\\n top:\\n do {\\n if (bits < 15) {\\n hold += input[_in++] << bits;\\n bits += 8;\\n hold += input[_in++] << bits;\\n bits += 8;\\n }\\n\\n here = lcode[hold & lmask];\\n\\n dolen:\\n for (;;) { // Goto emulation\\n op = here >>> 24/*here.bits*/;\\n hold >>>= op;\\n bits -= op;\\n op = (here >>> 16) & 0xff/*here.op*/;\\n if (op === 0) { /* literal */\\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\\n // \\\"inflate: literal '%c'\\\\n\\\" :\\n // \\\"inflate: literal 0x%02x\\\\n\\\", here.val));\\n output[_out++] = here & 0xffff/*here.val*/;\\n }\\n else if (op & 16) { /* length base */\\n len = here & 0xffff/*here.val*/;\\n op &= 15; /* number of extra bits */\\n if (op) {\\n if (bits < op) {\\n hold += input[_in++] << bits;\\n bits += 8;\\n }\\n len += hold & ((1 << op) - 1);\\n hold >>>= op;\\n bits -= op;\\n }\\n //Tracevv((stderr, \\\"inflate: length %u\\\\n\\\", len));\\n if (bits < 15) {\\n hold += input[_in++] << bits;\\n bits += 8;\\n hold += input[_in++] << bits;\\n bits += 8;\\n }\\n here = dcode[hold & dmask];\\n\\n dodist:\\n for (;;) { // goto emulation\\n op = here >>> 24/*here.bits*/;\\n hold >>>= op;\\n bits -= op;\\n op = (here >>> 16) & 0xff/*here.op*/;\\n\\n if (op & 16) { /* distance base */\\n dist = here & 0xffff/*here.val*/;\\n op &= 15; /* number of extra bits */\\n if (bits < op) {\\n hold += input[_in++] << bits;\\n bits += 8;\\n if (bits < op) {\\n hold += input[_in++] << bits;\\n bits += 8;\\n }\\n }\\n dist += hold & ((1 << op) - 1);\\n//#ifdef INFLATE_STRICT\\n if (dist > dmax) {\\n strm.msg = 'invalid distance too far back';\\n state.mode = BAD;\\n break top;\\n }\\n//#endif\\n hold >>>= op;\\n bits -= op;\\n //Tracevv((stderr, \\\"inflate: distance %u\\\\n\\\", dist));\\n op = _out - beg; /* max distance in output */\\n if (dist > op) { /* see if copy from window */\\n op = dist - op; /* distance back in window */\\n if (op > whave) {\\n if (state.sane) {\\n strm.msg = 'invalid distance too far back';\\n state.mode = BAD;\\n break top;\\n }\\n\\n// (!) This block is disabled in zlib defaults,\\n// don't enable it for binary compatibility\\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\\n// if (len <= op - whave) {\\n// do {\\n// output[_out++] = 0;\\n// } while (--len);\\n// continue top;\\n// }\\n// len -= op - whave;\\n// do {\\n// output[_out++] = 0;\\n// } while (--op > whave);\\n// if (op === 0) {\\n// from = _out - dist;\\n// do {\\n// output[_out++] = output[from++];\\n// } while (--len);\\n// continue top;\\n// }\\n//#endif\\n }\\n from = 0; // window index\\n from_source = s_window;\\n if (wnext === 0) { /* very common case */\\n from += wsize - op;\\n if (op < len) { /* some from window */\\n len -= op;\\n do {\\n output[_out++] = s_window[from++];\\n } while (--op);\\n from = _out - dist; /* rest from output */\\n from_source = output;\\n }\\n }\\n else if (wnext < op) { /* wrap around window */\\n from += wsize + wnext - op;\\n op -= wnext;\\n if (op < len) { /* some from end of window */\\n len -= op;\\n do {\\n output[_out++] = s_window[from++];\\n } while (--op);\\n from = 0;\\n if (wnext < len) { /* some from start of window */\\n op = wnext;\\n len -= op;\\n do {\\n output[_out++] = s_window[from++];\\n } while (--op);\\n from = _out - dist; /* rest from output */\\n from_source = output;\\n }\\n }\\n }\\n else { /* contiguous in window */\\n from += wnext - op;\\n if (op < len) { /* some from window */\\n len -= op;\\n do {\\n output[_out++] = s_window[from++];\\n } while (--op);\\n from = _out - dist; /* rest from output */\\n from_source = output;\\n }\\n }\\n while (len > 2) {\\n output[_out++] = from_source[from++];\\n output[_out++] = from_source[from++];\\n output[_out++] = from_source[from++];\\n len -= 3;\\n }\\n if (len) {\\n output[_out++] = from_source[from++];\\n if (len > 1) {\\n output[_out++] = from_source[from++];\\n }\\n }\\n }\\n else {\\n from = _out - dist; /* copy direct from output */\\n do { /* minimum length is three */\\n output[_out++] = output[from++];\\n output[_out++] = output[from++];\\n output[_out++] = output[from++];\\n len -= 3;\\n } while (len > 2);\\n if (len) {\\n output[_out++] = output[from++];\\n if (len > 1) {\\n output[_out++] = output[from++];\\n }\\n }\\n }\\n }\\n else if ((op & 64) === 0) { /* 2nd level distance code */\\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\\n continue dodist;\\n }\\n else {\\n strm.msg = 'invalid distance code';\\n state.mode = BAD;\\n break top;\\n }\\n\\n break; // need to emulate goto via \\\"continue\\\"\\n }\\n }\\n else if ((op & 64) === 0) { /* 2nd level length code */\\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\\n continue dolen;\\n }\\n else if (op & 32) { /* end-of-block */\\n //Tracevv((stderr, \\\"inflate: end of block\\\\n\\\"));\\n state.mode = TYPE;\\n break top;\\n }\\n else {\\n strm.msg = 'invalid literal/length code';\\n state.mode = BAD;\\n break top;\\n }\\n\\n break; // need to emulate goto via \\\"continue\\\"\\n }\\n } while (_in < last && _out < end);\\n\\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\\n len = bits >> 3;\\n _in -= len;\\n bits -= len << 3;\\n hold &= (1 << bits) - 1;\\n\\n /* update state and return */\\n strm.next_in = _in;\\n strm.next_out = _out;\\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\\n state.hold = hold;\\n state.bits = bits;\\n return;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/zlib/inffast.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/zlib/inflate.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/pako/lib/zlib/inflate.js ***!\n \\***********************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n\\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\\n//\\n// This software is provided 'as-is', without any express or implied\\n// warranty. In no event will the authors be held liable for any damages\\n// arising from the use of this software.\\n//\\n// Permission is granted to anyone to use this software for any purpose,\\n// including commercial applications, and to alter it and redistribute it\\n// freely, subject to the following restrictions:\\n//\\n// 1. The origin of this software must not be misrepresented; you must not\\n// claim that you wrote the original software. If you use this software\\n// in a product, an acknowledgment in the product documentation would be\\n// appreciated but is not required.\\n// 2. Altered source versions must be plainly marked as such, and must not be\\n// misrepresented as being the original software.\\n// 3. This notice may not be removed or altered from any source distribution.\\n\\nconst adler32 = __webpack_require__(/*! ./adler32 */ \\\"./node_modules/pako/lib/zlib/adler32.js\\\");\\nconst crc32 = __webpack_require__(/*! ./crc32 */ \\\"./node_modules/pako/lib/zlib/crc32.js\\\");\\nconst inflate_fast = __webpack_require__(/*! ./inffast */ \\\"./node_modules/pako/lib/zlib/inffast.js\\\");\\nconst inflate_table = __webpack_require__(/*! ./inftrees */ \\\"./node_modules/pako/lib/zlib/inftrees.js\\\");\\n\\nconst CODES = 0;\\nconst LENS = 1;\\nconst DISTS = 2;\\n\\n/* Public constants ==========================================================*/\\n/* ===========================================================================*/\\n\\nconst {\\n Z_FINISH, Z_BLOCK, Z_TREES,\\n Z_OK, Z_STREAM_END, Z_NEED_DICT, Z_STREAM_ERROR, Z_DATA_ERROR, Z_MEM_ERROR, Z_BUF_ERROR,\\n Z_DEFLATED\\n} = __webpack_require__(/*! ./constants */ \\\"./node_modules/pako/lib/zlib/constants.js\\\");\\n\\n\\n/* STATES ====================================================================*/\\n/* ===========================================================================*/\\n\\n\\nconst HEAD = 16180; /* i: waiting for magic header */\\nconst FLAGS = 16181; /* i: waiting for method and flags (gzip) */\\nconst TIME = 16182; /* i: waiting for modification time (gzip) */\\nconst OS = 16183; /* i: waiting for extra flags and operating system (gzip) */\\nconst EXLEN = 16184; /* i: waiting for extra length (gzip) */\\nconst EXTRA = 16185; /* i: waiting for extra bytes (gzip) */\\nconst NAME = 16186; /* i: waiting for end of file name (gzip) */\\nconst COMMENT = 16187; /* i: waiting for end of comment (gzip) */\\nconst HCRC = 16188; /* i: waiting for header crc (gzip) */\\nconst DICTID = 16189; /* i: waiting for dictionary check value */\\nconst DICT = 16190; /* waiting for inflateSetDictionary() call */\\nconst TYPE = 16191; /* i: waiting for type bits, including last-flag bit */\\nconst TYPEDO = 16192; /* i: same, but skip check to exit inflate on new block */\\nconst STORED = 16193; /* i: waiting for stored size (length and complement) */\\nconst COPY_ = 16194; /* i/o: same as COPY below, but only first time in */\\nconst COPY = 16195; /* i/o: waiting for input or output to copy stored block */\\nconst TABLE = 16196; /* i: waiting for dynamic block table lengths */\\nconst LENLENS = 16197; /* i: waiting for code length code lengths */\\nconst CODELENS = 16198; /* i: waiting for length/lit and distance code lengths */\\nconst LEN_ = 16199; /* i: same as LEN below, but only first time in */\\nconst LEN = 16200; /* i: waiting for length/lit/eob code */\\nconst LENEXT = 16201; /* i: waiting for length extra bits */\\nconst DIST = 16202; /* i: waiting for distance code */\\nconst DISTEXT = 16203; /* i: waiting for distance extra bits */\\nconst MATCH = 16204; /* o: waiting for output space to copy string */\\nconst LIT = 16205; /* o: waiting for output space to write literal */\\nconst CHECK = 16206; /* i: waiting for 32-bit check value */\\nconst LENGTH = 16207; /* i: waiting for 32-bit length (gzip) */\\nconst DONE = 16208; /* finished check, done -- remain here until reset */\\nconst BAD = 16209; /* got a data error -- remain here until reset */\\nconst MEM = 16210; /* got an inflate() memory error -- remain here until reset */\\nconst SYNC = 16211; /* looking for synchronization bytes to restart inflate() */\\n\\n/* ===========================================================================*/\\n\\n\\n\\nconst ENOUGH_LENS = 852;\\nconst ENOUGH_DISTS = 592;\\n//const ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\\n\\nconst MAX_WBITS = 15;\\n/* 32K LZ77 window */\\nconst DEF_WBITS = MAX_WBITS;\\n\\n\\nconst zswap32 = (q) => {\\n\\n return (((q >>> 24) & 0xff) +\\n ((q >>> 8) & 0xff00) +\\n ((q & 0xff00) << 8) +\\n ((q & 0xff) << 24));\\n};\\n\\n\\nfunction InflateState() {\\n this.strm = null; /* pointer back to this zlib stream */\\n this.mode = 0; /* current inflate mode */\\n this.last = false; /* true if processing last block */\\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip,\\n bit 2 true to validate check value */\\n this.havedict = false; /* true if dictionary provided */\\n this.flags = 0; /* gzip header method and flags (0 if zlib), or\\n -1 if raw or no header yet */\\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\\n this.check = 0; /* protected copy of check value */\\n this.total = 0; /* protected copy of output count */\\n // TODO: may be {}\\n this.head = null; /* where to save gzip header information */\\n\\n /* sliding window */\\n this.wbits = 0; /* log base 2 of requested window size */\\n this.wsize = 0; /* window size or zero if not using window */\\n this.whave = 0; /* valid bytes in the window */\\n this.wnext = 0; /* window write index */\\n this.window = null; /* allocated sliding window, if needed */\\n\\n /* bit accumulator */\\n this.hold = 0; /* input bit accumulator */\\n this.bits = 0; /* number of bits in \\\"in\\\" */\\n\\n /* for string and stored block copying */\\n this.length = 0; /* literal or length of data to copy */\\n this.offset = 0; /* distance back to copy string from */\\n\\n /* for table and code decoding */\\n this.extra = 0; /* extra bits needed */\\n\\n /* fixed and dynamic code tables */\\n this.lencode = null; /* starting table for length/literal codes */\\n this.distcode = null; /* starting table for distance codes */\\n this.lenbits = 0; /* index bits for lencode */\\n this.distbits = 0; /* index bits for distcode */\\n\\n /* dynamic table building */\\n this.ncode = 0; /* number of code length code lengths */\\n this.nlen = 0; /* number of length code lengths */\\n this.ndist = 0; /* number of distance code lengths */\\n this.have = 0; /* number of code lengths in lens[] */\\n this.next = null; /* next available space in codes[] */\\n\\n this.lens = new Uint16Array(320); /* temporary storage for code lengths */\\n this.work = new Uint16Array(288); /* work area for code table building */\\n\\n /*\\n because we don't have pointers in js, we use lencode and distcode directly\\n as buffers so we don't need codes\\n */\\n //this.codes = new Int32Array(ENOUGH); /* space for code tables */\\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\\n this.sane = 0; /* if false, allow invalid distance too far */\\n this.back = 0; /* bits back of last unprocessed length/lit */\\n this.was = 0; /* initial length of match */\\n}\\n\\n\\nconst inflateStateCheck = (strm) => {\\n\\n if (!strm) {\\n return 1;\\n }\\n const state = strm.state;\\n if (!state || state.strm !== strm ||\\n state.mode < HEAD || state.mode > SYNC) {\\n return 1;\\n }\\n return 0;\\n};\\n\\n\\nconst inflateResetKeep = (strm) => {\\n\\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }\\n const state = strm.state;\\n strm.total_in = strm.total_out = state.total = 0;\\n strm.msg = ''; /*Z_NULL*/\\n if (state.wrap) { /* to support ill-conceived Java test suite */\\n strm.adler = state.wrap & 1;\\n }\\n state.mode = HEAD;\\n state.last = 0;\\n state.havedict = 0;\\n state.flags = -1;\\n state.dmax = 32768;\\n state.head = null/*Z_NULL*/;\\n state.hold = 0;\\n state.bits = 0;\\n //state.lencode = state.distcode = state.next = state.codes;\\n state.lencode = state.lendyn = new Int32Array(ENOUGH_LENS);\\n state.distcode = state.distdyn = new Int32Array(ENOUGH_DISTS);\\n\\n state.sane = 1;\\n state.back = -1;\\n //Tracev((stderr, \\\"inflate: reset\\\\n\\\"));\\n return Z_OK;\\n};\\n\\n\\nconst inflateReset = (strm) => {\\n\\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }\\n const state = strm.state;\\n state.wsize = 0;\\n state.whave = 0;\\n state.wnext = 0;\\n return inflateResetKeep(strm);\\n\\n};\\n\\n\\nconst inflateReset2 = (strm, windowBits) => {\\n let wrap;\\n\\n /* get the state */\\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }\\n const state = strm.state;\\n\\n /* extract wrap request from windowBits parameter */\\n if (windowBits < 0) {\\n wrap = 0;\\n windowBits = -windowBits;\\n }\\n else {\\n wrap = (windowBits >> 4) + 5;\\n if (windowBits < 48) {\\n windowBits &= 15;\\n }\\n }\\n\\n /* set number of window bits, free window if different */\\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\\n return Z_STREAM_ERROR;\\n }\\n if (state.window !== null && state.wbits !== windowBits) {\\n state.window = null;\\n }\\n\\n /* update state and reset the rest of it */\\n state.wrap = wrap;\\n state.wbits = windowBits;\\n return inflateReset(strm);\\n};\\n\\n\\nconst inflateInit2 = (strm, windowBits) => {\\n\\n if (!strm) { return Z_STREAM_ERROR; }\\n //strm.msg = Z_NULL; /* in case we return an error */\\n\\n const state = new InflateState();\\n\\n //if (state === Z_NULL) return Z_MEM_ERROR;\\n //Tracev((stderr, \\\"inflate: allocated\\\\n\\\"));\\n strm.state = state;\\n state.strm = strm;\\n state.window = null/*Z_NULL*/;\\n state.mode = HEAD; /* to pass state test in inflateReset2() */\\n const ret = inflateReset2(strm, windowBits);\\n if (ret !== Z_OK) {\\n strm.state = null/*Z_NULL*/;\\n }\\n return ret;\\n};\\n\\n\\nconst inflateInit = (strm) => {\\n\\n return inflateInit2(strm, DEF_WBITS);\\n};\\n\\n\\n/*\\n Return state with length and distance decoding tables and index sizes set to\\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\\n If BUILDFIXED is defined, then instead this routine builds the tables the\\n first time it's called, and returns those tables the first time and\\n thereafter. This reduces the size of the code by about 2K bytes, in\\n exchange for a little execution time. However, BUILDFIXED should not be\\n used for threaded applications, since the rewriting of the tables and virgin\\n may not be thread-safe.\\n */\\nlet virgin = true;\\n\\nlet lenfix, distfix; // We have no pointers in JS, so keep tables separate\\n\\n\\nconst fixedtables = (state) => {\\n\\n /* build fixed huffman tables if first call (may not be thread safe) */\\n if (virgin) {\\n lenfix = new Int32Array(512);\\n distfix = new Int32Array(32);\\n\\n /* literal/length table */\\n let sym = 0;\\n while (sym < 144) { state.lens[sym++] = 8; }\\n while (sym < 256) { state.lens[sym++] = 9; }\\n while (sym < 280) { state.lens[sym++] = 7; }\\n while (sym < 288) { state.lens[sym++] = 8; }\\n\\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });\\n\\n /* distance table */\\n sym = 0;\\n while (sym < 32) { state.lens[sym++] = 5; }\\n\\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });\\n\\n /* do this just once */\\n virgin = false;\\n }\\n\\n state.lencode = lenfix;\\n state.lenbits = 9;\\n state.distcode = distfix;\\n state.distbits = 5;\\n};\\n\\n\\n/*\\n Update the window with the last wsize (normally 32K) bytes written before\\n returning. If window does not exist yet, create it. This is only called\\n when a window is already in use, or when output has been written during this\\n inflate call, but the end of the deflate stream has not been reached yet.\\n It is also called to create a window for dictionary data when a dictionary\\n is loaded.\\n\\n Providing output buffers larger than 32K to inflate() should provide a speed\\n advantage, since only the last 32K of output is copied to the sliding window\\n upon return from inflate(), and since all distances after the first 32K of\\n output will fall in the output data, making match copies simpler and faster.\\n The advantage may be dependent on the size of the processor's data caches.\\n */\\nconst updatewindow = (strm, src, end, copy) => {\\n\\n let dist;\\n const state = strm.state;\\n\\n /* if it hasn't been done already, allocate space for the window */\\n if (state.window === null) {\\n state.wsize = 1 << state.wbits;\\n state.wnext = 0;\\n state.whave = 0;\\n\\n state.window = new Uint8Array(state.wsize);\\n }\\n\\n /* copy state->wsize or less output bytes into the circular window */\\n if (copy >= state.wsize) {\\n state.window.set(src.subarray(end - state.wsize, end), 0);\\n state.wnext = 0;\\n state.whave = state.wsize;\\n }\\n else {\\n dist = state.wsize - state.wnext;\\n if (dist > copy) {\\n dist = copy;\\n }\\n //zmemcpy(state->window + state->wnext, end - copy, dist);\\n state.window.set(src.subarray(end - copy, end - copy + dist), state.wnext);\\n copy -= dist;\\n if (copy) {\\n //zmemcpy(state->window, end - copy, copy);\\n state.window.set(src.subarray(end - copy, end), 0);\\n state.wnext = copy;\\n state.whave = state.wsize;\\n }\\n else {\\n state.wnext += dist;\\n if (state.wnext === state.wsize) { state.wnext = 0; }\\n if (state.whave < state.wsize) { state.whave += dist; }\\n }\\n }\\n return 0;\\n};\\n\\n\\nconst inflate = (strm, flush) => {\\n\\n let state;\\n let input, output; // input/output buffers\\n let next; /* next input INDEX */\\n let put; /* next output INDEX */\\n let have, left; /* available input and output */\\n let hold; /* bit buffer */\\n let bits; /* bits in bit buffer */\\n let _in, _out; /* save starting available input and output */\\n let copy; /* number of stored or match bytes to copy */\\n let from; /* where to copy match bytes from */\\n let from_source;\\n let here = 0; /* current decoding table entry */\\n let here_bits, here_op, here_val; // paked \\\"here\\\" denormalized (JS specific)\\n //let last; /* parent table entry */\\n let last_bits, last_op, last_val; // paked \\\"last\\\" denormalized (JS specific)\\n let len; /* length to copy for repeats, bits to drop */\\n let ret; /* return code */\\n const hbuf = new Uint8Array(4); /* buffer for gzip header crc calculation */\\n let opts;\\n\\n let n; // temporary variable for NEED_BITS\\n\\n const order = /* permutation of code lengths */\\n new Uint8Array([ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]);\\n\\n\\n if (inflateStateCheck(strm) || !strm.output ||\\n (!strm.input && strm.avail_in !== 0)) {\\n return Z_STREAM_ERROR;\\n }\\n\\n state = strm.state;\\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\\n\\n\\n //--- LOAD() ---\\n put = strm.next_out;\\n output = strm.output;\\n left = strm.avail_out;\\n next = strm.next_in;\\n input = strm.input;\\n have = strm.avail_in;\\n hold = state.hold;\\n bits = state.bits;\\n //---\\n\\n _in = have;\\n _out = left;\\n ret = Z_OK;\\n\\n inf_leave: // goto emulation\\n for (;;) {\\n switch (state.mode) {\\n case HEAD:\\n if (state.wrap === 0) {\\n state.mode = TYPEDO;\\n break;\\n }\\n //=== NEEDBITS(16);\\n while (bits < 16) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\\n if (state.wbits === 0) {\\n state.wbits = 15;\\n }\\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\\n //=== CRC2(state.check, hold);\\n hbuf[0] = hold & 0xff;\\n hbuf[1] = (hold >>> 8) & 0xff;\\n state.check = crc32(state.check, hbuf, 2, 0);\\n //===//\\n\\n //=== INITBITS();\\n hold = 0;\\n bits = 0;\\n //===//\\n state.mode = FLAGS;\\n break;\\n }\\n if (state.head) {\\n state.head.done = false;\\n }\\n if (!(state.wrap & 1) || /* check if zlib header allowed */\\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\\n strm.msg = 'incorrect header check';\\n state.mode = BAD;\\n break;\\n }\\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\\n strm.msg = 'unknown compression method';\\n state.mode = BAD;\\n break;\\n }\\n //--- DROPBITS(4) ---//\\n hold >>>= 4;\\n bits -= 4;\\n //---//\\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\\n if (state.wbits === 0) {\\n state.wbits = len;\\n }\\n if (len > 15 || len > state.wbits) {\\n strm.msg = 'invalid window size';\\n state.mode = BAD;\\n break;\\n }\\n\\n // !!! pako patch. Force use `options.windowBits` if passed.\\n // Required to always use max window size by default.\\n state.dmax = 1 << state.wbits;\\n //state.dmax = 1 << len;\\n\\n state.flags = 0; /* indicate zlib header */\\n //Tracev((stderr, \\\"inflate: zlib header ok\\\\n\\\"));\\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\\n state.mode = hold & 0x200 ? DICTID : TYPE;\\n //=== INITBITS();\\n hold = 0;\\n bits = 0;\\n //===//\\n break;\\n case FLAGS:\\n //=== NEEDBITS(16); */\\n while (bits < 16) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n state.flags = hold;\\n if ((state.flags & 0xff) !== Z_DEFLATED) {\\n strm.msg = 'unknown compression method';\\n state.mode = BAD;\\n break;\\n }\\n if (state.flags & 0xe000) {\\n strm.msg = 'unknown header flags set';\\n state.mode = BAD;\\n break;\\n }\\n if (state.head) {\\n state.head.text = ((hold >> 8) & 1);\\n }\\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\\n //=== CRC2(state.check, hold);\\n hbuf[0] = hold & 0xff;\\n hbuf[1] = (hold >>> 8) & 0xff;\\n state.check = crc32(state.check, hbuf, 2, 0);\\n //===//\\n }\\n //=== INITBITS();\\n hold = 0;\\n bits = 0;\\n //===//\\n state.mode = TIME;\\n /* falls through */\\n case TIME:\\n //=== NEEDBITS(32); */\\n while (bits < 32) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n if (state.head) {\\n state.head.time = hold;\\n }\\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\\n //=== CRC4(state.check, hold)\\n hbuf[0] = hold & 0xff;\\n hbuf[1] = (hold >>> 8) & 0xff;\\n hbuf[2] = (hold >>> 16) & 0xff;\\n hbuf[3] = (hold >>> 24) & 0xff;\\n state.check = crc32(state.check, hbuf, 4, 0);\\n //===\\n }\\n //=== INITBITS();\\n hold = 0;\\n bits = 0;\\n //===//\\n state.mode = OS;\\n /* falls through */\\n case OS:\\n //=== NEEDBITS(16); */\\n while (bits < 16) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n if (state.head) {\\n state.head.xflags = (hold & 0xff);\\n state.head.os = (hold >> 8);\\n }\\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\\n //=== CRC2(state.check, hold);\\n hbuf[0] = hold & 0xff;\\n hbuf[1] = (hold >>> 8) & 0xff;\\n state.check = crc32(state.check, hbuf, 2, 0);\\n //===//\\n }\\n //=== INITBITS();\\n hold = 0;\\n bits = 0;\\n //===//\\n state.mode = EXLEN;\\n /* falls through */\\n case EXLEN:\\n if (state.flags & 0x0400) {\\n //=== NEEDBITS(16); */\\n while (bits < 16) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n state.length = hold;\\n if (state.head) {\\n state.head.extra_len = hold;\\n }\\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\\n //=== CRC2(state.check, hold);\\n hbuf[0] = hold & 0xff;\\n hbuf[1] = (hold >>> 8) & 0xff;\\n state.check = crc32(state.check, hbuf, 2, 0);\\n //===//\\n }\\n //=== INITBITS();\\n hold = 0;\\n bits = 0;\\n //===//\\n }\\n else if (state.head) {\\n state.head.extra = null/*Z_NULL*/;\\n }\\n state.mode = EXTRA;\\n /* falls through */\\n case EXTRA:\\n if (state.flags & 0x0400) {\\n copy = state.length;\\n if (copy > have) { copy = have; }\\n if (copy) {\\n if (state.head) {\\n len = state.head.extra_len - state.length;\\n if (!state.head.extra) {\\n // Use untyped array for more convenient processing later\\n state.head.extra = new Uint8Array(state.head.extra_len);\\n }\\n state.head.extra.set(\\n input.subarray(\\n next,\\n // extra field is limited to 65536 bytes\\n // - no need for additional size check\\n next + copy\\n ),\\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\\n len\\n );\\n //zmemcpy(state.head.extra + len, next,\\n // len + copy > state.head.extra_max ?\\n // state.head.extra_max - len : copy);\\n }\\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\\n state.check = crc32(state.check, input, copy, next);\\n }\\n have -= copy;\\n next += copy;\\n state.length -= copy;\\n }\\n if (state.length) { break inf_leave; }\\n }\\n state.length = 0;\\n state.mode = NAME;\\n /* falls through */\\n case NAME:\\n if (state.flags & 0x0800) {\\n if (have === 0) { break inf_leave; }\\n copy = 0;\\n do {\\n // TODO: 2 or 1 bytes?\\n len = input[next + copy++];\\n /* use constant limit because in js we should not preallocate memory */\\n if (state.head && len &&\\n (state.length < 65536 /*state.head.name_max*/)) {\\n state.head.name += String.fromCharCode(len);\\n }\\n } while (len && copy < have);\\n\\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\\n state.check = crc32(state.check, input, copy, next);\\n }\\n have -= copy;\\n next += copy;\\n if (len) { break inf_leave; }\\n }\\n else if (state.head) {\\n state.head.name = null;\\n }\\n state.length = 0;\\n state.mode = COMMENT;\\n /* falls through */\\n case COMMENT:\\n if (state.flags & 0x1000) {\\n if (have === 0) { break inf_leave; }\\n copy = 0;\\n do {\\n len = input[next + copy++];\\n /* use constant limit because in js we should not preallocate memory */\\n if (state.head && len &&\\n (state.length < 65536 /*state.head.comm_max*/)) {\\n state.head.comment += String.fromCharCode(len);\\n }\\n } while (len && copy < have);\\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\\n state.check = crc32(state.check, input, copy, next);\\n }\\n have -= copy;\\n next += copy;\\n if (len) { break inf_leave; }\\n }\\n else if (state.head) {\\n state.head.comment = null;\\n }\\n state.mode = HCRC;\\n /* falls through */\\n case HCRC:\\n if (state.flags & 0x0200) {\\n //=== NEEDBITS(16); */\\n while (bits < 16) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n if ((state.wrap & 4) && hold !== (state.check & 0xffff)) {\\n strm.msg = 'header crc mismatch';\\n state.mode = BAD;\\n break;\\n }\\n //=== INITBITS();\\n hold = 0;\\n bits = 0;\\n //===//\\n }\\n if (state.head) {\\n state.head.hcrc = ((state.flags >> 9) & 1);\\n state.head.done = true;\\n }\\n strm.adler = state.check = 0;\\n state.mode = TYPE;\\n break;\\n case DICTID:\\n //=== NEEDBITS(32); */\\n while (bits < 32) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n strm.adler = state.check = zswap32(hold);\\n //=== INITBITS();\\n hold = 0;\\n bits = 0;\\n //===//\\n state.mode = DICT;\\n /* falls through */\\n case DICT:\\n if (state.havedict === 0) {\\n //--- RESTORE() ---\\n strm.next_out = put;\\n strm.avail_out = left;\\n strm.next_in = next;\\n strm.avail_in = have;\\n state.hold = hold;\\n state.bits = bits;\\n //---\\n return Z_NEED_DICT;\\n }\\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\\n state.mode = TYPE;\\n /* falls through */\\n case TYPE:\\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\\n /* falls through */\\n case TYPEDO:\\n if (state.last) {\\n //--- BYTEBITS() ---//\\n hold >>>= bits & 7;\\n bits -= bits & 7;\\n //---//\\n state.mode = CHECK;\\n break;\\n }\\n //=== NEEDBITS(3); */\\n while (bits < 3) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n state.last = (hold & 0x01)/*BITS(1)*/;\\n //--- DROPBITS(1) ---//\\n hold >>>= 1;\\n bits -= 1;\\n //---//\\n\\n switch ((hold & 0x03)/*BITS(2)*/) {\\n case 0: /* stored block */\\n //Tracev((stderr, \\\"inflate: stored block%s\\\\n\\\",\\n // state.last ? \\\" (last)\\\" : \\\"\\\"));\\n state.mode = STORED;\\n break;\\n case 1: /* fixed block */\\n fixedtables(state);\\n //Tracev((stderr, \\\"inflate: fixed codes block%s\\\\n\\\",\\n // state.last ? \\\" (last)\\\" : \\\"\\\"));\\n state.mode = LEN_; /* decode codes */\\n if (flush === Z_TREES) {\\n //--- DROPBITS(2) ---//\\n hold >>>= 2;\\n bits -= 2;\\n //---//\\n break inf_leave;\\n }\\n break;\\n case 2: /* dynamic block */\\n //Tracev((stderr, \\\"inflate: dynamic codes block%s\\\\n\\\",\\n // state.last ? \\\" (last)\\\" : \\\"\\\"));\\n state.mode = TABLE;\\n break;\\n case 3:\\n strm.msg = 'invalid block type';\\n state.mode = BAD;\\n }\\n //--- DROPBITS(2) ---//\\n hold >>>= 2;\\n bits -= 2;\\n //---//\\n break;\\n case STORED:\\n //--- BYTEBITS() ---// /* go to byte boundary */\\n hold >>>= bits & 7;\\n bits -= bits & 7;\\n //---//\\n //=== NEEDBITS(32); */\\n while (bits < 32) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\\n strm.msg = 'invalid stored block lengths';\\n state.mode = BAD;\\n break;\\n }\\n state.length = hold & 0xffff;\\n //Tracev((stderr, \\\"inflate: stored length %u\\\\n\\\",\\n // state.length));\\n //=== INITBITS();\\n hold = 0;\\n bits = 0;\\n //===//\\n state.mode = COPY_;\\n if (flush === Z_TREES) { break inf_leave; }\\n /* falls through */\\n case COPY_:\\n state.mode = COPY;\\n /* falls through */\\n case COPY:\\n copy = state.length;\\n if (copy) {\\n if (copy > have) { copy = have; }\\n if (copy > left) { copy = left; }\\n if (copy === 0) { break inf_leave; }\\n //--- zmemcpy(put, next, copy); ---\\n output.set(input.subarray(next, next + copy), put);\\n //---//\\n have -= copy;\\n next += copy;\\n left -= copy;\\n put += copy;\\n state.length -= copy;\\n break;\\n }\\n //Tracev((stderr, \\\"inflate: stored end\\\\n\\\"));\\n state.mode = TYPE;\\n break;\\n case TABLE:\\n //=== NEEDBITS(14); */\\n while (bits < 14) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\\n //--- DROPBITS(5) ---//\\n hold >>>= 5;\\n bits -= 5;\\n //---//\\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\\n //--- DROPBITS(5) ---//\\n hold >>>= 5;\\n bits -= 5;\\n //---//\\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\\n //--- DROPBITS(4) ---//\\n hold >>>= 4;\\n bits -= 4;\\n //---//\\n//#ifndef PKZIP_BUG_WORKAROUND\\n if (state.nlen > 286 || state.ndist > 30) {\\n strm.msg = 'too many length or distance symbols';\\n state.mode = BAD;\\n break;\\n }\\n//#endif\\n //Tracev((stderr, \\\"inflate: table sizes ok\\\\n\\\"));\\n state.have = 0;\\n state.mode = LENLENS;\\n /* falls through */\\n case LENLENS:\\n while (state.have < state.ncode) {\\n //=== NEEDBITS(3);\\n while (bits < 3) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\\n //--- DROPBITS(3) ---//\\n hold >>>= 3;\\n bits -= 3;\\n //---//\\n }\\n while (state.have < 19) {\\n state.lens[order[state.have++]] = 0;\\n }\\n // We have separate tables & no pointers. 2 commented lines below not needed.\\n //state.next = state.codes;\\n //state.lencode = state.next;\\n // Switch to use dynamic table\\n state.lencode = state.lendyn;\\n state.lenbits = 7;\\n\\n opts = { bits: state.lenbits };\\n ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\\n state.lenbits = opts.bits;\\n\\n if (ret) {\\n strm.msg = 'invalid code lengths set';\\n state.mode = BAD;\\n break;\\n }\\n //Tracev((stderr, \\\"inflate: code lengths ok\\\\n\\\"));\\n state.have = 0;\\n state.mode = CODELENS;\\n /* falls through */\\n case CODELENS:\\n while (state.have < state.nlen + state.ndist) {\\n for (;;) {\\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\\n here_bits = here >>> 24;\\n here_op = (here >>> 16) & 0xff;\\n here_val = here & 0xffff;\\n\\n if ((here_bits) <= bits) { break; }\\n //--- PULLBYTE() ---//\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n //---//\\n }\\n if (here_val < 16) {\\n //--- DROPBITS(here.bits) ---//\\n hold >>>= here_bits;\\n bits -= here_bits;\\n //---//\\n state.lens[state.have++] = here_val;\\n }\\n else {\\n if (here_val === 16) {\\n //=== NEEDBITS(here.bits + 2);\\n n = here_bits + 2;\\n while (bits < n) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n //--- DROPBITS(here.bits) ---//\\n hold >>>= here_bits;\\n bits -= here_bits;\\n //---//\\n if (state.have === 0) {\\n strm.msg = 'invalid bit length repeat';\\n state.mode = BAD;\\n break;\\n }\\n len = state.lens[state.have - 1];\\n copy = 3 + (hold & 0x03);//BITS(2);\\n //--- DROPBITS(2) ---//\\n hold >>>= 2;\\n bits -= 2;\\n //---//\\n }\\n else if (here_val === 17) {\\n //=== NEEDBITS(here.bits + 3);\\n n = here_bits + 3;\\n while (bits < n) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n //--- DROPBITS(here.bits) ---//\\n hold >>>= here_bits;\\n bits -= here_bits;\\n //---//\\n len = 0;\\n copy = 3 + (hold & 0x07);//BITS(3);\\n //--- DROPBITS(3) ---//\\n hold >>>= 3;\\n bits -= 3;\\n //---//\\n }\\n else {\\n //=== NEEDBITS(here.bits + 7);\\n n = here_bits + 7;\\n while (bits < n) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n //--- DROPBITS(here.bits) ---//\\n hold >>>= here_bits;\\n bits -= here_bits;\\n //---//\\n len = 0;\\n copy = 11 + (hold & 0x7f);//BITS(7);\\n //--- DROPBITS(7) ---//\\n hold >>>= 7;\\n bits -= 7;\\n //---//\\n }\\n if (state.have + copy > state.nlen + state.ndist) {\\n strm.msg = 'invalid bit length repeat';\\n state.mode = BAD;\\n break;\\n }\\n while (copy--) {\\n state.lens[state.have++] = len;\\n }\\n }\\n }\\n\\n /* handle error breaks in while */\\n if (state.mode === BAD) { break; }\\n\\n /* check for end-of-block code (better have one) */\\n if (state.lens[256] === 0) {\\n strm.msg = 'invalid code -- missing end-of-block';\\n state.mode = BAD;\\n break;\\n }\\n\\n /* build code tables -- note: do not change the lenbits or distbits\\n values here (9 and 6) without reading the comments in inftrees.h\\n concerning the ENOUGH constants, which depend on those values */\\n state.lenbits = 9;\\n\\n opts = { bits: state.lenbits };\\n ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\\n // We have separate tables & no pointers. 2 commented lines below not needed.\\n // state.next_index = opts.table_index;\\n state.lenbits = opts.bits;\\n // state.lencode = state.next;\\n\\n if (ret) {\\n strm.msg = 'invalid literal/lengths set';\\n state.mode = BAD;\\n break;\\n }\\n\\n state.distbits = 6;\\n //state.distcode.copy(state.codes);\\n // Switch to use dynamic table\\n state.distcode = state.distdyn;\\n opts = { bits: state.distbits };\\n ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\\n // We have separate tables & no pointers. 2 commented lines below not needed.\\n // state.next_index = opts.table_index;\\n state.distbits = opts.bits;\\n // state.distcode = state.next;\\n\\n if (ret) {\\n strm.msg = 'invalid distances set';\\n state.mode = BAD;\\n break;\\n }\\n //Tracev((stderr, 'inflate: codes ok\\\\n'));\\n state.mode = LEN_;\\n if (flush === Z_TREES) { break inf_leave; }\\n /* falls through */\\n case LEN_:\\n state.mode = LEN;\\n /* falls through */\\n case LEN:\\n if (have >= 6 && left >= 258) {\\n //--- RESTORE() ---\\n strm.next_out = put;\\n strm.avail_out = left;\\n strm.next_in = next;\\n strm.avail_in = have;\\n state.hold = hold;\\n state.bits = bits;\\n //---\\n inflate_fast(strm, _out);\\n //--- LOAD() ---\\n put = strm.next_out;\\n output = strm.output;\\n left = strm.avail_out;\\n next = strm.next_in;\\n input = strm.input;\\n have = strm.avail_in;\\n hold = state.hold;\\n bits = state.bits;\\n //---\\n\\n if (state.mode === TYPE) {\\n state.back = -1;\\n }\\n break;\\n }\\n state.back = 0;\\n for (;;) {\\n here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/\\n here_bits = here >>> 24;\\n here_op = (here >>> 16) & 0xff;\\n here_val = here & 0xffff;\\n\\n if (here_bits <= bits) { break; }\\n //--- PULLBYTE() ---//\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n //---//\\n }\\n if (here_op && (here_op & 0xf0) === 0) {\\n last_bits = here_bits;\\n last_op = here_op;\\n last_val = here_val;\\n for (;;) {\\n here = state.lencode[last_val +\\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\\n here_bits = here >>> 24;\\n here_op = (here >>> 16) & 0xff;\\n here_val = here & 0xffff;\\n\\n if ((last_bits + here_bits) <= bits) { break; }\\n //--- PULLBYTE() ---//\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n //---//\\n }\\n //--- DROPBITS(last.bits) ---//\\n hold >>>= last_bits;\\n bits -= last_bits;\\n //---//\\n state.back += last_bits;\\n }\\n //--- DROPBITS(here.bits) ---//\\n hold >>>= here_bits;\\n bits -= here_bits;\\n //---//\\n state.back += here_bits;\\n state.length = here_val;\\n if (here_op === 0) {\\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\\n // \\\"inflate: literal '%c'\\\\n\\\" :\\n // \\\"inflate: literal 0x%02x\\\\n\\\", here.val));\\n state.mode = LIT;\\n break;\\n }\\n if (here_op & 32) {\\n //Tracevv((stderr, \\\"inflate: end of block\\\\n\\\"));\\n state.back = -1;\\n state.mode = TYPE;\\n break;\\n }\\n if (here_op & 64) {\\n strm.msg = 'invalid literal/length code';\\n state.mode = BAD;\\n break;\\n }\\n state.extra = here_op & 15;\\n state.mode = LENEXT;\\n /* falls through */\\n case LENEXT:\\n if (state.extra) {\\n //=== NEEDBITS(state.extra);\\n n = state.extra;\\n while (bits < n) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\\n //--- DROPBITS(state.extra) ---//\\n hold >>>= state.extra;\\n bits -= state.extra;\\n //---//\\n state.back += state.extra;\\n }\\n //Tracevv((stderr, \\\"inflate: length %u\\\\n\\\", state.length));\\n state.was = state.length;\\n state.mode = DIST;\\n /* falls through */\\n case DIST:\\n for (;;) {\\n here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\\n here_bits = here >>> 24;\\n here_op = (here >>> 16) & 0xff;\\n here_val = here & 0xffff;\\n\\n if ((here_bits) <= bits) { break; }\\n //--- PULLBYTE() ---//\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n //---//\\n }\\n if ((here_op & 0xf0) === 0) {\\n last_bits = here_bits;\\n last_op = here_op;\\n last_val = here_val;\\n for (;;) {\\n here = state.distcode[last_val +\\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\\n here_bits = here >>> 24;\\n here_op = (here >>> 16) & 0xff;\\n here_val = here & 0xffff;\\n\\n if ((last_bits + here_bits) <= bits) { break; }\\n //--- PULLBYTE() ---//\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n //---//\\n }\\n //--- DROPBITS(last.bits) ---//\\n hold >>>= last_bits;\\n bits -= last_bits;\\n //---//\\n state.back += last_bits;\\n }\\n //--- DROPBITS(here.bits) ---//\\n hold >>>= here_bits;\\n bits -= here_bits;\\n //---//\\n state.back += here_bits;\\n if (here_op & 64) {\\n strm.msg = 'invalid distance code';\\n state.mode = BAD;\\n break;\\n }\\n state.offset = here_val;\\n state.extra = (here_op) & 15;\\n state.mode = DISTEXT;\\n /* falls through */\\n case DISTEXT:\\n if (state.extra) {\\n //=== NEEDBITS(state.extra);\\n n = state.extra;\\n while (bits < n) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\\n //--- DROPBITS(state.extra) ---//\\n hold >>>= state.extra;\\n bits -= state.extra;\\n //---//\\n state.back += state.extra;\\n }\\n//#ifdef INFLATE_STRICT\\n if (state.offset > state.dmax) {\\n strm.msg = 'invalid distance too far back';\\n state.mode = BAD;\\n break;\\n }\\n//#endif\\n //Tracevv((stderr, \\\"inflate: distance %u\\\\n\\\", state.offset));\\n state.mode = MATCH;\\n /* falls through */\\n case MATCH:\\n if (left === 0) { break inf_leave; }\\n copy = _out - left;\\n if (state.offset > copy) { /* copy from window */\\n copy = state.offset - copy;\\n if (copy > state.whave) {\\n if (state.sane) {\\n strm.msg = 'invalid distance too far back';\\n state.mode = BAD;\\n break;\\n }\\n// (!) This block is disabled in zlib defaults,\\n// don't enable it for binary compatibility\\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\\n// Trace((stderr, \\\"inflate.c too far\\\\n\\\"));\\n// copy -= state.whave;\\n// if (copy > state.length) { copy = state.length; }\\n// if (copy > left) { copy = left; }\\n// left -= copy;\\n// state.length -= copy;\\n// do {\\n// output[put++] = 0;\\n// } while (--copy);\\n// if (state.length === 0) { state.mode = LEN; }\\n// break;\\n//#endif\\n }\\n if (copy > state.wnext) {\\n copy -= state.wnext;\\n from = state.wsize - copy;\\n }\\n else {\\n from = state.wnext - copy;\\n }\\n if (copy > state.length) { copy = state.length; }\\n from_source = state.window;\\n }\\n else { /* copy from output */\\n from_source = output;\\n from = put - state.offset;\\n copy = state.length;\\n }\\n if (copy > left) { copy = left; }\\n left -= copy;\\n state.length -= copy;\\n do {\\n output[put++] = from_source[from++];\\n } while (--copy);\\n if (state.length === 0) { state.mode = LEN; }\\n break;\\n case LIT:\\n if (left === 0) { break inf_leave; }\\n output[put++] = state.length;\\n left--;\\n state.mode = LEN;\\n break;\\n case CHECK:\\n if (state.wrap) {\\n //=== NEEDBITS(32);\\n while (bits < 32) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n // Use '|' instead of '+' to make sure that result is signed\\n hold |= input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n _out -= left;\\n strm.total_out += _out;\\n state.total += _out;\\n if ((state.wrap & 4) && _out) {\\n strm.adler = state.check =\\n /*UPDATE_CHECK(state.check, put - _out, _out);*/\\n (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\\n\\n }\\n _out = left;\\n // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\\n if ((state.wrap & 4) && (state.flags ? hold : zswap32(hold)) !== state.check) {\\n strm.msg = 'incorrect data check';\\n state.mode = BAD;\\n break;\\n }\\n //=== INITBITS();\\n hold = 0;\\n bits = 0;\\n //===//\\n //Tracev((stderr, \\\"inflate: check matches trailer\\\\n\\\"));\\n }\\n state.mode = LENGTH;\\n /* falls through */\\n case LENGTH:\\n if (state.wrap && state.flags) {\\n //=== NEEDBITS(32);\\n while (bits < 32) {\\n if (have === 0) { break inf_leave; }\\n have--;\\n hold += input[next++] << bits;\\n bits += 8;\\n }\\n //===//\\n if ((state.wrap & 4) && hold !== (state.total & 0xffffffff)) {\\n strm.msg = 'incorrect length check';\\n state.mode = BAD;\\n break;\\n }\\n //=== INITBITS();\\n hold = 0;\\n bits = 0;\\n //===//\\n //Tracev((stderr, \\\"inflate: length matches trailer\\\\n\\\"));\\n }\\n state.mode = DONE;\\n /* falls through */\\n case DONE:\\n ret = Z_STREAM_END;\\n break inf_leave;\\n case BAD:\\n ret = Z_DATA_ERROR;\\n break inf_leave;\\n case MEM:\\n return Z_MEM_ERROR;\\n case SYNC:\\n /* falls through */\\n default:\\n return Z_STREAM_ERROR;\\n }\\n }\\n\\n // inf_leave <- here is real place for \\\"goto inf_leave\\\", emulated via \\\"break inf_leave\\\"\\n\\n /*\\n Return from inflate(), updating the total counts and the check value.\\n If there was no progress during the inflate() call, return a buffer\\n error. Call updatewindow() to create and/or update the window state.\\n Note: a memory error from inflate() is non-recoverable.\\n */\\n\\n //--- RESTORE() ---\\n strm.next_out = put;\\n strm.avail_out = left;\\n strm.next_in = next;\\n strm.avail_in = have;\\n state.hold = hold;\\n state.bits = bits;\\n //---\\n\\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\\n (state.mode < CHECK || flush !== Z_FINISH))) {\\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\\n state.mode = MEM;\\n return Z_MEM_ERROR;\\n }\\n }\\n _in -= strm.avail_in;\\n _out -= strm.avail_out;\\n strm.total_in += _in;\\n strm.total_out += _out;\\n state.total += _out;\\n if ((state.wrap & 4) && _out) {\\n strm.adler = state.check = /*UPDATE_CHECK(state.check, strm.next_out - _out, _out);*/\\n (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\\n }\\n strm.data_type = state.bits + (state.last ? 64 : 0) +\\n (state.mode === TYPE ? 128 : 0) +\\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\\n if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\\n ret = Z_BUF_ERROR;\\n }\\n return ret;\\n};\\n\\n\\nconst inflateEnd = (strm) => {\\n\\n if (inflateStateCheck(strm)) {\\n return Z_STREAM_ERROR;\\n }\\n\\n let state = strm.state;\\n if (state.window) {\\n state.window = null;\\n }\\n strm.state = null;\\n return Z_OK;\\n};\\n\\n\\nconst inflateGetHeader = (strm, head) => {\\n\\n /* check state */\\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }\\n const state = strm.state;\\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\\n\\n /* save header structure */\\n state.head = head;\\n head.done = false;\\n return Z_OK;\\n};\\n\\n\\nconst inflateSetDictionary = (strm, dictionary) => {\\n const dictLength = dictionary.length;\\n\\n let state;\\n let dictid;\\n let ret;\\n\\n /* check state */\\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }\\n state = strm.state;\\n\\n if (state.wrap !== 0 && state.mode !== DICT) {\\n return Z_STREAM_ERROR;\\n }\\n\\n /* check for correct dictionary identifier */\\n if (state.mode === DICT) {\\n dictid = 1; /* adler32(0, null, 0)*/\\n /* dictid = adler32(dictid, dictionary, dictLength); */\\n dictid = adler32(dictid, dictionary, dictLength, 0);\\n if (dictid !== state.check) {\\n return Z_DATA_ERROR;\\n }\\n }\\n /* copy dictionary to window using updatewindow(), which will amend the\\n existing dictionary if appropriate */\\n ret = updatewindow(strm, dictionary, dictLength, dictLength);\\n if (ret) {\\n state.mode = MEM;\\n return Z_MEM_ERROR;\\n }\\n state.havedict = 1;\\n // Tracev((stderr, \\\"inflate: dictionary set\\\\n\\\"));\\n return Z_OK;\\n};\\n\\n\\nmodule.exports.inflateReset = inflateReset;\\nmodule.exports.inflateReset2 = inflateReset2;\\nmodule.exports.inflateResetKeep = inflateResetKeep;\\nmodule.exports.inflateInit = inflateInit;\\nmodule.exports.inflateInit2 = inflateInit2;\\nmodule.exports.inflate = inflate;\\nmodule.exports.inflateEnd = inflateEnd;\\nmodule.exports.inflateGetHeader = inflateGetHeader;\\nmodule.exports.inflateSetDictionary = inflateSetDictionary;\\nmodule.exports.inflateInfo = 'pako inflate (from Nodeca project)';\\n\\n/* Not implemented\\nmodule.exports.inflateCodesUsed = inflateCodesUsed;\\nmodule.exports.inflateCopy = inflateCopy;\\nmodule.exports.inflateGetDictionary = inflateGetDictionary;\\nmodule.exports.inflateMark = inflateMark;\\nmodule.exports.inflatePrime = inflatePrime;\\nmodule.exports.inflateSync = inflateSync;\\nmodule.exports.inflateSyncPoint = inflateSyncPoint;\\nmodule.exports.inflateUndermine = inflateUndermine;\\nmodule.exports.inflateValidate = inflateValidate;\\n*/\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/zlib/inflate.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/zlib/inftrees.js\":\n/*!************************************************!*\\\n !*** ./node_modules/pako/lib/zlib/inftrees.js ***!\n \\************************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\n\\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\\n//\\n// This software is provided 'as-is', without any express or implied\\n// warranty. In no event will the authors be held liable for any damages\\n// arising from the use of this software.\\n//\\n// Permission is granted to anyone to use this software for any purpose,\\n// including commercial applications, and to alter it and redistribute it\\n// freely, subject to the following restrictions:\\n//\\n// 1. The origin of this software must not be misrepresented; you must not\\n// claim that you wrote the original software. If you use this software\\n// in a product, an acknowledgment in the product documentation would be\\n// appreciated but is not required.\\n// 2. Altered source versions must be plainly marked as such, and must not be\\n// misrepresented as being the original software.\\n// 3. This notice may not be removed or altered from any source distribution.\\n\\nconst MAXBITS = 15;\\nconst ENOUGH_LENS = 852;\\nconst ENOUGH_DISTS = 592;\\n//const ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\\n\\nconst CODES = 0;\\nconst LENS = 1;\\nconst DISTS = 2;\\n\\nconst lbase = new Uint16Array([ /* Length codes 257..285 base */\\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\\n]);\\n\\nconst lext = new Uint8Array([ /* Length codes 257..285 extra */\\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\\n]);\\n\\nconst dbase = new Uint16Array([ /* Distance codes 0..29 base */\\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\\n 8193, 12289, 16385, 24577, 0, 0\\n]);\\n\\nconst dext = new Uint8Array([ /* Distance codes 0..29 extra */\\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\\n 28, 28, 29, 29, 64, 64\\n]);\\n\\nconst inflate_table = (type, lens, lens_index, codes, table, table_index, work, opts) =>\\n{\\n const bits = opts.bits;\\n //here = opts.here; /* table entry for duplication */\\n\\n let len = 0; /* a code's length in bits */\\n let sym = 0; /* index of code symbols */\\n let min = 0, max = 0; /* minimum and maximum code lengths */\\n let root = 0; /* number of index bits for root table */\\n let curr = 0; /* number of index bits for current table */\\n let drop = 0; /* code bits to drop for sub-table */\\n let left = 0; /* number of prefix codes available */\\n let used = 0; /* code entries in table used */\\n let huff = 0; /* Huffman code */\\n let incr; /* for incrementing code, index */\\n let fill; /* index for replicating entries */\\n let low; /* low bits for current root entry */\\n let mask; /* mask for low root bits */\\n let next; /* next available space in table */\\n let base = null; /* base value table to use */\\n// let shoextra; /* extra bits table to use */\\n let match; /* use base and extra for symbol >= match */\\n const count = new Uint16Array(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */\\n const offs = new Uint16Array(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */\\n let extra = null;\\n\\n let here_bits, here_op, here_val;\\n\\n /*\\n Process a set of code lengths to create a canonical Huffman code. The\\n code lengths are lens[0..codes-1]. Each length corresponds to the\\n symbols 0..codes-1. The Huffman code is generated by first sorting the\\n symbols by length from short to long, and retaining the symbol order\\n for codes with equal lengths. Then the code starts with all zero bits\\n for the first code of the shortest length, and the codes are integer\\n increments for the same length, and zeros are appended as the length\\n increases. For the deflate format, these bits are stored backwards\\n from their more natural integer increment ordering, and so when the\\n decoding tables are built in the large loop below, the integer codes\\n are incremented backwards.\\n\\n This routine assumes, but does not check, that all of the entries in\\n lens[] are in the range 0..MAXBITS. The caller must assure this.\\n 1..MAXBITS is interpreted as that code length. zero means that that\\n symbol does not occur in this code.\\n\\n The codes are sorted by computing a count of codes for each length,\\n creating from that a table of starting indices for each length in the\\n sorted table, and then entering the symbols in order in the sorted\\n table. The sorted table is work[], with that space being provided by\\n the caller.\\n\\n The length counts are used for other purposes as well, i.e. finding\\n the minimum and maximum length codes, determining if there are any\\n codes at all, checking for a valid set of lengths, and looking ahead\\n at length counts to determine sub-table sizes when building the\\n decoding tables.\\n */\\n\\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\\n for (len = 0; len <= MAXBITS; len++) {\\n count[len] = 0;\\n }\\n for (sym = 0; sym < codes; sym++) {\\n count[lens[lens_index + sym]]++;\\n }\\n\\n /* bound code lengths, force root to be within code lengths */\\n root = bits;\\n for (max = MAXBITS; max >= 1; max--) {\\n if (count[max] !== 0) { break; }\\n }\\n if (root > max) {\\n root = max;\\n }\\n if (max === 0) { /* no symbols to code at all */\\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\\n\\n\\n //table.op[opts.table_index] = 64;\\n //table.bits[opts.table_index] = 1;\\n //table.val[opts.table_index++] = 0;\\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\\n\\n opts.bits = 1;\\n return 0; /* no symbols, but wait for decoding to report error */\\n }\\n for (min = 1; min < max; min++) {\\n if (count[min] !== 0) { break; }\\n }\\n if (root < min) {\\n root = min;\\n }\\n\\n /* check for an over-subscribed or incomplete set of lengths */\\n left = 1;\\n for (len = 1; len <= MAXBITS; len++) {\\n left <<= 1;\\n left -= count[len];\\n if (left < 0) {\\n return -1;\\n } /* over-subscribed */\\n }\\n if (left > 0 && (type === CODES || max !== 1)) {\\n return -1; /* incomplete set */\\n }\\n\\n /* generate offsets into symbol table for each length for sorting */\\n offs[1] = 0;\\n for (len = 1; len < MAXBITS; len++) {\\n offs[len + 1] = offs[len] + count[len];\\n }\\n\\n /* sort symbols by length, by symbol order within each length */\\n for (sym = 0; sym < codes; sym++) {\\n if (lens[lens_index + sym] !== 0) {\\n work[offs[lens[lens_index + sym]]++] = sym;\\n }\\n }\\n\\n /*\\n Create and fill in decoding tables. In this loop, the table being\\n filled is at next and has curr index bits. The code being used is huff\\n with length len. That code is converted to an index by dropping drop\\n bits off of the bottom. For codes where len is less than drop + curr,\\n those top drop + curr - len bits are incremented through all values to\\n fill the table with replicated entries.\\n\\n root is the number of index bits for the root table. When len exceeds\\n root, sub-tables are created pointed to by the root entry with an index\\n of the low root bits of huff. This is saved in low to check for when a\\n new sub-table should be started. drop is zero when the root table is\\n being filled, and drop is root when sub-tables are being filled.\\n\\n When a new sub-table is needed, it is necessary to look ahead in the\\n code lengths to determine what size sub-table is needed. The length\\n counts are used for this, and so count[] is decremented as codes are\\n entered in the tables.\\n\\n used keeps track of how many table entries have been allocated from the\\n provided *table space. It is checked for LENS and DIST tables against\\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\\n the initial root table size constants. See the comments in inftrees.h\\n for more information.\\n\\n sym increments through all symbols, and the loop terminates when\\n all codes of length max, i.e. all codes, have been processed. This\\n routine permits incomplete codes, so another loop after this one fills\\n in the rest of the decoding tables with invalid code markers.\\n */\\n\\n /* set up for code type */\\n // poor man optimization - use if-else instead of switch,\\n // to avoid deopts in old v8\\n if (type === CODES) {\\n base = extra = work; /* dummy value--not used */\\n match = 20;\\n\\n } else if (type === LENS) {\\n base = lbase;\\n extra = lext;\\n match = 257;\\n\\n } else { /* DISTS */\\n base = dbase;\\n extra = dext;\\n match = 0;\\n }\\n\\n /* initialize opts for loop */\\n huff = 0; /* starting code */\\n sym = 0; /* starting code symbol */\\n len = min; /* starting code length */\\n next = table_index; /* current table to fill in */\\n curr = root; /* current table index bits */\\n drop = 0; /* current bits to drop from code for index */\\n low = -1; /* trigger new sub-table when len > root */\\n used = 1 << root; /* use root table entries */\\n mask = used - 1; /* mask for comparing low */\\n\\n /* check available table space */\\n if ((type === LENS && used > ENOUGH_LENS) ||\\n (type === DISTS && used > ENOUGH_DISTS)) {\\n return 1;\\n }\\n\\n /* process all codes and make table entries */\\n for (;;) {\\n /* create table entry */\\n here_bits = len - drop;\\n if (work[sym] + 1 < match) {\\n here_op = 0;\\n here_val = work[sym];\\n }\\n else if (work[sym] >= match) {\\n here_op = extra[work[sym] - match];\\n here_val = base[work[sym] - match];\\n }\\n else {\\n here_op = 32 + 64; /* end of block */\\n here_val = 0;\\n }\\n\\n /* replicate for those indices with low len bits equal to huff */\\n incr = 1 << (len - drop);\\n fill = 1 << curr;\\n min = fill; /* save offset to next table */\\n do {\\n fill -= incr;\\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\\n } while (fill !== 0);\\n\\n /* backwards increment the len-bit code huff */\\n incr = 1 << (len - 1);\\n while (huff & incr) {\\n incr >>= 1;\\n }\\n if (incr !== 0) {\\n huff &= incr - 1;\\n huff += incr;\\n } else {\\n huff = 0;\\n }\\n\\n /* go to next symbol, update count, len */\\n sym++;\\n if (--count[len] === 0) {\\n if (len === max) { break; }\\n len = lens[lens_index + work[sym]];\\n }\\n\\n /* create new sub-table if needed */\\n if (len > root && (huff & mask) !== low) {\\n /* if first time, transition to sub-tables */\\n if (drop === 0) {\\n drop = root;\\n }\\n\\n /* increment past last table */\\n next += min; /* here min is 1 << curr */\\n\\n /* determine length of next table */\\n curr = len - drop;\\n left = 1 << curr;\\n while (curr + drop < max) {\\n left -= count[curr + drop];\\n if (left <= 0) { break; }\\n curr++;\\n left <<= 1;\\n }\\n\\n /* check for enough space */\\n used += 1 << curr;\\n if ((type === LENS && used > ENOUGH_LENS) ||\\n (type === DISTS && used > ENOUGH_DISTS)) {\\n return 1;\\n }\\n\\n /* point entry in root table to sub-table */\\n low = huff & mask;\\n /*table.op[low] = curr;\\n table.bits[low] = root;\\n table.val[low] = next - opts.table_index;*/\\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\\n }\\n }\\n\\n /* fill in remaining table entry if code is incomplete (guaranteed to have\\n at most one remaining entry, since if the code is incomplete, the\\n maximum code length that was allowed to get this far is one bit) */\\n if (huff !== 0) {\\n //table.op[next + huff] = 64; /* invalid code marker */\\n //table.bits[next + huff] = len - drop;\\n //table.val[next + huff] = 0;\\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\\n }\\n\\n /* set return parameters */\\n //opts.table_index += used;\\n opts.bits = root;\\n return 0;\\n};\\n\\n\\nmodule.exports = inflate_table;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/zlib/inftrees.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/zlib/messages.js\":\n/*!************************************************!*\\\n !*** ./node_modules/pako/lib/zlib/messages.js ***!\n \\************************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\n\\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\\n//\\n// This software is provided 'as-is', without any express or implied\\n// warranty. In no event will the authors be held liable for any damages\\n// arising from the use of this software.\\n//\\n// Permission is granted to anyone to use this software for any purpose,\\n// including commercial applications, and to alter it and redistribute it\\n// freely, subject to the following restrictions:\\n//\\n// 1. The origin of this software must not be misrepresented; you must not\\n// claim that you wrote the original software. If you use this software\\n// in a product, an acknowledgment in the product documentation would be\\n// appreciated but is not required.\\n// 2. Altered source versions must be plainly marked as such, and must not be\\n// misrepresented as being the original software.\\n// 3. This notice may not be removed or altered from any source distribution.\\n\\nmodule.exports = {\\n 2: 'need dictionary', /* Z_NEED_DICT 2 */\\n 1: 'stream end', /* Z_STREAM_END 1 */\\n 0: '', /* Z_OK 0 */\\n '-1': 'file error', /* Z_ERRNO (-1) */\\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/zlib/messages.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/zlib/trees.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/pako/lib/zlib/trees.js ***!\n \\*********************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\n\\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\\n//\\n// This software is provided 'as-is', without any express or implied\\n// warranty. In no event will the authors be held liable for any damages\\n// arising from the use of this software.\\n//\\n// Permission is granted to anyone to use this software for any purpose,\\n// including commercial applications, and to alter it and redistribute it\\n// freely, subject to the following restrictions:\\n//\\n// 1. The origin of this software must not be misrepresented; you must not\\n// claim that you wrote the original software. If you use this software\\n// in a product, an acknowledgment in the product documentation would be\\n// appreciated but is not required.\\n// 2. Altered source versions must be plainly marked as such, and must not be\\n// misrepresented as being the original software.\\n// 3. This notice may not be removed or altered from any source distribution.\\n\\n/* eslint-disable space-unary-ops */\\n\\n/* Public constants ==========================================================*/\\n/* ===========================================================================*/\\n\\n\\n//const Z_FILTERED = 1;\\n//const Z_HUFFMAN_ONLY = 2;\\n//const Z_RLE = 3;\\nconst Z_FIXED = 4;\\n//const Z_DEFAULT_STRATEGY = 0;\\n\\n/* Possible values of the data_type field (though see inflate()) */\\nconst Z_BINARY = 0;\\nconst Z_TEXT = 1;\\n//const Z_ASCII = 1; // = Z_TEXT\\nconst Z_UNKNOWN = 2;\\n\\n/*============================================================================*/\\n\\n\\nfunction zero(buf) { let len = buf.length; while (--len >= 0) { buf[len] = 0; } }\\n\\n// From zutil.h\\n\\nconst STORED_BLOCK = 0;\\nconst STATIC_TREES = 1;\\nconst DYN_TREES = 2;\\n/* The three kinds of block type */\\n\\nconst MIN_MATCH = 3;\\nconst MAX_MATCH = 258;\\n/* The minimum and maximum match lengths */\\n\\n// From deflate.h\\n/* ===========================================================================\\n * Internal compression state.\\n */\\n\\nconst LENGTH_CODES = 29;\\n/* number of length codes, not counting the special END_BLOCK code */\\n\\nconst LITERALS = 256;\\n/* number of literal bytes 0..255 */\\n\\nconst L_CODES = LITERALS + 1 + LENGTH_CODES;\\n/* number of Literal or Length codes, including the END_BLOCK code */\\n\\nconst D_CODES = 30;\\n/* number of distance codes */\\n\\nconst BL_CODES = 19;\\n/* number of codes used to transfer the bit lengths */\\n\\nconst HEAP_SIZE = 2 * L_CODES + 1;\\n/* maximum heap size */\\n\\nconst MAX_BITS = 15;\\n/* All codes must not exceed MAX_BITS bits */\\n\\nconst Buf_size = 16;\\n/* size of bit buffer in bi_buf */\\n\\n\\n/* ===========================================================================\\n * Constants\\n */\\n\\nconst MAX_BL_BITS = 7;\\n/* Bit length codes must not exceed MAX_BL_BITS bits */\\n\\nconst END_BLOCK = 256;\\n/* end of block literal code */\\n\\nconst REP_3_6 = 16;\\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\\n\\nconst REPZ_3_10 = 17;\\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\\n\\nconst REPZ_11_138 = 18;\\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\\n\\n/* eslint-disable comma-spacing,array-bracket-spacing */\\nconst extra_lbits = /* extra bits for each length code */\\n new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]);\\n\\nconst extra_dbits = /* extra bits for each distance code */\\n new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]);\\n\\nconst extra_blbits = /* extra bits for each bit length code */\\n new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]);\\n\\nconst bl_order =\\n new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);\\n/* eslint-enable comma-spacing,array-bracket-spacing */\\n\\n/* The lengths of the bit length codes are sent in order of decreasing\\n * probability, to avoid transmitting the lengths for unused bit length codes.\\n */\\n\\n/* ===========================================================================\\n * Local data. These are initialized only once.\\n */\\n\\n// We pre-fill arrays with 0 to avoid uninitialized gaps\\n\\nconst DIST_CODE_LEN = 512; /* see definition of array dist_code below */\\n\\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\\nconst static_ltree = new Array((L_CODES + 2) * 2);\\nzero(static_ltree);\\n/* The static literal tree. Since the bit lengths are imposed, there is no\\n * need for the L_CODES extra codes used during heap construction. However\\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\\n * below).\\n */\\n\\nconst static_dtree = new Array(D_CODES * 2);\\nzero(static_dtree);\\n/* The static distance tree. (Actually a trivial tree since all codes use\\n * 5 bits.)\\n */\\n\\nconst _dist_code = new Array(DIST_CODE_LEN);\\nzero(_dist_code);\\n/* Distance codes. The first 256 values correspond to the distances\\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\\n * the 15 bit distances.\\n */\\n\\nconst _length_code = new Array(MAX_MATCH - MIN_MATCH + 1);\\nzero(_length_code);\\n/* length code for each normalized match length (0 == MIN_MATCH) */\\n\\nconst base_length = new Array(LENGTH_CODES);\\nzero(base_length);\\n/* First normalized length for each code (0 = MIN_MATCH) */\\n\\nconst base_dist = new Array(D_CODES);\\nzero(base_dist);\\n/* First normalized distance for each code (0 = distance of 1) */\\n\\n\\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\\n\\n this.static_tree = static_tree; /* static tree or NULL */\\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\\n this.extra_base = extra_base; /* base index for extra_bits */\\n this.elems = elems; /* max number of elements in the tree */\\n this.max_length = max_length; /* max bit length for the codes */\\n\\n // show if `static_tree` has data or dummy - needed for monomorphic objects\\n this.has_stree = static_tree && static_tree.length;\\n}\\n\\n\\nlet static_l_desc;\\nlet static_d_desc;\\nlet static_bl_desc;\\n\\n\\nfunction TreeDesc(dyn_tree, stat_desc) {\\n this.dyn_tree = dyn_tree; /* the dynamic tree */\\n this.max_code = 0; /* largest code with non zero frequency */\\n this.stat_desc = stat_desc; /* the corresponding static tree */\\n}\\n\\n\\n\\nconst d_code = (dist) => {\\n\\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\\n};\\n\\n\\n/* ===========================================================================\\n * Output a short LSB first on the stream.\\n * IN assertion: there is enough room in pendingBuf.\\n */\\nconst put_short = (s, w) => {\\n// put_byte(s, (uch)((w) & 0xff));\\n// put_byte(s, (uch)((ush)(w) >> 8));\\n s.pending_buf[s.pending++] = (w) & 0xff;\\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\\n};\\n\\n\\n/* ===========================================================================\\n * Send a value on a given number of bits.\\n * IN assertion: length <= 16 and value fits in length bits.\\n */\\nconst send_bits = (s, value, length) => {\\n\\n if (s.bi_valid > (Buf_size - length)) {\\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\\n put_short(s, s.bi_buf);\\n s.bi_buf = value >> (Buf_size - s.bi_valid);\\n s.bi_valid += length - Buf_size;\\n } else {\\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\\n s.bi_valid += length;\\n }\\n};\\n\\n\\nconst send_code = (s, c, tree) => {\\n\\n send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\\n};\\n\\n\\n/* ===========================================================================\\n * Reverse the first len bits of a code, using straightforward code (a faster\\n * method would use a table)\\n * IN assertion: 1 <= len <= 15\\n */\\nconst bi_reverse = (code, len) => {\\n\\n let res = 0;\\n do {\\n res |= code & 1;\\n code >>>= 1;\\n res <<= 1;\\n } while (--len > 0);\\n return res >>> 1;\\n};\\n\\n\\n/* ===========================================================================\\n * Flush the bit buffer, keeping at most 7 bits in it.\\n */\\nconst bi_flush = (s) => {\\n\\n if (s.bi_valid === 16) {\\n put_short(s, s.bi_buf);\\n s.bi_buf = 0;\\n s.bi_valid = 0;\\n\\n } else if (s.bi_valid >= 8) {\\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\\n s.bi_buf >>= 8;\\n s.bi_valid -= 8;\\n }\\n};\\n\\n\\n/* ===========================================================================\\n * Compute the optimal bit lengths for a tree and update the total bit length\\n * for the current block.\\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\\n * above are the tree nodes sorted by increasing frequency.\\n * OUT assertions: the field len is set to the optimal bit length, the\\n * array bl_count contains the frequencies for each bit length.\\n * The length opt_len is updated; static_len is also updated if stree is\\n * not null.\\n */\\nconst gen_bitlen = (s, desc) => {\\n// deflate_state *s;\\n// tree_desc *desc; /* the tree descriptor */\\n\\n const tree = desc.dyn_tree;\\n const max_code = desc.max_code;\\n const stree = desc.stat_desc.static_tree;\\n const has_stree = desc.stat_desc.has_stree;\\n const extra = desc.stat_desc.extra_bits;\\n const base = desc.stat_desc.extra_base;\\n const max_length = desc.stat_desc.max_length;\\n let h; /* heap index */\\n let n, m; /* iterate over the tree elements */\\n let bits; /* bit length */\\n let xbits; /* extra bits */\\n let f; /* frequency */\\n let overflow = 0; /* number of elements with bit length too large */\\n\\n for (bits = 0; bits <= MAX_BITS; bits++) {\\n s.bl_count[bits] = 0;\\n }\\n\\n /* In a first pass, compute the optimal bit lengths (which may\\n * overflow in the case of the bit length tree).\\n */\\n tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\\n\\n for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {\\n n = s.heap[h];\\n bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\\n if (bits > max_length) {\\n bits = max_length;\\n overflow++;\\n }\\n tree[n * 2 + 1]/*.Len*/ = bits;\\n /* We overwrite tree[n].Dad which is no longer needed */\\n\\n if (n > max_code) { continue; } /* not a leaf node */\\n\\n s.bl_count[bits]++;\\n xbits = 0;\\n if (n >= base) {\\n xbits = extra[n - base];\\n }\\n f = tree[n * 2]/*.Freq*/;\\n s.opt_len += f * (bits + xbits);\\n if (has_stree) {\\n s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\\n }\\n }\\n if (overflow === 0) { return; }\\n\\n // Tracev((stderr,\\\"\\\\nbit length overflow\\\\n\\\"));\\n /* This happens for example on obj2 and pic of the Calgary corpus */\\n\\n /* Find the first bit length which could increase: */\\n do {\\n bits = max_length - 1;\\n while (s.bl_count[bits] === 0) { bits--; }\\n s.bl_count[bits]--; /* move one leaf down the tree */\\n s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\\n s.bl_count[max_length]--;\\n /* The brother of the overflow item also moves one step up,\\n * but this does not affect bl_count[max_length]\\n */\\n overflow -= 2;\\n } while (overflow > 0);\\n\\n /* Now recompute all bit lengths, scanning in increasing frequency.\\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\\n * lengths instead of fixing only the wrong ones. This idea is taken\\n * from 'ar' written by Haruhiko Okumura.)\\n */\\n for (bits = max_length; bits !== 0; bits--) {\\n n = s.bl_count[bits];\\n while (n !== 0) {\\n m = s.heap[--h];\\n if (m > max_code) { continue; }\\n if (tree[m * 2 + 1]/*.Len*/ !== bits) {\\n // Tracev((stderr,\\\"code %d bits %d->%d\\\\n\\\", m, tree[m].Len, bits));\\n s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\\n tree[m * 2 + 1]/*.Len*/ = bits;\\n }\\n n--;\\n }\\n }\\n};\\n\\n\\n/* ===========================================================================\\n * Generate the codes for a given tree and bit counts (which need not be\\n * optimal).\\n * IN assertion: the array bl_count contains the bit length statistics for\\n * the given tree and the field len is set for all tree elements.\\n * OUT assertion: the field code is set for all tree elements of non\\n * zero code length.\\n */\\nconst gen_codes = (tree, max_code, bl_count) => {\\n// ct_data *tree; /* the tree to decorate */\\n// int max_code; /* largest code with non zero frequency */\\n// ushf *bl_count; /* number of codes at each bit length */\\n\\n const next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */\\n let code = 0; /* running code value */\\n let bits; /* bit index */\\n let n; /* code index */\\n\\n /* The distribution counts are first used to generate the code values\\n * without bit reversal.\\n */\\n for (bits = 1; bits <= MAX_BITS; bits++) {\\n code = (code + bl_count[bits - 1]) << 1;\\n next_code[bits] = code;\\n }\\n /* Check that the bit counts in bl_count are consistent. The last code\\n * must be all ones.\\n */\\n //Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,\\n // \\\"inconsistent bit counts\\\");\\n //Tracev((stderr,\\\"\\\\ngen_codes: max_code %d \\\", max_code));\\n\\n for (n = 0; n <= max_code; n++) {\\n let len = tree[n * 2 + 1]/*.Len*/;\\n if (len === 0) { continue; }\\n /* Now reverse the bits */\\n tree[n * 2]/*.Code*/ = bi_reverse(next_code[len]++, len);\\n\\n //Tracecv(tree != static_ltree, (stderr,\\\"\\\\nn %3d %c l %2d c %4x (%x) \\\",\\n // n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));\\n }\\n};\\n\\n\\n/* ===========================================================================\\n * Initialize the various 'constant' tables.\\n */\\nconst tr_static_init = () => {\\n\\n let n; /* iterates over tree elements */\\n let bits; /* bit counter */\\n let length; /* length value */\\n let code; /* code value */\\n let dist; /* distance index */\\n const bl_count = new Array(MAX_BITS + 1);\\n /* number of codes at each bit length for an optimal tree */\\n\\n // do check in _tr_init()\\n //if (static_init_done) return;\\n\\n /* For some embedded targets, global variables are not initialized: */\\n/*#ifdef NO_INIT_GLOBAL_POINTERS\\n static_l_desc.static_tree = static_ltree;\\n static_l_desc.extra_bits = extra_lbits;\\n static_d_desc.static_tree = static_dtree;\\n static_d_desc.extra_bits = extra_dbits;\\n static_bl_desc.extra_bits = extra_blbits;\\n#endif*/\\n\\n /* Initialize the mapping length (0..255) -> length code (0..28) */\\n length = 0;\\n for (code = 0; code < LENGTH_CODES - 1; code++) {\\n base_length[code] = length;\\n for (n = 0; n < (1 << extra_lbits[code]); n++) {\\n _length_code[length++] = code;\\n }\\n }\\n //Assert (length == 256, \\\"tr_static_init: length != 256\\\");\\n /* Note that the length 255 (match length 258) can be represented\\n * in two different ways: code 284 + 5 bits or code 285, so we\\n * overwrite length_code[255] to use the best encoding:\\n */\\n _length_code[length - 1] = code;\\n\\n /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\\n dist = 0;\\n for (code = 0; code < 16; code++) {\\n base_dist[code] = dist;\\n for (n = 0; n < (1 << extra_dbits[code]); n++) {\\n _dist_code[dist++] = code;\\n }\\n }\\n //Assert (dist == 256, \\\"tr_static_init: dist != 256\\\");\\n dist >>= 7; /* from now on, all distances are divided by 128 */\\n for (; code < D_CODES; code++) {\\n base_dist[code] = dist << 7;\\n for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\\n _dist_code[256 + dist++] = code;\\n }\\n }\\n //Assert (dist == 256, \\\"tr_static_init: 256+dist != 512\\\");\\n\\n /* Construct the codes of the static literal tree */\\n for (bits = 0; bits <= MAX_BITS; bits++) {\\n bl_count[bits] = 0;\\n }\\n\\n n = 0;\\n while (n <= 143) {\\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\\n n++;\\n bl_count[8]++;\\n }\\n while (n <= 255) {\\n static_ltree[n * 2 + 1]/*.Len*/ = 9;\\n n++;\\n bl_count[9]++;\\n }\\n while (n <= 279) {\\n static_ltree[n * 2 + 1]/*.Len*/ = 7;\\n n++;\\n bl_count[7]++;\\n }\\n while (n <= 287) {\\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\\n n++;\\n bl_count[8]++;\\n }\\n /* Codes 286 and 287 do not exist, but we must include them in the\\n * tree construction to get a canonical Huffman tree (longest code\\n * all ones)\\n */\\n gen_codes(static_ltree, L_CODES + 1, bl_count);\\n\\n /* The static distance tree is trivial: */\\n for (n = 0; n < D_CODES; n++) {\\n static_dtree[n * 2 + 1]/*.Len*/ = 5;\\n static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\\n }\\n\\n // Now data ready and we can init static trees\\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);\\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);\\n static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\\n\\n //static_init_done = true;\\n};\\n\\n\\n/* ===========================================================================\\n * Initialize a new block.\\n */\\nconst init_block = (s) => {\\n\\n let n; /* iterates over tree elements */\\n\\n /* Initialize the trees. */\\n for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\\n for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\\n for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\\n\\n s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\\n s.opt_len = s.static_len = 0;\\n s.sym_next = s.matches = 0;\\n};\\n\\n\\n/* ===========================================================================\\n * Flush the bit buffer and align the output on a byte boundary\\n */\\nconst bi_windup = (s) =>\\n{\\n if (s.bi_valid > 8) {\\n put_short(s, s.bi_buf);\\n } else if (s.bi_valid > 0) {\\n //put_byte(s, (Byte)s->bi_buf);\\n s.pending_buf[s.pending++] = s.bi_buf;\\n }\\n s.bi_buf = 0;\\n s.bi_valid = 0;\\n};\\n\\n/* ===========================================================================\\n * Compares to subtrees, using the tree depth as tie breaker when\\n * the subtrees have equal frequency. This minimizes the worst case length.\\n */\\nconst smaller = (tree, n, m, depth) => {\\n\\n const _n2 = n * 2;\\n const _m2 = m * 2;\\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\\n};\\n\\n/* ===========================================================================\\n * Restore the heap property by moving down the tree starting at node k,\\n * exchanging a node with the smallest of its two sons if necessary, stopping\\n * when the heap property is re-established (each father smaller than its\\n * two sons).\\n */\\nconst pqdownheap = (s, tree, k) => {\\n// deflate_state *s;\\n// ct_data *tree; /* the tree to restore */\\n// int k; /* node to move down */\\n\\n const v = s.heap[k];\\n let j = k << 1; /* left son of k */\\n while (j <= s.heap_len) {\\n /* Set j to the smallest of the two sons: */\\n if (j < s.heap_len &&\\n smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\\n j++;\\n }\\n /* Exit if v is smaller than both sons */\\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\\n\\n /* Exchange v with the smallest son */\\n s.heap[k] = s.heap[j];\\n k = j;\\n\\n /* And continue down the tree, setting j to the left son of k */\\n j <<= 1;\\n }\\n s.heap[k] = v;\\n};\\n\\n\\n// inlined manually\\n// const SMALLEST = 1;\\n\\n/* ===========================================================================\\n * Send the block data compressed using the given Huffman trees\\n */\\nconst compress_block = (s, ltree, dtree) => {\\n// deflate_state *s;\\n// const ct_data *ltree; /* literal tree */\\n// const ct_data *dtree; /* distance tree */\\n\\n let dist; /* distance of matched string */\\n let lc; /* match length or unmatched char (if dist == 0) */\\n let sx = 0; /* running index in sym_buf */\\n let code; /* the code to send */\\n let extra; /* number of extra bits to send */\\n\\n if (s.sym_next !== 0) {\\n do {\\n dist = s.pending_buf[s.sym_buf + sx++] & 0xff;\\n dist += (s.pending_buf[s.sym_buf + sx++] & 0xff) << 8;\\n lc = s.pending_buf[s.sym_buf + sx++];\\n if (dist === 0) {\\n send_code(s, lc, ltree); /* send a literal byte */\\n //Tracecv(isgraph(lc), (stderr,\\\" '%c' \\\", lc));\\n } else {\\n /* Here, lc is the match length - MIN_MATCH */\\n code = _length_code[lc];\\n send_code(s, code + LITERALS + 1, ltree); /* send the length code */\\n extra = extra_lbits[code];\\n if (extra !== 0) {\\n lc -= base_length[code];\\n send_bits(s, lc, extra); /* send the extra length bits */\\n }\\n dist--; /* dist is now the match distance - 1 */\\n code = d_code(dist);\\n //Assert (code < D_CODES, \\\"bad d_code\\\");\\n\\n send_code(s, code, dtree); /* send the distance code */\\n extra = extra_dbits[code];\\n if (extra !== 0) {\\n dist -= base_dist[code];\\n send_bits(s, dist, extra); /* send the extra distance bits */\\n }\\n } /* literal or match pair ? */\\n\\n /* Check that the overlay between pending_buf and sym_buf is ok: */\\n //Assert(s->pending < s->lit_bufsize + sx, \\\"pendingBuf overflow\\\");\\n\\n } while (sx < s.sym_next);\\n }\\n\\n send_code(s, END_BLOCK, ltree);\\n};\\n\\n\\n/* ===========================================================================\\n * Construct one Huffman tree and assigns the code bit strings and lengths.\\n * Update the total bit length for the current block.\\n * IN assertion: the field freq is set for all tree elements.\\n * OUT assertions: the fields len and code are set to the optimal bit length\\n * and corresponding code. The length opt_len is updated; static_len is\\n * also updated if stree is not null. The field max_code is set.\\n */\\nconst build_tree = (s, desc) => {\\n// deflate_state *s;\\n// tree_desc *desc; /* the tree descriptor */\\n\\n const tree = desc.dyn_tree;\\n const stree = desc.stat_desc.static_tree;\\n const has_stree = desc.stat_desc.has_stree;\\n const elems = desc.stat_desc.elems;\\n let n, m; /* iterate over heap elements */\\n let max_code = -1; /* largest code with non zero frequency */\\n let node; /* new node being created */\\n\\n /* Construct the initial heap, with least frequent element in\\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\\n * heap[0] is not used.\\n */\\n s.heap_len = 0;\\n s.heap_max = HEAP_SIZE;\\n\\n for (n = 0; n < elems; n++) {\\n if (tree[n * 2]/*.Freq*/ !== 0) {\\n s.heap[++s.heap_len] = max_code = n;\\n s.depth[n] = 0;\\n\\n } else {\\n tree[n * 2 + 1]/*.Len*/ = 0;\\n }\\n }\\n\\n /* The pkzip format requires that at least one distance code exists,\\n * and that at least one bit should be sent even if there is only one\\n * possible code. So to avoid special checks later on we force at least\\n * two codes of non zero frequency.\\n */\\n while (s.heap_len < 2) {\\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\\n tree[node * 2]/*.Freq*/ = 1;\\n s.depth[node] = 0;\\n s.opt_len--;\\n\\n if (has_stree) {\\n s.static_len -= stree[node * 2 + 1]/*.Len*/;\\n }\\n /* node is 0 or 1 so it does not have extra bits */\\n }\\n desc.max_code = max_code;\\n\\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\\n * establish sub-heaps of increasing lengths:\\n */\\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\\n\\n /* Construct the Huffman tree by repeatedly combining the least two\\n * frequent nodes.\\n */\\n node = elems; /* next internal node of the tree */\\n do {\\n //pqremove(s, tree, n); /* n = node of least frequency */\\n /*** pqremove ***/\\n n = s.heap[1/*SMALLEST*/];\\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\\n pqdownheap(s, tree, 1/*SMALLEST*/);\\n /***/\\n\\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\\n\\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\\n s.heap[--s.heap_max] = m;\\n\\n /* Create a new node father of n and m */\\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\\n tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\\n\\n /* and insert the new node in the heap */\\n s.heap[1/*SMALLEST*/] = node++;\\n pqdownheap(s, tree, 1/*SMALLEST*/);\\n\\n } while (s.heap_len >= 2);\\n\\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\\n\\n /* At this point, the fields freq and dad are set. We can now\\n * generate the bit lengths.\\n */\\n gen_bitlen(s, desc);\\n\\n /* The field len is now set, we can generate the bit codes */\\n gen_codes(tree, max_code, s.bl_count);\\n};\\n\\n\\n/* ===========================================================================\\n * Scan a literal or distance tree to determine the frequencies of the codes\\n * in the bit length tree.\\n */\\nconst scan_tree = (s, tree, max_code) => {\\n// deflate_state *s;\\n// ct_data *tree; /* the tree to be scanned */\\n// int max_code; /* and its largest code of non zero frequency */\\n\\n let n; /* iterates over all tree elements */\\n let prevlen = -1; /* last emitted length */\\n let curlen; /* length of current code */\\n\\n let nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\\n\\n let count = 0; /* repeat count of the current code */\\n let max_count = 7; /* max repeat count */\\n let min_count = 4; /* min repeat count */\\n\\n if (nextlen === 0) {\\n max_count = 138;\\n min_count = 3;\\n }\\n tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\\n\\n for (n = 0; n <= max_code; n++) {\\n curlen = nextlen;\\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\\n\\n if (++count < max_count && curlen === nextlen) {\\n continue;\\n\\n } else if (count < min_count) {\\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\\n\\n } else if (curlen !== 0) {\\n\\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\\n s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\\n\\n } else if (count <= 10) {\\n s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\\n\\n } else {\\n s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\\n }\\n\\n count = 0;\\n prevlen = curlen;\\n\\n if (nextlen === 0) {\\n max_count = 138;\\n min_count = 3;\\n\\n } else if (curlen === nextlen) {\\n max_count = 6;\\n min_count = 3;\\n\\n } else {\\n max_count = 7;\\n min_count = 4;\\n }\\n }\\n};\\n\\n\\n/* ===========================================================================\\n * Send a literal or distance tree in compressed form, using the codes in\\n * bl_tree.\\n */\\nconst send_tree = (s, tree, max_code) => {\\n// deflate_state *s;\\n// ct_data *tree; /* the tree to be scanned */\\n// int max_code; /* and its largest code of non zero frequency */\\n\\n let n; /* iterates over all tree elements */\\n let prevlen = -1; /* last emitted length */\\n let curlen; /* length of current code */\\n\\n let nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\\n\\n let count = 0; /* repeat count of the current code */\\n let max_count = 7; /* max repeat count */\\n let min_count = 4; /* min repeat count */\\n\\n /* tree[max_code+1].Len = -1; */ /* guard already set */\\n if (nextlen === 0) {\\n max_count = 138;\\n min_count = 3;\\n }\\n\\n for (n = 0; n <= max_code; n++) {\\n curlen = nextlen;\\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\\n\\n if (++count < max_count && curlen === nextlen) {\\n continue;\\n\\n } else if (count < min_count) {\\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\\n\\n } else if (curlen !== 0) {\\n if (curlen !== prevlen) {\\n send_code(s, curlen, s.bl_tree);\\n count--;\\n }\\n //Assert(count >= 3 && count <= 6, \\\" 3_6?\\\");\\n send_code(s, REP_3_6, s.bl_tree);\\n send_bits(s, count - 3, 2);\\n\\n } else if (count <= 10) {\\n send_code(s, REPZ_3_10, s.bl_tree);\\n send_bits(s, count - 3, 3);\\n\\n } else {\\n send_code(s, REPZ_11_138, s.bl_tree);\\n send_bits(s, count - 11, 7);\\n }\\n\\n count = 0;\\n prevlen = curlen;\\n if (nextlen === 0) {\\n max_count = 138;\\n min_count = 3;\\n\\n } else if (curlen === nextlen) {\\n max_count = 6;\\n min_count = 3;\\n\\n } else {\\n max_count = 7;\\n min_count = 4;\\n }\\n }\\n};\\n\\n\\n/* ===========================================================================\\n * Construct the Huffman tree for the bit lengths and return the index in\\n * bl_order of the last bit length code to send.\\n */\\nconst build_bl_tree = (s) => {\\n\\n let max_blindex; /* index of last bit length code of non zero freq */\\n\\n /* Determine the bit length frequencies for literal and distance trees */\\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\\n\\n /* Build the bit length tree: */\\n build_tree(s, s.bl_desc);\\n /* opt_len now includes the length of the tree representations, except\\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\\n */\\n\\n /* Determine the number of bit length codes to send. The pkzip format\\n * requires that at least 4 bit length codes be sent. (appnote.txt says\\n * 3 but the actual value used is 4.)\\n */\\n for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {\\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\\n break;\\n }\\n }\\n /* Update opt_len to include the bit length tree and counts */\\n s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\\n //Tracev((stderr, \\\"\\\\ndyn trees: dyn %ld, stat %ld\\\",\\n // s->opt_len, s->static_len));\\n\\n return max_blindex;\\n};\\n\\n\\n/* ===========================================================================\\n * Send the header for a block using dynamic Huffman trees: the counts, the\\n * lengths of the bit length codes, the literal tree and the distance tree.\\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\\n */\\nconst send_all_trees = (s, lcodes, dcodes, blcodes) => {\\n// deflate_state *s;\\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\\n\\n let rank; /* index in bl_order */\\n\\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \\\"not enough codes\\\");\\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\\n // \\\"too many codes\\\");\\n //Tracev((stderr, \\\"\\\\nbl counts: \\\"));\\n send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\\n send_bits(s, dcodes - 1, 5);\\n send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */\\n for (rank = 0; rank < blcodes; rank++) {\\n //Tracev((stderr, \\\"\\\\nbl code %2d \\\", bl_order[rank]));\\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\\n }\\n //Tracev((stderr, \\\"\\\\nbl tree: sent %ld\\\", s->bits_sent));\\n\\n send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\\n //Tracev((stderr, \\\"\\\\nlit tree: sent %ld\\\", s->bits_sent));\\n\\n send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\\n //Tracev((stderr, \\\"\\\\ndist tree: sent %ld\\\", s->bits_sent));\\n};\\n\\n\\n/* ===========================================================================\\n * Check if the data type is TEXT or BINARY, using the following algorithm:\\n * - TEXT if the two conditions below are satisfied:\\n * a) There are no non-portable control characters belonging to the\\n * \\\"block list\\\" (0..6, 14..25, 28..31).\\n * b) There is at least one printable character belonging to the\\n * \\\"allow list\\\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\\n * - BINARY otherwise.\\n * - The following partially-portable control characters form a\\n * \\\"gray list\\\" that is ignored in this detection algorithm:\\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\\n * IN assertion: the fields Freq of dyn_ltree are set.\\n */\\nconst detect_data_type = (s) => {\\n /* block_mask is the bit mask of block-listed bytes\\n * set bits 0..6, 14..25, and 28..31\\n * 0xf3ffc07f = binary 11110011111111111100000001111111\\n */\\n let block_mask = 0xf3ffc07f;\\n let n;\\n\\n /* Check for non-textual (\\\"block-listed\\\") bytes. */\\n for (n = 0; n <= 31; n++, block_mask >>>= 1) {\\n if ((block_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\\n return Z_BINARY;\\n }\\n }\\n\\n /* Check for textual (\\\"allow-listed\\\") bytes. */\\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\\n return Z_TEXT;\\n }\\n for (n = 32; n < LITERALS; n++) {\\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\\n return Z_TEXT;\\n }\\n }\\n\\n /* There are no \\\"block-listed\\\" or \\\"allow-listed\\\" bytes:\\n * this stream either is empty or has tolerated (\\\"gray-listed\\\") bytes only.\\n */\\n return Z_BINARY;\\n};\\n\\n\\nlet static_init_done = false;\\n\\n/* ===========================================================================\\n * Initialize the tree data structures for a new zlib stream.\\n */\\nconst _tr_init = (s) =>\\n{\\n\\n if (!static_init_done) {\\n tr_static_init();\\n static_init_done = true;\\n }\\n\\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\\n\\n s.bi_buf = 0;\\n s.bi_valid = 0;\\n\\n /* Initialize the first block of the first file: */\\n init_block(s);\\n};\\n\\n\\n/* ===========================================================================\\n * Send a stored block\\n */\\nconst _tr_stored_block = (s, buf, stored_len, last) => {\\n//DeflateState *s;\\n//charf *buf; /* input block */\\n//ulg stored_len; /* length of input block */\\n//int last; /* one if this is the last block for a file */\\n\\n send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */\\n bi_windup(s); /* align on byte boundary */\\n put_short(s, stored_len);\\n put_short(s, ~stored_len);\\n if (stored_len) {\\n s.pending_buf.set(s.window.subarray(buf, buf + stored_len), s.pending);\\n }\\n s.pending += stored_len;\\n};\\n\\n\\n/* ===========================================================================\\n * Send one empty static block to give enough lookahead for inflate.\\n * This takes 10 bits, of which 7 may remain in the bit buffer.\\n */\\nconst _tr_align = (s) => {\\n send_bits(s, STATIC_TREES << 1, 3);\\n send_code(s, END_BLOCK, static_ltree);\\n bi_flush(s);\\n};\\n\\n\\n/* ===========================================================================\\n * Determine the best encoding for the current block: dynamic trees, static\\n * trees or store, and write out the encoded block.\\n */\\nconst _tr_flush_block = (s, buf, stored_len, last) => {\\n//DeflateState *s;\\n//charf *buf; /* input block, or NULL if too old */\\n//ulg stored_len; /* length of input block */\\n//int last; /* one if this is the last block for a file */\\n\\n let opt_lenb, static_lenb; /* opt_len and static_len in bytes */\\n let max_blindex = 0; /* index of last bit length code of non zero freq */\\n\\n /* Build the Huffman trees unless a stored block is forced */\\n if (s.level > 0) {\\n\\n /* Check if the file is binary or text */\\n if (s.strm.data_type === Z_UNKNOWN) {\\n s.strm.data_type = detect_data_type(s);\\n }\\n\\n /* Construct the literal and distance trees */\\n build_tree(s, s.l_desc);\\n // Tracev((stderr, \\\"\\\\nlit data: dyn %ld, stat %ld\\\", s->opt_len,\\n // s->static_len));\\n\\n build_tree(s, s.d_desc);\\n // Tracev((stderr, \\\"\\\\ndist data: dyn %ld, stat %ld\\\", s->opt_len,\\n // s->static_len));\\n /* At this point, opt_len and static_len are the total bit lengths of\\n * the compressed block data, excluding the tree representations.\\n */\\n\\n /* Build the bit length tree for the above two trees, and get the index\\n * in bl_order of the last bit length code to send.\\n */\\n max_blindex = build_bl_tree(s);\\n\\n /* Determine the best encoding. Compute the block lengths in bytes. */\\n opt_lenb = (s.opt_len + 3 + 7) >>> 3;\\n static_lenb = (s.static_len + 3 + 7) >>> 3;\\n\\n // Tracev((stderr, \\\"\\\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \\\",\\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\\n // s->sym_next / 3));\\n\\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\\n\\n } else {\\n // Assert(buf != (char*)0, \\\"lost buf\\\");\\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\\n }\\n\\n if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\\n /* 4: two words for the lengths */\\n\\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\\n * Otherwise we can't have processed more than WSIZE input bytes since\\n * the last block flush, because compression would have been\\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\\n * transform a block into a stored block.\\n */\\n _tr_stored_block(s, buf, stored_len, last);\\n\\n } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\\n\\n send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\\n compress_block(s, static_ltree, static_dtree);\\n\\n } else {\\n send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\\n send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\\n }\\n // Assert (s->compressed_len == s->bits_sent, \\\"bad compressed size\\\");\\n /* The above check is made mod 2^32, for files larger than 512 MB\\n * and uLong implemented on 32 bits.\\n */\\n init_block(s);\\n\\n if (last) {\\n bi_windup(s);\\n }\\n // Tracev((stderr,\\\"\\\\ncomprlen %lu(%lu) \\\", s->compressed_len>>3,\\n // s->compressed_len-7*last));\\n};\\n\\n/* ===========================================================================\\n * Save the match info and tally the frequency counts. Return true if\\n * the current block must be flushed.\\n */\\nconst _tr_tally = (s, dist, lc) => {\\n// deflate_state *s;\\n// unsigned dist; /* distance of matched string */\\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\\n\\n s.pending_buf[s.sym_buf + s.sym_next++] = dist;\\n s.pending_buf[s.sym_buf + s.sym_next++] = dist >> 8;\\n s.pending_buf[s.sym_buf + s.sym_next++] = lc;\\n if (dist === 0) {\\n /* lc is the unmatched char */\\n s.dyn_ltree[lc * 2]/*.Freq*/++;\\n } else {\\n s.matches++;\\n /* Here, lc is the match length - MIN_MATCH */\\n dist--; /* dist = match distance - 1 */\\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\\n // (ush)d_code(dist) < (ush)D_CODES, \\\"_tr_tally: bad match\\\");\\n\\n s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;\\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\\n }\\n\\n return (s.sym_next === s.sym_end);\\n};\\n\\nmodule.exports._tr_init = _tr_init;\\nmodule.exports._tr_stored_block = _tr_stored_block;\\nmodule.exports._tr_flush_block = _tr_flush_block;\\nmodule.exports._tr_tally = _tr_tally;\\nmodule.exports._tr_align = _tr_align;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/zlib/trees.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/pako/lib/zlib/zstream.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/pako/lib/zlib/zstream.js ***!\n \\***********************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\n\\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\\n//\\n// This software is provided 'as-is', without any express or implied\\n// warranty. In no event will the authors be held liable for any damages\\n// arising from the use of this software.\\n//\\n// Permission is granted to anyone to use this software for any purpose,\\n// including commercial applications, and to alter it and redistribute it\\n// freely, subject to the following restrictions:\\n//\\n// 1. The origin of this software must not be misrepresented; you must not\\n// claim that you wrote the original software. If you use this software\\n// in a product, an acknowledgment in the product documentation would be\\n// appreciated but is not required.\\n// 2. Altered source versions must be plainly marked as such, and must not be\\n// misrepresented as being the original software.\\n// 3. This notice may not be removed or altered from any source distribution.\\n\\nfunction ZStream() {\\n /* next input byte */\\n this.input = null; // JS specific, because we have no pointers\\n this.next_in = 0;\\n /* number of bytes available at input */\\n this.avail_in = 0;\\n /* total number of input bytes read so far */\\n this.total_in = 0;\\n /* next output byte should be put there */\\n this.output = null; // JS specific, because we have no pointers\\n this.next_out = 0;\\n /* remaining free space at output */\\n this.avail_out = 0;\\n /* total number of bytes output so far */\\n this.total_out = 0;\\n /* last error message, NULL if no error */\\n this.msg = ''/*Z_NULL*/;\\n /* not visible by applications */\\n this.state = null;\\n /* best guess about the data type: binary or text */\\n this.data_type = 2/*Z_UNKNOWN*/;\\n /* adler32 value of the uncompressed data */\\n this.adler = 0;\\n}\\n\\nmodule.exports = ZStream;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/pako/lib/zlib/zstream.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/protobufjs/minimal.js\":\n/*!********************************************!*\\\n !*** ./node_modules/protobufjs/minimal.js ***!\n \\********************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"// minimal library entry point.\\n\\n\\nmodule.exports = __webpack_require__(/*! ./src/index-minimal */ \\\"./node_modules/protobufjs/src/index-minimal.js\\\");\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/protobufjs/minimal.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/protobufjs/src/index-minimal.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/protobufjs/src/index-minimal.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nvar protobuf = exports;\\n\\n/**\\n * Build type, one of `\\\"full\\\"`, `\\\"light\\\"` or `\\\"minimal\\\"`.\\n * @name build\\n * @type {string}\\n * @const\\n */\\nprotobuf.build = \\\"minimal\\\";\\n\\n// Serialization\\nprotobuf.Writer = __webpack_require__(/*! ./writer */ \\\"./node_modules/protobufjs/src/writer.js\\\");\\nprotobuf.BufferWriter = __webpack_require__(/*! ./writer_buffer */ \\\"./node_modules/protobufjs/src/writer_buffer.js\\\");\\nprotobuf.Reader = __webpack_require__(/*! ./reader */ \\\"./node_modules/protobufjs/src/reader.js\\\");\\nprotobuf.BufferReader = __webpack_require__(/*! ./reader_buffer */ \\\"./node_modules/protobufjs/src/reader_buffer.js\\\");\\n\\n// Utility\\nprotobuf.util = __webpack_require__(/*! ./util/minimal */ \\\"./node_modules/protobufjs/src/util/minimal.js\\\");\\nprotobuf.rpc = __webpack_require__(/*! ./rpc */ \\\"./node_modules/protobufjs/src/rpc.js\\\");\\nprotobuf.roots = __webpack_require__(/*! ./roots */ \\\"./node_modules/protobufjs/src/roots.js\\\");\\nprotobuf.configure = configure;\\n\\n/* istanbul ignore next */\\n/**\\n * Reconfigures the library according to the environment.\\n * @returns {undefined}\\n */\\nfunction configure() {\\n protobuf.util._configure();\\n protobuf.Writer._configure(protobuf.BufferWriter);\\n protobuf.Reader._configure(protobuf.BufferReader);\\n}\\n\\n// Set up buffer utility according to the environment\\nconfigure();\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/protobufjs/src/index-minimal.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/protobufjs/src/reader.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/protobufjs/src/reader.js ***!\n \\***********************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nmodule.exports = Reader;\\n\\nvar util = __webpack_require__(/*! ./util/minimal */ \\\"./node_modules/protobufjs/src/util/minimal.js\\\");\\n\\nvar BufferReader; // cyclic\\n\\nvar LongBits = util.LongBits,\\n utf8 = util.utf8;\\n\\n/* istanbul ignore next */\\nfunction indexOutOfRange(reader, writeLength) {\\n return RangeError(\\\"index out of range: \\\" + reader.pos + \\\" + \\\" + (writeLength || 1) + \\\" > \\\" + reader.len);\\n}\\n\\n/**\\n * Constructs a new reader instance using the specified buffer.\\n * @classdesc Wire format reader using `Uint8Array` if available, otherwise `Array`.\\n * @constructor\\n * @param {Uint8Array} buffer Buffer to read from\\n */\\nfunction Reader(buffer) {\\n\\n /**\\n * Read buffer.\\n * @type {Uint8Array}\\n */\\n this.buf = buffer;\\n\\n /**\\n * Read buffer position.\\n * @type {number}\\n */\\n this.pos = 0;\\n\\n /**\\n * Read buffer length.\\n * @type {number}\\n */\\n this.len = buffer.length;\\n}\\n\\nvar create_array = typeof Uint8Array !== \\\"undefined\\\"\\n ? function create_typed_array(buffer) {\\n if (buffer instanceof Uint8Array || Array.isArray(buffer))\\n return new Reader(buffer);\\n throw Error(\\\"illegal buffer\\\");\\n }\\n /* istanbul ignore next */\\n : function create_array(buffer) {\\n if (Array.isArray(buffer))\\n return new Reader(buffer);\\n throw Error(\\\"illegal buffer\\\");\\n };\\n\\nvar create = function create() {\\n return util.Buffer\\n ? function create_buffer_setup(buffer) {\\n return (Reader.create = function create_buffer(buffer) {\\n return util.Buffer.isBuffer(buffer)\\n ? new BufferReader(buffer)\\n /* istanbul ignore next */\\n : create_array(buffer);\\n })(buffer);\\n }\\n /* istanbul ignore next */\\n : create_array;\\n};\\n\\n/**\\n * Creates a new reader using the specified buffer.\\n * @function\\n * @param {Uint8Array|Buffer} buffer Buffer to read from\\n * @returns {Reader|BufferReader} A {@link BufferReader} if `buffer` is a Buffer, otherwise a {@link Reader}\\n * @throws {Error} If `buffer` is not a valid buffer\\n */\\nReader.create = create();\\n\\nReader.prototype._slice = util.Array.prototype.subarray || /* istanbul ignore next */ util.Array.prototype.slice;\\n\\n/**\\n * Reads a varint as an unsigned 32 bit value.\\n * @function\\n * @returns {number} Value read\\n */\\nReader.prototype.uint32 = (function read_uint32_setup() {\\n var value = 4294967295; // optimizer type-hint, tends to deopt otherwise (?!)\\n return function read_uint32() {\\n value = ( this.buf[this.pos] & 127 ) >>> 0; if (this.buf[this.pos++] < 128) return value;\\n value = (value | (this.buf[this.pos] & 127) << 7) >>> 0; if (this.buf[this.pos++] < 128) return value;\\n value = (value | (this.buf[this.pos] & 127) << 14) >>> 0; if (this.buf[this.pos++] < 128) return value;\\n value = (value | (this.buf[this.pos] & 127) << 21) >>> 0; if (this.buf[this.pos++] < 128) return value;\\n value = (value | (this.buf[this.pos] & 15) << 28) >>> 0; if (this.buf[this.pos++] < 128) return value;\\n\\n /* istanbul ignore if */\\n if ((this.pos += 5) > this.len) {\\n this.pos = this.len;\\n throw indexOutOfRange(this, 10);\\n }\\n return value;\\n };\\n})();\\n\\n/**\\n * Reads a varint as a signed 32 bit value.\\n * @returns {number} Value read\\n */\\nReader.prototype.int32 = function read_int32() {\\n return this.uint32() | 0;\\n};\\n\\n/**\\n * Reads a zig-zag encoded varint as a signed 32 bit value.\\n * @returns {number} Value read\\n */\\nReader.prototype.sint32 = function read_sint32() {\\n var value = this.uint32();\\n return value >>> 1 ^ -(value & 1) | 0;\\n};\\n\\n/* eslint-disable no-invalid-this */\\n\\nfunction readLongVarint() {\\n // tends to deopt with local vars for octet etc.\\n var bits = new LongBits(0, 0);\\n var i = 0;\\n if (this.len - this.pos > 4) { // fast route (lo)\\n for (; i < 4; ++i) {\\n // 1st..4th\\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;\\n if (this.buf[this.pos++] < 128)\\n return bits;\\n }\\n // 5th\\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << 28) >>> 0;\\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) >> 4) >>> 0;\\n if (this.buf[this.pos++] < 128)\\n return bits;\\n i = 0;\\n } else {\\n for (; i < 3; ++i) {\\n /* istanbul ignore if */\\n if (this.pos >= this.len)\\n throw indexOutOfRange(this);\\n // 1st..3th\\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;\\n if (this.buf[this.pos++] < 128)\\n return bits;\\n }\\n // 4th\\n bits.lo = (bits.lo | (this.buf[this.pos++] & 127) << i * 7) >>> 0;\\n return bits;\\n }\\n if (this.len - this.pos > 4) { // fast route (hi)\\n for (; i < 5; ++i) {\\n // 6th..10th\\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;\\n if (this.buf[this.pos++] < 128)\\n return bits;\\n }\\n } else {\\n for (; i < 5; ++i) {\\n /* istanbul ignore if */\\n if (this.pos >= this.len)\\n throw indexOutOfRange(this);\\n // 6th..10th\\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;\\n if (this.buf[this.pos++] < 128)\\n return bits;\\n }\\n }\\n /* istanbul ignore next */\\n throw Error(\\\"invalid varint encoding\\\");\\n}\\n\\n/* eslint-enable no-invalid-this */\\n\\n/**\\n * Reads a varint as a signed 64 bit value.\\n * @name Reader#int64\\n * @function\\n * @returns {Long} Value read\\n */\\n\\n/**\\n * Reads a varint as an unsigned 64 bit value.\\n * @name Reader#uint64\\n * @function\\n * @returns {Long} Value read\\n */\\n\\n/**\\n * Reads a zig-zag encoded varint as a signed 64 bit value.\\n * @name Reader#sint64\\n * @function\\n * @returns {Long} Value read\\n */\\n\\n/**\\n * Reads a varint as a boolean.\\n * @returns {boolean} Value read\\n */\\nReader.prototype.bool = function read_bool() {\\n return this.uint32() !== 0;\\n};\\n\\nfunction readFixed32_end(buf, end) { // note that this uses `end`, not `pos`\\n return (buf[end - 4]\\n | buf[end - 3] << 8\\n | buf[end - 2] << 16\\n | buf[end - 1] << 24) >>> 0;\\n}\\n\\n/**\\n * Reads fixed 32 bits as an unsigned 32 bit integer.\\n * @returns {number} Value read\\n */\\nReader.prototype.fixed32 = function read_fixed32() {\\n\\n /* istanbul ignore if */\\n if (this.pos + 4 > this.len)\\n throw indexOutOfRange(this, 4);\\n\\n return readFixed32_end(this.buf, this.pos += 4);\\n};\\n\\n/**\\n * Reads fixed 32 bits as a signed 32 bit integer.\\n * @returns {number} Value read\\n */\\nReader.prototype.sfixed32 = function read_sfixed32() {\\n\\n /* istanbul ignore if */\\n if (this.pos + 4 > this.len)\\n throw indexOutOfRange(this, 4);\\n\\n return readFixed32_end(this.buf, this.pos += 4) | 0;\\n};\\n\\n/* eslint-disable no-invalid-this */\\n\\nfunction readFixed64(/* this: Reader */) {\\n\\n /* istanbul ignore if */\\n if (this.pos + 8 > this.len)\\n throw indexOutOfRange(this, 8);\\n\\n return new LongBits(readFixed32_end(this.buf, this.pos += 4), readFixed32_end(this.buf, this.pos += 4));\\n}\\n\\n/* eslint-enable no-invalid-this */\\n\\n/**\\n * Reads fixed 64 bits.\\n * @name Reader#fixed64\\n * @function\\n * @returns {Long} Value read\\n */\\n\\n/**\\n * Reads zig-zag encoded fixed 64 bits.\\n * @name Reader#sfixed64\\n * @function\\n * @returns {Long} Value read\\n */\\n\\n/**\\n * Reads a float (32 bit) as a number.\\n * @function\\n * @returns {number} Value read\\n */\\nReader.prototype.float = function read_float() {\\n\\n /* istanbul ignore if */\\n if (this.pos + 4 > this.len)\\n throw indexOutOfRange(this, 4);\\n\\n var value = util.float.readFloatLE(this.buf, this.pos);\\n this.pos += 4;\\n return value;\\n};\\n\\n/**\\n * Reads a double (64 bit float) as a number.\\n * @function\\n * @returns {number} Value read\\n */\\nReader.prototype.double = function read_double() {\\n\\n /* istanbul ignore if */\\n if (this.pos + 8 > this.len)\\n throw indexOutOfRange(this, 4);\\n\\n var value = util.float.readDoubleLE(this.buf, this.pos);\\n this.pos += 8;\\n return value;\\n};\\n\\n/**\\n * Reads a sequence of bytes preceeded by its length as a varint.\\n * @returns {Uint8Array} Value read\\n */\\nReader.prototype.bytes = function read_bytes() {\\n var length = this.uint32(),\\n start = this.pos,\\n end = this.pos + length;\\n\\n /* istanbul ignore if */\\n if (end > this.len)\\n throw indexOutOfRange(this, length);\\n\\n this.pos += length;\\n if (Array.isArray(this.buf)) // plain array\\n return this.buf.slice(start, end);\\n return start === end // fix for IE 10/Win8 and others' subarray returning array of size 1\\n ? new this.buf.constructor(0)\\n : this._slice.call(this.buf, start, end);\\n};\\n\\n/**\\n * Reads a string preceeded by its byte length as a varint.\\n * @returns {string} Value read\\n */\\nReader.prototype.string = function read_string() {\\n var bytes = this.bytes();\\n return utf8.read(bytes, 0, bytes.length);\\n};\\n\\n/**\\n * Skips the specified number of bytes if specified, otherwise skips a varint.\\n * @param {number} [length] Length if known, otherwise a varint is assumed\\n * @returns {Reader} `this`\\n */\\nReader.prototype.skip = function skip(length) {\\n if (typeof length === \\\"number\\\") {\\n /* istanbul ignore if */\\n if (this.pos + length > this.len)\\n throw indexOutOfRange(this, length);\\n this.pos += length;\\n } else {\\n do {\\n /* istanbul ignore if */\\n if (this.pos >= this.len)\\n throw indexOutOfRange(this);\\n } while (this.buf[this.pos++] & 128);\\n }\\n return this;\\n};\\n\\n/**\\n * Skips the next element of the specified wire type.\\n * @param {number} wireType Wire type received\\n * @returns {Reader} `this`\\n */\\nReader.prototype.skipType = function(wireType) {\\n switch (wireType) {\\n case 0:\\n this.skip();\\n break;\\n case 1:\\n this.skip(8);\\n break;\\n case 2:\\n this.skip(this.uint32());\\n break;\\n case 3:\\n while ((wireType = this.uint32() & 7) !== 4) {\\n this.skipType(wireType);\\n }\\n break;\\n case 5:\\n this.skip(4);\\n break;\\n\\n /* istanbul ignore next */\\n default:\\n throw Error(\\\"invalid wire type \\\" + wireType + \\\" at offset \\\" + this.pos);\\n }\\n return this;\\n};\\n\\nReader._configure = function(BufferReader_) {\\n BufferReader = BufferReader_;\\n Reader.create = create();\\n BufferReader._configure();\\n\\n var fn = util.Long ? \\\"toLong\\\" : /* istanbul ignore next */ \\\"toNumber\\\";\\n util.merge(Reader.prototype, {\\n\\n int64: function read_int64() {\\n return readLongVarint.call(this)[fn](false);\\n },\\n\\n uint64: function read_uint64() {\\n return readLongVarint.call(this)[fn](true);\\n },\\n\\n sint64: function read_sint64() {\\n return readLongVarint.call(this).zzDecode()[fn](false);\\n },\\n\\n fixed64: function read_fixed64() {\\n return readFixed64.call(this)[fn](true);\\n },\\n\\n sfixed64: function read_sfixed64() {\\n return readFixed64.call(this)[fn](false);\\n }\\n\\n });\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/protobufjs/src/reader.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/protobufjs/src/reader_buffer.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/protobufjs/src/reader_buffer.js ***!\n \\******************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nmodule.exports = BufferReader;\\n\\n// extends Reader\\nvar Reader = __webpack_require__(/*! ./reader */ \\\"./node_modules/protobufjs/src/reader.js\\\");\\n(BufferReader.prototype = Object.create(Reader.prototype)).constructor = BufferReader;\\n\\nvar util = __webpack_require__(/*! ./util/minimal */ \\\"./node_modules/protobufjs/src/util/minimal.js\\\");\\n\\n/**\\n * Constructs a new buffer reader instance.\\n * @classdesc Wire format reader using node buffers.\\n * @extends Reader\\n * @constructor\\n * @param {Buffer} buffer Buffer to read from\\n */\\nfunction BufferReader(buffer) {\\n Reader.call(this, buffer);\\n\\n /**\\n * Read buffer.\\n * @name BufferReader#buf\\n * @type {Buffer}\\n */\\n}\\n\\nBufferReader._configure = function () {\\n /* istanbul ignore else */\\n if (util.Buffer)\\n BufferReader.prototype._slice = util.Buffer.prototype.slice;\\n};\\n\\n\\n/**\\n * @override\\n */\\nBufferReader.prototype.string = function read_string_buffer() {\\n var len = this.uint32(); // modifies pos\\n return this.buf.utf8Slice\\n ? this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + len, this.len))\\n : this.buf.toString(\\\"utf-8\\\", this.pos, this.pos = Math.min(this.pos + len, this.len));\\n};\\n\\n/**\\n * Reads a sequence of bytes preceeded by its length as a varint.\\n * @name BufferReader#bytes\\n * @function\\n * @returns {Buffer} Value read\\n */\\n\\nBufferReader._configure();\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/protobufjs/src/reader_buffer.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/protobufjs/src/roots.js\":\n/*!**********************************************!*\\\n !*** ./node_modules/protobufjs/src/roots.js ***!\n \\**********************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"\\nmodule.exports = {};\\n\\n/**\\n * Named roots.\\n * This is where pbjs stores generated structures (the option `-r, --root` specifies a name).\\n * Can also be used manually to make roots available accross modules.\\n * @name roots\\n * @type {Object.<string,Root>}\\n * @example\\n * // pbjs -r myroot -o compiled.js ...\\n *\\n * // in another module:\\n * require(\\\"./compiled.js\\\");\\n *\\n * // in any subsequent module:\\n * var root = protobuf.roots[\\\"myroot\\\"];\\n */\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/protobufjs/src/roots.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/protobufjs/src/rpc.js\":\n/*!********************************************!*\\\n !*** ./node_modules/protobufjs/src/rpc.js ***!\n \\********************************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\n\\n/**\\n * Streaming RPC helpers.\\n * @namespace\\n */\\nvar rpc = exports;\\n\\n/**\\n * RPC implementation passed to {@link Service#create} performing a service request on network level, i.e. by utilizing http requests or websockets.\\n * @typedef RPCImpl\\n * @type {function}\\n * @param {Method|rpc.ServiceMethod<Message<{}>,Message<{}>>} method Reflected or static method being called\\n * @param {Uint8Array} requestData Request data\\n * @param {RPCImplCallback} callback Callback function\\n * @returns {undefined}\\n * @example\\n * function rpcImpl(method, requestData, callback) {\\n * if (protobuf.util.lcFirst(method.name) !== \\\"myMethod\\\") // compatible with static code\\n * throw Error(\\\"no such method\\\");\\n * asynchronouslyObtainAResponse(requestData, function(err, responseData) {\\n * callback(err, responseData);\\n * });\\n * }\\n */\\n\\n/**\\n * Node-style callback as used by {@link RPCImpl}.\\n * @typedef RPCImplCallback\\n * @type {function}\\n * @param {Error|null} error Error, if any, otherwise `null`\\n * @param {Uint8Array|null} [response] Response data or `null` to signal end of stream, if there hasn't been an error\\n * @returns {undefined}\\n */\\n\\nrpc.Service = __webpack_require__(/*! ./rpc/service */ \\\"./node_modules/protobufjs/src/rpc/service.js\\\");\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/protobufjs/src/rpc.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/protobufjs/src/rpc/service.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/protobufjs/src/rpc/service.js ***!\n \\****************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nmodule.exports = Service;\\n\\nvar util = __webpack_require__(/*! ../util/minimal */ \\\"./node_modules/protobufjs/src/util/minimal.js\\\");\\n\\n// Extends EventEmitter\\n(Service.prototype = Object.create(util.EventEmitter.prototype)).constructor = Service;\\n\\n/**\\n * A service method callback as used by {@link rpc.ServiceMethod|ServiceMethod}.\\n *\\n * Differs from {@link RPCImplCallback} in that it is an actual callback of a service method which may not return `response = null`.\\n * @typedef rpc.ServiceMethodCallback\\n * @template TRes extends Message<TRes>\\n * @type {function}\\n * @param {Error|null} error Error, if any\\n * @param {TRes} [response] Response message\\n * @returns {undefined}\\n */\\n\\n/**\\n * A service method part of a {@link rpc.Service} as created by {@link Service.create}.\\n * @typedef rpc.ServiceMethod\\n * @template TReq extends Message<TReq>\\n * @template TRes extends Message<TRes>\\n * @type {function}\\n * @param {TReq|Properties<TReq>} request Request message or plain object\\n * @param {rpc.ServiceMethodCallback<TRes>} [callback] Node-style callback called with the error, if any, and the response message\\n * @returns {Promise<Message<TRes>>} Promise if `callback` has been omitted, otherwise `undefined`\\n */\\n\\n/**\\n * Constructs a new RPC service instance.\\n * @classdesc An RPC service as returned by {@link Service#create}.\\n * @exports rpc.Service\\n * @extends util.EventEmitter\\n * @constructor\\n * @param {RPCImpl} rpcImpl RPC implementation\\n * @param {boolean} [requestDelimited=false] Whether requests are length-delimited\\n * @param {boolean} [responseDelimited=false] Whether responses are length-delimited\\n */\\nfunction Service(rpcImpl, requestDelimited, responseDelimited) {\\n\\n if (typeof rpcImpl !== \\\"function\\\")\\n throw TypeError(\\\"rpcImpl must be a function\\\");\\n\\n util.EventEmitter.call(this);\\n\\n /**\\n * RPC implementation. Becomes `null` once the service is ended.\\n * @type {RPCImpl|null}\\n */\\n this.rpcImpl = rpcImpl;\\n\\n /**\\n * Whether requests are length-delimited.\\n * @type {boolean}\\n */\\n this.requestDelimited = Boolean(requestDelimited);\\n\\n /**\\n * Whether responses are length-delimited.\\n * @type {boolean}\\n */\\n this.responseDelimited = Boolean(responseDelimited);\\n}\\n\\n/**\\n * Calls a service method through {@link rpc.Service#rpcImpl|rpcImpl}.\\n * @param {Method|rpc.ServiceMethod<TReq,TRes>} method Reflected or static method\\n * @param {Constructor<TReq>} requestCtor Request constructor\\n * @param {Constructor<TRes>} responseCtor Response constructor\\n * @param {TReq|Properties<TReq>} request Request message or plain object\\n * @param {rpc.ServiceMethodCallback<TRes>} callback Service callback\\n * @returns {undefined}\\n * @template TReq extends Message<TReq>\\n * @template TRes extends Message<TRes>\\n */\\nService.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) {\\n\\n if (!request)\\n throw TypeError(\\\"request must be specified\\\");\\n\\n var self = this;\\n if (!callback)\\n return util.asPromise(rpcCall, self, method, requestCtor, responseCtor, request);\\n\\n if (!self.rpcImpl) {\\n setTimeout(function() { callback(Error(\\\"already ended\\\")); }, 0);\\n return undefined;\\n }\\n\\n try {\\n return self.rpcImpl(\\n method,\\n requestCtor[self.requestDelimited ? \\\"encodeDelimited\\\" : \\\"encode\\\"](request).finish(),\\n function rpcCallback(err, response) {\\n\\n if (err) {\\n self.emit(\\\"error\\\", err, method);\\n return callback(err);\\n }\\n\\n if (response === null) {\\n self.end(/* endedByRPC */ true);\\n return undefined;\\n }\\n\\n if (!(response instanceof responseCtor)) {\\n try {\\n response = responseCtor[self.responseDelimited ? \\\"decodeDelimited\\\" : \\\"decode\\\"](response);\\n } catch (err) {\\n self.emit(\\\"error\\\", err, method);\\n return callback(err);\\n }\\n }\\n\\n self.emit(\\\"data\\\", response, method);\\n return callback(null, response);\\n }\\n );\\n } catch (err) {\\n self.emit(\\\"error\\\", err, method);\\n setTimeout(function() { callback(err); }, 0);\\n return undefined;\\n }\\n};\\n\\n/**\\n * Ends this service and emits the `end` event.\\n * @param {boolean} [endedByRPC=false] Whether the service has been ended by the RPC implementation.\\n * @returns {rpc.Service} `this`\\n */\\nService.prototype.end = function end(endedByRPC) {\\n if (this.rpcImpl) {\\n if (!endedByRPC) // signal end to rpcImpl\\n this.rpcImpl(null, null, null);\\n this.rpcImpl = null;\\n this.emit(\\\"end\\\").off();\\n }\\n return this;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/protobufjs/src/rpc/service.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/protobufjs/src/util/longbits.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/protobufjs/src/util/longbits.js ***!\n \\******************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nmodule.exports = LongBits;\\n\\nvar util = __webpack_require__(/*! ../util/minimal */ \\\"./node_modules/protobufjs/src/util/minimal.js\\\");\\n\\n/**\\n * Constructs new long bits.\\n * @classdesc Helper class for working with the low and high bits of a 64 bit value.\\n * @memberof util\\n * @constructor\\n * @param {number} lo Low 32 bits, unsigned\\n * @param {number} hi High 32 bits, unsigned\\n */\\nfunction LongBits(lo, hi) {\\n\\n // note that the casts below are theoretically unnecessary as of today, but older statically\\n // generated converter code might still call the ctor with signed 32bits. kept for compat.\\n\\n /**\\n * Low bits.\\n * @type {number}\\n */\\n this.lo = lo >>> 0;\\n\\n /**\\n * High bits.\\n * @type {number}\\n */\\n this.hi = hi >>> 0;\\n}\\n\\n/**\\n * Zero bits.\\n * @memberof util.LongBits\\n * @type {util.LongBits}\\n */\\nvar zero = LongBits.zero = new LongBits(0, 0);\\n\\nzero.toNumber = function() { return 0; };\\nzero.zzEncode = zero.zzDecode = function() { return this; };\\nzero.length = function() { return 1; };\\n\\n/**\\n * Zero hash.\\n * @memberof util.LongBits\\n * @type {string}\\n */\\nvar zeroHash = LongBits.zeroHash = \\\"\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\";\\n\\n/**\\n * Constructs new long bits from the specified number.\\n * @param {number} value Value\\n * @returns {util.LongBits} Instance\\n */\\nLongBits.fromNumber = function fromNumber(value) {\\n if (value === 0)\\n return zero;\\n var sign = value < 0;\\n if (sign)\\n value = -value;\\n var lo = value >>> 0,\\n hi = (value - lo) / 4294967296 >>> 0;\\n if (sign) {\\n hi = ~hi >>> 0;\\n lo = ~lo >>> 0;\\n if (++lo > 4294967295) {\\n lo = 0;\\n if (++hi > 4294967295)\\n hi = 0;\\n }\\n }\\n return new LongBits(lo, hi);\\n};\\n\\n/**\\n * Constructs new long bits from a number, long or string.\\n * @param {Long|number|string} value Value\\n * @returns {util.LongBits} Instance\\n */\\nLongBits.from = function from(value) {\\n if (typeof value === \\\"number\\\")\\n return LongBits.fromNumber(value);\\n if (util.isString(value)) {\\n /* istanbul ignore else */\\n if (util.Long)\\n value = util.Long.fromString(value);\\n else\\n return LongBits.fromNumber(parseInt(value, 10));\\n }\\n return value.low || value.high ? new LongBits(value.low >>> 0, value.high >>> 0) : zero;\\n};\\n\\n/**\\n * Converts this long bits to a possibly unsafe JavaScript number.\\n * @param {boolean} [unsigned=false] Whether unsigned or not\\n * @returns {number} Possibly unsafe number\\n */\\nLongBits.prototype.toNumber = function toNumber(unsigned) {\\n if (!unsigned && this.hi >>> 31) {\\n var lo = ~this.lo + 1 >>> 0,\\n hi = ~this.hi >>> 0;\\n if (!lo)\\n hi = hi + 1 >>> 0;\\n return -(lo + hi * 4294967296);\\n }\\n return this.lo + this.hi * 4294967296;\\n};\\n\\n/**\\n * Converts this long bits to a long.\\n * @param {boolean} [unsigned=false] Whether unsigned or not\\n * @returns {Long} Long\\n */\\nLongBits.prototype.toLong = function toLong(unsigned) {\\n return util.Long\\n ? new util.Long(this.lo | 0, this.hi | 0, Boolean(unsigned))\\n /* istanbul ignore next */\\n : { low: this.lo | 0, high: this.hi | 0, unsigned: Boolean(unsigned) };\\n};\\n\\nvar charCodeAt = String.prototype.charCodeAt;\\n\\n/**\\n * Constructs new long bits from the specified 8 characters long hash.\\n * @param {string} hash Hash\\n * @returns {util.LongBits} Bits\\n */\\nLongBits.fromHash = function fromHash(hash) {\\n if (hash === zeroHash)\\n return zero;\\n return new LongBits(\\n ( charCodeAt.call(hash, 0)\\n | charCodeAt.call(hash, 1) << 8\\n | charCodeAt.call(hash, 2) << 16\\n | charCodeAt.call(hash, 3) << 24) >>> 0\\n ,\\n ( charCodeAt.call(hash, 4)\\n | charCodeAt.call(hash, 5) << 8\\n | charCodeAt.call(hash, 6) << 16\\n | charCodeAt.call(hash, 7) << 24) >>> 0\\n );\\n};\\n\\n/**\\n * Converts this long bits to a 8 characters long hash.\\n * @returns {string} Hash\\n */\\nLongBits.prototype.toHash = function toHash() {\\n return String.fromCharCode(\\n this.lo & 255,\\n this.lo >>> 8 & 255,\\n this.lo >>> 16 & 255,\\n this.lo >>> 24 ,\\n this.hi & 255,\\n this.hi >>> 8 & 255,\\n this.hi >>> 16 & 255,\\n this.hi >>> 24\\n );\\n};\\n\\n/**\\n * Zig-zag encodes this long bits.\\n * @returns {util.LongBits} `this`\\n */\\nLongBits.prototype.zzEncode = function zzEncode() {\\n var mask = this.hi >> 31;\\n this.hi = ((this.hi << 1 | this.lo >>> 31) ^ mask) >>> 0;\\n this.lo = ( this.lo << 1 ^ mask) >>> 0;\\n return this;\\n};\\n\\n/**\\n * Zig-zag decodes this long bits.\\n * @returns {util.LongBits} `this`\\n */\\nLongBits.prototype.zzDecode = function zzDecode() {\\n var mask = -(this.lo & 1);\\n this.lo = ((this.lo >>> 1 | this.hi << 31) ^ mask) >>> 0;\\n this.hi = ( this.hi >>> 1 ^ mask) >>> 0;\\n return this;\\n};\\n\\n/**\\n * Calculates the length of this longbits when encoded as a varint.\\n * @returns {number} Length\\n */\\nLongBits.prototype.length = function length() {\\n var part0 = this.lo,\\n part1 = (this.lo >>> 28 | this.hi << 4) >>> 0,\\n part2 = this.hi >>> 24;\\n return part2 === 0\\n ? part1 === 0\\n ? part0 < 16384\\n ? part0 < 128 ? 1 : 2\\n : part0 < 2097152 ? 3 : 4\\n : part1 < 16384\\n ? part1 < 128 ? 5 : 6\\n : part1 < 2097152 ? 7 : 8\\n : part2 < 128 ? 9 : 10;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/protobufjs/src/util/longbits.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/protobufjs/src/util/minimal.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/protobufjs/src/util/minimal.js ***!\n \\*****************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\nvar util = exports;\\n\\n// used to return a Promise where callback is omitted\\nutil.asPromise = __webpack_require__(/*! @protobufjs/aspromise */ \\\"./node_modules/@protobufjs/aspromise/index.js\\\");\\n\\n// converts to / from base64 encoded strings\\nutil.base64 = __webpack_require__(/*! @protobufjs/base64 */ \\\"./node_modules/@protobufjs/base64/index.js\\\");\\n\\n// base class of rpc.Service\\nutil.EventEmitter = __webpack_require__(/*! @protobufjs/eventemitter */ \\\"./node_modules/@protobufjs/eventemitter/index.js\\\");\\n\\n// float handling accross browsers\\nutil.float = __webpack_require__(/*! @protobufjs/float */ \\\"./node_modules/@protobufjs/float/index.js\\\");\\n\\n// requires modules optionally and hides the call from bundlers\\nutil.inquire = __webpack_require__(/*! @protobufjs/inquire */ \\\"./node_modules/@protobufjs/inquire/index.js\\\");\\n\\n// converts to / from utf8 encoded strings\\nutil.utf8 = __webpack_require__(/*! @protobufjs/utf8 */ \\\"./node_modules/@protobufjs/utf8/index.js\\\");\\n\\n// provides a node-like buffer pool in the browser\\nutil.pool = __webpack_require__(/*! @protobufjs/pool */ \\\"./node_modules/@protobufjs/pool/index.js\\\");\\n\\n// utility to work with the low and high bits of a 64 bit value\\nutil.LongBits = __webpack_require__(/*! ./longbits */ \\\"./node_modules/protobufjs/src/util/longbits.js\\\");\\n\\n/**\\n * Whether running within node or not.\\n * @memberof util\\n * @type {boolean}\\n */\\nutil.isNode = Boolean(typeof __webpack_require__.g !== \\\"undefined\\\"\\n && __webpack_require__.g\\n && __webpack_require__.g.process\\n && __webpack_require__.g.process.versions\\n && __webpack_require__.g.process.versions.node);\\n\\n/**\\n * Global object reference.\\n * @memberof util\\n * @type {Object}\\n */\\nutil.global = util.isNode && __webpack_require__.g\\n || typeof window !== \\\"undefined\\\" && window\\n || typeof self !== \\\"undefined\\\" && self\\n || this; // eslint-disable-line no-invalid-this\\n\\n/**\\n * An immuable empty array.\\n * @memberof util\\n * @type {Array.<*>}\\n * @const\\n */\\nutil.emptyArray = Object.freeze ? Object.freeze([]) : /* istanbul ignore next */ []; // used on prototypes\\n\\n/**\\n * An immutable empty object.\\n * @type {Object}\\n * @const\\n */\\nutil.emptyObject = Object.freeze ? Object.freeze({}) : /* istanbul ignore next */ {}; // used on prototypes\\n\\n/**\\n * Tests if the specified value is an integer.\\n * @function\\n * @param {*} value Value to test\\n * @returns {boolean} `true` if the value is an integer\\n */\\nutil.isInteger = Number.isInteger || /* istanbul ignore next */ function isInteger(value) {\\n return typeof value === \\\"number\\\" && isFinite(value) && Math.floor(value) === value;\\n};\\n\\n/**\\n * Tests if the specified value is a string.\\n * @param {*} value Value to test\\n * @returns {boolean} `true` if the value is a string\\n */\\nutil.isString = function isString(value) {\\n return typeof value === \\\"string\\\" || value instanceof String;\\n};\\n\\n/**\\n * Tests if the specified value is a non-null object.\\n * @param {*} value Value to test\\n * @returns {boolean} `true` if the value is a non-null object\\n */\\nutil.isObject = function isObject(value) {\\n return value && typeof value === \\\"object\\\";\\n};\\n\\n/**\\n * Checks if a property on a message is considered to be present.\\n * This is an alias of {@link util.isSet}.\\n * @function\\n * @param {Object} obj Plain object or message instance\\n * @param {string} prop Property name\\n * @returns {boolean} `true` if considered to be present, otherwise `false`\\n */\\nutil.isset =\\n\\n/**\\n * Checks if a property on a message is considered to be present.\\n * @param {Object} obj Plain object or message instance\\n * @param {string} prop Property name\\n * @returns {boolean} `true` if considered to be present, otherwise `false`\\n */\\nutil.isSet = function isSet(obj, prop) {\\n var value = obj[prop];\\n if (value != null && obj.hasOwnProperty(prop)) // eslint-disable-line eqeqeq, no-prototype-builtins\\n return typeof value !== \\\"object\\\" || (Array.isArray(value) ? value.length : Object.keys(value).length) > 0;\\n return false;\\n};\\n\\n/**\\n * Any compatible Buffer instance.\\n * This is a minimal stand-alone definition of a Buffer instance. The actual type is that exported by node's typings.\\n * @interface Buffer\\n * @extends Uint8Array\\n */\\n\\n/**\\n * Node's Buffer class if available.\\n * @type {Constructor<Buffer>}\\n */\\nutil.Buffer = (function() {\\n try {\\n var Buffer = util.inquire(\\\"buffer\\\").Buffer;\\n // refuse to use non-node buffers if not explicitly assigned (perf reasons):\\n return Buffer.prototype.utf8Write ? Buffer : /* istanbul ignore next */ null;\\n } catch (e) {\\n /* istanbul ignore next */\\n return null;\\n }\\n})();\\n\\n// Internal alias of or polyfull for Buffer.from.\\nutil._Buffer_from = null;\\n\\n// Internal alias of or polyfill for Buffer.allocUnsafe.\\nutil._Buffer_allocUnsafe = null;\\n\\n/**\\n * Creates a new buffer of whatever type supported by the environment.\\n * @param {number|number[]} [sizeOrArray=0] Buffer size or number array\\n * @returns {Uint8Array|Buffer} Buffer\\n */\\nutil.newBuffer = function newBuffer(sizeOrArray) {\\n /* istanbul ignore next */\\n return typeof sizeOrArray === \\\"number\\\"\\n ? util.Buffer\\n ? util._Buffer_allocUnsafe(sizeOrArray)\\n : new util.Array(sizeOrArray)\\n : util.Buffer\\n ? util._Buffer_from(sizeOrArray)\\n : typeof Uint8Array === \\\"undefined\\\"\\n ? sizeOrArray\\n : new Uint8Array(sizeOrArray);\\n};\\n\\n/**\\n * Array implementation used in the browser. `Uint8Array` if supported, otherwise `Array`.\\n * @type {Constructor<Uint8Array>}\\n */\\nutil.Array = typeof Uint8Array !== \\\"undefined\\\" ? Uint8Array /* istanbul ignore next */ : Array;\\n\\n/**\\n * Any compatible Long instance.\\n * This is a minimal stand-alone definition of a Long instance. The actual type is that exported by long.js.\\n * @interface Long\\n * @property {number} low Low bits\\n * @property {number} high High bits\\n * @property {boolean} unsigned Whether unsigned or not\\n */\\n\\n/**\\n * Long.js's Long class if available.\\n * @type {Constructor<Long>}\\n */\\nutil.Long = /* istanbul ignore next */ util.global.dcodeIO && /* istanbul ignore next */ util.global.dcodeIO.Long\\n || /* istanbul ignore next */ util.global.Long\\n || util.inquire(\\\"long\\\");\\n\\n/**\\n * Regular expression used to verify 2 bit (`bool`) map keys.\\n * @type {RegExp}\\n * @const\\n */\\nutil.key2Re = /^true|false|0|1$/;\\n\\n/**\\n * Regular expression used to verify 32 bit (`int32` etc.) map keys.\\n * @type {RegExp}\\n * @const\\n */\\nutil.key32Re = /^-?(?:0|[1-9][0-9]*)$/;\\n\\n/**\\n * Regular expression used to verify 64 bit (`int64` etc.) map keys.\\n * @type {RegExp}\\n * @const\\n */\\nutil.key64Re = /^(?:[\\\\\\\\x00-\\\\\\\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;\\n\\n/**\\n * Converts a number or long to an 8 characters long hash string.\\n * @param {Long|number} value Value to convert\\n * @returns {string} Hash\\n */\\nutil.longToHash = function longToHash(value) {\\n return value\\n ? util.LongBits.from(value).toHash()\\n : util.LongBits.zeroHash;\\n};\\n\\n/**\\n * Converts an 8 characters long hash string to a long or number.\\n * @param {string} hash Hash\\n * @param {boolean} [unsigned=false] Whether unsigned or not\\n * @returns {Long|number} Original value\\n */\\nutil.longFromHash = function longFromHash(hash, unsigned) {\\n var bits = util.LongBits.fromHash(hash);\\n if (util.Long)\\n return util.Long.fromBits(bits.lo, bits.hi, unsigned);\\n return bits.toNumber(Boolean(unsigned));\\n};\\n\\n/**\\n * Merges the properties of the source object into the destination object.\\n * @memberof util\\n * @param {Object.<string,*>} dst Destination object\\n * @param {Object.<string,*>} src Source object\\n * @param {boolean} [ifNotSet=false] Merges only if the key is not already set\\n * @returns {Object.<string,*>} Destination object\\n */\\nfunction merge(dst, src, ifNotSet) { // used by converters\\n for (var keys = Object.keys(src), i = 0; i < keys.length; ++i)\\n if (dst[keys[i]] === undefined || !ifNotSet)\\n dst[keys[i]] = src[keys[i]];\\n return dst;\\n}\\n\\nutil.merge = merge;\\n\\n/**\\n * Converts the first character of a string to lower case.\\n * @param {string} str String to convert\\n * @returns {string} Converted string\\n */\\nutil.lcFirst = function lcFirst(str) {\\n return str.charAt(0).toLowerCase() + str.substring(1);\\n};\\n\\n/**\\n * Creates a custom error constructor.\\n * @memberof util\\n * @param {string} name Error name\\n * @returns {Constructor<Error>} Custom error constructor\\n */\\nfunction newError(name) {\\n\\n function CustomError(message, properties) {\\n\\n if (!(this instanceof CustomError))\\n return new CustomError(message, properties);\\n\\n // Error.call(this, message);\\n // ^ just returns a new error instance because the ctor can be called as a function\\n\\n Object.defineProperty(this, \\\"message\\\", { get: function() { return message; } });\\n\\n /* istanbul ignore next */\\n if (Error.captureStackTrace) // node\\n Error.captureStackTrace(this, CustomError);\\n else\\n Object.defineProperty(this, \\\"stack\\\", { value: new Error().stack || \\\"\\\" });\\n\\n if (properties)\\n merge(this, properties);\\n }\\n\\n (CustomError.prototype = Object.create(Error.prototype)).constructor = CustomError;\\n\\n Object.defineProperty(CustomError.prototype, \\\"name\\\", { get: function() { return name; } });\\n\\n CustomError.prototype.toString = function toString() {\\n return this.name + \\\": \\\" + this.message;\\n };\\n\\n return CustomError;\\n}\\n\\nutil.newError = newError;\\n\\n/**\\n * Constructs a new protocol error.\\n * @classdesc Error subclass indicating a protocol specifc error.\\n * @memberof util\\n * @extends Error\\n * @template T extends Message<T>\\n * @constructor\\n * @param {string} message Error message\\n * @param {Object.<string,*>} [properties] Additional properties\\n * @example\\n * try {\\n * MyMessage.decode(someBuffer); // throws if required fields are missing\\n * } catch (e) {\\n * if (e instanceof ProtocolError && e.instance)\\n * console.log(\\\"decoded so far: \\\" + JSON.stringify(e.instance));\\n * }\\n */\\nutil.ProtocolError = newError(\\\"ProtocolError\\\");\\n\\n/**\\n * So far decoded message instance.\\n * @name util.ProtocolError#instance\\n * @type {Message<T>}\\n */\\n\\n/**\\n * A OneOf getter as returned by {@link util.oneOfGetter}.\\n * @typedef OneOfGetter\\n * @type {function}\\n * @returns {string|undefined} Set field name, if any\\n */\\n\\n/**\\n * Builds a getter for a oneof's present field name.\\n * @param {string[]} fieldNames Field names\\n * @returns {OneOfGetter} Unbound getter\\n */\\nutil.oneOfGetter = function getOneOf(fieldNames) {\\n var fieldMap = {};\\n for (var i = 0; i < fieldNames.length; ++i)\\n fieldMap[fieldNames[i]] = 1;\\n\\n /**\\n * @returns {string|undefined} Set field name, if any\\n * @this Object\\n * @ignore\\n */\\n return function() { // eslint-disable-line consistent-return\\n for (var keys = Object.keys(this), i = keys.length - 1; i > -1; --i)\\n if (fieldMap[keys[i]] === 1 && this[keys[i]] !== undefined && this[keys[i]] !== null)\\n return keys[i];\\n };\\n};\\n\\n/**\\n * A OneOf setter as returned by {@link util.oneOfSetter}.\\n * @typedef OneOfSetter\\n * @type {function}\\n * @param {string|undefined} value Field name\\n * @returns {undefined}\\n */\\n\\n/**\\n * Builds a setter for a oneof's present field name.\\n * @param {string[]} fieldNames Field names\\n * @returns {OneOfSetter} Unbound setter\\n */\\nutil.oneOfSetter = function setOneOf(fieldNames) {\\n\\n /**\\n * @param {string} name Field name\\n * @returns {undefined}\\n * @this Object\\n * @ignore\\n */\\n return function(name) {\\n for (var i = 0; i < fieldNames.length; ++i)\\n if (fieldNames[i] !== name)\\n delete this[fieldNames[i]];\\n };\\n};\\n\\n/**\\n * Default conversion options used for {@link Message#toJSON} implementations.\\n *\\n * These options are close to proto3's JSON mapping with the exception that internal types like Any are handled just like messages. More precisely:\\n *\\n * - Longs become strings\\n * - Enums become string keys\\n * - Bytes become base64 encoded strings\\n * - (Sub-)Messages become plain objects\\n * - Maps become plain objects with all string keys\\n * - Repeated fields become arrays\\n * - NaN and Infinity for float and double fields become strings\\n *\\n * @type {IConversionOptions}\\n * @see https://developers.google.com/protocol-buffers/docs/proto3?hl=en#json\\n */\\nutil.toJSONOptions = {\\n longs: String,\\n enums: String,\\n bytes: String,\\n json: true\\n};\\n\\n// Sets up buffer utility according to the environment (called in index-minimal)\\nutil._configure = function() {\\n var Buffer = util.Buffer;\\n /* istanbul ignore if */\\n if (!Buffer) {\\n util._Buffer_from = util._Buffer_allocUnsafe = null;\\n return;\\n }\\n // because node 4.x buffers are incompatible & immutable\\n // see: https://github.com/dcodeIO/protobuf.js/pull/665\\n util._Buffer_from = Buffer.from !== Uint8Array.from && Buffer.from ||\\n /* istanbul ignore next */\\n function Buffer_from(value, encoding) {\\n return new Buffer(value, encoding);\\n };\\n util._Buffer_allocUnsafe = Buffer.allocUnsafe ||\\n /* istanbul ignore next */\\n function Buffer_allocUnsafe(size) {\\n return new Buffer(size);\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/protobufjs/src/util/minimal.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/protobufjs/src/writer.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/protobufjs/src/writer.js ***!\n \\***********************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nmodule.exports = Writer;\\n\\nvar util = __webpack_require__(/*! ./util/minimal */ \\\"./node_modules/protobufjs/src/util/minimal.js\\\");\\n\\nvar BufferWriter; // cyclic\\n\\nvar LongBits = util.LongBits,\\n base64 = util.base64,\\n utf8 = util.utf8;\\n\\n/**\\n * Constructs a new writer operation instance.\\n * @classdesc Scheduled writer operation.\\n * @constructor\\n * @param {function(*, Uint8Array, number)} fn Function to call\\n * @param {number} len Value byte length\\n * @param {*} val Value to write\\n * @ignore\\n */\\nfunction Op(fn, len, val) {\\n\\n /**\\n * Function to call.\\n * @type {function(Uint8Array, number, *)}\\n */\\n this.fn = fn;\\n\\n /**\\n * Value byte length.\\n * @type {number}\\n */\\n this.len = len;\\n\\n /**\\n * Next operation.\\n * @type {Writer.Op|undefined}\\n */\\n this.next = undefined;\\n\\n /**\\n * Value to write.\\n * @type {*}\\n */\\n this.val = val; // type varies\\n}\\n\\n/* istanbul ignore next */\\nfunction noop() {} // eslint-disable-line no-empty-function\\n\\n/**\\n * Constructs a new writer state instance.\\n * @classdesc Copied writer state.\\n * @memberof Writer\\n * @constructor\\n * @param {Writer} writer Writer to copy state from\\n * @ignore\\n */\\nfunction State(writer) {\\n\\n /**\\n * Current head.\\n * @type {Writer.Op}\\n */\\n this.head = writer.head;\\n\\n /**\\n * Current tail.\\n * @type {Writer.Op}\\n */\\n this.tail = writer.tail;\\n\\n /**\\n * Current buffer length.\\n * @type {number}\\n */\\n this.len = writer.len;\\n\\n /**\\n * Next state.\\n * @type {State|null}\\n */\\n this.next = writer.states;\\n}\\n\\n/**\\n * Constructs a new writer instance.\\n * @classdesc Wire format writer using `Uint8Array` if available, otherwise `Array`.\\n * @constructor\\n */\\nfunction Writer() {\\n\\n /**\\n * Current length.\\n * @type {number}\\n */\\n this.len = 0;\\n\\n /**\\n * Operations head.\\n * @type {Object}\\n */\\n this.head = new Op(noop, 0, 0);\\n\\n /**\\n * Operations tail\\n * @type {Object}\\n */\\n this.tail = this.head;\\n\\n /**\\n * Linked forked states.\\n * @type {Object|null}\\n */\\n this.states = null;\\n\\n // When a value is written, the writer calculates its byte length and puts it into a linked\\n // list of operations to perform when finish() is called. This both allows us to allocate\\n // buffers of the exact required size and reduces the amount of work we have to do compared\\n // to first calculating over objects and then encoding over objects. In our case, the encoding\\n // part is just a linked list walk calling operations with already prepared values.\\n}\\n\\nvar create = function create() {\\n return util.Buffer\\n ? function create_buffer_setup() {\\n return (Writer.create = function create_buffer() {\\n return new BufferWriter();\\n })();\\n }\\n /* istanbul ignore next */\\n : function create_array() {\\n return new Writer();\\n };\\n};\\n\\n/**\\n * Creates a new writer.\\n * @function\\n * @returns {BufferWriter|Writer} A {@link BufferWriter} when Buffers are supported, otherwise a {@link Writer}\\n */\\nWriter.create = create();\\n\\n/**\\n * Allocates a buffer of the specified size.\\n * @param {number} size Buffer size\\n * @returns {Uint8Array} Buffer\\n */\\nWriter.alloc = function alloc(size) {\\n return new util.Array(size);\\n};\\n\\n// Use Uint8Array buffer pool in the browser, just like node does with buffers\\n/* istanbul ignore else */\\nif (util.Array !== Array)\\n Writer.alloc = util.pool(Writer.alloc, util.Array.prototype.subarray);\\n\\n/**\\n * Pushes a new operation to the queue.\\n * @param {function(Uint8Array, number, *)} fn Function to call\\n * @param {number} len Value byte length\\n * @param {number} val Value to write\\n * @returns {Writer} `this`\\n * @private\\n */\\nWriter.prototype._push = function push(fn, len, val) {\\n this.tail = this.tail.next = new Op(fn, len, val);\\n this.len += len;\\n return this;\\n};\\n\\nfunction writeByte(val, buf, pos) {\\n buf[pos] = val & 255;\\n}\\n\\nfunction writeVarint32(val, buf, pos) {\\n while (val > 127) {\\n buf[pos++] = val & 127 | 128;\\n val >>>= 7;\\n }\\n buf[pos] = val;\\n}\\n\\n/**\\n * Constructs a new varint writer operation instance.\\n * @classdesc Scheduled varint writer operation.\\n * @extends Op\\n * @constructor\\n * @param {number} len Value byte length\\n * @param {number} val Value to write\\n * @ignore\\n */\\nfunction VarintOp(len, val) {\\n this.len = len;\\n this.next = undefined;\\n this.val = val;\\n}\\n\\nVarintOp.prototype = Object.create(Op.prototype);\\nVarintOp.prototype.fn = writeVarint32;\\n\\n/**\\n * Writes an unsigned 32 bit value as a varint.\\n * @param {number} value Value to write\\n * @returns {Writer} `this`\\n */\\nWriter.prototype.uint32 = function write_uint32(value) {\\n // here, the call to this.push has been inlined and a varint specific Op subclass is used.\\n // uint32 is by far the most frequently used operation and benefits significantly from this.\\n this.len += (this.tail = this.tail.next = new VarintOp(\\n (value = value >>> 0)\\n < 128 ? 1\\n : value < 16384 ? 2\\n : value < 2097152 ? 3\\n : value < 268435456 ? 4\\n : 5,\\n value)).len;\\n return this;\\n};\\n\\n/**\\n * Writes a signed 32 bit value as a varint.\\n * @function\\n * @param {number} value Value to write\\n * @returns {Writer} `this`\\n */\\nWriter.prototype.int32 = function write_int32(value) {\\n return value < 0\\n ? this._push(writeVarint64, 10, LongBits.fromNumber(value)) // 10 bytes per spec\\n : this.uint32(value);\\n};\\n\\n/**\\n * Writes a 32 bit value as a varint, zig-zag encoded.\\n * @param {number} value Value to write\\n * @returns {Writer} `this`\\n */\\nWriter.prototype.sint32 = function write_sint32(value) {\\n return this.uint32((value << 1 ^ value >> 31) >>> 0);\\n};\\n\\nfunction writeVarint64(val, buf, pos) {\\n while (val.hi) {\\n buf[pos++] = val.lo & 127 | 128;\\n val.lo = (val.lo >>> 7 | val.hi << 25) >>> 0;\\n val.hi >>>= 7;\\n }\\n while (val.lo > 127) {\\n buf[pos++] = val.lo & 127 | 128;\\n val.lo = val.lo >>> 7;\\n }\\n buf[pos++] = val.lo;\\n}\\n\\n/**\\n * Writes an unsigned 64 bit value as a varint.\\n * @param {Long|number|string} value Value to write\\n * @returns {Writer} `this`\\n * @throws {TypeError} If `value` is a string and no long library is present.\\n */\\nWriter.prototype.uint64 = function write_uint64(value) {\\n var bits = LongBits.from(value);\\n return this._push(writeVarint64, bits.length(), bits);\\n};\\n\\n/**\\n * Writes a signed 64 bit value as a varint.\\n * @function\\n * @param {Long|number|string} value Value to write\\n * @returns {Writer} `this`\\n * @throws {TypeError} If `value` is a string and no long library is present.\\n */\\nWriter.prototype.int64 = Writer.prototype.uint64;\\n\\n/**\\n * Writes a signed 64 bit value as a varint, zig-zag encoded.\\n * @param {Long|number|string} value Value to write\\n * @returns {Writer} `this`\\n * @throws {TypeError} If `value` is a string and no long library is present.\\n */\\nWriter.prototype.sint64 = function write_sint64(value) {\\n var bits = LongBits.from(value).zzEncode();\\n return this._push(writeVarint64, bits.length(), bits);\\n};\\n\\n/**\\n * Writes a boolish value as a varint.\\n * @param {boolean} value Value to write\\n * @returns {Writer} `this`\\n */\\nWriter.prototype.bool = function write_bool(value) {\\n return this._push(writeByte, 1, value ? 1 : 0);\\n};\\n\\nfunction writeFixed32(val, buf, pos) {\\n buf[pos ] = val & 255;\\n buf[pos + 1] = val >>> 8 & 255;\\n buf[pos + 2] = val >>> 16 & 255;\\n buf[pos + 3] = val >>> 24;\\n}\\n\\n/**\\n * Writes an unsigned 32 bit value as fixed 32 bits.\\n * @param {number} value Value to write\\n * @returns {Writer} `this`\\n */\\nWriter.prototype.fixed32 = function write_fixed32(value) {\\n return this._push(writeFixed32, 4, value >>> 0);\\n};\\n\\n/**\\n * Writes a signed 32 bit value as fixed 32 bits.\\n * @function\\n * @param {number} value Value to write\\n * @returns {Writer} `this`\\n */\\nWriter.prototype.sfixed32 = Writer.prototype.fixed32;\\n\\n/**\\n * Writes an unsigned 64 bit value as fixed 64 bits.\\n * @param {Long|number|string} value Value to write\\n * @returns {Writer} `this`\\n * @throws {TypeError} If `value` is a string and no long library is present.\\n */\\nWriter.prototype.fixed64 = function write_fixed64(value) {\\n var bits = LongBits.from(value);\\n return this._push(writeFixed32, 4, bits.lo)._push(writeFixed32, 4, bits.hi);\\n};\\n\\n/**\\n * Writes a signed 64 bit value as fixed 64 bits.\\n * @function\\n * @param {Long|number|string} value Value to write\\n * @returns {Writer} `this`\\n * @throws {TypeError} If `value` is a string and no long library is present.\\n */\\nWriter.prototype.sfixed64 = Writer.prototype.fixed64;\\n\\n/**\\n * Writes a float (32 bit).\\n * @function\\n * @param {number} value Value to write\\n * @returns {Writer} `this`\\n */\\nWriter.prototype.float = function write_float(value) {\\n return this._push(util.float.writeFloatLE, 4, value);\\n};\\n\\n/**\\n * Writes a double (64 bit float).\\n * @function\\n * @param {number} value Value to write\\n * @returns {Writer} `this`\\n */\\nWriter.prototype.double = function write_double(value) {\\n return this._push(util.float.writeDoubleLE, 8, value);\\n};\\n\\nvar writeBytes = util.Array.prototype.set\\n ? function writeBytes_set(val, buf, pos) {\\n buf.set(val, pos); // also works for plain array values\\n }\\n /* istanbul ignore next */\\n : function writeBytes_for(val, buf, pos) {\\n for (var i = 0; i < val.length; ++i)\\n buf[pos + i] = val[i];\\n };\\n\\n/**\\n * Writes a sequence of bytes.\\n * @param {Uint8Array|string} value Buffer or base64 encoded string to write\\n * @returns {Writer} `this`\\n */\\nWriter.prototype.bytes = function write_bytes(value) {\\n var len = value.length >>> 0;\\n if (!len)\\n return this._push(writeByte, 1, 0);\\n if (util.isString(value)) {\\n var buf = Writer.alloc(len = base64.length(value));\\n base64.decode(value, buf, 0);\\n value = buf;\\n }\\n return this.uint32(len)._push(writeBytes, len, value);\\n};\\n\\n/**\\n * Writes a string.\\n * @param {string} value Value to write\\n * @returns {Writer} `this`\\n */\\nWriter.prototype.string = function write_string(value) {\\n var len = utf8.length(value);\\n return len\\n ? this.uint32(len)._push(utf8.write, len, value)\\n : this._push(writeByte, 1, 0);\\n};\\n\\n/**\\n * Forks this writer's state by pushing it to a stack.\\n * Calling {@link Writer#reset|reset} or {@link Writer#ldelim|ldelim} resets the writer to the previous state.\\n * @returns {Writer} `this`\\n */\\nWriter.prototype.fork = function fork() {\\n this.states = new State(this);\\n this.head = this.tail = new Op(noop, 0, 0);\\n this.len = 0;\\n return this;\\n};\\n\\n/**\\n * Resets this instance to the last state.\\n * @returns {Writer} `this`\\n */\\nWriter.prototype.reset = function reset() {\\n if (this.states) {\\n this.head = this.states.head;\\n this.tail = this.states.tail;\\n this.len = this.states.len;\\n this.states = this.states.next;\\n } else {\\n this.head = this.tail = new Op(noop, 0, 0);\\n this.len = 0;\\n }\\n return this;\\n};\\n\\n/**\\n * Resets to the last state and appends the fork state's current write length as a varint followed by its operations.\\n * @returns {Writer} `this`\\n */\\nWriter.prototype.ldelim = function ldelim() {\\n var head = this.head,\\n tail = this.tail,\\n len = this.len;\\n this.reset().uint32(len);\\n if (len) {\\n this.tail.next = head.next; // skip noop\\n this.tail = tail;\\n this.len += len;\\n }\\n return this;\\n};\\n\\n/**\\n * Finishes the write operation.\\n * @returns {Uint8Array} Finished buffer\\n */\\nWriter.prototype.finish = function finish() {\\n var head = this.head.next, // skip noop\\n buf = this.constructor.alloc(this.len),\\n pos = 0;\\n while (head) {\\n head.fn(head.val, buf, pos);\\n pos += head.len;\\n head = head.next;\\n }\\n // this.head = this.tail = null;\\n return buf;\\n};\\n\\nWriter._configure = function(BufferWriter_) {\\n BufferWriter = BufferWriter_;\\n Writer.create = create();\\n BufferWriter._configure();\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/protobufjs/src/writer.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/protobufjs/src/writer_buffer.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/protobufjs/src/writer_buffer.js ***!\n \\******************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\neval(\"\\nmodule.exports = BufferWriter;\\n\\n// extends Writer\\nvar Writer = __webpack_require__(/*! ./writer */ \\\"./node_modules/protobufjs/src/writer.js\\\");\\n(BufferWriter.prototype = Object.create(Writer.prototype)).constructor = BufferWriter;\\n\\nvar util = __webpack_require__(/*! ./util/minimal */ \\\"./node_modules/protobufjs/src/util/minimal.js\\\");\\n\\n/**\\n * Constructs a new buffer writer instance.\\n * @classdesc Wire format writer using node buffers.\\n * @extends Writer\\n * @constructor\\n */\\nfunction BufferWriter() {\\n Writer.call(this);\\n}\\n\\nBufferWriter._configure = function () {\\n /**\\n * Allocates a buffer of the specified size.\\n * @function\\n * @param {number} size Buffer size\\n * @returns {Buffer} Buffer\\n */\\n BufferWriter.alloc = util._Buffer_allocUnsafe;\\n\\n BufferWriter.writeBytesBuffer = util.Buffer && util.Buffer.prototype instanceof Uint8Array && util.Buffer.prototype.set.name === \\\"set\\\"\\n ? function writeBytesBuffer_set(val, buf, pos) {\\n buf.set(val, pos); // faster than copy (requires node >= 4 where Buffers extend Uint8Array and set is properly inherited)\\n // also works for plain array values\\n }\\n /* istanbul ignore next */\\n : function writeBytesBuffer_copy(val, buf, pos) {\\n if (val.copy) // Buffer values\\n val.copy(buf, pos, 0, val.length);\\n else for (var i = 0; i < val.length;) // plain array values\\n buf[pos++] = val[i++];\\n };\\n};\\n\\n\\n/**\\n * @override\\n */\\nBufferWriter.prototype.bytes = function write_bytes_buffer(value) {\\n if (util.isString(value))\\n value = util._Buffer_from(value, \\\"base64\\\");\\n var len = value.length >>> 0;\\n this.uint32(len);\\n if (len)\\n this._push(BufferWriter.writeBytesBuffer, len, value);\\n return this;\\n};\\n\\nfunction writeStringBuffer(val, buf, pos) {\\n if (val.length < 40) // plain js is faster for short strings (probably due to redundant assertions)\\n util.utf8.write(val, buf, pos);\\n else if (buf.utf8Write)\\n buf.utf8Write(val, pos);\\n else\\n buf.write(val, pos);\\n}\\n\\n/**\\n * @override\\n */\\nBufferWriter.prototype.string = function write_string_buffer(value) {\\n var len = util.Buffer.byteLength(value);\\n this.uint32(len);\\n if (len)\\n this._push(writeStringBuffer, len, value);\\n return this;\\n};\\n\\n\\n/**\\n * Finishes the write operation.\\n * @name BufferWriter#finish\\n * @function\\n * @returns {Buffer} Finished buffer\\n */\\n\\nBufferWriter._configure();\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/protobufjs/src/writer_buffer.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/raw-loader/dist/cjs.js!./worklet/dist/index.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/raw-loader/dist/cjs.js!./worklet/dist/index.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ \\\"default\\\": () => (__WEBPACK_DEFAULT_EXPORT__)\\n/* harmony export */ });\\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\\\"/*\\\\n * ATTENTION: The \\\\\\\"eval\\\\\\\" devtool has been used (maybe by default in mode: \\\\\\\"development\\\\\\\").\\\\n * This devtool is neither made for production nor for readable output files.\\\\n * It uses \\\\\\\"eval()\\\\\\\" calls to create a separate source file in the browser devtools.\\\\n * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)\\\\n * or disable the default devtool with \\\\\\\"devtool: false\\\\\\\".\\\\n * If you are looking for production-ready output files, see mode: \\\\\\\"production\\\\\\\" (https://webpack.js.org/configuration/mode/).\\\\n */\\\\n/******/ (() => { // webpackBootstrap\\\\n/******/ \\\\t\\\\\\\"use strict\\\\\\\";\\\\n/******/ \\\\tvar __webpack_modules__ = ({\\\\n\\\\n/***/ \\\\\\\"./worklet/src/voice-changer-worklet-processor.ts\\\\\\\":\\\\n/*!********************************************************!*\\\\\\\\\\\\n !*** ./worklet/src/voice-changer-worklet-processor.ts ***!\\\\n \\\\\\\\********************************************************/\\\\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\\\\n\\\\neval(\\\\\\\"__webpack_require__.r(__webpack_exports__);\\\\\\\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\\\\\\\n/* harmony export */ RequestType: () => (/* binding */ RequestType),\\\\\\\\n/* harmony export */ ResponseType: () => (/* binding */ ResponseType)\\\\\\\\n/* harmony export */ });\\\\\\\\nconst RequestType = {\\\\\\\\n \\\\\\\\\\\\\\\"voice\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"voice\\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\\"config\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"config\\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\\"start\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"start\\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\\"stop\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"stop\\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\\"trancateBuffer\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"trancateBuffer\\\\\\\\\\\\\\\",\\\\\\\\n};\\\\\\\\nconst ResponseType = {\\\\\\\\n \\\\\\\\\\\\\\\"volume\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"volume\\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\\"inputData\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"inputData\\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\\"start_ok\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"start_ok\\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\\"stop_ok\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"stop_ok\\\\\\\\\\\\\\\",\\\\\\\\n};\\\\\\\\nclass VoiceChangerWorkletProcessor extends AudioWorkletProcessor {\\\\\\\\n /**\\\\\\\\n * @constructor\\\\\\\\n */\\\\\\\\n constructor() {\\\\\\\\n super();\\\\\\\\n this.BLOCK_SIZE = 128;\\\\\\\\n this.initialized = false;\\\\\\\\n this.volume = 0;\\\\\\\\n this.numTrancateTreshold = 150;\\\\\\\\n // private volTrancateThreshold = 0.0005\\\\\\\\n // private volTrancateLength = 32\\\\\\\\n // private volTrancateCount = 0\\\\\\\\n this.isRecording = false;\\\\\\\\n this.playBuffer = [];\\\\\\\\n this.calcVol = (data, prevVol) => {\\\\\\\\n const sum = data.reduce((prev, cur) => {\\\\\\\\n return prev + cur * cur;\\\\\\\\n }, 0);\\\\\\\\n const rms = Math.sqrt(sum / data.length);\\\\\\\\n return Math.max(rms, prevVol * 0.95);\\\\\\\\n };\\\\\\\\n this.trancateBuffer = () => {\\\\\\\\n console.log(\\\\\\\\\\\\\\\"[worklet] Buffer truncated\\\\\\\\\\\\\\\");\\\\\\\\n while (this.playBuffer.length > 2) {\\\\\\\\n this.playBuffer.shift();\\\\\\\\n }\\\\\\\\n };\\\\\\\\n this.pushData = (inputData) => {\\\\\\\\n const volumeResponse = {\\\\\\\\n responseType: ResponseType.inputData,\\\\\\\\n inputData: inputData\\\\\\\\n };\\\\\\\\n this.port.postMessage(volumeResponse);\\\\\\\\n };\\\\\\\\n this.initialized = true;\\\\\\\\n this.port.onmessage = this.handleMessage.bind(this);\\\\\\\\n }\\\\\\\\n handleMessage(event) {\\\\\\\\n const request = event.data;\\\\\\\\n if (request.requestType === \\\\\\\\\\\\\\\"config\\\\\\\\\\\\\\\") {\\\\\\\\n this.numTrancateTreshold = request.numTrancateTreshold;\\\\\\\\n // this.volTrancateLength = request.volTrancateLength\\\\\\\\n // this.volTrancateThreshold = request.volTrancateThreshold\\\\\\\\n console.log(\\\\\\\\\\\\\\\"[worklet] worklet configured\\\\\\\\\\\\\\\", request);\\\\\\\\n return;\\\\\\\\n }\\\\\\\\n else if (request.requestType === \\\\\\\\\\\\\\\"start\\\\\\\\\\\\\\\") {\\\\\\\\n if (this.isRecording) {\\\\\\\\n console.warn(\\\\\\\\\\\\\\\"[worklet] recoring is already started\\\\\\\\\\\\\\\");\\\\\\\\n return;\\\\\\\\n }\\\\\\\\n this.isRecording = true;\\\\\\\\n const startResponse = {\\\\\\\\n responseType: \\\\\\\\\\\\\\\"start_ok\\\\\\\\\\\\\\\",\\\\\\\\n };\\\\\\\\n this.port.postMessage(startResponse);\\\\\\\\n return;\\\\\\\\n }\\\\\\\\n else if (request.requestType === \\\\\\\\\\\\\\\"stop\\\\\\\\\\\\\\\") {\\\\\\\\n if (!this.isRecording) {\\\\\\\\n console.warn(\\\\\\\\\\\\\\\"[worklet] recoring is not started\\\\\\\\\\\\\\\");\\\\\\\\n return;\\\\\\\\n }\\\\\\\\n this.isRecording = false;\\\\\\\\n const stopResponse = {\\\\\\\\n responseType: \\\\\\\\\\\\\\\"stop_ok\\\\\\\\\\\\\\\",\\\\\\\\n };\\\\\\\\n this.port.postMessage(stopResponse);\\\\\\\\n return;\\\\\\\\n }\\\\\\\\n else if (request.requestType === \\\\\\\\\\\\\\\"trancateBuffer\\\\\\\\\\\\\\\") {\\\\\\\\n this.trancateBuffer();\\\\\\\\n return;\\\\\\\\n }\\\\\\\\n if (this.playBuffer.length > this.numTrancateTreshold) {\\\\\\\\n this.trancateBuffer();\\\\\\\\n }\\\\\\\\n const f32Data = request.voice;\\\\\\\\n const chunkNum = f32Data.length / this.BLOCK_SIZE;\\\\\\\\n for (let i = 0; i < chunkNum; i++) {\\\\\\\\n const block = f32Data.slice(i * this.BLOCK_SIZE, (i + 1) * this.BLOCK_SIZE);\\\\\\\\n this.playBuffer.push(block);\\\\\\\\n }\\\\\\\\n }\\\\\\\\n process(_inputs, outputs, _parameters) {\\\\\\\\n if (!this.initialized) {\\\\\\\\n console.warn(\\\\\\\\\\\\\\\"[worklet] worklet_process not ready\\\\\\\\\\\\\\\");\\\\\\\\n return true;\\\\\\\\n }\\\\\\\\n if (this.isRecording) {\\\\\\\\n if (_inputs.length > 0 && _inputs[0].length > 0) {\\\\\\\\n this.pushData(_inputs[0][0]);\\\\\\\\n }\\\\\\\\n }\\\\\\\\n if (this.playBuffer.length === 0) {\\\\\\\\n // console.log(\\\\\\\\\\\\\\\"[worklet] no play buffer\\\\\\\\\\\\\\\")\\\\\\\\n return true;\\\\\\\\n }\\\\\\\\n //// 一定期間無音状態が続いている場合はスキップ。\\\\\\\\n // let voice: Float32Array | undefined\\\\\\\\n // while (true) {\\\\\\\\n // voice = this.playBuffer.shift()\\\\\\\\n // if (!voice) {\\\\\\\\n // break\\\\\\\\n // }\\\\\\\\n // this.volume = this.calcVol(voice, this.volume)\\\\\\\\n // if (this.volume < this.volTrancateThreshold) {\\\\\\\\n // this.volTrancateCount += 1\\\\\\\\n // } else {\\\\\\\\n // this.volTrancateCount = 0\\\\\\\\n // }\\\\\\\\n // // V.1.5.0よりsilent skipで音飛びするようになったので無効化\\\\\\\\n // if (this.volTrancateCount < this.volTrancateLength || this.volTrancateLength < 0) {\\\\\\\\n // break\\\\\\\\n // } else {\\\\\\\\n // break\\\\\\\\n // // console.log(\\\\\\\\\\\\\\\"silent...skip\\\\\\\\\\\\\\\")\\\\\\\\n // }\\\\\\\\n // }\\\\\\\\n let voice = this.playBuffer.shift();\\\\\\\\n if (voice) {\\\\\\\\n this.volume = this.calcVol(voice, this.volume);\\\\\\\\n const volumeResponse = {\\\\\\\\n responseType: ResponseType.volume,\\\\\\\\n volume: this.volume\\\\\\\\n };\\\\\\\\n this.port.postMessage(volumeResponse);\\\\\\\\n outputs[0][0].set(voice);\\\\\\\\n if (outputs[0].length == 2) {\\\\\\\\n outputs[0][1].set(voice);\\\\\\\\n }\\\\\\\\n }\\\\\\\\n return true;\\\\\\\\n }\\\\\\\\n}\\\\\\\\nregisterProcessor(\\\\\\\\\\\\\\\"voice-changer-worklet-processor\\\\\\\\\\\\\\\", VoiceChangerWorkletProcessor);\\\\\\\\n\\\\\\\\n\\\\\\\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./worklet/src/voice-changer-worklet-processor.ts?\\\\\\\");\\\\n\\\\n/***/ })\\\\n\\\\n/******/ \\\\t});\\\\n/************************************************************************/\\\\n/******/ \\\\t// The require scope\\\\n/******/ \\\\tvar __webpack_require__ = {};\\\\n/******/ \\\\t\\\\n/************************************************************************/\\\\n/******/ \\\\t/* webpack/runtime/define property getters */\\\\n/******/ \\\\t(() => {\\\\n/******/ \\\\t\\\\t// define getter functions for harmony exports\\\\n/******/ \\\\t\\\\t__webpack_require__.d = (exports, definition) => {\\\\n/******/ \\\\t\\\\t\\\\tfor(var key in definition) {\\\\n/******/ \\\\t\\\\t\\\\t\\\\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\\\\n/******/ \\\\t\\\\t\\\\t\\\\t\\\\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\\\\n/******/ \\\\t\\\\t\\\\t\\\\t}\\\\n/******/ \\\\t\\\\t\\\\t}\\\\n/******/ \\\\t\\\\t};\\\\n/******/ \\\\t})();\\\\n/******/ \\\\t\\\\n/******/ \\\\t/* webpack/runtime/hasOwnProperty shorthand */\\\\n/******/ \\\\t(() => {\\\\n/******/ \\\\t\\\\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\\\\n/******/ \\\\t})();\\\\n/******/ \\\\t\\\\n/******/ \\\\t/* webpack/runtime/make namespace object */\\\\n/******/ \\\\t(() => {\\\\n/******/ \\\\t\\\\t// define __esModule on exports\\\\n/******/ \\\\t\\\\t__webpack_require__.r = (exports) => {\\\\n/******/ \\\\t\\\\t\\\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\\\n/******/ \\\\t\\\\t\\\\t\\\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\\\n/******/ \\\\t\\\\t\\\\t}\\\\n/******/ \\\\t\\\\t\\\\tObject.defineProperty(exports, '__esModule', { value: true });\\\\n/******/ \\\\t\\\\t};\\\\n/******/ \\\\t})();\\\\n/******/ \\\\t\\\\n/************************************************************************/\\\\n/******/ \\\\t\\\\n/******/ \\\\t// startup\\\\n/******/ \\\\t// Load entry module and return exports\\\\n/******/ \\\\t// This entry module can't be inlined because the eval devtool is used.\\\\n/******/ \\\\tvar __webpack_exports__ = {};\\\\n/******/ \\\\t__webpack_modules__[\\\\\\\"./worklet/src/voice-changer-worklet-processor.ts\\\\\\\"](0, __webpack_exports__, __webpack_require__);\\\\n/******/ \\\\t\\\\n/******/ })()\\\\n;\\\");\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./worklet/dist/index.js?./node_modules/raw-loader/dist/cjs.js\");\n\n/***/ }),\n\n/***/ \"./src/ServerConfigurator.ts\":\n/*!***********************************!*\\\n !*** ./src/ServerConfigurator.ts ***!\n \\***********************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ ServerConfigurator: () => (/* binding */ ServerConfigurator)\\n/* harmony export */ });\\nclass ServerConfigurator {\\n constructor() {\\n this.serverUrl = \\\"\\\";\\n this.setServerUrl = (serverUrl) => {\\n this.serverUrl = serverUrl;\\n console.log(`[ServerConfigurator] Server URL: ${this.serverUrl}`);\\n };\\n this.getSettings = async () => {\\n const url = this.serverUrl + \\\"/info\\\";\\n const info = await new Promise((resolve) => {\\n const request = new Request(url, {\\n method: 'GET',\\n });\\n fetch(request).then(async (response) => {\\n const json = await response.json();\\n resolve(json);\\n });\\n });\\n return info;\\n };\\n this.getPerformance = async () => {\\n const url = this.serverUrl + \\\"/performance\\\";\\n const info = await new Promise((resolve) => {\\n const request = new Request(url, {\\n method: 'GET',\\n });\\n fetch(request).then(async (response) => {\\n const json = await response.json();\\n resolve(json);\\n });\\n });\\n return info;\\n };\\n this.updateSettings = async (key, val) => {\\n const url = this.serverUrl + \\\"/update_settings\\\";\\n const info = await new Promise(async (resolve) => {\\n const formData = new FormData();\\n formData.append(\\\"key\\\", key);\\n formData.append(\\\"val\\\", val);\\n const request = new Request(url, {\\n method: 'POST',\\n body: formData,\\n });\\n const res = await (await fetch(request)).json();\\n resolve(res);\\n });\\n return info;\\n };\\n this.uploadFile2 = async (dir, file, onprogress) => {\\n const url = this.serverUrl + \\\"/upload_file\\\";\\n onprogress(0, false);\\n const size = 1024 * 1024;\\n let index = 0; // index値\\n const fileLength = file.size;\\n const filename = dir + file.name;\\n const fileChunkNum = Math.ceil(fileLength / size);\\n while (true) {\\n const promises = [];\\n for (let i = 0; i < 10; i++) {\\n if (index * size >= fileLength) {\\n break;\\n }\\n const chunk = file.slice(index * size, (index + 1) * size);\\n const p = new Promise((resolve) => {\\n const formData = new FormData();\\n formData.append(\\\"file\\\", new Blob([chunk]));\\n formData.append(\\\"filename\\\", `${filename}_${index}`);\\n const request = new Request(url, {\\n method: 'POST',\\n body: formData,\\n });\\n fetch(request).then(async (_response) => {\\n // console.log(await response.text())\\n resolve();\\n });\\n });\\n index += 1;\\n promises.push(p);\\n }\\n await Promise.all(promises);\\n if (index * size >= fileLength) {\\n break;\\n }\\n onprogress(Math.floor(((index) / (fileChunkNum + 1)) * 100), false);\\n }\\n return fileChunkNum;\\n };\\n this.uploadFile = async (buf, filename, onprogress) => {\\n const url = this.serverUrl + \\\"/upload_file\\\";\\n onprogress(0, false);\\n const size = 1024 * 1024;\\n const fileChunks = [];\\n let index = 0; // index値\\n for (let cur = 0; cur < buf.byteLength; cur += size) {\\n fileChunks.push({\\n hash: index++,\\n chunk: buf.slice(cur, cur + size),\\n });\\n }\\n const chunkNum = fileChunks.length;\\n // console.log(\\\"FILE_CHUNKS:\\\", chunkNum, fileChunks)\\n while (true) {\\n const promises = [];\\n for (let i = 0; i < 10; i++) {\\n const chunk = fileChunks.shift();\\n if (!chunk) {\\n break;\\n }\\n const p = new Promise((resolve) => {\\n const formData = new FormData();\\n formData.append(\\\"file\\\", new Blob([chunk.chunk]));\\n formData.append(\\\"filename\\\", `${filename}_${chunk.hash}`);\\n const request = new Request(url, {\\n method: 'POST',\\n body: formData,\\n });\\n fetch(request).then(async (_response) => {\\n // console.log(await response.text())\\n resolve();\\n });\\n });\\n promises.push(p);\\n }\\n await Promise.all(promises);\\n if (fileChunks.length == 0) {\\n break;\\n }\\n onprogress(Math.floor(((chunkNum - fileChunks.length) / (chunkNum + 1)) * 100), false);\\n }\\n return chunkNum;\\n };\\n this.concatUploadedFile = async (filename, chunkNum) => {\\n const url = this.serverUrl + \\\"/concat_uploaded_file\\\";\\n await new Promise((resolve) => {\\n const formData = new FormData();\\n formData.append(\\\"filename\\\", filename);\\n formData.append(\\\"filenameChunkNum\\\", \\\"\\\" + chunkNum);\\n const request = new Request(url, {\\n method: 'POST',\\n body: formData,\\n });\\n fetch(request).then(async (response) => {\\n console.log(await response.text());\\n resolve();\\n });\\n });\\n };\\n this.loadModel = async (slot, isHalf, params = \\\"{}\\\") => {\\n if (isHalf == undefined || isHalf == null) {\\n console.warn(\\\"isHalf is invalid value\\\", isHalf);\\n isHalf = false;\\n }\\n const url = this.serverUrl + \\\"/load_model\\\";\\n const info = new Promise(async (resolve) => {\\n const formData = new FormData();\\n formData.append(\\\"slot\\\", \\\"\\\" + slot);\\n formData.append(\\\"isHalf\\\", \\\"\\\" + isHalf);\\n formData.append(\\\"params\\\", params);\\n const request = new Request(url, {\\n method: 'POST',\\n body: formData,\\n });\\n const res = await (await fetch(request)).json();\\n resolve(res);\\n });\\n return await info;\\n };\\n this.uploadAssets = async (params) => {\\n const url = this.serverUrl + \\\"/upload_model_assets\\\";\\n const info = new Promise(async (resolve) => {\\n const formData = new FormData();\\n formData.append(\\\"params\\\", params);\\n const request = new Request(url, {\\n method: 'POST',\\n body: formData,\\n });\\n const res = await (await fetch(request)).json();\\n resolve(res);\\n });\\n return await info;\\n };\\n this.getModelType = async () => {\\n const url = this.serverUrl + \\\"/model_type\\\";\\n const info = new Promise(async (resolve) => {\\n const request = new Request(url, {\\n method: 'GET',\\n });\\n const res = await (await fetch(request)).json();\\n resolve(res);\\n });\\n return await info;\\n };\\n this.export2onnx = async () => {\\n const url = this.serverUrl + \\\"/onnx\\\";\\n const info = new Promise(async (resolve) => {\\n const request = new Request(url, {\\n method: 'GET',\\n });\\n const res = await (await fetch(request)).json();\\n resolve(res);\\n });\\n return await info;\\n };\\n this.mergeModel = async (req) => {\\n const url = this.serverUrl + \\\"/merge_model\\\";\\n const info = new Promise(async (resolve) => {\\n const formData = new FormData();\\n formData.append(\\\"request\\\", JSON.stringify(req));\\n const request = new Request(url, {\\n method: 'POST',\\n body: formData,\\n });\\n const res = await (await fetch(request)).json();\\n console.log(\\\"RESPONSE\\\", res);\\n resolve(res);\\n });\\n return await info;\\n };\\n this.updateModelDefault = async () => {\\n const url = this.serverUrl + \\\"/update_model_default\\\";\\n const info = new Promise(async (resolve) => {\\n const request = new Request(url, {\\n method: 'POST',\\n });\\n const res = await (await fetch(request)).json();\\n console.log(\\\"RESPONSE\\\", res);\\n resolve(res);\\n });\\n return await info;\\n };\\n this.updateModelInfo = async (slot, key, val) => {\\n const url = this.serverUrl + \\\"/update_model_info\\\";\\n const newData = { slot, key, val };\\n const info = new Promise(async (resolve) => {\\n const formData = new FormData();\\n formData.append(\\\"newData\\\", JSON.stringify(newData));\\n const request = new Request(url, {\\n method: 'POST',\\n body: formData,\\n });\\n const res = await (await fetch(request)).json();\\n console.log(\\\"RESPONSE\\\", res);\\n resolve(res);\\n });\\n return await info;\\n };\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/ServerConfigurator.ts?\");\n\n/***/ }),\n\n/***/ \"./src/VoiceChangerClient.ts\":\n/*!***********************************!*\\\n !*** ./src/VoiceChangerClient.ts ***!\n \\***********************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ VoiceChangerClient: () => (/* binding */ VoiceChangerClient)\\n/* harmony export */ });\\n/* harmony import */ var _VoiceChangerWorkletNode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./VoiceChangerWorkletNode */ \\\"./src/VoiceChangerWorkletNode.ts\\\");\\n/* harmony import */ var raw_loader_worklet_dist_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! raw-loader!../worklet/dist/index.js */ \\\"./node_modules/raw-loader/dist/cjs.js!./worklet/dist/index.js\\\");\\n/* harmony import */ var amazon_chime_sdk_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! amazon-chime-sdk-js */ \\\"./node_modules/amazon-chime-sdk-js/build/index.js\\\");\\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util */ \\\"./src/util.ts\\\");\\n/* harmony import */ var _const__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./const */ \\\"./src/const.ts\\\");\\n/* harmony import */ var _ServerConfigurator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ServerConfigurator */ \\\"./src/ServerConfigurator.ts\\\");\\n/* harmony import */ var _utils_BlockingQueue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/BlockingQueue */ \\\"./src/utils/BlockingQueue.ts\\\");\\n\\n// @ts-ignore\\n\\n\\n\\n\\n\\n// オーディオデータの流れ\\n// input node(mic or MediaStream) -> [vf node] -> [vc node] -> \\n// sio/rest server -> [vc node] -> output node\\n\\nclass VoiceChangerClient {\\n constructor(ctx, vfEnable, voiceChangerWorkletListener) {\\n this.vfEnable = false;\\n this.vf = null;\\n this.currentDevice = null;\\n this.currentMediaStream = null;\\n this.currentMediaStreamAudioSourceNode = null;\\n this.inputGainNode = null;\\n this.outputGainNode = null;\\n this._isVoiceChanging = false;\\n this.setting = _const__WEBPACK_IMPORTED_MODULE_4__.DefaultClientSettng.voiceChangerClientSetting;\\n this.sslCertified = [];\\n this.sem = new _utils_BlockingQueue__WEBPACK_IMPORTED_MODULE_6__.BlockingQueue();\\n this.lock = async () => {\\n const num = await this.sem.dequeue();\\n return num;\\n };\\n this.unlock = (num) => {\\n this.sem.enqueue(num + 1);\\n };\\n this.isInitialized = async () => {\\n if (this.promiseForInitialize) {\\n await this.promiseForInitialize;\\n }\\n return true;\\n };\\n /////////////////////////////////////////////////////\\n // オペレーション\\n /////////////////////////////////////////////////////\\n /// Operations ///\\n this.setup = async () => {\\n const lockNum = await this.lock();\\n console.log(`Input Setup=> echo: ${this.setting.echoCancel}, noise1: ${this.setting.noiseSuppression}, noise2: ${this.setting.noiseSuppression2}`);\\n // condition check\\n if (!this.vcInNode) {\\n console.warn(\\\"vc node is not initialized.\\\");\\n throw \\\"vc node is not initialized.\\\";\\n }\\n // Main Process\\n //// shutdown & re-generate mediastream\\n if (this.currentMediaStream) {\\n this.currentMediaStream.getTracks().forEach(x => { x.stop(); });\\n this.currentMediaStream = null;\\n }\\n //// Input デバイスがnullの時はmicStreamを止めてリターン\\n if (!this.setting.audioInput) {\\n console.log(`Input Setup=> client mic is disabled. ${this.setting.audioInput}`);\\n this.vcInNode.stop();\\n await this.unlock(lockNum);\\n return;\\n }\\n if (typeof this.setting.audioInput == \\\"string\\\") {\\n try {\\n if (this.setting.audioInput == \\\"none\\\") {\\n this.currentMediaStream = (0,_util__WEBPACK_IMPORTED_MODULE_3__.createDummyMediaStream)(this.ctx);\\n }\\n else {\\n this.currentMediaStream = await navigator.mediaDevices.getUserMedia({\\n audio: {\\n deviceId: this.setting.audioInput,\\n channelCount: 1,\\n sampleRate: this.setting.sampleRate,\\n sampleSize: 16,\\n autoGainControl: false,\\n echoCancellation: this.setting.echoCancel,\\n noiseSuppression: this.setting.noiseSuppression\\n }\\n });\\n }\\n }\\n catch (e) {\\n console.warn(e);\\n this.vcInNode.stop();\\n await this.unlock(lockNum);\\n throw e;\\n }\\n // this.currentMediaStream.getAudioTracks().forEach((x) => {\\n // console.log(\\\"MIC Setting(cap)\\\", x.getCapabilities())\\n // console.log(\\\"MIC Setting(const)\\\", x.getConstraints())\\n // console.log(\\\"MIC Setting(setting)\\\", x.getSettings())\\n // })\\n }\\n else {\\n this.currentMediaStream = this.setting.audioInput;\\n }\\n // connect nodes.\\n this.currentMediaStreamAudioSourceNode = this.ctx.createMediaStreamSource(this.currentMediaStream);\\n this.inputGainNode = this.ctx.createGain();\\n this.inputGainNode.gain.value = this.setting.inputGain;\\n this.currentMediaStreamAudioSourceNode.connect(this.inputGainNode);\\n if (this.currentDevice && this.setting.noiseSuppression2) {\\n this.currentDevice.chooseNewInnerDevice(this.currentMediaStream);\\n const voiceFocusNode = await this.currentDevice.createAudioNode(this.ctx); // vf node\\n this.inputGainNode.connect(voiceFocusNode.start); // input node -> vf node\\n voiceFocusNode.end.connect(this.vcInNode);\\n }\\n else {\\n // console.log(\\\"input___ media stream\\\", this.currentMediaStream)\\n // this.currentMediaStream.getTracks().forEach(x => {\\n // console.log(\\\"input___ media stream set\\\", x.getSettings())\\n // console.log(\\\"input___ media stream con\\\", x.getConstraints())\\n // console.log(\\\"input___ media stream cap\\\", x.getCapabilities())\\n // })\\n // console.log(\\\"input___ media node\\\", this.currentMediaStreamAudioSourceNode)\\n // console.log(\\\"input___ gain node\\\", this.inputGainNode.channelCount, this.inputGainNode)\\n this.inputGainNode.connect(this.vcInNode);\\n }\\n this.vcInNode.setOutputNode(this.vcOutNode);\\n console.log(\\\"Input Setup=> success\\\");\\n await this.unlock(lockNum);\\n };\\n this.start = async () => {\\n await this.vcInNode.start();\\n this._isVoiceChanging = true;\\n };\\n this.stop = async () => {\\n await this.vcInNode.stop();\\n this._isVoiceChanging = false;\\n };\\n ////////////////////////\\n /// 設定\\n //////////////////////////////\\n this.setServerUrl = (serverUrl, openTab = false) => {\\n const url = (0,_util__WEBPACK_IMPORTED_MODULE_3__.validateUrl)(serverUrl);\\n const pageUrl = `${location.protocol}//${location.host}`;\\n if (url != pageUrl && url.length != 0 && location.protocol == \\\"https:\\\" && this.sslCertified.includes(url) == false) {\\n if (openTab) {\\n const value = window.confirm(\\\"MMVC Server is different from this page's origin. Open tab to open ssl connection. OK? (You can close the opened tab after ssl connection succeed.)\\\");\\n if (value) {\\n window.open(url, '_blank');\\n this.sslCertified.push(url);\\n }\\n else {\\n alert(\\\"Your voice conversion may fail...\\\");\\n }\\n }\\n }\\n this.vcInNode.updateSetting({ ...this.vcInNode.getSettings(), serverUrl: url });\\n this.configurator.setServerUrl(url);\\n };\\n this.updateClientSetting = async (setting) => {\\n let reconstructInputRequired = false;\\n if (this.setting.audioInput != setting.audioInput ||\\n this.setting.echoCancel != setting.echoCancel ||\\n this.setting.noiseSuppression != setting.noiseSuppression ||\\n this.setting.noiseSuppression2 != setting.noiseSuppression2 ||\\n this.setting.sampleRate != setting.sampleRate) {\\n reconstructInputRequired = true;\\n }\\n if (this.setting.inputGain != setting.inputGain) {\\n this.setInputGain(setting.inputGain);\\n }\\n if (this.setting.outputGain != setting.outputGain) {\\n this.setOutputGain(setting.outputGain);\\n }\\n this.setting = setting;\\n if (reconstructInputRequired) {\\n await this.setup();\\n }\\n };\\n this.setInputGain = (val) => {\\n this.setting.inputGain = val;\\n if (!this.inputGainNode) {\\n return;\\n }\\n this.inputGainNode.gain.value = val;\\n };\\n this.setOutputGain = (val) => {\\n if (!this.outputGainNode) {\\n return;\\n }\\n this.outputGainNode.gain.value = val;\\n };\\n /////////////////////////////////////////////////////\\n // コンポーネント設定、操作\\n /////////////////////////////////////////////////////\\n //## Server ##//\\n this.getModelType = () => {\\n return this.configurator.getModelType();\\n };\\n this.getOnnx = async () => {\\n return this.configurator.export2onnx();\\n };\\n this.mergeModel = async (req) => {\\n return this.configurator.mergeModel(req);\\n };\\n this.updateModelDefault = async () => {\\n return this.configurator.updateModelDefault();\\n };\\n this.updateModelInfo = async (slot, key, val) => {\\n return this.configurator.updateModelInfo(slot, key, val);\\n };\\n this.updateServerSettings = (key, val) => {\\n return this.configurator.updateSettings(key, val);\\n };\\n this.uploadFile = (buf, filename, onprogress) => {\\n return this.configurator.uploadFile(buf, filename, onprogress);\\n };\\n this.uploadFile2 = (dir, file, onprogress) => {\\n return this.configurator.uploadFile2(dir, file, onprogress);\\n };\\n this.concatUploadedFile = (filename, chunkNum) => {\\n return this.configurator.concatUploadedFile(filename, chunkNum);\\n };\\n this.loadModel = (slot, isHalf, params) => {\\n return this.configurator.loadModel(slot, isHalf, params);\\n };\\n this.uploadAssets = (params) => {\\n return this.configurator.uploadAssets(params);\\n };\\n //## Worklet ##//\\n this.configureWorklet = (setting) => {\\n this.vcInNode.configure(setting);\\n this.vcOutNode.configure(setting);\\n };\\n this.startOutputRecording = () => {\\n this.vcOutNode.startOutputRecording();\\n };\\n this.stopOutputRecording = () => {\\n return this.vcOutNode.stopOutputRecording();\\n };\\n this.trancateBuffer = () => {\\n this.vcOutNode.trancateBuffer();\\n };\\n //## Worklet Node ##//\\n this.updateWorkletNodeSetting = (setting) => {\\n this.vcInNode.updateSetting(setting);\\n this.vcOutNode.updateSetting(setting);\\n };\\n /////////////////////////////////////////////////////\\n // 情報取得\\n /////////////////////////////////////////////////////\\n // Information\\n this.getClientSettings = () => {\\n return this.vcInNode.getSettings();\\n };\\n this.getServerSettings = () => {\\n return this.configurator.getSettings();\\n };\\n this.getPerformance = () => {\\n return this.configurator.getPerformance();\\n };\\n this.getSocketId = () => {\\n return this.vcInNode.getSocketId();\\n };\\n this.sem.enqueue(0);\\n this.configurator = new _ServerConfigurator__WEBPACK_IMPORTED_MODULE_5__.ServerConfigurator();\\n this.ctx = ctx;\\n this.vfEnable = vfEnable;\\n this.promiseForInitialize = new Promise(async (resolve) => {\\n const scriptUrl = URL.createObjectURL(new Blob([raw_loader_worklet_dist_index_js__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"]], { type: \\\"text/javascript\\\" }));\\n // await this.ctx.audioWorklet.addModule(scriptUrl)\\n // this.vcInNode = new VoiceChangerWorkletNode(this.ctx, voiceChangerWorkletListener); // vc node \\n try {\\n this.vcInNode = new _VoiceChangerWorkletNode__WEBPACK_IMPORTED_MODULE_0__.VoiceChangerWorkletNode(this.ctx, voiceChangerWorkletListener); // vc node \\n }\\n catch (err) {\\n await this.ctx.audioWorklet.addModule(scriptUrl);\\n this.vcInNode = new _VoiceChangerWorkletNode__WEBPACK_IMPORTED_MODULE_0__.VoiceChangerWorkletNode(this.ctx, voiceChangerWorkletListener); // vc node \\n }\\n // const ctx44k = new AudioContext({ sampleRate: 44100 }) // これでもプチプチが残る\\n const ctx44k = new AudioContext({ sampleRate: 48000 }); // 結局これが一番まし。\\n console.log(\\\"audio out:\\\", ctx44k);\\n try {\\n this.vcOutNode = new _VoiceChangerWorkletNode__WEBPACK_IMPORTED_MODULE_0__.VoiceChangerWorkletNode(ctx44k, voiceChangerWorkletListener); // vc node \\n }\\n catch (err) {\\n await ctx44k.audioWorklet.addModule(scriptUrl);\\n this.vcOutNode = new _VoiceChangerWorkletNode__WEBPACK_IMPORTED_MODULE_0__.VoiceChangerWorkletNode(ctx44k, voiceChangerWorkletListener); // vc node \\n }\\n this.currentMediaStreamAudioDestinationNode = ctx44k.createMediaStreamDestination(); // output node\\n this.outputGainNode = ctx44k.createGain();\\n this.outputGainNode.gain.value = this.setting.outputGain;\\n this.vcOutNode.connect(this.outputGainNode); // vc node -> output node\\n this.outputGainNode.connect(this.currentMediaStreamAudioDestinationNode);\\n if (this.vfEnable) {\\n this.vf = await amazon_chime_sdk_js__WEBPACK_IMPORTED_MODULE_2__.VoiceFocusDeviceTransformer.create({ variant: 'c20' });\\n const dummyMediaStream = (0,_util__WEBPACK_IMPORTED_MODULE_3__.createDummyMediaStream)(this.ctx);\\n this.currentDevice = (await this.vf.createTransformDevice(dummyMediaStream)) || null;\\n }\\n resolve();\\n });\\n }\\n get stream() {\\n return this.currentMediaStreamAudioDestinationNode.stream;\\n }\\n get isVoiceChanging() {\\n return this._isVoiceChanging;\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/VoiceChangerClient.ts?\");\n\n/***/ }),\n\n/***/ \"./src/VoiceChangerWorkletNode.ts\":\n/*!****************************************!*\\\n !*** ./src/VoiceChangerWorkletNode.ts ***!\n \\****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ VoiceChangerWorkletNode: () => (/* binding */ VoiceChangerWorkletNode),\\n/* harmony export */ postVoice: () => (/* binding */ postVoice)\\n/* harmony export */ });\\n/* harmony import */ var _const__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./const */ \\\"./src/const.ts\\\");\\n/* harmony import */ var socket_io_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! socket.io-client */ \\\"./node_modules/socket.io-client/build/esm/index.js\\\");\\n/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \\\"./node_modules/buffer/index.js\\\")[\\\"Buffer\\\"];\\n\\n\\nclass VoiceChangerWorkletNode extends AudioWorkletNode {\\n constructor(context, listener) {\\n super(context, \\\"voice-changer-worklet-processor\\\");\\n this.setting = _const__WEBPACK_IMPORTED_MODULE_0__.DefaultClientSettng.workletNodeSetting;\\n this.requestChunks = [];\\n this.socket = null;\\n // performance monitor\\n this.bufferStart = 0;\\n this.isOutputRecording = false;\\n this.recordingOutputChunk = [];\\n this.outputNode = null;\\n // Promises\\n this.startPromiseResolve = null;\\n this.stopPromiseResolve = null;\\n this.setOutputNode = (outputNode) => {\\n this.outputNode = outputNode;\\n };\\n // 設定\\n this.updateSetting = (setting) => {\\n console.log(`[WorkletNode] Updating WorkletNode Setting,`, this.setting, setting);\\n let recreateSocketIoRequired = false;\\n if (this.setting.serverUrl != setting.serverUrl || this.setting.protocol != setting.protocol) {\\n recreateSocketIoRequired = true;\\n }\\n this.setting = setting;\\n if (recreateSocketIoRequired) {\\n this.createSocketIO();\\n }\\n };\\n this.getSettings = () => {\\n return this.setting;\\n };\\n this.getSocketId = () => {\\n return this.socket?.id;\\n };\\n // 処理\\n this.createSocketIO = () => {\\n if (this.socket) {\\n this.socket.close();\\n }\\n if (this.setting.protocol === \\\"sio\\\") {\\n this.socket = (0,socket_io_client__WEBPACK_IMPORTED_MODULE_1__.io)(this.setting.serverUrl + \\\"/test\\\");\\n this.socket.on('connect_error', (err) => {\\n this.listener.notifyException(_const__WEBPACK_IMPORTED_MODULE_0__.VOICE_CHANGER_CLIENT_EXCEPTION.ERR_SIO_CONNECT_FAILED, `[SIO] rconnection failed ${err}`);\\n });\\n this.socket.on('connect', () => {\\n console.log(`[SIO] connect to ${this.setting.serverUrl}`);\\n console.log(`[SIO] ${this.socket?.id}`);\\n });\\n this.socket.on('close', function (socket) {\\n console.log(`[SIO] close ${socket.id}`);\\n });\\n this.socket.on('message', (response) => {\\n console.log(\\\"message:\\\", response);\\n });\\n this.socket.on('response', (response) => {\\n const cur = Date.now();\\n const responseTime = cur - response[0];\\n const result = response[1];\\n const perf = response[2];\\n // Quick hack for server device mode\\n if (response[0] == 0) {\\n this.listener.notifyResponseTime(Math.round(perf[0] * 1000), perf.slice(1, 4));\\n return;\\n }\\n if (result.byteLength < 128 * 2) {\\n this.listener.notifyException(_const__WEBPACK_IMPORTED_MODULE_0__.VOICE_CHANGER_CLIENT_EXCEPTION.ERR_SIO_INVALID_RESPONSE, `[SIO] recevied data is too short ${result.byteLength}`);\\n }\\n else {\\n if (this.outputNode != null) {\\n this.outputNode.postReceivedVoice(response[1]);\\n }\\n else {\\n this.postReceivedVoice(response[1]);\\n }\\n this.listener.notifyResponseTime(responseTime, perf);\\n }\\n });\\n }\\n };\\n this.postReceivedVoice = (data) => {\\n // Int16 to Float\\n const i16Data = new Int16Array(data);\\n const f32Data = new Float32Array(i16Data.length);\\n // console.log(`[worklet] f32DataLength${f32Data.length} i16DataLength${i16Data.length}`)\\n i16Data.forEach((x, i) => {\\n const float = (x >= 0x8000) ? -(0x10000 - x) / 0x8000 : x / 0x7FFF;\\n f32Data[i] = float;\\n });\\n // アップサンプリング\\n let upSampledBuffer = null;\\n if (this.setting.sendingSampleRate == 48000) {\\n upSampledBuffer = f32Data;\\n }\\n else {\\n upSampledBuffer = new Float32Array(f32Data.length * 2);\\n for (let i = 0; i < f32Data.length; i++) {\\n const currentFrame = f32Data[i];\\n const nextFrame = i + 1 < f32Data.length ? f32Data[i + 1] : f32Data[i];\\n upSampledBuffer[i * 2] = currentFrame;\\n upSampledBuffer[i * 2 + 1] = (currentFrame + nextFrame) / 2;\\n }\\n }\\n const req = {\\n requestType: \\\"voice\\\",\\n voice: upSampledBuffer,\\n numTrancateTreshold: 0,\\n volTrancateThreshold: 0,\\n volTrancateLength: 0\\n };\\n this.port.postMessage(req);\\n if (this.isOutputRecording) {\\n this.recordingOutputChunk.push(upSampledBuffer);\\n }\\n };\\n this.sendBuffer = async (newBuffer) => {\\n const timestamp = Date.now();\\n if (this.setting.protocol === \\\"sio\\\") {\\n if (!this.socket) {\\n console.warn(`sio is not initialized`);\\n return;\\n }\\n // console.log(\\\"emit!\\\")\\n this.socket.emit('request_message', [\\n timestamp,\\n newBuffer.buffer\\n ]);\\n }\\n else {\\n const res = await postVoice(this.setting.serverUrl + \\\"/test\\\", timestamp, newBuffer.buffer);\\n if (res.byteLength < 128 * 2) {\\n this.listener.notifyException(_const__WEBPACK_IMPORTED_MODULE_0__.VOICE_CHANGER_CLIENT_EXCEPTION.ERR_REST_INVALID_RESPONSE, `[REST] recevied data is too short ${res.byteLength}`);\\n }\\n else {\\n if (this.outputNode != null) {\\n this.outputNode.postReceivedVoice(res);\\n }\\n else {\\n this.postReceivedVoice(res);\\n }\\n this.listener.notifyResponseTime(Date.now() - timestamp);\\n }\\n }\\n };\\n this.configure = (setting) => {\\n const req = {\\n requestType: \\\"config\\\",\\n voice: new Float32Array(1),\\n numTrancateTreshold: setting.numTrancateTreshold,\\n volTrancateThreshold: setting.volTrancateThreshold,\\n volTrancateLength: setting.volTrancateLength\\n };\\n this.port.postMessage(req);\\n };\\n this.start = async () => {\\n const p = new Promise((resolve) => {\\n this.startPromiseResolve = resolve;\\n });\\n const req = {\\n requestType: \\\"start\\\",\\n voice: new Float32Array(1),\\n numTrancateTreshold: 0,\\n volTrancateThreshold: 0,\\n volTrancateLength: 0\\n };\\n this.port.postMessage(req);\\n await p;\\n };\\n this.stop = async () => {\\n const p = new Promise((resolve) => {\\n this.stopPromiseResolve = resolve;\\n });\\n const req = {\\n requestType: \\\"stop\\\",\\n voice: new Float32Array(1),\\n numTrancateTreshold: 0,\\n volTrancateThreshold: 0,\\n volTrancateLength: 0\\n };\\n this.port.postMessage(req);\\n await p;\\n };\\n this.trancateBuffer = () => {\\n const req = {\\n requestType: \\\"trancateBuffer\\\",\\n voice: new Float32Array(1),\\n numTrancateTreshold: 0,\\n volTrancateThreshold: 0,\\n volTrancateLength: 0\\n };\\n this.port.postMessage(req);\\n };\\n this.startOutputRecording = () => {\\n this.recordingOutputChunk = [];\\n this.isOutputRecording = true;\\n };\\n this.stopOutputRecording = () => {\\n this.isOutputRecording = false;\\n const dataSize = this.recordingOutputChunk.reduce((prev, cur) => {\\n return prev + cur.length;\\n }, 0);\\n const samples = new Float32Array(dataSize);\\n let sampleIndex = 0;\\n for (let i = 0; i < this.recordingOutputChunk.length; i++) {\\n for (let j = 0; j < this.recordingOutputChunk[i].length; j++) {\\n samples[sampleIndex] = this.recordingOutputChunk[i][j];\\n sampleIndex++;\\n }\\n }\\n return samples;\\n };\\n this.port.onmessage = this.handleMessage.bind(this);\\n this.listener = listener;\\n this.createSocketIO();\\n console.log(`[worklet_node][voice-changer-worklet-processor] created.`);\\n }\\n _averageDownsampleBuffer(buffer, originalSampleRate, destinationSamplerate) {\\n if (originalSampleRate == destinationSamplerate) {\\n return buffer;\\n }\\n if (destinationSamplerate > originalSampleRate) {\\n throw \\\"downsampling rate show be smaller than original sample rate\\\";\\n }\\n const sampleRateRatio = originalSampleRate / destinationSamplerate;\\n const newLength = Math.round(buffer.length / sampleRateRatio);\\n const result = new Float32Array(newLength);\\n let offsetResult = 0;\\n let offsetBuffer = 0;\\n while (offsetResult < result.length) {\\n var nextOffsetBuffer = Math.round((offsetResult + 1) * sampleRateRatio);\\n // Use average value of skipped samples\\n var accum = 0, count = 0;\\n for (var i = offsetBuffer; i < nextOffsetBuffer && i < buffer.length; i++) {\\n accum += buffer[i];\\n count++;\\n }\\n result[offsetResult] = accum / count;\\n // Or you can simply get rid of the skipped samples:\\n // result[offsetResult] = buffer[nextOffsetBuffer];\\n offsetResult++;\\n offsetBuffer = nextOffsetBuffer;\\n }\\n return result;\\n }\\n handleMessage(event) {\\n // console.log(`[Node:handleMessage_] `, event.data.volume);\\n if (event.data.responseType === \\\"start_ok\\\") {\\n if (this.startPromiseResolve) {\\n this.startPromiseResolve();\\n this.startPromiseResolve = null;\\n }\\n }\\n else if (event.data.responseType === \\\"stop_ok\\\") {\\n if (this.stopPromiseResolve) {\\n this.stopPromiseResolve();\\n this.stopPromiseResolve = null;\\n }\\n }\\n else if (event.data.responseType === \\\"volume\\\") {\\n this.listener.notifyVolume(event.data.volume);\\n }\\n else if (event.data.responseType === \\\"inputData\\\") {\\n const inputData = event.data.inputData;\\n // console.log(\\\"receive input data\\\", inputData)\\n // ダウンサンプリング\\n let downsampledBuffer = null;\\n if (this.setting.sendingSampleRate == 48000) {\\n downsampledBuffer = inputData;\\n }\\n else if (this.setting.downSamplingMode == _const__WEBPACK_IMPORTED_MODULE_0__.DownSamplingMode.decimate) {\\n //////// (Kind 1) 間引き //////////\\n //// 48000Hz で入ってくるので間引いて24000Hzに変換する。\\n downsampledBuffer = new Float32Array(inputData.length / 2);\\n for (let i = 0; i < inputData.length; i++) {\\n if (i % 2 == 0) {\\n downsampledBuffer[i / 2] = inputData[i];\\n }\\n }\\n }\\n else {\\n //////// (Kind 2) 平均 //////////\\n // downsampledBuffer = this._averageDownsampleBuffer(buffer, 48000, 24000)\\n downsampledBuffer = this._averageDownsampleBuffer(inputData, 48000, this.setting.sendingSampleRate);\\n }\\n // Float to Int16\\n const arrayBuffer = new ArrayBuffer(downsampledBuffer.length * 2);\\n const dataView = new DataView(arrayBuffer);\\n for (let i = 0; i < downsampledBuffer.length; i++) {\\n let s = Math.max(-1, Math.min(1, downsampledBuffer[i]));\\n s = s < 0 ? s * 0x8000 : s * 0x7FFF;\\n dataView.setInt16(i * 2, s, true);\\n }\\n // バッファリング\\n this.requestChunks.push(arrayBuffer);\\n //// リクエストバッファの中身が、リクエスト送信数と違う場合は処理終了。\\n if (this.requestChunks.length < this.setting.inputChunkNum) {\\n return;\\n }\\n // リクエスト用の入れ物を作成\\n const windowByteLength = this.requestChunks.reduce((prev, cur) => {\\n return prev + cur.byteLength;\\n }, 0);\\n const newBuffer = new Uint8Array(windowByteLength);\\n // リクエストのデータをセット\\n this.requestChunks.reduce((prev, cur) => {\\n newBuffer.set(new Uint8Array(cur), prev);\\n return prev + cur.byteLength;\\n }, 0);\\n this.sendBuffer(newBuffer);\\n this.requestChunks = [];\\n this.listener.notifySendBufferingTime(Date.now() - this.bufferStart);\\n this.bufferStart = Date.now();\\n }\\n else {\\n console.warn(`[worklet_node][voice-changer-worklet-processor] unknown response ${event.data.responseType}`, event.data);\\n }\\n }\\n}\\nconst postVoice = async (url, timestamp, buffer) => {\\n const obj = {\\n timestamp,\\n buffer: Buffer.from(buffer).toString('base64')\\n };\\n const body = JSON.stringify(obj);\\n const res = await fetch(`${url}`, {\\n method: \\\"POST\\\",\\n headers: {\\n 'Accept': 'application/json',\\n 'Content-Type': 'application/json'\\n },\\n body: body\\n });\\n try {\\n const receivedJson = await res.json();\\n const changedVoiceBase64 = receivedJson[\\\"changedVoiceBase64\\\"];\\n const buf = Buffer.from(changedVoiceBase64, \\\"base64\\\");\\n const ab = new ArrayBuffer(buf.length);\\n const view = new Uint8Array(ab);\\n for (let i = 0; i < buf.length; ++i) {\\n view[i] = buf[i];\\n }\\n return ab;\\n }\\n catch (e) {\\n console.log(\\\"Exception:\\\", e);\\n return new ArrayBuffer(10);\\n }\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/VoiceChangerWorkletNode.ts?\");\n\n/***/ }),\n\n/***/ \"./src/const.ts\":\n/*!**********************!*\\\n !*** ./src/const.ts ***!\n \\**********************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ CrossFadeOverlapSize: () => (/* binding */ CrossFadeOverlapSize),\\n/* harmony export */ DefaultClientSettng: () => (/* binding */ DefaultClientSettng),\\n/* harmony export */ DefaultServerSetting: () => (/* binding */ DefaultServerSetting),\\n/* harmony export */ DiffMethod: () => (/* binding */ DiffMethod),\\n/* harmony export */ DownSamplingMode: () => (/* binding */ DownSamplingMode),\\n/* harmony export */ F0Detector: () => (/* binding */ F0Detector),\\n/* harmony export */ INDEXEDDB_DB_APP_NAME: () => (/* binding */ INDEXEDDB_DB_APP_NAME),\\n/* harmony export */ INDEXEDDB_DB_NAME: () => (/* binding */ INDEXEDDB_DB_NAME),\\n/* harmony export */ INDEXEDDB_KEY_CLIENT: () => (/* binding */ INDEXEDDB_KEY_CLIENT),\\n/* harmony export */ INDEXEDDB_KEY_MODEL_DATA: () => (/* binding */ INDEXEDDB_KEY_MODEL_DATA),\\n/* harmony export */ INDEXEDDB_KEY_SERVER: () => (/* binding */ INDEXEDDB_KEY_SERVER),\\n/* harmony export */ InputSampleRate: () => (/* binding */ InputSampleRate),\\n/* harmony export */ ModelSamplingRate: () => (/* binding */ ModelSamplingRate),\\n/* harmony export */ Protocol: () => (/* binding */ Protocol),\\n/* harmony export */ RVCModelType: () => (/* binding */ RVCModelType),\\n/* harmony export */ SampleRate: () => (/* binding */ SampleRate),\\n/* harmony export */ SendingSampleRate: () => (/* binding */ SendingSampleRate),\\n/* harmony export */ ServerSettingKey: () => (/* binding */ ServerSettingKey),\\n/* harmony export */ VOICE_CHANGER_CLIENT_EXCEPTION: () => (/* binding */ VOICE_CHANGER_CLIENT_EXCEPTION),\\n/* harmony export */ VoiceChangerType: () => (/* binding */ VoiceChangerType)\\n/* harmony export */ });\\n// (★1) chunk sizeは 128サンプル, 256byte(int16)と定義。\\n// (★2) 256byte(最低バッファサイズ256から間引いた個数x2byte)をchunkとして管理。\\n// 24000sample -> 1sec, 128sample(1chunk) -> 5.333msec\\n// 187.5chunk -> 1sec\\nconst VoiceChangerType = {\\n \\\"MMVCv15\\\": \\\"MMVCv15\\\",\\n \\\"MMVCv13\\\": \\\"MMVCv13\\\",\\n \\\"so-vits-svc-40\\\": \\\"so-vits-svc-40\\\",\\n \\\"DDSP-SVC\\\": \\\"DDSP-SVC\\\",\\n \\\"RVC\\\": \\\"RVC\\\"\\n};\\n///////////////////////\\n// サーバセッティング\\n///////////////////////\\nconst InputSampleRate = {\\n \\\"48000\\\": 48000,\\n \\\"44100\\\": 44100,\\n \\\"24000\\\": 24000\\n};\\nconst ModelSamplingRate = {\\n \\\"48000\\\": 48000,\\n \\\"40000\\\": 40000,\\n \\\"32000\\\": 32000\\n};\\nconst CrossFadeOverlapSize = {\\n \\\"1024\\\": 1024,\\n \\\"2048\\\": 2048,\\n \\\"4096\\\": 4096,\\n};\\nconst F0Detector = {\\n \\\"dio\\\": \\\"dio\\\",\\n \\\"harvest\\\": \\\"harvest\\\",\\n \\\"crepe\\\": \\\"crepe\\\",\\n \\\"crepe_full\\\": \\\"crepe_full\\\",\\n \\\"crepe_tiny\\\": \\\"crepe_tiny\\\",\\n};\\nconst DiffMethod = {\\n \\\"pndm\\\": \\\"pndm\\\",\\n \\\"dpm-solver\\\": \\\"dpm-solver\\\",\\n};\\nconst RVCModelType = {\\n \\\"pyTorchRVC\\\": \\\"pyTorchRVC\\\",\\n \\\"pyTorchRVCNono\\\": \\\"pyTorchRVCNono\\\",\\n \\\"pyTorchRVCv2\\\": \\\"pyTorchRVCv2\\\",\\n \\\"pyTorchRVCv2Nono\\\": \\\"pyTorchRVCv2Nono\\\",\\n \\\"pyTorchWebUI\\\": \\\"pyTorchWebUI\\\",\\n \\\"pyTorchWebUINono\\\": \\\"pyTorchWebUINono\\\",\\n \\\"onnxRVC\\\": \\\"onnxRVC\\\",\\n \\\"onnxRVCNono\\\": \\\"onnxRVCNono\\\",\\n};\\nconst ServerSettingKey = {\\n \\\"srcId\\\": \\\"srcId\\\",\\n \\\"dstId\\\": \\\"dstId\\\",\\n \\\"gpu\\\": \\\"gpu\\\",\\n \\\"crossFadeOffsetRate\\\": \\\"crossFadeOffsetRate\\\",\\n \\\"crossFadeEndRate\\\": \\\"crossFadeEndRate\\\",\\n \\\"crossFadeOverlapSize\\\": \\\"crossFadeOverlapSize\\\",\\n \\\"framework\\\": \\\"framework\\\",\\n \\\"onnxExecutionProvider\\\": \\\"onnxExecutionProvider\\\",\\n \\\"f0Factor\\\": \\\"f0Factor\\\",\\n \\\"f0Detector\\\": \\\"f0Detector\\\",\\n \\\"recordIO\\\": \\\"recordIO\\\",\\n \\\"enableServerAudio\\\": \\\"enableServerAudio\\\",\\n \\\"serverAudioStated\\\": \\\"serverAudioStated\\\",\\n \\\"serverAudioSampleRate\\\": \\\"serverAudioSampleRate\\\",\\n \\\"serverInputAudioSampleRate\\\": \\\"serverInputAudioSampleRate\\\",\\n \\\"serverOutputAudioSampleRate\\\": \\\"serverOutputAudioSampleRate\\\",\\n \\\"serverMonitorAudioSampleRate\\\": \\\"serverMonitorAudioSampleRate\\\",\\n \\\"serverInputAudioBufferSize\\\": \\\"serverInputAudioBufferSize\\\",\\n \\\"serverOutputAudioBufferSize\\\": \\\"serverOutputAudioBufferSize\\\",\\n \\\"serverInputDeviceId\\\": \\\"serverInputDeviceId\\\",\\n \\\"serverOutputDeviceId\\\": \\\"serverOutputDeviceId\\\",\\n \\\"serverMonitorDeviceId\\\": \\\"serverMonitorDeviceId\\\",\\n \\\"serverReadChunkSize\\\": \\\"serverReadChunkSize\\\",\\n \\\"serverInputAudioGain\\\": \\\"serverInputAudioGain\\\",\\n \\\"serverOutputAudioGain\\\": \\\"serverOutputAudioGain\\\",\\n \\\"tran\\\": \\\"tran\\\",\\n \\\"noiseScale\\\": \\\"noiseScale\\\",\\n \\\"predictF0\\\": \\\"predictF0\\\",\\n \\\"silentThreshold\\\": \\\"silentThreshold\\\",\\n \\\"extraConvertSize\\\": \\\"extraConvertSize\\\",\\n \\\"clusterInferRatio\\\": \\\"clusterInferRatio\\\",\\n \\\"indexRatio\\\": \\\"indexRatio\\\",\\n \\\"protect\\\": \\\"protect\\\",\\n \\\"rvcQuality\\\": \\\"rvcQuality\\\",\\n \\\"modelSamplingRate\\\": \\\"modelSamplingRate\\\",\\n \\\"silenceFront\\\": \\\"silenceFront\\\",\\n \\\"modelSlotIndex\\\": \\\"modelSlotIndex\\\",\\n \\\"useEnhancer\\\": \\\"useEnhancer\\\",\\n \\\"useDiff\\\": \\\"useDiff\\\",\\n // \\\"useDiffDpm\\\": \\\"useDiffDpm\\\",\\n \\\"diffMethod\\\": \\\"diffMethod\\\",\\n \\\"useDiffSilence\\\": \\\"useDiffSilence\\\",\\n \\\"diffAcc\\\": \\\"diffAcc\\\",\\n \\\"diffSpkId\\\": \\\"diffSpkId\\\",\\n \\\"kStep\\\": \\\"kStep\\\",\\n \\\"threshold\\\": \\\"threshold\\\",\\n \\\"inputSampleRate\\\": \\\"inputSampleRate\\\",\\n \\\"enableDirectML\\\": \\\"enableDirectML\\\",\\n};\\nconst DefaultServerSetting = {\\n // VC Common \\n inputSampleRate: 48000,\\n crossFadeOffsetRate: 0.0,\\n crossFadeEndRate: 1.0,\\n crossFadeOverlapSize: CrossFadeOverlapSize[1024],\\n recordIO: 0,\\n enableServerAudio: 0,\\n serverAudioStated: 0,\\n serverAudioSampleRate: 48000,\\n serverInputAudioSampleRate: 48000,\\n serverOutputAudioSampleRate: 48000,\\n serverMonitorAudioSampleRate: 48000,\\n serverInputAudioBufferSize: 1024 * 24,\\n serverOutputAudioBufferSize: 1024 * 24,\\n serverInputDeviceId: -1,\\n serverOutputDeviceId: -1,\\n serverMonitorDeviceId: -1,\\n serverReadChunkSize: 256,\\n serverInputAudioGain: 1.0,\\n serverOutputAudioGain: 1.0,\\n // VC Specific\\n srcId: 0,\\n dstId: 1,\\n gpu: 0,\\n f0Factor: 1.0,\\n f0Detector: F0Detector.dio,\\n tran: 0,\\n noiseScale: 0,\\n predictF0: 0,\\n silentThreshold: 0,\\n extraConvertSize: 0,\\n clusterInferRatio: 0,\\n indexRatio: 0,\\n protect: 0.5,\\n rvcQuality: 0,\\n modelSamplingRate: 48000,\\n silenceFront: 1,\\n modelSlotIndex: 0,\\n sampleModels: [],\\n gpus: [],\\n useEnhancer: 0,\\n useDiff: 1,\\n diffMethod: \\\"dpm-solver\\\",\\n useDiffSilence: 0,\\n diffAcc: 20,\\n diffSpkId: 1,\\n kStep: 120,\\n threshold: -45,\\n enableDirectML: 0,\\n // \\n status: \\\"ok\\\",\\n modelSlots: [],\\n serverAudioInputDevices: [],\\n serverAudioOutputDevices: []\\n};\\n///////////////////////\\n// Worklet Nodeセッティング\\n///////////////////////\\nconst Protocol = {\\n \\\"sio\\\": \\\"sio\\\",\\n \\\"rest\\\": \\\"rest\\\",\\n};\\nconst SendingSampleRate = {\\n \\\"48000\\\": 48000,\\n \\\"44100\\\": 44100,\\n \\\"24000\\\": 24000\\n};\\nconst DownSamplingMode = {\\n \\\"decimate\\\": \\\"decimate\\\",\\n \\\"average\\\": \\\"average\\\"\\n};\\n///////////////////////\\n// クライアントセッティング\\n///////////////////////\\nconst SampleRate = {\\n \\\"48000\\\": 48000,\\n};\\nconst DefaultClientSettng = {\\n workletSetting: {\\n numTrancateTreshold: 100,\\n volTrancateThreshold: 0.0005,\\n volTrancateLength: 32\\n },\\n workletNodeSetting: {\\n serverUrl: \\\"\\\",\\n protocol: \\\"sio\\\",\\n sendingSampleRate: 48000,\\n inputChunkNum: 48,\\n downSamplingMode: \\\"average\\\"\\n },\\n voiceChangerClientSetting: {\\n audioInput: null,\\n sampleRate: 48000,\\n echoCancel: false,\\n noiseSuppression: false,\\n noiseSuppression2: false,\\n inputGain: 1.0,\\n outputGain: 1.0\\n }\\n};\\n////////////////////////////////////\\n// Exceptions\\n////////////////////////////////////\\nconst VOICE_CHANGER_CLIENT_EXCEPTION = {\\n ERR_SIO_CONNECT_FAILED: \\\"ERR_SIO_CONNECT_FAILED\\\",\\n ERR_SIO_INVALID_RESPONSE: \\\"ERR_SIO_INVALID_RESPONSE\\\",\\n ERR_REST_INVALID_RESPONSE: \\\"ERR_REST_INVALID_RESPONSE\\\",\\n ERR_MIC_STREAM_NOT_INITIALIZED: \\\"ERR_MIC_STREAM_NOT_INITIALIZED\\\"\\n};\\n////////////////////////////////////\\n// indexedDB\\n////////////////////////////////////\\nconst INDEXEDDB_DB_APP_NAME = \\\"INDEXEDDB_KEY_VOICE_CHANGER\\\";\\nconst INDEXEDDB_DB_NAME = \\\"INDEXEDDB_KEY_VOICE_CHANGER_DB\\\";\\nconst INDEXEDDB_KEY_CLIENT = \\\"INDEXEDDB_KEY_VOICE_CHANGER_LIB_CLIENT\\\";\\nconst INDEXEDDB_KEY_SERVER = \\\"INDEXEDDB_KEY_VOICE_CHANGER_LIB_SERVER\\\";\\nconst INDEXEDDB_KEY_MODEL_DATA = \\\"INDEXEDDB_KEY_VOICE_CHANGER_LIB_MODEL_DATA\\\";\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/const.ts?\");\n\n/***/ }),\n\n/***/ \"./src/exceptions.ts\":\n/*!***************************!*\\\n !*** ./src/exceptions.ts ***!\n \\***************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ ModelLoadException: () => (/* binding */ ModelLoadException)\\n/* harmony export */ });\\nclass ModelLoadException extends Error {\\n constructor(causeFileType) {\\n super(`Model Load Exception:${causeFileType}`);\\n this.causeFileType = \\\"\\\";\\n this.causeFileType = causeFileType;\\n this.name = this.constructor.name;\\n Error.captureStackTrace(this);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/exceptions.ts?\");\n\n/***/ }),\n\n/***/ \"./src/hooks/useClient.ts\":\n/*!********************************!*\\\n !*** ./src/hooks/useClient.ts ***!\n \\********************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ useClient: () => (/* binding */ useClient)\\n/* harmony export */ });\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \\\"react\\\");\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var _VoiceChangerClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../VoiceChangerClient */ \\\"./src/VoiceChangerClient.ts\\\");\\n/* harmony import */ var _useClientSetting__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useClientSetting */ \\\"./src/hooks/useClientSetting.ts\\\");\\n/* harmony import */ var _useIndexedDB__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useIndexedDB */ \\\"./src/hooks/useIndexedDB.ts\\\");\\n/* harmony import */ var _useServerSetting__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./useServerSetting */ \\\"./src/hooks/useServerSetting.ts\\\");\\n/* harmony import */ var _useWorkletNodeSetting__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./useWorkletNodeSetting */ \\\"./src/hooks/useWorkletNodeSetting.ts\\\");\\n/* harmony import */ var _useWorkletSetting__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useWorkletSetting */ \\\"./src/hooks/useWorkletSetting.ts\\\");\\n/* harmony import */ var _const__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../const */ \\\"./src/const.ts\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\nconst InitialPerformanceData = {\\n responseTime: 0,\\n preprocessTime: 0,\\n mainprocessTime: 0,\\n postprocessTime: 0\\n};\\nconst useClient = (props) => {\\n const [initialized, setInitialized] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\\n const [setting, setSetting] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_const__WEBPACK_IMPORTED_MODULE_7__.DefaultClientSettng);\\n // (1-1) クライアント \\n const voiceChangerClientRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\\n const [voiceChangerClient, setVoiceChangerClient] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(voiceChangerClientRef.current);\\n //// クライアント初期化待ち用フラグ\\n const initializedResolveRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\\n const initializedPromise = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return new Promise((resolve) => {\\n initializedResolveRef.current = resolve;\\n });\\n }, []);\\n // (1-2) 各種設定I/F\\n const voiceChangerClientSetting = (0,_useClientSetting__WEBPACK_IMPORTED_MODULE_2__.useClientSetting)({ voiceChangerClient, voiceChangerClientSetting: setting.voiceChangerClientSetting });\\n const workletNodeSetting = (0,_useWorkletNodeSetting__WEBPACK_IMPORTED_MODULE_5__.useWorkletNodeSetting)({ voiceChangerClient: voiceChangerClient, workletNodeSetting: setting.workletNodeSetting });\\n (0,_useWorkletSetting__WEBPACK_IMPORTED_MODULE_6__.useWorkletSetting)({ voiceChangerClient, workletSetting: setting.workletSetting });\\n const serverSetting = (0,_useServerSetting__WEBPACK_IMPORTED_MODULE_4__.useServerSetting)({ voiceChangerClient });\\n const indexedDBState = (0,_useIndexedDB__WEBPACK_IMPORTED_MODULE_3__.useIndexedDB)({ clientType: null });\\n // (1-3) モニタリングデータ\\n const [bufferingTime, setBufferingTime] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);\\n const [performance, setPerformance] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(InitialPerformanceData);\\n const [volume, setVolume] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);\\n const [ioErrorCount, setIoErrorCount] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);\\n //// Server Audio Deviceを使うとき、モニタリングデータはpolling\\n const updatePerformance = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n if (!voiceChangerClientRef.current) {\\n return null;\\n }\\n return async () => {\\n if (voiceChangerClientRef.current) {\\n const performance = await voiceChangerClientRef.current.getPerformance();\\n const responseTime = performance[0];\\n const preprocessTime = performance[1];\\n const mainprocessTime = performance[2];\\n const postprocessTime = performance[3];\\n setPerformance({ responseTime, preprocessTime, mainprocessTime, postprocessTime });\\n }\\n else {\\n const responseTime = 0;\\n const preprocessTime = 0;\\n const mainprocessTime = 0;\\n const postprocessTime = 0;\\n setPerformance({ responseTime, preprocessTime, mainprocessTime, postprocessTime });\\n }\\n };\\n }, [voiceChangerClientRef.current]);\\n // (1-4) エラーステータス\\n const ioErrorCountRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\\n const resetIoErrorCount = () => {\\n ioErrorCountRef.current = 0;\\n setIoErrorCount(ioErrorCountRef.current);\\n };\\n // 設定データ管理\\n const { setItem, getItem } = (0,_useIndexedDB__WEBPACK_IMPORTED_MODULE_3__.useIndexedDB)({ clientType: null });\\n // 設定データの更新と保存\\n const _setSetting = (_setting) => {\\n const storeData = { ..._setting };\\n storeData.voiceChangerClientSetting = { ...storeData.voiceChangerClientSetting };\\n if (typeof storeData.voiceChangerClientSetting.audioInput != \\\"string\\\") {\\n storeData.voiceChangerClientSetting.audioInput = \\\"none\\\";\\n }\\n setItem(\\\"clientSetting\\\", storeData);\\n setSetting(_setting);\\n };\\n // 設定データ初期化\\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\\n if (!voiceChangerClient) {\\n return;\\n }\\n const loadCache = async () => {\\n const _setting = await getItem(\\\"clientSetting\\\");\\n if (_setting) {\\n setSetting(_setting);\\n serverSetting.reloadServerInfo();\\n }\\n };\\n loadCache();\\n }, [voiceChangerClient]);\\n // (2-1) クライアント初期化処理\\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\\n const initialized = async () => {\\n if (!props.audioContext) {\\n return;\\n }\\n const voiceChangerClient = new _VoiceChangerClient__WEBPACK_IMPORTED_MODULE_1__.VoiceChangerClient(props.audioContext, true, {\\n notifySendBufferingTime: (val) => {\\n setBufferingTime(val);\\n },\\n notifyResponseTime: (val, perf) => {\\n const responseTime = val;\\n const preprocessTime = perf ? Math.ceil(perf[0] * 1000) : 0;\\n const mainprocessTime = perf ? Math.ceil(perf[1] * 1000) : 0;\\n const postprocessTime = perf ? Math.ceil(perf[2] * 1000) : 0;\\n setPerformance({ responseTime, preprocessTime, mainprocessTime, postprocessTime });\\n },\\n notifyException: (mes) => {\\n if (mes.length > 0) {\\n console.log(`error:${mes}`);\\n ioErrorCountRef.current += 1;\\n setIoErrorCount(ioErrorCountRef.current);\\n }\\n },\\n notifyVolume: (vol) => {\\n setVolume(vol);\\n }\\n });\\n await voiceChangerClient.isInitialized();\\n voiceChangerClientRef.current = voiceChangerClient;\\n setVoiceChangerClient(voiceChangerClientRef.current);\\n console.log(\\\"[useClient] client initialized\\\");\\n // const audio = document.getElementById(props.audioOutputElementId) as HTMLAudioElement\\n // audio.srcObject = voiceChangerClientRef.current.stream\\n // audio.play()\\n initializedResolveRef.current();\\n setInitialized(true);\\n };\\n initialized();\\n }, [props.audioContext]);\\n const setAudioOutputElementId = (elemId) => {\\n if (!voiceChangerClientRef.current) {\\n console.warn(\\\"[voiceChangerClient] is not ready for set audio output.\\\");\\n return;\\n }\\n const audio = document.getElementById(elemId);\\n if (audio.paused) {\\n audio.srcObject = voiceChangerClientRef.current.stream;\\n audio.play();\\n }\\n };\\n // (2-2) 情報リロード\\n const getInfo = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return async () => {\\n await initializedPromise;\\n await voiceChangerClientSetting.reloadClientSetting(); // 実質的な処理の意味はない\\n await serverSetting.reloadServerInfo();\\n };\\n }, [voiceChangerClientSetting.reloadClientSetting, serverSetting.reloadServerInfo]);\\n const clearSetting = async () => {\\n // TBD\\n };\\n // 設定変更\\n const setVoiceChangerClientSetting = (_voiceChangerClientSetting) => {\\n setting.voiceChangerClientSetting = _voiceChangerClientSetting;\\n console.log(\\\"setting.voiceChangerClientSetting\\\", setting.voiceChangerClientSetting);\\n // workletSettingIF.setSetting(_workletSetting)\\n _setSetting({ ...setting });\\n };\\n const setWorkletNodeSetting = (_workletNodeSetting) => {\\n setting.workletNodeSetting = _workletNodeSetting;\\n console.log(\\\"setting.workletNodeSetting\\\", setting.workletNodeSetting);\\n // workletSettingIF.setSetting(_workletSetting)\\n _setSetting({ ...setting });\\n };\\n const setWorkletSetting = (_workletSetting) => {\\n setting.workletSetting = _workletSetting;\\n console.log(\\\"setting.workletSetting\\\", setting.workletSetting);\\n // workletSettingIF.setSetting(_workletSetting)\\n _setSetting({ ...setting });\\n };\\n return {\\n initialized,\\n setting,\\n // 各種設定I/Fへの参照\\n setVoiceChangerClientSetting,\\n setServerUrl: voiceChangerClientSetting.setServerUrl,\\n start: voiceChangerClientSetting.start,\\n stop: voiceChangerClientSetting.stop,\\n reloadClientSetting: voiceChangerClientSetting.reloadClientSetting,\\n setWorkletNodeSetting,\\n startOutputRecording: workletNodeSetting.startOutputRecording,\\n stopOutputRecording: workletNodeSetting.stopOutputRecording,\\n trancateBuffer: workletNodeSetting.trancateBuffer,\\n setWorkletSetting,\\n // workletSetting: workletSettingIF.setting,\\n serverSetting,\\n indexedDBState,\\n // モニタリングデータ\\n bufferingTime,\\n volume,\\n performance,\\n updatePerformance,\\n // 情報取得\\n getInfo,\\n // 設定クリア\\n clearSetting,\\n // AudioOutputElement 設定\\n setAudioOutputElementId,\\n ioErrorCount,\\n resetIoErrorCount\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/hooks/useClient.ts?\");\n\n/***/ }),\n\n/***/ \"./src/hooks/useClientSetting.ts\":\n/*!***************************************!*\\\n !*** ./src/hooks/useClientSetting.ts ***!\n \\***************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ useClientSetting: () => (/* binding */ useClientSetting)\\n/* harmony export */ });\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \\\"react\\\");\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\\n\\nconst useClientSetting = (props) => {\\n // 更新比較用\\n const [voiceChangerClientSetting, setVoiceChangerClientSetting] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(props.voiceChangerClientSetting);\\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\\n const update = async () => {\\n if (!props.voiceChangerClient)\\n return;\\n for (let k in props.voiceChangerClientSetting) {\\n const cur_v = voiceChangerClientSetting[k];\\n const new_v = props.voiceChangerClientSetting[k];\\n if (cur_v != new_v) {\\n setVoiceChangerClientSetting(props.voiceChangerClientSetting);\\n await props.voiceChangerClient.updateClientSetting(props.voiceChangerClientSetting);\\n break;\\n }\\n }\\n };\\n update();\\n }, [props.voiceChangerClient, props.voiceChangerClientSetting]);\\n const setServerUrl = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return (url) => {\\n if (!props.voiceChangerClient)\\n return;\\n props.voiceChangerClient.setServerUrl(url, true);\\n };\\n }, [props.voiceChangerClient]);\\n //////////////\\n // 操作\\n /////////////\\n // (1) start\\n const start = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return async () => {\\n if (!props.voiceChangerClient)\\n return;\\n await props.voiceChangerClient.start();\\n };\\n }, [props.voiceChangerClient]);\\n // (2) stop\\n const stop = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return async () => {\\n if (!props.voiceChangerClient)\\n return;\\n await props.voiceChangerClient.stop();\\n };\\n }, [props.voiceChangerClient]);\\n const reloadClientSetting = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return async () => {\\n if (!props.voiceChangerClient)\\n return;\\n await props.voiceChangerClient.getClientSettings();\\n };\\n }, [props.voiceChangerClient]);\\n return {\\n setServerUrl,\\n start,\\n stop,\\n reloadClientSetting\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/hooks/useClientSetting.ts?\");\n\n/***/ }),\n\n/***/ \"./src/hooks/useIndexedDB.ts\":\n/*!***********************************!*\\\n !*** ./src/hooks/useIndexedDB.ts ***!\n \\***********************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ useIndexedDB: () => (/* binding */ useIndexedDB)\\n/* harmony export */ });\\n/* harmony import */ var localforage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! localforage */ \\\"./node_modules/localforage/dist/localforage.js\\\");\\n/* harmony import */ var localforage__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(localforage__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \\\"react\\\");\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\\n/* harmony import */ var _const__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../const */ \\\"./src/const.ts\\\");\\n\\n\\n\\nconst useIndexedDB = (props) => {\\n const clientType = props.clientType || \\\"default\\\";\\n localforage__WEBPACK_IMPORTED_MODULE_0___default().config({\\n driver: (localforage__WEBPACK_IMPORTED_MODULE_0___default().INDEXEDDB),\\n name: _const__WEBPACK_IMPORTED_MODULE_2__.INDEXEDDB_DB_APP_NAME,\\n version: 1.0,\\n storeName: `${_const__WEBPACK_IMPORTED_MODULE_2__.INDEXEDDB_DB_NAME}`,\\n description: 'appStorage'\\n });\\n const setItem = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => {\\n return async (key, value) => {\\n const clientKey = `${clientType}_${key}`;\\n await localforage__WEBPACK_IMPORTED_MODULE_0___default().setItem(clientKey, value);\\n };\\n }, [props.clientType]);\\n const getItem = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => {\\n return async (key) => {\\n const clientKey = `${clientType}_${key}`;\\n return await localforage__WEBPACK_IMPORTED_MODULE_0___default().getItem(clientKey);\\n };\\n }, [props.clientType]);\\n const removeItem = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => {\\n return async (key) => {\\n const clientKey = `${clientType}_${key}`;\\n console.log(\\\"remove key:\\\", clientKey);\\n return await localforage__WEBPACK_IMPORTED_MODULE_0___default().removeItem(clientKey);\\n };\\n }, [props.clientType]);\\n const removeDB = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => {\\n return async () => {\\n const keys = await localforage__WEBPACK_IMPORTED_MODULE_0___default().keys();\\n for (const key of keys) {\\n console.log(\\\"remove key:\\\", key);\\n await localforage__WEBPACK_IMPORTED_MODULE_0___default().removeItem(key);\\n }\\n };\\n }, [props.clientType]);\\n return {\\n dummy: \\\"\\\",\\n setItem,\\n getItem,\\n removeItem,\\n removeDB\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/hooks/useIndexedDB.ts?\");\n\n/***/ }),\n\n/***/ \"./src/hooks/useServerSetting.ts\":\n/*!***************************************!*\\\n !*** ./src/hooks/useServerSetting.ts ***!\n \\***************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ ModelAssetName: () => (/* binding */ ModelAssetName),\\n/* harmony export */ ModelFileKind: () => (/* binding */ ModelFileKind),\\n/* harmony export */ useServerSetting: () => (/* binding */ useServerSetting)\\n/* harmony export */ });\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \\\"react\\\");\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var _const__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../const */ \\\"./src/const.ts\\\");\\n\\n\\nconst ModelAssetName = {\\n iconFile: \\\"iconFile\\\"\\n};\\nconst ModelFileKind = {\\n \\\"mmvcv13Config\\\": \\\"mmvcv13Config\\\",\\n \\\"mmvcv13Model\\\": \\\"mmvcv13Model\\\",\\n \\\"mmvcv15Config\\\": \\\"mmvcv15Config\\\",\\n \\\"mmvcv15Model\\\": \\\"mmvcv15Model\\\",\\n \\\"mmvcv15Correspondence\\\": \\\"mmvcv15Correspondence\\\",\\n \\\"soVitsSvc40Config\\\": \\\"soVitsSvc40Config\\\",\\n \\\"soVitsSvc40Model\\\": \\\"soVitsSvc40Model\\\",\\n \\\"soVitsSvc40Cluster\\\": \\\"soVitsSvc40Cluster\\\",\\n \\\"rvcModel\\\": \\\"rvcModel\\\",\\n \\\"rvcIndex\\\": \\\"rvcIndex\\\",\\n \\\"ddspSvcModel\\\": \\\"ddspSvcModel\\\",\\n \\\"ddspSvcModelConfig\\\": \\\"ddspSvcModelConfig\\\",\\n \\\"ddspSvcDiffusion\\\": \\\"ddspSvcDiffusion\\\",\\n \\\"ddspSvcDiffusionConfig\\\": \\\"ddspSvcDiffusionConfig\\\",\\n};\\nconst useServerSetting = (props) => {\\n const [serverSetting, setServerSetting] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_const__WEBPACK_IMPORTED_MODULE_1__.DefaultServerSetting);\\n //////////////\\n // 設定\\n /////////////\\n const updateServerSettings = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return async (setting) => {\\n if (!props.voiceChangerClient)\\n return;\\n for (let i = 0; i < Object.values(_const__WEBPACK_IMPORTED_MODULE_1__.ServerSettingKey).length; i++) {\\n const k = Object.values(_const__WEBPACK_IMPORTED_MODULE_1__.ServerSettingKey)[i];\\n const cur_v = serverSetting[k];\\n const new_v = setting[k];\\n if (cur_v != new_v) {\\n const res = await props.voiceChangerClient.updateServerSettings(k, \\\"\\\" + new_v);\\n setServerSetting(res);\\n }\\n }\\n };\\n }, [props.voiceChangerClient, serverSetting]);\\n //////////////\\n // 操作\\n /////////////\\n const [uploadProgress, setUploadProgress] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);\\n const [isUploading, setIsUploading] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\\n // (e) モデルアップロード\\n const _uploadFile2 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return async (file, onprogress, dir = \\\"\\\") => {\\n if (!props.voiceChangerClient)\\n return;\\n const num = await props.voiceChangerClient.uploadFile2(dir, file, onprogress);\\n const res = await props.voiceChangerClient.concatUploadedFile(dir + file.name, num);\\n console.log(\\\"uploaded\\\", num, res);\\n };\\n }, [props.voiceChangerClient]);\\n // 新しいアップローダ\\n const uploadModel = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return async (setting) => {\\n if (!props.voiceChangerClient) {\\n return;\\n }\\n setUploadProgress(0);\\n setIsUploading(true);\\n if (setting.isSampleMode == false) {\\n const progRate = 1 / setting.files.length;\\n for (let i = 0; i < setting.files.length; i++) {\\n const progOffset = 100 * i * progRate;\\n await _uploadFile2(setting.files[i].file, (progress, _end) => {\\n setUploadProgress(progress * progRate + progOffset);\\n }, setting.files[i].dir);\\n }\\n }\\n const params = {\\n ...setting, files: setting.files.map((f) => { return { name: f.file.name, kind: f.kind, dir: f.dir }; })\\n };\\n const loadPromise = props.voiceChangerClient.loadModel(0, false, JSON.stringify(params));\\n await loadPromise;\\n setUploadProgress(0);\\n setIsUploading(false);\\n reloadServerInfo();\\n };\\n }, [props.voiceChangerClient]);\\n const uploadAssets = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return async (slot, name, file) => {\\n if (!props.voiceChangerClient)\\n return;\\n await _uploadFile2(file, (progress, _end) => {\\n console.log(progress, _end);\\n });\\n const assetUploadSetting = {\\n slot,\\n name,\\n file: file.name\\n };\\n await props.voiceChangerClient.uploadAssets(JSON.stringify(assetUploadSetting));\\n reloadServerInfo();\\n };\\n }, [props.voiceChangerClient]);\\n const reloadServerInfo = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return async () => {\\n if (!props.voiceChangerClient)\\n return;\\n const res = await props.voiceChangerClient.getServerSettings();\\n setServerSetting(res);\\n };\\n }, [props.voiceChangerClient]);\\n const getOnnx = async () => {\\n return props.voiceChangerClient.getOnnx();\\n };\\n const mergeModel = async (request) => {\\n const serverInfo = await props.voiceChangerClient.mergeModel(request);\\n setServerSetting(serverInfo);\\n return serverInfo;\\n };\\n const updateModelDefault = async () => {\\n const serverInfo = await props.voiceChangerClient.updateModelDefault();\\n setServerSetting(serverInfo);\\n return serverInfo;\\n };\\n const updateModelInfo = async (slot, key, val) => {\\n const serverInfo = await props.voiceChangerClient.updateModelInfo(slot, key, val);\\n setServerSetting(serverInfo);\\n return serverInfo;\\n };\\n return {\\n serverSetting,\\n updateServerSettings,\\n reloadServerInfo,\\n uploadModel,\\n uploadProgress,\\n isUploading,\\n getOnnx,\\n mergeModel,\\n updateModelDefault,\\n updateModelInfo,\\n uploadAssets\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/hooks/useServerSetting.ts?\");\n\n/***/ }),\n\n/***/ \"./src/hooks/useWorkletNodeSetting.ts\":\n/*!********************************************!*\\\n !*** ./src/hooks/useWorkletNodeSetting.ts ***!\n \\********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ useWorkletNodeSetting: () => (/* binding */ useWorkletNodeSetting)\\n/* harmony export */ });\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \\\"react\\\");\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\\n\\nconst useWorkletNodeSetting = (props) => {\\n // 更新比較用\\n const [workletNodeSetting, _setWorkletNodeSetting] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(props.workletNodeSetting);\\n //////////////\\n // 設定\\n /////////////\\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\\n if (!props.voiceChangerClient)\\n return;\\n for (let k in props.workletNodeSetting) {\\n const cur_v = workletNodeSetting[k];\\n const new_v = props.workletNodeSetting[k];\\n if (cur_v != new_v) {\\n _setWorkletNodeSetting(props.workletNodeSetting);\\n props.voiceChangerClient.updateWorkletNodeSetting(props.workletNodeSetting);\\n break;\\n }\\n }\\n }, [props.voiceChangerClient, props.workletNodeSetting]);\\n const startOutputRecording = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return () => {\\n if (!props.voiceChangerClient)\\n return;\\n props.voiceChangerClient.startOutputRecording();\\n };\\n }, [props.voiceChangerClient]);\\n const stopOutputRecording = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return async () => {\\n if (!props.voiceChangerClient)\\n return new Float32Array();\\n return props.voiceChangerClient.stopOutputRecording();\\n };\\n }, [props.voiceChangerClient]);\\n const trancateBuffer = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\\n return async () => {\\n if (!props.voiceChangerClient)\\n return;\\n props.voiceChangerClient.trancateBuffer();\\n };\\n }, [props.voiceChangerClient]);\\n return {\\n startOutputRecording,\\n stopOutputRecording,\\n trancateBuffer\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/hooks/useWorkletNodeSetting.ts?\");\n\n/***/ }),\n\n/***/ \"./src/hooks/useWorkletSetting.ts\":\n/*!****************************************!*\\\n !*** ./src/hooks/useWorkletSetting.ts ***!\n \\****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ useWorkletSetting: () => (/* binding */ useWorkletSetting)\\n/* harmony export */ });\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \\\"react\\\");\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\\n\\nconst useWorkletSetting = (props) => {\\n const [setting, _setSetting] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(props.workletSetting);\\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\\n if (!props.voiceChangerClient)\\n return;\\n props.voiceChangerClient.configureWorklet(setting);\\n }, [props.voiceChangerClient, props.workletSetting]);\\n // // 設定 _setSettingがトリガでuseEffectが呼ばれて、workletに設定が飛ぶ\\n // const setSetting = useMemo(() => {\\n // return (setting: WorkletSetting) => {\\n // if (!props.voiceChangerClient) return\\n // _setSetting(setting)\\n // }\\n // }, [props.voiceChangerClient])\\n return {\\n // setting,\\n // setSetting,\\n };\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/hooks/useWorkletSetting.ts?\");\n\n/***/ }),\n\n/***/ \"./src/index.ts\":\n/*!**********************!*\\\n !*** ./src/index.ts ***!\n \\**********************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ CrossFadeOverlapSize: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.CrossFadeOverlapSize),\\n/* harmony export */ DefaultClientSettng: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.DefaultClientSettng),\\n/* harmony export */ DefaultServerSetting: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.DefaultServerSetting),\\n/* harmony export */ DiffMethod: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.DiffMethod),\\n/* harmony export */ DownSamplingMode: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.DownSamplingMode),\\n/* harmony export */ F0Detector: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.F0Detector),\\n/* harmony export */ INDEXEDDB_DB_APP_NAME: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.INDEXEDDB_DB_APP_NAME),\\n/* harmony export */ INDEXEDDB_DB_NAME: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.INDEXEDDB_DB_NAME),\\n/* harmony export */ INDEXEDDB_KEY_CLIENT: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.INDEXEDDB_KEY_CLIENT),\\n/* harmony export */ INDEXEDDB_KEY_MODEL_DATA: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.INDEXEDDB_KEY_MODEL_DATA),\\n/* harmony export */ INDEXEDDB_KEY_SERVER: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.INDEXEDDB_KEY_SERVER),\\n/* harmony export */ InputSampleRate: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.InputSampleRate),\\n/* harmony export */ ModelAssetName: () => (/* reexport safe */ _hooks_useServerSetting__WEBPACK_IMPORTED_MODULE_6__.ModelAssetName),\\n/* harmony export */ ModelFileKind: () => (/* reexport safe */ _hooks_useServerSetting__WEBPACK_IMPORTED_MODULE_6__.ModelFileKind),\\n/* harmony export */ ModelLoadException: () => (/* reexport safe */ _exceptions__WEBPACK_IMPORTED_MODULE_1__.ModelLoadException),\\n/* harmony export */ ModelSamplingRate: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.ModelSamplingRate),\\n/* harmony export */ Protocol: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.Protocol),\\n/* harmony export */ RVCModelType: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.RVCModelType),\\n/* harmony export */ SampleRate: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.SampleRate),\\n/* harmony export */ SendingSampleRate: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.SendingSampleRate),\\n/* harmony export */ ServerSettingKey: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.ServerSettingKey),\\n/* harmony export */ VOICE_CHANGER_CLIENT_EXCEPTION: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.VOICE_CHANGER_CLIENT_EXCEPTION),\\n/* harmony export */ VoiceChangerClient: () => (/* reexport safe */ _VoiceChangerClient__WEBPACK_IMPORTED_MODULE_2__.VoiceChangerClient),\\n/* harmony export */ VoiceChangerType: () => (/* reexport safe */ _const__WEBPACK_IMPORTED_MODULE_0__.VoiceChangerType),\\n/* harmony export */ createDummyMediaStream: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_3__.createDummyMediaStream),\\n/* harmony export */ fileSelector: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_3__.fileSelector),\\n/* harmony export */ fileSelectorAsDataURL: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_3__.fileSelectorAsDataURL),\\n/* harmony export */ useClient: () => (/* reexport safe */ _hooks_useClient__WEBPACK_IMPORTED_MODULE_4__.useClient),\\n/* harmony export */ useIndexedDB: () => (/* reexport safe */ _hooks_useIndexedDB__WEBPACK_IMPORTED_MODULE_5__.useIndexedDB),\\n/* harmony export */ useServerSetting: () => (/* reexport safe */ _hooks_useServerSetting__WEBPACK_IMPORTED_MODULE_6__.useServerSetting),\\n/* harmony export */ validateUrl: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_3__.validateUrl)\\n/* harmony export */ });\\n/* harmony import */ var _const__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./const */ \\\"./src/const.ts\\\");\\n/* harmony import */ var _exceptions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./exceptions */ \\\"./src/exceptions.ts\\\");\\n/* harmony import */ var _VoiceChangerClient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./VoiceChangerClient */ \\\"./src/VoiceChangerClient.ts\\\");\\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util */ \\\"./src/util.ts\\\");\\n/* harmony import */ var _hooks_useClient__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hooks/useClient */ \\\"./src/hooks/useClient.ts\\\");\\n/* harmony import */ var _hooks_useIndexedDB__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hooks/useIndexedDB */ \\\"./src/hooks/useIndexedDB.ts\\\");\\n/* harmony import */ var _hooks_useServerSetting__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./hooks/useServerSetting */ \\\"./src/hooks/useServerSetting.ts\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/index.ts?\");\n\n/***/ }),\n\n/***/ \"./src/util.ts\":\n/*!*********************!*\\\n !*** ./src/util.ts ***!\n \\*********************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ createDummyMediaStream: () => (/* binding */ createDummyMediaStream),\\n/* harmony export */ fileSelector: () => (/* binding */ fileSelector),\\n/* harmony export */ fileSelectorAsDataURL: () => (/* binding */ fileSelectorAsDataURL),\\n/* harmony export */ validateUrl: () => (/* binding */ validateUrl)\\n/* harmony export */ });\\nconst createDummyMediaStream = (audioContext) => {\\n const dummyOutputNode = audioContext.createMediaStreamDestination();\\n const gainNode = audioContext.createGain();\\n gainNode.gain.value = 0.0;\\n gainNode.connect(dummyOutputNode);\\n const oscillatorNode = audioContext.createOscillator();\\n oscillatorNode.frequency.value = 440;\\n oscillatorNode.connect(gainNode);\\n oscillatorNode.start();\\n return dummyOutputNode.stream;\\n};\\nconst fileSelector = async (regex) => {\\n const fileInput = document.createElement(\\\"input\\\");\\n fileInput.type = \\\"file\\\";\\n const p = new Promise((resolve, reject) => {\\n fileInput.onchange = (e) => {\\n if (e.target instanceof HTMLInputElement == false) {\\n console.log(\\\"invalid target!\\\", e.target);\\n reject(\\\"invalid target\\\");\\n return null;\\n }\\n const target = e.target;\\n if (!target.files || target.files.length == 0) {\\n reject(\\\"no file selected\\\");\\n return null;\\n }\\n if (regex != \\\"\\\" && target.files[0].type.match(regex)) {\\n reject(`not target file type ${target.files[0].type}`);\\n return null;\\n }\\n resolve(target.files[0]);\\n return null;\\n };\\n fileInput.click();\\n });\\n return await p;\\n};\\nconst fileSelectorAsDataURL = async (regex) => {\\n const f = await fileSelector(regex);\\n if (!f) {\\n return f;\\n }\\n const url = await new Promise((resolve) => {\\n const reader = new FileReader();\\n reader.onload = () => {\\n console.log(\\\"load data\\\", reader.result);\\n resolve(reader.result);\\n };\\n reader.readAsDataURL(f);\\n });\\n return url;\\n};\\nconst validateUrl = (url) => {\\n if (url?.endsWith(\\\"/\\\")) {\\n return url.substring(0, url.length - 1);\\n }\\n return url;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/util.ts?\");\n\n/***/ }),\n\n/***/ \"./src/utils/BlockingQueue.ts\":\n/*!************************************!*\\\n !*** ./src/utils/BlockingQueue.ts ***!\n \\************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ BlockingQueue: () => (/* binding */ BlockingQueue)\\n/* harmony export */ });\\nclass BlockingQueue {\\n constructor() {\\n this._resolvers = [];\\n this._promises = [];\\n }\\n _add() {\\n this._promises.push(new Promise((resolve) => {\\n this._resolvers.push(resolve);\\n }));\\n }\\n enqueue(t) {\\n if (this._resolvers.length == 0)\\n this._add();\\n const resolve = this._resolvers.shift();\\n resolve(t);\\n }\\n dequeue() {\\n if (this._promises.length == 0)\\n this._add();\\n const promise = this._promises.shift();\\n return promise;\\n }\\n isEmpty() {\\n return this._promises.length == 0;\\n }\\n isBlocked() {\\n return this._resolvers.length != 0;\\n }\\n get length() {\\n return this._promises.length - this._resolvers.length;\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./src/utils/BlockingQueue.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/tslib/tslib.es6.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/tslib/tslib.es6.js ***!\n \\*****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ __assign: () => (/* binding */ __assign),\\n/* harmony export */ __asyncDelegator: () => (/* binding */ __asyncDelegator),\\n/* harmony export */ __asyncGenerator: () => (/* binding */ __asyncGenerator),\\n/* harmony export */ __asyncValues: () => (/* binding */ __asyncValues),\\n/* harmony export */ __await: () => (/* binding */ __await),\\n/* harmony export */ __awaiter: () => (/* binding */ __awaiter),\\n/* harmony export */ __classPrivateFieldGet: () => (/* binding */ __classPrivateFieldGet),\\n/* harmony export */ __classPrivateFieldSet: () => (/* binding */ __classPrivateFieldSet),\\n/* harmony export */ __createBinding: () => (/* binding */ __createBinding),\\n/* harmony export */ __decorate: () => (/* binding */ __decorate),\\n/* harmony export */ __exportStar: () => (/* binding */ __exportStar),\\n/* harmony export */ __extends: () => (/* binding */ __extends),\\n/* harmony export */ __generator: () => (/* binding */ __generator),\\n/* harmony export */ __importDefault: () => (/* binding */ __importDefault),\\n/* harmony export */ __importStar: () => (/* binding */ __importStar),\\n/* harmony export */ __makeTemplateObject: () => (/* binding */ __makeTemplateObject),\\n/* harmony export */ __metadata: () => (/* binding */ __metadata),\\n/* harmony export */ __param: () => (/* binding */ __param),\\n/* harmony export */ __read: () => (/* binding */ __read),\\n/* harmony export */ __rest: () => (/* binding */ __rest),\\n/* harmony export */ __spread: () => (/* binding */ __spread),\\n/* harmony export */ __spreadArrays: () => (/* binding */ __spreadArrays),\\n/* harmony export */ __values: () => (/* binding */ __values)\\n/* harmony export */ });\\n/*! *****************************************************************************\\r\\nCopyright (c) Microsoft Corporation.\\r\\n\\r\\nPermission to use, copy, modify, and/or distribute this software for any\\r\\npurpose with or without fee is hereby granted.\\r\\n\\r\\nTHE SOFTWARE IS PROVIDED \\\"AS IS\\\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\\r\\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\\r\\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\\r\\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\\r\\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\\r\\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\\r\\nPERFORMANCE OF THIS SOFTWARE.\\r\\n***************************************************************************** */\\r\\n/* global Reflect, Promise */\\r\\n\\r\\nvar extendStatics = function(d, b) {\\r\\n extendStatics = Object.setPrototypeOf ||\\r\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\r\\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\r\\n return extendStatics(d, b);\\r\\n};\\r\\n\\r\\nfunction __extends(d, b) {\\r\\n extendStatics(d, b);\\r\\n function __() { this.constructor = d; }\\r\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\r\\n}\\r\\n\\r\\nvar __assign = function() {\\r\\n __assign = Object.assign || function __assign(t) {\\r\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\r\\n s = arguments[i];\\r\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\\r\\n }\\r\\n return t;\\r\\n }\\r\\n return __assign.apply(this, arguments);\\r\\n}\\r\\n\\r\\nfunction __rest(s, e) {\\r\\n var t = {};\\r\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\\r\\n t[p] = s[p];\\r\\n if (s != null && typeof Object.getOwnPropertySymbols === \\\"function\\\")\\r\\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\\r\\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\\r\\n t[p[i]] = s[p[i]];\\r\\n }\\r\\n return t;\\r\\n}\\r\\n\\r\\nfunction __decorate(decorators, target, key, desc) {\\r\\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\\r\\n if (typeof Reflect === \\\"object\\\" && typeof Reflect.decorate === \\\"function\\\") r = Reflect.decorate(decorators, target, key, desc);\\r\\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\\r\\n return c > 3 && r && Object.defineProperty(target, key, r), r;\\r\\n}\\r\\n\\r\\nfunction __param(paramIndex, decorator) {\\r\\n return function (target, key) { decorator(target, key, paramIndex); }\\r\\n}\\r\\n\\r\\nfunction __metadata(metadataKey, metadataValue) {\\r\\n if (typeof Reflect === \\\"object\\\" && typeof Reflect.metadata === \\\"function\\\") return Reflect.metadata(metadataKey, metadataValue);\\r\\n}\\r\\n\\r\\nfunction __awaiter(thisArg, _arguments, P, generator) {\\r\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\r\\n return new (P || (P = Promise))(function (resolve, reject) {\\r\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\r\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\r\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\r\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\r\\n });\\r\\n}\\r\\n\\r\\nfunction __generator(thisArg, body) {\\r\\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\\r\\n return g = { next: verb(0), \\\"throw\\\": verb(1), \\\"return\\\": verb(2) }, typeof Symbol === \\\"function\\\" && (g[Symbol.iterator] = function() { return this; }), g;\\r\\n function verb(n) { return function (v) { return step([n, v]); }; }\\r\\n function step(op) {\\r\\n if (f) throw new TypeError(\\\"Generator is already executing.\\\");\\r\\n while (_) try {\\r\\n 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;\\r\\n if (y = 0, t) op = [op[0] & 2, t.value];\\r\\n switch (op[0]) {\\r\\n case 0: case 1: t = op; break;\\r\\n case 4: _.label++; return { value: op[1], done: false };\\r\\n case 5: _.label++; y = op[1]; op = [0]; continue;\\r\\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\\r\\n default:\\r\\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\\r\\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\\r\\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\\r\\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\\r\\n if (t[2]) _.ops.pop();\\r\\n _.trys.pop(); continue;\\r\\n }\\r\\n op = body.call(thisArg, _);\\r\\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\\r\\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\\r\\n }\\r\\n}\\r\\n\\r\\nfunction __createBinding(o, m, k, k2) {\\r\\n if (k2 === undefined) k2 = k;\\r\\n o[k2] = m[k];\\r\\n}\\r\\n\\r\\nfunction __exportStar(m, exports) {\\r\\n for (var p in m) if (p !== \\\"default\\\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\\r\\n}\\r\\n\\r\\nfunction __values(o) {\\r\\n var s = typeof Symbol === \\\"function\\\" && Symbol.iterator, m = s && o[s], i = 0;\\r\\n if (m) return m.call(o);\\r\\n if (o && typeof o.length === \\\"number\\\") return {\\r\\n next: function () {\\r\\n if (o && i >= o.length) o = void 0;\\r\\n return { value: o && o[i++], done: !o };\\r\\n }\\r\\n };\\r\\n throw new TypeError(s ? \\\"Object is not iterable.\\\" : \\\"Symbol.iterator is not defined.\\\");\\r\\n}\\r\\n\\r\\nfunction __read(o, n) {\\r\\n var m = typeof Symbol === \\\"function\\\" && o[Symbol.iterator];\\r\\n if (!m) return o;\\r\\n var i = m.call(o), r, ar = [], e;\\r\\n try {\\r\\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\\r\\n }\\r\\n catch (error) { e = { error: error }; }\\r\\n finally {\\r\\n try {\\r\\n if (r && !r.done && (m = i[\\\"return\\\"])) m.call(i);\\r\\n }\\r\\n finally { if (e) throw e.error; }\\r\\n }\\r\\n return ar;\\r\\n}\\r\\n\\r\\nfunction __spread() {\\r\\n for (var ar = [], i = 0; i < arguments.length; i++)\\r\\n ar = ar.concat(__read(arguments[i]));\\r\\n return ar;\\r\\n}\\r\\n\\r\\nfunction __spreadArrays() {\\r\\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\\r\\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\\r\\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\\r\\n r[k] = a[j];\\r\\n return r;\\r\\n};\\r\\n\\r\\nfunction __await(v) {\\r\\n return this instanceof __await ? (this.v = v, this) : new __await(v);\\r\\n}\\r\\n\\r\\nfunction __asyncGenerator(thisArg, _arguments, generator) {\\r\\n if (!Symbol.asyncIterator) throw new TypeError(\\\"Symbol.asyncIterator is not defined.\\\");\\r\\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\\r\\n return i = {}, verb(\\\"next\\\"), verb(\\\"throw\\\"), verb(\\\"return\\\"), i[Symbol.asyncIterator] = function () { return this; }, i;\\r\\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\\r\\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\\r\\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\\r\\n function fulfill(value) { resume(\\\"next\\\", value); }\\r\\n function reject(value) { resume(\\\"throw\\\", value); }\\r\\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\\r\\n}\\r\\n\\r\\nfunction __asyncDelegator(o) {\\r\\n var i, p;\\r\\n return i = {}, verb(\\\"next\\\"), verb(\\\"throw\\\", function (e) { throw e; }), verb(\\\"return\\\"), i[Symbol.iterator] = function () { return this; }, i;\\r\\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \\\"return\\\" } : f ? f(v) : v; } : f; }\\r\\n}\\r\\n\\r\\nfunction __asyncValues(o) {\\r\\n if (!Symbol.asyncIterator) throw new TypeError(\\\"Symbol.asyncIterator is not defined.\\\");\\r\\n var m = o[Symbol.asyncIterator], i;\\r\\n return m ? m.call(o) : (o = typeof __values === \\\"function\\\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\\\"next\\\"), verb(\\\"throw\\\"), verb(\\\"return\\\"), i[Symbol.asyncIterator] = function () { return this; }, i);\\r\\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\\r\\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\\r\\n}\\r\\n\\r\\nfunction __makeTemplateObject(cooked, raw) {\\r\\n if (Object.defineProperty) { Object.defineProperty(cooked, \\\"raw\\\", { value: raw }); } else { cooked.raw = raw; }\\r\\n return cooked;\\r\\n};\\r\\n\\r\\nfunction __importStar(mod) {\\r\\n if (mod && mod.__esModule) return mod;\\r\\n var result = {};\\r\\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\\r\\n result.default = mod;\\r\\n return result;\\r\\n}\\r\\n\\r\\nfunction __importDefault(mod) {\\r\\n return (mod && mod.__esModule) ? mod : { default: mod };\\r\\n}\\r\\n\\r\\nfunction __classPrivateFieldGet(receiver, privateMap) {\\r\\n if (!privateMap.has(receiver)) {\\r\\n throw new TypeError(\\\"attempted to get private field on non-instance\\\");\\r\\n }\\r\\n return privateMap.get(receiver);\\r\\n}\\r\\n\\r\\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\\r\\n if (!privateMap.has(receiver)) {\\r\\n throw new TypeError(\\\"attempted to set private field on non-instance\\\");\\r\\n }\\r\\n privateMap.set(receiver, value);\\r\\n return value;\\r\\n}\\r\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/tslib/tslib.es6.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/ua-parser-js/src/ua-parser.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/ua-parser-js/src/ua-parser.js ***!\n \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"var __WEBPACK_AMD_DEFINE_RESULT__;/////////////////////////////////////////////////////////////////////////////////\\n/* UAParser.js v1.0.35\\n Copyright © 2012-2021 Faisal Salman <f@faisalman.com>\\n MIT License *//*\\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\\n Supports browser & node.js environment. \\n Demo : https://faisalman.github.io/ua-parser-js\\n Source : https://github.com/faisalman/ua-parser-js */\\n/////////////////////////////////////////////////////////////////////////////////\\n\\n(function (window, undefined) {\\n\\n 'use strict';\\n\\n //////////////\\n // Constants\\n /////////////\\n\\n\\n var LIBVERSION = '1.0.35',\\n EMPTY = '',\\n UNKNOWN = '?',\\n FUNC_TYPE = 'function',\\n UNDEF_TYPE = 'undefined',\\n OBJ_TYPE = 'object',\\n STR_TYPE = 'string',\\n MAJOR = 'major',\\n MODEL = 'model',\\n NAME = 'name',\\n TYPE = 'type',\\n VENDOR = 'vendor',\\n VERSION = 'version',\\n ARCHITECTURE= 'architecture',\\n CONSOLE = 'console',\\n MOBILE = 'mobile',\\n TABLET = 'tablet',\\n SMARTTV = 'smarttv',\\n WEARABLE = 'wearable',\\n EMBEDDED = 'embedded',\\n UA_MAX_LENGTH = 350;\\n\\n var AMAZON = 'Amazon',\\n APPLE = 'Apple',\\n ASUS = 'ASUS',\\n BLACKBERRY = 'BlackBerry',\\n BROWSER = 'Browser',\\n CHROME = 'Chrome',\\n EDGE = 'Edge',\\n FIREFOX = 'Firefox',\\n GOOGLE = 'Google',\\n HUAWEI = 'Huawei',\\n LG = 'LG',\\n MICROSOFT = 'Microsoft',\\n MOTOROLA = 'Motorola',\\n OPERA = 'Opera',\\n SAMSUNG = 'Samsung',\\n SHARP = 'Sharp',\\n SONY = 'Sony',\\n VIERA = 'Viera',\\n XIAOMI = 'Xiaomi',\\n ZEBRA = 'Zebra',\\n FACEBOOK = 'Facebook',\\n CHROMIUM_OS = 'Chromium OS',\\n MAC_OS = 'Mac OS';\\n\\n ///////////\\n // Helper\\n //////////\\n\\n var extend = function (regexes, extensions) {\\n var mergedRegexes = {};\\n for (var i in regexes) {\\n if (extensions[i] && extensions[i].length % 2 === 0) {\\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\\n } else {\\n mergedRegexes[i] = regexes[i];\\n }\\n }\\n return mergedRegexes;\\n },\\n enumerize = function (arr) {\\n var enums = {};\\n for (var i=0; i<arr.length; i++) {\\n enums[arr[i].toUpperCase()] = arr[i];\\n }\\n return enums;\\n },\\n has = function (str1, str2) {\\n return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\\n },\\n lowerize = function (str) {\\n return str.toLowerCase();\\n },\\n majorize = function (version) {\\n return typeof(version) === STR_TYPE ? version.replace(/[^\\\\d\\\\.]/g, EMPTY).split('.')[0] : undefined;\\n },\\n trim = function (str, len) {\\n if (typeof(str) === STR_TYPE) {\\n str = str.replace(/^\\\\s\\\\s*/, EMPTY);\\n return typeof(len) === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\\n }\\n };\\n\\n ///////////////\\n // Map helper\\n //////////////\\n\\n var rgxMapper = function (ua, arrays) {\\n\\n var i = 0, j, k, p, q, matches, match;\\n\\n // loop through all regexes maps\\n while (i < arrays.length && !matches) {\\n\\n var regex = arrays[i], // even sequence (0,2,4,..)\\n props = arrays[i + 1]; // odd sequence (1,3,5,..)\\n j = k = 0;\\n\\n // try matching uastring with regexes\\n while (j < regex.length && !matches) {\\n\\n if (!regex[j]) { break; }\\n matches = regex[j++].exec(ua);\\n\\n if (!!matches) {\\n for (p = 0; p < props.length; p++) {\\n match = matches[++k];\\n q = props[p];\\n // check if given property is actually array\\n if (typeof q === OBJ_TYPE && q.length > 0) {\\n if (q.length === 2) {\\n if (typeof q[1] == FUNC_TYPE) {\\n // assign modified match\\n this[q[0]] = q[1].call(this, match);\\n } else {\\n // assign given value, ignore regex match\\n this[q[0]] = q[1];\\n }\\n } else if (q.length === 3) {\\n // check whether function or regex\\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\\n // call function (usually string mapper)\\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\\n } else {\\n // sanitize match using given regex\\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\\n }\\n } else if (q.length === 4) {\\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\\n }\\n } else {\\n this[q] = match ? match : undefined;\\n }\\n }\\n }\\n }\\n i += 2;\\n }\\n },\\n\\n strMapper = function (str, map) {\\n\\n for (var i in map) {\\n // check if current value is array\\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\\n for (var j = 0; j < map[i].length; j++) {\\n if (has(map[i][j], str)) {\\n return (i === UNKNOWN) ? undefined : i;\\n }\\n }\\n } else if (has(map[i], str)) {\\n return (i === UNKNOWN) ? undefined : i;\\n }\\n }\\n return str;\\n };\\n\\n ///////////////\\n // String map\\n //////////////\\n\\n // Safari < 3.0\\n var oldSafariMap = {\\n '1.0' : '/8',\\n '1.2' : '/1',\\n '1.3' : '/3',\\n '2.0' : '/412',\\n '2.0.2' : '/416',\\n '2.0.3' : '/417',\\n '2.0.4' : '/419',\\n '?' : '/'\\n },\\n windowsVersionMap = {\\n 'ME' : '4.90',\\n 'NT 3.11' : 'NT3.51',\\n 'NT 4.0' : 'NT4.0',\\n '2000' : 'NT 5.0',\\n 'XP' : ['NT 5.1', 'NT 5.2'],\\n 'Vista' : 'NT 6.0',\\n '7' : 'NT 6.1',\\n '8' : 'NT 6.2',\\n '8.1' : 'NT 6.3',\\n '10' : ['NT 6.4', 'NT 10.0'],\\n 'RT' : 'ARM'\\n };\\n\\n //////////////\\n // Regex map\\n /////////////\\n\\n var regexes = {\\n\\n browser : [[\\n\\n /\\\\b(?:crmo|crios)\\\\/([\\\\w\\\\.]+)/i // Chrome for Android/iOS\\n ], [VERSION, [NAME, 'Chrome']], [\\n /edg(?:e|ios|a)?\\\\/([\\\\w\\\\.]+)/i // Microsoft Edge\\n ], [VERSION, [NAME, 'Edge']], [\\n\\n // Presto based\\n /(opera mini)\\\\/([-\\\\w\\\\.]+)/i, // Opera Mini\\n /(opera [mobiletab]{3,6})\\\\b.+version\\\\/([-\\\\w\\\\.]+)/i, // Opera Mobi/Tablet\\n /(opera)(?:.+version\\\\/|[\\\\/ ]+)([\\\\w\\\\.]+)/i // Opera\\n ], [NAME, VERSION], [\\n /opios[\\\\/ ]+([\\\\w\\\\.]+)/i // Opera mini on iphone >= 8.0\\n ], [VERSION, [NAME, OPERA+' Mini']], [\\n /\\\\bopr\\\\/([\\\\w\\\\.]+)/i // Opera Webkit\\n ], [VERSION, [NAME, OPERA]], [\\n\\n // Mixed\\n /(kindle)\\\\/([\\\\w\\\\.]+)/i, // Kindle\\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\\\/ ]?([\\\\w\\\\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer\\n // Trident based\\n /(avant |iemobile|slim)(?:browser)?[\\\\/ ]?([\\\\w\\\\.]*)/i, // Avant/IEMobile/SlimBrowser\\n /(ba?idubrowser)[\\\\/ ]?([\\\\w\\\\.]+)/i, // Baidu Browser\\n /(?:ms|\\\\()(ie) ([\\\\w\\\\.]+)/i, // Internet Explorer\\n\\n // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\\n /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\\\\/([-\\\\w\\\\.]+)/i,\\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ\\n /(heytap|ovi)browser\\\\/([\\\\d\\\\.]+)/i, // Heytap/Ovi\\n /(weibo)__([\\\\d\\\\.]+)/i // Weibo\\n ], [NAME, VERSION], [\\n /(?:\\\\buc? ?browser|(?:juc.+)ucweb)[\\\\/ ]?([\\\\w\\\\.]+)/i // UCBrowser\\n ], [VERSION, [NAME, 'UC'+BROWSER]], [\\n /microm.+\\\\bqbcore\\\\/([\\\\w\\\\.]+)/i, // WeChat Desktop for Windows Built-in Browser\\n /\\\\bqbcore\\\\/([\\\\w\\\\.]+).+microm/i\\n ], [VERSION, [NAME, 'WeChat(Win) Desktop']], [\\n /micromessenger\\\\/([\\\\w\\\\.]+)/i // WeChat\\n ], [VERSION, [NAME, 'WeChat']], [\\n /konqueror\\\\/([\\\\w\\\\.]+)/i // Konqueror\\n ], [VERSION, [NAME, 'Konqueror']], [\\n /trident.+rv[: ]([\\\\w\\\\.]{1,9})\\\\b.+like gecko/i // IE11\\n ], [VERSION, [NAME, 'IE']], [\\n /ya(?:search)?browser\\\\/([\\\\w\\\\.]+)/i // Yandex\\n ], [VERSION, [NAME, 'Yandex']], [\\n /(avast|avg)\\\\/([\\\\w\\\\.]+)/i // Avast/AVG Secure Browser\\n ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [\\n /\\\\bfocus\\\\/([\\\\w\\\\.]+)/i // Firefox Focus\\n ], [VERSION, [NAME, FIREFOX+' Focus']], [\\n /\\\\bopt\\\\/([\\\\w\\\\.]+)/i // Opera Touch\\n ], [VERSION, [NAME, OPERA+' Touch']], [\\n /coc_coc\\\\w+\\\\/([\\\\w\\\\.]+)/i // Coc Coc Browser\\n ], [VERSION, [NAME, 'Coc Coc']], [\\n /dolfin\\\\/([\\\\w\\\\.]+)/i // Dolphin\\n ], [VERSION, [NAME, 'Dolphin']], [\\n /coast\\\\/([\\\\w\\\\.]+)/i // Opera Coast\\n ], [VERSION, [NAME, OPERA+' Coast']], [\\n /miuibrowser\\\\/([\\\\w\\\\.]+)/i // MIUI Browser\\n ], [VERSION, [NAME, 'MIUI '+BROWSER]], [\\n /fxios\\\\/([-\\\\w\\\\.]+)/i // Firefox for iOS\\n ], [VERSION, [NAME, FIREFOX]], [\\n /\\\\bqihu|(qi?ho?o?|360)browser/i // 360\\n ], [[NAME, '360 '+BROWSER]], [\\n /(oculus|samsung|sailfish|huawei)browser\\\\/([\\\\w\\\\.]+)/i\\n ], [[NAME, /(.+)/, '$1 '+BROWSER], VERSION], [ // Oculus/Samsung/Sailfish/Huawei Browser\\n /(comodo_dragon)\\\\/([\\\\w\\\\.]+)/i // Comodo Dragon\\n ], [[NAME, /_/g, ' '], VERSION], [\\n /(electron)\\\\/([\\\\w\\\\.]+) safari/i, // Electron-based App\\n /(tesla)(?: qtcarbrowser|\\\\/(20\\\\d\\\\d\\\\.[-\\\\w\\\\.]+))/i, // Tesla\\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\\\/ ]?([\\\\w\\\\.]+)/i // QQBrowser/Baidu App/2345 Browser\\n ], [NAME, VERSION], [\\n /(metasr)[\\\\/ ]?([\\\\w\\\\.]+)/i, // SouGouBrowser\\n /(lbbrowser)/i, // LieBao Browser\\n /\\\\[(linkedin)app\\\\]/i // LinkedIn App for iOS & Android\\n ], [NAME], [\\n\\n // WebView\\n /((?:fban\\\\/fbios|fb_iab\\\\/fb4a)(?!.+fbav)|;fbav\\\\/([\\\\w\\\\.]+);)/i // Facebook App for iOS & Android\\n ], [[NAME, FACEBOOK], VERSION], [\\n /(kakao(?:talk|story))[\\\\/ ]([\\\\w\\\\.]+)/i, // Kakao App\\n /(naver)\\\\(.*?(\\\\d+\\\\.[\\\\w\\\\.]+).*\\\\)/i, // Naver InApp\\n /safari (line)\\\\/([\\\\w\\\\.]+)/i, // Line App for iOS\\n /\\\\b(line)\\\\/([\\\\w\\\\.]+)\\\\/iab/i, // Line App for Android\\n /(chromium|instagram)[\\\\/ ]([-\\\\w\\\\.]+)/i // Chromium/Instagram\\n ], [NAME, VERSION], [\\n /\\\\bgsa\\\\/([\\\\w\\\\.]+) .*safari\\\\//i // Google Search Appliance on iOS\\n ], [VERSION, [NAME, 'GSA']], [\\n /musical_ly(?:.+app_?version\\\\/|_)([\\\\w\\\\.]+)/i // TikTok\\n ], [VERSION, [NAME, 'TikTok']], [\\n\\n /headlesschrome(?:\\\\/([\\\\w\\\\.]+)| )/i // Chrome Headless\\n ], [VERSION, [NAME, CHROME+' Headless']], [\\n\\n / wv\\\\).+(chrome)\\\\/([\\\\w\\\\.]+)/i // Chrome WebView\\n ], [[NAME, CHROME+' WebView'], VERSION], [\\n\\n /droid.+ version\\\\/([\\\\w\\\\.]+)\\\\b.+(?:mobile safari|safari)/i // Android Browser\\n ], [VERSION, [NAME, 'Android '+BROWSER]], [\\n\\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\\\/v?([\\\\w\\\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\\n ], [NAME, VERSION], [\\n\\n /version\\\\/([\\\\w\\\\.\\\\,]+) .*mobile\\\\/\\\\w+ (safari)/i // Mobile Safari\\n ], [VERSION, [NAME, 'Mobile Safari']], [\\n /version\\\\/([\\\\w(\\\\.|\\\\,)]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\\n ], [VERSION, NAME], [\\n /webkit.+?(mobile ?safari|safari)(\\\\/[\\\\w\\\\.]+)/i // Safari < 3.0\\n ], [NAME, [VERSION, strMapper, oldSafariMap]], [\\n\\n /(webkit|khtml)\\\\/([\\\\w\\\\.]+)/i\\n ], [NAME, VERSION], [\\n\\n // Gecko based\\n /(navigator|netscape\\\\d?)\\\\/([-\\\\w\\\\.]+)/i // Netscape\\n ], [[NAME, 'Netscape'], VERSION], [\\n /mobile vr; rv:([\\\\w\\\\.]+)\\\\).+firefox/i // Firefox Reality\\n ], [VERSION, [NAME, FIREFOX+' Reality']], [\\n /ekiohf.+(flow)\\\\/([\\\\w\\\\.]+)/i, // Flow\\n /(swiftfox)/i, // Swiftfox\\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\\\/ ]?([\\\\w\\\\.\\\\+]+)/i,\\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar\\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\\\/([-\\\\w\\\\.]+)$/i,\\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\\n /(firefox)\\\\/([\\\\w\\\\.]+)/i, // Other Firefox-based\\n /(mozilla)\\\\/([\\\\w\\\\.]+) .+rv\\\\:.+gecko\\\\/\\\\d+/i, // Mozilla\\n\\n // Other\\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\\\. ]?browser)[-\\\\/ ]?v?([\\\\w\\\\.]+)/i,\\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser\\n /(links) \\\\(([\\\\w\\\\.]+)/i, // Links\\n /panasonic;(viera)/i // Panasonic Viera\\n ], [NAME, VERSION], [\\n \\n /(cobalt)\\\\/([\\\\w\\\\.]+)/i // Cobalt\\n ], [NAME, [VERSION, /master.|lts./, \\\"\\\"]]\\n ],\\n\\n cpu : [[\\n\\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\\\)]/i // AMD64 (x64)\\n ], [[ARCHITECTURE, 'amd64']], [\\n\\n /(ia32(?=;))/i // IA32 (quicktime)\\n ], [[ARCHITECTURE, lowerize]], [\\n\\n /((?:i[346]|x)86)[;\\\\)]/i // IA32 (x86)\\n ], [[ARCHITECTURE, 'ia32']], [\\n\\n /\\\\b(aarch64|arm(v?8e?l?|_?64))\\\\b/i // ARM64\\n ], [[ARCHITECTURE, 'arm64']], [\\n\\n /\\\\b(arm(?:v[67])?ht?n?[fl]p?)\\\\b/i // ARMHF\\n ], [[ARCHITECTURE, 'armhf']], [\\n\\n // PocketPC mistakenly identified as PowerPC\\n /windows (ce|mobile); ppc;/i\\n ], [[ARCHITECTURE, 'arm']], [\\n\\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\\\))/i // PowerPC\\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\\n\\n /(sun4\\\\w)[;\\\\)]/i // SPARC\\n ], [[ARCHITECTURE, 'sparc']], [\\n\\n /((?:avr32|ia64(?=;))|68k(?=\\\\))|\\\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\\\b|pa-risc)/i\\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\\n ], [[ARCHITECTURE, lowerize]]\\n ],\\n\\n device : [[\\n\\n //////////////////////////\\n // MOBILES & TABLETS\\n /////////////////////////\\n\\n // Samsung\\n /\\\\b(sch-i[89]0\\\\d|shw-m380s|sm-[ptx]\\\\w{2,4}|gt-[pn]\\\\d{2,4}|sgh-t8[56]9|nexus 10)/i\\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [\\n /\\\\b((?:s[cgp]h|gt|sm)-\\\\w+|sc[g-]?[\\\\d]+a?|galaxy nexus)/i,\\n /samsung[- ]([-\\\\w]+)/i,\\n /sec-(sgh\\\\w+)/i\\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\\n\\n // Apple\\n /(?:\\\\/|\\\\()(ip(?:hone|od)[\\\\w, ]*)(?:\\\\/|;)/i // iPod/iPhone\\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\\n /\\\\((ipad);[-\\\\w\\\\),; ]+apple/i, // iPad\\n /applecoremedia\\\\/[\\\\w\\\\.]+ \\\\((ipad)/i,\\n /\\\\b(ipad)\\\\d\\\\d?,\\\\d\\\\d?[;\\\\]].+ios/i\\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\\n /(macintosh);/i\\n ], [MODEL, [VENDOR, APPLE]], [\\n\\n // Sharp\\n /\\\\b(sh-?[altvz]?\\\\d\\\\d[a-ekm]?)/i\\n ], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [\\n\\n // Huawei\\n /\\\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\\\d{2})\\\\b(?!.+d\\\\/s)/i\\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [\\n /(?:huawei|honor)([-\\\\w ]+)[;\\\\)]/i,\\n /\\\\b(nexus 6p|\\\\w{2,4}e?-[atu]?[ln][\\\\dx][012359c][adn]?)\\\\b(?!.+d\\\\/s)/i\\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\\n\\n // Xiaomi\\n /\\\\b(poco[\\\\w ]+)(?: bui|\\\\))/i, // Xiaomi POCO\\n /\\\\b; (\\\\w+) build\\\\/hm\\\\1/i, // Xiaomi Hongmi 'numeric' models\\n /\\\\b(hm[-_ ]?note?[_ ]?(?:\\\\d\\\\w)?) bui/i, // Xiaomi Hongmi\\n /\\\\b(redmi[\\\\-_ ]?(?:note|k)?[\\\\w_ ]+)(?: bui|\\\\))/i, // Xiaomi Redmi\\n /\\\\b(mi[-_ ]?(?:a\\\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\\\d?\\\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\\\))/i // Xiaomi Mi\\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\\n /\\\\b(mi[-_ ]?(?:pad)(?:[\\\\w_ ]+))(?: bui|\\\\))/i // Mi Pad tablets\\n ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\\n\\n // OPPO\\n /; (\\\\w+) bui.+ oppo/i,\\n /\\\\b(cph[12]\\\\d{3}|p(?:af|c[al]|d\\\\w|e[ar])[mt]\\\\d0|x9007|a101op)\\\\b/i\\n ], [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]], [\\n\\n // Vivo\\n /vivo (\\\\w+)(?: bui|\\\\))/i,\\n /\\\\b(v[12]\\\\d{3}\\\\w?[at])(?: bui|;)/i\\n ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\\n\\n // Realme\\n /\\\\b(rmx[12]\\\\d{3})(?: bui|;|\\\\))/i\\n ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\\n\\n // Motorola\\n /\\\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\\\b[\\\\w ]+build\\\\//i,\\n /\\\\bmot(?:orola)?[- ](\\\\w*)/i,\\n /((?:moto[\\\\w\\\\(\\\\) ]+|xt\\\\d{3,4}|nexus 6)(?= bui|\\\\)))/i\\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\\n /\\\\b(mz60\\\\d|xoom[2 ]{0,2}) build\\\\//i\\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\\n\\n // LG\\n /((?=lg)?[vl]k\\\\-?\\\\d{3}) bui| 3\\\\.[-\\\\w; ]{10}lg?-([06cv9]{3,4})/i\\n ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\\n /(lm(?:-?f100[nv]?|-[\\\\w\\\\.]+)(?= bui|\\\\))|nexus [45])/i,\\n /\\\\blg[-e;\\\\/ ]+((?!browser|netcast|android tv)\\\\w+)/i,\\n /\\\\blg-?([\\\\d\\\\w]+) bui/i\\n ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\\n\\n // Lenovo\\n /(ideatab[-\\\\w ]+)/i,\\n /lenovo ?(s[56]000[-\\\\w]+|tab(?:[\\\\w ]+)|yt[-\\\\d\\\\w]{6}|tb[-\\\\d\\\\w]{6})/i\\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\\n\\n // Nokia\\n /(?:maemo|nokia).*(n900|lumia \\\\d+)/i,\\n /nokia[-_ ]?([-\\\\w\\\\.]*)/i\\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [\\n\\n // Google\\n /(pixel c)\\\\b/i // Google Pixel C\\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\\n /droid.+; (pixel[\\\\daxl ]{0,6})(?: bui|\\\\))/i // Google Pixel\\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\\n\\n // Sony\\n /droid.+ (a?\\\\d[0-2]{2}so|[c-g]\\\\d{4}|so[-gl]\\\\w+|xq-a\\\\w[4-7][12])(?= bui|\\\\).+chrome\\\\/(?![1-6]{0,1}\\\\d\\\\.))/i\\n ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [\\n /sony tablet [ps]/i,\\n /\\\\b(?:sony)?sgp\\\\w+(?: bui|\\\\))/i\\n ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\\n\\n // OnePlus\\n / (kb2005|in20[12]5|be20[12][59])\\\\b/i,\\n /(?:one)?(?:plus)? (a\\\\d0\\\\d\\\\d)(?: b|\\\\))/i\\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\\n\\n // Amazon\\n /(alexa)webm/i,\\n /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\\\))/i, // Kindle Fire without Silk / Echo Show\\n /(kf[a-z]+)( bui|\\\\)).+silk\\\\//i // Kindle Fire HD\\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\\\)).+silk\\\\//i // Fire Phone\\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\\n\\n // BlackBerry\\n /(playbook);[-\\\\w\\\\),; ]+(rim)/i // BlackBerry PlayBook\\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\\n /\\\\b((?:bb[a-f]|st[hv])100-\\\\d)/i,\\n /\\\\(bb10; (\\\\w+)/i // BlackBerry 10\\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\\n\\n // Asus\\n /(?:\\\\b|asus_)(transfo[prime ]{4,10} \\\\w+|eeepc|slider \\\\w+|nexus 7|padfone|p00[cj])/i\\n ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [\\n / (z[bes]6[027][012][km][ls]|zenfone \\\\d\\\\w?)\\\\b/i\\n ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [\\n\\n // HTC\\n /(nexus 9)/i // HTC Nexus 9\\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\\n /(htc)[-;_ ]{1,2}([\\\\w ]+(?=\\\\)| bui)|\\\\w+)/i, // HTC\\n\\n // ZTE\\n /(zte)[- ]([\\\\w ]+?)(?: bui|\\\\/|\\\\))/i,\\n /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\\\.))|sony(?!-bra))[-_ ]?([-\\\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\\n\\n // Acer\\n /droid.+; ([ab][1-7]-?[0178a]\\\\d\\\\d?)/i\\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\\n\\n // Meizu\\n /droid.+; (m[1-5] note) bui/i,\\n /\\\\bmz-([-\\\\w]{2,})/i\\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\\n\\n // MIXED\\n /(blackberry|benq|palm(?=\\\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\\\w]*)/i,\\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\\n /(hp) ([\\\\w ]+\\\\w)/i, // HP iPAQ\\n /(asus)-?(\\\\w+)/i, // Asus\\n /(microsoft); (lumia[\\\\w ]+)/i, // Microsoft Lumia\\n /(lenovo)[-_ ]?([-\\\\w]+)/i, // Lenovo\\n /(jolla)/i, // Jolla\\n /(oppo) ?([\\\\w ]+) bui/i // OPPO\\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\\n\\n /(kobo)\\\\s(ereader|touch)/i, // Kobo\\n /(archos) (gamepad2?)/i, // Archos\\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\\n /(kindle)\\\\/([\\\\w\\\\.]+)/i, // Kindle\\n /(nook)[\\\\w ]+build\\\\/(\\\\w+)/i, // Nook\\n /(dell) (strea[kpr\\\\d ]*[\\\\dko])/i, // Dell Streak\\n /(le[- ]+pan)[- ]+(\\\\w{1,9}) bui/i, // Le Pan Tablets\\n /(trinity)[- ]*(t\\\\d{3}) bui/i, // Trinity Tablets\\n /(gigaset)[- ]+(q\\\\w{1,9}) bui/i, // Gigaset Tablets\\n /(vodafone) ([\\\\w ]+)(?:\\\\)| bui)/i // Vodafone\\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\\n\\n /(surface duo)/i // Surface Duo\\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\\n /droid [\\\\d\\\\.]+; (fp\\\\du?)(?: b|\\\\))/i // Fairphone\\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\\n /(u304aa)/i // AT&T\\n ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [\\n /\\\\bsie-(\\\\w*)/i // Siemens\\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\\n /\\\\b(rct\\\\w+) b/i // RCA Tablets\\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\\n /\\\\b(venue[\\\\d ]{2,7}) b/i // Dell Venue Tablets\\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\\n /\\\\b(q(?:mv|ta)\\\\w+) b/i // Verizon Tablet\\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\\n /\\\\b(?:barnes[& ]+noble |bn[rt])([\\\\w\\\\+ ]*) b/i // Barnes & Noble Tablet\\n ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [\\n /\\\\b(tm\\\\d{3}\\\\w+) b/i\\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\\n /\\\\b(k88) b/i // ZTE K Series Tablet\\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\\n /\\\\b(nx\\\\d{3}j) b/i // ZTE Nubia\\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [\\n /\\\\b(gen\\\\d{3}) b.+49h/i // Swiss GEN Mobile\\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\\n /\\\\b(zur\\\\d{3}) b/i // Swiss ZUR Tablet\\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\\n /\\\\b((zeki)?tb.*\\\\b) b/i // Zeki Tablets\\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\\n /\\\\b([yr]\\\\d{2}) b/i,\\n /\\\\b(dragon[- ]+touch |dt)(\\\\w{5}) b/i // Dragon Touch Tablet\\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\\n /\\\\b(ns-?\\\\w{0,9}) b/i // Insignia Tablets\\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\\n /\\\\b((nxa|next)-?\\\\w{0,9}) b/i // NextBook Tablets\\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\\n /\\\\b(xtreme\\\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [\\n /\\\\b(lvtel\\\\-)?(v1[12]) b/i // LvTel Phones\\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\\n /\\\\b(ph-1) /i // Essential PH-1\\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [\\n /\\\\b(v(100md|700na|7011|917g).*\\\\b) b/i // Envizen Tablets\\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\\n /\\\\b(trio[-\\\\w\\\\. ]+) b/i // MachSpeed Tablets\\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\\n /\\\\btu_(1491) b/i // Rotor Tablets\\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\\n /(shield[\\\\w ]+) b/i // Nvidia Shield Tablets\\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [\\n /(sprint) (\\\\w+)/i // Sprint Phones\\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\\n /(kin\\\\.[onetw]{3})/i // Microsoft Kin\\n ], [[MODEL, /\\\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\\\)/i // Zebra\\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\\n /droid.+; (ec30|ps20|tc[2-8]\\\\d[kx])\\\\)/i\\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\\n\\n ///////////////////\\n // SMARTTVS\\n ///////////////////\\n\\n /smart-tv.+(samsung)/i // Samsung\\n ], [VENDOR, [TYPE, SMARTTV]], [\\n /hbbtv.+maple;(\\\\d+)/i\\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\\n /(nux; netcast.+smarttv|lg (netcast\\\\.tv-201\\\\d|android tv))/i // LG SmartTV\\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [\\n /(apple) ?tv/i // Apple TV\\n ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\\n /crkey/i // Google Chromecast\\n ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\\n /droid.+aft(\\\\w)( bui|\\\\))/i // Fire TV\\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\\n /\\\\(dtv[\\\\);].+(aquos)/i,\\n /(aquos-tv[\\\\w ]+)\\\\)/i // Sharp\\n ], [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],[\\n /(bravia[\\\\w ]+)( bui|\\\\))/i // Sony\\n ], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [\\n /(mitv-\\\\w{5}) bui/i // Xiaomi\\n ], [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], [\\n /Hbbtv.*(technisat) (.*);/i // TechniSAT\\n ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\\n /\\\\b(roku)[\\\\dx]*[\\\\)\\\\/]((?:dvp-)?[\\\\d\\\\.]*)/i, // Roku\\n /hbbtv\\\\/\\\\d+\\\\.\\\\d+\\\\.\\\\d+ +\\\\([\\\\w\\\\+ ]*; *([\\\\w\\\\d][^;]*);([^;]*)/i // HbbTV devices\\n ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [\\n /\\\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\\\b/i // SmartTV from Unidentified Vendors\\n ], [[TYPE, SMARTTV]], [\\n\\n ///////////////////\\n // CONSOLES\\n ///////////////////\\n\\n /(ouya)/i, // Ouya\\n /(nintendo) ([wids3utch]+)/i // Nintendo\\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\\n /droid.+; (shield) bui/i // Nvidia\\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\\n /(playstation [345portablevi]+)/i // Playstation\\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\\n /\\\\b(xbox(?: one)?(?!; xbox))[\\\\); ]/i // Microsoft Xbox\\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\\n\\n ///////////////////\\n // WEARABLES\\n ///////////////////\\n\\n /((pebble))app/i // Pebble\\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\\n /(watch)(?: ?os[,\\\\/]|\\\\d,\\\\d\\\\/)[\\\\d\\\\.]+/i // Apple Watch\\n ], [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]], [\\n /droid.+; (glass) \\\\d/i // Google Glass\\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\\n /droid.+; (wt63?0{2,3})\\\\)/i\\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\\n /(quest( 2| pro)?)/i // Oculus Quest\\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [\\n\\n ///////////////////\\n // EMBEDDED\\n ///////////////////\\n\\n /(tesla)(?: qtcarbrowser|\\\\/[-\\\\w\\\\.]+)/i // Tesla\\n ], [VENDOR, [TYPE, EMBEDDED]], [\\n /(aeobc)\\\\b/i // Echo Dot\\n ], [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]], [\\n\\n ////////////////////\\n // MIXED (GENERIC)\\n ///////////////////\\n\\n /droid .+?; ([^;]+?)(?: bui|\\\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\\n ], [MODEL, [TYPE, MOBILE]], [\\n /droid .+?; ([^;]+?)(?: bui|\\\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\\n ], [MODEL, [TYPE, TABLET]], [\\n /\\\\b((tablet|tab)[;\\\\/]|focus\\\\/\\\\d(?!.+mobile))/i // Unidentifiable Tablet\\n ], [[TYPE, TABLET]], [\\n /(phone|mobile(?:[;\\\\/]| [ \\\\w\\\\/\\\\.]*safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\\n ], [[TYPE, MOBILE]], [\\n /(android[-\\\\w\\\\. ]{0,9});.+buil/i // Generic Android Device\\n ], [MODEL, [VENDOR, 'Generic']]\\n ],\\n\\n engine : [[\\n\\n /windows.+ edge\\\\/([\\\\w\\\\.]+)/i // EdgeHTML\\n ], [VERSION, [NAME, EDGE+'HTML']], [\\n\\n /webkit\\\\/537\\\\.36.+chrome\\\\/(?!27)([\\\\w\\\\.]+)/i // Blink\\n ], [VERSION, [NAME, 'Blink']], [\\n\\n /(presto)\\\\/([\\\\w\\\\.]+)/i, // Presto\\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\\\/([\\\\w\\\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\\n /ekioh(flow)\\\\/([\\\\w\\\\.]+)/i, // Flow\\n /(khtml|tasman|links)[\\\\/ ]\\\\(?([\\\\w\\\\.]+)/i, // KHTML/Tasman/Links\\n /(icab)[\\\\/ ]([23]\\\\.[\\\\d\\\\.]+)/i, // iCab\\n /\\\\b(libweb)/i\\n ], [NAME, VERSION], [\\n\\n /rv\\\\:([\\\\w\\\\.]{1,9})\\\\b.+(gecko)/i // Gecko\\n ], [VERSION, NAME]\\n ],\\n\\n os : [[\\n\\n // Windows\\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\\n ], [NAME, VERSION], [\\n /(windows) nt 6\\\\.2; (arm)/i, // Windows RT\\n /(windows (?:phone(?: os)?|mobile))[\\\\/ ]?([\\\\d\\\\.\\\\w ]*)/i, // Windows Phone\\n /(windows)[\\\\/ ]?([ntce\\\\d\\\\. ]+\\\\w)(?!.+xbox)/i\\n ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\\n /(win(?=3|9|n)|win 9x )([nt\\\\d\\\\.]+)/i\\n ], [[NAME, 'Windows'], [VERSION, strMapper, windowsVersionMap]], [\\n\\n // iOS/macOS\\n /ip[honead]{2,4}\\\\b(?:.*os ([\\\\w]+) like mac|; opera)/i, // iOS\\n /ios;fbsv\\\\/([\\\\d\\\\.]+)/i,\\n /cfnetwork\\\\/.+darwin/i\\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\\n /(mac os x) ?([\\\\w\\\\. ]*)/i,\\n /(macintosh|mac_powerpc\\\\b)(?!.+haiku)/i // Mac OS\\n ], [[NAME, MAC_OS], [VERSION, /_/g, '.']], [\\n\\n // Mobile OSes\\n /droid ([\\\\w\\\\.]+)\\\\b.+(android[- ]x86|harmonyos)/i // Android-x86/HarmonyOS\\n ], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS\\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\\\/ ]?([\\\\w\\\\.]*)/i,\\n /(blackberry)\\\\w*\\\\/([\\\\w\\\\.]*)/i, // Blackberry\\n /(tizen|kaios)[\\\\/ ]([\\\\w\\\\.]+)/i, // Tizen/KaiOS\\n /\\\\((series40);/i // Series 40\\n ], [NAME, VERSION], [\\n /\\\\(bb(10);/i // BlackBerry 10\\n ], [VERSION, [NAME, BLACKBERRY]], [\\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\\\/ ]?([\\\\w\\\\.]*)/i // Symbian\\n ], [VERSION, [NAME, 'Symbian']], [\\n /mozilla\\\\/[\\\\d\\\\.]+ \\\\((?:mobile|tablet|tv|mobile; [\\\\w ]+); rv:.+ gecko\\\\/([\\\\w\\\\.]+)/i // Firefox OS\\n ], [VERSION, [NAME, FIREFOX+' OS']], [\\n /web0s;.+rt(tv)/i,\\n /\\\\b(?:hp)?wos(?:browser)?\\\\/([\\\\w\\\\.]+)/i // WebOS\\n ], [VERSION, [NAME, 'webOS']], [\\n /watch(?: ?os[,\\\\/]|\\\\d,\\\\d\\\\/)([\\\\d\\\\.]+)/i // watchOS\\n ], [VERSION, [NAME, 'watchOS']], [\\n\\n // Google Chromecast\\n /crkey\\\\/([\\\\d\\\\.]+)/i // Google Chromecast\\n ], [VERSION, [NAME, CHROME+'cast']], [\\n /(cros) [\\\\w]+(?:\\\\)| ([\\\\w\\\\.]+)\\\\b)/i // Chromium OS\\n ], [[NAME, CHROMIUM_OS], VERSION],[\\n\\n // Smart TVs\\n /panasonic;(viera)/i, // Panasonic Viera\\n /(netrange)mmh/i, // Netrange\\n /(nettv)\\\\/(\\\\d+\\\\.[\\\\w\\\\.]+)/i, // NetTV\\n\\n // Console\\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\\n /(xbox); +xbox ([^\\\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\\n\\n // Other\\n /\\\\b(joli|palm)\\\\b ?(?:os)?\\\\/?([\\\\w\\\\.]*)/i, // Joli/Palm\\n /(mint)[\\\\/\\\\(\\\\) ]?(\\\\w*)/i, // Mint\\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\\\/ ]?(?!chrom|package)([-\\\\w\\\\.]*)/i,\\n // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\\n /(hurd|linux) ?([\\\\w\\\\.]*)/i, // Hurd/Linux\\n /(gnu) ?([\\\\w\\\\.]*)/i, // GNU\\n /\\\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\\\/ ]?(?!amd|[ix346]{1,2}86)([\\\\w\\\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\\n /(haiku) (\\\\w+)/i // Haiku\\n ], [NAME, VERSION], [\\n /(sunos) ?([\\\\w\\\\.\\\\d]*)/i // Solaris\\n ], [[NAME, 'Solaris'], VERSION], [\\n /((?:open)?solaris)[-\\\\/ ]?([\\\\w\\\\.]*)/i, // Solaris\\n /(aix) ((\\\\d)(?=\\\\.|\\\\)| )[\\\\w\\\\.])*/i, // AIX\\n /\\\\b(beos|os\\\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS\\n /(unix) ?([\\\\w\\\\.]*)/i // UNIX\\n ], [NAME, VERSION]\\n ]\\n };\\n\\n /////////////////\\n // Constructor\\n ////////////////\\n\\n var UAParser = function (ua, extensions) {\\n\\n if (typeof ua === OBJ_TYPE) {\\n extensions = ua;\\n ua = undefined;\\n }\\n\\n if (!(this instanceof UAParser)) {\\n return new UAParser(ua, extensions).getResult();\\n }\\n\\n var _navigator = (typeof window !== UNDEF_TYPE && window.navigator) ? window.navigator : undefined;\\n var _ua = ua || ((_navigator && _navigator.userAgent) ? _navigator.userAgent : EMPTY);\\n var _uach = (_navigator && _navigator.userAgentData) ? _navigator.userAgentData : undefined;\\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\\n var _isSelfNav = _navigator && _navigator.userAgent == _ua;\\n\\n this.getBrowser = function () {\\n var _browser = {};\\n _browser[NAME] = undefined;\\n _browser[VERSION] = undefined;\\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\\n _browser[MAJOR] = majorize(_browser[VERSION]);\\n // Brave-specific detection\\n if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {\\n _browser[NAME] = 'Brave';\\n }\\n return _browser;\\n };\\n this.getCPU = function () {\\n var _cpu = {};\\n _cpu[ARCHITECTURE] = undefined;\\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\\n return _cpu;\\n };\\n this.getDevice = function () {\\n var _device = {};\\n _device[VENDOR] = undefined;\\n _device[MODEL] = undefined;\\n _device[TYPE] = undefined;\\n rgxMapper.call(_device, _ua, _rgxmap.device);\\n if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {\\n _device[TYPE] = MOBILE;\\n }\\n // iPadOS-specific detection: identified as Mac, but has some iOS-only properties\\n if (_isSelfNav && _device[MODEL] == 'Macintosh' && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {\\n _device[MODEL] = 'iPad';\\n _device[TYPE] = TABLET;\\n }\\n return _device;\\n };\\n this.getEngine = function () {\\n var _engine = {};\\n _engine[NAME] = undefined;\\n _engine[VERSION] = undefined;\\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\\n return _engine;\\n };\\n this.getOS = function () {\\n var _os = {};\\n _os[NAME] = undefined;\\n _os[VERSION] = undefined;\\n rgxMapper.call(_os, _ua, _rgxmap.os);\\n if (_isSelfNav && !_os[NAME] && _uach && _uach.platform != 'Unknown') {\\n _os[NAME] = _uach.platform \\n .replace(/chrome os/i, CHROMIUM_OS)\\n .replace(/macos/i, MAC_OS); // backward compatibility\\n }\\n return _os;\\n };\\n this.getResult = function () {\\n return {\\n ua : this.getUA(),\\n browser : this.getBrowser(),\\n engine : this.getEngine(),\\n os : this.getOS(),\\n device : this.getDevice(),\\n cpu : this.getCPU()\\n };\\n };\\n this.getUA = function () {\\n return _ua;\\n };\\n this.setUA = function (ua) {\\n _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;\\n return this;\\n };\\n this.setUA(_ua);\\n return this;\\n };\\n\\n UAParser.VERSION = LIBVERSION;\\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\\n UAParser.CPU = enumerize([ARCHITECTURE]);\\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\\n\\n ///////////\\n // Export\\n //////////\\n\\n // check js environment\\n if (typeof(exports) !== UNDEF_TYPE) {\\n // nodejs env\\n if (\\\"object\\\" !== UNDEF_TYPE && module.exports) {\\n exports = module.exports = UAParser;\\n }\\n exports.UAParser = UAParser;\\n } else {\\n // requirejs env (optional)\\n if (\\\"function\\\" === FUNC_TYPE && __webpack_require__.amdO) {\\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\\n return UAParser;\\n }).call(exports, __webpack_require__, exports, module),\\n\\t\\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\\n } else if (typeof window !== UNDEF_TYPE) {\\n // browser env\\n window.UAParser = UAParser;\\n }\\n }\\n\\n // jQuery/Zepto specific (optional)\\n // Note:\\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\\n // and we should catch that.\\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\\n if ($ && !$.ua) {\\n var parser = new UAParser();\\n $.ua = parser.getResult();\\n $.ua.get = function () {\\n return parser.getUA();\\n };\\n $.ua.set = function (ua) {\\n parser.setUA(ua);\\n var result = parser.getResult();\\n for (var prop in result) {\\n $.ua[prop] = result[prop];\\n }\\n };\\n }\\n\\n})(typeof window === 'object' ? window : this);\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/ua-parser-js/src/ua-parser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/uuid/dist/esm-browser/regex.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/uuid/dist/esm-browser/regex.js ***!\n \\*****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ \\\"default\\\": () => (__WEBPACK_DEFAULT_EXPORT__)\\n/* harmony export */ });\\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i);\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/uuid/dist/esm-browser/regex.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/uuid/dist/esm-browser/rng.js\":\n/*!***************************************************!*\\\n !*** ./node_modules/uuid/dist/esm-browser/rng.js ***!\n \\***************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ \\\"default\\\": () => (/* binding */ rng)\\n/* harmony export */ });\\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\\n// require the crypto API and do not support built-in fallback to lower quality random number\\n// generators (like Math.random()).\\nvar getRandomValues;\\nvar rnds8 = new Uint8Array(16);\\nfunction rng() {\\n // lazy load so that environments that need to polyfill have a chance to do so\\n if (!getRandomValues) {\\n // getRandomValues needs to be invoked in a context where \\\"this\\\" is a Crypto implementation. Also,\\n // find the complete implementation of crypto (msCrypto) on IE11.\\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\\n\\n if (!getRandomValues) {\\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\\n }\\n }\\n\\n return getRandomValues(rnds8);\\n}\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/uuid/dist/esm-browser/rng.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/uuid/dist/esm-browser/stringify.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/uuid/dist/esm-browser/stringify.js ***!\n \\*********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ \\\"default\\\": () => (__WEBPACK_DEFAULT_EXPORT__)\\n/* harmony export */ });\\n/* harmony import */ var _validate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validate.js */ \\\"./node_modules/uuid/dist/esm-browser/validate.js\\\");\\n\\n/**\\n * Convert array of 16 byte values to UUID string format of the form:\\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\\n */\\n\\nvar byteToHex = [];\\n\\nfor (var i = 0; i < 256; ++i) {\\n byteToHex.push((i + 0x100).toString(16).substr(1));\\n}\\n\\nfunction stringify(arr) {\\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\\n // Note: Be careful editing this code! It's been tuned for performance\\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\\n // of the following:\\n // - One or more input array values don't map to a hex octet (leading to\\n // \\\"undefined\\\" in the uuid)\\n // - Invalid input values for the RFC `version` or `variant` fields\\n\\n if (!(0,_validate_js__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"])(uuid)) {\\n throw TypeError('Stringified UUID is invalid');\\n }\\n\\n return uuid;\\n}\\n\\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stringify);\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/uuid/dist/esm-browser/stringify.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/uuid/dist/esm-browser/v4.js\":\n/*!**************************************************!*\\\n !*** ./node_modules/uuid/dist/esm-browser/v4.js ***!\n \\**************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ \\\"default\\\": () => (__WEBPACK_DEFAULT_EXPORT__)\\n/* harmony export */ });\\n/* harmony import */ var _rng_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rng.js */ \\\"./node_modules/uuid/dist/esm-browser/rng.js\\\");\\n/* harmony import */ var _stringify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stringify.js */ \\\"./node_modules/uuid/dist/esm-browser/stringify.js\\\");\\n\\n\\n\\nfunction v4(options, buf, offset) {\\n options = options || {};\\n var rnds = options.random || (options.rng || _rng_js__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"])(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\\n\\n rnds[6] = rnds[6] & 0x0f | 0x40;\\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\\n\\n if (buf) {\\n offset = offset || 0;\\n\\n for (var i = 0; i < 16; ++i) {\\n buf[offset + i] = rnds[i];\\n }\\n\\n return buf;\\n }\\n\\n return (0,_stringify_js__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"])(rnds);\\n}\\n\\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (v4);\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/uuid/dist/esm-browser/v4.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/uuid/dist/esm-browser/validate.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/uuid/dist/esm-browser/validate.js ***!\n \\********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ \\\"default\\\": () => (__WEBPACK_DEFAULT_EXPORT__)\\n/* harmony export */ });\\n/* harmony import */ var _regex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./regex.js */ \\\"./node_modules/uuid/dist/esm-browser/regex.js\\\");\\n\\n\\nfunction validate(uuid) {\\n return typeof uuid === 'string' && _regex_js__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].test(uuid);\\n}\\n\\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validate);\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/uuid/dist/esm-browser/validate.js?\");\n\n/***/ }),\n\n/***/ \"react\":\n/*!************************!*\\\n !*** external \"react\" ***!\n \\************************/\n/***/ ((module) => {\n\n\"use strict\";\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_react__;\n\n/***/ }),\n\n/***/ \"./node_modules/@socket.io/component-emitter/index.mjs\":\n/*!*************************************************************!*\\\n !*** ./node_modules/@socket.io/component-emitter/index.mjs ***!\n \\*************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Emitter: () => (/* binding */ Emitter)\\n/* harmony export */ });\\n/**\\n * Initialize a new `Emitter`.\\n *\\n * @api public\\n */\\n\\nfunction Emitter(obj) {\\n if (obj) return mixin(obj);\\n}\\n\\n/**\\n * Mixin the emitter properties.\\n *\\n * @param {Object} obj\\n * @return {Object}\\n * @api private\\n */\\n\\nfunction mixin(obj) {\\n for (var key in Emitter.prototype) {\\n obj[key] = Emitter.prototype[key];\\n }\\n return obj;\\n}\\n\\n/**\\n * Listen on the given `event` with `fn`.\\n *\\n * @param {String} event\\n * @param {Function} fn\\n * @return {Emitter}\\n * @api public\\n */\\n\\nEmitter.prototype.on =\\nEmitter.prototype.addEventListener = function(event, fn){\\n this._callbacks = this._callbacks || {};\\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\\n .push(fn);\\n return this;\\n};\\n\\n/**\\n * Adds an `event` listener that will be invoked a single\\n * time then automatically removed.\\n *\\n * @param {String} event\\n * @param {Function} fn\\n * @return {Emitter}\\n * @api public\\n */\\n\\nEmitter.prototype.once = function(event, fn){\\n function on() {\\n this.off(event, on);\\n fn.apply(this, arguments);\\n }\\n\\n on.fn = fn;\\n this.on(event, on);\\n return this;\\n};\\n\\n/**\\n * Remove the given callback for `event` or all\\n * registered callbacks.\\n *\\n * @param {String} event\\n * @param {Function} fn\\n * @return {Emitter}\\n * @api public\\n */\\n\\nEmitter.prototype.off =\\nEmitter.prototype.removeListener =\\nEmitter.prototype.removeAllListeners =\\nEmitter.prototype.removeEventListener = function(event, fn){\\n this._callbacks = this._callbacks || {};\\n\\n // all\\n if (0 == arguments.length) {\\n this._callbacks = {};\\n return this;\\n }\\n\\n // specific event\\n var callbacks = this._callbacks['$' + event];\\n if (!callbacks) return this;\\n\\n // remove all handlers\\n if (1 == arguments.length) {\\n delete this._callbacks['$' + event];\\n return this;\\n }\\n\\n // remove specific handler\\n var cb;\\n for (var i = 0; i < callbacks.length; i++) {\\n cb = callbacks[i];\\n if (cb === fn || cb.fn === fn) {\\n callbacks.splice(i, 1);\\n break;\\n }\\n }\\n\\n // Remove event specific arrays for event types that no\\n // one is subscribed for to avoid memory leak.\\n if (callbacks.length === 0) {\\n delete this._callbacks['$' + event];\\n }\\n\\n return this;\\n};\\n\\n/**\\n * Emit `event` with the given args.\\n *\\n * @param {String} event\\n * @param {Mixed} ...\\n * @return {Emitter}\\n */\\n\\nEmitter.prototype.emit = function(event){\\n this._callbacks = this._callbacks || {};\\n\\n var args = new Array(arguments.length - 1)\\n , callbacks = this._callbacks['$' + event];\\n\\n for (var i = 1; i < arguments.length; i++) {\\n args[i - 1] = arguments[i];\\n }\\n\\n if (callbacks) {\\n callbacks = callbacks.slice(0);\\n for (var i = 0, len = callbacks.length; i < len; ++i) {\\n callbacks[i].apply(this, args);\\n }\\n }\\n\\n return this;\\n};\\n\\n// alias used for reserved events (protected method)\\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\\n\\n/**\\n * Return array of callbacks for `event`.\\n *\\n * @param {String} event\\n * @return {Array}\\n * @api public\\n */\\n\\nEmitter.prototype.listeners = function(event){\\n this._callbacks = this._callbacks || {};\\n return this._callbacks['$' + event] || [];\\n};\\n\\n/**\\n * Check if this emitter has `event` handlers.\\n *\\n * @param {String} event\\n * @return {Boolean}\\n * @api public\\n */\\n\\nEmitter.prototype.hasListeners = function(event){\\n return !! this.listeners(event).length;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@socket.io/component-emitter/index.mjs?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/contrib/has-cors.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/contrib/has-cors.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ hasCORS: () => (/* binding */ hasCORS)\\n/* harmony export */ });\\n// imported from https://github.com/component/has-cors\\nlet value = false;\\ntry {\\n value = typeof XMLHttpRequest !== 'undefined' &&\\n 'withCredentials' in new XMLHttpRequest();\\n}\\ncatch (err) {\\n // if XMLHttp support is disabled in IE then it will throw\\n // when trying to create\\n}\\nconst hasCORS = value;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/contrib/has-cors.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/contrib/parseqs.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/contrib/parseqs.js ***!\n \\********************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ decode: () => (/* binding */ decode),\\n/* harmony export */ encode: () => (/* binding */ encode)\\n/* harmony export */ });\\n// imported from https://github.com/galkn/querystring\\n/**\\n * Compiles a querystring\\n * Returns string representation of the object\\n *\\n * @param {Object}\\n * @api private\\n */\\nfunction encode(obj) {\\n let str = '';\\n for (let i in obj) {\\n if (obj.hasOwnProperty(i)) {\\n if (str.length)\\n str += '&';\\n str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);\\n }\\n }\\n return str;\\n}\\n/**\\n * Parses a simple querystring into an object\\n *\\n * @param {String} qs\\n * @api private\\n */\\nfunction decode(qs) {\\n let qry = {};\\n let pairs = qs.split('&');\\n for (let i = 0, l = pairs.length; i < l; i++) {\\n let pair = pairs[i].split('=');\\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\\n }\\n return qry;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/contrib/parseqs.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/contrib/parseuri.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/contrib/parseuri.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ parse: () => (/* binding */ parse)\\n/* harmony export */ });\\n// imported from https://github.com/galkn/parseuri\\n/**\\n * Parses a URI\\n *\\n * Note: we could also have used the built-in URL object, but it isn't supported on all platforms.\\n *\\n * See:\\n * - https://developer.mozilla.org/en-US/docs/Web/API/URL\\n * - https://caniuse.com/url\\n * - https://www.rfc-editor.org/rfc/rfc3986#appendix-B\\n *\\n * History of the parse() method:\\n * - first commit: https://github.com/socketio/socket.io-client/commit/4ee1d5d94b3906a9c052b459f1a818b15f38f91c\\n * - export into its own module: https://github.com/socketio/engine.io-client/commit/de2c561e4564efeb78f1bdb1ba39ef81b2822cb3\\n * - reimport: https://github.com/socketio/engine.io-client/commit/df32277c3f6d622eec5ed09f493cae3f3391d242\\n *\\n * @author Steven Levithan <stevenlevithan.com> (MIT license)\\n * @api private\\n */\\nconst re = /^(?:(?![^:@\\\\/?#]+:[^:@\\\\/]*@)(http|https|ws|wss):\\\\/\\\\/)?((?:(([^:@\\\\/?#]*)(?::([^:@\\\\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\\\/?#]*)(?::(\\\\d*))?)(((\\\\/(?:[^?#](?![^?#\\\\/]*\\\\.[^?#\\\\/.]+(?:[?#]|$)))*\\\\/?)?([^?#\\\\/]*))(?:\\\\?([^#]*))?(?:#(.*))?)/;\\nconst parts = [\\n 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'\\n];\\nfunction parse(str) {\\n const src = str, b = str.indexOf('['), e = str.indexOf(']');\\n if (b != -1 && e != -1) {\\n str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length);\\n }\\n let m = re.exec(str || ''), uri = {}, i = 14;\\n while (i--) {\\n uri[parts[i]] = m[i] || '';\\n }\\n if (b != -1 && e != -1) {\\n uri.source = src;\\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':');\\n uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':');\\n uri.ipv6uri = true;\\n }\\n uri.pathNames = pathNames(uri, uri['path']);\\n uri.queryKey = queryKey(uri, uri['query']);\\n return uri;\\n}\\nfunction pathNames(obj, path) {\\n const regx = /\\\\/{2,9}/g, names = path.replace(regx, \\\"/\\\").split(\\\"/\\\");\\n if (path.slice(0, 1) == '/' || path.length === 0) {\\n names.splice(0, 1);\\n }\\n if (path.slice(-1) == '/') {\\n names.splice(names.length - 1, 1);\\n }\\n return names;\\n}\\nfunction queryKey(uri, query) {\\n const data = {};\\n query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function ($0, $1, $2) {\\n if ($1) {\\n data[$1] = $2;\\n }\\n });\\n return data;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/contrib/parseuri.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/contrib/yeast.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/contrib/yeast.js ***!\n \\******************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ decode: () => (/* binding */ decode),\\n/* harmony export */ encode: () => (/* binding */ encode),\\n/* harmony export */ yeast: () => (/* binding */ yeast)\\n/* harmony export */ });\\n// imported from https://github.com/unshiftio/yeast\\n\\nconst alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split(''), length = 64, map = {};\\nlet seed = 0, i = 0, prev;\\n/**\\n * Return a string representing the specified number.\\n *\\n * @param {Number} num The number to convert.\\n * @returns {String} The string representation of the number.\\n * @api public\\n */\\nfunction encode(num) {\\n let encoded = '';\\n do {\\n encoded = alphabet[num % length] + encoded;\\n num = Math.floor(num / length);\\n } while (num > 0);\\n return encoded;\\n}\\n/**\\n * Return the integer value specified by the given string.\\n *\\n * @param {String} str The string to convert.\\n * @returns {Number} The integer value represented by the string.\\n * @api public\\n */\\nfunction decode(str) {\\n let decoded = 0;\\n for (i = 0; i < str.length; i++) {\\n decoded = decoded * length + map[str.charAt(i)];\\n }\\n return decoded;\\n}\\n/**\\n * Yeast: A tiny growing id generator.\\n *\\n * @returns {String} A unique id.\\n * @api public\\n */\\nfunction yeast() {\\n const now = encode(+new Date());\\n if (now !== prev)\\n return seed = 0, prev = now;\\n return now + '.' + encode(seed++);\\n}\\n//\\n// Map each character to its index.\\n//\\nfor (; i < length; i++)\\n map[alphabet[i]] = i;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/contrib/yeast.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/globalThis.browser.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/globalThis.browser.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ globalThisShim: () => (/* binding */ globalThisShim)\\n/* harmony export */ });\\nconst globalThisShim = (() => {\\n if (typeof self !== \\\"undefined\\\") {\\n return self;\\n }\\n else if (typeof window !== \\\"undefined\\\") {\\n return window;\\n }\\n else {\\n return Function(\\\"return this\\\")();\\n }\\n})();\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/globalThis.browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/index.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/index.js ***!\n \\**********************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Socket: () => (/* reexport safe */ _socket_js__WEBPACK_IMPORTED_MODULE_0__.Socket),\\n/* harmony export */ Transport: () => (/* reexport safe */ _transport_js__WEBPACK_IMPORTED_MODULE_1__.Transport),\\n/* harmony export */ installTimerFunctions: () => (/* reexport safe */ _util_js__WEBPACK_IMPORTED_MODULE_3__.installTimerFunctions),\\n/* harmony export */ nextTick: () => (/* reexport safe */ _transports_websocket_constructor_js__WEBPACK_IMPORTED_MODULE_5__.nextTick),\\n/* harmony export */ parse: () => (/* reexport safe */ _contrib_parseuri_js__WEBPACK_IMPORTED_MODULE_4__.parse),\\n/* harmony export */ protocol: () => (/* binding */ protocol),\\n/* harmony export */ transports: () => (/* reexport safe */ _transports_index_js__WEBPACK_IMPORTED_MODULE_2__.transports)\\n/* harmony export */ });\\n/* harmony import */ var _socket_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./socket.js */ \\\"./node_modules/engine.io-client/build/esm/socket.js\\\");\\n/* harmony import */ var _transport_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transport.js */ \\\"./node_modules/engine.io-client/build/esm/transport.js\\\");\\n/* harmony import */ var _transports_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transports/index.js */ \\\"./node_modules/engine.io-client/build/esm/transports/index.js\\\");\\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util.js */ \\\"./node_modules/engine.io-client/build/esm/util.js\\\");\\n/* harmony import */ var _contrib_parseuri_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./contrib/parseuri.js */ \\\"./node_modules/engine.io-client/build/esm/contrib/parseuri.js\\\");\\n/* harmony import */ var _transports_websocket_constructor_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./transports/websocket-constructor.js */ \\\"./node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js\\\");\\n\\n\\nconst protocol = _socket_js__WEBPACK_IMPORTED_MODULE_0__.Socket.protocol;\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/socket.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/socket.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Socket: () => (/* binding */ Socket)\\n/* harmony export */ });\\n/* harmony import */ var _transports_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transports/index.js */ \\\"./node_modules/engine.io-client/build/esm/transports/index.js\\\");\\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util.js */ \\\"./node_modules/engine.io-client/build/esm/util.js\\\");\\n/* harmony import */ var _contrib_parseqs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./contrib/parseqs.js */ \\\"./node_modules/engine.io-client/build/esm/contrib/parseqs.js\\\");\\n/* harmony import */ var _contrib_parseuri_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./contrib/parseuri.js */ \\\"./node_modules/engine.io-client/build/esm/contrib/parseuri.js\\\");\\n/* harmony import */ var _socket_io_component_emitter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @socket.io/component-emitter */ \\\"./node_modules/@socket.io/component-emitter/index.mjs\\\");\\n/* harmony import */ var engine_io_parser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! engine.io-parser */ \\\"./node_modules/engine.io-parser/build/esm/index.js\\\");\\n\\n\\n\\n\\n\\n\\nclass Socket extends _socket_io_component_emitter__WEBPACK_IMPORTED_MODULE_4__.Emitter {\\n /**\\n * Socket constructor.\\n *\\n * @param {String|Object} uri - uri or options\\n * @param {Object} opts - options\\n */\\n constructor(uri, opts = {}) {\\n super();\\n this.writeBuffer = [];\\n if (uri && \\\"object\\\" === typeof uri) {\\n opts = uri;\\n uri = null;\\n }\\n if (uri) {\\n uri = (0,_contrib_parseuri_js__WEBPACK_IMPORTED_MODULE_3__.parse)(uri);\\n opts.hostname = uri.host;\\n opts.secure = uri.protocol === \\\"https\\\" || uri.protocol === \\\"wss\\\";\\n opts.port = uri.port;\\n if (uri.query)\\n opts.query = uri.query;\\n }\\n else if (opts.host) {\\n opts.hostname = (0,_contrib_parseuri_js__WEBPACK_IMPORTED_MODULE_3__.parse)(opts.host).host;\\n }\\n (0,_util_js__WEBPACK_IMPORTED_MODULE_1__.installTimerFunctions)(this, opts);\\n this.secure =\\n null != opts.secure\\n ? opts.secure\\n : typeof location !== \\\"undefined\\\" && \\\"https:\\\" === location.protocol;\\n if (opts.hostname && !opts.port) {\\n // if no port is specified manually, use the protocol default\\n opts.port = this.secure ? \\\"443\\\" : \\\"80\\\";\\n }\\n this.hostname =\\n opts.hostname ||\\n (typeof location !== \\\"undefined\\\" ? location.hostname : \\\"localhost\\\");\\n this.port =\\n opts.port ||\\n (typeof location !== \\\"undefined\\\" && location.port\\n ? location.port\\n : this.secure\\n ? \\\"443\\\"\\n : \\\"80\\\");\\n this.transports = opts.transports || [\\n \\\"polling\\\",\\n \\\"websocket\\\",\\n \\\"webtransport\\\",\\n ];\\n this.writeBuffer = [];\\n this.prevBufferLen = 0;\\n this.opts = Object.assign({\\n path: \\\"/engine.io\\\",\\n agent: false,\\n withCredentials: false,\\n upgrade: true,\\n timestampParam: \\\"t\\\",\\n rememberUpgrade: false,\\n addTrailingSlash: true,\\n rejectUnauthorized: true,\\n perMessageDeflate: {\\n threshold: 1024,\\n },\\n transportOptions: {},\\n closeOnBeforeunload: false,\\n }, opts);\\n this.opts.path =\\n this.opts.path.replace(/\\\\/$/, \\\"\\\") +\\n (this.opts.addTrailingSlash ? \\\"/\\\" : \\\"\\\");\\n if (typeof this.opts.query === \\\"string\\\") {\\n this.opts.query = (0,_contrib_parseqs_js__WEBPACK_IMPORTED_MODULE_2__.decode)(this.opts.query);\\n }\\n // set on handshake\\n this.id = null;\\n this.upgrades = null;\\n this.pingInterval = null;\\n this.pingTimeout = null;\\n // set on heartbeat\\n this.pingTimeoutTimer = null;\\n if (typeof addEventListener === \\\"function\\\") {\\n if (this.opts.closeOnBeforeunload) {\\n // Firefox closes the connection when the \\\"beforeunload\\\" event is emitted but not Chrome. This event listener\\n // ensures every browser behaves the same (no \\\"disconnect\\\" event at the Socket.IO level when the page is\\n // closed/reloaded)\\n this.beforeunloadEventListener = () => {\\n if (this.transport) {\\n // silently close the transport\\n this.transport.removeAllListeners();\\n this.transport.close();\\n }\\n };\\n addEventListener(\\\"beforeunload\\\", this.beforeunloadEventListener, false);\\n }\\n if (this.hostname !== \\\"localhost\\\") {\\n this.offlineEventListener = () => {\\n this.onClose(\\\"transport close\\\", {\\n description: \\\"network connection lost\\\",\\n });\\n };\\n addEventListener(\\\"offline\\\", this.offlineEventListener, false);\\n }\\n }\\n this.open();\\n }\\n /**\\n * Creates transport of the given type.\\n *\\n * @param {String} name - transport name\\n * @return {Transport}\\n * @private\\n */\\n createTransport(name) {\\n const query = Object.assign({}, this.opts.query);\\n // append engine.io protocol identifier\\n query.EIO = engine_io_parser__WEBPACK_IMPORTED_MODULE_5__.protocol;\\n // transport name\\n query.transport = name;\\n // session id if we already have one\\n if (this.id)\\n query.sid = this.id;\\n const opts = Object.assign({}, this.opts, {\\n query,\\n socket: this,\\n hostname: this.hostname,\\n secure: this.secure,\\n port: this.port,\\n }, this.opts.transportOptions[name]);\\n return new _transports_index_js__WEBPACK_IMPORTED_MODULE_0__.transports[name](opts);\\n }\\n /**\\n * Initializes transport to use and starts probe.\\n *\\n * @private\\n */\\n open() {\\n let transport;\\n if (this.opts.rememberUpgrade &&\\n Socket.priorWebsocketSuccess &&\\n this.transports.indexOf(\\\"websocket\\\") !== -1) {\\n transport = \\\"websocket\\\";\\n }\\n else if (0 === this.transports.length) {\\n // Emit error on next tick so it can be listened to\\n this.setTimeoutFn(() => {\\n this.emitReserved(\\\"error\\\", \\\"No transports available\\\");\\n }, 0);\\n return;\\n }\\n else {\\n transport = this.transports[0];\\n }\\n this.readyState = \\\"opening\\\";\\n // Retry with the next transport if the transport is disabled (jsonp: false)\\n try {\\n transport = this.createTransport(transport);\\n }\\n catch (e) {\\n this.transports.shift();\\n this.open();\\n return;\\n }\\n transport.open();\\n this.setTransport(transport);\\n }\\n /**\\n * Sets the current transport. Disables the existing one (if any).\\n *\\n * @private\\n */\\n setTransport(transport) {\\n if (this.transport) {\\n this.transport.removeAllListeners();\\n }\\n // set up transport\\n this.transport = transport;\\n // set up transport listeners\\n transport\\n .on(\\\"drain\\\", this.onDrain.bind(this))\\n .on(\\\"packet\\\", this.onPacket.bind(this))\\n .on(\\\"error\\\", this.onError.bind(this))\\n .on(\\\"close\\\", (reason) => this.onClose(\\\"transport close\\\", reason));\\n }\\n /**\\n * Probes a transport.\\n *\\n * @param {String} name - transport name\\n * @private\\n */\\n probe(name) {\\n let transport = this.createTransport(name);\\n let failed = false;\\n Socket.priorWebsocketSuccess = false;\\n const onTransportOpen = () => {\\n if (failed)\\n return;\\n transport.send([{ type: \\\"ping\\\", data: \\\"probe\\\" }]);\\n transport.once(\\\"packet\\\", (msg) => {\\n if (failed)\\n return;\\n if (\\\"pong\\\" === msg.type && \\\"probe\\\" === msg.data) {\\n this.upgrading = true;\\n this.emitReserved(\\\"upgrading\\\", transport);\\n if (!transport)\\n return;\\n Socket.priorWebsocketSuccess = \\\"websocket\\\" === transport.name;\\n this.transport.pause(() => {\\n if (failed)\\n return;\\n if (\\\"closed\\\" === this.readyState)\\n return;\\n cleanup();\\n this.setTransport(transport);\\n transport.send([{ type: \\\"upgrade\\\" }]);\\n this.emitReserved(\\\"upgrade\\\", transport);\\n transport = null;\\n this.upgrading = false;\\n this.flush();\\n });\\n }\\n else {\\n const err = new Error(\\\"probe error\\\");\\n // @ts-ignore\\n err.transport = transport.name;\\n this.emitReserved(\\\"upgradeError\\\", err);\\n }\\n });\\n };\\n function freezeTransport() {\\n if (failed)\\n return;\\n // Any callback called by transport should be ignored since now\\n failed = true;\\n cleanup();\\n transport.close();\\n transport = null;\\n }\\n // Handle any error that happens while probing\\n const onerror = (err) => {\\n const error = new Error(\\\"probe error: \\\" + err);\\n // @ts-ignore\\n error.transport = transport.name;\\n freezeTransport();\\n this.emitReserved(\\\"upgradeError\\\", error);\\n };\\n function onTransportClose() {\\n onerror(\\\"transport closed\\\");\\n }\\n // When the socket is closed while we're probing\\n function onclose() {\\n onerror(\\\"socket closed\\\");\\n }\\n // When the socket is upgraded while we're probing\\n function onupgrade(to) {\\n if (transport && to.name !== transport.name) {\\n freezeTransport();\\n }\\n }\\n // Remove all listeners on the transport and on self\\n const cleanup = () => {\\n transport.removeListener(\\\"open\\\", onTransportOpen);\\n transport.removeListener(\\\"error\\\", onerror);\\n transport.removeListener(\\\"close\\\", onTransportClose);\\n this.off(\\\"close\\\", onclose);\\n this.off(\\\"upgrading\\\", onupgrade);\\n };\\n transport.once(\\\"open\\\", onTransportOpen);\\n transport.once(\\\"error\\\", onerror);\\n transport.once(\\\"close\\\", onTransportClose);\\n this.once(\\\"close\\\", onclose);\\n this.once(\\\"upgrading\\\", onupgrade);\\n if (this.upgrades.indexOf(\\\"webtransport\\\") !== -1 &&\\n name !== \\\"webtransport\\\") {\\n // favor WebTransport\\n this.setTimeoutFn(() => {\\n if (!failed) {\\n transport.open();\\n }\\n }, 200);\\n }\\n else {\\n transport.open();\\n }\\n }\\n /**\\n * Called when connection is deemed open.\\n *\\n * @private\\n */\\n onOpen() {\\n this.readyState = \\\"open\\\";\\n Socket.priorWebsocketSuccess = \\\"websocket\\\" === this.transport.name;\\n this.emitReserved(\\\"open\\\");\\n this.flush();\\n // we check for `readyState` in case an `open`\\n // listener already closed the socket\\n if (\\\"open\\\" === this.readyState && this.opts.upgrade) {\\n let i = 0;\\n const l = this.upgrades.length;\\n for (; i < l; i++) {\\n this.probe(this.upgrades[i]);\\n }\\n }\\n }\\n /**\\n * Handles a packet.\\n *\\n * @private\\n */\\n onPacket(packet) {\\n if (\\\"opening\\\" === this.readyState ||\\n \\\"open\\\" === this.readyState ||\\n \\\"closing\\\" === this.readyState) {\\n this.emitReserved(\\\"packet\\\", packet);\\n // Socket is live - any packet counts\\n this.emitReserved(\\\"heartbeat\\\");\\n switch (packet.type) {\\n case \\\"open\\\":\\n this.onHandshake(JSON.parse(packet.data));\\n break;\\n case \\\"ping\\\":\\n this.resetPingTimeout();\\n this.sendPacket(\\\"pong\\\");\\n this.emitReserved(\\\"ping\\\");\\n this.emitReserved(\\\"pong\\\");\\n break;\\n case \\\"error\\\":\\n const err = new Error(\\\"server error\\\");\\n // @ts-ignore\\n err.code = packet.data;\\n this.onError(err);\\n break;\\n case \\\"message\\\":\\n this.emitReserved(\\\"data\\\", packet.data);\\n this.emitReserved(\\\"message\\\", packet.data);\\n break;\\n }\\n }\\n else {\\n }\\n }\\n /**\\n * Called upon handshake completion.\\n *\\n * @param {Object} data - handshake obj\\n * @private\\n */\\n onHandshake(data) {\\n this.emitReserved(\\\"handshake\\\", data);\\n this.id = data.sid;\\n this.transport.query.sid = data.sid;\\n this.upgrades = this.filterUpgrades(data.upgrades);\\n this.pingInterval = data.pingInterval;\\n this.pingTimeout = data.pingTimeout;\\n this.maxPayload = data.maxPayload;\\n this.onOpen();\\n // In case open handler closes socket\\n if (\\\"closed\\\" === this.readyState)\\n return;\\n this.resetPingTimeout();\\n }\\n /**\\n * Sets and resets ping timeout timer based on server pings.\\n *\\n * @private\\n */\\n resetPingTimeout() {\\n this.clearTimeoutFn(this.pingTimeoutTimer);\\n this.pingTimeoutTimer = this.setTimeoutFn(() => {\\n this.onClose(\\\"ping timeout\\\");\\n }, this.pingInterval + this.pingTimeout);\\n if (this.opts.autoUnref) {\\n this.pingTimeoutTimer.unref();\\n }\\n }\\n /**\\n * Called on `drain` event\\n *\\n * @private\\n */\\n onDrain() {\\n this.writeBuffer.splice(0, this.prevBufferLen);\\n // setting prevBufferLen = 0 is very important\\n // for example, when upgrading, upgrade packet is sent over,\\n // and a nonzero prevBufferLen could cause problems on `drain`\\n this.prevBufferLen = 0;\\n if (0 === this.writeBuffer.length) {\\n this.emitReserved(\\\"drain\\\");\\n }\\n else {\\n this.flush();\\n }\\n }\\n /**\\n * Flush write buffers.\\n *\\n * @private\\n */\\n flush() {\\n if (\\\"closed\\\" !== this.readyState &&\\n this.transport.writable &&\\n !this.upgrading &&\\n this.writeBuffer.length) {\\n const packets = this.getWritablePackets();\\n this.transport.send(packets);\\n // keep track of current length of writeBuffer\\n // splice writeBuffer and callbackBuffer on `drain`\\n this.prevBufferLen = packets.length;\\n this.emitReserved(\\\"flush\\\");\\n }\\n }\\n /**\\n * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\\n * long-polling)\\n *\\n * @private\\n */\\n getWritablePackets() {\\n const shouldCheckPayloadSize = this.maxPayload &&\\n this.transport.name === \\\"polling\\\" &&\\n this.writeBuffer.length > 1;\\n if (!shouldCheckPayloadSize) {\\n return this.writeBuffer;\\n }\\n let payloadSize = 1; // first packet type\\n for (let i = 0; i < this.writeBuffer.length; i++) {\\n const data = this.writeBuffer[i].data;\\n if (data) {\\n payloadSize += (0,_util_js__WEBPACK_IMPORTED_MODULE_1__.byteLength)(data);\\n }\\n if (i > 0 && payloadSize > this.maxPayload) {\\n return this.writeBuffer.slice(0, i);\\n }\\n payloadSize += 2; // separator + packet type\\n }\\n return this.writeBuffer;\\n }\\n /**\\n * Sends a message.\\n *\\n * @param {String} msg - message.\\n * @param {Object} options.\\n * @param {Function} callback function.\\n * @return {Socket} for chaining.\\n */\\n write(msg, options, fn) {\\n this.sendPacket(\\\"message\\\", msg, options, fn);\\n return this;\\n }\\n send(msg, options, fn) {\\n this.sendPacket(\\\"message\\\", msg, options, fn);\\n return this;\\n }\\n /**\\n * Sends a packet.\\n *\\n * @param {String} type: packet type.\\n * @param {String} data.\\n * @param {Object} options.\\n * @param {Function} fn - callback function.\\n * @private\\n */\\n sendPacket(type, data, options, fn) {\\n if (\\\"function\\\" === typeof data) {\\n fn = data;\\n data = undefined;\\n }\\n if (\\\"function\\\" === typeof options) {\\n fn = options;\\n options = null;\\n }\\n if (\\\"closing\\\" === this.readyState || \\\"closed\\\" === this.readyState) {\\n return;\\n }\\n options = options || {};\\n options.compress = false !== options.compress;\\n const packet = {\\n type: type,\\n data: data,\\n options: options,\\n };\\n this.emitReserved(\\\"packetCreate\\\", packet);\\n this.writeBuffer.push(packet);\\n if (fn)\\n this.once(\\\"flush\\\", fn);\\n this.flush();\\n }\\n /**\\n * Closes the connection.\\n */\\n close() {\\n const close = () => {\\n this.onClose(\\\"forced close\\\");\\n this.transport.close();\\n };\\n const cleanupAndClose = () => {\\n this.off(\\\"upgrade\\\", cleanupAndClose);\\n this.off(\\\"upgradeError\\\", cleanupAndClose);\\n close();\\n };\\n const waitForUpgrade = () => {\\n // wait for upgrade to finish since we can't send packets while pausing a transport\\n this.once(\\\"upgrade\\\", cleanupAndClose);\\n this.once(\\\"upgradeError\\\", cleanupAndClose);\\n };\\n if (\\\"opening\\\" === this.readyState || \\\"open\\\" === this.readyState) {\\n this.readyState = \\\"closing\\\";\\n if (this.writeBuffer.length) {\\n this.once(\\\"drain\\\", () => {\\n if (this.upgrading) {\\n waitForUpgrade();\\n }\\n else {\\n close();\\n }\\n });\\n }\\n else if (this.upgrading) {\\n waitForUpgrade();\\n }\\n else {\\n close();\\n }\\n }\\n return this;\\n }\\n /**\\n * Called upon transport error\\n *\\n * @private\\n */\\n onError(err) {\\n Socket.priorWebsocketSuccess = false;\\n this.emitReserved(\\\"error\\\", err);\\n this.onClose(\\\"transport error\\\", err);\\n }\\n /**\\n * Called upon transport close.\\n *\\n * @private\\n */\\n onClose(reason, description) {\\n if (\\\"opening\\\" === this.readyState ||\\n \\\"open\\\" === this.readyState ||\\n \\\"closing\\\" === this.readyState) {\\n // clear timers\\n this.clearTimeoutFn(this.pingTimeoutTimer);\\n // stop event from firing again for transport\\n this.transport.removeAllListeners(\\\"close\\\");\\n // ensure transport won't stay open\\n this.transport.close();\\n // ignore further transport communication\\n this.transport.removeAllListeners();\\n if (typeof removeEventListener === \\\"function\\\") {\\n removeEventListener(\\\"beforeunload\\\", this.beforeunloadEventListener, false);\\n removeEventListener(\\\"offline\\\", this.offlineEventListener, false);\\n }\\n // set ready state\\n this.readyState = \\\"closed\\\";\\n // clear session id\\n this.id = null;\\n // emit close event\\n this.emitReserved(\\\"close\\\", reason, description);\\n // clean buffers after, so users can still\\n // grab the buffers on `close` event\\n this.writeBuffer = [];\\n this.prevBufferLen = 0;\\n }\\n }\\n /**\\n * Filters upgrades, returning only those matching client transports.\\n *\\n * @param {Array} upgrades - server upgrades\\n * @private\\n */\\n filterUpgrades(upgrades) {\\n const filteredUpgrades = [];\\n let i = 0;\\n const j = upgrades.length;\\n for (; i < j; i++) {\\n if (~this.transports.indexOf(upgrades[i]))\\n filteredUpgrades.push(upgrades[i]);\\n }\\n return filteredUpgrades;\\n }\\n}\\nSocket.protocol = engine_io_parser__WEBPACK_IMPORTED_MODULE_5__.protocol;\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/socket.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/transport.js\":\n/*!**************************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/transport.js ***!\n \\**************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Transport: () => (/* binding */ Transport)\\n/* harmony export */ });\\n/* harmony import */ var engine_io_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! engine.io-parser */ \\\"./node_modules/engine.io-parser/build/esm/index.js\\\");\\n/* harmony import */ var _socket_io_component_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @socket.io/component-emitter */ \\\"./node_modules/@socket.io/component-emitter/index.mjs\\\");\\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util.js */ \\\"./node_modules/engine.io-client/build/esm/util.js\\\");\\n/* harmony import */ var _contrib_parseqs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./contrib/parseqs.js */ \\\"./node_modules/engine.io-client/build/esm/contrib/parseqs.js\\\");\\n\\n\\n\\n\\nclass TransportError extends Error {\\n constructor(reason, description, context) {\\n super(reason);\\n this.description = description;\\n this.context = context;\\n this.type = \\\"TransportError\\\";\\n }\\n}\\nclass Transport extends _socket_io_component_emitter__WEBPACK_IMPORTED_MODULE_1__.Emitter {\\n /**\\n * Transport abstract constructor.\\n *\\n * @param {Object} opts - options\\n * @protected\\n */\\n constructor(opts) {\\n super();\\n this.writable = false;\\n (0,_util_js__WEBPACK_IMPORTED_MODULE_2__.installTimerFunctions)(this, opts);\\n this.opts = opts;\\n this.query = opts.query;\\n this.socket = opts.socket;\\n }\\n /**\\n * Emits an error.\\n *\\n * @param {String} reason\\n * @param description\\n * @param context - the error context\\n * @return {Transport} for chaining\\n * @protected\\n */\\n onError(reason, description, context) {\\n super.emitReserved(\\\"error\\\", new TransportError(reason, description, context));\\n return this;\\n }\\n /**\\n * Opens the transport.\\n */\\n open() {\\n this.readyState = \\\"opening\\\";\\n this.doOpen();\\n return this;\\n }\\n /**\\n * Closes the transport.\\n */\\n close() {\\n if (this.readyState === \\\"opening\\\" || this.readyState === \\\"open\\\") {\\n this.doClose();\\n this.onClose();\\n }\\n return this;\\n }\\n /**\\n * Sends multiple packets.\\n *\\n * @param {Array} packets\\n */\\n send(packets) {\\n if (this.readyState === \\\"open\\\") {\\n this.write(packets);\\n }\\n else {\\n // this might happen if the transport was silently closed in the beforeunload event handler\\n }\\n }\\n /**\\n * Called upon open\\n *\\n * @protected\\n */\\n onOpen() {\\n this.readyState = \\\"open\\\";\\n this.writable = true;\\n super.emitReserved(\\\"open\\\");\\n }\\n /**\\n * Called with data.\\n *\\n * @param {String} data\\n * @protected\\n */\\n onData(data) {\\n const packet = (0,engine_io_parser__WEBPACK_IMPORTED_MODULE_0__.decodePacket)(data, this.socket.binaryType);\\n this.onPacket(packet);\\n }\\n /**\\n * Called with a decoded packet.\\n *\\n * @protected\\n */\\n onPacket(packet) {\\n super.emitReserved(\\\"packet\\\", packet);\\n }\\n /**\\n * Called upon close.\\n *\\n * @protected\\n */\\n onClose(details) {\\n this.readyState = \\\"closed\\\";\\n super.emitReserved(\\\"close\\\", details);\\n }\\n /**\\n * Pauses the transport, in order not to lose packets during an upgrade.\\n *\\n * @param onPause\\n */\\n pause(onPause) { }\\n createUri(schema, query = {}) {\\n return (schema +\\n \\\"://\\\" +\\n this._hostname() +\\n this._port() +\\n this.opts.path +\\n this._query(query));\\n }\\n _hostname() {\\n const hostname = this.opts.hostname;\\n return hostname.indexOf(\\\":\\\") === -1 ? hostname : \\\"[\\\" + hostname + \\\"]\\\";\\n }\\n _port() {\\n if (this.opts.port &&\\n ((this.opts.secure && Number(this.opts.port !== 443)) ||\\n (!this.opts.secure && Number(this.opts.port) !== 80))) {\\n return \\\":\\\" + this.opts.port;\\n }\\n else {\\n return \\\"\\\";\\n }\\n }\\n _query(query) {\\n const encodedQuery = (0,_contrib_parseqs_js__WEBPACK_IMPORTED_MODULE_3__.encode)(query);\\n return encodedQuery.length ? \\\"?\\\" + encodedQuery : \\\"\\\";\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/transport.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/transports/index.js\":\n/*!*********************************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/transports/index.js ***!\n \\*********************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ transports: () => (/* binding */ transports)\\n/* harmony export */ });\\n/* harmony import */ var _polling_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./polling.js */ \\\"./node_modules/engine.io-client/build/esm/transports/polling.js\\\");\\n/* harmony import */ var _websocket_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./websocket.js */ \\\"./node_modules/engine.io-client/build/esm/transports/websocket.js\\\");\\n/* harmony import */ var _webtransport_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./webtransport.js */ \\\"./node_modules/engine.io-client/build/esm/transports/webtransport.js\\\");\\n\\n\\n\\nconst transports = {\\n websocket: _websocket_js__WEBPACK_IMPORTED_MODULE_1__.WS,\\n webtransport: _webtransport_js__WEBPACK_IMPORTED_MODULE_2__.WT,\\n polling: _polling_js__WEBPACK_IMPORTED_MODULE_0__.Polling,\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/transports/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/transports/polling.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/transports/polling.js ***!\n \\***********************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Polling: () => (/* binding */ Polling),\\n/* harmony export */ Request: () => (/* binding */ Request)\\n/* harmony export */ });\\n/* harmony import */ var _transport_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../transport.js */ \\\"./node_modules/engine.io-client/build/esm/transport.js\\\");\\n/* harmony import */ var _contrib_yeast_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../contrib/yeast.js */ \\\"./node_modules/engine.io-client/build/esm/contrib/yeast.js\\\");\\n/* harmony import */ var engine_io_parser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! engine.io-parser */ \\\"./node_modules/engine.io-parser/build/esm/index.js\\\");\\n/* harmony import */ var _xmlhttprequest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./xmlhttprequest.js */ \\\"./node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js\\\");\\n/* harmony import */ var _socket_io_component_emitter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @socket.io/component-emitter */ \\\"./node_modules/@socket.io/component-emitter/index.mjs\\\");\\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util.js */ \\\"./node_modules/engine.io-client/build/esm/util.js\\\");\\n/* harmony import */ var _globalThis_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../globalThis.js */ \\\"./node_modules/engine.io-client/build/esm/globalThis.browser.js\\\");\\n\\n\\n\\n\\n\\n\\n\\nfunction empty() { }\\nconst hasXHR2 = (function () {\\n const xhr = new _xmlhttprequest_js__WEBPACK_IMPORTED_MODULE_3__.XHR({\\n xdomain: false,\\n });\\n return null != xhr.responseType;\\n})();\\nclass Polling extends _transport_js__WEBPACK_IMPORTED_MODULE_0__.Transport {\\n /**\\n * XHR Polling constructor.\\n *\\n * @param {Object} opts\\n * @package\\n */\\n constructor(opts) {\\n super(opts);\\n this.polling = false;\\n if (typeof location !== \\\"undefined\\\") {\\n const isSSL = \\\"https:\\\" === location.protocol;\\n let port = location.port;\\n // some user agents have empty `location.port`\\n if (!port) {\\n port = isSSL ? \\\"443\\\" : \\\"80\\\";\\n }\\n this.xd =\\n (typeof location !== \\\"undefined\\\" &&\\n opts.hostname !== location.hostname) ||\\n port !== opts.port;\\n }\\n /**\\n * XHR supports binary\\n */\\n const forceBase64 = opts && opts.forceBase64;\\n this.supportsBinary = hasXHR2 && !forceBase64;\\n if (this.opts.withCredentials) {\\n this.cookieJar = (0,_xmlhttprequest_js__WEBPACK_IMPORTED_MODULE_3__.createCookieJar)();\\n }\\n }\\n get name() {\\n return \\\"polling\\\";\\n }\\n /**\\n * Opens the socket (triggers polling). We write a PING message to determine\\n * when the transport is open.\\n *\\n * @protected\\n */\\n doOpen() {\\n this.poll();\\n }\\n /**\\n * Pauses polling.\\n *\\n * @param {Function} onPause - callback upon buffers are flushed and transport is paused\\n * @package\\n */\\n pause(onPause) {\\n this.readyState = \\\"pausing\\\";\\n const pause = () => {\\n this.readyState = \\\"paused\\\";\\n onPause();\\n };\\n if (this.polling || !this.writable) {\\n let total = 0;\\n if (this.polling) {\\n total++;\\n this.once(\\\"pollComplete\\\", function () {\\n --total || pause();\\n });\\n }\\n if (!this.writable) {\\n total++;\\n this.once(\\\"drain\\\", function () {\\n --total || pause();\\n });\\n }\\n }\\n else {\\n pause();\\n }\\n }\\n /**\\n * Starts polling cycle.\\n *\\n * @private\\n */\\n poll() {\\n this.polling = true;\\n this.doPoll();\\n this.emitReserved(\\\"poll\\\");\\n }\\n /**\\n * Overloads onData to detect payloads.\\n *\\n * @protected\\n */\\n onData(data) {\\n const callback = (packet) => {\\n // if its the first message we consider the transport open\\n if (\\\"opening\\\" === this.readyState && packet.type === \\\"open\\\") {\\n this.onOpen();\\n }\\n // if its a close packet, we close the ongoing requests\\n if (\\\"close\\\" === packet.type) {\\n this.onClose({ description: \\\"transport closed by the server\\\" });\\n return false;\\n }\\n // otherwise bypass onData and handle the message\\n this.onPacket(packet);\\n };\\n // decode payload\\n (0,engine_io_parser__WEBPACK_IMPORTED_MODULE_2__.decodePayload)(data, this.socket.binaryType).forEach(callback);\\n // if an event did not trigger closing\\n if (\\\"closed\\\" !== this.readyState) {\\n // if we got data we're not polling\\n this.polling = false;\\n this.emitReserved(\\\"pollComplete\\\");\\n if (\\\"open\\\" === this.readyState) {\\n this.poll();\\n }\\n else {\\n }\\n }\\n }\\n /**\\n * For polling, send a close packet.\\n *\\n * @protected\\n */\\n doClose() {\\n const close = () => {\\n this.write([{ type: \\\"close\\\" }]);\\n };\\n if (\\\"open\\\" === this.readyState) {\\n close();\\n }\\n else {\\n // in case we're trying to close while\\n // handshaking is in progress (GH-164)\\n this.once(\\\"open\\\", close);\\n }\\n }\\n /**\\n * Writes a packets payload.\\n *\\n * @param {Array} packets - data packets\\n * @protected\\n */\\n write(packets) {\\n this.writable = false;\\n (0,engine_io_parser__WEBPACK_IMPORTED_MODULE_2__.encodePayload)(packets, (data) => {\\n this.doWrite(data, () => {\\n this.writable = true;\\n this.emitReserved(\\\"drain\\\");\\n });\\n });\\n }\\n /**\\n * Generates uri for connection.\\n *\\n * @private\\n */\\n uri() {\\n const schema = this.opts.secure ? \\\"https\\\" : \\\"http\\\";\\n const query = this.query || {};\\n // cache busting is forced\\n if (false !== this.opts.timestampRequests) {\\n query[this.opts.timestampParam] = (0,_contrib_yeast_js__WEBPACK_IMPORTED_MODULE_1__.yeast)();\\n }\\n if (!this.supportsBinary && !query.sid) {\\n query.b64 = 1;\\n }\\n return this.createUri(schema, query);\\n }\\n /**\\n * Creates a request.\\n *\\n * @param {String} method\\n * @private\\n */\\n request(opts = {}) {\\n Object.assign(opts, { xd: this.xd, cookieJar: this.cookieJar }, this.opts);\\n return new Request(this.uri(), opts);\\n }\\n /**\\n * Sends data.\\n *\\n * @param {String} data to send.\\n * @param {Function} called upon flush.\\n * @private\\n */\\n doWrite(data, fn) {\\n const req = this.request({\\n method: \\\"POST\\\",\\n data: data,\\n });\\n req.on(\\\"success\\\", fn);\\n req.on(\\\"error\\\", (xhrStatus, context) => {\\n this.onError(\\\"xhr post error\\\", xhrStatus, context);\\n });\\n }\\n /**\\n * Starts a poll cycle.\\n *\\n * @private\\n */\\n doPoll() {\\n const req = this.request();\\n req.on(\\\"data\\\", this.onData.bind(this));\\n req.on(\\\"error\\\", (xhrStatus, context) => {\\n this.onError(\\\"xhr poll error\\\", xhrStatus, context);\\n });\\n this.pollXhr = req;\\n }\\n}\\nclass Request extends _socket_io_component_emitter__WEBPACK_IMPORTED_MODULE_4__.Emitter {\\n /**\\n * Request constructor\\n *\\n * @param {Object} options\\n * @package\\n */\\n constructor(uri, opts) {\\n super();\\n (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.installTimerFunctions)(this, opts);\\n this.opts = opts;\\n this.method = opts.method || \\\"GET\\\";\\n this.uri = uri;\\n this.data = undefined !== opts.data ? opts.data : null;\\n this.create();\\n }\\n /**\\n * Creates the XHR object and sends the request.\\n *\\n * @private\\n */\\n create() {\\n var _a;\\n const opts = (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.pick)(this.opts, \\\"agent\\\", \\\"pfx\\\", \\\"key\\\", \\\"passphrase\\\", \\\"cert\\\", \\\"ca\\\", \\\"ciphers\\\", \\\"rejectUnauthorized\\\", \\\"autoUnref\\\");\\n opts.xdomain = !!this.opts.xd;\\n const xhr = (this.xhr = new _xmlhttprequest_js__WEBPACK_IMPORTED_MODULE_3__.XHR(opts));\\n try {\\n xhr.open(this.method, this.uri, true);\\n try {\\n if (this.opts.extraHeaders) {\\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\\n for (let i in this.opts.extraHeaders) {\\n if (this.opts.extraHeaders.hasOwnProperty(i)) {\\n xhr.setRequestHeader(i, this.opts.extraHeaders[i]);\\n }\\n }\\n }\\n }\\n catch (e) { }\\n if (\\\"POST\\\" === this.method) {\\n try {\\n xhr.setRequestHeader(\\\"Content-type\\\", \\\"text/plain;charset=UTF-8\\\");\\n }\\n catch (e) { }\\n }\\n try {\\n xhr.setRequestHeader(\\\"Accept\\\", \\\"*/*\\\");\\n }\\n catch (e) { }\\n (_a = this.opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);\\n // ie6 check\\n if (\\\"withCredentials\\\" in xhr) {\\n xhr.withCredentials = this.opts.withCredentials;\\n }\\n if (this.opts.requestTimeout) {\\n xhr.timeout = this.opts.requestTimeout;\\n }\\n xhr.onreadystatechange = () => {\\n var _a;\\n if (xhr.readyState === 3) {\\n (_a = this.opts.cookieJar) === null || _a === void 0 ? void 0 : _a.parseCookies(xhr);\\n }\\n if (4 !== xhr.readyState)\\n return;\\n if (200 === xhr.status || 1223 === xhr.status) {\\n this.onLoad();\\n }\\n else {\\n // make sure the `error` event handler that's user-set\\n // does not throw in the same tick and gets caught here\\n this.setTimeoutFn(() => {\\n this.onError(typeof xhr.status === \\\"number\\\" ? xhr.status : 0);\\n }, 0);\\n }\\n };\\n xhr.send(this.data);\\n }\\n catch (e) {\\n // Need to defer since .create() is called directly from the constructor\\n // and thus the 'error' event can only be only bound *after* this exception\\n // occurs. Therefore, also, we cannot throw here at all.\\n this.setTimeoutFn(() => {\\n this.onError(e);\\n }, 0);\\n return;\\n }\\n if (typeof document !== \\\"undefined\\\") {\\n this.index = Request.requestsCount++;\\n Request.requests[this.index] = this;\\n }\\n }\\n /**\\n * Called upon error.\\n *\\n * @private\\n */\\n onError(err) {\\n this.emitReserved(\\\"error\\\", err, this.xhr);\\n this.cleanup(true);\\n }\\n /**\\n * Cleans up house.\\n *\\n * @private\\n */\\n cleanup(fromError) {\\n if (\\\"undefined\\\" === typeof this.xhr || null === this.xhr) {\\n return;\\n }\\n this.xhr.onreadystatechange = empty;\\n if (fromError) {\\n try {\\n this.xhr.abort();\\n }\\n catch (e) { }\\n }\\n if (typeof document !== \\\"undefined\\\") {\\n delete Request.requests[this.index];\\n }\\n this.xhr = null;\\n }\\n /**\\n * Called upon load.\\n *\\n * @private\\n */\\n onLoad() {\\n const data = this.xhr.responseText;\\n if (data !== null) {\\n this.emitReserved(\\\"data\\\", data);\\n this.emitReserved(\\\"success\\\");\\n this.cleanup();\\n }\\n }\\n /**\\n * Aborts the request.\\n *\\n * @package\\n */\\n abort() {\\n this.cleanup();\\n }\\n}\\nRequest.requestsCount = 0;\\nRequest.requests = {};\\n/**\\n * Aborts pending requests when unloading the window. This is needed to prevent\\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\\n * emitted.\\n */\\nif (typeof document !== \\\"undefined\\\") {\\n // @ts-ignore\\n if (typeof attachEvent === \\\"function\\\") {\\n // @ts-ignore\\n attachEvent(\\\"onunload\\\", unloadHandler);\\n }\\n else if (typeof addEventListener === \\\"function\\\") {\\n const terminationEvent = \\\"onpagehide\\\" in _globalThis_js__WEBPACK_IMPORTED_MODULE_6__.globalThisShim ? \\\"pagehide\\\" : \\\"unload\\\";\\n addEventListener(terminationEvent, unloadHandler, false);\\n }\\n}\\nfunction unloadHandler() {\\n for (let i in Request.requests) {\\n if (Request.requests.hasOwnProperty(i)) {\\n Request.requests[i].abort();\\n }\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/transports/polling.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js\":\n/*!*********************************************************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js ***!\n \\*********************************************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ WebSocket: () => (/* binding */ WebSocket),\\n/* harmony export */ defaultBinaryType: () => (/* binding */ defaultBinaryType),\\n/* harmony export */ nextTick: () => (/* binding */ nextTick),\\n/* harmony export */ usingBrowserWebSocket: () => (/* binding */ usingBrowserWebSocket)\\n/* harmony export */ });\\n/* harmony import */ var _globalThis_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../globalThis.js */ \\\"./node_modules/engine.io-client/build/esm/globalThis.browser.js\\\");\\n\\nconst nextTick = (() => {\\n const isPromiseAvailable = typeof Promise === \\\"function\\\" && typeof Promise.resolve === \\\"function\\\";\\n if (isPromiseAvailable) {\\n return (cb) => Promise.resolve().then(cb);\\n }\\n else {\\n return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);\\n }\\n})();\\nconst WebSocket = _globalThis_js__WEBPACK_IMPORTED_MODULE_0__.globalThisShim.WebSocket || _globalThis_js__WEBPACK_IMPORTED_MODULE_0__.globalThisShim.MozWebSocket;\\nconst usingBrowserWebSocket = true;\\nconst defaultBinaryType = \\\"arraybuffer\\\";\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/transports/websocket.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/transports/websocket.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ WS: () => (/* binding */ WS)\\n/* harmony export */ });\\n/* harmony import */ var _transport_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../transport.js */ \\\"./node_modules/engine.io-client/build/esm/transport.js\\\");\\n/* harmony import */ var _contrib_yeast_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../contrib/yeast.js */ \\\"./node_modules/engine.io-client/build/esm/contrib/yeast.js\\\");\\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util.js */ \\\"./node_modules/engine.io-client/build/esm/util.js\\\");\\n/* harmony import */ var _websocket_constructor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./websocket-constructor.js */ \\\"./node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js\\\");\\n/* harmony import */ var engine_io_parser__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! engine.io-parser */ \\\"./node_modules/engine.io-parser/build/esm/index.js\\\");\\n/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \\\"./node_modules/buffer/index.js\\\")[\\\"Buffer\\\"];\\n\\n\\n\\n\\n\\n// detect ReactNative environment\\nconst isReactNative = typeof navigator !== \\\"undefined\\\" &&\\n typeof navigator.product === \\\"string\\\" &&\\n navigator.product.toLowerCase() === \\\"reactnative\\\";\\nclass WS extends _transport_js__WEBPACK_IMPORTED_MODULE_0__.Transport {\\n /**\\n * WebSocket transport constructor.\\n *\\n * @param {Object} opts - connection options\\n * @protected\\n */\\n constructor(opts) {\\n super(opts);\\n this.supportsBinary = !opts.forceBase64;\\n }\\n get name() {\\n return \\\"websocket\\\";\\n }\\n doOpen() {\\n if (!this.check()) {\\n // let probe timeout\\n return;\\n }\\n const uri = this.uri();\\n const protocols = this.opts.protocols;\\n // React Native only supports the 'headers' option, and will print a warning if anything else is passed\\n const opts = isReactNative\\n ? {}\\n : (0,_util_js__WEBPACK_IMPORTED_MODULE_2__.pick)(this.opts, \\\"agent\\\", \\\"perMessageDeflate\\\", \\\"pfx\\\", \\\"key\\\", \\\"passphrase\\\", \\\"cert\\\", \\\"ca\\\", \\\"ciphers\\\", \\\"rejectUnauthorized\\\", \\\"localAddress\\\", \\\"protocolVersion\\\", \\\"origin\\\", \\\"maxPayload\\\", \\\"family\\\", \\\"checkServerIdentity\\\");\\n if (this.opts.extraHeaders) {\\n opts.headers = this.opts.extraHeaders;\\n }\\n try {\\n this.ws =\\n _websocket_constructor_js__WEBPACK_IMPORTED_MODULE_3__.usingBrowserWebSocket && !isReactNative\\n ? protocols\\n ? new _websocket_constructor_js__WEBPACK_IMPORTED_MODULE_3__.WebSocket(uri, protocols)\\n : new _websocket_constructor_js__WEBPACK_IMPORTED_MODULE_3__.WebSocket(uri)\\n : new _websocket_constructor_js__WEBPACK_IMPORTED_MODULE_3__.WebSocket(uri, protocols, opts);\\n }\\n catch (err) {\\n return this.emitReserved(\\\"error\\\", err);\\n }\\n this.ws.binaryType = this.socket.binaryType || _websocket_constructor_js__WEBPACK_IMPORTED_MODULE_3__.defaultBinaryType;\\n this.addEventListeners();\\n }\\n /**\\n * Adds event listeners to the socket\\n *\\n * @private\\n */\\n addEventListeners() {\\n this.ws.onopen = () => {\\n if (this.opts.autoUnref) {\\n this.ws._socket.unref();\\n }\\n this.onOpen();\\n };\\n this.ws.onclose = (closeEvent) => this.onClose({\\n description: \\\"websocket connection closed\\\",\\n context: closeEvent,\\n });\\n this.ws.onmessage = (ev) => this.onData(ev.data);\\n this.ws.onerror = (e) => this.onError(\\\"websocket error\\\", e);\\n }\\n write(packets) {\\n this.writable = false;\\n // encodePacket efficient as it uses WS framing\\n // no need for encodePayload\\n for (let i = 0; i < packets.length; i++) {\\n const packet = packets[i];\\n const lastPacket = i === packets.length - 1;\\n (0,engine_io_parser__WEBPACK_IMPORTED_MODULE_4__.encodePacket)(packet, this.supportsBinary, (data) => {\\n // always create a new object (GH-437)\\n const opts = {};\\n if (!_websocket_constructor_js__WEBPACK_IMPORTED_MODULE_3__.usingBrowserWebSocket) {\\n if (packet.options) {\\n opts.compress = packet.options.compress;\\n }\\n if (this.opts.perMessageDeflate) {\\n const len = \\n // @ts-ignore\\n \\\"string\\\" === typeof data ? Buffer.byteLength(data) : data.length;\\n if (len < this.opts.perMessageDeflate.threshold) {\\n opts.compress = false;\\n }\\n }\\n }\\n // Sometimes the websocket has already been closed but the browser didn't\\n // have a chance of informing us about it yet, in that case send will\\n // throw an error\\n try {\\n if (_websocket_constructor_js__WEBPACK_IMPORTED_MODULE_3__.usingBrowserWebSocket) {\\n // TypeError is thrown when passing the second argument on Safari\\n this.ws.send(data);\\n }\\n else {\\n this.ws.send(data, opts);\\n }\\n }\\n catch (e) {\\n }\\n if (lastPacket) {\\n // fake drain\\n // defer to next tick to allow Socket to clear writeBuffer\\n (0,_websocket_constructor_js__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\\n this.writable = true;\\n this.emitReserved(\\\"drain\\\");\\n }, this.setTimeoutFn);\\n }\\n });\\n }\\n }\\n doClose() {\\n if (typeof this.ws !== \\\"undefined\\\") {\\n this.ws.close();\\n this.ws = null;\\n }\\n }\\n /**\\n * Generates uri for connection.\\n *\\n * @private\\n */\\n uri() {\\n const schema = this.opts.secure ? \\\"wss\\\" : \\\"ws\\\";\\n const query = this.query || {};\\n // append timestamp to URI\\n if (this.opts.timestampRequests) {\\n query[this.opts.timestampParam] = (0,_contrib_yeast_js__WEBPACK_IMPORTED_MODULE_1__.yeast)();\\n }\\n // communicate binary support capabilities\\n if (!this.supportsBinary) {\\n query.b64 = 1;\\n }\\n return this.createUri(schema, query);\\n }\\n /**\\n * Feature detection for WebSocket.\\n *\\n * @return {Boolean} whether this transport is available.\\n * @private\\n */\\n check() {\\n return !!_websocket_constructor_js__WEBPACK_IMPORTED_MODULE_3__.WebSocket;\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/transports/websocket.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/transports/webtransport.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/transports/webtransport.js ***!\n \\****************************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ WT: () => (/* binding */ WT)\\n/* harmony export */ });\\n/* harmony import */ var _transport_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../transport.js */ \\\"./node_modules/engine.io-client/build/esm/transport.js\\\");\\n/* harmony import */ var _websocket_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./websocket-constructor.js */ \\\"./node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js\\\");\\n/* harmony import */ var engine_io_parser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! engine.io-parser */ \\\"./node_modules/engine.io-parser/build/esm/index.js\\\");\\n\\n\\n\\nfunction shouldIncludeBinaryHeader(packet, encoded) {\\n // 48 === \\\"0\\\".charCodeAt(0) (OPEN packet type)\\n // 54 === \\\"6\\\".charCodeAt(0) (NOOP packet type)\\n return (packet.type === \\\"message\\\" &&\\n typeof packet.data !== \\\"string\\\" &&\\n encoded[0] >= 48 &&\\n encoded[0] <= 54);\\n}\\nclass WT extends _transport_js__WEBPACK_IMPORTED_MODULE_0__.Transport {\\n get name() {\\n return \\\"webtransport\\\";\\n }\\n doOpen() {\\n // @ts-ignore\\n if (typeof WebTransport !== \\\"function\\\") {\\n return;\\n }\\n // @ts-ignore\\n this.transport = new WebTransport(this.createUri(\\\"https\\\"), this.opts.transportOptions[this.name]);\\n this.transport.closed\\n .then(() => {\\n this.onClose();\\n })\\n .catch((err) => {\\n this.onError(\\\"webtransport error\\\", err);\\n });\\n // note: we could have used async/await, but that would require some additional polyfills\\n this.transport.ready.then(() => {\\n this.transport.createBidirectionalStream().then((stream) => {\\n const reader = stream.readable.getReader();\\n this.writer = stream.writable.getWriter();\\n let binaryFlag;\\n const read = () => {\\n reader\\n .read()\\n .then(({ done, value }) => {\\n if (done) {\\n return;\\n }\\n if (!binaryFlag && value.byteLength === 1 && value[0] === 54) {\\n binaryFlag = true;\\n }\\n else {\\n // TODO expose binarytype\\n this.onPacket((0,engine_io_parser__WEBPACK_IMPORTED_MODULE_2__.decodePacketFromBinary)(value, binaryFlag, \\\"arraybuffer\\\"));\\n binaryFlag = false;\\n }\\n read();\\n })\\n .catch((err) => {\\n });\\n };\\n read();\\n const handshake = this.query.sid ? `0{\\\"sid\\\":\\\"${this.query.sid}\\\"}` : \\\"0\\\";\\n this.writer\\n .write(new TextEncoder().encode(handshake))\\n .then(() => this.onOpen());\\n });\\n });\\n }\\n write(packets) {\\n this.writable = false;\\n for (let i = 0; i < packets.length; i++) {\\n const packet = packets[i];\\n const lastPacket = i === packets.length - 1;\\n (0,engine_io_parser__WEBPACK_IMPORTED_MODULE_2__.encodePacketToBinary)(packet, (data) => {\\n if (shouldIncludeBinaryHeader(packet, data)) {\\n this.writer.write(Uint8Array.of(54));\\n }\\n this.writer.write(data).then(() => {\\n if (lastPacket) {\\n (0,_websocket_constructor_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {\\n this.writable = true;\\n this.emitReserved(\\\"drain\\\");\\n }, this.setTimeoutFn);\\n }\\n });\\n });\\n }\\n }\\n doClose() {\\n var _a;\\n (_a = this.transport) === null || _a === void 0 ? void 0 : _a.close();\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/transports/webtransport.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js\":\n/*!**************************************************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js ***!\n \\**************************************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ XHR: () => (/* binding */ XHR),\\n/* harmony export */ createCookieJar: () => (/* binding */ createCookieJar)\\n/* harmony export */ });\\n/* harmony import */ var _contrib_has_cors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../contrib/has-cors.js */ \\\"./node_modules/engine.io-client/build/esm/contrib/has-cors.js\\\");\\n/* harmony import */ var _globalThis_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../globalThis.js */ \\\"./node_modules/engine.io-client/build/esm/globalThis.browser.js\\\");\\n// browser shim for xmlhttprequest module\\n\\n\\nfunction XHR(opts) {\\n const xdomain = opts.xdomain;\\n // XMLHttpRequest can be disabled on IE\\n try {\\n if (\\\"undefined\\\" !== typeof XMLHttpRequest && (!xdomain || _contrib_has_cors_js__WEBPACK_IMPORTED_MODULE_0__.hasCORS)) {\\n return new XMLHttpRequest();\\n }\\n }\\n catch (e) { }\\n if (!xdomain) {\\n try {\\n return new _globalThis_js__WEBPACK_IMPORTED_MODULE_1__.globalThisShim[[\\\"Active\\\"].concat(\\\"Object\\\").join(\\\"X\\\")](\\\"Microsoft.XMLHTTP\\\");\\n }\\n catch (e) { }\\n }\\n}\\nfunction createCookieJar() { }\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-client/build/esm/util.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/engine.io-client/build/esm/util.js ***!\n \\*********************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ byteLength: () => (/* binding */ byteLength),\\n/* harmony export */ installTimerFunctions: () => (/* binding */ installTimerFunctions),\\n/* harmony export */ pick: () => (/* binding */ pick)\\n/* harmony export */ });\\n/* harmony import */ var _globalThis_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./globalThis.js */ \\\"./node_modules/engine.io-client/build/esm/globalThis.browser.js\\\");\\n\\nfunction pick(obj, ...attr) {\\n return attr.reduce((acc, k) => {\\n if (obj.hasOwnProperty(k)) {\\n acc[k] = obj[k];\\n }\\n return acc;\\n }, {});\\n}\\n// Keep a reference to the real timeout functions so they can be used when overridden\\nconst NATIVE_SET_TIMEOUT = _globalThis_js__WEBPACK_IMPORTED_MODULE_0__.globalThisShim.setTimeout;\\nconst NATIVE_CLEAR_TIMEOUT = _globalThis_js__WEBPACK_IMPORTED_MODULE_0__.globalThisShim.clearTimeout;\\nfunction installTimerFunctions(obj, opts) {\\n if (opts.useNativeTimers) {\\n obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(_globalThis_js__WEBPACK_IMPORTED_MODULE_0__.globalThisShim);\\n obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(_globalThis_js__WEBPACK_IMPORTED_MODULE_0__.globalThisShim);\\n }\\n else {\\n obj.setTimeoutFn = _globalThis_js__WEBPACK_IMPORTED_MODULE_0__.globalThisShim.setTimeout.bind(_globalThis_js__WEBPACK_IMPORTED_MODULE_0__.globalThisShim);\\n obj.clearTimeoutFn = _globalThis_js__WEBPACK_IMPORTED_MODULE_0__.globalThisShim.clearTimeout.bind(_globalThis_js__WEBPACK_IMPORTED_MODULE_0__.globalThisShim);\\n }\\n}\\n// base64 encoded buffers are about 33% bigger (https://en.wikipedia.org/wiki/Base64)\\nconst BASE64_OVERHEAD = 1.33;\\n// we could also have used `new Blob([obj]).size`, but it isn't supported in IE9\\nfunction byteLength(obj) {\\n if (typeof obj === \\\"string\\\") {\\n return utf8Length(obj);\\n }\\n // arraybuffer or blob\\n return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);\\n}\\nfunction utf8Length(str) {\\n let c = 0, length = 0;\\n for (let i = 0, l = str.length; i < l; i++) {\\n c = str.charCodeAt(i);\\n if (c < 0x80) {\\n length += 1;\\n }\\n else if (c < 0x800) {\\n length += 2;\\n }\\n else if (c < 0xd800 || c >= 0xe000) {\\n length += 3;\\n }\\n else {\\n i++;\\n length += 4;\\n }\\n }\\n return length;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-client/build/esm/util.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-parser/build/esm/commons.js\":\n/*!************************************************************!*\\\n !*** ./node_modules/engine.io-parser/build/esm/commons.js ***!\n \\************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ ERROR_PACKET: () => (/* binding */ ERROR_PACKET),\\n/* harmony export */ PACKET_TYPES: () => (/* binding */ PACKET_TYPES),\\n/* harmony export */ PACKET_TYPES_REVERSE: () => (/* binding */ PACKET_TYPES_REVERSE)\\n/* harmony export */ });\\nconst PACKET_TYPES = Object.create(null); // no Map = no polyfill\\nPACKET_TYPES[\\\"open\\\"] = \\\"0\\\";\\nPACKET_TYPES[\\\"close\\\"] = \\\"1\\\";\\nPACKET_TYPES[\\\"ping\\\"] = \\\"2\\\";\\nPACKET_TYPES[\\\"pong\\\"] = \\\"3\\\";\\nPACKET_TYPES[\\\"message\\\"] = \\\"4\\\";\\nPACKET_TYPES[\\\"upgrade\\\"] = \\\"5\\\";\\nPACKET_TYPES[\\\"noop\\\"] = \\\"6\\\";\\nconst PACKET_TYPES_REVERSE = Object.create(null);\\nObject.keys(PACKET_TYPES).forEach(key => {\\n PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key;\\n});\\nconst ERROR_PACKET = { type: \\\"error\\\", data: \\\"parser error\\\" };\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-parser/build/esm/commons.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js ***!\n \\*******************************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ decode: () => (/* binding */ decode),\\n/* harmony export */ encode: () => (/* binding */ encode)\\n/* harmony export */ });\\n// imported from https://github.com/socketio/base64-arraybuffer\\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\\n// Use a lookup table to find the index.\\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\\nfor (let i = 0; i < chars.length; i++) {\\n lookup[chars.charCodeAt(i)] = i;\\n}\\nconst encode = (arraybuffer) => {\\n let bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\\n for (i = 0; i < len; i += 3) {\\n base64 += chars[bytes[i] >> 2];\\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\\n base64 += chars[bytes[i + 2] & 63];\\n }\\n if (len % 3 === 2) {\\n base64 = base64.substring(0, base64.length - 1) + '=';\\n }\\n else if (len % 3 === 1) {\\n base64 = base64.substring(0, base64.length - 2) + '==';\\n }\\n return base64;\\n};\\nconst decode = (base64) => {\\n let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\\n if (base64[base64.length - 1] === '=') {\\n bufferLength--;\\n if (base64[base64.length - 2] === '=') {\\n bufferLength--;\\n }\\n }\\n const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\\n for (i = 0; i < len; i += 4) {\\n encoded1 = lookup[base64.charCodeAt(i)];\\n encoded2 = lookup[base64.charCodeAt(i + 1)];\\n encoded3 = lookup[base64.charCodeAt(i + 2)];\\n encoded4 = lookup[base64.charCodeAt(i + 3)];\\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\\n }\\n return arraybuffer;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-parser/build/esm/decodePacket.browser.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/engine.io-parser/build/esm/decodePacket.browser.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ decodePacket: () => (/* binding */ decodePacket)\\n/* harmony export */ });\\n/* harmony import */ var _commons_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./commons.js */ \\\"./node_modules/engine.io-parser/build/esm/commons.js\\\");\\n/* harmony import */ var _contrib_base64_arraybuffer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./contrib/base64-arraybuffer.js */ \\\"./node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js\\\");\\n\\n\\nconst withNativeArrayBuffer = typeof ArrayBuffer === \\\"function\\\";\\nconst decodePacket = (encodedPacket, binaryType) => {\\n if (typeof encodedPacket !== \\\"string\\\") {\\n return {\\n type: \\\"message\\\",\\n data: mapBinary(encodedPacket, binaryType)\\n };\\n }\\n const type = encodedPacket.charAt(0);\\n if (type === \\\"b\\\") {\\n return {\\n type: \\\"message\\\",\\n data: decodeBase64Packet(encodedPacket.substring(1), binaryType)\\n };\\n }\\n const packetType = _commons_js__WEBPACK_IMPORTED_MODULE_0__.PACKET_TYPES_REVERSE[type];\\n if (!packetType) {\\n return _commons_js__WEBPACK_IMPORTED_MODULE_0__.ERROR_PACKET;\\n }\\n return encodedPacket.length > 1\\n ? {\\n type: _commons_js__WEBPACK_IMPORTED_MODULE_0__.PACKET_TYPES_REVERSE[type],\\n data: encodedPacket.substring(1)\\n }\\n : {\\n type: _commons_js__WEBPACK_IMPORTED_MODULE_0__.PACKET_TYPES_REVERSE[type]\\n };\\n};\\nconst decodeBase64Packet = (data, binaryType) => {\\n if (withNativeArrayBuffer) {\\n const decoded = (0,_contrib_base64_arraybuffer_js__WEBPACK_IMPORTED_MODULE_1__.decode)(data);\\n return mapBinary(decoded, binaryType);\\n }\\n else {\\n return { base64: true, data }; // fallback for old browsers\\n }\\n};\\nconst mapBinary = (data, binaryType) => {\\n switch (binaryType) {\\n case \\\"blob\\\":\\n if (data instanceof Blob) {\\n // from WebSocket + binaryType \\\"blob\\\"\\n return data;\\n }\\n else {\\n // from HTTP long-polling or WebTransport\\n return new Blob([data]);\\n }\\n case \\\"arraybuffer\\\":\\n default:\\n if (data instanceof ArrayBuffer) {\\n // from HTTP long-polling (base64) or WebSocket + binaryType \\\"arraybuffer\\\"\\n return data;\\n }\\n else {\\n // from WebTransport (Uint8Array)\\n return data.buffer;\\n }\\n }\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-parser/build/esm/decodePacket.browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-parser/build/esm/encodePacket.browser.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/engine.io-parser/build/esm/encodePacket.browser.js ***!\n \\*************************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ encodePacket: () => (/* binding */ encodePacket),\\n/* harmony export */ encodePacketToBinary: () => (/* binding */ encodePacketToBinary)\\n/* harmony export */ });\\n/* harmony import */ var _commons_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./commons.js */ \\\"./node_modules/engine.io-parser/build/esm/commons.js\\\");\\n\\nconst withNativeBlob = typeof Blob === \\\"function\\\" ||\\n (typeof Blob !== \\\"undefined\\\" &&\\n Object.prototype.toString.call(Blob) === \\\"[object BlobConstructor]\\\");\\nconst withNativeArrayBuffer = typeof ArrayBuffer === \\\"function\\\";\\n// ArrayBuffer.isView method is not defined in IE10\\nconst isView = obj => {\\n return typeof ArrayBuffer.isView === \\\"function\\\"\\n ? ArrayBuffer.isView(obj)\\n : obj && obj.buffer instanceof ArrayBuffer;\\n};\\nconst encodePacket = ({ type, data }, supportsBinary, callback) => {\\n if (withNativeBlob && data instanceof Blob) {\\n if (supportsBinary) {\\n return callback(data);\\n }\\n else {\\n return encodeBlobAsBase64(data, callback);\\n }\\n }\\n else if (withNativeArrayBuffer &&\\n (data instanceof ArrayBuffer || isView(data))) {\\n if (supportsBinary) {\\n return callback(data);\\n }\\n else {\\n return encodeBlobAsBase64(new Blob([data]), callback);\\n }\\n }\\n // plain string\\n return callback(_commons_js__WEBPACK_IMPORTED_MODULE_0__.PACKET_TYPES[type] + (data || \\\"\\\"));\\n};\\nconst encodeBlobAsBase64 = (data, callback) => {\\n const fileReader = new FileReader();\\n fileReader.onload = function () {\\n const content = fileReader.result.split(\\\",\\\")[1];\\n callback(\\\"b\\\" + (content || \\\"\\\"));\\n };\\n return fileReader.readAsDataURL(data);\\n};\\nfunction toArray(data) {\\n if (data instanceof Uint8Array) {\\n return data;\\n }\\n else if (data instanceof ArrayBuffer) {\\n return new Uint8Array(data);\\n }\\n else {\\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\\n }\\n}\\nlet TEXT_ENCODER;\\nfunction encodePacketToBinary(packet, callback) {\\n if (withNativeBlob && packet.data instanceof Blob) {\\n return packet.data\\n .arrayBuffer()\\n .then(toArray)\\n .then(callback);\\n }\\n else if (withNativeArrayBuffer &&\\n (packet.data instanceof ArrayBuffer || isView(packet.data))) {\\n return callback(toArray(packet.data));\\n }\\n encodePacket(packet, false, encoded => {\\n if (!TEXT_ENCODER) {\\n TEXT_ENCODER = new TextEncoder();\\n }\\n callback(TEXT_ENCODER.encode(encoded));\\n });\\n}\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-parser/build/esm/encodePacket.browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/engine.io-parser/build/esm/index.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/engine.io-parser/build/esm/index.js ***!\n \\**********************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ decodePacket: () => (/* reexport safe */ _decodePacket_js__WEBPACK_IMPORTED_MODULE_1__.decodePacket),\\n/* harmony export */ decodePacketFromBinary: () => (/* binding */ decodePacketFromBinary),\\n/* harmony export */ decodePayload: () => (/* binding */ decodePayload),\\n/* harmony export */ encodePacket: () => (/* reexport safe */ _encodePacket_js__WEBPACK_IMPORTED_MODULE_0__.encodePacket),\\n/* harmony export */ encodePacketToBinary: () => (/* reexport safe */ _encodePacket_js__WEBPACK_IMPORTED_MODULE_0__.encodePacketToBinary),\\n/* harmony export */ encodePayload: () => (/* binding */ encodePayload),\\n/* harmony export */ protocol: () => (/* binding */ protocol)\\n/* harmony export */ });\\n/* harmony import */ var _encodePacket_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./encodePacket.js */ \\\"./node_modules/engine.io-parser/build/esm/encodePacket.browser.js\\\");\\n/* harmony import */ var _decodePacket_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./decodePacket.js */ \\\"./node_modules/engine.io-parser/build/esm/decodePacket.browser.js\\\");\\n\\n\\nconst SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text\\nconst encodePayload = (packets, callback) => {\\n // some packets may be added to the array while encoding, so the initial length must be saved\\n const length = packets.length;\\n const encodedPackets = new Array(length);\\n let count = 0;\\n packets.forEach((packet, i) => {\\n // force base64 encoding for binary packets\\n (0,_encodePacket_js__WEBPACK_IMPORTED_MODULE_0__.encodePacket)(packet, false, encodedPacket => {\\n encodedPackets[i] = encodedPacket;\\n if (++count === length) {\\n callback(encodedPackets.join(SEPARATOR));\\n }\\n });\\n });\\n};\\nconst decodePayload = (encodedPayload, binaryType) => {\\n const encodedPackets = encodedPayload.split(SEPARATOR);\\n const packets = [];\\n for (let i = 0; i < encodedPackets.length; i++) {\\n const decodedPacket = (0,_decodePacket_js__WEBPACK_IMPORTED_MODULE_1__.decodePacket)(encodedPackets[i], binaryType);\\n packets.push(decodedPacket);\\n if (decodedPacket.type === \\\"error\\\") {\\n break;\\n }\\n }\\n return packets;\\n};\\nlet TEXT_DECODER;\\nfunction decodePacketFromBinary(data, isBinary, binaryType) {\\n if (!TEXT_DECODER) {\\n // lazily created for compatibility with old browser platforms\\n TEXT_DECODER = new TextDecoder();\\n }\\n // 48 === \\\"0\\\".charCodeAt(0) (OPEN packet type)\\n // 54 === \\\"6\\\".charCodeAt(0) (NOOP packet type)\\n const isPlainBinary = isBinary || data[0] < 48 || data[0] > 54;\\n return (0,_decodePacket_js__WEBPACK_IMPORTED_MODULE_1__.decodePacket)(isPlainBinary ? data : TEXT_DECODER.decode(data), binaryType);\\n}\\nconst protocol = 4;\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/engine.io-parser/build/esm/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/socket.io-client/build/esm/contrib/backo2.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/socket.io-client/build/esm/contrib/backo2.js ***!\n \\*******************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Backoff: () => (/* binding */ Backoff)\\n/* harmony export */ });\\n/**\\n * Initialize backoff timer with `opts`.\\n *\\n * - `min` initial timeout in milliseconds [100]\\n * - `max` max timeout [10000]\\n * - `jitter` [0]\\n * - `factor` [2]\\n *\\n * @param {Object} opts\\n * @api public\\n */\\nfunction Backoff(opts) {\\n opts = opts || {};\\n this.ms = opts.min || 100;\\n this.max = opts.max || 10000;\\n this.factor = opts.factor || 2;\\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\\n this.attempts = 0;\\n}\\n/**\\n * Return the backoff duration.\\n *\\n * @return {Number}\\n * @api public\\n */\\nBackoff.prototype.duration = function () {\\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\\n if (this.jitter) {\\n var rand = Math.random();\\n var deviation = Math.floor(rand * this.jitter * ms);\\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\\n }\\n return Math.min(ms, this.max) | 0;\\n};\\n/**\\n * Reset the number of attempts.\\n *\\n * @api public\\n */\\nBackoff.prototype.reset = function () {\\n this.attempts = 0;\\n};\\n/**\\n * Set the minimum duration\\n *\\n * @api public\\n */\\nBackoff.prototype.setMin = function (min) {\\n this.ms = min;\\n};\\n/**\\n * Set the maximum duration\\n *\\n * @api public\\n */\\nBackoff.prototype.setMax = function (max) {\\n this.max = max;\\n};\\n/**\\n * Set the jitter\\n *\\n * @api public\\n */\\nBackoff.prototype.setJitter = function (jitter) {\\n this.jitter = jitter;\\n};\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/socket.io-client/build/esm/contrib/backo2.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/socket.io-client/build/esm/index.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/socket.io-client/build/esm/index.js ***!\n \\**********************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Manager: () => (/* reexport safe */ _manager_js__WEBPACK_IMPORTED_MODULE_1__.Manager),\\n/* harmony export */ Socket: () => (/* reexport safe */ _socket_js__WEBPACK_IMPORTED_MODULE_2__.Socket),\\n/* harmony export */ connect: () => (/* binding */ lookup),\\n/* harmony export */ \\\"default\\\": () => (/* binding */ lookup),\\n/* harmony export */ io: () => (/* binding */ lookup),\\n/* harmony export */ protocol: () => (/* reexport safe */ socket_io_parser__WEBPACK_IMPORTED_MODULE_3__.protocol)\\n/* harmony export */ });\\n/* harmony import */ var _url_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./url.js */ \\\"./node_modules/socket.io-client/build/esm/url.js\\\");\\n/* harmony import */ var _manager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./manager.js */ \\\"./node_modules/socket.io-client/build/esm/manager.js\\\");\\n/* harmony import */ var _socket_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./socket.js */ \\\"./node_modules/socket.io-client/build/esm/socket.js\\\");\\n/* harmony import */ var socket_io_parser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! socket.io-parser */ \\\"./node_modules/socket.io-parser/build/esm/index.js\\\");\\n\\n\\n\\n/**\\n * Managers cache.\\n */\\nconst cache = {};\\nfunction lookup(uri, opts) {\\n if (typeof uri === \\\"object\\\") {\\n opts = uri;\\n uri = undefined;\\n }\\n opts = opts || {};\\n const parsed = (0,_url_js__WEBPACK_IMPORTED_MODULE_0__.url)(uri, opts.path || \\\"/socket.io\\\");\\n const source = parsed.source;\\n const id = parsed.id;\\n const path = parsed.path;\\n const sameNamespace = cache[id] && path in cache[id][\\\"nsps\\\"];\\n const newConnection = opts.forceNew ||\\n opts[\\\"force new connection\\\"] ||\\n false === opts.multiplex ||\\n sameNamespace;\\n let io;\\n if (newConnection) {\\n io = new _manager_js__WEBPACK_IMPORTED_MODULE_1__.Manager(source, opts);\\n }\\n else {\\n if (!cache[id]) {\\n cache[id] = new _manager_js__WEBPACK_IMPORTED_MODULE_1__.Manager(source, opts);\\n }\\n io = cache[id];\\n }\\n if (parsed.query && !opts.query) {\\n opts.query = parsed.queryKey;\\n }\\n return io.socket(parsed.path, opts);\\n}\\n// so that \\\"lookup\\\" can be used both as a function (e.g. `io(...)`) and as a\\n// namespace (e.g. `io.connect(...)`), for backward compatibility\\nObject.assign(lookup, {\\n Manager: _manager_js__WEBPACK_IMPORTED_MODULE_1__.Manager,\\n Socket: _socket_js__WEBPACK_IMPORTED_MODULE_2__.Socket,\\n io: lookup,\\n connect: lookup,\\n});\\n/**\\n * Protocol version.\\n *\\n * @public\\n */\\n\\n/**\\n * Expose constructors for standalone build.\\n *\\n * @public\\n */\\n\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/socket.io-client/build/esm/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/socket.io-client/build/esm/manager.js\":\n/*!************************************************************!*\\\n !*** ./node_modules/socket.io-client/build/esm/manager.js ***!\n \\************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Manager: () => (/* binding */ Manager)\\n/* harmony export */ });\\n/* harmony import */ var engine_io_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! engine.io-client */ \\\"./node_modules/engine.io-client/build/esm/index.js\\\");\\n/* harmony import */ var _socket_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./socket.js */ \\\"./node_modules/socket.io-client/build/esm/socket.js\\\");\\n/* harmony import */ var socket_io_parser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! socket.io-parser */ \\\"./node_modules/socket.io-parser/build/esm/index.js\\\");\\n/* harmony import */ var _on_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./on.js */ \\\"./node_modules/socket.io-client/build/esm/on.js\\\");\\n/* harmony import */ var _contrib_backo2_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./contrib/backo2.js */ \\\"./node_modules/socket.io-client/build/esm/contrib/backo2.js\\\");\\n/* harmony import */ var _socket_io_component_emitter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @socket.io/component-emitter */ \\\"./node_modules/@socket.io/component-emitter/index.mjs\\\");\\n\\n\\n\\n\\n\\n\\nclass Manager extends _socket_io_component_emitter__WEBPACK_IMPORTED_MODULE_5__.Emitter {\\n constructor(uri, opts) {\\n var _a;\\n super();\\n this.nsps = {};\\n this.subs = [];\\n if (uri && \\\"object\\\" === typeof uri) {\\n opts = uri;\\n uri = undefined;\\n }\\n opts = opts || {};\\n opts.path = opts.path || \\\"/socket.io\\\";\\n this.opts = opts;\\n (0,engine_io_client__WEBPACK_IMPORTED_MODULE_0__.installTimerFunctions)(this, opts);\\n this.reconnection(opts.reconnection !== false);\\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\\n this.backoff = new _contrib_backo2_js__WEBPACK_IMPORTED_MODULE_4__.Backoff({\\n min: this.reconnectionDelay(),\\n max: this.reconnectionDelayMax(),\\n jitter: this.randomizationFactor(),\\n });\\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\\n this._readyState = \\\"closed\\\";\\n this.uri = uri;\\n const _parser = opts.parser || socket_io_parser__WEBPACK_IMPORTED_MODULE_2__;\\n this.encoder = new _parser.Encoder();\\n this.decoder = new _parser.Decoder();\\n this._autoConnect = opts.autoConnect !== false;\\n if (this._autoConnect)\\n this.open();\\n }\\n reconnection(v) {\\n if (!arguments.length)\\n return this._reconnection;\\n this._reconnection = !!v;\\n return this;\\n }\\n reconnectionAttempts(v) {\\n if (v === undefined)\\n return this._reconnectionAttempts;\\n this._reconnectionAttempts = v;\\n return this;\\n }\\n reconnectionDelay(v) {\\n var _a;\\n if (v === undefined)\\n return this._reconnectionDelay;\\n this._reconnectionDelay = v;\\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\\n return this;\\n }\\n randomizationFactor(v) {\\n var _a;\\n if (v === undefined)\\n return this._randomizationFactor;\\n this._randomizationFactor = v;\\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\\n return this;\\n }\\n reconnectionDelayMax(v) {\\n var _a;\\n if (v === undefined)\\n return this._reconnectionDelayMax;\\n this._reconnectionDelayMax = v;\\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\\n return this;\\n }\\n timeout(v) {\\n if (!arguments.length)\\n return this._timeout;\\n this._timeout = v;\\n return this;\\n }\\n /**\\n * Starts trying to reconnect if reconnection is enabled and we have not\\n * started reconnecting yet\\n *\\n * @private\\n */\\n maybeReconnectOnOpen() {\\n // Only try to reconnect if it's the first time we're connecting\\n if (!this._reconnecting &&\\n this._reconnection &&\\n this.backoff.attempts === 0) {\\n // keeps reconnection from firing twice for the same reconnection loop\\n this.reconnect();\\n }\\n }\\n /**\\n * Sets the current transport `socket`.\\n *\\n * @param {Function} fn - optional, callback\\n * @return self\\n * @public\\n */\\n open(fn) {\\n if (~this._readyState.indexOf(\\\"open\\\"))\\n return this;\\n this.engine = new engine_io_client__WEBPACK_IMPORTED_MODULE_0__.Socket(this.uri, this.opts);\\n const socket = this.engine;\\n const self = this;\\n this._readyState = \\\"opening\\\";\\n this.skipReconnect = false;\\n // emit `open`\\n const openSubDestroy = (0,_on_js__WEBPACK_IMPORTED_MODULE_3__.on)(socket, \\\"open\\\", function () {\\n self.onopen();\\n fn && fn();\\n });\\n const onError = (err) => {\\n this.cleanup();\\n this._readyState = \\\"closed\\\";\\n this.emitReserved(\\\"error\\\", err);\\n if (fn) {\\n fn(err);\\n }\\n else {\\n // Only do this if there is no fn to handle the error\\n this.maybeReconnectOnOpen();\\n }\\n };\\n // emit `error`\\n const errorSub = (0,_on_js__WEBPACK_IMPORTED_MODULE_3__.on)(socket, \\\"error\\\", onError);\\n if (false !== this._timeout) {\\n const timeout = this._timeout;\\n // set timer\\n const timer = this.setTimeoutFn(() => {\\n openSubDestroy();\\n onError(new Error(\\\"timeout\\\"));\\n socket.close();\\n }, timeout);\\n if (this.opts.autoUnref) {\\n timer.unref();\\n }\\n this.subs.push(() => {\\n this.clearTimeoutFn(timer);\\n });\\n }\\n this.subs.push(openSubDestroy);\\n this.subs.push(errorSub);\\n return this;\\n }\\n /**\\n * Alias for open()\\n *\\n * @return self\\n * @public\\n */\\n connect(fn) {\\n return this.open(fn);\\n }\\n /**\\n * Called upon transport open.\\n *\\n * @private\\n */\\n onopen() {\\n // clear old subs\\n this.cleanup();\\n // mark as open\\n this._readyState = \\\"open\\\";\\n this.emitReserved(\\\"open\\\");\\n // add new subs\\n const socket = this.engine;\\n this.subs.push((0,_on_js__WEBPACK_IMPORTED_MODULE_3__.on)(socket, \\\"ping\\\", this.onping.bind(this)), (0,_on_js__WEBPACK_IMPORTED_MODULE_3__.on)(socket, \\\"data\\\", this.ondata.bind(this)), (0,_on_js__WEBPACK_IMPORTED_MODULE_3__.on)(socket, \\\"error\\\", this.onerror.bind(this)), (0,_on_js__WEBPACK_IMPORTED_MODULE_3__.on)(socket, \\\"close\\\", this.onclose.bind(this)), (0,_on_js__WEBPACK_IMPORTED_MODULE_3__.on)(this.decoder, \\\"decoded\\\", this.ondecoded.bind(this)));\\n }\\n /**\\n * Called upon a ping.\\n *\\n * @private\\n */\\n onping() {\\n this.emitReserved(\\\"ping\\\");\\n }\\n /**\\n * Called with data.\\n *\\n * @private\\n */\\n ondata(data) {\\n try {\\n this.decoder.add(data);\\n }\\n catch (e) {\\n this.onclose(\\\"parse error\\\", e);\\n }\\n }\\n /**\\n * Called when parser fully decodes a packet.\\n *\\n * @private\\n */\\n ondecoded(packet) {\\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \\\"parse error\\\"\\n (0,engine_io_client__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {\\n this.emitReserved(\\\"packet\\\", packet);\\n }, this.setTimeoutFn);\\n }\\n /**\\n * Called upon socket error.\\n *\\n * @private\\n */\\n onerror(err) {\\n this.emitReserved(\\\"error\\\", err);\\n }\\n /**\\n * Creates a new socket for the given `nsp`.\\n *\\n * @return {Socket}\\n * @public\\n */\\n socket(nsp, opts) {\\n let socket = this.nsps[nsp];\\n if (!socket) {\\n socket = new _socket_js__WEBPACK_IMPORTED_MODULE_1__.Socket(this, nsp, opts);\\n this.nsps[nsp] = socket;\\n }\\n else if (this._autoConnect && !socket.active) {\\n socket.connect();\\n }\\n return socket;\\n }\\n /**\\n * Called upon a socket close.\\n *\\n * @param socket\\n * @private\\n */\\n _destroy(socket) {\\n const nsps = Object.keys(this.nsps);\\n for (const nsp of nsps) {\\n const socket = this.nsps[nsp];\\n if (socket.active) {\\n return;\\n }\\n }\\n this._close();\\n }\\n /**\\n * Writes a packet.\\n *\\n * @param packet\\n * @private\\n */\\n _packet(packet) {\\n const encodedPackets = this.encoder.encode(packet);\\n for (let i = 0; i < encodedPackets.length; i++) {\\n this.engine.write(encodedPackets[i], packet.options);\\n }\\n }\\n /**\\n * Clean up transport subscriptions and packet buffer.\\n *\\n * @private\\n */\\n cleanup() {\\n this.subs.forEach((subDestroy) => subDestroy());\\n this.subs.length = 0;\\n this.decoder.destroy();\\n }\\n /**\\n * Close the current socket.\\n *\\n * @private\\n */\\n _close() {\\n this.skipReconnect = true;\\n this._reconnecting = false;\\n this.onclose(\\\"forced close\\\");\\n if (this.engine)\\n this.engine.close();\\n }\\n /**\\n * Alias for close()\\n *\\n * @private\\n */\\n disconnect() {\\n return this._close();\\n }\\n /**\\n * Called upon engine close.\\n *\\n * @private\\n */\\n onclose(reason, description) {\\n this.cleanup();\\n this.backoff.reset();\\n this._readyState = \\\"closed\\\";\\n this.emitReserved(\\\"close\\\", reason, description);\\n if (this._reconnection && !this.skipReconnect) {\\n this.reconnect();\\n }\\n }\\n /**\\n * Attempt a reconnection.\\n *\\n * @private\\n */\\n reconnect() {\\n if (this._reconnecting || this.skipReconnect)\\n return this;\\n const self = this;\\n if (this.backoff.attempts >= this._reconnectionAttempts) {\\n this.backoff.reset();\\n this.emitReserved(\\\"reconnect_failed\\\");\\n this._reconnecting = false;\\n }\\n else {\\n const delay = this.backoff.duration();\\n this._reconnecting = true;\\n const timer = this.setTimeoutFn(() => {\\n if (self.skipReconnect)\\n return;\\n this.emitReserved(\\\"reconnect_attempt\\\", self.backoff.attempts);\\n // check again for the case socket closed in above events\\n if (self.skipReconnect)\\n return;\\n self.open((err) => {\\n if (err) {\\n self._reconnecting = false;\\n self.reconnect();\\n this.emitReserved(\\\"reconnect_error\\\", err);\\n }\\n else {\\n self.onreconnect();\\n }\\n });\\n }, delay);\\n if (this.opts.autoUnref) {\\n timer.unref();\\n }\\n this.subs.push(() => {\\n this.clearTimeoutFn(timer);\\n });\\n }\\n }\\n /**\\n * Called upon successful reconnect.\\n *\\n * @private\\n */\\n onreconnect() {\\n const attempt = this.backoff.attempts;\\n this._reconnecting = false;\\n this.backoff.reset();\\n this.emitReserved(\\\"reconnect\\\", attempt);\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/socket.io-client/build/esm/manager.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/socket.io-client/build/esm/on.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/socket.io-client/build/esm/on.js ***!\n \\*******************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ on: () => (/* binding */ on)\\n/* harmony export */ });\\nfunction on(obj, ev, fn) {\\n obj.on(ev, fn);\\n return function subDestroy() {\\n obj.off(ev, fn);\\n };\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/socket.io-client/build/esm/on.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/socket.io-client/build/esm/socket.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/socket.io-client/build/esm/socket.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Socket: () => (/* binding */ Socket)\\n/* harmony export */ });\\n/* harmony import */ var socket_io_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! socket.io-parser */ \\\"./node_modules/socket.io-parser/build/esm/index.js\\\");\\n/* harmony import */ var _on_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./on.js */ \\\"./node_modules/socket.io-client/build/esm/on.js\\\");\\n/* harmony import */ var _socket_io_component_emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @socket.io/component-emitter */ \\\"./node_modules/@socket.io/component-emitter/index.mjs\\\");\\n\\n\\n\\n/**\\n * Internal events.\\n * These events can't be emitted by the user.\\n */\\nconst RESERVED_EVENTS = Object.freeze({\\n connect: 1,\\n connect_error: 1,\\n disconnect: 1,\\n disconnecting: 1,\\n // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\\n newListener: 1,\\n removeListener: 1,\\n});\\n/**\\n * A Socket is the fundamental class for interacting with the server.\\n *\\n * A Socket belongs to a certain Namespace (by default /) and uses an underlying {@link Manager} to communicate.\\n *\\n * @example\\n * const socket = io();\\n *\\n * socket.on(\\\"connect\\\", () => {\\n * console.log(\\\"connected\\\");\\n * });\\n *\\n * // send an event to the server\\n * socket.emit(\\\"foo\\\", \\\"bar\\\");\\n *\\n * socket.on(\\\"foobar\\\", () => {\\n * // an event was received from the server\\n * });\\n *\\n * // upon disconnection\\n * socket.on(\\\"disconnect\\\", (reason) => {\\n * console.log(`disconnected due to ${reason}`);\\n * });\\n */\\nclass Socket extends _socket_io_component_emitter__WEBPACK_IMPORTED_MODULE_2__.Emitter {\\n /**\\n * `Socket` constructor.\\n */\\n constructor(io, nsp, opts) {\\n super();\\n /**\\n * Whether the socket is currently connected to the server.\\n *\\n * @example\\n * const socket = io();\\n *\\n * socket.on(\\\"connect\\\", () => {\\n * console.log(socket.connected); // true\\n * });\\n *\\n * socket.on(\\\"disconnect\\\", () => {\\n * console.log(socket.connected); // false\\n * });\\n */\\n this.connected = false;\\n /**\\n * Whether the connection state was recovered after a temporary disconnection. In that case, any missed packets will\\n * be transmitted by the server.\\n */\\n this.recovered = false;\\n /**\\n * Buffer for packets received before the CONNECT packet\\n */\\n this.receiveBuffer = [];\\n /**\\n * Buffer for packets that will be sent once the socket is connected\\n */\\n this.sendBuffer = [];\\n /**\\n * The queue of packets to be sent with retry in case of failure.\\n *\\n * Packets are sent one by one, each waiting for the server acknowledgement, in order to guarantee the delivery order.\\n * @private\\n */\\n this._queue = [];\\n /**\\n * A sequence to generate the ID of the {@link QueuedPacket}.\\n * @private\\n */\\n this._queueSeq = 0;\\n this.ids = 0;\\n this.acks = {};\\n this.flags = {};\\n this.io = io;\\n this.nsp = nsp;\\n if (opts && opts.auth) {\\n this.auth = opts.auth;\\n }\\n this._opts = Object.assign({}, opts);\\n if (this.io._autoConnect)\\n this.open();\\n }\\n /**\\n * Whether the socket is currently disconnected\\n *\\n * @example\\n * const socket = io();\\n *\\n * socket.on(\\\"connect\\\", () => {\\n * console.log(socket.disconnected); // false\\n * });\\n *\\n * socket.on(\\\"disconnect\\\", () => {\\n * console.log(socket.disconnected); // true\\n * });\\n */\\n get disconnected() {\\n return !this.connected;\\n }\\n /**\\n * Subscribe to open, close and packet events\\n *\\n * @private\\n */\\n subEvents() {\\n if (this.subs)\\n return;\\n const io = this.io;\\n this.subs = [\\n (0,_on_js__WEBPACK_IMPORTED_MODULE_1__.on)(io, \\\"open\\\", this.onopen.bind(this)),\\n (0,_on_js__WEBPACK_IMPORTED_MODULE_1__.on)(io, \\\"packet\\\", this.onpacket.bind(this)),\\n (0,_on_js__WEBPACK_IMPORTED_MODULE_1__.on)(io, \\\"error\\\", this.onerror.bind(this)),\\n (0,_on_js__WEBPACK_IMPORTED_MODULE_1__.on)(io, \\\"close\\\", this.onclose.bind(this)),\\n ];\\n }\\n /**\\n * Whether the Socket will try to reconnect when its Manager connects or reconnects.\\n *\\n * @example\\n * const socket = io();\\n *\\n * console.log(socket.active); // true\\n *\\n * socket.on(\\\"disconnect\\\", (reason) => {\\n * if (reason === \\\"io server disconnect\\\") {\\n * // the disconnection was initiated by the server, you need to manually reconnect\\n * console.log(socket.active); // false\\n * }\\n * // else the socket will automatically try to reconnect\\n * console.log(socket.active); // true\\n * });\\n */\\n get active() {\\n return !!this.subs;\\n }\\n /**\\n * \\\"Opens\\\" the socket.\\n *\\n * @example\\n * const socket = io({\\n * autoConnect: false\\n * });\\n *\\n * socket.connect();\\n */\\n connect() {\\n if (this.connected)\\n return this;\\n this.subEvents();\\n if (!this.io[\\\"_reconnecting\\\"])\\n this.io.open(); // ensure open\\n if (\\\"open\\\" === this.io._readyState)\\n this.onopen();\\n return this;\\n }\\n /**\\n * Alias for {@link connect()}.\\n */\\n open() {\\n return this.connect();\\n }\\n /**\\n * Sends a `message` event.\\n *\\n * This method mimics the WebSocket.send() method.\\n *\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\\n *\\n * @example\\n * socket.send(\\\"hello\\\");\\n *\\n * // this is equivalent to\\n * socket.emit(\\\"message\\\", \\\"hello\\\");\\n *\\n * @return self\\n */\\n send(...args) {\\n args.unshift(\\\"message\\\");\\n this.emit.apply(this, args);\\n return this;\\n }\\n /**\\n * Override `emit`.\\n * If the event is in `events`, it's emitted normally.\\n *\\n * @example\\n * socket.emit(\\\"hello\\\", \\\"world\\\");\\n *\\n * // all serializable datastructures are supported (no need to call JSON.stringify)\\n * socket.emit(\\\"hello\\\", 1, \\\"2\\\", { 3: [\\\"4\\\"], 5: Uint8Array.from([6]) });\\n *\\n * // with an acknowledgement from the server\\n * socket.emit(\\\"hello\\\", \\\"world\\\", (val) => {\\n * // ...\\n * });\\n *\\n * @return self\\n */\\n emit(ev, ...args) {\\n if (RESERVED_EVENTS.hasOwnProperty(ev)) {\\n throw new Error('\\\"' + ev.toString() + '\\\" is a reserved event name');\\n }\\n args.unshift(ev);\\n if (this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) {\\n this._addToQueue(args);\\n return this;\\n }\\n const packet = {\\n type: socket_io_parser__WEBPACK_IMPORTED_MODULE_0__.PacketType.EVENT,\\n data: args,\\n };\\n packet.options = {};\\n packet.options.compress = this.flags.compress !== false;\\n // event ack callback\\n if (\\\"function\\\" === typeof args[args.length - 1]) {\\n const id = this.ids++;\\n const ack = args.pop();\\n this._registerAckCallback(id, ack);\\n packet.id = id;\\n }\\n const isTransportWritable = this.io.engine &&\\n this.io.engine.transport &&\\n this.io.engine.transport.writable;\\n const discardPacket = this.flags.volatile && (!isTransportWritable || !this.connected);\\n if (discardPacket) {\\n }\\n else if (this.connected) {\\n this.notifyOutgoingListeners(packet);\\n this.packet(packet);\\n }\\n else {\\n this.sendBuffer.push(packet);\\n }\\n this.flags = {};\\n return this;\\n }\\n /**\\n * @private\\n */\\n _registerAckCallback(id, ack) {\\n var _a;\\n const timeout = (_a = this.flags.timeout) !== null && _a !== void 0 ? _a : this._opts.ackTimeout;\\n if (timeout === undefined) {\\n this.acks[id] = ack;\\n return;\\n }\\n // @ts-ignore\\n const timer = this.io.setTimeoutFn(() => {\\n delete this.acks[id];\\n for (let i = 0; i < this.sendBuffer.length; i++) {\\n if (this.sendBuffer[i].id === id) {\\n this.sendBuffer.splice(i, 1);\\n }\\n }\\n ack.call(this, new Error(\\\"operation has timed out\\\"));\\n }, timeout);\\n this.acks[id] = (...args) => {\\n // @ts-ignore\\n this.io.clearTimeoutFn(timer);\\n ack.apply(this, [null, ...args]);\\n };\\n }\\n /**\\n * Emits an event and waits for an acknowledgement\\n *\\n * @example\\n * // without timeout\\n * const response = await socket.emitWithAck(\\\"hello\\\", \\\"world\\\");\\n *\\n * // with a specific timeout\\n * try {\\n * const response = await socket.timeout(1000).emitWithAck(\\\"hello\\\", \\\"world\\\");\\n * } catch (err) {\\n * // the server did not acknowledge the event in the given delay\\n * }\\n *\\n * @return a Promise that will be fulfilled when the server acknowledges the event\\n */\\n emitWithAck(ev, ...args) {\\n // the timeout flag is optional\\n const withErr = this.flags.timeout !== undefined || this._opts.ackTimeout !== undefined;\\n return new Promise((resolve, reject) => {\\n args.push((arg1, arg2) => {\\n if (withErr) {\\n return arg1 ? reject(arg1) : resolve(arg2);\\n }\\n else {\\n return resolve(arg1);\\n }\\n });\\n this.emit(ev, ...args);\\n });\\n }\\n /**\\n * Add the packet to the queue.\\n * @param args\\n * @private\\n */\\n _addToQueue(args) {\\n let ack;\\n if (typeof args[args.length - 1] === \\\"function\\\") {\\n ack = args.pop();\\n }\\n const packet = {\\n id: this._queueSeq++,\\n tryCount: 0,\\n pending: false,\\n args,\\n flags: Object.assign({ fromQueue: true }, this.flags),\\n };\\n args.push((err, ...responseArgs) => {\\n if (packet !== this._queue[0]) {\\n // the packet has already been acknowledged\\n return;\\n }\\n const hasError = err !== null;\\n if (hasError) {\\n if (packet.tryCount > this._opts.retries) {\\n this._queue.shift();\\n if (ack) {\\n ack(err);\\n }\\n }\\n }\\n else {\\n this._queue.shift();\\n if (ack) {\\n ack(null, ...responseArgs);\\n }\\n }\\n packet.pending = false;\\n return this._drainQueue();\\n });\\n this._queue.push(packet);\\n this._drainQueue();\\n }\\n /**\\n * Send the first packet of the queue, and wait for an acknowledgement from the server.\\n * @param force - whether to resend a packet that has not been acknowledged yet\\n *\\n * @private\\n */\\n _drainQueue(force = false) {\\n if (!this.connected || this._queue.length === 0) {\\n return;\\n }\\n const packet = this._queue[0];\\n if (packet.pending && !force) {\\n return;\\n }\\n packet.pending = true;\\n packet.tryCount++;\\n this.flags = packet.flags;\\n this.emit.apply(this, packet.args);\\n }\\n /**\\n * Sends a packet.\\n *\\n * @param packet\\n * @private\\n */\\n packet(packet) {\\n packet.nsp = this.nsp;\\n this.io._packet(packet);\\n }\\n /**\\n * Called upon engine `open`.\\n *\\n * @private\\n */\\n onopen() {\\n if (typeof this.auth == \\\"function\\\") {\\n this.auth((data) => {\\n this._sendConnectPacket(data);\\n });\\n }\\n else {\\n this._sendConnectPacket(this.auth);\\n }\\n }\\n /**\\n * Sends a CONNECT packet to initiate the Socket.IO session.\\n *\\n * @param data\\n * @private\\n */\\n _sendConnectPacket(data) {\\n this.packet({\\n type: socket_io_parser__WEBPACK_IMPORTED_MODULE_0__.PacketType.CONNECT,\\n data: this._pid\\n ? Object.assign({ pid: this._pid, offset: this._lastOffset }, data)\\n : data,\\n });\\n }\\n /**\\n * Called upon engine or manager `error`.\\n *\\n * @param err\\n * @private\\n */\\n onerror(err) {\\n if (!this.connected) {\\n this.emitReserved(\\\"connect_error\\\", err);\\n }\\n }\\n /**\\n * Called upon engine `close`.\\n *\\n * @param reason\\n * @param description\\n * @private\\n */\\n onclose(reason, description) {\\n this.connected = false;\\n delete this.id;\\n this.emitReserved(\\\"disconnect\\\", reason, description);\\n }\\n /**\\n * Called with socket packet.\\n *\\n * @param packet\\n * @private\\n */\\n onpacket(packet) {\\n const sameNamespace = packet.nsp === this.nsp;\\n if (!sameNamespace)\\n return;\\n switch (packet.type) {\\n case socket_io_parser__WEBPACK_IMPORTED_MODULE_0__.PacketType.CONNECT:\\n if (packet.data && packet.data.sid) {\\n this.onconnect(packet.data.sid, packet.data.pid);\\n }\\n else {\\n this.emitReserved(\\\"connect_error\\\", new Error(\\\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\\\"));\\n }\\n break;\\n case socket_io_parser__WEBPACK_IMPORTED_MODULE_0__.PacketType.EVENT:\\n case socket_io_parser__WEBPACK_IMPORTED_MODULE_0__.PacketType.BINARY_EVENT:\\n this.onevent(packet);\\n break;\\n case socket_io_parser__WEBPACK_IMPORTED_MODULE_0__.PacketType.ACK:\\n case socket_io_parser__WEBPACK_IMPORTED_MODULE_0__.PacketType.BINARY_ACK:\\n this.onack(packet);\\n break;\\n case socket_io_parser__WEBPACK_IMPORTED_MODULE_0__.PacketType.DISCONNECT:\\n this.ondisconnect();\\n break;\\n case socket_io_parser__WEBPACK_IMPORTED_MODULE_0__.PacketType.CONNECT_ERROR:\\n this.destroy();\\n const err = new Error(packet.data.message);\\n // @ts-ignore\\n err.data = packet.data.data;\\n this.emitReserved(\\\"connect_error\\\", err);\\n break;\\n }\\n }\\n /**\\n * Called upon a server event.\\n *\\n * @param packet\\n * @private\\n */\\n onevent(packet) {\\n const args = packet.data || [];\\n if (null != packet.id) {\\n args.push(this.ack(packet.id));\\n }\\n if (this.connected) {\\n this.emitEvent(args);\\n }\\n else {\\n this.receiveBuffer.push(Object.freeze(args));\\n }\\n }\\n emitEvent(args) {\\n if (this._anyListeners && this._anyListeners.length) {\\n const listeners = this._anyListeners.slice();\\n for (const listener of listeners) {\\n listener.apply(this, args);\\n }\\n }\\n super.emit.apply(this, args);\\n if (this._pid && args.length && typeof args[args.length - 1] === \\\"string\\\") {\\n this._lastOffset = args[args.length - 1];\\n }\\n }\\n /**\\n * Produces an ack callback to emit with an event.\\n *\\n * @private\\n */\\n ack(id) {\\n const self = this;\\n let sent = false;\\n return function (...args) {\\n // prevent double callbacks\\n if (sent)\\n return;\\n sent = true;\\n self.packet({\\n type: socket_io_parser__WEBPACK_IMPORTED_MODULE_0__.PacketType.ACK,\\n id: id,\\n data: args,\\n });\\n };\\n }\\n /**\\n * Called upon a server acknowlegement.\\n *\\n * @param packet\\n * @private\\n */\\n onack(packet) {\\n const ack = this.acks[packet.id];\\n if (\\\"function\\\" === typeof ack) {\\n ack.apply(this, packet.data);\\n delete this.acks[packet.id];\\n }\\n else {\\n }\\n }\\n /**\\n * Called upon server connect.\\n *\\n * @private\\n */\\n onconnect(id, pid) {\\n this.id = id;\\n this.recovered = pid && this._pid === pid;\\n this._pid = pid; // defined only if connection state recovery is enabled\\n this.connected = true;\\n this.emitBuffered();\\n this.emitReserved(\\\"connect\\\");\\n this._drainQueue(true);\\n }\\n /**\\n * Emit buffered events (received and emitted).\\n *\\n * @private\\n */\\n emitBuffered() {\\n this.receiveBuffer.forEach((args) => this.emitEvent(args));\\n this.receiveBuffer = [];\\n this.sendBuffer.forEach((packet) => {\\n this.notifyOutgoingListeners(packet);\\n this.packet(packet);\\n });\\n this.sendBuffer = [];\\n }\\n /**\\n * Called upon server disconnect.\\n *\\n * @private\\n */\\n ondisconnect() {\\n this.destroy();\\n this.onclose(\\\"io server disconnect\\\");\\n }\\n /**\\n * Called upon forced client/server side disconnections,\\n * this method ensures the manager stops tracking us and\\n * that reconnections don't get triggered for this.\\n *\\n * @private\\n */\\n destroy() {\\n if (this.subs) {\\n // clean subscriptions to avoid reconnections\\n this.subs.forEach((subDestroy) => subDestroy());\\n this.subs = undefined;\\n }\\n this.io[\\\"_destroy\\\"](this);\\n }\\n /**\\n * Disconnects the socket manually. In that case, the socket will not try to reconnect.\\n *\\n * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\\n *\\n * @example\\n * const socket = io();\\n *\\n * socket.on(\\\"disconnect\\\", (reason) => {\\n * // console.log(reason); prints \\\"io client disconnect\\\"\\n * });\\n *\\n * socket.disconnect();\\n *\\n * @return self\\n */\\n disconnect() {\\n if (this.connected) {\\n this.packet({ type: socket_io_parser__WEBPACK_IMPORTED_MODULE_0__.PacketType.DISCONNECT });\\n }\\n // remove socket from pool\\n this.destroy();\\n if (this.connected) {\\n // fire events\\n this.onclose(\\\"io client disconnect\\\");\\n }\\n return this;\\n }\\n /**\\n * Alias for {@link disconnect()}.\\n *\\n * @return self\\n */\\n close() {\\n return this.disconnect();\\n }\\n /**\\n * Sets the compress flag.\\n *\\n * @example\\n * socket.compress(false).emit(\\\"hello\\\");\\n *\\n * @param compress - if `true`, compresses the sending data\\n * @return self\\n */\\n compress(compress) {\\n this.flags.compress = compress;\\n return this;\\n }\\n /**\\n * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\\n * ready to send messages.\\n *\\n * @example\\n * socket.volatile.emit(\\\"hello\\\"); // the server may or may not receive it\\n *\\n * @returns self\\n */\\n get volatile() {\\n this.flags.volatile = true;\\n return this;\\n }\\n /**\\n * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\\n * given number of milliseconds have elapsed without an acknowledgement from the server:\\n *\\n * @example\\n * socket.timeout(5000).emit(\\\"my-event\\\", (err) => {\\n * if (err) {\\n * // the server did not acknowledge the event in the given delay\\n * }\\n * });\\n *\\n * @returns self\\n */\\n timeout(timeout) {\\n this.flags.timeout = timeout;\\n return this;\\n }\\n /**\\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\\n * callback.\\n *\\n * @example\\n * socket.onAny((event, ...args) => {\\n * console.log(`got ${event}`);\\n * });\\n *\\n * @param listener\\n */\\n onAny(listener) {\\n this._anyListeners = this._anyListeners || [];\\n this._anyListeners.push(listener);\\n return this;\\n }\\n /**\\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\\n * callback. The listener is added to the beginning of the listeners array.\\n *\\n * @example\\n * socket.prependAny((event, ...args) => {\\n * console.log(`got event ${event}`);\\n * });\\n *\\n * @param listener\\n */\\n prependAny(listener) {\\n this._anyListeners = this._anyListeners || [];\\n this._anyListeners.unshift(listener);\\n return this;\\n }\\n /**\\n * Removes the listener that will be fired when any event is emitted.\\n *\\n * @example\\n * const catchAllListener = (event, ...args) => {\\n * console.log(`got event ${event}`);\\n * }\\n *\\n * socket.onAny(catchAllListener);\\n *\\n * // remove a specific listener\\n * socket.offAny(catchAllListener);\\n *\\n * // or remove all listeners\\n * socket.offAny();\\n *\\n * @param listener\\n */\\n offAny(listener) {\\n if (!this._anyListeners) {\\n return this;\\n }\\n if (listener) {\\n const listeners = this._anyListeners;\\n for (let i = 0; i < listeners.length; i++) {\\n if (listener === listeners[i]) {\\n listeners.splice(i, 1);\\n return this;\\n }\\n }\\n }\\n else {\\n this._anyListeners = [];\\n }\\n return this;\\n }\\n /**\\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\\n * e.g. to remove listeners.\\n */\\n listenersAny() {\\n return this._anyListeners || [];\\n }\\n /**\\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\\n * callback.\\n *\\n * Note: acknowledgements sent to the server are not included.\\n *\\n * @example\\n * socket.onAnyOutgoing((event, ...args) => {\\n * console.log(`sent event ${event}`);\\n * });\\n *\\n * @param listener\\n */\\n onAnyOutgoing(listener) {\\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\\n this._anyOutgoingListeners.push(listener);\\n return this;\\n }\\n /**\\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\\n * callback. The listener is added to the beginning of the listeners array.\\n *\\n * Note: acknowledgements sent to the server are not included.\\n *\\n * @example\\n * socket.prependAnyOutgoing((event, ...args) => {\\n * console.log(`sent event ${event}`);\\n * });\\n *\\n * @param listener\\n */\\n prependAnyOutgoing(listener) {\\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\\n this._anyOutgoingListeners.unshift(listener);\\n return this;\\n }\\n /**\\n * Removes the listener that will be fired when any event is emitted.\\n *\\n * @example\\n * const catchAllListener = (event, ...args) => {\\n * console.log(`sent event ${event}`);\\n * }\\n *\\n * socket.onAnyOutgoing(catchAllListener);\\n *\\n * // remove a specific listener\\n * socket.offAnyOutgoing(catchAllListener);\\n *\\n * // or remove all listeners\\n * socket.offAnyOutgoing();\\n *\\n * @param [listener] - the catch-all listener (optional)\\n */\\n offAnyOutgoing(listener) {\\n if (!this._anyOutgoingListeners) {\\n return this;\\n }\\n if (listener) {\\n const listeners = this._anyOutgoingListeners;\\n for (let i = 0; i < listeners.length; i++) {\\n if (listener === listeners[i]) {\\n listeners.splice(i, 1);\\n return this;\\n }\\n }\\n }\\n else {\\n this._anyOutgoingListeners = [];\\n }\\n return this;\\n }\\n /**\\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\\n * e.g. to remove listeners.\\n */\\n listenersAnyOutgoing() {\\n return this._anyOutgoingListeners || [];\\n }\\n /**\\n * Notify the listeners for each packet sent\\n *\\n * @param packet\\n *\\n * @private\\n */\\n notifyOutgoingListeners(packet) {\\n if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\\n const listeners = this._anyOutgoingListeners.slice();\\n for (const listener of listeners) {\\n listener.apply(this, packet.data);\\n }\\n }\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/socket.io-client/build/esm/socket.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/socket.io-client/build/esm/url.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/socket.io-client/build/esm/url.js ***!\n \\********************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ url: () => (/* binding */ url)\\n/* harmony export */ });\\n/* harmony import */ var engine_io_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! engine.io-client */ \\\"./node_modules/engine.io-client/build/esm/index.js\\\");\\n\\n/**\\n * URL parser.\\n *\\n * @param uri - url\\n * @param path - the request path of the connection\\n * @param loc - An object meant to mimic window.location.\\n * Defaults to window.location.\\n * @public\\n */\\nfunction url(uri, path = \\\"\\\", loc) {\\n let obj = uri;\\n // default to window.location\\n loc = loc || (typeof location !== \\\"undefined\\\" && location);\\n if (null == uri)\\n uri = loc.protocol + \\\"//\\\" + loc.host;\\n // relative path support\\n if (typeof uri === \\\"string\\\") {\\n if (\\\"/\\\" === uri.charAt(0)) {\\n if (\\\"/\\\" === uri.charAt(1)) {\\n uri = loc.protocol + uri;\\n }\\n else {\\n uri = loc.host + uri;\\n }\\n }\\n if (!/^(https?|wss?):\\\\/\\\\//.test(uri)) {\\n if (\\\"undefined\\\" !== typeof loc) {\\n uri = loc.protocol + \\\"//\\\" + uri;\\n }\\n else {\\n uri = \\\"https://\\\" + uri;\\n }\\n }\\n // parse\\n obj = (0,engine_io_client__WEBPACK_IMPORTED_MODULE_0__.parse)(uri);\\n }\\n // make sure we treat `localhost:80` and `localhost` equally\\n if (!obj.port) {\\n if (/^(http|ws)$/.test(obj.protocol)) {\\n obj.port = \\\"80\\\";\\n }\\n else if (/^(http|ws)s$/.test(obj.protocol)) {\\n obj.port = \\\"443\\\";\\n }\\n }\\n obj.path = obj.path || \\\"/\\\";\\n const ipv6 = obj.host.indexOf(\\\":\\\") !== -1;\\n const host = ipv6 ? \\\"[\\\" + obj.host + \\\"]\\\" : obj.host;\\n // define unique id\\n obj.id = obj.protocol + \\\"://\\\" + host + \\\":\\\" + obj.port + path;\\n // define href\\n obj.href =\\n obj.protocol +\\n \\\"://\\\" +\\n host +\\n (loc && loc.port === obj.port ? \\\"\\\" : \\\":\\\" + obj.port);\\n return obj;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/socket.io-client/build/esm/url.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/socket.io-parser/build/esm/binary.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/socket.io-parser/build/esm/binary.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ deconstructPacket: () => (/* binding */ deconstructPacket),\\n/* harmony export */ reconstructPacket: () => (/* binding */ reconstructPacket)\\n/* harmony export */ });\\n/* harmony import */ var _is_binary_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./is-binary.js */ \\\"./node_modules/socket.io-parser/build/esm/is-binary.js\\\");\\n\\n/**\\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\\n *\\n * @param {Object} packet - socket.io event packet\\n * @return {Object} with deconstructed packet and list of buffers\\n * @public\\n */\\nfunction deconstructPacket(packet) {\\n const buffers = [];\\n const packetData = packet.data;\\n const pack = packet;\\n pack.data = _deconstructPacket(packetData, buffers);\\n pack.attachments = buffers.length; // number of binary 'attachments'\\n return { packet: pack, buffers: buffers };\\n}\\nfunction _deconstructPacket(data, buffers) {\\n if (!data)\\n return data;\\n if ((0,_is_binary_js__WEBPACK_IMPORTED_MODULE_0__.isBinary)(data)) {\\n const placeholder = { _placeholder: true, num: buffers.length };\\n buffers.push(data);\\n return placeholder;\\n }\\n else if (Array.isArray(data)) {\\n const newData = new Array(data.length);\\n for (let i = 0; i < data.length; i++) {\\n newData[i] = _deconstructPacket(data[i], buffers);\\n }\\n return newData;\\n }\\n else if (typeof data === \\\"object\\\" && !(data instanceof Date)) {\\n const newData = {};\\n for (const key in data) {\\n if (Object.prototype.hasOwnProperty.call(data, key)) {\\n newData[key] = _deconstructPacket(data[key], buffers);\\n }\\n }\\n return newData;\\n }\\n return data;\\n}\\n/**\\n * Reconstructs a binary packet from its placeholder packet and buffers\\n *\\n * @param {Object} packet - event packet with placeholders\\n * @param {Array} buffers - binary buffers to put in placeholder positions\\n * @return {Object} reconstructed packet\\n * @public\\n */\\nfunction reconstructPacket(packet, buffers) {\\n packet.data = _reconstructPacket(packet.data, buffers);\\n delete packet.attachments; // no longer useful\\n return packet;\\n}\\nfunction _reconstructPacket(data, buffers) {\\n if (!data)\\n return data;\\n if (data && data._placeholder === true) {\\n const isIndexValid = typeof data.num === \\\"number\\\" &&\\n data.num >= 0 &&\\n data.num < buffers.length;\\n if (isIndexValid) {\\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\\n }\\n else {\\n throw new Error(\\\"illegal attachments\\\");\\n }\\n }\\n else if (Array.isArray(data)) {\\n for (let i = 0; i < data.length; i++) {\\n data[i] = _reconstructPacket(data[i], buffers);\\n }\\n }\\n else if (typeof data === \\\"object\\\") {\\n for (const key in data) {\\n if (Object.prototype.hasOwnProperty.call(data, key)) {\\n data[key] = _reconstructPacket(data[key], buffers);\\n }\\n }\\n }\\n return data;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/socket.io-parser/build/esm/binary.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/socket.io-parser/build/esm/index.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/socket.io-parser/build/esm/index.js ***!\n \\**********************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ Decoder: () => (/* binding */ Decoder),\\n/* harmony export */ Encoder: () => (/* binding */ Encoder),\\n/* harmony export */ PacketType: () => (/* binding */ PacketType),\\n/* harmony export */ protocol: () => (/* binding */ protocol)\\n/* harmony export */ });\\n/* harmony import */ var _socket_io_component_emitter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @socket.io/component-emitter */ \\\"./node_modules/@socket.io/component-emitter/index.mjs\\\");\\n/* harmony import */ var _binary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./binary.js */ \\\"./node_modules/socket.io-parser/build/esm/binary.js\\\");\\n/* harmony import */ var _is_binary_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./is-binary.js */ \\\"./node_modules/socket.io-parser/build/esm/is-binary.js\\\");\\n\\n\\n\\n/**\\n * These strings must not be used as event names, as they have a special meaning.\\n */\\nconst RESERVED_EVENTS = [\\n \\\"connect\\\",\\n \\\"connect_error\\\",\\n \\\"disconnect\\\",\\n \\\"disconnecting\\\",\\n \\\"newListener\\\",\\n \\\"removeListener\\\", // used by the Node.js EventEmitter\\n];\\n/**\\n * Protocol version.\\n *\\n * @public\\n */\\nconst protocol = 5;\\nvar PacketType;\\n(function (PacketType) {\\n PacketType[PacketType[\\\"CONNECT\\\"] = 0] = \\\"CONNECT\\\";\\n PacketType[PacketType[\\\"DISCONNECT\\\"] = 1] = \\\"DISCONNECT\\\";\\n PacketType[PacketType[\\\"EVENT\\\"] = 2] = \\\"EVENT\\\";\\n PacketType[PacketType[\\\"ACK\\\"] = 3] = \\\"ACK\\\";\\n PacketType[PacketType[\\\"CONNECT_ERROR\\\"] = 4] = \\\"CONNECT_ERROR\\\";\\n PacketType[PacketType[\\\"BINARY_EVENT\\\"] = 5] = \\\"BINARY_EVENT\\\";\\n PacketType[PacketType[\\\"BINARY_ACK\\\"] = 6] = \\\"BINARY_ACK\\\";\\n})(PacketType || (PacketType = {}));\\n/**\\n * A socket.io Encoder instance\\n */\\nclass Encoder {\\n /**\\n * Encoder constructor\\n *\\n * @param {function} replacer - custom replacer to pass down to JSON.parse\\n */\\n constructor(replacer) {\\n this.replacer = replacer;\\n }\\n /**\\n * Encode a packet as a single string if non-binary, or as a\\n * buffer sequence, depending on packet type.\\n *\\n * @param {Object} obj - packet object\\n */\\n encode(obj) {\\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\\n if ((0,_is_binary_js__WEBPACK_IMPORTED_MODULE_2__.hasBinary)(obj)) {\\n return this.encodeAsBinary({\\n type: obj.type === PacketType.EVENT\\n ? PacketType.BINARY_EVENT\\n : PacketType.BINARY_ACK,\\n nsp: obj.nsp,\\n data: obj.data,\\n id: obj.id,\\n });\\n }\\n }\\n return [this.encodeAsString(obj)];\\n }\\n /**\\n * Encode packet as string.\\n */\\n encodeAsString(obj) {\\n // first is type\\n let str = \\\"\\\" + obj.type;\\n // attachments if we have them\\n if (obj.type === PacketType.BINARY_EVENT ||\\n obj.type === PacketType.BINARY_ACK) {\\n str += obj.attachments + \\\"-\\\";\\n }\\n // if we have a namespace other than `/`\\n // we append it followed by a comma `,`\\n if (obj.nsp && \\\"/\\\" !== obj.nsp) {\\n str += obj.nsp + \\\",\\\";\\n }\\n // immediately followed by the id\\n if (null != obj.id) {\\n str += obj.id;\\n }\\n // json data\\n if (null != obj.data) {\\n str += JSON.stringify(obj.data, this.replacer);\\n }\\n return str;\\n }\\n /**\\n * Encode packet as 'buffer sequence' by removing blobs, and\\n * deconstructing packet into object with placeholders and\\n * a list of buffers.\\n */\\n encodeAsBinary(obj) {\\n const deconstruction = (0,_binary_js__WEBPACK_IMPORTED_MODULE_1__.deconstructPacket)(obj);\\n const pack = this.encodeAsString(deconstruction.packet);\\n const buffers = deconstruction.buffers;\\n buffers.unshift(pack); // add packet info to beginning of data list\\n return buffers; // write all the buffers\\n }\\n}\\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\\nfunction isObject(value) {\\n return Object.prototype.toString.call(value) === \\\"[object Object]\\\";\\n}\\n/**\\n * A socket.io Decoder instance\\n *\\n * @return {Object} decoder\\n */\\nclass Decoder extends _socket_io_component_emitter__WEBPACK_IMPORTED_MODULE_0__.Emitter {\\n /**\\n * Decoder constructor\\n *\\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\\n */\\n constructor(reviver) {\\n super();\\n this.reviver = reviver;\\n }\\n /**\\n * Decodes an encoded packet string into packet JSON.\\n *\\n * @param {String} obj - encoded packet\\n */\\n add(obj) {\\n let packet;\\n if (typeof obj === \\\"string\\\") {\\n if (this.reconstructor) {\\n throw new Error(\\\"got plaintext data when reconstructing a packet\\\");\\n }\\n packet = this.decodeString(obj);\\n const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\\n if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\\n packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\\n // binary packet's json\\n this.reconstructor = new BinaryReconstructor(packet);\\n // no attachments, labeled binary but no binary data to follow\\n if (packet.attachments === 0) {\\n super.emitReserved(\\\"decoded\\\", packet);\\n }\\n }\\n else {\\n // non-binary full packet\\n super.emitReserved(\\\"decoded\\\", packet);\\n }\\n }\\n else if ((0,_is_binary_js__WEBPACK_IMPORTED_MODULE_2__.isBinary)(obj) || obj.base64) {\\n // raw binary data\\n if (!this.reconstructor) {\\n throw new Error(\\\"got binary data when not reconstructing a packet\\\");\\n }\\n else {\\n packet = this.reconstructor.takeBinaryData(obj);\\n if (packet) {\\n // received final buffer\\n this.reconstructor = null;\\n super.emitReserved(\\\"decoded\\\", packet);\\n }\\n }\\n }\\n else {\\n throw new Error(\\\"Unknown type: \\\" + obj);\\n }\\n }\\n /**\\n * Decode a packet String (JSON data)\\n *\\n * @param {String} str\\n * @return {Object} packet\\n */\\n decodeString(str) {\\n let i = 0;\\n // look up type\\n const p = {\\n type: Number(str.charAt(0)),\\n };\\n if (PacketType[p.type] === undefined) {\\n throw new Error(\\\"unknown packet type \\\" + p.type);\\n }\\n // look up attachments if type binary\\n if (p.type === PacketType.BINARY_EVENT ||\\n p.type === PacketType.BINARY_ACK) {\\n const start = i + 1;\\n while (str.charAt(++i) !== \\\"-\\\" && i != str.length) { }\\n const buf = str.substring(start, i);\\n if (buf != Number(buf) || str.charAt(i) !== \\\"-\\\") {\\n throw new Error(\\\"Illegal attachments\\\");\\n }\\n p.attachments = Number(buf);\\n }\\n // look up namespace (if any)\\n if (\\\"/\\\" === str.charAt(i + 1)) {\\n const start = i + 1;\\n while (++i) {\\n const c = str.charAt(i);\\n if (\\\",\\\" === c)\\n break;\\n if (i === str.length)\\n break;\\n }\\n p.nsp = str.substring(start, i);\\n }\\n else {\\n p.nsp = \\\"/\\\";\\n }\\n // look up id\\n const next = str.charAt(i + 1);\\n if (\\\"\\\" !== next && Number(next) == next) {\\n const start = i + 1;\\n while (++i) {\\n const c = str.charAt(i);\\n if (null == c || Number(c) != c) {\\n --i;\\n break;\\n }\\n if (i === str.length)\\n break;\\n }\\n p.id = Number(str.substring(start, i + 1));\\n }\\n // look up json data\\n if (str.charAt(++i)) {\\n const payload = this.tryParse(str.substr(i));\\n if (Decoder.isPayloadValid(p.type, payload)) {\\n p.data = payload;\\n }\\n else {\\n throw new Error(\\\"invalid payload\\\");\\n }\\n }\\n return p;\\n }\\n tryParse(str) {\\n try {\\n return JSON.parse(str, this.reviver);\\n }\\n catch (e) {\\n return false;\\n }\\n }\\n static isPayloadValid(type, payload) {\\n switch (type) {\\n case PacketType.CONNECT:\\n return isObject(payload);\\n case PacketType.DISCONNECT:\\n return payload === undefined;\\n case PacketType.CONNECT_ERROR:\\n return typeof payload === \\\"string\\\" || isObject(payload);\\n case PacketType.EVENT:\\n case PacketType.BINARY_EVENT:\\n return (Array.isArray(payload) &&\\n (typeof payload[0] === \\\"number\\\" ||\\n (typeof payload[0] === \\\"string\\\" &&\\n RESERVED_EVENTS.indexOf(payload[0]) === -1)));\\n case PacketType.ACK:\\n case PacketType.BINARY_ACK:\\n return Array.isArray(payload);\\n }\\n }\\n /**\\n * Deallocates a parser's resources\\n */\\n destroy() {\\n if (this.reconstructor) {\\n this.reconstructor.finishedReconstruction();\\n this.reconstructor = null;\\n }\\n }\\n}\\n/**\\n * A manager of a binary event's 'buffer sequence'. Should\\n * be constructed whenever a packet of type BINARY_EVENT is\\n * decoded.\\n *\\n * @param {Object} packet\\n * @return {BinaryReconstructor} initialized reconstructor\\n */\\nclass BinaryReconstructor {\\n constructor(packet) {\\n this.packet = packet;\\n this.buffers = [];\\n this.reconPack = packet;\\n }\\n /**\\n * Method to be called when binary data received from connection\\n * after a BINARY_EVENT packet.\\n *\\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\\n * @return {null | Object} returns null if more binary data is expected or\\n * a reconstructed packet object if all buffers have been received.\\n */\\n takeBinaryData(binData) {\\n this.buffers.push(binData);\\n if (this.buffers.length === this.reconPack.attachments) {\\n // done with buffer list\\n const packet = (0,_binary_js__WEBPACK_IMPORTED_MODULE_1__.reconstructPacket)(this.reconPack, this.buffers);\\n this.finishedReconstruction();\\n return packet;\\n }\\n return null;\\n }\\n /**\\n * Cleans up binary packet reconstruction variables.\\n */\\n finishedReconstruction() {\\n this.reconPack = null;\\n this.buffers = [];\\n }\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/socket.io-parser/build/esm/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/socket.io-parser/build/esm/is-binary.js\":\n/*!**************************************************************!*\\\n !*** ./node_modules/socket.io-parser/build/esm/is-binary.js ***!\n \\**************************************************************/\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\\n/* harmony export */ hasBinary: () => (/* binding */ hasBinary),\\n/* harmony export */ isBinary: () => (/* binding */ isBinary)\\n/* harmony export */ });\\nconst withNativeArrayBuffer = typeof ArrayBuffer === \\\"function\\\";\\nconst isView = (obj) => {\\n return typeof ArrayBuffer.isView === \\\"function\\\"\\n ? ArrayBuffer.isView(obj)\\n : obj.buffer instanceof ArrayBuffer;\\n};\\nconst toString = Object.prototype.toString;\\nconst withNativeBlob = typeof Blob === \\\"function\\\" ||\\n (typeof Blob !== \\\"undefined\\\" &&\\n toString.call(Blob) === \\\"[object BlobConstructor]\\\");\\nconst withNativeFile = typeof File === \\\"function\\\" ||\\n (typeof File !== \\\"undefined\\\" &&\\n toString.call(File) === \\\"[object FileConstructor]\\\");\\n/**\\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\\n *\\n * @private\\n */\\nfunction isBinary(obj) {\\n return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\\n (withNativeBlob && obj instanceof Blob) ||\\n (withNativeFile && obj instanceof File));\\n}\\nfunction hasBinary(obj, toJSON) {\\n if (!obj || typeof obj !== \\\"object\\\") {\\n return false;\\n }\\n if (Array.isArray(obj)) {\\n for (let i = 0, l = obj.length; i < l; i++) {\\n if (hasBinary(obj[i])) {\\n return true;\\n }\\n }\\n return false;\\n }\\n if (isBinary(obj)) {\\n return true;\\n }\\n if (obj.toJSON &&\\n typeof obj.toJSON === \\\"function\\\" &&\\n arguments.length === 1) {\\n return hasBinary(obj.toJSON(), true);\\n }\\n for (const key in obj) {\\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\\n return true;\\n }\\n }\\n return false;\\n}\\n\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/socket.io-parser/build/esm/is-binary.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/client-chime-sdk-messaging/package.json\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@aws-sdk/client-chime-sdk-messaging/package.json ***!\n \\***********************************************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"module.exports = JSON.parse('{\\\"name\\\":\\\"@aws-sdk/client-chime-sdk-messaging\\\",\\\"description\\\":\\\"AWS SDK for JavaScript Chime Sdk Messaging Client for Node.js, Browser and React Native\\\",\\\"version\\\":\\\"3.363.0\\\",\\\"scripts\\\":{\\\"build\\\":\\\"concurrently \\\\'yarn:build:cjs\\\\' \\\\'yarn:build:es\\\\' \\\\'yarn:build:types\\\\'\\\",\\\"build:cjs\\\":\\\"tsc -p tsconfig.cjs.json\\\",\\\"build:docs\\\":\\\"typedoc\\\",\\\"build:es\\\":\\\"tsc -p tsconfig.es.json\\\",\\\"build:include:deps\\\":\\\"lerna run --scope $npm_package_name --include-dependencies build\\\",\\\"build:types\\\":\\\"tsc -p tsconfig.types.json\\\",\\\"build:types:downlevel\\\":\\\"downlevel-dts dist-types dist-types/ts3.4\\\",\\\"clean\\\":\\\"rimraf ./dist-* && rimraf *.tsbuildinfo\\\",\\\"extract:docs\\\":\\\"api-extractor run --local\\\",\\\"generate:client\\\":\\\"node ../../scripts/generate-clients/single-service --solo chime-sdk-messaging\\\"},\\\"main\\\":\\\"./dist-cjs/index.js\\\",\\\"types\\\":\\\"./dist-types/index.d.ts\\\",\\\"module\\\":\\\"./dist-es/index.js\\\",\\\"sideEffects\\\":false,\\\"dependencies\\\":{\\\"@aws-crypto/sha256-browser\\\":\\\"3.0.0\\\",\\\"@aws-crypto/sha256-js\\\":\\\"3.0.0\\\",\\\"@aws-sdk/client-sts\\\":\\\"3.363.0\\\",\\\"@aws-sdk/credential-provider-node\\\":\\\"3.363.0\\\",\\\"@aws-sdk/middleware-host-header\\\":\\\"3.363.0\\\",\\\"@aws-sdk/middleware-logger\\\":\\\"3.363.0\\\",\\\"@aws-sdk/middleware-recursion-detection\\\":\\\"3.363.0\\\",\\\"@aws-sdk/middleware-signing\\\":\\\"3.363.0\\\",\\\"@aws-sdk/middleware-user-agent\\\":\\\"3.363.0\\\",\\\"@aws-sdk/types\\\":\\\"3.357.0\\\",\\\"@aws-sdk/util-endpoints\\\":\\\"3.357.0\\\",\\\"@aws-sdk/util-user-agent-browser\\\":\\\"3.363.0\\\",\\\"@aws-sdk/util-user-agent-node\\\":\\\"3.363.0\\\",\\\"@smithy/config-resolver\\\":\\\"^1.0.1\\\",\\\"@smithy/fetch-http-handler\\\":\\\"^1.0.1\\\",\\\"@smithy/hash-node\\\":\\\"^1.0.1\\\",\\\"@smithy/invalid-dependency\\\":\\\"^1.0.1\\\",\\\"@smithy/middleware-content-length\\\":\\\"^1.0.1\\\",\\\"@smithy/middleware-endpoint\\\":\\\"^1.0.1\\\",\\\"@smithy/middleware-retry\\\":\\\"^1.0.2\\\",\\\"@smithy/middleware-serde\\\":\\\"^1.0.1\\\",\\\"@smithy/middleware-stack\\\":\\\"^1.0.1\\\",\\\"@smithy/node-config-provider\\\":\\\"^1.0.1\\\",\\\"@smithy/node-http-handler\\\":\\\"^1.0.2\\\",\\\"@smithy/protocol-http\\\":\\\"^1.0.1\\\",\\\"@smithy/smithy-client\\\":\\\"^1.0.3\\\",\\\"@smithy/types\\\":\\\"^1.0.0\\\",\\\"@smithy/url-parser\\\":\\\"^1.0.1\\\",\\\"@smithy/util-base64\\\":\\\"^1.0.1\\\",\\\"@smithy/util-body-length-browser\\\":\\\"^1.0.1\\\",\\\"@smithy/util-body-length-node\\\":\\\"^1.0.1\\\",\\\"@smithy/util-defaults-mode-browser\\\":\\\"^1.0.1\\\",\\\"@smithy/util-defaults-mode-node\\\":\\\"^1.0.1\\\",\\\"@smithy/util-retry\\\":\\\"^1.0.2\\\",\\\"@smithy/util-utf8\\\":\\\"^1.0.1\\\",\\\"tslib\\\":\\\"^2.5.0\\\",\\\"uuid\\\":\\\"^8.3.2\\\"},\\\"devDependencies\\\":{\\\"@aws-sdk/service-client-documentation-generator\\\":\\\"3.310.0\\\",\\\"@smithy/service-client-documentation-generator\\\":\\\"^1.0.1\\\",\\\"@tsconfig/node14\\\":\\\"1.0.3\\\",\\\"@types/node\\\":\\\"^14.14.31\\\",\\\"@types/uuid\\\":\\\"^8.3.0\\\",\\\"concurrently\\\":\\\"7.0.0\\\",\\\"downlevel-dts\\\":\\\"0.10.1\\\",\\\"rimraf\\\":\\\"3.0.2\\\",\\\"typedoc\\\":\\\"0.23.23\\\",\\\"typescript\\\":\\\"~4.9.5\\\"},\\\"engines\\\":{\\\"node\\\":\\\">=14.0.0\\\"},\\\"typesVersions\\\":{\\\"<4.0\\\":{\\\"dist-types/*\\\":[\\\"dist-types/ts3.4/*\\\"]}},\\\"files\\\":[\\\"dist-*/**\\\"],\\\"author\\\":{\\\"name\\\":\\\"AWS SDK for JavaScript Team\\\",\\\"url\\\":\\\"https://aws.amazon.com/javascript/\\\"},\\\"license\\\":\\\"Apache-2.0\\\",\\\"browser\\\":{\\\"./dist-es/runtimeConfig\\\":\\\"./dist-es/runtimeConfig.browser\\\"},\\\"react-native\\\":{\\\"./dist-es/runtimeConfig\\\":\\\"./dist-es/runtimeConfig.native\\\"},\\\"homepage\\\":\\\"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-chime-sdk-messaging\\\",\\\"repository\\\":{\\\"type\\\":\\\"git\\\",\\\"url\\\":\\\"https://github.com/aws/aws-sdk-js-v3.git\\\",\\\"directory\\\":\\\"clients/client-chime-sdk-messaging\\\"}}');\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/client-chime-sdk-messaging/package.json?\");\n\n/***/ }),\n\n/***/ \"./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json ***!\n \\******************************************************************************/\n/***/ ((module) => {\n\n\"use strict\";\neval(\"module.exports = JSON.parse('{\\\"partitions\\\":[{\\\"id\\\":\\\"aws\\\",\\\"outputs\\\":{\\\"dnsSuffix\\\":\\\"amazonaws.com\\\",\\\"dualStackDnsSuffix\\\":\\\"api.aws\\\",\\\"name\\\":\\\"aws\\\",\\\"supportsDualStack\\\":true,\\\"supportsFIPS\\\":true},\\\"regionRegex\\\":\\\"^(us|eu|ap|sa|ca|me|af)\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\w+\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\d+$\\\",\\\"regions\\\":{\\\"af-south-1\\\":{\\\"description\\\":\\\"Africa (Cape Town)\\\"},\\\"ap-east-1\\\":{\\\"description\\\":\\\"Asia Pacific (Hong Kong)\\\"},\\\"ap-northeast-1\\\":{\\\"description\\\":\\\"Asia Pacific (Tokyo)\\\"},\\\"ap-northeast-2\\\":{\\\"description\\\":\\\"Asia Pacific (Seoul)\\\"},\\\"ap-northeast-3\\\":{\\\"description\\\":\\\"Asia Pacific (Osaka)\\\"},\\\"ap-south-1\\\":{\\\"description\\\":\\\"Asia Pacific (Mumbai)\\\"},\\\"ap-south-2\\\":{\\\"description\\\":\\\"Asia Pacific (Hyderabad)\\\"},\\\"ap-southeast-1\\\":{\\\"description\\\":\\\"Asia Pacific (Singapore)\\\"},\\\"ap-southeast-2\\\":{\\\"description\\\":\\\"Asia Pacific (Sydney)\\\"},\\\"ap-southeast-3\\\":{\\\"description\\\":\\\"Asia Pacific (Jakarta)\\\"},\\\"ap-southeast-4\\\":{\\\"description\\\":\\\"Asia Pacific (Melbourne)\\\"},\\\"aws-global\\\":{\\\"description\\\":\\\"AWS Standard global region\\\"},\\\"ca-central-1\\\":{\\\"description\\\":\\\"Canada (Central)\\\"},\\\"eu-central-1\\\":{\\\"description\\\":\\\"Europe (Frankfurt)\\\"},\\\"eu-central-2\\\":{\\\"description\\\":\\\"Europe (Zurich)\\\"},\\\"eu-north-1\\\":{\\\"description\\\":\\\"Europe (Stockholm)\\\"},\\\"eu-south-1\\\":{\\\"description\\\":\\\"Europe (Milan)\\\"},\\\"eu-south-2\\\":{\\\"description\\\":\\\"Europe (Spain)\\\"},\\\"eu-west-1\\\":{\\\"description\\\":\\\"Europe (Ireland)\\\"},\\\"eu-west-2\\\":{\\\"description\\\":\\\"Europe (London)\\\"},\\\"eu-west-3\\\":{\\\"description\\\":\\\"Europe (Paris)\\\"},\\\"me-central-1\\\":{\\\"description\\\":\\\"Middle East (UAE)\\\"},\\\"me-south-1\\\":{\\\"description\\\":\\\"Middle East (Bahrain)\\\"},\\\"sa-east-1\\\":{\\\"description\\\":\\\"South America (Sao Paulo)\\\"},\\\"us-east-1\\\":{\\\"description\\\":\\\"US East (N. Virginia)\\\"},\\\"us-east-2\\\":{\\\"description\\\":\\\"US East (Ohio)\\\"},\\\"us-west-1\\\":{\\\"description\\\":\\\"US West (N. California)\\\"},\\\"us-west-2\\\":{\\\"description\\\":\\\"US West (Oregon)\\\"}}},{\\\"id\\\":\\\"aws-cn\\\",\\\"outputs\\\":{\\\"dnsSuffix\\\":\\\"amazonaws.com.cn\\\",\\\"dualStackDnsSuffix\\\":\\\"api.amazonwebservices.com.cn\\\",\\\"name\\\":\\\"aws-cn\\\",\\\"supportsDualStack\\\":true,\\\"supportsFIPS\\\":true},\\\"regionRegex\\\":\\\"^cn\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\w+\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\d+$\\\",\\\"regions\\\":{\\\"aws-cn-global\\\":{\\\"description\\\":\\\"AWS China global region\\\"},\\\"cn-north-1\\\":{\\\"description\\\":\\\"China (Beijing)\\\"},\\\"cn-northwest-1\\\":{\\\"description\\\":\\\"China (Ningxia)\\\"}}},{\\\"id\\\":\\\"aws-us-gov\\\",\\\"outputs\\\":{\\\"dnsSuffix\\\":\\\"amazonaws.com\\\",\\\"dualStackDnsSuffix\\\":\\\"api.aws\\\",\\\"name\\\":\\\"aws-us-gov\\\",\\\"supportsDualStack\\\":true,\\\"supportsFIPS\\\":true},\\\"regionRegex\\\":\\\"^us\\\\\\\\\\\\\\\\-gov\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\w+\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\d+$\\\",\\\"regions\\\":{\\\"aws-us-gov-global\\\":{\\\"description\\\":\\\"AWS GovCloud (US) global region\\\"},\\\"us-gov-east-1\\\":{\\\"description\\\":\\\"AWS GovCloud (US-East)\\\"},\\\"us-gov-west-1\\\":{\\\"description\\\":\\\"AWS GovCloud (US-West)\\\"}}},{\\\"id\\\":\\\"aws-iso\\\",\\\"outputs\\\":{\\\"dnsSuffix\\\":\\\"c2s.ic.gov\\\",\\\"dualStackDnsSuffix\\\":\\\"c2s.ic.gov\\\",\\\"name\\\":\\\"aws-iso\\\",\\\"supportsDualStack\\\":false,\\\"supportsFIPS\\\":true},\\\"regionRegex\\\":\\\"^us\\\\\\\\\\\\\\\\-iso\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\w+\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\d+$\\\",\\\"regions\\\":{\\\"aws-iso-global\\\":{\\\"description\\\":\\\"AWS ISO (US) global region\\\"},\\\"us-iso-east-1\\\":{\\\"description\\\":\\\"US ISO East\\\"},\\\"us-iso-west-1\\\":{\\\"description\\\":\\\"US ISO WEST\\\"}}},{\\\"id\\\":\\\"aws-iso-b\\\",\\\"outputs\\\":{\\\"dnsSuffix\\\":\\\"sc2s.sgov.gov\\\",\\\"dualStackDnsSuffix\\\":\\\"sc2s.sgov.gov\\\",\\\"name\\\":\\\"aws-iso-b\\\",\\\"supportsDualStack\\\":false,\\\"supportsFIPS\\\":true},\\\"regionRegex\\\":\\\"^us\\\\\\\\\\\\\\\\-isob\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\w+\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\d+$\\\",\\\"regions\\\":{\\\"aws-iso-b-global\\\":{\\\"description\\\":\\\"AWS ISOB (US) global region\\\"},\\\"us-isob-east-1\\\":{\\\"description\\\":\\\"US ISOB East (Ohio)\\\"}}},{\\\"id\\\":\\\"aws-iso-e\\\",\\\"outputs\\\":{\\\"dnsSuffix\\\":\\\"cloud.adc-e.uk\\\",\\\"dualStackDnsSuffix\\\":\\\"cloud.adc-e.uk\\\",\\\"name\\\":\\\"aws-iso-e\\\",\\\"supportsDualStack\\\":false,\\\"supportsFIPS\\\":true},\\\"regionRegex\\\":\\\"^eu\\\\\\\\\\\\\\\\-isoe\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\w+\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\d+$\\\",\\\"regions\\\":{}},{\\\"id\\\":\\\"aws-iso-f\\\",\\\"outputs\\\":{\\\"dnsSuffix\\\":\\\"csp.hci.ic.gov\\\",\\\"dualStackDnsSuffix\\\":\\\"csp.hci.ic.gov\\\",\\\"name\\\":\\\"aws-iso-f\\\",\\\"supportsDualStack\\\":false,\\\"supportsFIPS\\\":true},\\\"regionRegex\\\":\\\"^us\\\\\\\\\\\\\\\\-isof\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\w+\\\\\\\\\\\\\\\\-\\\\\\\\\\\\\\\\d+$\\\",\\\"regions\\\":{}}],\\\"version\\\":\\\"1.1\\\"}');\\n\\n//# sourceURL=webpack://@dannadori/voice-changer-client-js/./node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json?\");\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __nested_webpack_require_4148380__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_4148380__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/amd options */\n/******/ \t(() => {\n/******/ \t\t__nested_webpack_require_4148380__.amdO = {};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__nested_webpack_require_4148380__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__nested_webpack_require_4148380__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__nested_webpack_require_4148380__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__nested_webpack_require_4148380__.o(definition, key) && !__nested_webpack_require_4148380__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/global */\n/******/ \t(() => {\n/******/ \t\t__nested_webpack_require_4148380__.g = (function() {\n/******/ \t\t\tif (typeof globalThis === 'object') return globalThis;\n/******/ \t\t\ttry {\n/******/ \t\t\t\treturn this || new Function('return this')();\n/******/ \t\t\t} catch (e) {\n/******/ \t\t\t\tif (typeof window === 'object') return window;\n/******/ \t\t\t}\n/******/ \t\t})();\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__nested_webpack_require_4148380__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__nested_webpack_require_4148380__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\n/******/ \t\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \t// This entry module can't be inlined because the eval devtool is used.\n/******/ \tvar __nested_webpack_exports__ = __nested_webpack_require_4148380__(\"./src/index.ts\");\n/******/ \t\n/******/ \treturn __nested_webpack_exports__;\n/******/ })()\n;\n});\n\n//# sourceURL=webpack://demo/./node_modules/@dannadori/voice-changer-client-js/dist/index.js?");
/***/ }),
/***/ "./src/000_index.tsx":
/*!***************************!*\
!*** ./src/000_index.tsx ***!
\***************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("var __filename = \"/index.js\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-dom/client */ \"./node_modules/react-dom/client.js\");\n/* harmony import */ var _fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @fortawesome/fontawesome-svg-core */ \"./node_modules/@fortawesome/fontawesome-svg-core/index.mjs\");\n/* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @fortawesome/free-solid-svg-icons */ \"./node_modules/@fortawesome/free-solid-svg-icons/index.mjs\");\n/* harmony import */ var _fortawesome_free_regular_svg_icons__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @fortawesome/free-regular-svg-icons */ \"./node_modules/@fortawesome/free-regular-svg-icons/index.mjs\");\n/* harmony import */ var _fortawesome_free_brands_svg_icons__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @fortawesome/free-brands-svg-icons */ \"./node_modules/@fortawesome/free-brands-svg-icons/index.mjs\");\n/* harmony import */ var _css_App_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./css/App.css */ \"./src/css/App.css\");\n/* harmony import */ var _001_provider_900_ErrorBoundary__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./001_provider/900_ErrorBoundary */ \"./src/001_provider/900_ErrorBoundary.tsx\");\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./001_provider/001_AppRootProvider */ \"./src/001_provider/001_AppRootProvider.tsx\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @dannadori/voice-changer-client-js */ \"./node_modules/@dannadori/voice-changer-client-js/dist/index.js\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _components_demo_010_Demo__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/demo/010_Demo */ \"./src/components/demo/010_Demo.tsx\");\n/* harmony import */ var _hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./hooks/useMessageBuilder */ \"./src/hooks/useMessageBuilder.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_5__.library.add(_fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_13__.fas, _fortawesome_free_regular_svg_icons__WEBPACK_IMPORTED_MODULE_14__.far, _fortawesome_free_brands_svg_icons__WEBPACK_IMPORTED_MODULE_15__.fab);\nvar container = document.getElementById(\"app\");\nvar root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_4__.createRoot)(container);\nvar App = function App() {\n var _useAppRoot = (0,_001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_9__.useAppRoot)(),\n appGuiSettingState = _useAppRoot.appGuiSettingState;\n var front = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n if (appGuiSettingState.appGuiSetting.type == \"demo\") {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(_components_demo_010_Demo__WEBPACK_IMPORTED_MODULE_11__.Demo, null);\n } else {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(react__WEBPACK_IMPORTED_MODULE_3__.Fragment, null, \"unknown gui type. \", appGuiSettingState.appGuiSetting.type);\n }\n }, [appGuiSettingState.appGuiSetting.type]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(react__WEBPACK_IMPORTED_MODULE_3__.Fragment, null, front);\n};\nvar AppStateWrapper = function AppStateWrapper() {\n var _useAppRoot2 = (0,_001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_9__.useAppRoot)(),\n appGuiSettingState = _useAppRoot2.appGuiSettingState,\n getGUISetting = _useAppRoot2.getGUISetting;\n var messageBuilderState = (0,_hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_12__.useMessageBuilder)();\n // エラーメッセージ登録\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n messageBuilderState.setMessage(__filename, \"Problem\", {\n \"ja\": \"ちょっと問題が起きたみたいです。\",\n \"en\": \"Looks like there's a bit of a problem.\"\n });\n messageBuilderState.setMessage(__filename, \"Problem-sub1\", {\n \"ja\": \"このアプリで管理している情報をクリアすると回復する場合があります。\",\n \"en\": \"\"\n });\n messageBuilderState.setMessage(__filename, \"Problem-sub2\", {\n \"ja\": \"下記のボタンを押して情報をクリアします。\",\n \"en\": \"If you clear the information being managed by this app, it may be recoverable.\"\n });\n messageBuilderState.setMessage(__filename, \"Problem-action1\", {\n \"ja\": \"アプリを初期化\",\n \"en\": \"Initialize\"\n });\n messageBuilderState.setMessage(__filename, \"Problem-action2\", {\n \"ja\": \"初期化せずリロード\",\n \"en\": \"Reload without initialize\"\n });\n }, []);\n\n // エラーバウンダリー設定\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState, 2),\n error = _useState2[0],\n setError = _useState2[1];\n var _useIndexedDB = (0,_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_10__.useIndexedDB)({\n clientType: null\n }),\n removeDB = _useIndexedDB.removeDB;\n var errorComponent = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n var errorName = (error === null || error === void 0 ? void 0 : error.error.name) || \"no error name\";\n var errorMessage = (error === null || error === void 0 ? void 0 : error.error.message) || \"no error message\";\n var errorInfos = ((error === null || error === void 0 ? void 0 : error.errorInfo.componentStack) || \"no error stack\").split(\"\\n\");\n var onClearCacheClicked = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return removeDB();\n case 2:\n location.reload();\n case 3:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function onClearCacheClicked() {\n return _ref.apply(this, arguments);\n };\n }();\n var onReloadClicked = function onReloadClicked() {\n location.reload();\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"div\", {\n className: \"error-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"div\", {\n className: \"top-error-message\"\n }, messageBuilderState.getMessage(__filename, \"Problem\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"div\", {\n className: \"top-error-description\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"p\", null, \" \", messageBuilderState.getMessage(__filename, \"Problem-sub1\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"p\", null, \" \", messageBuilderState.getMessage(__filename, \"Problem-sub2\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"p\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"button\", {\n onClick: onClearCacheClicked\n }, messageBuilderState.getMessage(__filename, \"Problem-action1\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"p\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"button\", {\n onClick: onReloadClicked\n }, messageBuilderState.getMessage(__filename, \"Problem-action2\")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"div\", {\n className: \"error-detail\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"div\", {\n className: \"error-name\"\n }, errorName), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"div\", {\n className: \"error-message\"\n }, errorMessage), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"div\", {\n className: \"error-info-container\"\n }, errorInfos.map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"div\", {\n className: \"error-info-line\",\n key: x\n }, x);\n }))));\n }, [error]);\n var updateError = function updateError(error, errorInfo) {\n console.log(\"error compo\", error, errorInfo);\n setError({\n error: error,\n errorInfo: errorInfo\n });\n };\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(function () {\n var loadDefaultModelType = /*#__PURE__*/function () {\n var _ref2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee2() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n getGUISetting();\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function loadDefaultModelType() {\n return _ref2.apply(this, arguments);\n };\n }();\n loadDefaultModelType();\n }, []);\n if (!appGuiSettingState.guiSettingLoaded) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(react__WEBPACK_IMPORTED_MODULE_3__.Fragment, null, \"loading...\");\n } else {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(_001_provider_900_ErrorBoundary__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n fallback: errorComponent,\n onError: updateError\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_8__.AppStateProvider, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(App, null)));\n }\n};\nroot.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(_001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_9__.AppRootProvider, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(AppStateWrapper, null)));\n\n//# sourceURL=webpack://demo/./src/000_index.tsx?");
/***/ }),
/***/ "./src/001_globalHooks/001_useAppGuiSetting.ts":
/*!*****************************************************!*\
!*** ./src/001_globalHooks/001_useAppGuiSetting.ts ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useAppGuiSetting: () => (/* binding */ useAppGuiSetting)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\nvar InitialAppGuiDemoSetting = {\n type: \"demo\",\n front: {\n \"modelSlotControl\": []\n }\n};\nvar useAppGuiSetting = function useAppGuiSetting() {\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(false),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState, 2),\n guiSettingLoaded = _useState2[0],\n setGuiSettingLoaded = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(InitialAppGuiDemoSetting),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState3, 2),\n appGuiSetting = _useState4[0],\n setAppGuiSetting = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(\"\"),\n _useState6 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState5, 2),\n version = _useState6[0],\n setVersion = _useState6[1];\n var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(\"\"),\n _useState8 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState7, 2),\n edition = _useState8[0],\n setEdition = _useState8[1];\n var getAppGuiSetting = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee(url) {\n var res, appSetting;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return fetch(\"\".concat(url), {\n method: \"GET\"\n });\n case 2:\n res = _context.sent;\n _context.next = 5;\n return res.json();\n case 5:\n appSetting = _context.sent;\n setAppGuiSetting(appSetting);\n setGuiSettingLoaded(true);\n case 8:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function getAppGuiSetting(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n var clearAppGuiSetting = function clearAppGuiSetting() {\n setAppGuiSetting(InitialAppGuiDemoSetting);\n setGuiSettingLoaded(false);\n };\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(function () {\n var getVersionInfo = /*#__PURE__*/function () {\n var _ref2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee2() {\n var res, version;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return fetch(\"/assets/gui_settings/version.txt\", {\n method: \"GET\"\n });\n case 2:\n res = _context2.sent;\n _context2.next = 5;\n return res.text();\n case 5:\n version = _context2.sent;\n setVersion(version);\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function getVersionInfo() {\n return _ref2.apply(this, arguments);\n };\n }();\n getVersionInfo();\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(function () {\n var getVersionInfo = /*#__PURE__*/function () {\n var _ref3 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee3() {\n var res, edition;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return fetch(\"/assets/gui_settings/edition.txt\", {\n method: \"GET\"\n });\n case 2:\n res = _context3.sent;\n _context3.next = 5;\n return res.text();\n case 5:\n edition = _context3.sent;\n setEdition(edition);\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return function getVersionInfo() {\n return _ref3.apply(this, arguments);\n };\n }();\n getVersionInfo();\n }, []);\n return {\n appGuiSetting: appGuiSetting,\n guiSettingLoaded: guiSettingLoaded,\n version: version,\n edition: edition,\n getAppGuiSetting: getAppGuiSetting,\n clearAppGuiSetting: clearAppGuiSetting\n };\n};\n\n//# sourceURL=webpack://demo/./src/001_globalHooks/001_useAppGuiSetting.ts?");
/***/ }),
/***/ "./src/001_globalHooks/001_useAudioConfig.ts":
/*!***************************************************!*\
!*** ./src/001_globalHooks/001_useAudioConfig.ts ***!
\***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useAudioConfig: () => (/* binding */ useAudioConfig)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar useAudioConfig = function useAudioConfig() {\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState, 2),\n audioContext = _useState2[0],\n setAudioContext = _useState2[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n var createAudioContext = function createAudioContext() {\n var url = new URL(window.location.href);\n var params = url.searchParams;\n var sampleRate = params.get('sample_rate') || null;\n var ctx;\n if (sampleRate) {\n if (sampleRate == \"default\") {\n console.log(\"Sample rate: default\");\n ctx = new AudioContext();\n } else {\n console.log(\"Sample rate: \".concat(sampleRate));\n ctx = new AudioContext({\n sampleRate: Number(sampleRate)\n });\n }\n } else {\n console.log(\"Sample rate: default(48000)\");\n ctx = new AudioContext({\n sampleRate: 48000\n });\n }\n console.log(ctx);\n setAudioContext(ctx);\n document.removeEventListener('touchstart', createAudioContext);\n document.removeEventListener('mousedown', createAudioContext);\n };\n document.addEventListener('touchstart', createAudioContext, false);\n document.addEventListener('mousedown', createAudioContext, false);\n }, []);\n var ret = {\n audioContext: audioContext\n };\n return ret;\n};\n\n//# sourceURL=webpack://demo/./src/001_globalHooks/001_useAudioConfig.ts?");
/***/ }),
/***/ "./src/001_globalHooks/001_useVCClient.ts":
/*!************************************************!*\
!*** ./src/001_globalHooks/001_useVCClient.ts ***!
\************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useVCClient: () => (/* binding */ useVCClient)\n/* harmony export */ });\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @dannadori/voice-changer-client-js */ \"./node_modules/@dannadori/voice-changer-client-js/dist/index.js\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_0__);\n\nvar useVCClient = function useVCClient(props) {\n var clientState = (0,_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_0__.useClient)({\n audioContext: props.audioContext\n });\n var ret = {\n clientState: clientState\n };\n return ret;\n};\n\n//# sourceURL=webpack://demo/./src/001_globalHooks/001_useVCClient.ts?");
/***/ }),
/***/ "./src/001_provider/001_AppRootProvider.tsx":
/*!**************************************************!*\
!*** ./src/001_provider/001_AppRootProvider.tsx ***!
\**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AppRootProvider: () => (/* binding */ AppRootProvider),\n/* harmony export */ useAppRoot: () => (/* binding */ useAppRoot)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _001_globalHooks_001_useAppGuiSetting__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../001_globalHooks/001_useAppGuiSetting */ \"./src/001_globalHooks/001_useAppGuiSetting.ts\");\n/* harmony import */ var _001_globalHooks_001_useAudioConfig__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../001_globalHooks/001_useAudioConfig */ \"./src/001_globalHooks/001_useAudioConfig.ts\");\n\n\n\n\n\nvar AppRootContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createContext(null);\nvar useAppRoot = function useAppRoot() {\n var state = (0,react__WEBPACK_IMPORTED_MODULE_2__.useContext)(AppRootContext);\n if (!state) {\n throw new Error(\"useAppState must be used within AppStateProvider\");\n }\n return state;\n};\nvar AppRootProvider = function AppRootProvider(_ref) {\n var children = _ref.children;\n var audioContextState = (0,_001_globalHooks_001_useAudioConfig__WEBPACK_IMPORTED_MODULE_4__.useAudioConfig)();\n var appGuiSettingState = (0,_001_globalHooks_001_useAppGuiSetting__WEBPACK_IMPORTED_MODULE_3__.useAppGuiSetting)();\n var getGUISetting = /*#__PURE__*/function () {\n var _ref2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return appGuiSettingState.getAppGuiSetting(\"/assets/gui_settings/GUI.json\");\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function getGUISetting() {\n return _ref2.apply(this, arguments);\n };\n }();\n var providerValue = {\n audioContextState: audioContextState,\n appGuiSettingState: appGuiSettingState,\n getGUISetting: getGUISetting\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(AppRootContext.Provider, {\n value: providerValue\n }, children);\n};\n\n//# sourceURL=webpack://demo/./src/001_provider/001_AppRootProvider.tsx?");
/***/ }),
/***/ "./src/001_provider/001_AppStateProvider.tsx":
/*!***************************************************!*\
!*** ./src/001_provider/001_AppStateProvider.tsx ***!
\***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("var __filename = \"/index.js\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AppStateProvider: () => (/* binding */ AppStateProvider),\n/* harmony export */ useAppState: () => (/* binding */ useAppState)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _001_globalHooks_001_useVCClient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../001_globalHooks/001_useVCClient */ \"./src/001_globalHooks/001_useVCClient.ts\");\n/* harmony import */ var _001_AppRootProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./001_AppRootProvider */ \"./src/001_provider/001_AppRootProvider.tsx\");\n/* harmony import */ var _hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hooks/useMessageBuilder */ \"./src/hooks/useMessageBuilder.ts\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\nvar AppStateContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createContext(null);\nvar useAppState = function useAppState() {\n var state = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(AppStateContext);\n if (!state) {\n throw new Error(\"useAppState must be used within AppStateProvider\");\n }\n return state;\n};\nvar AppStateProvider = function AppStateProvider(_ref) {\n var children = _ref.children;\n var appRoot = (0,_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_3__.useAppRoot)();\n var clientState = (0,_001_globalHooks_001_useVCClient__WEBPACK_IMPORTED_MODULE_2__.useVCClient)({\n audioContext: appRoot.audioContextState.audioContext\n });\n var messageBuilderState = (0,_hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_4__.useMessageBuilder)();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n messageBuilderState.setMessage(__filename, \"ioError\", {\n \"ja\": \"エラーが頻発しています。対象としているフレームワークのモデルがロードされているか確認してください。\",\n \"en\": \"Frequent errors occur. Please check if the model of the framework being targeted is loaded.\"\n });\n }, []);\n var initializedRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n if (clientState.clientState.initialized) {\n initializedRef.current = true;\n clientState.clientState.getInfo();\n // clientState.clientState.setVoiceChangerClientSetting({\n // ...clientState.clientState.setting.voiceChangerClientSetting\n // })\n }\n }, [clientState.clientState.initialized]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n if (clientState.clientState.ioErrorCount > 100) {\n alert(messageBuilderState.getMessage(__filename, \"ioError\"));\n clientState.clientState.resetIoErrorCount();\n }\n }, [clientState.clientState.ioErrorCount]);\n var providerValue = _objectSpread(_objectSpread({\n audioContext: appRoot.audioContextState.audioContext\n }, clientState.clientState), {}, {\n initializedRef: initializedRef\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(AppStateContext.Provider, {\n value: providerValue\n }, children);\n};\n\n//# sourceURL=webpack://demo/./src/001_provider/001_AppStateProvider.tsx?");
/***/ }),
/***/ "./src/001_provider/900_ErrorBoundary.tsx":
/*!************************************************!*\
!*** ./src/001_provider/900_ErrorBoundary.tsx ***!
\************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/esm/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\n\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar ErrorBoundary = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(ErrorBoundary, _React$Component);\n var _super = _createSuper(ErrorBoundary);\n function ErrorBoundary(props) {\n var _this;\n (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, ErrorBoundary);\n _this = _super.call(this, props);\n _this.state = {\n hasError: false\n };\n _this.eventHandler = _this.updateError.bind((0,_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_this));\n return _this;\n }\n (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(ErrorBoundary, [{\n key: \"componentDidCatch\",\n value: function componentDidCatch(error, errorInfo) {\n // For logging\n console.warn(\"React Error Boundary Catch\", error, errorInfo);\n var onError = this.props.onError;\n if (onError) {\n onError(error, errorInfo);\n }\n }\n\n // 非同期例外対応\n }, {\n key: \"updateError\",\n value: function updateError() {\n this.setState({\n hasError: true\n });\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n window.addEventListener('unhandledrejection', this.eventHandler);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener('unhandledrejection', this.eventHandler);\n }\n }, {\n key: \"render\",\n value: function render() {\n if (this.state.hasError) {\n return this.props.fallback;\n }\n return this.props.children;\n }\n }], [{\n key: \"getDerivedStateFromError\",\n value: function getDerivedStateFromError(_error) {\n // console.warn(\"React Error Boundary Catch\", error)\n return {\n hasError: true\n };\n }\n }]);\n return ErrorBoundary;\n}((react__WEBPACK_IMPORTED_MODULE_6___default().Component));\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ErrorBoundary);\n\n//# sourceURL=webpack://demo/./src/001_provider/900_ErrorBoundary.tsx?");
/***/ }),
/***/ "./src/components/demo/001_GuiStateProvider.tsx":
/*!******************************************************!*\
!*** ./src/components/demo/001_GuiStateProvider.tsx ***!
\******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GuiStateProvider: () => (/* binding */ GuiStateProvider),\n/* harmony export */ OpenAdvancedSettingCheckbox: () => (/* binding */ OpenAdvancedSettingCheckbox),\n/* harmony export */ OpenAdvancedSettingDialogCheckbox: () => (/* binding */ OpenAdvancedSettingDialogCheckbox),\n/* harmony export */ OpenConverterSettingCheckbox: () => (/* binding */ OpenConverterSettingCheckbox),\n/* harmony export */ OpenDeviceSettingCheckbox: () => (/* binding */ OpenDeviceSettingCheckbox),\n/* harmony export */ OpenGetClientInformationDialogCheckbox: () => (/* binding */ OpenGetClientInformationDialogCheckbox),\n/* harmony export */ OpenGetServerInformationDialogCheckbox: () => (/* binding */ OpenGetServerInformationDialogCheckbox),\n/* harmony export */ OpenLabCheckbox: () => (/* binding */ OpenLabCheckbox),\n/* harmony export */ OpenLicenseDialogCheckbox: () => (/* binding */ OpenLicenseDialogCheckbox),\n/* harmony export */ OpenMergeLabDialogCheckbox: () => (/* binding */ OpenMergeLabDialogCheckbox),\n/* harmony export */ OpenModelSettingCheckbox: () => (/* binding */ OpenModelSettingCheckbox),\n/* harmony export */ OpenModelSlotManagerDialogCheckbox: () => (/* binding */ OpenModelSlotManagerDialogCheckbox),\n/* harmony export */ OpenQualityControlCheckbox: () => (/* binding */ OpenQualityControlCheckbox),\n/* harmony export */ OpenServerControlCheckbox: () => (/* binding */ OpenServerControlCheckbox),\n/* harmony export */ OpenSpeakerSettingCheckbox: () => (/* binding */ OpenSpeakerSettingCheckbox),\n/* harmony export */ OpenStartingNoticeDialogCheckbox: () => (/* binding */ OpenStartingNoticeDialogCheckbox),\n/* harmony export */ OpenTextInputDialogCheckbox: () => (/* binding */ OpenTextInputDialogCheckbox),\n/* harmony export */ OpenWaitingDialogCheckbox: () => (/* binding */ OpenWaitingDialogCheckbox),\n/* harmony export */ useGuiState: () => (/* binding */ useGuiState)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../001_provider/001_AppRootProvider */ \"./src/001_provider/001_AppRootProvider.tsx\");\n/* harmony import */ var _hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/useStateControlCheckbox */ \"./src/hooks/useStateControlCheckbox.tsx\");\n\n\n\n\n\n\nvar OpenServerControlCheckbox = \"open-server-control-checkbox\";\nvar OpenModelSettingCheckbox = \"open-model-setting-checkbox\";\nvar OpenDeviceSettingCheckbox = \"open-device-setting-checkbox\";\nvar OpenQualityControlCheckbox = \"open-quality-control-checkbox\";\nvar OpenSpeakerSettingCheckbox = \"open-speaker-setting-checkbox\";\nvar OpenConverterSettingCheckbox = \"open-converter-setting-checkbox\";\nvar OpenAdvancedSettingCheckbox = \"open-advanced-setting-checkbox\";\nvar OpenLabCheckbox = \"open-lab-checkbox\";\nvar OpenLicenseDialogCheckbox = \"open-license-dialog-checkbox\";\nvar OpenWaitingDialogCheckbox = \"open-waiting-dialog-checkbox\";\nvar OpenStartingNoticeDialogCheckbox = \"open-starting-notice-dialog-checkbox\";\nvar OpenModelSlotManagerDialogCheckbox = \"open-model-slot-manager-dialog-checkbox\";\nvar OpenMergeLabDialogCheckbox = \"open-merge-lab-dialog-checkbox\";\nvar OpenAdvancedSettingDialogCheckbox = \"open-advanced-setting-dialog-checkbox\";\nvar OpenGetServerInformationDialogCheckbox = \"open-get-server-information-dialog-checkbox\";\nvar OpenGetClientInformationDialogCheckbox = \"open-get-client-information-dialog-checkbox\";\nvar OpenTextInputDialogCheckbox = \"open-text-input-dialog-checkbox\";\nvar GuiStateContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createContext(null);\nvar useGuiState = function useGuiState() {\n var state = (0,react__WEBPACK_IMPORTED_MODULE_3__.useContext)(GuiStateContext);\n if (!state) {\n throw new Error(\"useGuiState must be used within GuiStateProvider\");\n }\n return state;\n};\nvar GuiStateProvider = function GuiStateProvider(_ref) {\n var children = _ref.children;\n var _useAppRoot = (0,_001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_4__.useAppRoot)(),\n appGuiSettingState = _useAppRoot.appGuiSettingState;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(false),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState, 2),\n isConverting = _useState2[0],\n setIsConverting = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(false),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState3, 2),\n isAnalyzing = _useState4[0],\n setIsAnalyzing = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(0),\n _useState6 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState5, 2),\n modelSlotNum = _useState6[0],\n setModelSlotNum = _useState6[1];\n var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(false),\n _useState8 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState7, 2),\n showPyTorchModelUpload = _useState8[0],\n setShowPyTorchModelUpload = _useState8[1];\n var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)([]),\n _useState10 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState9, 2),\n inputAudioDeviceInfo = _useState10[0],\n setInputAudioDeviceInfo = _useState10[1];\n var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)([]),\n _useState12 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState11, 2),\n outputAudioDeviceInfo = _useState12[0],\n setOutputAudioDeviceInfo = _useState12[1];\n var _useState13 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(\"none\"),\n _useState14 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState13, 2),\n audioInputForGUI = _useState14[0],\n setAudioInputForGUI = _useState14[1];\n var _useState15 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(\"none\"),\n _useState16 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState15, 2),\n audioOutputForGUI = _useState16[0],\n setAudioOutputForGUI = _useState16[1];\n var _useState17 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(false),\n _useState18 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState17, 2),\n fileInputEchoback = _useState18[0],\n setFileInputEchoback = _useState18[1]; //最初のmuteが有効になるように。undefined <-- ??? falseしておけばよさそう。undefinedだとwarningがでる。\n var _useState19 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(\"default\"),\n _useState20 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState19, 2),\n audioOutputForAnalyzer = _useState20[0],\n setAudioOutputForAnalyzer = _useState20[1];\n var _useState21 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(null),\n _useState22 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState21, 2),\n textInputResolve = _useState22[0],\n setTextInputResolve = _useState22[1];\n var reloadDeviceInfo = /*#__PURE__*/function () {\n var _ref2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee() {\n var ms, mediaDeviceInfos, audioInputs, audioOutputs;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return navigator.mediaDevices.getUserMedia({\n video: false,\n audio: true\n });\n case 3:\n ms = _context.sent;\n ms.getTracks().forEach(function (x) {\n x.stop();\n });\n _context.next = 10;\n break;\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](0);\n console.warn(\"Enumerate device error::\", _context.t0);\n case 10:\n _context.next = 12;\n return navigator.mediaDevices.enumerateDevices();\n case 12:\n mediaDeviceInfos = _context.sent;\n audioInputs = mediaDeviceInfos.filter(function (x) {\n return x.kind == \"audioinput\";\n });\n audioInputs.push({\n deviceId: \"none\",\n groupId: \"none\",\n kind: \"audioinput\",\n label: \"none\",\n toJSON: function toJSON() {}\n });\n audioInputs.push({\n deviceId: \"file\",\n groupId: \"file\",\n kind: \"audioinput\",\n label: \"file\",\n toJSON: function toJSON() {}\n });\n audioOutputs = mediaDeviceInfos.filter(function (x) {\n return x.kind == \"audiooutput\";\n });\n audioOutputs.push({\n deviceId: \"none\",\n groupId: \"none\",\n kind: \"audiooutput\",\n label: \"none\",\n toJSON: function toJSON() {}\n });\n // audioOutputs.push({\n // deviceId: \"record\",\n // groupId: \"record\",\n // kind: \"audiooutput\",\n // label: \"record\",\n // toJSON: () => { }\n // })\n return _context.abrupt(\"return\", [audioInputs, audioOutputs]);\n case 19:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[0, 7]]);\n }));\n return function reloadDeviceInfo() {\n return _ref2.apply(this, arguments);\n };\n }();\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(function () {\n var audioInitialize = /*#__PURE__*/function () {\n var _ref3 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee2() {\n var audioInfo;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return reloadDeviceInfo();\n case 2:\n audioInfo = _context2.sent;\n setInputAudioDeviceInfo(audioInfo[0]);\n setOutputAudioDeviceInfo(audioInfo[1]);\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function audioInitialize() {\n return _ref3.apply(this, arguments);\n };\n }();\n audioInitialize();\n }, []);\n\n // (1) Controller Switch\n var openServerControlCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenServerControlCheckbox);\n var openModelSettingCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenModelSettingCheckbox);\n var openDeviceSettingCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenDeviceSettingCheckbox);\n var openQualityControlCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenQualityControlCheckbox);\n var openSpeakerSettingCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenSpeakerSettingCheckbox);\n var openConverterSettingCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenConverterSettingCheckbox);\n var openAdvancedSettingCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenAdvancedSettingCheckbox);\n var openLabCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenLabCheckbox);\n var showWaitingCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenWaitingDialogCheckbox);\n var showStartingNoticeCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenStartingNoticeDialogCheckbox);\n var showModelSlotManagerCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenModelSlotManagerDialogCheckbox);\n var showMergeLabCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenMergeLabDialogCheckbox);\n var showAdvancedSettingCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenAdvancedSettingDialogCheckbox);\n var showGetServerInformationCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenGetServerInformationDialogCheckbox);\n var showGetClientInformationCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenGetClientInformationDialogCheckbox);\n var showTextInputCheckbox = (0,_hooks_useStateControlCheckbox__WEBPACK_IMPORTED_MODULE_5__.useStateControlCheckbox)(OpenTextInputDialogCheckbox);\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(function () {\n openServerControlCheckbox.updateState(true);\n openModelSettingCheckbox.updateState(false);\n openDeviceSettingCheckbox.updateState(true);\n openSpeakerSettingCheckbox.updateState(true);\n openConverterSettingCheckbox.updateState(true);\n openQualityControlCheckbox.updateState(false);\n openLabCheckbox.updateState(false);\n openAdvancedSettingCheckbox.updateState(false);\n showWaitingCheckbox.updateState(false);\n showStartingNoticeCheckbox.updateState(false);\n showModelSlotManagerCheckbox.updateState(false);\n showMergeLabCheckbox.updateState(false);\n showAdvancedSettingCheckbox.updateState(false);\n showGetServerInformationCheckbox.updateState(false);\n showGetClientInformationCheckbox.updateState(false);\n showTextInputCheckbox.updateState(false);\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(function () {\n var show = function show() {\n var _document$getElementB, _document$getElementB2;\n // const lang = window.navigator.language\n // const edition = appGuiSettingState.edition\n // console.log(\"appGuiSettingState.edition\", appGuiSettingState.edition, lang)\n // if ((edition == \"onnxdirectML-cuda\" || edition == \"\") && lang == \"ja\") {\n // return\n // }\n\n (_document$getElementB = document.getElementById(\"dialog\")) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.classList.add(\"dialog-container-show\");\n showStartingNoticeCheckbox.updateState(true);\n (_document$getElementB2 = document.getElementById(\"dialog2\")) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.classList.add(\"dialog-container-show\");\n };\n setTimeout(show);\n }, [appGuiSettingState.edition]);\n var providerValue = {\n stateControls: {\n openServerControlCheckbox: openServerControlCheckbox,\n openModelSettingCheckbox: openModelSettingCheckbox,\n openDeviceSettingCheckbox: openDeviceSettingCheckbox,\n openQualityControlCheckbox: openQualityControlCheckbox,\n openSpeakerSettingCheckbox: openSpeakerSettingCheckbox,\n openConverterSettingCheckbox: openConverterSettingCheckbox,\n openAdvancedSettingCheckbox: openAdvancedSettingCheckbox,\n openLabCheckbox: openLabCheckbox,\n showWaitingCheckbox: showWaitingCheckbox,\n showStartingNoticeCheckbox: showStartingNoticeCheckbox,\n showModelSlotManagerCheckbox: showModelSlotManagerCheckbox,\n showMergeLabCheckbox: showMergeLabCheckbox,\n showAdvancedSettingCheckbox: showAdvancedSettingCheckbox,\n showGetServerInformationCheckbox: showGetServerInformationCheckbox,\n showGetClientInformationCheckbox: showGetClientInformationCheckbox,\n showTextInputCheckbox: showTextInputCheckbox\n },\n isConverting: isConverting,\n setIsConverting: setIsConverting,\n isAnalyzing: isAnalyzing,\n setIsAnalyzing: setIsAnalyzing,\n showPyTorchModelUpload: showPyTorchModelUpload,\n setShowPyTorchModelUpload: setShowPyTorchModelUpload,\n reloadDeviceInfo: reloadDeviceInfo,\n inputAudioDeviceInfo: inputAudioDeviceInfo,\n outputAudioDeviceInfo: outputAudioDeviceInfo,\n audioInputForGUI: audioInputForGUI,\n audioOutputForGUI: audioOutputForGUI,\n fileInputEchoback: fileInputEchoback,\n audioOutputForAnalyzer: audioOutputForAnalyzer,\n setInputAudioDeviceInfo: setInputAudioDeviceInfo,\n setOutputAudioDeviceInfo: setOutputAudioDeviceInfo,\n setAudioInputForGUI: setAudioInputForGUI,\n setAudioOutputForGUI: setAudioOutputForGUI,\n setFileInputEchoback: setFileInputEchoback,\n setAudioOutputForAnalyzer: setAudioOutputForAnalyzer,\n modelSlotNum: modelSlotNum,\n setModelSlotNum: setModelSlotNum,\n textInputResolve: textInputResolve,\n setTextInputResolve: setTextInputResolve\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(GuiStateContext.Provider, {\n value: providerValue\n }, children);\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/001_GuiStateProvider.tsx?");
/***/ }),
/***/ "./src/components/demo/002_ComponentGenerator.tsx":
/*!********************************************************!*\
!*** ./src/components/demo/002_ComponentGenerator.tsx ***!
\********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addToCatalog: () => (/* binding */ addToCatalog),\n/* harmony export */ catalog: () => (/* binding */ catalog),\n/* harmony export */ generateComponent: () => (/* binding */ generateComponent)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components2_100_ModelSlotArea__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components2/100_ModelSlotArea */ \"./src/components/demo/components2/100_ModelSlotArea.tsx\");\n/* harmony import */ var _components2_101_CharacterArea__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components2/101_CharacterArea */ \"./src/components/demo/components2/101_CharacterArea.tsx\");\n/* harmony import */ var _components2_102_ConfigArea__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components2/102_ConfigArea */ \"./src/components/demo/components2/102_ConfigArea.tsx\");\n/* harmony import */ var _components2_001_HeaderArea__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components2/001_HeaderArea */ \"./src/components/demo/components2/001_HeaderArea.tsx\");\n\n\n\n\n\nvar catalog = {};\nvar addToCatalog = function addToCatalog(key, generator) {\n catalog[key] = generator;\n};\nvar generateComponent = function generateComponent(key, props) {\n if (!catalog[key]) {\n console.error(\"not found component generator.\", key);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null);\n }\n return catalog[key](props);\n};\nvar initialize = function initialize() {\n addToCatalog(\"headerArea\", function (props) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components2_001_HeaderArea__WEBPACK_IMPORTED_MODULE_4__.HeaderArea, props);\n });\n addToCatalog(\"modelSlotArea\", function (props) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components2_100_ModelSlotArea__WEBPACK_IMPORTED_MODULE_1__.ModelSlotArea, props);\n });\n addToCatalog(\"characterArea\", function (props) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components2_101_CharacterArea__WEBPACK_IMPORTED_MODULE_2__.CharacterArea, props);\n });\n addToCatalog(\"configArea\", function (props) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components2_102_ConfigArea__WEBPACK_IMPORTED_MODULE_3__.ConfigArea, props);\n });\n};\ninitialize();\n\n//# sourceURL=webpack://demo/./src/components/demo/002_ComponentGenerator.tsx?");
/***/ }),
/***/ "./src/components/demo/010_Demo.tsx":
/*!******************************************!*\
!*** ./src/components/demo/010_Demo.tsx ***!
\******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Demo: () => (/* binding */ Demo)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _900_Dialogs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./900_Dialogs */ \"./src/components/demo/900_Dialogs.tsx\");\n/* harmony import */ var _b00_ModelSlotControl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./b00_ModelSlotControl */ \"./src/components/demo/b00_ModelSlotControl.tsx\");\n/* harmony import */ var _910_Dialogs2__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./910_Dialogs2 */ \"./src/components/demo/910_Dialogs2.tsx\");\n\n\n\n\n\nvar Demo = function Demo() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__.GuiStateProvider, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"main-body\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_910_Dialogs2__WEBPACK_IMPORTED_MODULE_4__.Dialogs2, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_900_Dialogs__WEBPACK_IMPORTED_MODULE_2__.Dialogs, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_b00_ModelSlotControl__WEBPACK_IMPORTED_MODULE_3__.ModelSlotControl, null)));\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/010_Demo.tsx?");
/***/ }),
/***/ "./src/components/demo/900_Dialogs.tsx":
/*!*********************************************!*\
!*** ./src/components/demo/900_Dialogs.tsx ***!
\*********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Dialogs: () => (/* binding */ Dialogs)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _902_WaitingDialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./902_WaitingDialog */ \"./src/components/demo/902_WaitingDialog.tsx\");\n/* harmony import */ var _903_StartingNoticeDialog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./903_StartingNoticeDialog */ \"./src/components/demo/903_StartingNoticeDialog.tsx\");\n/* harmony import */ var _904_ModelSlotManagerDialog__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./904_ModelSlotManagerDialog */ \"./src/components/demo/904_ModelSlotManagerDialog.tsx\");\n/* harmony import */ var _905_MergeLabDialog__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./905_MergeLabDialog */ \"./src/components/demo/905_MergeLabDialog.tsx\");\n/* harmony import */ var _906_AdvancedSettingDialog__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./906_AdvancedSettingDialog */ \"./src/components/demo/906_AdvancedSettingDialog.tsx\");\n/* harmony import */ var _907_GetServerInfomationDialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./907_GetServerInfomationDialog */ \"./src/components/demo/907_GetServerInfomationDialog.tsx\");\n/* harmony import */ var _908_GetClientInfomationDialog__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./908_GetClientInfomationDialog */ \"./src/components/demo/908_GetClientInfomationDialog.tsx\");\n\n\n\n\n\n\n\n\n\nvar Dialogs = function Dialogs() {\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__.useGuiState)();\n var dialogs = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, guiState.stateControls.showWaitingCheckbox.trigger, guiState.stateControls.showStartingNoticeCheckbox.trigger, guiState.stateControls.showModelSlotManagerCheckbox.trigger, guiState.stateControls.showMergeLabCheckbox.trigger, guiState.stateControls.showAdvancedSettingCheckbox.trigger, guiState.stateControls.showGetServerInformationCheckbox.trigger, guiState.stateControls.showGetClientInformationCheckbox.trigger, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-container\",\n id: \"dialog\"\n }, guiState.stateControls.showWaitingCheckbox.trigger, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_902_WaitingDialog__WEBPACK_IMPORTED_MODULE_2__.WaitingDialog, null), guiState.stateControls.showStartingNoticeCheckbox.trigger, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_903_StartingNoticeDialog__WEBPACK_IMPORTED_MODULE_3__.StartingNoticeDialog, null), guiState.stateControls.showModelSlotManagerCheckbox.trigger, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_904_ModelSlotManagerDialog__WEBPACK_IMPORTED_MODULE_4__.ModelSlotManagerDialog, null), guiState.stateControls.showMergeLabCheckbox.trigger, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_905_MergeLabDialog__WEBPACK_IMPORTED_MODULE_5__.MergeLabDialog, null), guiState.stateControls.showAdvancedSettingCheckbox.trigger, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_906_AdvancedSettingDialog__WEBPACK_IMPORTED_MODULE_6__.AdvancedSettingDialog, null), guiState.stateControls.showGetServerInformationCheckbox.trigger, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_907_GetServerInfomationDialog__WEBPACK_IMPORTED_MODULE_7__.GetServerInfomationDialog, null), guiState.stateControls.showGetClientInformationCheckbox.trigger, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_908_GetClientInfomationDialog__WEBPACK_IMPORTED_MODULE_8__.GetClientInfomationDialog, null)));\n return dialogs;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/900_Dialogs.tsx?");
/***/ }),
/***/ "./src/components/demo/902_WaitingDialog.tsx":
/*!***************************************************!*\
!*** ./src/components/demo/902_WaitingDialog.tsx ***!
\***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("var __filename = \"/index.js\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WaitingDialog: () => (/* binding */ WaitingDialog)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../hooks/useMessageBuilder */ \"./src/hooks/useMessageBuilder.ts\");\n\n\nvar WaitingDialog = function WaitingDialog() {\n // const guiState = useGuiState()\n var messageBuilderState = (0,_hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_1__.useMessageBuilder)();\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n messageBuilderState.setMessage(__filename, \"wait\", {\n \"ja\": \"しばらくお待ちください\",\n \"en\": \"please wait...\"\n });\n messageBuilderState.setMessage(__filename, \"wait_sub1\", {\n \"ja\": \"ONNXファイルを生成しています。\",\n \"en\": \"generating ONNX file.\"\n });\n messageBuilderState.setMessage(__filename, \"wait_sub2\", {\n \"ja\": \"しばらくお待ちください(1分程度)。\",\n \"en\": \"please wait... (about 1 min).\"\n });\n }, []);\n var dialog = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n // const closeButtonRow = (\n // <div className=\"body-row split-3-4-3 left-padding-1\">\n // <div className=\"body-item-text\">\n // </div>\n // <div className=\"body-button-container body-button-container-space-around\">\n // <div className=\"body-button\" onClick={() => { guiState.stateControls.showWaitingCheckbox.updateState(false) }} >close</div>\n // </div>\n // <div className=\"body-item-text\"></div>\n // </div>\n // )\n var content = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-row left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-item-text\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-item-text\"\n }, messageBuilderState.getMessage(__filename, \"wait_sub1\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-item-text\"\n }, messageBuilderState.getMessage(__filename, \"wait_sub2\")));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-frame\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-title\"\n }, messageBuilderState.getMessage(__filename, \"wait\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-content\"\n }, content));\n }, []);\n return dialog;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/902_WaitingDialog.tsx?");
/***/ }),
/***/ "./src/components/demo/903_StartingNoticeDialog.tsx":
/*!**********************************************************!*\
!*** ./src/components/demo/903_StartingNoticeDialog.tsx ***!
\**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("var __filename = \"/index.js\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StartingNoticeDialog: () => (/* binding */ StartingNoticeDialog)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _const__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../const */ \"./src/const.ts\");\n/* harmony import */ var _001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../001_provider/001_AppRootProvider */ \"./src/001_provider/001_AppRootProvider.tsx\");\n/* harmony import */ var _hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/useMessageBuilder */ \"./src/hooks/useMessageBuilder.ts\");\n\n\n\n\n\nvar StartingNoticeDialog = function StartingNoticeDialog() {\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__.useGuiState)();\n var _useAppRoot = (0,_001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_3__.useAppRoot)(),\n appGuiSettingState = _useAppRoot.appGuiSettingState;\n var messageBuilderState = (0,_hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_4__.useMessageBuilder)();\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n messageBuilderState.setMessage(__filename, \"support\", {\n \"ja\": \"支援\",\n \"en\": \"Donation\"\n });\n messageBuilderState.setMessage(__filename, \"support_message_1\", {\n \"ja\": \"このソフトウェアを気に入ったら開発者にコーヒーをご馳走してあげよう。黄色いアイコンから。\",\n \"en\": \"This software is supported by donations. Thank you for your support!\"\n });\n messageBuilderState.setMessage(__filename, \"support_message_2\", {\n \"ja\": \"コーヒーをご馳走する。\",\n \"en\": \"I will support a developer by buying coffee.\"\n });\n messageBuilderState.setMessage(__filename, \"directml_1\", {\n \"ja\": \"directML版は実験的バージョンです。以下の既知の問題があります。\",\n \"en\": \"DirectML version is an experimental version. There are the known issues as follows.\"\n });\n messageBuilderState.setMessage(__filename, \"directml_2\", {\n \"ja\": \"(1) 一部の設定変更を行うとgpuを使用していても変換処理が遅くなることが発生します。もしこの現象が発生したらGPUの値を-1にしてから再度0に戻してください。\",\n \"en\": \"(1) When some settings are changed, conversion process becomes slow even when using GPU. If this occurs, reset the GPU value to -1 and then back to 0.\"\n });\n messageBuilderState.setMessage(__filename, \"click_to_start\", {\n \"ja\": \"スタートボタンを押してください。\",\n \"en\": \"Click to start\"\n });\n messageBuilderState.setMessage(__filename, \"start\", {\n \"ja\": \"スタート\",\n \"en\": \"start\"\n });\n }, []);\n var coffeeLink = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n return (0,_const__WEBPACK_IMPORTED_MODULE_2__.isDesktopApp)() ?\n /*#__PURE__*/\n // @ts-ignore\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"link\",\n onClick: function onClick() {\n window.electronAPI.openBrowser(\"https://www.buymeacoffee.com/wokad\");\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n className: \"donate-img\",\n src: \"./assets/buymeacoffee.png\"\n }), \" \", messageBuilderState.getMessage(__filename, \"support_message_2\")) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n className: \"link\",\n href: \"https://www.buymeacoffee.com/wokad\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n className: \"donate-img\",\n src: \"./assets/buymeacoffee.png\"\n }), \" \", messageBuilderState.getMessage(__filename, \"support_message_2\"));\n }, []);\n var dialog = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n var closeButtonRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-row split-3-4-3 left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-item-text\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-button-container body-button-container-space-around\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-button\",\n onClick: function onClick() {\n guiState.stateControls.showStartingNoticeCheckbox.updateState(false);\n }\n }, messageBuilderState.getMessage(__filename, \"start\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-item-text\"\n }));\n var donationMessage = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-content-part\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, messageBuilderState.getMessage(__filename, \"support_message_1\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, coffeeLink));\n var directMLMessage = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-content-part\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, messageBuilderState.getMessage(__filename, \"directml_1\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"left-padding-1\"\n }, messageBuilderState.getMessage(__filename, \"directml_2\")));\n var clickToStartMessage = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-content-part\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, messageBuilderState.getMessage(__filename, \"click_to_start\")));\n var edition = appGuiSettingState.edition;\n var content = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-row\"\n }, donationMessage, edition.indexOf(\"onnxdirectML-cuda\") >= 0 ? directMLMessage : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null), clickToStartMessage);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-frame\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-title\"\n }, \"Message\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-content\"\n }, content, closeButtonRow));\n }, [appGuiSettingState.edition]);\n return dialog;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/903_StartingNoticeDialog.tsx?");
/***/ }),
/***/ "./src/components/demo/904-1_MainScreen.tsx":
/*!**************************************************!*\
!*** ./src/components/demo/904-1_MainScreen.tsx ***!
\**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("var __filename = \"/index.js\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MainScreen: () => (/* binding */ MainScreen)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @dannadori/voice-changer-client-js */ \"./node_modules/@dannadori/voice-changer-client-js/dist/index.js\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../hooks/useMessageBuilder */ \"./src/hooks/useMessageBuilder.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/utils */ \"./src/utils/utils.ts\");\n\n\n\n\n\n\n\n\nvar MainScreen = function MainScreen(props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__.useAppState)(),\n serverSetting = _useAppState.serverSetting;\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_3__.useGuiState)();\n var messageBuilderState = (0,_hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_6__.useMessageBuilder)();\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(function () {\n messageBuilderState.setMessage(__filename, \"change_icon\", {\n \"ja\": \"アイコン変更\",\n \"en\": \"chage icon\"\n });\n messageBuilderState.setMessage(__filename, \"rename\", {\n \"ja\": \"リネーム\",\n \"en\": \"rename\"\n });\n messageBuilderState.setMessage(__filename, \"download\", {\n \"ja\": \"ダウンロード\",\n \"en\": \"download\"\n });\n messageBuilderState.setMessage(__filename, \"terms_of_use\", {\n \"ja\": \"利用規約\",\n \"en\": \"terms of use\"\n });\n messageBuilderState.setMessage(__filename, \"sample\", {\n \"ja\": \"サンプル\",\n \"en\": \"DL sample\"\n });\n messageBuilderState.setMessage(__filename, \"upload\", {\n \"ja\": \"アップロード\",\n \"en\": \"upload\"\n });\n messageBuilderState.setMessage(__filename, \"edit\", {\n \"ja\": \"編集\",\n \"en\": \"edit\"\n });\n messageBuilderState.setMessage(__filename, \"close\", {\n \"ja\": \"閉じる\",\n \"en\": \"close\"\n });\n }, []);\n var screen = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(function () {\n if (props.screen != \"Main\") {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null);\n }\n if (!serverSetting.serverSetting.modelSlots) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null);\n }\n var iconAction = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee(index) {\n var file;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(!serverSetting.serverSetting.modelSlots[index].name || serverSetting.serverSetting.modelSlots[index].name.length == 0)) {\n _context.next = 2;\n break;\n }\n return _context.abrupt(\"return\");\n case 2:\n _context.next = 4;\n return (0,_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_5__.fileSelector)(\"\");\n case 4:\n file = _context.sent;\n if (!((0,_utils_utils__WEBPACK_IMPORTED_MODULE_7__.checkExtention)(file.name, [\"png\", \"jpg\", \"jpeg\", \"gif\"]) == false)) {\n _context.next = 8;\n break;\n }\n alert(\"\\u30B5\\u30E0\\u30CD\\u30A4\\u30EB\\u306E\\u62E1\\u5F35\\u5B50\\u306F\\\".png\\\", \\\".jpg\\\", \\\".jpeg\\\", \\\".gif\\\"\\u3067\\u3042\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\");\n return _context.abrupt(\"return\");\n case 8:\n _context.next = 10;\n return serverSetting.uploadAssets(index, \"iconFile\", file);\n case 10:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function iconAction(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n var nameValueAction = /*#__PURE__*/function () {\n var _ref2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee2(index) {\n var p, text;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!(!serverSetting.serverSetting.modelSlots[index].name || serverSetting.serverSetting.modelSlots[index].name.length == 0)) {\n _context2.next = 2;\n break;\n }\n return _context2.abrupt(\"return\");\n case 2:\n // Open Text Input Dialog\n p = new Promise(function (resolve) {\n guiState.setTextInputResolve({\n resolve: resolve\n });\n });\n guiState.stateControls.showTextInputCheckbox.updateState(true);\n _context2.next = 6;\n return p;\n case 6:\n text = _context2.sent;\n if (!(text.length > 0)) {\n _context2.next = 11;\n break;\n }\n console.log(\"input text:\", text);\n _context2.next = 11;\n return serverSetting.updateModelInfo(index, \"name\", text);\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function nameValueAction(_x2) {\n return _ref2.apply(this, arguments);\n };\n }();\n var fileValueAction = function fileValueAction(url) {\n if (url.length == 0) {\n return;\n }\n var link = document.createElement(\"a\");\n link.href = \"./\" + url;\n link.download = url.replace(/^.*[\\\\\\/]/, '');\n link.click();\n link.remove();\n };\n var closeButtonRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"body-row split-3-4-3 left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"body-item-text\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"body-button-container body-button-container-space-around\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"body-button\",\n onClick: function onClick() {\n props.close();\n }\n }, messageBuilderState.getMessage(__filename, \"close\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"body-item-text\"\n }));\n var slotRow = serverSetting.serverSetting.modelSlots.map(function (x, index) {\n // モデルのアイコン\n var generateIconArea = function generateIconArea(slotIndex, iconUrl, tooltip) {\n var realIconUrl = iconUrl.length > 0 ? iconUrl : \"/assets/icons/noimage.png\";\n var iconDivClass = tooltip ? \"tooltip\" : \"\";\n var iconClass = tooltip ? \"model-slot-icon-pointable\" : \"model-slot-icon\";\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: iconDivClass\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"img\", {\n src: realIconUrl,\n className: iconClass,\n onClick: function onClick() {\n iconAction(slotIndex);\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"tooltip-text tooltip-text-thin tooltip-text-lower\"\n }, messageBuilderState.getMessage(__filename, \"change_icon\")));\n };\n\n // モデルの名前\n var generateNameRow = function generateNameRow(slotIndex, name, termsOfUseUrl) {\n var nameValueClass = name.length > 0 ? \"model-slot-detail-row-value-pointable tooltip\" : \"model-slot-detail-row-value\";\n var displayName = name.length > 0 ? name : \"blank\";\n var termOfUseUrlLink = termsOfUseUrl.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"a\", {\n href: termsOfUseUrl,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"body-item-text-small\"\n }, \"[\", messageBuilderState.getMessage(__filename, \"terms_of_use\"), \"]\") : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"model-slot-detail-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"model-slot-detail-row-label\"\n }, \"[\", slotIndex, \"]\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: nameValueClass,\n onClick: function onClick() {\n nameValueAction(slotIndex);\n }\n }, displayName, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"tooltip-text tooltip-text-thin\"\n }, messageBuilderState.getMessage(__filename, \"rename\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"\"\n }, termOfUseUrlLink));\n };\n\n // モデルを構成するファイル\n var generateFileRow = function generateFileRow(title, filePath) {\n var fileValueClass = filePath.length > 0 ? \"model-slot-detail-row-value-download tooltip\" : \"model-slot-detail-row-value\";\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n key: \"\".concat(title),\n className: \"model-slot-detail-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"model-slot-detail-row-label\"\n }, title, \":\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: fileValueClass,\n onClick: function onClick() {\n fileValueAction(filePath);\n }\n }, (0,_utils_utils__WEBPACK_IMPORTED_MODULE_7__.trimfileName)(filePath, 20), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"tooltip-text tooltip-text-thin\"\n }, messageBuilderState.getMessage(__filename, \"download\"))));\n };\n\n // その他情報欄\n var generateInfoRow = function generateInfoRow(info) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"model-slot-detail-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"model-slot-detail-row-label\"\n }, \"info: \"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"model-slot-detail-row-value\"\n }, info), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"\"\n }));\n };\n var iconArea = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null);\n var nameRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null);\n var fileRows = [];\n var infoRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null);\n if (x.voiceChangerType == \"RVC\") {\n var slotInfo = x;\n iconArea = generateIconArea(index, slotInfo.iconFile, true);\n nameRow = generateNameRow(index, slotInfo.name, slotInfo.termsOfUseUrl);\n fileRows.push(generateFileRow(\"model\", slotInfo.modelFile));\n fileRows.push(generateFileRow(\"index\", slotInfo.indexFile));\n infoRow = generateInfoRow(\"\".concat(slotInfo.f0 ? \"f0\" : \"nof0\", \", \").concat(slotInfo.samplingRate, \", \").concat(slotInfo.embChannels, \", \").concat(slotInfo.modelType, \", \").concat(slotInfo.defaultTune, \", \").concat(slotInfo.defaultIndexRatio, \", \").concat(slotInfo.defaultProtect));\n } else if (x.voiceChangerType == \"MMVCv13\") {\n var _slotInfo = x;\n iconArea = generateIconArea(index, _slotInfo.iconFile, true);\n nameRow = generateNameRow(index, _slotInfo.name, _slotInfo.termsOfUseUrl);\n fileRows.push(generateFileRow(\"config\", _slotInfo.configFile));\n fileRows.push(generateFileRow(\"model\", _slotInfo.modelFile));\n infoRow = generateInfoRow(\"\");\n } else if (x.voiceChangerType == \"MMVCv15\") {\n var _slotInfo2 = x;\n iconArea = generateIconArea(index, _slotInfo2.iconFile, true);\n nameRow = generateNameRow(index, _slotInfo2.name, _slotInfo2.termsOfUseUrl);\n fileRows.push(generateFileRow(\"config\", _slotInfo2.configFile));\n fileRows.push(generateFileRow(\"model\", _slotInfo2.modelFile));\n infoRow = generateInfoRow(\"f0factor:\".concat(_slotInfo2.f0Factor));\n } else if (x.voiceChangerType == \"so-vits-svc-40\") {\n var _slotInfo3 = x;\n iconArea = generateIconArea(index, _slotInfo3.iconFile, true);\n nameRow = generateNameRow(index, _slotInfo3.name, _slotInfo3.termsOfUseUrl);\n fileRows.push(generateFileRow(\"config\", _slotInfo3.configFile));\n fileRows.push(generateFileRow(\"model\", _slotInfo3.modelFile));\n fileRows.push(generateFileRow(\"cluster\", _slotInfo3.clusterFile));\n infoRow = generateInfoRow(\"tune:\".concat(_slotInfo3.defaultTune, \",cluster:\").concat(_slotInfo3.defaultClusterInferRatio, \",noise:\").concat(_slotInfo3.noiseScale));\n } else if (x.voiceChangerType == \"DDSP-SVC\") {\n var _slotInfo4 = x;\n iconArea = generateIconArea(index, _slotInfo4.iconFile, true);\n nameRow = generateNameRow(index, _slotInfo4.name, _slotInfo4.termsOfUseUrl);\n fileRows.push(generateFileRow(\"config\", _slotInfo4.configFile));\n fileRows.push(generateFileRow(\"model\", _slotInfo4.modelFile));\n fileRows.push(generateFileRow(\"diff conf\", _slotInfo4.diffConfigFile));\n fileRows.push(generateFileRow(\"diff model\", _slotInfo4.diffModelFile));\n infoRow = generateInfoRow(\"tune:\".concat(_slotInfo4.defaultTune, \",acc:\").concat(_slotInfo4.acc, \",ks:\").concat(_slotInfo4.kstep, \", diff:\").concat(_slotInfo4.diffusion, \",enh:\").concat(_slotInfo4.enhancer));\n } else {\n iconArea = generateIconArea(index, \"/assets/icons/blank.png\", false);\n nameRow = generateNameRow(index, \"\", \"\");\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n key: index,\n className: \"model-slot\"\n }, iconArea, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"model-slot-detail\"\n }, nameRow, fileRows, infoRow), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"model-slot-buttons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"model-slot-button\",\n onClick: function onClick() {\n props.openFileUploader(index);\n }\n }, messageBuilderState.getMessage(__filename, \"upload\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"model-slot-button\",\n onClick: function onClick() {\n props.openSampleDownloader(index);\n }\n }, messageBuilderState.getMessage(__filename, \"sample\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"model-slot-button\",\n onClick: function onClick() {\n props.openEditor(index);\n }\n }, messageBuilderState.getMessage(__filename, \"edit\"))));\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"dialog-frame\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"dialog-title\"\n }, \"Model Slot Configuration\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"dialog-fixed-size-content\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"model-slot-container\"\n }, slotRow), closeButtonRow));\n }, [props.screen, serverSetting.serverSetting]);\n return screen;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/904-1_MainScreen.tsx?");
/***/ }),
/***/ "./src/components/demo/904-2_SampleDownloader.tsx":
/*!********************************************************!*\
!*** ./src/components/demo/904-2_SampleDownloader.tsx ***!
\********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("var __filename = \"/index.js\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SampleDownloaderScreen: () => (/* binding */ SampleDownloaderScreen)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/useMessageBuilder */ \"./src/hooks/useMessageBuilder.ts\");\n\n\n\n\n\n\nvar SampleDownloaderScreen = function SampleDownloaderScreen(props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__.useAppState)(),\n serverSetting = _useAppState.serverSetting;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(\"All\"),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState, 2),\n lang = _useState2[0],\n setLang = _useState2[1];\n var messageBuilderState = (0,_hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_5__.useMessageBuilder)();\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n messageBuilderState.setMessage(__filename, \"header_message\", {\n \"ja\": \"サンプルをダウンロードしてください. 対象:\",\n \"en\": \"Download Sample for\"\n });\n messageBuilderState.setMessage(__filename, \"lang\", {\n \"ja\": \"言語\",\n \"en\": \"Lang\"\n });\n messageBuilderState.setMessage(__filename, \"back\", {\n \"ja\": \"戻る\",\n \"en\": \"back\"\n });\n messageBuilderState.setMessage(__filename, \"terms_of_use\", {\n \"ja\": \"利用規約\",\n \"en\": \"terms of use\"\n });\n messageBuilderState.setMessage(__filename, \"download\", {\n \"ja\": \"ダウンロード\",\n \"en\": \"download\"\n });\n }, []);\n\n /////////////////////////////////////////\n // Sample Downloader\n /////////////////////////////////////////\n var screen = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n if (props.screen != \"SampleDownloader\") {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null);\n }\n if (!serverSetting.serverSetting.modelSlots) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null);\n }\n var langs = serverSetting.serverSetting.sampleModels.reduce(function (prev, cur) {\n if (prev.includes(cur.lang) == false) {\n prev.push(cur.lang);\n }\n return prev;\n }, [\"All\"]);\n var langOptions = langs.map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"option\", {\n key: x,\n value: x\n }, x);\n });\n var onDownloadSampleClicked = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee(id) {\n var uploadParams;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n uploadParams = {\n voiceChangerType: \"RVC\",\n slot: props.targetIndex,\n isSampleMode: true,\n sampleId: id,\n files: [],\n params: {\n rvcIndexDownload: true\n }\n };\n _context.prev = 1;\n _context.next = 4;\n return serverSetting.uploadModel(uploadParams);\n case 4:\n _context.next = 9;\n break;\n case 6:\n _context.prev = 6;\n _context.t0 = _context[\"catch\"](1);\n alert(_context.t0);\n case 9:\n props.backToSlotManager();\n // setMode(\"localFile\")\n case 10:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[1, 6]]);\n }));\n return function onDownloadSampleClicked(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n var options = serverSetting.serverSetting.sampleModels.filter(function (x) {\n return lang == \"All\" ? true : x.lang == lang;\n }).map(function (x, index) {\n var termOfUseUrlLink = x.termsOfUseUrl && x.termsOfUseUrl.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"a\", {\n href: x.termsOfUseUrl,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"body-item-text-small\"\n }, \"[\", messageBuilderState.getMessage(__filename, \"terms_of_use\"), \"]\") : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n key: index,\n className: \"model-slot\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"img\", {\n src: x.icon,\n className: \"model-slot-icon\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-detail\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-detail-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-detail-row-label\"\n }, \"name:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-detail-row-value\"\n }, x.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"\"\n }, termOfUseUrlLink)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-detail-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-detail-row-label\"\n }, \"info: \"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-detail-row-value\"\n }, x.modelType, \",\", x.f0 ? \"f0\" : \"nof0\", \",\", x.sampleRate), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"\"\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-buttons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-button\",\n onClick: function onClick() {\n onDownloadSampleClicked(x.id);\n }\n }, messageBuilderState.getMessage(__filename, \"download\"))));\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"dialog-frame\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"dialog-title\"\n }, \"Sample Downloader\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"dialog-fixed-size-content\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-header\"\n }, messageBuilderState.getMessage(__filename, \"header_message\"), \" Slot[\", props.targetIndex, \"]\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"span\", {\n onClick: function onClick() {\n props.backToSlotManager();\n },\n className: \"model-slot-header-button\"\n }, \"<<\", messageBuilderState.getMessage(__filename, \"back\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", null, messageBuilderState.getMessage(__filename, \"lang\"), \":\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"select\", {\n value: lang,\n onChange: function onChange(e) {\n setLang(e.target.value);\n }\n }, langOptions)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-container\"\n }, options)));\n }, [props.screen, props.targetIndex, lang, serverSetting.serverSetting]);\n return screen;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/904-2_SampleDownloader.tsx?");
/***/ }),
/***/ "./src/components/demo/904-3_FileUploader.tsx":
/*!****************************************************!*\
!*** ./src/components/demo/904-3_FileUploader.tsx ***!
\****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("var __filename = \"/index.js\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FileUploaderScreen: () => (/* binding */ FileUploaderScreen)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @dannadori/voice-changer-client-js */ \"./node_modules/@dannadori/voice-changer-client-js/dist/index.js\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../hooks/useMessageBuilder */ \"./src/hooks/useMessageBuilder.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/utils */ \"./src/utils/utils.ts\");\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\n\nvar FileUploaderScreen = function FileUploaderScreen(props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__.useAppState)(),\n serverSetting = _useAppState.serverSetting;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(\"RVC\"),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState, 2),\n voiceChangerType = _useState2[0],\n setVoiceChangerType = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState3, 2),\n uploadSetting = _useState4[0],\n setUploadSetting = _useState4[1];\n var messageBuilderState = (0,_hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_7__.useMessageBuilder)();\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n messageBuilderState.setMessage(__filename, \"header_message\", {\n \"ja\": \"ファイルをアップロードしてください. 対象:\",\n \"en\": \"Upload Files for \"\n });\n messageBuilderState.setMessage(__filename, \"back\", {\n \"ja\": \"戻る\",\n \"en\": \"back\"\n });\n messageBuilderState.setMessage(__filename, \"select\", {\n \"ja\": \"ファイル選択\",\n \"en\": \"select file\"\n });\n messageBuilderState.setMessage(__filename, \"upload\", {\n \"ja\": \"アップロード\",\n \"en\": \"upload\"\n });\n messageBuilderState.setMessage(__filename, \"uploading\", {\n \"ja\": \"アップロード中\",\n \"en\": \"uploading\"\n });\n messageBuilderState.setMessage(__filename, \"alert-model-ext\", {\n \"ja\": \"ファイルの拡張子は次のモノである必要があります。\",\n \"en\": \"extension of file should be the following.\"\n });\n messageBuilderState.setMessage(__filename, \"alert-model-file\", {\n \"ja\": \"ファイルが選択されていません\",\n \"en\": \"file is not selected.\"\n });\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {\n setUploadSetting({\n voiceChangerType: voiceChangerType,\n slot: props.targetIndex,\n isSampleMode: false,\n sampleId: null,\n files: [],\n params: {}\n });\n }, [props.targetIndex, voiceChangerType]);\n var screen = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n if (props.screen != \"FileUploader\") {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n }\n var vcTypeOptions = Object.values(_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__.VoiceChangerType).map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n key: x,\n value: x\n }, x);\n });\n var checkModelSetting = function checkModelSetting(setting) {\n if (setting.voiceChangerType == \"RVC\") {\n var enough = !!setting.files.find(function (x) {\n return x.kind == \"rvcModel\";\n });\n return enough;\n } else if (setting.voiceChangerType == \"MMVCv13\") {\n var _enough = !!setting.files.find(function (x) {\n return x.kind == \"mmvcv13Model\";\n }) && !!setting.files.find(function (x) {\n return x.kind == \"mmvcv13Config\";\n });\n return _enough;\n } else if (setting.voiceChangerType == \"MMVCv15\") {\n var _enough2 = !!setting.files.find(function (x) {\n return x.kind == \"mmvcv15Model\";\n }) && !!setting.files.find(function (x) {\n return x.kind == \"mmvcv15Config\";\n });\n return _enough2;\n } else if (setting.voiceChangerType == \"so-vits-svc-40\") {\n var _enough3 = !!setting.files.find(function (x) {\n return x.kind == \"soVitsSvc40Config\";\n }) && !!setting.files.find(function (x) {\n return x.kind == \"soVitsSvc40Model\";\n });\n return _enough3;\n } else if (setting.voiceChangerType == \"DDSP-SVC\") {\n var _enough4 = !!setting.files.find(function (x) {\n return x.kind == \"ddspSvcModel\";\n }) && !!setting.files.find(function (x) {\n return x.kind == \"ddspSvcModelConfig\";\n }) && !!setting.files.find(function (x) {\n return x.kind == \"ddspSvcDiffusion\";\n }) && !!setting.files.find(function (x) {\n return x.kind == \"ddspSvcDiffusionConfig\";\n });\n return _enough4;\n }\n return false;\n };\n var generateFileRow = function generateFileRow(setting, title, kind, ext) {\n var dir = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : \"\";\n var selectedFile = setting.files.find(function (x) {\n return x.kind == kind;\n });\n var selectedFilename = (selectedFile === null || selectedFile === void 0 ? void 0 : selectedFile.file.name) || \"\";\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n key: \"\".concat(title),\n className: \"file-uploader-file-select-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"file-uploader-file-select-row-label\"\n }, title, \":\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"file-uploader-file-select-row-value\"\n }, (0,_utils_utils__WEBPACK_IMPORTED_MODULE_8__.trimfileName)(selectedFilename, 30)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"file-uploader-file-select-row-button\",\n onClick: /*#__PURE__*/(0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() {\n var file, alertMessage;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return (0,_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__.fileSelector)(\"\");\n case 2:\n file = _context.sent;\n if (!((0,_utils_utils__WEBPACK_IMPORTED_MODULE_8__.checkExtention)(file.name, ext) == false)) {\n _context.next = 7;\n break;\n }\n alertMessage = \"\".concat(messageBuilderState.getMessage(__filename, \"alert-model-ext\"), \" \").concat(ext);\n alert(alertMessage);\n return _context.abrupt(\"return\");\n case 7:\n if (selectedFile) {\n selectedFile.file = file;\n } else {\n setting.files.push({\n kind: kind,\n file: file,\n dir: dir\n });\n }\n setUploadSetting(_objectSpread({}, setting));\n case 9:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }))\n }, messageBuilderState.getMessage(__filename, \"select\")));\n };\n var generateFileRowsByVCType = function generateFileRowsByVCType(vcType) {\n var rows = [];\n if (vcType == \"RVC\") {\n rows.push(generateFileRow(uploadSetting, \"Model\", \"rvcModel\", [\"pth\", \"onnx\"]));\n rows.push(generateFileRow(uploadSetting, \"Index\", \"rvcIndex\", [\"index\", \"bin\"]));\n } else if (vcType == \"MMVCv13\") {\n rows.push(generateFileRow(uploadSetting, \"Config\", \"mmvcv13Config\", [\"json\"]));\n rows.push(generateFileRow(uploadSetting, \"Model\", \"mmvcv13Model\", [\"pth\", \"onnx\"]));\n } else if (vcType == \"MMVCv15\") {\n rows.push(generateFileRow(uploadSetting, \"Config\", \"mmvcv15Config\", [\"json\"]));\n rows.push(generateFileRow(uploadSetting, \"Corres\", \"mmvcv15Correspondence\", [\"txt\"]));\n rows.push(generateFileRow(uploadSetting, \"Model\", \"mmvcv15Model\", [\"pth\", \"onnx\"]));\n } else if (vcType == \"so-vits-svc-40\") {\n rows.push(generateFileRow(uploadSetting, \"Config\", \"soVitsSvc40Config\", [\"json\"]));\n rows.push(generateFileRow(uploadSetting, \"Model\", \"soVitsSvc40Model\", [\"pth\"]));\n rows.push(generateFileRow(uploadSetting, \"Cluster\", \"soVitsSvc40Cluster\", [\"pth\", \"pt\"]));\n } else if (vcType == \"DDSP-SVC\") {\n rows.push(generateFileRow(uploadSetting, \"Config\", \"ddspSvcModelConfig\", [\"yaml\"], \"model/\"));\n rows.push(generateFileRow(uploadSetting, \"Model\", \"ddspSvcModel\", [\"pth\", \"pt\"], \"model/\"));\n rows.push(generateFileRow(uploadSetting, \"Config(diff)\", \"ddspSvcDiffusionConfig\", [\"yaml\"], \"diff/\"));\n rows.push(generateFileRow(uploadSetting, \"Model(diff)\", \"ddspSvcDiffusion\", [\"pth\", \"pt\"], \"diff/\"));\n }\n return rows;\n };\n var fileRows = generateFileRowsByVCType(voiceChangerType);\n\n // appState.serverSetting.uploadProgress == 0 ? `loading model...(wait about 20sec)` : `processing.... ${appState.serverSetting.uploadProgress.toFixed(1)}%` : \"\"\n\n var buttonLabel = serverSetting.uploadProgress == 0 ? messageBuilderState.getMessage(__filename, \"upload\") : messageBuilderState.getMessage(__filename, \"uploading\") + \"(\".concat(serverSetting.uploadProgress.toFixed(1), \"%)\");\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"dialog-frame\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"dialog-title\"\n }, \"File Uploader\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"dialog-fixed-size-content\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"file-uploader-header\"\n }, messageBuilderState.getMessage(__filename, \"header_message\"), \" Slot[\", props.targetIndex, \"]\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", {\n onClick: function onClick() {\n props.backToSlotManager();\n },\n className: \"file-uploader-header-button\"\n }, \"<<\", messageBuilderState.getMessage(__filename, \"back\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"file-uploader-voice-changer-select\"\n }, \"VoiceChangerType:\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n value: voiceChangerType,\n onChange: function onChange(e) {\n setVoiceChangerType(e.target.value);\n }\n }, vcTypeOptions)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"file-uploader-file-select-container\"\n }, fileRows), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"file-uploader-file-select-upload-button-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"file-uploader-file-select-upload-button\",\n onClick: function onClick() {\n if (!uploadSetting) {\n return;\n }\n if (serverSetting.uploadProgress != 0) {\n return;\n }\n if (checkModelSetting(uploadSetting)) {\n serverSetting.uploadModel(uploadSetting).then(function () {\n props.backToSlotManager();\n });\n } else {\n var errorMessage = messageBuilderState.getMessage(__filename, \"alert-model-file\");\n alert(errorMessage);\n }\n }\n }, buttonLabel))));\n }, [props.screen, props.targetIndex, voiceChangerType, uploadSetting, serverSetting.uploadModel, serverSetting.uploadProgress]);\n return screen;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/904-3_FileUploader.tsx?");
/***/ }),
/***/ "./src/components/demo/904-4_Editor.tsx":
/*!**********************************************!*\
!*** ./src/components/demo/904-4_Editor.tsx ***!
\**********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("var __filename = \"/index.js\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EditorScreen: () => (/* binding */ EditorScreen)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../hooks/useMessageBuilder */ \"./src/hooks/useMessageBuilder.ts\");\n\n\n\n\n\n\n\nvar EditorScreen = function EditorScreen(props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__.useAppState)(),\n serverSetting = _useAppState.serverSetting;\n var messageBuilderState = (0,_hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_6__.useMessageBuilder)();\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(0),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState, 2),\n targetId = _useState2[0],\n setTargetId = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState3, 2),\n targetName = _useState4[0],\n setTargetName = _useState4[1];\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n messageBuilderState.setMessage(__filename, \"header_message\", {\n \"ja\": \"詳細設定: \",\n \"en\": \"Edit \"\n });\n messageBuilderState.setMessage(__filename, \"edit_speaker\", {\n \"ja\": \"話者登録\",\n \"en\": \"Speaker ID\"\n });\n messageBuilderState.setMessage(__filename, \"back\", {\n \"ja\": \"戻る\",\n \"en\": \"back\"\n });\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {\n var targetSlot = serverSetting.serverSetting.modelSlots[props.targetIndex];\n if (!targetSlot) {\n return;\n }\n var currentName = !!targetSlot.speakers[targetId] ? targetSlot.speakers[targetId] : \"\";\n setTargetName(currentName);\n }, [targetId]);\n var screen = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n if (props.screen != \"Editor\") {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n }\n var targetSlot = serverSetting.serverSetting.modelSlots[props.targetIndex];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"dialog-frame\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"dialog-title\"\n }, \"Model Slot Editor\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"dialog-fixed-size-content\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"file-uploader-header\"\n }, messageBuilderState.getMessage(__filename, \"header_message\"), \" Slot[\", props.targetIndex, \"]\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", {\n onClick: function onClick() {\n props.backToSlotManager();\n },\n className: \"file-uploader-header-button\"\n }, \"<<\", messageBuilderState.getMessage(__filename, \"back\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"edit-model-slot-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"edit-model-slot-title\"\n }, messageBuilderState.getMessage(__filename, \"edit_speaker\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"edit-model-slot-speakers\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"edit-model-slot-speakers-id-label\"\n }, \"ID:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"edit-model-slot-speakers-id-select\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n name: \"\",\n id: \"\",\n value: targetId,\n onChange: function onChange(e) {\n setTargetId(Number(e.target.value));\n }\n }, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Array(127).keys()).map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n key: x,\n value: x\n }, x);\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"edit-model-slot-speakers-name-label\"\n }, \"Name:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"edit-model-slot-speakers-name-input\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"input\", {\n id: \"edit-model-slot-speakers-name-input\",\n value: targetName,\n onChange: function onChange(e) {\n setTargetName(e.target.value);\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"edit-model-slot-speakers-buttons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"edit-model-slot-speakers-button\",\n onClick: /*#__PURE__*/(0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() {\n var inputElem;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n inputElem = document.getElementById(\"edit-model-slot-speakers-name-input\");\n targetSlot.speakers[targetId] = inputElem.value;\n _context.next = 4;\n return serverSetting.updateModelInfo(props.targetIndex, \"speakers\", JSON.stringify(targetSlot.speakers));\n case 4:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }))\n }, \"set\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"edit-model-slot-speakers-button\",\n onClick: /*#__PURE__*/(0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n delete targetSlot.speakers[targetId];\n _context2.next = 3;\n return serverSetting.updateModelInfo(props.targetIndex, \"speakers\", JSON.stringify(targetSlot.speakers));\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }))\n }, \"del\")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"edit-model-slot-row\"\n })));\n }, [props.screen, props.targetIndex, targetId, targetName]);\n return screen;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/904-4_Editor.tsx?");
/***/ }),
/***/ "./src/components/demo/904_ModelSlotManagerDialog.tsx":
/*!************************************************************!*\
!*** ./src/components/demo/904_ModelSlotManagerDialog.tsx ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModelSlotManagerDialog: () => (/* binding */ ModelSlotManagerDialog),\n/* harmony export */ ModelSlotManagerDialogScreen: () => (/* binding */ ModelSlotManagerDialogScreen),\n/* harmony export */ ModelSlotSettingMode: () => (/* binding */ ModelSlotSettingMode)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _904_1_MainScreen__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./904-1_MainScreen */ \"./src/components/demo/904-1_MainScreen.tsx\");\n/* harmony import */ var _904_2_SampleDownloader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./904-2_SampleDownloader */ \"./src/components/demo/904-2_SampleDownloader.tsx\");\n/* harmony import */ var _904_3_FileUploader__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./904-3_FileUploader */ \"./src/components/demo/904-3_FileUploader.tsx\");\n/* harmony import */ var _904_4_Editor__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./904-4_Editor */ \"./src/components/demo/904-4_Editor.tsx\");\n\n\n\n\n\n\n\nvar ModelSlotSettingMode = {\n \"localFile\": \"localFile\",\n \"fromNet\": \"fromNet\"\n};\nvar ModelSlotManagerDialogScreen = {\n \"Main\": \"Main\",\n \"SampleDownloader\": \"SampleDownloader\",\n \"FileUploader\": \"FileUploader\",\n \"Editor\": \"Editor\"\n};\nvar ModelSlotManagerDialog = function ModelSlotManagerDialog() {\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_2__.useGuiState)();\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"Main\"),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState, 2),\n screen = _useState2[0],\n setScreen = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState3, 2),\n targetIndex = _useState4[0],\n setTargetIndex = _useState4[1];\n var dialog = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n var close = function close() {\n guiState.stateControls.showModelSlotManagerCheckbox.updateState(false);\n };\n var openSampleDownloader = function openSampleDownloader(index) {\n setTargetIndex(index);\n setScreen(\"SampleDownloader\");\n };\n var openFileUploader = function openFileUploader(index) {\n setTargetIndex(index);\n setScreen(\"FileUploader\");\n };\n var openEditor = function openEditor(index) {\n setTargetIndex(index);\n setScreen(\"Editor\");\n };\n var backToSlotManager = function backToSlotManager() {\n setScreen(\"Main\");\n };\n var mainScreen = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_904_1_MainScreen__WEBPACK_IMPORTED_MODULE_3__.MainScreen, {\n screen: screen,\n close: close,\n openSampleDownloader: openSampleDownloader,\n openFileUploader: openFileUploader,\n openEditor: openEditor\n });\n var sampleDownloaderScreen = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_904_2_SampleDownloader__WEBPACK_IMPORTED_MODULE_4__.SampleDownloaderScreen, {\n screen: screen,\n targetIndex: targetIndex,\n close: close,\n backToSlotManager: backToSlotManager\n });\n var fileUploaderScreen = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_904_3_FileUploader__WEBPACK_IMPORTED_MODULE_5__.FileUploaderScreen, {\n screen: screen,\n targetIndex: targetIndex,\n close: close,\n backToSlotManager: backToSlotManager\n });\n var editorScreen = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_904_4_Editor__WEBPACK_IMPORTED_MODULE_6__.EditorScreen, {\n screen: screen,\n targetIndex: targetIndex,\n close: close,\n backToSlotManager: backToSlotManager\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"dialog-frame\"\n }, mainScreen, sampleDownloaderScreen, fileUploaderScreen, editorScreen);\n }, [screen, targetIndex]);\n return dialog;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/904_ModelSlotManagerDialog.tsx?");
/***/ }),
/***/ "./src/components/demo/905_MergeLabDialog.tsx":
/*!****************************************************!*\
!*** ./src/components/demo/905_MergeLabDialog.tsx ***!
\****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MergeLabDialog: () => (/* binding */ MergeLabDialog)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @dannadori/voice-changer-client-js */ \"./node_modules/@dannadori/voice-changer-client-js/dist/index.js\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\nvar MergeLabDialog = function MergeLabDialog() {\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_2__.useGuiState)();\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_3__.useAppState)(),\n serverSetting = _useAppState.serverSetting;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\"),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState, 2),\n currentFilter = _useState2[0],\n setCurrentFilter = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState3, 2),\n mergeElements = _useState4[0],\n setMergeElements = _useState4[1];\n\n // スロットが変更されたときの初期化処理\n var newSlotChangeKey = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n if (!serverSetting.serverSetting.modelSlots) {\n return \"\";\n }\n return serverSetting.serverSetting.modelSlots.reduce(function (prev, cur) {\n return prev + \"_\" + cur.modelFile;\n }, \"\");\n }, [serverSetting.serverSetting.modelSlots]);\n var filterItems = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n return serverSetting.serverSetting.modelSlots.reduce(function (prev, cur) {\n if (cur.voiceChangerType != \"RVC\") {\n return prev;\n }\n var curRVC = cur;\n var key = \"\".concat(curRVC.modelType, \",\").concat(cur.samplingRate, \",\").concat(curRVC.embChannels);\n var val = {\n type: curRVC.modelType,\n samplingRate: cur.samplingRate,\n embChannels: curRVC.embChannels\n };\n var existKeys = Object.keys(prev);\n if (!cur.modelFile || cur.modelFile.length == 0) {\n return prev;\n }\n if (curRVC.modelType == \"onnxRVC\" || curRVC.modelType == \"onnxRVCNono\") {\n return prev;\n }\n if (!existKeys.includes(key)) {\n prev[key] = val;\n }\n return prev;\n }, {});\n }, [newSlotChangeKey]);\n var models = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n return serverSetting.serverSetting.modelSlots.filter(function (x) {\n if (x.voiceChangerType != \"RVC\") {\n return;\n }\n var xRVC = x;\n var filterVals = filterItems[currentFilter];\n if (!filterVals) {\n return false;\n }\n if (xRVC.modelType == filterVals.type && xRVC.samplingRate == filterVals.samplingRate && xRVC.embChannels == filterVals.embChannels) {\n return true;\n } else {\n return false;\n }\n });\n }, [filterItems, currentFilter]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n if (Object.keys(filterItems).length > 0) {\n setCurrentFilter(Object.keys(filterItems)[0]);\n }\n }, [filterItems]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n var newMergeElements = models.map(function (x) {\n return {\n filename: x.modelFile,\n strength: 0\n };\n });\n setMergeElements(newMergeElements);\n }, [models]);\n var dialog = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n var closeButtonRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"body-row split-3-4-3 left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"body-item-text\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"body-button-container body-button-container-space-around\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"body-button\",\n onClick: function onClick() {\n guiState.stateControls.showMergeLabCheckbox.updateState(false);\n }\n }, \"close\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"body-item-text\"\n }));\n var filterOptions = Object.keys(filterItems).map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"option\", {\n key: x,\n value: x\n }, x);\n }).filter(function (x) {\n return x != null;\n });\n var onMergeElementsChanged = function onMergeElementsChanged(filename, strength) {\n var newMergeElements = mergeElements.map(function (x) {\n if (x.filename == filename) {\n return {\n filename: x.filename,\n strength: strength\n };\n } else {\n return x;\n }\n });\n setMergeElements(newMergeElements);\n };\n var onMergeClicked = function onMergeClicked() {\n serverSetting.mergeModel({\n voiceChangerType: _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_4__.VoiceChangerType.RVC,\n command: \"mix\",\n files: mergeElements\n });\n };\n var modelList = mergeElements.map(function (x, index) {\n var _models$find;\n var name = ((_models$find = models.find(function (model) {\n return model.modelFile == x.filename;\n })) === null || _models$find === void 0 ? void 0 : _models$find.name) || \"\";\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n key: index,\n className: \"merge-lab-model-item\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", null, name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"input\", {\n type: \"range\",\n className: \"body-item-input-slider\",\n min: \"0\",\n max: \"100\",\n step: \"1\",\n value: x.strength,\n onChange: function onChange(e) {\n onMergeElementsChanged(x.filename, Number(e.target.value));\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"body-item-input-slider-val\"\n }, x.strength)));\n });\n var content = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"merge-lab-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"merge-lab-type-filter\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", null, \"Type:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"select\", {\n value: currentFilter,\n onChange: function onChange(e) {\n setCurrentFilter(e.target.value);\n }\n }, filterOptions))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"merge-lab-manipulator\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"merge-lab-model-list\"\n }, modelList), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"merge-lab-merge-buttons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"merge-lab-merge-buttons-notice\"\n }, \"The merged model is stored in the final slot. If you assign this slot, it will be overwritten.\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"merge-lab-merge-button\",\n onClick: onMergeClicked\n }, \"merge\"))));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"dialog-frame\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"dialog-title\"\n }, \"MergeLab\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"dialog-content\"\n }, content, closeButtonRow));\n }, [newSlotChangeKey, currentFilter, mergeElements, models]);\n return dialog;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/905_MergeLabDialog.tsx?");
/***/ }),
/***/ "./src/components/demo/906_AdvancedSettingDialog.tsx":
/*!***********************************************************!*\
!*** ./src/components/demo/906_AdvancedSettingDialog.tsx ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AdvancedSettingDialog: () => (/* binding */ AdvancedSettingDialog)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @dannadori/voice-changer-client-js */ \"./node_modules/@dannadori/voice-changer-client-js/dist/index.js\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\nvar AdvancedSettingDialog = function AdvancedSettingDialog() {\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_4__.useGuiState)();\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__.useAppState)(),\n setting = _useAppState.setting,\n serverSetting = _useAppState.serverSetting,\n setWorkletNodeSetting = _useAppState.setWorkletNodeSetting,\n setWorkletSetting = _useAppState.setWorkletSetting;\n var dialog = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n var closeButtonRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"body-row split-3-4-3 left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"body-item-text\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"body-button-container body-button-container-space-around\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"body-button\",\n onClick: function onClick() {\n guiState.stateControls.showAdvancedSettingCheckbox.updateState(false);\n }\n }, \"close\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"body-item-text\"\n }));\n var onProtocolChanged = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee(val) {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n setWorkletNodeSetting(_objectSpread(_objectSpread({}, setting.workletNodeSetting), {}, {\n protocol: val\n }));\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function onProtocolChanged(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n var protocolRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row-title\"\n }, \"protocol\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"select\", {\n value: setting.workletNodeSetting.protocol,\n onChange: function onChange(e) {\n onProtocolChanged(e.target.value);\n }\n }, Object.values(_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__.Protocol).map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"option\", {\n key: x,\n value: x\n }, x);\n }))));\n var crossfaceRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row-title\"\n }, \"Crossfade\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row-field-crossfade-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", null, \"overlap:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"select\", {\n className: \"body-select\",\n value: serverSetting.serverSetting.crossFadeOverlapSize,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n crossFadeOverlapSize: Number(e.target.value)\n }));\n }\n }, Object.values(_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__.CrossFadeOverlapSize).map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"option\", {\n key: x,\n value: x\n }, x);\n })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", null, \"start:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"input\", {\n type: \"number\",\n min: 0,\n max: 1,\n step: 0.1,\n value: serverSetting.serverSetting.crossFadeOffsetRate,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n crossFadeOffsetRate: Number(e.target.value)\n }));\n }\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", null, \"end:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"input\", {\n type: \"number\",\n min: 0,\n max: 1,\n step: 0.1,\n value: serverSetting.serverSetting.crossFadeEndRate,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n crossFadeEndRate: Number(e.target.value)\n }));\n }\n }))))));\n var trancateRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row-title\"\n }, \"Trancate\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"input\", {\n type: \"number\",\n min: 5,\n max: 300,\n step: 1,\n value: setting.workletSetting.numTrancateTreshold,\n onChange: function onChange(e) {\n setWorkletSetting(_objectSpread(_objectSpread({}, setting.workletSetting), {}, {\n numTrancateTreshold: Number(e.target.value)\n }));\n }\n })));\n var onSilenceFrontChanged = function onSilenceFrontChanged(val) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n silenceFront: val\n }));\n };\n var silenceFrontRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row-title\"\n }, \"SilenceFront\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"select\", {\n value: serverSetting.serverSetting.silenceFront,\n onChange: function onChange(e) {\n onSilenceFrontChanged(Number(e.target.value));\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"option\", {\n value: \"0\"\n }, \"off\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"option\", {\n value: \"1\"\n }, \"on\"))));\n var protectRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row-title\"\n }, \"Protect\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"input\", {\n type: \"range\",\n className: \"body-item-input-slider\",\n min: \"0\",\n max: \"0.5\",\n step: \"0.1\",\n value: serverSetting.serverSetting.protect || 0,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n protect: Number(e.target.value)\n }));\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"span\", {\n className: \"body-item-input-slider-val\"\n }, serverSetting.serverSetting.protect))));\n var onRVCQualityChanged = function onRVCQualityChanged(val) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n rvcQuality: val\n }));\n };\n var rvcQualityRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row-title\"\n }, \"RVC Quality\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container-row-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"select\", {\n value: serverSetting.serverSetting.rvcQuality,\n onChange: function onChange(e) {\n onRVCQualityChanged(Number(e.target.value));\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"option\", {\n value: \"0\"\n }, \"low\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"option\", {\n value: \"1\"\n }, \"high\"))));\n var content = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"advanced-setting-container\"\n }, protocolRow, crossfaceRow, trancateRow, silenceFrontRow, protectRow, rvcQualityRow);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"dialog-frame\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"dialog-title\"\n }, \"Advanced Setting\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"dialog-content\"\n }, content, closeButtonRow));\n }, [serverSetting.serverSetting, serverSetting.updateServerSettings, setting.workletNodeSetting, setWorkletNodeSetting, setting.workletSetting, setWorkletSetting]);\n return dialog;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/906_AdvancedSettingDialog.tsx?");
/***/ }),
/***/ "./src/components/demo/907_GetServerInfomationDialog.tsx":
/*!***************************************************************!*\
!*** ./src/components/demo/907_GetServerInfomationDialog.tsx ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GetServerInfomationDialog: () => (/* binding */ GetServerInfomationDialog)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n\n\n\nvar GetServerInfomationDialog = function GetServerInfomationDialog() {\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__.useGuiState)();\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__.useAppState)(),\n serverSetting = _useAppState.serverSetting;\n var dialog = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n var closeButtonRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-row split-3-4-3 left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-item-text\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-button-container body-button-container-space-around\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-button\",\n onClick: function onClick() {\n guiState.stateControls.showGetServerInformationCheckbox.updateState(false);\n }\n }, \"close\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-item-text\"\n }));\n var content = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"get-server-information-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"textarea\", {\n className: \"get-server-information-text-area\",\n id: \"get-server-information-text-area\",\n value: JSON.stringify(serverSetting.serverSetting, null, 4),\n onChange: function onChange() {}\n }));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-frame\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-title\"\n }, \"Server Information\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-content\"\n }, content, closeButtonRow));\n }, [serverSetting.serverSetting]);\n return dialog;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/907_GetServerInfomationDialog.tsx?");
/***/ }),
/***/ "./src/components/demo/908_GetClientInfomationDialog.tsx":
/*!***************************************************************!*\
!*** ./src/components/demo/908_GetClientInfomationDialog.tsx ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GetClientInfomationDialog: () => (/* binding */ GetClientInfomationDialog)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../001_provider/001_AppRootProvider */ \"./src/001_provider/001_AppRootProvider.tsx\");\n\n\n\n\nvar GetClientInfomationDialog = function GetClientInfomationDialog() {\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__.useGuiState)();\n var _useAppRoot = (0,_001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_3__.useAppRoot)(),\n audioContextState = _useAppRoot.audioContextState;\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__.useAppState)(),\n setting = _useAppState.setting;\n var dialog = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n var _audioContextState$au, _audioContextState$au2, _audioContextState$au3, _audioContextState$au4, _audioContextState$au5, _audioContextState$au6;\n var closeButtonRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-row split-3-4-3 left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-item-text\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-button-container body-button-container-space-around\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-button\",\n onClick: function onClick() {\n guiState.stateControls.showGetClientInformationCheckbox.updateState(false);\n }\n }, \"close\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-item-text\"\n }));\n var settingJson = JSON.stringify(setting, null, 4);\n var rootAudioContextJson = JSON.stringify({\n sampleRate: (_audioContextState$au = audioContextState.audioContext) === null || _audioContextState$au === void 0 ? void 0 : _audioContextState$au.sampleRate,\n baseLatency: (_audioContextState$au2 = audioContextState.audioContext) === null || _audioContextState$au2 === void 0 ? void 0 : _audioContextState$au2.baseLatency,\n currentTime: (_audioContextState$au3 = audioContextState.audioContext) === null || _audioContextState$au3 === void 0 ? void 0 : _audioContextState$au3.currentTime,\n outputLatency: (_audioContextState$au4 = audioContextState.audioContext) === null || _audioContextState$au4 === void 0 ? void 0 : _audioContextState$au4.outputLatency,\n // @ts-ignore\n sinkId: (_audioContextState$au5 = audioContextState.audioContext) === null || _audioContextState$au5 === void 0 ? void 0 : _audioContextState$au5.sinkId,\n state: (_audioContextState$au6 = audioContextState.audioContext) === null || _audioContextState$au6 === void 0 ? void 0 : _audioContextState$au6.state\n }, null, 4);\n var concatJson = settingJson + \"\\n\" + rootAudioContextJson;\n console.log(\"AUDIO_CONTEXT\", audioContextState.audioContext);\n var content = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"get-server-information-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"textarea\", {\n className: \"get-server-information-text-area\",\n id: \"get-server-information-text-area\",\n value: concatJson,\n onChange: function onChange() {}\n }));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-frame\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-title\"\n }, \"Client Information\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-content\"\n }, content, closeButtonRow));\n }, [setting, audioContextState]);\n return dialog;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/908_GetClientInfomationDialog.tsx?");
/***/ }),
/***/ "./src/components/demo/910_Dialogs2.tsx":
/*!**********************************************!*\
!*** ./src/components/demo/910_Dialogs2.tsx ***!
\**********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Dialogs2: () => (/* binding */ Dialogs2)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _911_TextInputDialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./911_TextInputDialog */ \"./src/components/demo/911_TextInputDialog.tsx\");\n\n\n\nvar Dialogs2 = function Dialogs2() {\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__.useGuiState)();\n var dialogs = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, guiState.stateControls.showTextInputCheckbox.trigger, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-container2\",\n id: \"dialog2\"\n }, guiState.stateControls.showTextInputCheckbox.trigger, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_911_TextInputDialog__WEBPACK_IMPORTED_MODULE_2__.TextInputDialog, null)));\n return dialogs;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/910_Dialogs2.tsx?");
/***/ }),
/***/ "./src/components/demo/911_TextInputDialog.tsx":
/*!*****************************************************!*\
!*** ./src/components/demo/911_TextInputDialog.tsx ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TextInputDialog: () => (/* binding */ TextInputDialog)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n\n\nvar TextInputDialog = function TextInputDialog() {\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__.useGuiState)();\n var dialog = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n var buttonsRow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-row split-3-4-3 left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-item-text\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-button-container body-button-container-space-around\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-button\",\n onClick: function onClick() {\n var inputText = document.getElementById(\"input-text\");\n var text = inputText.value;\n inputText.value = \"\";\n if (guiState.textInputResolve) {\n guiState.textInputResolve.resolve(text);\n guiState.setTextInputResolve(null);\n }\n guiState.stateControls.showTextInputCheckbox.updateState(false);\n }\n }, \"ok\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-button\",\n onClick: function onClick() {\n var inputText = document.getElementById(\"input-text\");\n inputText.value = \"\";\n if (guiState.textInputResolve) {\n guiState.textInputResolve.resolve(\"\");\n guiState.setTextInputResolve(null);\n }\n guiState.stateControls.showTextInputCheckbox.updateState(false);\n }\n }, \"cancel\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"body-item-text\"\n }));\n var textInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"input-text-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, \"Input Text: \"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n id: \"input-text\",\n type: \"text\"\n }));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-frame\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-title\"\n }, \"Input Dialog\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"dialog-content\"\n }, textInput, buttonsRow));\n }, [guiState.textInputResolve]);\n return dialog;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/911_TextInputDialog.tsx?");
/***/ }),
/***/ "./src/components/demo/b00_ModelSlotControl.tsx":
/*!******************************************************!*\
!*** ./src/components/demo/b00_ModelSlotControl.tsx ***!
\******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModelSlotControl: () => (/* binding */ ModelSlotControl)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../001_provider/001_AppRootProvider */ \"./src/001_provider/001_AppRootProvider.tsx\");\n/* harmony import */ var _002_ComponentGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./002_ComponentGenerator */ \"./src/components/demo/002_ComponentGenerator.tsx\");\n\n\n\nvar ModelSlotControl = function ModelSlotControl() {\n var _useAppRoot = (0,_001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_1__.useAppRoot)(),\n appGuiSettingState = _useAppRoot.appGuiSettingState;\n var componentSettings = appGuiSettingState.appGuiSetting.front.modelSlotControl;\n var deviceSetting = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n if (!componentSettings || componentSettings.length == 0) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null);\n }\n var components = componentSettings.map(function (x, index) {\n var c = (0,_002_ComponentGenerator__WEBPACK_IMPORTED_MODULE_2__.generateComponent)(x.name, x.options);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n key: \"\".concat(x.name, \"_\").concat(index)\n }, c);\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"partition\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"partition-content\"\n }, components)));\n }, []);\n return deviceSetting;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/b00_ModelSlotControl.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/001_HeaderArea.tsx":
/*!************************************************************!*\
!*** ./src/components/demo/components2/001_HeaderArea.tsx ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("var __filename = \"/index.js\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HeaderArea: () => (/* binding */ HeaderArea)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _const__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../const */ \"./src/const.ts\");\n/* harmony import */ var _001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../001_provider/001_AppRootProvider */ \"./src/001_provider/001_AppRootProvider.tsx\");\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @dannadori/voice-changer-client-js */ \"./node_modules/@dannadori/voice-changer-client-js/dist/index.js\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../hooks/useMessageBuilder */ \"./src/hooks/useMessageBuilder.ts\");\n\n\n\n\n\n\n\n\nvar HeaderArea = function HeaderArea(props) {\n var _useAppRoot = (0,_001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_4__.useAppRoot)(),\n appGuiSettingState = _useAppRoot.appGuiSettingState;\n var messageBuilderState = (0,_hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_7__.useMessageBuilder)();\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__.useAppState)(),\n clearSetting = _useAppState.clearSetting;\n var _useIndexedDB = (0,_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__.useIndexedDB)({\n clientType: null\n }),\n removeItem = _useIndexedDB.removeItem;\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(function () {\n messageBuilderState.setMessage(__filename, \"github\", {\n \"ja\": \"github\",\n \"en\": \"github\"\n });\n messageBuilderState.setMessage(__filename, \"manual\", {\n \"ja\": \"マニュアル\",\n \"en\": \"manual\"\n });\n messageBuilderState.setMessage(__filename, \"screenCapture\", {\n \"ja\": \"録画ツール\",\n \"en\": \"Record Screen\"\n });\n messageBuilderState.setMessage(__filename, \"support\", {\n \"ja\": \"支援\",\n \"en\": \"Donation\"\n });\n }, []);\n var githubLink = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(function () {\n return (0,_const__WEBPACK_IMPORTED_MODULE_3__.isDesktopApp)() ?\n /*#__PURE__*/\n // @ts-ignore\n react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"span\", {\n className: \"link tooltip\",\n onClick: function onClick() {\n window.electronAPI.openBrowser(\"https://github.com/w-okada/voice-changer\");\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"img\", {\n src: \"./assets/icons/github.svg\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"tooltip-text\"\n }, messageBuilderState.getMessage(__filename, \"github\"))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"a\", {\n className: \"link tooltip\",\n href: \"https://github.com/w-okada/voice-changer\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"img\", {\n src: \"./assets/icons/github.svg\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"tooltip-text\"\n }, messageBuilderState.getMessage(__filename, \"github\")));\n }, []);\n var manualLink = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(function () {\n return (0,_const__WEBPACK_IMPORTED_MODULE_3__.isDesktopApp)() ?\n /*#__PURE__*/\n // @ts-ignore\n react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"span\", {\n className: \"link tooltip\",\n onClick: function onClick() {\n window.electronAPI.openBrowser(\"https://github.com/w-okada/voice-changer/blob/master/tutorials/tutorial_rvc_ja_latest.md\");\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"img\", {\n src: \"./assets/icons/help-circle.svg\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"tooltip-text tooltip-text-100px\"\n }, messageBuilderState.getMessage(__filename, \"manual\"))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"a\", {\n className: \"link tooltip\",\n href: \"https://github.com/w-okada/voice-changer/blob/master/tutorials/tutorial_rvc_ja_latest.md\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"img\", {\n src: \"./assets/icons/help-circle.svg\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"tooltip-text tooltip-text-100px\"\n }, messageBuilderState.getMessage(__filename, \"manual\")));\n }, []);\n var toolLink = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(function () {\n return (0,_const__WEBPACK_IMPORTED_MODULE_3__.isDesktopApp)() ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"link tooltip\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"img\", {\n src: \"./assets/icons/tool.svg\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"tooltip-text tooltip-text-100px\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"p\", {\n onClick: function onClick() {\n // @ts-ignore\n window.electronAPI.openBrowser(\"https://w-okada.github.io/screen-recorder-ts/\");\n }\n }, messageBuilderState.getMessage(__filename, \"screenCapture\")))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"link tooltip\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"img\", {\n src: \"./assets/icons/tool.svg\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"tooltip-text tooltip-text-100px\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"p\", {\n onClick: function onClick() {\n window.open(\"https://w-okada.github.io/screen-recorder-ts/\", '_blank', \"noreferrer\");\n }\n }, messageBuilderState.getMessage(__filename, \"screenCapture\"))));\n }, []);\n var coffeeLink = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(function () {\n return (0,_const__WEBPACK_IMPORTED_MODULE_3__.isDesktopApp)() ?\n /*#__PURE__*/\n // @ts-ignore\n react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"span\", {\n className: \"link tooltip\",\n onClick: function onClick() {\n window.electronAPI.openBrowser(\"https://www.buymeacoffee.com/wokad\");\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"img\", {\n className: \"donate-img\",\n src: \"./assets/buymeacoffee.png\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"tooltip-text tooltip-text-100px\"\n }, messageBuilderState.getMessage(__filename, \"support\"))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"a\", {\n className: \"link tooltip\",\n href: \"https://www.buymeacoffee.com/wokad\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"img\", {\n className: \"donate-img\",\n src: \"./assets/buymeacoffee.png\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"tooltip-text tooltip-text-100px\"\n }, messageBuilderState.getMessage(__filename, \"support\")));\n }, []);\n var headerArea = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(function () {\n var onClearSettingClicked = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return clearSetting();\n case 2:\n _context.next = 4;\n return removeItem(_const__WEBPACK_IMPORTED_MODULE_3__.INDEXEDDB_KEY_AUDIO_OUTPUT);\n case 4:\n location.reload();\n case 5:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function onClearSettingClicked() {\n return _ref.apply(this, arguments);\n };\n }();\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"headerArea\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"title1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"span\", {\n className: \"title\"\n }, props.mainTitle), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"span\", {\n className: \"title-version\"\n }, props.subTitle), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"span\", {\n className: \"title-version-number\"\n }, appGuiSettingState.version), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"span\", {\n className: \"title-version-number\"\n }, appGuiSettingState.edition)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"icons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"span\", {\n className: \"belongings\"\n }, githubLink, manualLink, toolLink, coffeeLink), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"span\", {\n className: \"belongings\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"belongings-button\",\n onClick: onClearSettingClicked\n }, \"clear setting\"))));\n }, [props.subTitle, props.mainTitle, appGuiSettingState.version, appGuiSettingState.edition]);\n return headerArea;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/001_HeaderArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/100_ModelSlotArea.tsx":
/*!***************************************************************!*\
!*** ./src/components/demo/components2/100_ModelSlotArea.tsx ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("var __filename = \"/index.js\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModelSlotArea: () => (/* binding */ ModelSlotArea)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../hooks/useMessageBuilder */ \"./src/hooks/useMessageBuilder.ts\");\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\nvar ModelSlotArea = function ModelSlotArea(_props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__.useAppState)(),\n serverSetting = _useAppState.serverSetting,\n getInfo = _useAppState.getInfo;\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_5__.useGuiState)();\n var messageBuilderState = (0,_hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_6__.useMessageBuilder)();\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n messageBuilderState.setMessage(__filename, \"edit\", {\n \"ja\": \"編集\",\n \"en\": \"edit\"\n });\n }, []);\n var modelTiles = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n if (!serverSetting.serverSetting.modelSlots) {\n return [];\n }\n return serverSetting.serverSetting.modelSlots.map(function (x, index) {\n if (!x.modelFile || x.modelFile.length == 0) {\n return null;\n }\n var tileContainerClass = index == serverSetting.serverSetting.modelSlotIndex ? \"model-slot-tile-container-selected\" : \"model-slot-tile-container\";\n var name = x.name.length > 8 ? x.name.substring(0, 7) + \"...\" : x.name;\n var iconElem = x.iconFile.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"img\", {\n className: \"model-slot-tile-icon\",\n src: x.iconFile,\n alt: x.name\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-tile-vctype\"\n }, x.voiceChangerType)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-tile-icon-no-entry\"\n }, \"no image\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-tile-vctype\"\n }, x.voiceChangerType));\n var clickAction = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee() {\n var dummyModelSlotIndex;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n dummyModelSlotIndex = Math.floor(Date.now() / 1000) * 1000 + index;\n _context.next = 3;\n return serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n modelSlotIndex: dummyModelSlotIndex\n }));\n case 3:\n setTimeout(function () {\n // quick hack\n getInfo();\n }, 1000 * 2);\n case 4:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function clickAction() {\n return _ref.apply(this, arguments);\n };\n }();\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n key: index,\n className: tileContainerClass,\n onClick: clickAction\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-tile-icon-div\"\n }, iconElem), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-tile-dscription\"\n }, name));\n }).filter(function (x) {\n return x != null;\n });\n }, [serverSetting.serverSetting.modelSlots, serverSetting.serverSetting.modelSlotIndex]);\n var modelSlotArea = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n var onModelSlotEditClicked = function onModelSlotEditClicked() {\n guiState.stateControls.showModelSlotManagerCheckbox.updateState(true);\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-area\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-panel\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-tiles-container\"\n }, modelTiles), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-buttons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"model-slot-button\",\n onClick: onModelSlotEditClicked\n }, messageBuilderState.getMessage(__filename, \"edit\")))));\n }, [modelTiles]);\n return modelSlotArea;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/100_ModelSlotArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/101-1_TuningArea.tsx":
/*!**************************************************************!*\
!*** ./src/components/demo/components2/101-1_TuningArea.tsx ***!
\**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TuningArea: () => (/* binding */ TuningArea)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\nvar TuningArea = function TuningArea(_props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__.useAppState)(),\n serverSetting = _useAppState.serverSetting;\n var selected = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n if (serverSetting.serverSetting.modelSlotIndex == undefined) {\n return;\n }\n return serverSetting.serverSetting.modelSlots[serverSetting.serverSetting.modelSlotIndex];\n }, [serverSetting.serverSetting.modelSlotIndex, serverSetting.serverSetting.modelSlots]);\n var tuningArea = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n if (!selected) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null);\n }\n if (selected.voiceChangerType == \"MMVCv13\" || selected.voiceChangerType == \"MMVCv15\") {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null);\n }\n var currentTuning = serverSetting.serverSetting.tran;\n var tranValueUpdatedAction = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee(val) {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n tran: val\n }));\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function tranValueUpdatedAction(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-control-title\"\n }, \"TUNE:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-slider-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"span\", {\n className: \"character-area-slider-control-kind\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"span\", {\n className: \"character-area-slider-control-slider\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"input\", {\n type: \"range\",\n min: \"-50\",\n max: \"50\",\n step: \"1\",\n value: currentTuning,\n onChange: function onChange(e) {\n tranValueUpdatedAction(Number(e.target.value));\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"span\", {\n className: \"character-area-slider-control-val\"\n }, currentTuning))));\n }, [serverSetting.serverSetting, serverSetting.updateServerSettings, selected]);\n return tuningArea;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/101-1_TuningArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/101-2_IndexArea.tsx":
/*!*************************************************************!*\
!*** ./src/components/demo/components2/101-2_IndexArea.tsx ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IndexArea: () => (/* binding */ IndexArea)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\nvar IndexArea = function IndexArea(_props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__.useAppState)(),\n serverSetting = _useAppState.serverSetting;\n var selected = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n if (serverSetting.serverSetting.modelSlotIndex == undefined) {\n return;\n }\n return serverSetting.serverSetting.modelSlots[serverSetting.serverSetting.modelSlotIndex];\n }, [serverSetting.serverSetting.modelSlotIndex, serverSetting.serverSetting.modelSlots]);\n var indexArea = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n if (!selected) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null);\n }\n if (selected.voiceChangerType != \"RVC\") {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null);\n }\n var currentIndexRatio = serverSetting.serverSetting.indexRatio;\n var indexRatioValueUpdatedAction = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee(val) {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n indexRatio: val\n }));\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function indexRatioValueUpdatedAction(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-control-title\"\n }, \"INDEX:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-slider-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"span\", {\n className: \"character-area-slider-control-kind\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"span\", {\n className: \"character-area-slider-control-slider\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"input\", {\n type: \"range\",\n min: \"0\",\n max: \"1\",\n step: \"0.1\",\n value: currentIndexRatio,\n onChange: function onChange(e) {\n indexRatioValueUpdatedAction(Number(e.target.value));\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"span\", {\n className: \"character-area-slider-control-val\"\n }, currentIndexRatio))));\n }, [serverSetting.serverSetting, serverSetting.updateServerSettings, selected]);\n return indexArea;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/101-2_IndexArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/101-3_SpeakerArea.tsx":
/*!***************************************************************!*\
!*** ./src/components/demo/components2/101-3_SpeakerArea.tsx ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SpeakerArea: () => (/* binding */ SpeakerArea)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\nvar SpeakerArea = function SpeakerArea(_props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_4__.useAppState)(),\n serverSetting = _useAppState.serverSetting;\n var selected = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n if (serverSetting.serverSetting.modelSlotIndex == undefined) {\n return;\n }\n return serverSetting.serverSetting.modelSlots[serverSetting.serverSetting.modelSlotIndex];\n }, [serverSetting.serverSetting.modelSlotIndex, serverSetting.serverSetting.modelSlots]);\n var srcArea = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n if (!selected) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null);\n }\n if (selected.voiceChangerType != \"MMVCv13\" && selected.voiceChangerType != \"MMVCv15\") {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null);\n }\n var options = Object.keys(selected.speakers).map(function (key) {\n var val = selected.speakers[Number(key)];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"option\", {\n key: key,\n value: key\n }, val, \"[\", key, \"]\");\n });\n var srcSpeakerValueUpdatedAction = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee(val) {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n srcId: val\n }));\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function srcSpeakerValueUpdatedAction(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-control-title\"\n }, \"Voice:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-slider-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"span\", {\n className: \"character-area-slider-control-kind\"\n }, \"src\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"span\", {\n className: \"character-area-slider-control-slider\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"select\", {\n value: serverSetting.serverSetting.srcId,\n onChange: function onChange(e) {\n srcSpeakerValueUpdatedAction(Number(e.target.value));\n }\n }, options)))));\n }, [serverSetting.serverSetting, serverSetting.updateServerSettings, selected]);\n var dstArea = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(function () {\n if (!selected) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null);\n }\n var options = Object.keys(selected.speakers).map(function (key) {\n var val = selected.speakers[Number(key)];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"option\", {\n key: key,\n value: key\n }, val, \"[\", key, \"]\");\n });\n var srcSpeakerValueUpdatedAction = /*#__PURE__*/function () {\n var _ref2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee2(val) {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n dstId: val\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function srcSpeakerValueUpdatedAction(_x2) {\n return _ref2.apply(this, arguments);\n };\n }();\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-control-title\"\n }, selected.voiceChangerType == \"DDSP-SVC\" || selected.voiceChangerType == \"so-vits-svc-40\" || selected.voiceChangerType == \"RVC\" ? \"Voice:\" : \"\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"character-area-slider-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"span\", {\n className: \"character-area-slider-control-kind\"\n }, selected.voiceChangerType == \"MMVCv13\" || selected.voiceChangerType == \"MMVCv15\" ? \"dst\" : \"\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"span\", {\n className: \"character-area-slider-control-slider\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"select\", {\n value: serverSetting.serverSetting.dstId,\n onChange: function onChange(e) {\n srcSpeakerValueUpdatedAction(Number(e.target.value));\n }\n }, options)))));\n }, [serverSetting.serverSetting, serverSetting.updateServerSettings, selected]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null, srcArea, dstArea);\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/101-3_SpeakerArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/101-4_F0FactorArea.tsx":
/*!****************************************************************!*\
!*** ./src/components/demo/components2/101-4_F0FactorArea.tsx ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ F0FactorArea: () => (/* binding */ F0FactorArea)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\nvar F0FactorArea = function F0FactorArea(_props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__.useAppState)(),\n serverSetting = _useAppState.serverSetting;\n var selected = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n if (serverSetting.serverSetting.modelSlotIndex == undefined) {\n return;\n }\n return serverSetting.serverSetting.modelSlots[serverSetting.serverSetting.modelSlotIndex];\n }, [serverSetting.serverSetting.modelSlotIndex, serverSetting.serverSetting.modelSlots]);\n var f0FactorArea = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n if (!selected) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null);\n }\n if (selected.voiceChangerType != \"MMVCv15\") {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null);\n }\n var selectedMMVCv15 = selected;\n var recommendF0 = (selectedMMVCv15.f0[serverSetting.serverSetting.dstId] / selectedMMVCv15.f0[serverSetting.serverSetting.srcId]).toFixed(2);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control-title\"\n }, \"F0Factor:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-slider-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-kind\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-slider\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"input\", {\n type: \"range\",\n min: \"0.01\",\n max: \"5.00\",\n step: \"0.01\",\n value: serverSetting.serverSetting.f0Factor,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n f0Factor: Number(e.target.value)\n }));\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-val\"\n }, serverSetting.serverSetting.f0Factor)))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control-title\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-slider-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-text\"\n }, \"recommend:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-text\"\n }, recommendF0)))));\n }, [serverSetting.serverSetting, serverSetting.updateServerSettings, selected]);\n return f0FactorArea;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/101-4_F0FactorArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/101-5_so-vits-svc40SettingArea.tsx":
/*!****************************************************************************!*\
!*** ./src/components/demo/components2/101-5_so-vits-svc40SettingArea.tsx ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SoVitsSVC40SettingArea: () => (/* binding */ SoVitsSVC40SettingArea)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\nvar SoVitsSVC40SettingArea = function SoVitsSVC40SettingArea(_props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__.useAppState)(),\n serverSetting = _useAppState.serverSetting;\n var selected = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n if (serverSetting.serverSetting.modelSlotIndex == undefined) {\n return;\n }\n return serverSetting.serverSetting.modelSlots[serverSetting.serverSetting.modelSlotIndex];\n }, [serverSetting.serverSetting.modelSlotIndex, serverSetting.serverSetting.modelSlots]);\n var settingArea = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n if (!selected) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null);\n }\n if (selected.voiceChangerType != \"so-vits-svc-40\") {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null);\n }\n var cluster = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control-title\"\n }, \"Cluster:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-slider-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-kind\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-slider\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"input\", {\n type: \"range\",\n min: \"0\",\n max: \"1.0\",\n step: \"0.1\",\n value: serverSetting.serverSetting.clusterInferRatio,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n clusterInferRatio: Number(e.target.value)\n }));\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-val\"\n }, serverSetting.serverSetting.clusterInferRatio))));\n var noise = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control-title\"\n }, \"Noise:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-slider-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-kind\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-slider\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"input\", {\n type: \"range\",\n min: \"0\",\n max: \"1.0\",\n step: \"0.1\",\n value: serverSetting.serverSetting.noiseScale,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n noiseScale: Number(e.target.value)\n }));\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-val\"\n }, serverSetting.serverSetting.noiseScale))));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, cluster, noise);\n }, [serverSetting.serverSetting, serverSetting.updateServerSettings, selected]);\n return settingArea;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/101-5_so-vits-svc40SettingArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/101-6_ddsp-svc30SettingArea.tsx":
/*!*************************************************************************!*\
!*** ./src/components/demo/components2/101-6_ddsp-svc30SettingArea.tsx ***!
\*************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DDSPSVC30SettingArea: () => (/* binding */ DDSPSVC30SettingArea)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\nvar DDSPSVC30SettingArea = function DDSPSVC30SettingArea(_props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__.useAppState)(),\n serverSetting = _useAppState.serverSetting;\n var selected = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n if (serverSetting.serverSetting.modelSlotIndex == undefined) {\n return;\n }\n return serverSetting.serverSetting.modelSlots[serverSetting.serverSetting.modelSlotIndex];\n }, [serverSetting.serverSetting.modelSlotIndex, serverSetting.serverSetting.modelSlots]);\n var settingArea = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n if (!selected) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null);\n }\n if (selected.voiceChangerType != \"DDSP-SVC\") {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null);\n }\n var acc = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control-title\"\n }, \"ACC:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-slider-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-kind\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-slider\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"input\", {\n type: \"range\",\n min: \"1\",\n max: \"20\",\n step: \"1\",\n value: serverSetting.serverSetting.diffAcc,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n diffAcc: Number(e.target.value)\n }));\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-val\"\n }, serverSetting.serverSetting.diffAcc))));\n var kstep = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control-title\"\n }, \"Kstep:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"character-area-slider-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-kind\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-slider\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"input\", {\n type: \"range\",\n min: \"21\",\n max: \"300\",\n step: \"1\",\n value: serverSetting.serverSetting.kStep,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n kStep: Number(e.target.value)\n }));\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"character-area-slider-control-val\"\n }, serverSetting.serverSetting.kStep))));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, acc, kstep);\n }, [serverSetting.serverSetting, serverSetting.updateServerSettings, selected]);\n return settingArea;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/101-6_ddsp-svc30SettingArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/101_CharacterArea.tsx":
/*!***************************************************************!*\
!*** ./src/components/demo/components2/101_CharacterArea.tsx ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("var __filename = \"/index.js\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CharacterArea: () => (/* binding */ CharacterArea)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../hooks/useMessageBuilder */ \"./src/hooks/useMessageBuilder.ts\");\n/* harmony import */ var _101_1_TuningArea__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./101-1_TuningArea */ \"./src/components/demo/components2/101-1_TuningArea.tsx\");\n/* harmony import */ var _101_2_IndexArea__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./101-2_IndexArea */ \"./src/components/demo/components2/101-2_IndexArea.tsx\");\n/* harmony import */ var _101_3_SpeakerArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./101-3_SpeakerArea */ \"./src/components/demo/components2/101-3_SpeakerArea.tsx\");\n/* harmony import */ var _101_4_F0FactorArea__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./101-4_F0FactorArea */ \"./src/components/demo/components2/101-4_F0FactorArea.tsx\");\n/* harmony import */ var _101_5_so_vits_svc40SettingArea__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./101-5_so-vits-svc40SettingArea */ \"./src/components/demo/components2/101-5_so-vits-svc40SettingArea.tsx\");\n/* harmony import */ var _101_6_ddsp_svc30SettingArea__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./101-6_ddsp-svc30SettingArea */ \"./src/components/demo/components2/101-6_ddsp-svc30SettingArea.tsx\");\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\n\n\n\n\n\n\nvar CharacterArea = function CharacterArea(_props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__.useAppState)(),\n serverSetting = _useAppState.serverSetting,\n initializedRef = _useAppState.initializedRef,\n volume = _useAppState.volume,\n bufferingTime = _useAppState.bufferingTime,\n performance = _useAppState.performance,\n setting = _useAppState.setting,\n setVoiceChangerClientSetting = _useAppState.setVoiceChangerClientSetting,\n start = _useAppState.start,\n stop = _useAppState.stop;\n var guiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_6__.useGuiState)();\n var messageBuilderState = (0,_hooks_useMessageBuilder__WEBPACK_IMPORTED_MODULE_7__.useMessageBuilder)();\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n messageBuilderState.setMessage(__filename, \"terms_of_use\", {\n \"ja\": \"利用規約\",\n \"en\": \"terms of use\"\n });\n messageBuilderState.setMessage(__filename, \"export_to_onnx\", {\n \"ja\": \"onnx出力\",\n \"en\": \"export to onnx\"\n });\n messageBuilderState.setMessage(__filename, \"save_default\", {\n \"ja\": \"設定保存\",\n \"en\": \"save setting\"\n });\n messageBuilderState.setMessage(__filename, \"alert_onnx\", {\n \"ja\": \"ボイチェン中はonnx出力できません\",\n \"en\": \"cannot export onnx when voice conversion is enabled\"\n });\n }, []);\n var selected = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n if (serverSetting.serverSetting.modelSlotIndex == undefined) {\n return;\n }\n return serverSetting.serverSetting.modelSlots[serverSetting.serverSetting.modelSlotIndex];\n }, [serverSetting.serverSetting.modelSlotIndex, serverSetting.serverSetting.modelSlots]);\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {\n var vol = document.getElementById(\"status-vol\");\n var buf = document.getElementById(\"status-buf\");\n var res = document.getElementById(\"status-res\");\n if (!vol || !buf || !res) {\n return;\n }\n vol.innerText = volume.toFixed(4);\n buf.innerText = bufferingTime.toString();\n res.innerText = performance.responseTime.toString();\n }, [volume, bufferingTime, performance]);\n var portrait = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n if (!selected) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n }\n var icon = selected.iconFile.length > 0 ? selected.iconFile : \"./assets/icons/human.png\";\n var selectedTermOfUseUrlLink = selected.termsOfUseUrl ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"a\", {\n href: selected.termsOfUseUrl,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"portrait-area-terms-of-use-link\"\n }, \"[\", messageBuilderState.getMessage(__filename, \"terms_of_use\"), \"]\") : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"portrait-area\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"portrait-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"img\", {\n className: \"portrait\",\n src: icon,\n alt: selected.name\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"portrait-area-status\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"p\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", {\n className: \"portrait-area-status-vctype\"\n }, selected.voiceChangerType)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"p\", null, \"vol: \", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", {\n id: \"status-vol\"\n }, \"0\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"p\", null, \"buf: \", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", {\n id: \"status-buf\"\n }, \"0\"), \" ms\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"p\", null, \"res: \", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", {\n id: \"status-res\"\n }, \"0\"), \" ms\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"portrait-area-terms-of-use\"\n }, selectedTermOfUseUrlLink)));\n }, [selected]);\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(false),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState, 2),\n startWithAudioContextCreate = _useState2[0],\n setStartWithAudioContextCreate = _useState2[1];\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {\n if (!startWithAudioContextCreate) {\n return;\n }\n guiState.setIsConverting(true);\n start();\n }, [startWithAudioContextCreate]);\n var startControl = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n var onStartClicked = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(serverSetting.serverSetting.enableServerAudio == 0)) {\n _context.next = 17;\n break;\n }\n if (initializedRef.current) {\n _context.next = 12;\n break;\n }\n case 2:\n if (false) {}\n _context.next = 5;\n return new Promise(function (resolve) {\n setTimeout(resolve, 500);\n });\n case 5:\n if (!initializedRef.current) {\n _context.next = 7;\n break;\n }\n return _context.abrupt(\"break\", 9);\n case 7:\n _context.next = 2;\n break;\n case 9:\n setStartWithAudioContextCreate(true);\n _context.next = 15;\n break;\n case 12:\n guiState.setIsConverting(true);\n _context.next = 15;\n return start();\n case 15:\n _context.next = 19;\n break;\n case 17:\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n serverAudioStated: 1\n }));\n guiState.setIsConverting(true);\n case 19:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function onStartClicked() {\n return _ref.apply(this, arguments);\n };\n }();\n var onStopClicked = /*#__PURE__*/function () {\n var _ref2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!(serverSetting.serverSetting.enableServerAudio == 0)) {\n _context2.next = 6;\n break;\n }\n guiState.setIsConverting(false);\n _context2.next = 4;\n return stop();\n case 4:\n _context2.next = 8;\n break;\n case 6:\n guiState.setIsConverting(false);\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n serverAudioStated: 0\n }));\n case 8:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function onStopClicked() {\n return _ref2.apply(this, arguments);\n };\n }();\n var startClassName = guiState.isConverting ? \"character-area-control-button-active\" : \"character-area-control-button-stanby\";\n var stopClassName = guiState.isConverting ? \"character-area-control-button-stanby\" : \"character-area-control-button-active\";\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-control-buttons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n onClick: onStartClicked,\n className: startClassName\n }, \"start\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n onClick: onStopClicked,\n className: stopClassName\n }, \"stop\")));\n }, [guiState.isConverting, start, stop, serverSetting.serverSetting, serverSetting.updateServerSettings]);\n var gainControl = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n var currentInputGain = serverSetting.serverSetting.enableServerAudio == 0 ? setting.voiceChangerClientSetting.inputGain : serverSetting.serverSetting.serverInputAudioGain;\n var inputValueUpdatedAction = serverSetting.serverSetting.enableServerAudio == 0 ? /*#__PURE__*/function () {\n var _ref3 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3(val) {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return setVoiceChangerClientSetting(_objectSpread(_objectSpread({}, setting.voiceChangerClientSetting), {}, {\n inputGain: val\n }));\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return function (_x) {\n return _ref3.apply(this, arguments);\n };\n }() : /*#__PURE__*/function () {\n var _ref4 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee4(val) {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n serverInputAudioGain: val\n }));\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }();\n var currentOutputGain = serverSetting.serverSetting.enableServerAudio == 0 ? setting.voiceChangerClientSetting.outputGain : serverSetting.serverSetting.serverOutputAudioGain;\n var outputValueUpdatedAction = serverSetting.serverSetting.enableServerAudio == 0 ? /*#__PURE__*/function () {\n var _ref5 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee5(val) {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return setVoiceChangerClientSetting(_objectSpread(_objectSpread({}, setting.voiceChangerClientSetting), {}, {\n outputGain: val\n }));\n case 2:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }));\n return function (_x3) {\n return _ref5.apply(this, arguments);\n };\n }() : /*#__PURE__*/function () {\n var _ref6 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee6(val) {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee6$(_context6) {\n while (1) switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n serverOutputAudioGain: val\n }));\n case 2:\n case \"end\":\n return _context6.stop();\n }\n }, _callee6);\n }));\n return function (_x4) {\n return _ref6.apply(this, arguments);\n };\n }();\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-control-title\"\n }, \"GAIN:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-slider-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", {\n className: \"character-area-slider-control-kind\"\n }, \"in\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", {\n className: \"character-area-slider-control-slider\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"input\", {\n type: \"range\",\n min: \"0.1\",\n max: \"10.0\",\n step: \"0.1\",\n value: currentInputGain,\n onChange: function onChange(e) {\n inputValueUpdatedAction(Number(e.target.value));\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", {\n className: \"character-area-slider-control-val\"\n }, currentInputGain)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-slider-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", {\n className: \"character-area-slider-control-kind\"\n }, \"out\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", {\n className: \"character-area-slider-control-slider\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"input\", {\n type: \"range\",\n min: \"0.1\",\n max: \"10.0\",\n step: \"0.1\",\n value: currentOutputGain,\n onChange: function onChange(e) {\n outputValueUpdatedAction(Number(e.target.value));\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", {\n className: \"character-area-slider-control-val\"\n }, currentOutputGain))));\n }, [serverSetting.serverSetting, setting, setVoiceChangerClientSetting, serverSetting.updateServerSettings]);\n var modelSlotControl = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n if (!selected) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n }\n var onUpdateDefaultClicked = /*#__PURE__*/function () {\n var _ref7 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee7() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee7$(_context7) {\n while (1) switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return serverSetting.updateModelDefault();\n case 2:\n case \"end\":\n return _context7.stop();\n }\n }, _callee7);\n }));\n return function onUpdateDefaultClicked() {\n return _ref7.apply(this, arguments);\n };\n }();\n var onnxExportButtonAction = /*#__PURE__*/function () {\n var _ref8 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee8() {\n var _document$getElementB;\n var res, a;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee8$(_context8) {\n while (1) switch (_context8.prev = _context8.next) {\n case 0:\n if (!guiState.isConverting) {\n _context8.next = 3;\n break;\n }\n alert(messageBuilderState.getMessage(__filename, \"alert_onnx\"));\n return _context8.abrupt(\"return\");\n case 3:\n (_document$getElementB = document.getElementById(\"dialog\")) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.classList.add(\"dialog-container-show\");\n guiState.stateControls.showWaitingCheckbox.updateState(true);\n _context8.next = 7;\n return serverSetting.getOnnx();\n case 7:\n res = _context8.sent;\n a = document.createElement(\"a\");\n a.href = res.path;\n a.download = res.filename;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n guiState.stateControls.showWaitingCheckbox.updateState(false);\n case 15:\n case \"end\":\n return _context8.stop();\n }\n }, _callee8);\n }));\n return function onnxExportButtonAction() {\n return _ref8.apply(this, arguments);\n };\n }();\n var exportOnnx = selected.voiceChangerType == \"RVC\" && selected.modelFile.endsWith(\"pth\") ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-button\",\n onClick: onnxExportButtonAction\n }, messageBuilderState.getMessage(__filename, \"export_to_onnx\")) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-control-title\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-buttons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-button\",\n onClick: onUpdateDefaultClicked\n }, messageBuilderState.getMessage(__filename, \"save_default\")), exportOnnx)));\n }, [selected, serverSetting.getOnnx, serverSetting.updateModelDefault]);\n var characterArea = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area\"\n }, portrait, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"character-area-control-area\"\n }, startControl, gainControl, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_101_1_TuningArea__WEBPACK_IMPORTED_MODULE_8__.TuningArea, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_101_2_IndexArea__WEBPACK_IMPORTED_MODULE_9__.IndexArea, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_101_3_SpeakerArea__WEBPACK_IMPORTED_MODULE_10__.SpeakerArea, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_101_4_F0FactorArea__WEBPACK_IMPORTED_MODULE_11__.F0FactorArea, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_101_5_so_vits_svc40SettingArea__WEBPACK_IMPORTED_MODULE_12__.SoVitsSVC40SettingArea, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_101_6_ddsp_svc30SettingArea__WEBPACK_IMPORTED_MODULE_13__.DDSPSVC30SettingArea, null), modelSlotControl));\n }, [portrait, startControl, gainControl, modelSlotControl]);\n return characterArea;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/101_CharacterArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/102-1_QualityArea.tsx":
/*!***************************************************************!*\
!*** ./src/components/demo/components2/102-1_QualityArea.tsx ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ QualityArea: () => (/* binding */ QualityArea)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\nvar QualityArea = function QualityArea(props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_2__.useAppState)(),\n setVoiceChangerClientSetting = _useAppState.setVoiceChangerClientSetting,\n serverSetting = _useAppState.serverSetting,\n setting = _useAppState.setting;\n var qualityArea = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {\n if (!serverSetting.updateServerSettings || !setVoiceChangerClientSetting || !serverSetting.serverSetting || !setting) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"NOISE:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-noise-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-noise-checkbox-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"input\", {\n type: \"checkbox\",\n disabled: serverSetting.serverSetting.enableServerAudio != 0,\n checked: setting.voiceChangerClientSetting.echoCancel,\n onChange: function onChange(e) {\n try {\n setVoiceChangerClientSetting(_objectSpread(_objectSpread({}, setting.voiceChangerClientSetting), {}, {\n echoCancel: e.target.checked\n }));\n } catch (e) {\n console.error(e);\n }\n }\n }), \" \", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", null, \"Echo\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-noise-checkbox-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"input\", {\n type: \"checkbox\",\n disabled: serverSetting.serverSetting.enableServerAudio != 0,\n checked: setting.voiceChangerClientSetting.noiseSuppression,\n onChange: function onChange(e) {\n try {\n setVoiceChangerClientSetting(_objectSpread(_objectSpread({}, setting.voiceChangerClientSetting), {}, {\n noiseSuppression: e.target.checked\n }));\n } catch (e) {\n console.error(e);\n }\n }\n }), \" \", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", null, \"Sup1\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-noise-checkbox-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"input\", {\n type: \"checkbox\",\n disabled: serverSetting.serverSetting.enableServerAudio != 0,\n checked: setting.voiceChangerClientSetting.noiseSuppression2,\n onChange: function onChange(e) {\n try {\n setVoiceChangerClientSetting(_objectSpread(_objectSpread({}, setting.voiceChangerClientSetting), {}, {\n noiseSuppression2: e.target.checked\n }));\n } catch (e) {\n console.error(e);\n }\n }\n }), \" \", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", null, \"Sup2\"))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"F0 Det.:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"select\", {\n className: \"body-select\",\n value: serverSetting.serverSetting.f0Detector,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n f0Detector: e.target.value\n }));\n }\n }, Object.values(props.detectors).map(function (x) {\n //@ts-ignore\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"option\", {\n key: x,\n value: x\n }, x);\n })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"S.Thresh.:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"config-sub-area-slider-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"config-sub-area-slider-control-kind\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"config-sub-area-slider-control-slider\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"input\", {\n type: \"range\",\n className: \"config-sub-area-slider-control-slider\",\n min: \"0.00000\",\n max: \"0.001\",\n step: \"0.00001\",\n value: serverSetting.serverSetting.silentThreshold || 0,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n silentThreshold: Number(e.target.value)\n }));\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"config-sub-area-slider-control-val\"\n }, serverSetting.serverSetting.silentThreshold)))));\n }, [serverSetting.serverSetting, setting, serverSetting.updateServerSettings, setVoiceChangerClientSetting]);\n return qualityArea;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/102-1_QualityArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/102-2_ConvertArea.tsx":
/*!***************************************************************!*\
!*** ./src/components/demo/components2/102-2_ConvertArea.tsx ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConvertArea: () => (/* binding */ ConvertArea)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../001_provider/001_AppRootProvider */ \"./src/001_provider/001_AppRootProvider.tsx\");\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\nvar ConvertArea = function ConvertArea(props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__.useAppState)(),\n setting = _useAppState.setting,\n serverSetting = _useAppState.serverSetting,\n setWorkletNodeSetting = _useAppState.setWorkletNodeSetting,\n trancateBuffer = _useAppState.trancateBuffer;\n var _useAppRoot = (0,_001_provider_001_AppRootProvider__WEBPACK_IMPORTED_MODULE_6__.useAppRoot)(),\n appGuiSettingState = _useAppRoot.appGuiSettingState;\n var edition = appGuiSettingState.edition;\n var convertArea = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n var nums;\n if (!props.inputChunkNums) {\n nums = [8, 16, 24, 32, 40, 48, 64, 80, 96, 112, 128, 192, 256, 320, 384, 448, 512, 576, 640, 704, 768, 832, 896, 960, 1024, 2048];\n } else {\n nums = props.inputChunkNums;\n }\n var gpusEntry = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(serverSetting.serverSetting.gpus);\n gpusEntry.push({\n id: -1,\n name: \"cpu\",\n memory: 0\n });\n var onClassName = serverSetting.serverSetting.gpu == 0 ? \"config-sub-area-button-active\" : \"config-sub-area-button\";\n var offClassName = serverSetting.serverSetting.gpu == 0 ? \"config-sub-area-button\" : \"config-sub-area-button-active\";\n var gpuSelect = edition.indexOf(\"onnxdirectML-cuda\") >= 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"GPU(dml):\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-buttons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n onClick: /*#__PURE__*/(0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n gpu: 0\n }));\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })),\n className: onClassName\n }, \"on\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n onClick: /*#__PURE__*/(0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n gpu: -1\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n })),\n className: offClassName\n }, \"off\")))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"GPU:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n className: \"body-select\",\n value: serverSetting.serverSetting.gpu,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n gpu: Number(e.target.value)\n }));\n }\n }, gpusEntry.map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n key: x.id,\n value: x.id\n }, x.name, x.name == \"cpu\" ? \"\" : \"(\".concat((x.memory / 1024 / 1024 / 1024).toFixed(0), \"GB)\"), \" \");\n }))));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"CHUNK:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n className: \"body-select\",\n value: setting.workletNodeSetting.inputChunkNum,\n onChange: function onChange(e) {\n setWorkletNodeSetting(_objectSpread(_objectSpread({}, setting.workletNodeSetting), {}, {\n inputChunkNum: Number(e.target.value)\n }));\n trancateBuffer();\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n serverReadChunkSize: Number(e.target.value)\n }));\n }\n }, nums.map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n key: x,\n value: x\n }, x, \" (\", (x * 128 * 1000 / 48000).toFixed(1), \" ms, \", x * 128, \")\");\n })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"EXTRA:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n className: \"body-select\",\n value: serverSetting.serverSetting.extraConvertSize,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n extraConvertSize: Number(e.target.value)\n }));\n trancateBuffer();\n }\n }, [1024 * 4, 1024 * 8, 1024 * 16, 1024 * 32, 1024 * 64, 1024 * 128].map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n key: x,\n value: x\n }, x);\n })))), gpuSelect);\n }, [serverSetting.serverSetting, setting, serverSetting.updateServerSettings, setWorkletNodeSetting, edition]);\n return convertArea;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/102-2_ConvertArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/102-3_DeviceArea.tsx":
/*!**************************************************************!*\
!*** ./src/components/demo/components2/102-3_DeviceArea.tsx ***!
\**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DeviceArea: () => (/* binding */ DeviceArea)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @dannadori/voice-changer-client-js */ \"./node_modules/@dannadori/voice-changer-client-js/dist/index.js\");\n/* harmony import */ var _dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _const__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../const */ \"./src/const.ts\");\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\n\nvar DeviceArea = function DeviceArea(_props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__.useAppState)(),\n setting = _useAppState.setting,\n serverSetting = _useAppState.serverSetting,\n audioContext = _useAppState.audioContext,\n setAudioOutputElementId = _useAppState.setAudioOutputElementId,\n initializedRef = _useAppState.initializedRef,\n setVoiceChangerClientSetting = _useAppState.setVoiceChangerClientSetting,\n startOutputRecording = _useAppState.startOutputRecording,\n stopOutputRecording = _useAppState.stopOutputRecording;\n var _useGuiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_7__.useGuiState)(),\n isConverting = _useGuiState.isConverting,\n audioInputForGUI = _useGuiState.audioInputForGUI,\n inputAudioDeviceInfo = _useGuiState.inputAudioDeviceInfo,\n setAudioInputForGUI = _useGuiState.setAudioInputForGUI,\n fileInputEchoback = _useGuiState.fileInputEchoback,\n setFileInputEchoback = _useGuiState.setFileInputEchoback,\n setAudioOutputForGUI = _useGuiState.setAudioOutputForGUI,\n audioOutputForGUI = _useGuiState.audioOutputForGUI,\n outputAudioDeviceInfo = _useGuiState.outputAudioDeviceInfo;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(\"ALL\"),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState, 2),\n inputHostApi = _useState2[0],\n setInputHostApi = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(\"ALL\"),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState3, 2),\n outputHostApi = _useState4[0],\n setOutputHostApi = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(\"ALL\"),\n _useState6 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState5, 2),\n monitorHostApi = _useState6[0],\n setMonitorHostApi = _useState6[1];\n var audioSrcNode = (0,react__WEBPACK_IMPORTED_MODULE_4__.useRef)();\n var _useIndexedDB = (0,_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__.useIndexedDB)({\n clientType: null\n }),\n getItem = _useIndexedDB.getItem,\n setItem = _useIndexedDB.setItem;\n var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(false),\n _useState8 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState7, 2),\n outputRecordingStarted = _useState8[0],\n setOutputRecordingStarted = _useState8[1];\n\n // (1) Audio Mode\n var deviceModeRow = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n var enableServerAudio = serverSetting.serverSetting.enableServerAudio;\n var clientChecked = enableServerAudio == 1 ? false : true;\n var serverChecked = enableServerAudio == 1 ? true : false;\n var onDeviceModeChanged = function onDeviceModeChanged(val) {\n if (isConverting) {\n alert(\"cannot change mode when voice conversion is enabled\");\n return;\n }\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n enableServerAudio: val\n }));\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"AUDIO:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-noise-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-noise-checkbox-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"input\", {\n type: \"radio\",\n id: \"client-device\",\n name: \"device-mode\",\n checked: clientChecked,\n onChange: function onChange() {\n onDeviceModeChanged(0);\n }\n }), \" \", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"label\", {\n htmlFor: \"client-device\"\n }, \"client\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-noise-checkbox-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"input\", {\n className: \"left-padding-1\",\n type: \"radio\",\n id: \"server-device\",\n name: \"device-mode\",\n checked: serverChecked,\n onChange: function onChange() {\n onDeviceModeChanged(1);\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"label\", {\n htmlFor: \"server-device\"\n }, \"server\")))));\n }, [serverSetting.serverSetting, serverSetting.updateServerSettings, isConverting]);\n\n // (2) Audio Input\n // キャッシュの設定は反映(たぶん、設定操作の時も起動していしまう。が問題は起こらないはず)\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {\n if (typeof setting.voiceChangerClientSetting.audioInput == \"string\") {\n if (inputAudioDeviceInfo.find(function (x) {\n // console.log(\"COMPARE:\", x.deviceId, appState.clientSetting.setting.audioInput)\n return x.deviceId == setting.voiceChangerClientSetting.audioInput;\n })) {\n setAudioInputForGUI(setting.voiceChangerClientSetting.audioInput);\n }\n }\n }, [inputAudioDeviceInfo, setting.voiceChangerClientSetting.audioInput]);\n\n // (2-1) クライアント\n var clientAudioInputRow = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n if (serverSetting.serverSetting.enableServerAudio == 1) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title left-padding-1\"\n }, \"input\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n className: \"body-select\",\n value: audioInputForGUI,\n onChange: /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee(e) {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n setAudioInputForGUI(e.target.value);\n if (!(e.target.value != \"file\")) {\n _context.next = 14;\n break;\n }\n _context.prev = 2;\n _context.next = 5;\n return setVoiceChangerClientSetting(_objectSpread(_objectSpread({}, setting.voiceChangerClientSetting), {}, {\n audioInput: e.target.value\n }));\n case 5:\n _context.next = 14;\n break;\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](2);\n alert(_context.t0);\n console.error(_context.t0);\n setAudioInputForGUI(\"none\");\n _context.next = 14;\n return setVoiceChangerClientSetting(_objectSpread(_objectSpread({}, setting.voiceChangerClientSetting), {}, {\n audioInput: null\n }));\n case 14:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[2, 7]]);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }()\n }, inputAudioDeviceInfo.map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n key: x.deviceId,\n value: x.deviceId\n }, x.label);\n }))));\n }, [setVoiceChangerClientSetting, setting, inputAudioDeviceInfo, audioInputForGUI, serverSetting.serverSetting.enableServerAudio]);\n\n // (2-2) サーバ\n var serverAudioInputRow = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n if (serverSetting.serverSetting.enableServerAudio == 0) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n }\n var devices = serverSetting.serverSetting.serverAudioInputDevices;\n var hostAPIs = new Set(devices.map(function (x) {\n return x.hostAPI;\n }));\n var hostAPIOptions = Array.from(hostAPIs).map(function (x, index) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n value: x,\n key: index\n }, x);\n });\n var filteredDevice = devices.map(function (x, index) {\n if (inputHostApi != \"ALL\" && x.hostAPI != inputHostApi) {\n return null;\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n value: x.index,\n key: index\n }, \"[\", x.hostAPI, \"]\", x.name);\n }).filter(function (x) {\n return x != null;\n });\n var currentValue = devices.find(function (x) {\n return (x.hostAPI == inputHostApi || inputHostApi == \"ALL\") && x.index == serverSetting.serverSetting.serverInputDeviceId;\n }) ? serverSetting.serverSetting.serverInputDeviceId : -1;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title left-padding-1\"\n }, \"input\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field-auido-io\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n className: \"config-sub-area-control-field-auido-io-filter\",\n name: \"kinds\",\n id: \"kinds\",\n value: inputHostApi,\n onChange: function onChange(e) {\n setInputHostApi(e.target.value);\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n value: \"ALL\",\n key: \"ALL\"\n }, \"ALL\"), hostAPIOptions), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n className: \"config-sub-area-control-field-auido-io-select\",\n value: currentValue,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n serverInputDeviceId: Number(e.target.value)\n }));\n }\n }, filteredDevice, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n value: \"-1\",\n key: \"none\"\n }, \"none\")))));\n }, [inputHostApi, serverSetting.serverSetting, serverSetting.updateServerSettings, serverSetting.serverSetting.enableServerAudio]);\n\n // (2-3) File\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {\n [_const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_TEST_CONVERTED_ECHOBACK].forEach(function (x) {\n var audio = document.getElementById(x);\n if (audio) {\n audio.volume = fileInputEchoback ? 1 : 0;\n }\n });\n }, [fileInputEchoback]);\n var audioInputMediaRow = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n if (audioInputForGUI != \"file\" || serverSetting.serverSetting.enableServerAudio == 1) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n }\n var onFileLoadClicked = /*#__PURE__*/function () {\n var _ref2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() {\n var url, audio, dst, audio_echo, audio_org;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return (0,_dannadori_voice_changer_client_js__WEBPACK_IMPORTED_MODULE_6__.fileSelectorAsDataURL)(\"\");\n case 2:\n url = _context2.sent;\n // input stream for client.\n audio = document.getElementById(_const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_TEST_CONVERTED);\n audio.pause();\n audio.srcObject = null;\n audio.src = url;\n _context2.next = 9;\n return audio.play();\n case 9:\n if (!audioSrcNode.current) {\n audioSrcNode.current = audioContext.createMediaElementSource(audio);\n }\n if (audioSrcNode.current.mediaElement != audio) {\n audioSrcNode.current = audioContext.createMediaElementSource(audio);\n }\n dst = audioContext.createMediaStreamDestination();\n audioSrcNode.current.connect(dst);\n try {\n setVoiceChangerClientSetting(_objectSpread(_objectSpread({}, setting.voiceChangerClientSetting), {}, {\n audioInput: dst.stream\n }));\n } catch (e) {\n console.error(e);\n }\n audio_echo = document.getElementById(_const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_TEST_CONVERTED_ECHOBACK);\n audio_echo.srcObject = dst.stream;\n audio_echo.play();\n audio_echo.volume = 0;\n setFileInputEchoback(false);\n\n // original stream to play.\n audio_org = document.getElementById(_const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_TEST_ORIGINAL);\n audio_org.src = url;\n audio_org.pause();\n case 22:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function onFileLoadClicked() {\n return _ref2.apply(this, arguments);\n };\n }();\n var echobackClass = fileInputEchoback ? \"config-sub-area-control-field-wav-file-echoback-button-active\" : \"config-sub-area-control-field-wav-file-echoback-button\";\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field-wav-file left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field-wav-file-audio-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"audio\", {\n id: _const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_TEST_ORIGINAL,\n controls: true,\n hidden: true\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"audio\", {\n className: \"config-sub-area-control-field-wav-file-audio\",\n id: _const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_TEST_CONVERTED,\n controls: true,\n controlsList: \"nodownload noplaybackrate\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"audio\", {\n id: _const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_TEST_CONVERTED_ECHOBACK,\n controls: true,\n hidden: true\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"img\", {\n className: \"config-sub-area-control-field-wav-file-folder\",\n src: \"./assets/icons/folder.svg\",\n onClick: onFileLoadClicked\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: echobackClass,\n onClick: function onClick() {\n setFileInputEchoback(!fileInputEchoback);\n }\n }, \"echo\", fileInputEchoback))));\n }, [audioInputForGUI, fileInputEchoback, setting, serverSetting.serverSetting]);\n\n // (3) Audio Output\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {\n var loadCache = /*#__PURE__*/function () {\n var _ref3 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3() {\n var key;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return getItem(_const__WEBPACK_IMPORTED_MODULE_8__.INDEXEDDB_KEY_AUDIO_OUTPUT);\n case 2:\n key = _context3.sent;\n if (key) {\n setAudioOutputForGUI(key);\n }\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return function loadCache() {\n return _ref3.apply(this, arguments);\n };\n }();\n loadCache();\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {\n var setAudioOutput = /*#__PURE__*/function () {\n var _ref4 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee4() {\n var mediaDeviceInfos;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return navigator.mediaDevices.enumerateDevices();\n case 2:\n mediaDeviceInfos = _context4.sent;\n [_const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_PLAY_RESULT, _const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_TEST_ORIGINAL, _const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_TEST_CONVERTED_ECHOBACK].forEach(function (x) {\n var audio = document.getElementById(x);\n if (audio) {\n if (serverSetting.serverSetting.enableServerAudio == 1) {\n // Server Audio を使う場合はElementから音は出さない。\n audio.volume = 0;\n } else if (audioOutputForGUI == \"none\") {\n // @ts-ignore\n audio.setSinkId(\"\");\n if (x == _const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_TEST_CONVERTED_ECHOBACK) {\n audio.volume = 0;\n } else {\n audio.volume = 0;\n }\n } else {\n var audioOutputs = mediaDeviceInfos.filter(function (x) {\n return x.kind == \"audiooutput\";\n });\n var found = audioOutputs.some(function (x) {\n return x.deviceId == audioOutputForGUI;\n });\n if (found) {\n // @ts-ignore // 例外キャッチできないので事前にIDチェックが必要らしい。\n audio.setSinkId(audioOutputForGUI);\n } else {\n console.warn(\"No audio output device. use default\");\n }\n if (x == _const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_TEST_CONVERTED_ECHOBACK) {\n audio.volume = fileInputEchoback ? 1 : 0;\n } else {\n audio.volume = 1;\n }\n }\n }\n });\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return function setAudioOutput() {\n return _ref4.apply(this, arguments);\n };\n }();\n setAudioOutput();\n }, [audioOutputForGUI, fileInputEchoback, serverSetting.serverSetting.enableServerAudio]);\n\n // (3-1) クライアント\n var clientAudioOutputRow = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n if (serverSetting.serverSetting.enableServerAudio == 1) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title left-padding-1\"\n }, \"output\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n className: \"body-select\",\n value: audioOutputForGUI,\n onChange: function onChange(e) {\n setAudioOutputForGUI(e.target.value);\n setItem(_const__WEBPACK_IMPORTED_MODULE_8__.INDEXEDDB_KEY_AUDIO_OUTPUT, e.target.value);\n }\n }, outputAudioDeviceInfo.map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n key: x.deviceId,\n value: x.deviceId\n }, x.label);\n }))));\n }, [serverSetting.serverSetting.enableServerAudio, outputAudioDeviceInfo, audioOutputForGUI]);\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {\n console.log(\"initializedRef.current\", initializedRef.current);\n setAudioOutputElementId(_const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_PLAY_RESULT);\n }, [initializedRef.current]);\n\n // (3-2) サーバ\n var serverAudioOutputRow = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n if (serverSetting.serverSetting.enableServerAudio == 0) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n }\n var devices = serverSetting.serverSetting.serverAudioOutputDevices;\n var hostAPIs = new Set(devices.map(function (x) {\n return x.hostAPI;\n }));\n var hostAPIOptions = Array.from(hostAPIs).map(function (x, index) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n value: x,\n key: index\n }, x);\n });\n var filteredDevice = devices.map(function (x, index) {\n if (outputHostApi != \"ALL\" && x.hostAPI != outputHostApi) {\n return null;\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n value: x.index,\n key: index\n }, \"[\", x.hostAPI, \"]\", x.name);\n }).filter(function (x) {\n return x != null;\n });\n var currentValue = devices.find(function (x) {\n return (x.hostAPI == outputHostApi || outputHostApi == \"ALL\") && x.index == serverSetting.serverSetting.serverOutputDeviceId;\n }) ? serverSetting.serverSetting.serverOutputDeviceId : -1;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title left-padding-1\"\n }, \"output\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field-auido-io\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n className: \"config-sub-area-control-field-auido-io-filter\",\n name: \"kinds\",\n id: \"kinds\",\n value: outputHostApi,\n onChange: function onChange(e) {\n setOutputHostApi(e.target.value);\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n value: \"ALL\",\n key: \"ALL\"\n }, \"ALL\"), hostAPIOptions), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n className: \"config-sub-area-control-field-auido-io-select\",\n value: currentValue,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n serverOutputDeviceId: Number(e.target.value)\n }));\n }\n }, filteredDevice, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n value: \"-1\",\n key: \"none\"\n }, \"none\")))));\n }, [outputHostApi, serverSetting.serverSetting, serverSetting.updateServerSettings, serverSetting.serverSetting.enableServerAudio]);\n\n // (4) レコーダー\n var outputRecorderRow = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n if (serverSetting.serverSetting.enableServerAudio == 1) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n }\n var onOutputRecordStartClicked = /*#__PURE__*/function () {\n var _ref5 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee5() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n setOutputRecordingStarted(true);\n _context5.next = 3;\n return startOutputRecording();\n case 3:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }));\n return function onOutputRecordStartClicked() {\n return _ref5.apply(this, arguments);\n };\n }();\n var onOutputRecordStopClicked = /*#__PURE__*/function () {\n var _ref6 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee6() {\n var record;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee6$(_context6) {\n while (1) switch (_context6.prev = _context6.next) {\n case 0:\n setOutputRecordingStarted(false);\n _context6.next = 3;\n return stopOutputRecording();\n case 3:\n record = _context6.sent;\n downloadRecord(record);\n case 5:\n case \"end\":\n return _context6.stop();\n }\n }, _callee6);\n }));\n return function onOutputRecordStopClicked() {\n return _ref6.apply(this, arguments);\n };\n }();\n var startClassName = outputRecordingStarted ? \"config-sub-area-button-active\" : \"config-sub-area-button\";\n var stopClassName = outputRecordingStarted ? \"config-sub-area-button\" : \"config-sub-area-button-active\";\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"REC.\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-buttons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n onClick: onOutputRecordStartClicked,\n className: startClassName\n }, \"start\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n onClick: onOutputRecordStopClicked,\n className: stopClassName\n }, \"stop\"))));\n }, [outputRecordingStarted, startOutputRecording, stopOutputRecording, serverSetting.serverSetting.enableServerAudio]);\n\n // (5) サンプリングレート\n var sampleRateRow = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n if (serverSetting.serverSetting.enableServerAudio == 0) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title left-padding-1\"\n }, \"S.R.\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field-auido-io\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n className: \"config-sub-area-control-field-sample-rate-select\",\n value: serverSetting.serverSetting.serverAudioSampleRate,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n serverAudioSampleRate: Number(e.target.value)\n }));\n }\n }, [16000, 32000, 44100, 48000, 96000, 192000].map(function (x) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n key: x,\n value: x\n }, x);\n })))));\n }, [serverSetting.serverSetting, serverSetting.updateServerSettings, serverSetting.serverSetting.enableServerAudio]);\n\n // (6) Monitor\n var serverMonitorRow = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n if (serverSetting.serverSetting.enableServerAudio == 0) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null);\n }\n var devices = serverSetting.serverSetting.serverAudioOutputDevices;\n var hostAPIs = new Set(devices.map(function (x) {\n return x.hostAPI;\n }));\n var hostAPIOptions = Array.from(hostAPIs).map(function (x, index) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n value: x,\n key: index\n }, x);\n });\n var filteredDevice = devices.map(function (x, index) {\n if (monitorHostApi != \"ALL\" && x.hostAPI != monitorHostApi) {\n return null;\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n value: x.index,\n key: index\n }, \"[\", x.hostAPI, \"]\", x.name);\n }).filter(function (x) {\n return x != null;\n });\n filteredDevice.unshift( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n value: -1,\n key: -1\n }, \"none\"));\n var currentValue = devices.find(function (x) {\n return (x.hostAPI == monitorHostApi || monitorHostApi == \"ALL\") && x.index == serverSetting.serverSetting.serverMonitorDeviceId;\n }) ? serverSetting.serverSetting.serverMonitorDeviceId : -1;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title left-padding-1\"\n }, \"monitor\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field-auido-io\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n className: \"config-sub-area-control-field-auido-io-filter\",\n name: \"kinds\",\n id: \"kinds\",\n value: monitorHostApi,\n onChange: function onChange(e) {\n setMonitorHostApi(e.target.value);\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n value: \"ALL\",\n key: \"ALL\"\n }, \"ALL\"), hostAPIOptions), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n className: \"config-sub-area-control-field-auido-io-select\",\n value: currentValue,\n onChange: function onChange(e) {\n serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n serverMonitorDeviceId: Number(e.target.value)\n }));\n }\n }, filteredDevice))));\n }, [monitorHostApi, serverSetting.serverSetting, serverSetting.updateServerSettings, serverSetting.serverSetting.enableServerAudio]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area\"\n }, deviceModeRow, sampleRateRow, clientAudioInputRow, serverAudioInputRow, audioInputMediaRow, clientAudioOutputRow, serverAudioOutputRow, serverMonitorRow, outputRecorderRow, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"audio\", {\n hidden: true,\n id: _const__WEBPACK_IMPORTED_MODULE_8__.AUDIO_ELEMENT_FOR_PLAY_RESULT\n }));\n};\nvar downloadRecord = function downloadRecord(data) {\n var writeString = function writeString(view, offset, string) {\n for (var i = 0; i < string.length; i++) {\n view.setUint8(offset + i, string.charCodeAt(i));\n }\n };\n var floatTo16BitPCM = function floatTo16BitPCM(output, offset, input) {\n for (var i = 0; i < input.length; i++, offset += 2) {\n var s = Math.max(-1, Math.min(1, input[i]));\n output.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true);\n }\n };\n var buffer = new ArrayBuffer(44 + data.length * 2);\n var view = new DataView(buffer);\n\n // https://www.youfit.co.jp/archives/1418\n writeString(view, 0, \"RIFF\"); // RIFFヘッダ\n view.setUint32(4, 32 + data.length * 2, true); // これ以降のファイルサイズ\n writeString(view, 8, \"WAVE\"); // WAVEヘッダ\n writeString(view, 12, \"fmt \"); // fmtチャンク\n view.setUint32(16, 16, true); // fmtチャンクのバイト数\n view.setUint16(20, 1, true); // フォーマットID\n view.setUint16(22, 1, true); // チャンネル数\n view.setUint32(24, 48000, true); // サンプリングレート\n view.setUint32(28, 48000 * 2, true); // データ速度\n view.setUint16(32, 2, true); // ブロックサイズ\n view.setUint16(34, 16, true); // サンプルあたりのビット数\n writeString(view, 36, \"data\"); // dataチャンク\n view.setUint32(40, data.length * 2, true); // 波形データのバイト数\n floatTo16BitPCM(view, 44, data); // 波形データ\n var audioBlob = new Blob([view], {\n type: \"audio/wav\"\n });\n var url = URL.createObjectURL(audioBlob);\n var a = document.createElement(\"a\");\n a.href = url;\n a.download = \"output.wav\";\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n URL.revokeObjectURL(url);\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/102-3_DeviceArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/102-4_RecorderArea.tsx":
/*!****************************************************************!*\
!*** ./src/components/demo/components2/102-4_RecorderArea.tsx ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RecorderArea: () => (/* binding */ RecorderArea)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../001_provider/001_AppStateProvider */ \"./src/001_provider/001_AppStateProvider.tsx\");\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n/* harmony import */ var _const__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../const */ \"./src/const.ts\");\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\nvar RecorderArea = function RecorderArea(_props) {\n var _useAppState = (0,_001_provider_001_AppStateProvider__WEBPACK_IMPORTED_MODULE_5__.useAppState)(),\n serverSetting = _useAppState.serverSetting;\n var _useGuiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_6__.useGuiState)(),\n audioOutputForAnalyzer = _useGuiState.audioOutputForAnalyzer,\n setAudioOutputForAnalyzer = _useGuiState.setAudioOutputForAnalyzer,\n outputAudioDeviceInfo = _useGuiState.outputAudioDeviceInfo;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(false),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_useState, 2),\n serverIORecording = _useState2[0],\n setServerIORecording = _useState2[1];\n var serverIORecorderRow = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function () {\n var onServerIORecordStartClicked = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n setServerIORecording(true);\n _context.next = 3;\n return serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n recordIO: 1\n }));\n case 3:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function onServerIORecordStartClicked() {\n return _ref.apply(this, arguments);\n };\n }();\n var onServerIORecordStopClicked = /*#__PURE__*/function () {\n var _ref2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() {\n var wavInput, wavOutput;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n setServerIORecording(false);\n _context2.next = 3;\n return serverSetting.updateServerSettings(_objectSpread(_objectSpread({}, serverSetting.serverSetting), {}, {\n recordIO: 0\n }));\n case 3:\n // set wav (input)\n wavInput = document.getElementById(_const__WEBPACK_IMPORTED_MODULE_7__.AUDIO_ELEMENT_FOR_SAMPLING_INPUT);\n wavInput.src = \"/tmp/in.wav?\" + new Date().getTime();\n wavInput.controls = true;\n // @ts-ignore\n wavInput.setSinkId(audioOutputForAnalyzer);\n\n // set wav (output)\n wavOutput = document.getElementById(_const__WEBPACK_IMPORTED_MODULE_7__.AUDIO_ELEMENT_FOR_SAMPLING_OUTPUT);\n wavOutput.src = \"/tmp/out.wav?\" + new Date().getTime();\n wavOutput.controls = true;\n // @ts-ignore\n wavOutput.setSinkId(audioOutputForAnalyzer);\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function onServerIORecordStopClicked() {\n return _ref2.apply(this, arguments);\n };\n }();\n var startClassName = serverIORecording ? \"config-sub-area-button-active\" : \"config-sub-area-button\";\n var stopClassName = serverIORecording ? \"config-sub-area-button\" : \"config-sub-area-button-active\";\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title-long\"\n }, \"ServerIO Analyzer\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"SIO rec.\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-buttons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n onClick: onServerIORecordStartClicked,\n className: startClassName\n }, \"start\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n onClick: onServerIORecordStopClicked,\n className: stopClassName\n }, \"stop\")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"output\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field-auido-io\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"select\", {\n className: \"body-select\",\n value: audioOutputForAnalyzer,\n onChange: function onChange(e) {\n setAudioOutputForAnalyzer(e.target.value);\n var wavInput = document.getElementById(_const__WEBPACK_IMPORTED_MODULE_7__.AUDIO_ELEMENT_FOR_SAMPLING_INPUT);\n var wavOutput = document.getElementById(_const__WEBPACK_IMPORTED_MODULE_7__.AUDIO_ELEMENT_FOR_SAMPLING_OUTPUT);\n //@ts-ignore\n wavInput.setSinkId(e.target.value);\n //@ts-ignore\n wavOutput.setSinkId(e.target.value);\n }\n }, outputAudioDeviceInfo.map(function (x) {\n if (x.deviceId == \"none\") {\n return null;\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"option\", {\n key: x.deviceId,\n value: x.deviceId\n }, x.label);\n }).filter(function (x) {\n return x != null;\n }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"in\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field-wav-file\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field-wav-file-audio-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"audio\", {\n className: \"config-sub-area-control-field-wav-file-audio\",\n id: _const__WEBPACK_IMPORTED_MODULE_7__.AUDIO_ELEMENT_FOR_SAMPLING_INPUT,\n controls: true\n }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"out\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field-wav-file\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area-control-field-wav-file-audio-container\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"audio\", {\n className: \"config-sub-area-control-field-wav-file-audio\",\n id: _const__WEBPACK_IMPORTED_MODULE_7__.AUDIO_ELEMENT_FOR_SAMPLING_OUTPUT,\n controls: true\n }))))));\n }, [serverIORecording, audioOutputForAnalyzer, outputAudioDeviceInfo, serverSetting.updateServerSettings]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", {\n className: \"config-sub-area\"\n }, serverIORecorderRow);\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/102-4_RecorderArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/102-5_MoreActionArea.tsx":
/*!******************************************************************!*\
!*** ./src/components/demo/components2/102-5_MoreActionArea.tsx ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MoreActionArea: () => (/* binding */ MoreActionArea)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../001_GuiStateProvider */ \"./src/components/demo/001_GuiStateProvider.tsx\");\n\n\nvar MoreActionArea = function MoreActionArea(_props) {\n var _useGuiState = (0,_001_GuiStateProvider__WEBPACK_IMPORTED_MODULE_1__.useGuiState)(),\n stateControls = _useGuiState.stateControls;\n var serverIORecorderRow = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n var onOpenMergeLabClicked = function onOpenMergeLabClicked() {\n stateControls.showMergeLabCheckbox.updateState(true);\n };\n var onOpenAdvancedSettingClicked = function onOpenAdvancedSettingClicked() {\n stateControls.showAdvancedSettingCheckbox.updateState(true);\n };\n var onOpenGetServerInformationClicked = function onOpenGetServerInformationClicked() {\n stateControls.showGetServerInformationCheckbox.updateState(true);\n };\n var onOpenGetClientInformationClicked = function onOpenGetClientInformationClicked() {\n stateControls.showGetClientInformationCheckbox.updateState(true);\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"config-sub-area-control left-padding-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"config-sub-area-control-title\"\n }, \"more...\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"config-sub-area-control-field config-sub-area-control-field-long\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"config-sub-area-buttons\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n onClick: onOpenMergeLabClicked,\n className: \"config-sub-area-button\"\n }, \"Merge Lab\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n onClick: onOpenAdvancedSettingClicked,\n className: \"config-sub-area-button\"\n }, \"Advanced Setting\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n onClick: onOpenGetServerInformationClicked,\n className: \"config-sub-area-button\"\n }, \"Server Info\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n onClick: onOpenGetClientInformationClicked,\n className: \"config-sub-area-button\"\n }, \"Client Info\")))));\n }, [stateControls]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"config-sub-area\"\n }, serverIORecorderRow);\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/102-5_MoreActionArea.tsx?");
/***/ }),
/***/ "./src/components/demo/components2/102_ConfigArea.tsx":
/*!************************************************************!*\
!*** ./src/components/demo/components2/102_ConfigArea.tsx ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConfigArea: () => (/* binding */ ConfigArea)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _102_1_QualityArea__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./102-1_QualityArea */ \"./src/components/demo/components2/102-1_QualityArea.tsx\");\n/* harmony import */ var _102_2_ConvertArea__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./102-2_ConvertArea */ \"./src/components/demo/components2/102-2_ConvertArea.tsx\");\n/* harmony import */ var _102_3_DeviceArea__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./102-3_DeviceArea */ \"./src/components/demo/components2/102-3_DeviceArea.tsx\");\n/* harmony import */ var _102_4_RecorderArea__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./102-4_RecorderArea */ \"./src/components/demo/components2/102-4_RecorderArea.tsx\");\n/* harmony import */ var _102_5_MoreActionArea__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./102-5_MoreActionArea */ \"./src/components/demo/components2/102-5_MoreActionArea.tsx\");\n\n\n\n\n\n\nvar ConfigArea = function ConfigArea(props) {\n var configArea = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"config-area\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_102_1_QualityArea__WEBPACK_IMPORTED_MODULE_1__.QualityArea, {\n detectors: props.detectors\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_102_2_ConvertArea__WEBPACK_IMPORTED_MODULE_2__.ConvertArea, {\n inputChunkNums: props.inputChunkNums\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"config-area\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_102_3_DeviceArea__WEBPACK_IMPORTED_MODULE_3__.DeviceArea, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_102_4_RecorderArea__WEBPACK_IMPORTED_MODULE_4__.RecorderArea, null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"config-area\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_102_5_MoreActionArea__WEBPACK_IMPORTED_MODULE_5__.MoreActionArea, null)));\n }, []);\n return configArea;\n};\n\n//# sourceURL=webpack://demo/./src/components/demo/components2/102_ConfigArea.tsx?");
/***/ }),
/***/ "./src/const.ts":
/*!**********************!*\
!*** ./src/const.ts ***!
\**********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AUDIO_ELEMENT_FOR_PLAY_RESULT: () => (/* binding */ AUDIO_ELEMENT_FOR_PLAY_RESULT),\n/* harmony export */ AUDIO_ELEMENT_FOR_SAMPLING_INPUT: () => (/* binding */ AUDIO_ELEMENT_FOR_SAMPLING_INPUT),\n/* harmony export */ AUDIO_ELEMENT_FOR_SAMPLING_OUTPUT: () => (/* binding */ AUDIO_ELEMENT_FOR_SAMPLING_OUTPUT),\n/* harmony export */ AUDIO_ELEMENT_FOR_TEST_CONVERTED: () => (/* binding */ AUDIO_ELEMENT_FOR_TEST_CONVERTED),\n/* harmony export */ AUDIO_ELEMENT_FOR_TEST_CONVERTED_ECHOBACK: () => (/* binding */ AUDIO_ELEMENT_FOR_TEST_CONVERTED_ECHOBACK),\n/* harmony export */ AUDIO_ELEMENT_FOR_TEST_ORIGINAL: () => (/* binding */ AUDIO_ELEMENT_FOR_TEST_ORIGINAL),\n/* harmony export */ INDEXEDDB_KEY_AUDIO_OUTPUT: () => (/* binding */ INDEXEDDB_KEY_AUDIO_OUTPUT),\n/* harmony export */ INDEXEDDB_KEY_DEFAULT_MODEL_TYPE: () => (/* binding */ INDEXEDDB_KEY_DEFAULT_MODEL_TYPE),\n/* harmony export */ isDesktopApp: () => (/* binding */ isDesktopApp)\n/* harmony export */ });\nvar AUDIO_ELEMENT_FOR_PLAY_RESULT = \"audio-result\";\nvar AUDIO_ELEMENT_FOR_TEST_ORIGINAL = \"audio-test-original\";\nvar AUDIO_ELEMENT_FOR_TEST_CONVERTED = \"audio-test-converted\";\nvar AUDIO_ELEMENT_FOR_TEST_CONVERTED_ECHOBACK = \"audio-test-converted-echoback\";\nvar AUDIO_ELEMENT_FOR_SAMPLING_INPUT = \"body-wav-container-wav-input\";\nvar AUDIO_ELEMENT_FOR_SAMPLING_OUTPUT = \"body-wav-container-wav-output\";\nvar INDEXEDDB_KEY_AUDIO_OUTPUT = \"INDEXEDDB_KEY_AUDIO_OUTPUT\";\nvar INDEXEDDB_KEY_DEFAULT_MODEL_TYPE = \"INDEXEDDB_KEY_DEFALT_MODEL_TYPE\";\nvar isDesktopApp = function isDesktopApp() {\n if (navigator.userAgent.indexOf('Electron') >= 0) {\n return true;\n } else {\n return false;\n }\n};\n\n//# sourceURL=webpack://demo/./src/const.ts?");
/***/ }),
/***/ "./src/hooks/useMessageBuilder.ts":
/*!****************************************!*\
!*** ./src/hooks/useMessageBuilder.ts ***!
\****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useMessageBuilder: () => (/* binding */ useMessageBuilder)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nvar useMessageBuilder = function useMessageBuilder() {\n var messagesRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]);\n var setMessage = function setMessage(file, id, message) {\n if (messagesRef.current.find(function (x) {\n return x.file == file && x.id == id;\n })) {\n console.warn(\"duplicate message is registerd\", file, id, message);\n } else {\n messagesRef.current.push({\n file: file,\n id: id,\n message: message\n });\n }\n };\n var getMessage = function getMessage(file, id) {\n var _messagesRef$current$;\n var lang = window.navigator.language;\n if (lang != \"ja\") {\n lang = \"en\";\n }\n return ((_messagesRef$current$ = messagesRef.current.find(function (x) {\n return x.file == file && x.id == id;\n })) === null || _messagesRef$current$ === void 0 ? void 0 : _messagesRef$current$.message[lang]) || \"unknwon message\";\n };\n return {\n setMessage: setMessage,\n getMessage: getMessage\n };\n};\n\n//# sourceURL=webpack://demo/./src/hooks/useMessageBuilder.ts?");
/***/ }),
/***/ "./src/hooks/useStateControlCheckbox.tsx":
/*!***********************************************!*\
!*** ./src/hooks/useStateControlCheckbox.tsx ***!
\***********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useStateControlCheckbox: () => (/* binding */ useStateControlCheckbox)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nvar useStateControlCheckbox = function useStateControlCheckbox(className, changeCallback) {\n var currentValForTriggerCallbackRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);\n // (4) トリガチェックボックス\n var callback = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n // console.log(\"generate callback function\", className);\n return function (newVal) {\n if (!changeCallback) {\n return;\n }\n // 値が同じときはスルー (== 初期値(undefined)か、値が違ったのみ発火)\n if (currentValForTriggerCallbackRef.current === newVal) {\n return;\n }\n // 初期値(undefined)か、値が違ったのみ発火\n currentValForTriggerCallbackRef.current = newVal;\n changeCallback(currentValForTriggerCallbackRef.current);\n };\n }, []);\n var trigger = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n if (changeCallback) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: \"checkbox\",\n className: \"\".concat(className, \" state-control-checkbox rotate-button\"),\n id: \"\".concat(className),\n onChange: function onChange(e) {\n callback(e.target.checked);\n }\n });\n } else {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: \"checkbox\",\n className: \"\".concat(className, \" state-control-checkbox rotate-button\"),\n id: \"\".concat(className)\n });\n }\n }, []);\n var checked = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n return function () {\n var checkboxes = document.querySelectorAll(\".\".concat(className));\n if (checkboxes.length == 0) {\n return false;\n }\n var box = checkboxes[0];\n return box.checked;\n };\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n var checkboxes = document.querySelectorAll(\".\".concat(className));\n // (1) On/Off同期\n checkboxes.forEach(function (x) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n x.onchange = function (ev) {\n updateState(ev.target.checked);\n };\n });\n // (2) 全エレメントoff\n var removers = document.querySelectorAll(\".\".concat(className, \"-remover\"));\n removers.forEach(function (x) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n x.onclick = function (ev) {\n if (ev.target.className.indexOf(\"\".concat(className, \"-remover\")) > 0) {\n updateState(false);\n }\n };\n });\n }, []);\n\n // (3) ステート変更\n var updateState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n return function (newVal) {\n var currentCheckboxes = document.querySelectorAll(\".\".concat(className));\n currentCheckboxes.forEach(function (y) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n y.checked = newVal;\n });\n if (changeCallback) {\n callback(newVal);\n }\n };\n }, []);\n return {\n trigger: trigger,\n updateState: updateState,\n checked: checked,\n className: className\n };\n};\n\n//# sourceURL=webpack://demo/./src/hooks/useStateControlCheckbox.tsx?");
/***/ }),
/***/ "./src/utils/utils.ts":
/*!****************************!*\
!*** ./src/utils/utils.ts ***!
\****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ checkExtention: () => (/* binding */ checkExtention),\n/* harmony export */ trimfileName: () => (/* binding */ trimfileName)\n/* harmony export */ });\nvar trimfileName = function trimfileName(name, length) {\n var trimmedName = name.replace(/^.*[\\\\\\/]/, '');\n if (trimmedName.length > length) {\n return trimmedName.substring(0, length) + \"...\";\n } else {\n return trimmedName;\n }\n};\nvar checkExtention = function checkExtention(filename, acceptExtentions) {\n var ext = filename.split('.').pop();\n if (!ext) {\n return false;\n }\n return acceptExtentions.includes(ext);\n};\n\n//# sourceURL=webpack://demo/./src/utils/utils.ts?");
/***/ }),
/***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js!./src/css/101_RotatedButton.css":
/*!***************************************************************************************************************************************************!*\
!*** ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js!./src/css/101_RotatedButton.css ***!
\***************************************************************************************************************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* 前提条件 */\r\n\r\n.rotate-button-container {\r\n height: var(--header-height);\r\n width: var(--header-height);\r\n position: relative;\r\n}\r\n.rotate-button {\r\n display: none;\r\n}\r\n.rotate-button ~ .rotate-lable {\r\n padding: 2px;\r\n position: absolute;\r\n transition: all 0.3s;\r\n cursor: pointer;\r\n height: var(--header-height);\r\n width: var(--header-height);\r\n}\r\n.rotate-button ~ .rotate-lable > * {\r\n width: 100%;\r\n height: 100%;\r\n float: left;\r\n transition: all 0.3s;\r\n}\r\n.rotate-button ~ .rotate-lable > * .spin-on {\r\n width: 100%;\r\n height: 100%;\r\n display: none;\r\n }\r\n.rotate-button ~ .rotate-lable > * .spin-off {\r\n width: 100%;\r\n height: 100%;\r\n display: blcok;\r\n }\r\n.rotate-button ~ .rotate-lable > .colored {\r\n color: rgba(200, 200, 200, 0.8);\r\n background: rgba(0, 0, 0, 1);\r\n transition: all 0.3s;\r\n}\r\n.rotate-button ~ .rotate-lable > .colored .spin-on {\r\n display: none;\r\n }\r\n.rotate-button ~ .rotate-lable > .colored .spin-off {\r\n display: block;\r\n }\r\n.rotate-button:checked ~ .rotate-lable > .colored {\r\n color: rgba(50, 240, 50, 0.8);\r\n background: rgba(60, 60, 60, 1);\r\n transition: all 0.3s;\r\n}\r\n.rotate-button:checked ~ .rotate-lable > .colored .spin-on {\r\n display: block;\r\n }\r\n.rotate-button:checked ~ .rotate-lable > .colored .spin-off {\r\n display: none;\r\n }\r\n\r\n.rotate-button:checked ~ .rotate-lable > .spinner {\r\n width: 100%;\r\n height: 100%;\r\n transform: rotate(180deg);\r\n transition: all 0.3s;\r\n box-sizing: border-box;\r\n}\r\n\r\n.rotate-button:checked ~ .rotate-lable > .spinner .spin-on {\r\n display: block;\r\n }\r\n\r\n.rotate-button:checked ~ .rotate-lable > .spinner .spin-off {\r\n display: none;\r\n }\r\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://demo/./src/css/101_RotatedButton.css?./node_modules/css-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B2%5D.use%5B1%5D!./node_modules/postcss-loader/dist/cjs.js");
/***/ }),
/***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js!./src/css/App.css":
/*!*************************************************************************************************************************************!*\
!*** ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js!./src/css/App.css ***!
\*************************************************************************************************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_2_use_1_node_modules_postcss_loader_dist_cjs_js_101_RotatedButton_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! -!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/postcss-loader/dist/cjs.js!./101_RotatedButton.css */ \"./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js!./src/css/101_RotatedButton.css\");\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_2_use_1_node_modules_postcss_loader_dist_cjs_js_Error_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! -!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/postcss-loader/dist/cjs.js!./Error.css */ \"./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js!./src/css/Error.css\");\n// Imports\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/css2?family=Chicle&family=Poppins:ital,wght@0,200;0,400;0,600;1,200;1,400;1,600&display=swap);\"]);\n___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/css2?family=Yusei+Magic&display=swap);\"]);\n___CSS_LOADER_EXPORT___.i(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_2_use_1_node_modules_postcss_loader_dist_cjs_js_101_RotatedButton_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n___CSS_LOADER_EXPORT___.i(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_2_use_1_node_modules_postcss_loader_dist_cjs_js_Error_css__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root {\r\n --text-color: #333;\r\n --company-color1: rgba(64, 119, 187, 1);\r\n --company-color2: rgba(29, 47, 78, 1);\r\n --company-color3: rgba(255, 255, 255, 1);\r\n --company-color1-alpha: rgba(64, 119, 187, 0.3);\r\n --company-color2-alpha: rgba(29, 47, 78, 0.3);\r\n --company-color3-alpha: rgba(255, 255, 255, 0.3);\r\n --global-shadow-color: rgba(0, 0, 0, 0.4);\r\n\r\n --sidebar-transition-time: 0.2s;\r\n --sidebar-transition-time-quick: 0.1s;\r\n --sidebar-transition-animation: ease-in-out;\r\n\r\n --header-height: 1.5rem;\r\n --right-sidebar-width: 320px;\r\n\r\n --dialog-border-color: rgba(100, 100, 100, 1);\r\n --dialog-shadow-color: rgba(0, 0, 0, 0.3);\r\n --dialog-background-color: rgba(255, 255, 255, 1);\r\n --dialog-primary-color: rgba(19, 70, 209, 1);\r\n --dialog-active-color: rgba(40, 70, 209, 1);\r\n --dialog-input-border-color: rgba(200, 200, 200, 1);\r\n --dialog-submit-button-color: rgba(180, 190, 230, 1);\r\n --dialog-cancel-button-color: rgba(235, 80, 80, 1);\r\n\r\n --body-video-seeker-height: 3rem;\r\n}\r\n\r\n* {\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n font-family: \"Poppins\", sans-serif;\r\n}\r\nhtml {\r\n font-size: 16px;\r\n}\r\nbody {\r\n height: 100%;\r\n width: 100%;\r\n overflow-y: scroll;\r\n overflow-x: hidden;\r\n color: var(--text-color);\r\n /* background: linear-gradient(45deg, var(--company-color1) 0, 5%, var(--company-color2) 5% 10%, var(--company-color3) 10% 80%, var(--company-color1) 80% 85%, var(--company-color2) 85% 100%); */\r\n background: linear-gradient(45deg, var(--company-color1) 0, 1%, var(--company-color2) 1% 5%, var(--company-color3) 5% 90%, var(--company-color1) 90% 95%, var(--company-color2) 95% 100%);\r\n}\r\n#app {\r\n height: 100%;\r\n width: 100%;\r\n}\r\n.first-gesture {\r\n background: rgba(200, 0, 0, 0.2);\r\n width: 100%;\r\n height: 100%;\r\n position: absolute;\r\n}\r\n\r\n/* Main + Section Partition*/\r\n.main-body {\r\n height: 100%;\r\n width: 100%;\r\n padding: 2rem;\r\n font-family: \"Yusei Magic\", sans-serif;\r\n display: flex;\r\n flex-direction: column;\r\n font-size: 1rem;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n}\r\n/* Title */\r\n.main-body .top-title .title {\r\n font-size: 3rem;\r\n }\r\n.main-body .top-title .top-title-version {\r\n margin-left: 2rem;\r\n font-size: 1.2rem;\r\n background: linear-gradient(transparent 60%, yellow 30%);\r\n }\r\n.main-body .top-title .top-title-version-number {\r\n margin-left: 0.3rem;\r\n font-size: 0.8rem;\r\n }\r\n.main-body .top-title .belongings {\r\n margin-left: 1rem;\r\n margin-right: 1rem;\r\n }\r\n.main-body .top-title .belongings .link {\r\n margin-left: 1rem;\r\n font-weight: 700;\r\n text-decoration: underline;\r\n }\r\n/* Partition */\r\n.main-body .partition {\r\n width: 100%;\r\n }\r\n.main-body .partition .partition-header {\r\n font-weight: 700;\r\n color: rgb(71, 69, 69);\r\n display: flex;\r\n }\r\n.main-body .partition .partition-header .caret {\r\n width: 2rem;\r\n }\r\n.main-body .partition .partition-header .title {\r\n font-size: 1.1rem;\r\n }\r\n.main-body .partition .partition-header .belongings {\r\n font-weight: 400;\r\n font-size: 0.8rem;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: flex-end;\r\n margin-left: 10px;\r\n }\r\n.main-body .partition .partition-header .belongings .belongings-checkbox {\r\n margin-bottom: 3px;\r\n }\r\n.main-body .partition .partition-content {\r\n position: static;\r\n overflow-y: hidden;\r\n }\r\n.main-body .partition .row-split {\r\n }\r\n.state-control-checkbox:checked + .partition .partition-content {\r\n max-height: 700px;\r\n background: rgba(255, 255, 255, 0.3);\r\n transition: all var(--sidebar-transition-time) var(--sidebar-transition-animation);\r\n}\r\n.state-control-checkbox + .partition .partition-content {\r\n max-height: 0px;\r\n background: rgba(233, 233, 255, 0.3);\r\n transition: all var(--sidebar-transition-time) var(--sidebar-transition-animation);\r\n}\r\n/* ROW */\r\n\r\n.split-8-2 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n\r\n.split-8-2 > div:nth-child(1) {\r\n left: 0px;\r\n width: 80%;\r\n }\r\n\r\n.split-8-2 > div:nth-child(2) {\r\n left: 80%;\r\n width: 20%;\r\n }\r\n.split-6-4 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-6-4 > div:nth-child(1) {\r\n left: 0px;\r\n width: 60%;\r\n }\r\n.split-6-4 > div:nth-child(2) {\r\n left: 60%;\r\n width: 40%;\r\n }\r\n.split-5-5 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-5-5 > div:nth-child(1) {\r\n left: 0px;\r\n width: 50%;\r\n }\r\n.split-5-5 > div:nth-child(2) {\r\n left: 50%;\r\n width: 50%;\r\n }\r\n.split-4-6 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-4-6 > div:nth-child(1) {\r\n left: 0px;\r\n width: 40%;\r\n }\r\n.split-4-6 > div:nth-child(2) {\r\n left: 40%;\r\n width: 60%;\r\n }\r\n.split-3-7 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-3-7 > div:nth-child(1) {\r\n left: 0px;\r\n width: 30%;\r\n }\r\n.split-3-7 > div:nth-child(2) {\r\n left: 30%;\r\n width: 70%;\r\n }\r\n\r\n.split-2-8 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n\r\n.split-2-8 > div:nth-child(1) {\r\n left: 0px;\r\n width: 20%;\r\n }\r\n\r\n.split-2-8 > div:nth-child(2) {\r\n left: 20%;\r\n width: 80%;\r\n }\r\n\r\n.split-1-8-1 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n\r\n.split-1-8-1 > div:nth-child(1) {\r\n left: 0px;\r\n width: 10%;\r\n }\r\n\r\n.split-1-8-1 > div:nth-child(2) {\r\n left: 10%;\r\n width: 80%;\r\n }\r\n\r\n.split-1-8-1 > div:nth-child(3) {\r\n left: 90%;\r\n width: 10%;\r\n }\r\n.split-2-2-6 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-2-2-6 > div:nth-child(1) {\r\n left: 0px;\r\n width: 20%;\r\n }\r\n.split-2-2-6 > div:nth-child(2) {\r\n left: 20%;\r\n width: 20%;\r\n }\r\n.split-2-2-6 > div:nth-child(3) {\r\n left: 40%;\r\n width: 60%;\r\n }\r\n.split-3-3-4 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-3-3-4 > div:nth-child(1) {\r\n left: 0px;\r\n width: 30%;\r\n }\r\n.split-3-3-4 > div:nth-child(2) {\r\n left: 30%;\r\n width: 30%;\r\n }\r\n.split-3-3-4 > div:nth-child(3) {\r\n left: 60%;\r\n width: 40%;\r\n }\r\n\r\n.split-3-4-3 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n\r\n.split-3-4-3 > div:nth-child(1) {\r\n left: 0px;\r\n width: 30%;\r\n }\r\n\r\n.split-3-4-3 > div:nth-child(2) {\r\n left: 30%;\r\n width: 40%;\r\n }\r\n\r\n.split-3-4-3 > div:nth-child(3) {\r\n left: 70%;\r\n width: 30%;\r\n }\r\n.split-2-5-3 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-2-5-3 > div:nth-child(1) {\r\n left: 0px;\r\n width: 20%;\r\n }\r\n.split-2-5-3 > div:nth-child(2) {\r\n left: 20%;\r\n width: 50%;\r\n }\r\n.split-2-5-3 > div:nth-child(3) {\r\n left: 70%;\r\n width: 30%;\r\n }\r\n.split-4-4-2 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-4-4-2 > div:nth-child(1) {\r\n left: 0px;\r\n width: 40%;\r\n }\r\n.split-4-4-2 > div:nth-child(2) {\r\n left: 40%;\r\n width: 40%;\r\n }\r\n.split-4-4-2 > div:nth-child(3) {\r\n left: 80%;\r\n width: 20%;\r\n }\r\n.split-1-4-4-1 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-1-4-4-1 > div:nth-child(1) {\r\n left: 0px;\r\n width: 10%;\r\n }\r\n.split-1-4-4-1 > div:nth-child(2) {\r\n left: 10%;\r\n width: 40%;\r\n }\r\n.split-1-4-4-1 > div:nth-child(3) {\r\n left: 50%;\r\n width: 40%;\r\n }\r\n.split-1-4-4-1 > div:nth-child(4) {\r\n left: 90%;\r\n width: 10%;\r\n }\r\n\r\n.split-3-2-2-3 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n\r\n.split-3-2-2-3 > div:nth-child(1) {\r\n left: 0px;\r\n width: 30%;\r\n }\r\n\r\n.split-3-2-2-3 > div:nth-child(2) {\r\n left: 30%;\r\n width: 20%;\r\n }\r\n\r\n.split-3-2-2-3 > div:nth-child(3) {\r\n left: 50%;\r\n width: 20%;\r\n }\r\n\r\n.split-3-2-2-3 > div:nth-child(4) {\r\n left: 70%;\r\n width: 30%;\r\n }\r\n.split-3-2-3-2 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-3-2-3-2 > div:nth-child(1) {\r\n left: 0px;\r\n width: 30%;\r\n }\r\n.split-3-2-3-2 > div:nth-child(2) {\r\n left: 30%;\r\n width: 20%;\r\n }\r\n.split-3-2-3-2 > div:nth-child(3) {\r\n left: 50%;\r\n width: 30%;\r\n }\r\n.split-3-2-3-2 > div:nth-child(4) {\r\n left: 80%;\r\n width: 20%;\r\n }\r\n.split-3-1-2-4 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-3-1-2-4 > div:nth-child(1) {\r\n left: 0px;\r\n width: 30%;\r\n }\r\n.split-3-1-2-4 > div:nth-child(2) {\r\n left: 30%;\r\n width: 10%;\r\n }\r\n.split-3-1-2-4 > div:nth-child(3) {\r\n left: 40%;\r\n width: 20%;\r\n }\r\n.split-3-1-2-4 > div:nth-child(4) {\r\n left: 60%;\r\n width: 40%;\r\n }\r\n.split-3-2-1-4 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-3-2-1-4 > div:nth-child(1) {\r\n left: 0px;\r\n width: 30%;\r\n }\r\n.split-3-2-1-4 > div:nth-child(2) {\r\n left: 30%;\r\n width: 20%;\r\n }\r\n.split-3-2-1-4 > div:nth-child(3) {\r\n left: 50%;\r\n width: 10%;\r\n }\r\n.split-3-2-1-4 > div:nth-child(4) {\r\n left: 60%;\r\n width: 40%;\r\n }\r\n.split-3-2-2-2-1 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-3-2-2-2-1 > div:nth-child(1) {\r\n left: 0px;\r\n width: 30%;\r\n }\r\n.split-3-2-2-2-1 > div:nth-child(2) {\r\n left: 30%;\r\n width: 20%;\r\n }\r\n.split-3-2-2-2-1 > div:nth-child(3) {\r\n left: 50%;\r\n width: 20%;\r\n }\r\n.split-3-2-2-2-1 > div:nth-child(4) {\r\n left: 70%;\r\n width: 20%;\r\n }\r\n.split-3-2-2-2-1 > div:nth-child(5) {\r\n left: 90%;\r\n width: 10%;\r\n }\r\n.split-3-1-1-1-4 {\r\n display: flex;\r\n width: 100%;\r\n justify-content: center;\r\n margin: 1px 0px 1px 0px;\r\n}\r\n.split-3-1-1-1-4 > div:nth-child(1) {\r\n left: 0px;\r\n width: 30%;\r\n }\r\n.split-3-1-1-1-4 > div:nth-child(2) {\r\n left: 30%;\r\n width: 10%;\r\n }\r\n.split-3-1-1-1-4 > div:nth-child(3) {\r\n left: 40%;\r\n width: 10%;\r\n }\r\n.split-3-1-1-1-4 > div:nth-child(4) {\r\n left: 50%;\r\n width: 10%;\r\n }\r\n.split-3-1-1-1-4 > div:nth-child(5) {\r\n left: 60%;\r\n width: 40%;\r\n }\r\n.w20 {\r\n width: 20%;\r\n}\r\n.bold {\r\n font-weight: 700;\r\n}\r\n.w40 {\r\n width: 40%;\r\n}\r\n\r\n.underline {\r\n border-bottom: 3px solid #333;\r\n}\r\n.left-padding-05 {\r\n padding-left: 0.5rem;\r\n}\r\n.left-padding-1 {\r\n padding-left: 1rem;\r\n}\r\n.left-padding-2 {\r\n padding-left: 2rem;\r\n}\r\n.left-margin-1 {\r\n margin-left: 1rem;\r\n}\r\n.left-margin-2 {\r\n margin-left: 2rem;\r\n}\r\n.highlight {\r\n background-color: rgba(200, 200, 255, 0.3);\r\n}\r\n.guided {\r\n /* background-color: rgba(9, 133, 67, 0.3); */\r\n background-color: rgba(159, 165, 162, 0.1);\r\n /* border-bottom: 1px solid rgba(9, 133, 67, 0.3); */\r\n}\r\n\r\n.divider {\r\n height: 0.8rem;\r\n /* background-color: rgba(16, 210, 113, 0.1); */\r\n background-color: rgba(31, 42, 36, 0.1);\r\n}\r\n\r\n.body-section-title {\r\n font-size: 1.5rem;\r\n color: rgb(51, 49, 49);\r\n}\r\n.body-sub-section-title {\r\n font-size: 1.1rem;\r\n font-weight: 700;\r\n color: rgb(3, 53, 12);\r\n}\r\n\r\n.body-item-title {\r\n color: rgb(51, 99, 49);\r\n display: flex;\r\n}\r\n.body-item-text {\r\n color: rgb(30, 30, 30);\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n}\r\n.body-item-text .body-item-text-item {\r\n padding-left: 1rem;\r\n }\r\n.body-item-text-small {\r\n color: rgb(30, 30, 30);\r\n font-size: 0.7rem;\r\n}\r\n.body-item-text-em {\r\n color: rgb(250, 30, 30);\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n font-weight: 700;\r\n}\r\n\r\n.body-input-container {\r\n display: flex;\r\n}\r\n.body-item-input {\r\n width: 60%;\r\n}\r\n.body-item-input-slider {\r\n width: 60%;\r\n}\r\n.body-item-input-slider-label {\r\n margin-right: 1rem;\r\n}\r\n.body-item-input-slider-val {\r\n margin-left: 1rem;\r\n}\r\n.body-item-input-slider-2nd {\r\n width: 60%;\r\n accent-color: #33f;\r\n}\r\n\r\n.body-button-container {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n}\r\n\r\n.body-button-container > div {\r\n margin-left: 5px;\r\n margin-right: 5px;\r\n padding-left: 20px;\r\n padding-right: 20px;\r\n }\r\n\r\n.body-button-container .body-button {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n border: solid 1px #999;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n vertical-align: middle;\r\n text-align: center;\r\n }\r\n\r\n.body-button-container .body-button:hover {\r\n border: solid 1px #000;\r\n }\r\n\r\n.body-button-container .body-button-disabled {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n border: solid 1px #999;\r\n border-radius: 2px;\r\n vertical-align: middle;\r\n background: #ddd;\r\n }\r\n\r\n.body-button-container .body-button-active {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n border: solid 1px #333;\r\n border-radius: 2px;\r\n background: #ada;\r\n }\r\n\r\n.body-button-container .body-button-stanby {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n border: solid 1px #999;\r\n border-radius: 2px;\r\n background: #aba;\r\n cursor: pointer;\r\n }\r\n\r\n.body-button-container .body-button-stanby:hover {\r\n border: solid 1px #000;\r\n }\r\n\r\n.body-button-container-space-around {\r\n justify-content: space-around;\r\n}\r\n\r\n.body-select {\r\n color: rgb(30, 30, 30);\r\n max-width: 100%;\r\n}\r\n\r\n.body-select-50 {\r\n color: rgb(30, 30, 30);\r\n max-width: 50%;\r\n height: 1.5rem;\r\n}\r\n.select-option-red {\r\n color: #f66;\r\n font-weight: 700;\r\n}\r\n\r\n.body-image-container,\r\n.body-wav-container {\r\n display: flex;\r\n width: 100%;\r\n}\r\n\r\n.body-image-container .body-image-container-title,\r\n .body-image-container .body-wav-container-title,\r\n .body-wav-container .body-image-container-title,\r\n .body-wav-container .body-wav-container-title {\r\n width: 20%;\r\n }\r\n\r\n.body-image-container .body-image-container-img,\r\n .body-image-container .body-wav-container-wav,\r\n .body-wav-container .body-image-container-img,\r\n .body-wav-container .body-wav-container-wav {\r\n width: 80%;\r\n }\r\n\r\n.donate-img {\r\n border-radius: 35px;\r\n height: 1.5rem;\r\n}\r\n\r\n/* Dialog */\r\n.dialog-container,\r\n.dialog-container2 {\r\n justify-content: center;\r\n align-items: center;\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n width: 100vw;\r\n height: 100vh;\r\n z-index: -1;\r\n display: none;\r\n}\r\n.dialog-container .dialog-frame, .dialog-container2 .dialog-frame {\r\n color: var(--company-color2);\r\n width: 40rem;\r\n max-height: 80vh;\r\n border: 2px solid var(--dialog-border-color);\r\n border-radius: 20px;\r\n flex-direction: column;\r\n align-items: center;\r\n box-shadow: 5px 5px 5px var(--dialog-shadow-color);\r\n background: var(--dialog-background-color);\r\n overflow: hidden;\r\n display: flex;\r\n }\r\n.dialog-container .dialog-frame .dialog-title, .dialog-container2 .dialog-frame .dialog-title {\r\n margin-top: 20px;\r\n background: var(--company-color2);\r\n color: #fff;\r\n width: 100%;\r\n text-align: center;\r\n }\r\n.dialog-container .dialog-frame .dialog-content, .dialog-container2 .dialog-frame .dialog-content {\r\n width: 90%;\r\n }\r\n.dialog-container .dialog-frame .dialog-content .dialog-application-title, .dialog-container2 .dialog-frame .dialog-content .dialog-application-title {\r\n font-family: \"Chicle\", cursive;\r\n font-size: 3rem;\r\n text-align: center;\r\n }\r\n.dialog-container .dialog-frame .dialog-content .dialog-content-part, .dialog-container2 .dialog-frame .dialog-content .dialog-content-part {\r\n margin-top: 1rem;\r\n margin-bottom: 1rem;\r\n }\r\n.dialog-container .dialog-frame .dialog-content .input-text-container, .dialog-container2 .dialog-frame .dialog-content .input-text-container {\r\n display: flex;\r\n flex-direction: row;\r\n margin: 20px;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content, .dialog-container2 .dialog-frame .dialog-fixed-size-content {\r\n width: 90%;\r\n max-height: 70vh;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-header,\r\n .dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-header,\r\n .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-header,\r\n .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-header {\r\n font-weight: 700;\r\n margin: 5px 5px 5px 5px;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-header .model-slot-header-button,\r\n .dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-header .file-uploader-header-button,\r\n .dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-header .model-slot-header-button,\r\n .dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-header .file-uploader-header-button,\r\n .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-header .model-slot-header-button,\r\n .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-header .file-uploader-header-button,\r\n .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-header .model-slot-header-button,\r\n .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-header .file-uploader-header-button {\r\n font-weight: 400;\r\n font-size: 0.8rem;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n border: solid 1px #999;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n vertical-align: middle;\r\n text-align: center;\r\n padding: 1px 5px 1px 5px;\r\n margin-left: 1rem;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-header .model-slot-header-button:hover, .dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-header .file-uploader-header-button:hover, .dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-header .model-slot-header-button:hover, .dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-header .file-uploader-header-button:hover, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-header .model-slot-header-button:hover, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-header .file-uploader-header-button:hover, .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-header .model-slot-header-button:hover, .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-header .file-uploader-header-button:hover {\r\n border: solid 1px #000;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container {\r\n max-height: 60vh;\r\n width: 100%;\r\n overflow-y: scroll;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot {\r\n height: 5rem;\r\n display: flex;\r\n flex-direction: row;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-icon, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-icon {\r\n width: 5rem;\r\n height: 5rem;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-icon-pointable, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-icon-pointable {\r\n width: 5rem;\r\n height: 5rem;\r\n cursor: pointer;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail {\r\n display: flex;\r\n flex-direction: column;\r\n font-size: 0.8rem;\r\n border-bottom: solid 1px #aaa;\r\n width: 80%;\r\n overflow-y: scroll;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail::-webkit-scrollbar, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail::-webkit-scrollbar {\r\n width: 10px;\r\n height: 10px;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail::-webkit-scrollbar-track, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail::-webkit-scrollbar-track {\r\n background-color: #eee;\r\n border-radius: 3px;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail::-webkit-scrollbar-thumb, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail::-webkit-scrollbar-thumb {\r\n background: #f7cfec80;\r\n border-radius: 3px;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row {\r\n display: flex;\r\n flex-direction: row;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row .model-slot-detail-row-label, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row .model-slot-detail-row-label {\r\n width: 20%;\r\n white-space: nowrap;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row .model-slot-detail-row-value, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row .model-slot-detail-row-value {\r\n width: 55%;\r\n white-space: nowrap;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row .model-slot-detail-row-value-download, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row .model-slot-detail-row-value-download {\r\n width: 55%;\r\n white-space: nowrap;\r\n cursor: pointer;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row .model-slot-detail-row-value-pointable, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row .model-slot-detail-row-value-pointable {\r\n width: 55%;\r\n white-space: nowrap;\r\n cursor: pointer;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row .model-slot-detail-row-value-edit, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row .model-slot-detail-row-value-edit {\r\n width: 55%;\r\n font-weight: 700;\r\n color: #f00;\r\n white-space: nowrap;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row .model-slot-detail-row-button, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-detail .model-slot-detail-row .model-slot-detail-row-button {\r\n width: 15%;\r\n height: 90%;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-buttons, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-buttons {\r\n display: flex;\r\n flex-direction: column;\r\n border-bottom: solid 1px #a00;\r\n width: 20%;\r\n font-size: 0.8rem;\r\n padding: 4px;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-button, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-button {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n border: solid 1px #999;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n vertical-align: middle;\r\n text-align: center;\r\n padding: 1px;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-button:hover, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-button:hover {\r\n border: solid 1px #000;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-button-disabled, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-button-disabled {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n border: solid 1px #999;\r\n border-radius: 2px;\r\n vertical-align: middle;\r\n background: #ddd;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-button-active, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-button-active {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n border: solid 1px #333;\r\n border-radius: 2px;\r\n background: #ada;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-button-stanby, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-button-stanby {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n border: solid 1px #999;\r\n border-radius: 2px;\r\n background: #aba;\r\n cursor: pointer;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-button-stanby:hover, .dialog-container2 .dialog-frame .dialog-fixed-size-content .model-slot-container .model-slot .model-slot-button-stanby:hover {\r\n border: solid 1px #000;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-voice-changer-select,\r\n .dialog-container .dialog-frame .dialog-fixed-size-content .edit-model-slot-title,\r\n .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-voice-changer-select,\r\n .dialog-container2 .dialog-frame .dialog-fixed-size-content .edit-model-slot-title {\r\n font-size: 1rem;\r\n padding-left: 0.5rem;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-container, .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-container {\r\n font-size: 0.9rem;\r\n padding-left: 1rem;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-container .file-uploader-file-select-row, .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-container .file-uploader-file-select-row {\r\n display: flex;\r\n flex-direction: row;\r\n margin: 0.2rem;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-container .file-uploader-file-select-row .file-uploader-file-select-row-label, .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-container .file-uploader-file-select-row .file-uploader-file-select-row-label {\r\n width: 5rem;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-container .file-uploader-file-select-row .file-uploader-file-select-row-value, .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-container .file-uploader-file-select-row .file-uploader-file-select-row-value {\r\n width: 20rem;\r\n color: #f00;\r\n white-space: nowrap;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-container .file-uploader-file-select-row .file-uploader-file-select-row-button, .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-container .file-uploader-file-select-row .file-uploader-file-select-row-button {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n border: solid 1px #999;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n vertical-align: middle;\r\n text-align: center;\r\n padding: 1px;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-container .file-uploader-file-select-row .file-uploader-file-select-row-button:hover, .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-container .file-uploader-file-select-row .file-uploader-file-select-row-button:hover {\r\n border: solid 1px #000;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-upload-button-container, .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-upload-button-container {\r\n display: flex;\r\n flex-direction: row;\r\n margin-top: 1rem;\r\n margin-bottom: 0.5rem;\r\n justify-content: center;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-upload-button-container .file-uploader-file-select-upload-button, .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-upload-button-container .file-uploader-file-select-upload-button {\r\n /* width: 12rem; */\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n border: solid 1px #999;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n vertical-align: middle;\r\n text-align: center;\r\n padding: 1px 10px 1px 10px;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-upload-button-container .file-uploader-file-select-upload-button:hover, .dialog-container2 .dialog-frame .dialog-fixed-size-content .file-uploader-file-select-upload-button-container .file-uploader-file-select-upload-button:hover {\r\n border: solid 1px #000;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .edit-model-slot-row, .dialog-container2 .dialog-frame .dialog-fixed-size-content .edit-model-slot-row {\r\n display: flex;\r\n flex-direction: row;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-title, .dialog-container2 .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-title {\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-speakers, .dialog-container2 .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-speakers {\r\n display: flex;\r\n flex-direction: row;\r\n margin: 0px 0px 0px 1rem;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-speakers .edit-model-slot-speakers-id-label,\r\n .dialog-container .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-speakers .edit-model-slot-speakers-name-label,\r\n .dialog-container2 .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-speakers .edit-model-slot-speakers-id-label,\r\n .dialog-container2 .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-speakers .edit-model-slot-speakers-name-label {\r\n margin: 0px 0px 0px 0.5rem;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-speakers .edit-model-slot-speakers-buttons, .dialog-container2 .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-speakers .edit-model-slot-speakers-buttons {\r\n margin: 0px 0px 0px 0.5rem;\r\n display: flex;\r\n flex-direction: row;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-speakers .edit-model-slot-speakers-buttons .edit-model-slot-speakers-button, .dialog-container2 .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-speakers .edit-model-slot-speakers-buttons .edit-model-slot-speakers-button {\r\n margin: 0px 0.5rem 0px 0.5rem;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n border: solid 1px #999;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n vertical-align: middle;\r\n text-align: center;\r\n padding: 0px 10px 0px 10px;\r\n }\r\n.dialog-container .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-speakers .edit-model-slot-speakers-buttons .edit-model-slot-speakers-button:hover, .dialog-container2 .dialog-frame .dialog-fixed-size-content .edit-model-slot-row .edit-model-slot-speakers .edit-model-slot-speakers-buttons .edit-model-slot-speakers-button:hover {\r\n border: solid 1px #000;\r\n }\r\n.dialog-container-show {\r\n display: flex;\r\n}\r\n\r\n.state-control-checkbox:checked ~ .dialog-container {\r\n background: rgba(200, 200, 200, 0.4);\r\n animation-name: dialog-show;\r\n animation-duration: 0.4s;\r\n animation-iteration-count: 1;\r\n animation-fill-mode: forwards;\r\n animation-direction: normal;\r\n}\r\n.state-control-checkbox ~ .dialog-container {\r\n background: rgba(100, 100, 100, 0.4);\r\n animation-name: dialog-hide;\r\n animation-duration: 0.4s;\r\n animation-iteration-count: 1;\r\n animation-fill-mode: forwards;\r\n animation-direction: normal;\r\n}\r\n.state-control-checkbox:checked + .dialog-frame {\r\n display: flex;\r\n}\r\n.state-control-checkbox + .dialog-frame {\r\n display: none;\r\n}\r\n\r\n@keyframes dialog-hide {\r\n from {\r\n opacity: 1;\r\n z-index: 200;\r\n }\r\n 90% {\r\n opacity: 0;\r\n z-index: -1;\r\n }\r\n to {\r\n opacity: 0;\r\n z-index: -1;\r\n }\r\n}\r\n\r\n@keyframes dialog-show {\r\n from {\r\n opacity: 0;\r\n z-index: -1;\r\n }\r\n 10% {\r\n z-index: 200;\r\n }\r\n to {\r\n opacity: 1;\r\n z-index: 200;\r\n }\r\n}\r\n\r\n.state-control-checkbox:checked ~ .dialog-container2 {\r\n background: rgba(200, 200, 200, 0.4);\r\n animation-name: dialog-show2;\r\n animation-duration: 0.4s;\r\n animation-iteration-count: 1;\r\n animation-fill-mode: forwards;\r\n animation-direction: normal;\r\n}\r\n.state-control-checkbox ~ .dialog-container2 {\r\n background: rgba(100, 100, 100, 0.4);\r\n animation-name: dialog-hide2;\r\n animation-duration: 0.4s;\r\n animation-iteration-count: 1;\r\n animation-fill-mode: forwards;\r\n animation-direction: normal;\r\n}\r\n/* .state-control-checkbox:checked + .dialog-frame {\r\n display: flex;\r\n}\r\n.state-control-checkbox + .dialog-frame {\r\n display: none;\r\n} */\r\n\r\n@keyframes dialog-hide2 {\r\n from {\r\n opacity: 1;\r\n z-index: 400;\r\n }\r\n 90% {\r\n opacity: 0;\r\n z-index: -1;\r\n }\r\n to {\r\n opacity: 0;\r\n z-index: -1;\r\n }\r\n}\r\n\r\n@keyframes dialog-show2 {\r\n from {\r\n opacity: 0;\r\n z-index: -1;\r\n }\r\n 10% {\r\n z-index: 400;\r\n }\r\n to {\r\n opacity: 1;\r\n z-index: 400;\r\n }\r\n}\r\n\r\n.tooltip-text {\r\n display: none;\r\n position: absolute;\r\n padding: 4px;\r\n font-size: 0.7rem;\r\n line-height: 2rem;\r\n color: #ddd;\r\n border-radius: 5px;\r\n background: #444;\r\n /* width: 100px; */\r\n}\r\n.tooltip-text-100px {\r\n width: 100px;\r\n}\r\n.tooltip-text-thin {\r\n line-height: 1rem;\r\n}\r\n.tooltip-text-right {\r\n line-height: 1rem;\r\n}\r\n.tooltip-text:before {\r\n content: \"\";\r\n position: absolute;\r\n top: -1.4rem;\r\n border: 12px solid transparent;\r\n border-top: 16px solid #444;\r\n margin-left: 0rem;\r\n transform: rotateZ(180deg);\r\n}\r\n.tooltip:hover .tooltip-text {\r\n display: inline-block;\r\n top: 30px;\r\n left: 0px;\r\n}\r\n.tooltip:hover .tooltip-text-lower {\r\n display: inline-block;\r\n top: 60px;\r\n left: 0px;\r\n}\r\n\r\n.tooltip {\r\n position: relative;\r\n cursor: pointer;\r\n display: inline-block;\r\n}\r\n\r\n/* ################## */\r\n.merge-field-container {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n.merge-field-container .merge-field {\r\n display: flex;\r\n flex-direction: row;\r\n }\r\n.merge-field-container .merge-field .merge-field-elem {\r\n padding-left: 5px;\r\n }\r\n.merge-field-container .merge-field .red {\r\n color: #f00;\r\n }\r\n.merge-field-container .merge-field .purple {\r\n color: #33f;\r\n }\r\n.merge-field-container .merge-field .grey-bold {\r\n color: #555;\r\n font-weight: 800;\r\n }\r\n.model-slot-area {\r\n display: inline-block;\r\n background: var(--company-color2);\r\n border-radius: 10px;\r\n padding: 20px;\r\n}\r\n.model-slot-area .model-slot-panel {\r\n display: flex;\r\n flex-direction: row;\r\n gap: 5px;\r\n }\r\n.model-slot-area .model-slot-panel .model-slot-tiles-container {\r\n display: flex;\r\n flex-direction: row;\r\n gap: 2px;\r\n flex-wrap: wrap;\r\n /* width: calc(30rem + 40px + 10px); */\r\n }\r\n.model-slot-area .model-slot-panel .model-slot-buttons {\r\n display: flex;\r\n flex-direction: column-reverse;\r\n }\r\n.model-slot-area .model-slot-panel .model-slot-buttons .model-slot-button {\r\n border: solid 2px #999;\r\n color: white;\r\n font-size: 0.8rem;\r\n border-radius: 2px;\r\n background: #333;\r\n cursor: pointer;\r\n padding: 5px;\r\n }\r\n.model-slot-area .model-slot-panel .model-slot-buttons .model-slot-button:hover {\r\n border: solid 2px #faa;\r\n }\r\n.model-slot-tile-container,\r\n.model-slot-tile-container-selected {\r\n width: 6rem;\r\n height: 6rem;\r\n border-radius: 2px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n}\r\n.model-slot-tile-container-selected {\r\n background: #43030c;\r\n}\r\n.model-slot-tile-container:hover {\r\n background: #43030c;\r\n}\r\n\r\n.model-slot-tile-icon-div {\r\n width: 5rem;\r\n height: 5rem;\r\n padding-top: 4px;\r\n position: relative;\r\n}\r\n.model-slot-tile-icon {\r\n width: 5rem;\r\n height: 5rem;\r\n -o-object-fit: contain;\r\n object-fit: contain;\r\n border-radius: 10px;\r\n position: absolute;\r\n}\r\n.model-slot-tile-vctype {\r\n position: absolute;\r\n font-size: 0.6rem;\r\n font-weight: 800;\r\n top: 5px;\r\n left: 2px;\r\n background: RGBA(10, 200, 100, 0.6);\r\n border-radius: 5px;\r\n padding: 0px 2px 0px 2px;\r\n}\r\n.model-slot-tile-icon-no-entry {\r\n color: gray;\r\n position: absolute;\r\n top: 2rem;\r\n}\r\n.model-slot-tile-dscription {\r\n font-size: 0.7rem;\r\n font-weight: 700;\r\n color: navajowhite;\r\n padding-top: 4px;\r\n}\r\n\r\n.character-area {\r\n display: flex;\r\n gap: 5px;\r\n padding: 20px;\r\n}\r\n\r\n.character-area .portrait-area {\r\n width: 20rem;\r\n height: 20rem;\r\n }\r\n\r\n.character-area .portrait-area .portrait-container {\r\n position: relative;\r\n width: 20rem;\r\n height: 20rem;\r\n }\r\n\r\n.character-area .portrait-area .portrait-container .portrait {\r\n width: 20rem;\r\n height: 20rem;\r\n -o-object-fit: contain;\r\n object-fit: contain;\r\n border-radius: 10px;\r\n position: absolute;\r\n }\r\n\r\n.character-area .portrait-area .portrait-container .portrait-area-status {\r\n width: 5rem;\r\n background: rgba(100, 100, 100, 0.5);\r\n color: white;\r\n position: absolute;\r\n padding: 0px 0px 0px 3px;\r\n font-size: 0.7rem;\r\n left: 5px;\r\n top: 5px;\r\n border-radius: 2px;\r\n }\r\n\r\n.character-area .portrait-area .portrait-container .portrait-area-status .portrait-area-status-vctype {\r\n font-weight: 800;\r\n color: #866;\r\n }\r\n\r\n.character-area .portrait-area .portrait-container .portrait-area-terms-of-use {\r\n width: 5rem;\r\n background: rgba(100, 100, 100, 0.5);\r\n color: white;\r\n position: absolute;\r\n paddig: 2px;\r\n font-size: 0.7rem;\r\n right: 5px;\r\n bottom: 5px;\r\n }\r\n\r\n.character-area .portrait-area .portrait-container .portrait-area-terms-of-use .portrait-area-terms-of-use-link {\r\n color: white;\r\n }\r\n\r\n.character-area .character-area-control-area {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control {\r\n display: flex;\r\n gap: 3px;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-buttons {\r\n display: flex;\r\n flex-direction: row;\r\n gap: 10px;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-buttons .character-area-control-button-active {\r\n width: 5rem;\r\n border: solid 1px #333;\r\n border-radius: 2px;\r\n background: #ada;\r\n font-weight: 700;\r\n text-align: center;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-buttons .character-area-control-button-stanby {\r\n width: 5rem;\r\n border: solid 1px #999;\r\n border-radius: 2px;\r\n background: #aba;\r\n cursor: pointer;\r\n font-weight: 700;\r\n text-align: center;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-buttons .character-area-control-button-stanby:hover {\r\n border: solid 1px #000;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-title {\r\n width: 4rem;\r\n font-weight: 700;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-field {\r\n /* width: 20rem; */\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-field .character-area-slider-control {\r\n display: flex;\r\n flex-direction: row;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-field .character-area-slider-control .character-area-slider-control-kind {\r\n width: 2rem;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-field .character-area-slider-control .character-area-slider-control-slider {\r\n width: 10rem;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-field .character-area-slider-control .character-area-slider-control-val {\r\n width: 3rem;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-field .character-area-slider-control .character-area-slider-control-text {\r\n padding: 0px 1px 0px 1px;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-field .character-area-buttons {\r\n display: flex;\r\n flex-direction: row;\r\n gap: 5px;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-field .character-area-buttons .character-area-button {\r\n border: solid 2px #999;\r\n color: white;\r\n font-size: 0.8rem;\r\n border-radius: 2px;\r\n background: #666;\r\n cursor: pointer;\r\n padding: 5px;\r\n }\r\n\r\n.character-area .character-area-control-area .character-area-control .character-area-control-field .character-area-buttons .character-area-button:hover {\r\n border: solid 2px #faa;\r\n }\r\n\r\n/* audio::-webkit-media-controls-play-button,\r\naudio::-webkit-media-controls-panel {\r\n background-color: #ff0;\r\n height: 1rem;\r\n}\r\naudio::-webkit-media-controls-enclosure {\r\n max-height: 1rem;\r\n}\r\naudio::-webkit-media-controls {\r\n justify-content: start;\r\n}\r\naudio::-webkit-media-controls-overlay-enclosure{\r\n height: 1rem;\r\n} */\r\n\r\n.config-area {\r\n display: flex;\r\n gap: 5px;\r\n padding: 20px;\r\n}\r\n\r\n.config-area .config-sub-area {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 3px;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control {\r\n display: flex;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-title {\r\n width: 5rem;\r\n font-weight: 700;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-title-long {\r\n width: 20rem;\r\n font-weight: 700;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field {\r\n width: 15rem;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-noise-container {\r\n display: flex;\r\n gap: 10px;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-noise-container .config-sub-area-noise-checkbox-container {\r\n display: flex;\r\n gap: 5px;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-slider-control {\r\n display: flex;\r\n flex-direction: row;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-slider-control .config-sub-area-slider-control-kind {\r\n width: 1rem;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-slider-control .config-sub-area-slider-control-slider {\r\n width: 10rem;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-slider-control .config-sub-area-slider-control-val {\r\n width: 3rem;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-buttons {\r\n display: flex;\r\n flex-direction: row;\r\n gap: 5px;\r\n align-items: center;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-buttons .config-sub-area-button {\r\n border: solid 2px #999;\r\n color: white;\r\n background: #666;\r\n\r\n cursor: pointer;\r\n\r\n font-size: 0.8rem;\r\n border-radius: 5px;\r\n height: 1.2rem;\r\n padding-left: 2px;\r\n padding-right: 2px;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-buttons .config-sub-area-button:hover {\r\n border: solid 2px #faa;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-buttons .config-sub-area-button-active {\r\n border: solid 2px #999;\r\n color: white;\r\n background: #844;\r\n\r\n cursor: pointer;\r\n\r\n font-size: 0.8rem;\r\n border-radius: 5px;\r\n height: 1.2rem;\r\n padding-left: 2px;\r\n padding-right: 2px;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-control-field-auido-io {\r\n display: flex;\r\n flex-direction: row;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-control-field-auido-io .config-sub-area-control-field-auido-io-filter {\r\n max-width: 30%;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-control-field-auido-io .config-sub-area-control-field-auido-io-select {\r\n max-width: 70%;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-control-field-wav-file {\r\n display: flex;\r\n flex-direction: row;\r\n gap: 5px;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-control-field-wav-file .config-sub-area-control-field-wav-file-audio-container {\r\n height: 1rem;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-control-field-wav-file .config-sub-area-control-field-wav-file-audio-container .config-sub-area-control-field-wav-file-audio {\r\n height: 1rem;\r\n width: 15rem;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-control-field-wav-file .config-sub-area-control-field-wav-file-folder {\r\n height: 1rem;\r\n width: 1rem;\r\n cursor: pointer;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-control-field-wav-file .config-sub-area-control-field-wav-file-echoback-button {\r\n border: solid 1px #333;\r\n background: #fff;\r\n font-size: 0.8rem;\r\n border-radius: 5px;\r\n height: 1.2rem;\r\n padding-left: 2px;\r\n padding-right: 2px;\r\n cursor: pointer;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field .config-sub-area-control-field-wav-file .config-sub-area-control-field-wav-file-echoback-button-active {\r\n font-size: 0.8rem;\r\n border: solid 1px #333;\r\n border-radius: 5px;\r\n background: #ada;\r\n height: 1.2rem;\r\n padding-left: 2px;\r\n padding-right: 2px;\r\n cursor: pointer;\r\n }\r\n\r\n.config-area .config-sub-area .config-sub-area-control .config-sub-area-control-field-long {\r\n width: 30rem;\r\n }\r\n\r\n.headerArea {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.headerArea .title1 {\r\n display: flex;\r\n flex-direction: row;\r\n gap: 5px;\r\n align-items: flex-end;\r\n }\r\n\r\n.headerArea .title1 .title {\r\n font-size: 1.8rem;\r\n font-weight: 700;\r\n color: #333;\r\n text-shadow: 0 0 2px #333;\r\n }\r\n\r\n.headerArea .title1 .title-version {\r\n font-size: 0.9rem;\r\n }\r\n\r\n.headerArea .title1 .title-version-number {\r\n font-size: 0.7rem;\r\n }\r\n\r\n.headerArea .icons {\r\n display: flex;\r\n flex-direction: row;\r\n gap: 20px;\r\n }\r\n\r\n.headerArea .icons .belongings {\r\n display: flex;\r\n flex-direction: row;\r\n gap: 3px;\r\n }\r\n\r\n.headerArea .icons .belongings .belongings-button {\r\n border: solid 2px #999;\r\n color: white;\r\n font-size: 0.8rem;\r\n border-radius: 5px;\r\n background: #666;\r\n cursor: pointer;\r\n padding: 5px;\r\n height: 1.7rem;\r\n top: -2px;\r\n }\r\n\r\n.headerArea .icons .belongings .belongings-button:hover {\r\n border: solid 2px #cc6;\r\n }\r\n\r\n.advanced-setting-container {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 5px;\r\n margin: 10px;\r\n}\r\n\r\n.advanced-setting-container .advanced-setting-container-row {\r\n display: flex;\r\n flex-direction: row;\r\n gap: 5px;\r\n }\r\n\r\n.advanced-setting-container .advanced-setting-container-row .advanced-setting-container-row-title {\r\n width: 7rem;\r\n font-weight: 700;\r\n font-size: 0.9rem;\r\n }\r\n\r\n.advanced-setting-container .advanced-setting-container-row .advanced-setting-container-row-field {\r\n width: 15rem;\r\n font-size: 0.9rem;\r\n }\r\n\r\n.advanced-setting-container .advanced-setting-container-row .advanced-setting-container-row-field .advanced-setting-container-row-field-crossfade-container {\r\n display: flex;\r\n flex-direction: row;\r\n gap: 5px;\r\n width: 10rem;\r\n }\r\n\r\n.advanced-setting-container .advanced-setting-container-row .advanced-setting-container-row-field .advanced-setting-container-row-field-crossfade-container > div {\r\n display: flex;\r\n flex-direction: row;\r\n gap: 3px;\r\n }\r\n\r\n.advanced-setting-container .advanced-setting-container-row .advanced-setting-container-row-field .advanced-setting-container-row-field-crossfade-container > div > div:nth-child(1) {\r\n color: #333;\r\n }\r\n\r\n.advanced-setting-container .advanced-setting-container-row .advanced-setting-container-row-field .advanced-setting-container-row-field-crossfade-container > div > div:nth-child(2) {\r\n }\r\n.get-server-information-container {\r\n margin: 10px;\r\n}\r\n.get-server-information-container .get-server-information-text-area {\r\n width: 100%;\r\n height: 20rem;\r\n }\r\n.merge-lab-container {\r\n display: flex;\r\n flex-direction: column;\r\n margin: 10px;\r\n gap: 10px;\r\n}\r\n.merge-lab-container .merge-lab-type-filter {\r\n display: flex;\r\n flex-direction: row;\r\n }\r\n.merge-lab-container .merge-lab-type-filter > div:nth-child(1) {\r\n width: 50%;\r\n }\r\n.merge-lab-container .merge-lab-type-filter > div:nth-child(2) {\r\n width: 50%;\r\n }\r\n.merge-lab-container .merge-lab-manipulator {\r\n display: flex;\r\n flex-direction: row;\r\n }\r\n.merge-lab-container .merge-lab-manipulator .merge-lab-model-list {\r\n width: 70%;\r\n }\r\n.merge-lab-container .merge-lab-manipulator .merge-lab-model-list .merge-lab-model-item {\r\n display: flex;\r\n flex-direction: row;\r\n }\r\n.merge-lab-container .merge-lab-manipulator .merge-lab-model-list .merge-lab-model-item > div:nth-child(1) {\r\n width: 50%;\r\n }\r\n.merge-lab-container .merge-lab-manipulator .merge-lab-model-list .merge-lab-model-item > div:nth-child(2) {\r\n width: 50%;\r\n }\r\n.merge-lab-container .merge-lab-manipulator .merge-lab-merge-buttons {\r\n display: flex;\r\n flex-direction: column-reverse;\r\n width: 30%;\r\n }\r\n.merge-lab-container .merge-lab-manipulator .merge-lab-merge-buttons .merge-lab-merge-button {\r\n border: solid 2px #ddd;\r\n color: black;\r\n font-size: 0.8rem;\r\n border-radius: 5px;\r\n background: #eee;\r\n cursor: pointer;\r\n padding: 5px;\r\n height: 1.7rem;\r\n text-align: center;\r\n }\r\n.merge-lab-container .merge-lab-manipulator .merge-lab-merge-buttons .merge-lab-merge-button:hover {\r\n border: solid 2px #aaa;\r\n }\r\n.merge-lab-container .merge-lab-manipulator .merge-lab-merge-buttons .merge-lab-merge-buttons-notice {\r\n font-size: 0.7rem;\r\n font-weight: 700;\r\n color: #333;\r\n text-align: center;\r\n }\r\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://demo/./src/css/App.css?./node_modules/css-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B2%5D.use%5B1%5D!./node_modules/postcss-loader/dist/cjs.js");
/***/ }),
/***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js!./src/css/Error.css":
/*!***************************************************************************************************************************************!*\
!*** ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js!./src/css/Error.css ***!
\***************************************************************************************************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.error-container {\r\n margin: 2rem;\r\n}\r\n .error-container .top-error-message {\r\n color: #44a;\r\n font-size: 2rem;\r\n font-weight: 100;\r\n }\r\n .error-container .top-error-description {\r\n color: #444;\r\n font-size: 1rem;\r\n font-weight: 100;\r\n }\r\n .error-container .error-detail {\r\n margin-top: 2rem;\r\n padding: 1rem;\r\n border: 1px solid;\r\n }\r\n .error-container .error-detail .error-name {\r\n font-weight: 700;\r\n }\r\n .error-container .error-detail .error-message {\r\n margin-top: 0.5rem;\r\n }\r\n .error-container .error-detail .error-info-container {\r\n margin-top: 0.5rem;\r\n font-size: 0.8rem;\r\n }\r\n .error-container .error-detail .error-info-container .error-info-line {\r\n }\r\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://demo/./src/css/Error.css?./node_modules/css-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B2%5D.use%5B1%5D!./node_modules/postcss-loader/dist/cjs.js");
/***/ }),
/***/ "./node_modules/css-loader/dist/runtime/api.js":
/*!*****************************************************!*\
!*** ./node_modules/css-loader/dist/runtime/api.js ***!
\*****************************************************/
/***/ ((module) => {
"use strict";
eval("\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};\n\n//# sourceURL=webpack://demo/./node_modules/css-loader/dist/runtime/api.js?");
/***/ }),
/***/ "./node_modules/css-loader/dist/runtime/noSourceMaps.js":
/*!**************************************************************!*\
!*** ./node_modules/css-loader/dist/runtime/noSourceMaps.js ***!
\**************************************************************/
/***/ ((module) => {
"use strict";
eval("\n\nmodule.exports = function (i) {\n return i[1];\n};\n\n//# sourceURL=webpack://demo/./node_modules/css-loader/dist/runtime/noSourceMaps.js?");
/***/ }),
/***/ "./node_modules/react-dom/cjs/react-dom.development.js":
/*!*************************************************************!*\
!*** ./node_modules/react-dom/cjs/react-dom.development.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
eval("/**\n * @license React\n * react-dom.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nvar Scheduler = __webpack_require__(/*! scheduler */ \"./node_modules/scheduler/index.js\");\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nvar suppressWarning = false;\nfunction setSuppressWarning(newSuppressWarning) {\n {\n suppressWarning = newSuppressWarning;\n }\n} // In DEV, calls to console.warn and console.error get replaced\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n if (!suppressWarning) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n if (!suppressWarning) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar FunctionComponent = 0;\nvar ClassComponent = 1;\nvar IndeterminateComponent = 2; // Before we know whether it is function or class\n\nvar HostRoot = 3; // Root of a host tree. Could be nested inside another node.\n\nvar HostPortal = 4; // A subtree. Could be an entry point to a different renderer.\n\nvar HostComponent = 5;\nvar HostText = 6;\nvar Fragment = 7;\nvar Mode = 8;\nvar ContextConsumer = 9;\nvar ContextProvider = 10;\nvar ForwardRef = 11;\nvar Profiler = 12;\nvar SuspenseComponent = 13;\nvar MemoComponent = 14;\nvar SimpleMemoComponent = 15;\nvar LazyComponent = 16;\nvar IncompleteClassComponent = 17;\nvar DehydratedFragment = 18;\nvar SuspenseListComponent = 19;\nvar ScopeComponent = 21;\nvar OffscreenComponent = 22;\nvar LegacyHiddenComponent = 23;\nvar CacheComponent = 24;\nvar TracingMarkerComponent = 25;\n\n// -----------------------------------------------------------------------------\n\nvar enableClientRenderFallbackOnTextMismatch = true; // TODO: Need to review this code one more time before landing\n// the react-reconciler package.\n\nvar enableNewReconciler = false; // Support legacy Primer support on internal FB www\n\nvar enableLazyContextPropagation = false; // FB-only usage. The new API has different semantics.\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n\nvar enableSuspenseAvoidThisFallback = false; // Enables unstable_avoidThisFallback feature in Fizz\n// React DOM Chopping Block\n//\n// Similar to main Chopping Block but only flags related to React DOM. These are\n// grouped because we will likely batch all of them into a single major release.\n// -----------------------------------------------------------------------------\n// Disable support for comment nodes as React DOM containers. Already disabled\n// in open source, but www codebase still relies on it. Need to remove.\n\nvar disableCommentsAsDOMContainers = true; // Disable javascript: URL strings in href for XSS protection.\n// and client rendering, mostly to allow JSX attributes to apply to the custom\n// element's object properties instead of only HTML attributes.\n// https://github.com/facebook/react/issues/11347\n\nvar enableCustomElementPropertySupport = false; // Disables children for <textarea> elements\nvar warnAboutStringRefs = false; // -----------------------------------------------------------------------------\n// Debugging and DevTools\n// -----------------------------------------------------------------------------\n// Adds user timing marks for e.g. state updates, suspense, and work loop stuff,\n// for an experimental timeline tool.\n\nvar enableSchedulingProfiler = true; // Helps identify side effects in render-phase lifecycle hooks and setState\n\nvar enableProfilerTimer = true; // Record durations for commit and passive effects phases.\n\nvar enableProfilerCommitHooks = true; // Phase param passed to onRender callback differentiates between an \"update\" and a \"cascading-update\".\n\nvar allNativeEvents = new Set();\n/**\n * Mapping from registration name to event name\n */\n\n\nvar registrationNameDependencies = {};\n/**\n * Mapping from lowercase registration names to the properly cased version,\n * used to warn in the case of missing event handlers. Available\n * only in true.\n * @type {Object}\n */\n\nvar possibleRegistrationNames = {} ; // Trust the developer to only use possibleRegistrationNames in true\n\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + 'Capture', dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n {\n if (registrationNameDependencies[registrationName]) {\n error('EventRegistry: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName);\n }\n }\n\n registrationNameDependencies[registrationName] = dependencies;\n\n {\n var lowerCasedName = registrationName.toLowerCase();\n possibleRegistrationNames[lowerCasedName] = registrationName;\n\n if (registrationName === 'onDoubleClick') {\n possibleRegistrationNames.ondblclick = registrationName;\n }\n }\n\n for (var i = 0; i < dependencies.length; i++) {\n allNativeEvents.add(dependencies[i]);\n }\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\n\nfunction checkAttributeStringCoercion(value, attributeName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` attribute is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', attributeName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkPropStringCoercion(value, propName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` prop is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', propName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkCSSPropertyStringCoercion(value, propName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` CSS property is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', propName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkHtmlStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided HTML markup uses a value of unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkFormFieldValueStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('Form field values (value, checked, defaultValue, or defaultChecked props)' + ' must be strings, not %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\n// A reserved attribute.\n// It is handled by React separately and shouldn't be written to the DOM.\nvar RESERVED = 0; // A simple string attribute.\n// Attributes that aren't in the filter are presumed to have this type.\n\nvar STRING = 1; // A string attribute that accepts booleans in React. In HTML, these are called\n// \"enumerated\" attributes with \"true\" and \"false\" as possible values.\n// When true, it should be set to a \"true\" string.\n// When false, it should be set to a \"false\" string.\n\nvar BOOLEANISH_STRING = 2; // A real boolean attribute.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n\nvar BOOLEAN = 3; // An attribute that can be used as a flag as well as with a value.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n// For any other value, should be present with that value.\n\nvar OVERLOADED_BOOLEAN = 4; // An attribute that must be numeric or parse as a numeric.\n// When falsy, it should be removed.\n\nvar NUMERIC = 5; // An attribute that must be positive numeric or parse as a positive numeric.\n// When falsy, it should be removed.\n\nvar POSITIVE_NUMERIC = 6;\n\n/* eslint-disable max-len */\nvar ATTRIBUTE_NAME_START_CHAR = \":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n/* eslint-enable max-len */\n\nvar ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + \"\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\nvar VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$');\nvar illegalAttributeNameCache = {};\nvar validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) {\n return true;\n }\n\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) {\n return false;\n }\n\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {\n validatedAttributeNameCache[attributeName] = true;\n return true;\n }\n\n illegalAttributeNameCache[attributeName] = true;\n\n {\n error('Invalid attribute name: `%s`', attributeName);\n }\n\n return false;\n}\nfunction shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) {\n if (propertyInfo !== null) {\n return propertyInfo.type === RESERVED;\n }\n\n if (isCustomComponentTag) {\n return false;\n }\n\n if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) {\n return true;\n }\n\n return false;\n}\nfunction shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) {\n if (propertyInfo !== null && propertyInfo.type === RESERVED) {\n return false;\n }\n\n switch (typeof value) {\n case 'function': // $FlowIssue symbol is perfectly valid here\n\n case 'symbol':\n // eslint-disable-line\n return true;\n\n case 'boolean':\n {\n if (isCustomComponentTag) {\n return false;\n }\n\n if (propertyInfo !== null) {\n return !propertyInfo.acceptsBooleans;\n } else {\n var prefix = name.toLowerCase().slice(0, 5);\n return prefix !== 'data-' && prefix !== 'aria-';\n }\n }\n\n default:\n return false;\n }\n}\nfunction shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) {\n if (value === null || typeof value === 'undefined') {\n return true;\n }\n\n if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) {\n return true;\n }\n\n if (isCustomComponentTag) {\n\n return false;\n }\n\n if (propertyInfo !== null) {\n\n switch (propertyInfo.type) {\n case BOOLEAN:\n return !value;\n\n case OVERLOADED_BOOLEAN:\n return value === false;\n\n case NUMERIC:\n return isNaN(value);\n\n case POSITIVE_NUMERIC:\n return isNaN(value) || value < 1;\n }\n }\n\n return false;\n}\nfunction getPropertyInfo(name) {\n return properties.hasOwnProperty(name) ? properties[name] : null;\n}\n\nfunction PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL, removeEmptyString) {\n this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN;\n this.attributeName = attributeName;\n this.attributeNamespace = attributeNamespace;\n this.mustUseProperty = mustUseProperty;\n this.propertyName = name;\n this.type = type;\n this.sanitizeURL = sanitizeURL;\n this.removeEmptyString = removeEmptyString;\n} // When adding attributes to this list, be sure to also add them to\n// the `possibleStandardNames` module to ensure casing and incorrect\n// name warnings.\n\n\nvar properties = {}; // These props are reserved by React. They shouldn't be written to the DOM.\n\nvar reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular\n// elements (not just inputs). Now that ReactDOMInput assigns to the\n// defaultValue property -- do we need this?\n'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'];\n\nreservedProps.forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // A few React string attributes have a different name.\n// This is a mapping from React prop names to the attribute names.\n\n[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) {\n var name = _ref[0],\n attributeName = _ref[1];\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are \"enumerated\" HTML attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n\n['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are \"enumerated\" SVG attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n// Since these are SVG attributes, their attribute names are case-sensitive.\n\n['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML boolean attributes.\n\n['allowFullScreen', 'async', // Note: there is a special case that prevents it from being written to the DOM\n// on the client side because the browsers are inconsistent. Instead we call focus().\n'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'disablePictureInPicture', 'disableRemotePlayback', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless', // Microdata\n'itemScope'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are the few React props that we set as DOM properties\n// rather than attributes. These are all booleans.\n\n['checked', // Note: `option.selected` is not updated if `select.multiple` is\n// disabled with `removeAttribute`. We have special logic for handling this.\n'multiple', 'muted', 'selected' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that are \"overloaded booleans\": they behave like\n// booleans, but can also accept a string value.\n\n['capture', 'download' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that must be positive numbers.\n\n['cols', 'rows', 'size', 'span' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that must be numbers.\n\n['rowSpan', 'start'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, NUMERIC, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n});\nvar CAMELIZE = /[\\-\\:]([a-z])/g;\n\nvar capitalize = function (token) {\n return token[1].toUpperCase();\n}; // This is a list of all SVG attributes that need special casing, namespacing,\n// or boolean value assignment. Regular attributes that just accept strings\n// and have the same names are omitted, just like in the HTML attribute filter.\n// Some of these attributes can be hard to find. This list was created by\n// scraping the MDN documentation.\n\n\n['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'xmlns:xlink', 'x-height' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // String SVG attributes with the xlink namespace.\n\n['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, 'http://www.w3.org/1999/xlink', false, // sanitizeURL\n false);\n}); // String SVG attributes with the xml namespace.\n\n['xml:base', 'xml:lang', 'xml:space' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, 'http://www.w3.org/XML/1998/namespace', false, // sanitizeURL\n false);\n}); // These attribute exists both in HTML and SVG.\n// The attribute name is case-sensitive in SVG so we can't just use\n// the React name like we do for attributes that exist only in HTML.\n\n['tabIndex', 'crossOrigin'].forEach(function (attributeName) {\n properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These attributes accept URLs. These must not allow javascript: URLS.\n// These will also need to accept Trusted Types object in the future.\n\nvar xlinkHref = 'xlinkHref';\nproperties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, // mustUseProperty\n'xlink:href', 'http://www.w3.org/1999/xlink', true, // sanitizeURL\nfalse);\n['src', 'href', 'action', 'formAction'].forEach(function (attributeName) {\n properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n true, // sanitizeURL\n true);\n});\n\n// and any newline or tab are filtered out as if they're not part of the URL.\n// https://url.spec.whatwg.org/#url-parsing\n// Tab or newline are defined as \\r\\n\\t:\n// https://infra.spec.whatwg.org/#ascii-tab-or-newline\n// A C0 control is a code point in the range \\u0000 NULL to \\u001F\n// INFORMATION SEPARATOR ONE, inclusive:\n// https://infra.spec.whatwg.org/#c0-control-or-space\n\n/* eslint-disable max-len */\n\nvar isJavaScriptProtocol = /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*\\:/i;\nvar didWarn = false;\n\nfunction sanitizeURL(url) {\n {\n if (!didWarn && isJavaScriptProtocol.test(url)) {\n didWarn = true;\n\n error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url));\n }\n }\n}\n\n/**\n * Get the value for a property on a node. Only used in DEV for SSR validation.\n * The \"expected\" argument is used as a hint of what the expected value is.\n * Some properties have multiple equivalent values.\n */\nfunction getValueForProperty(node, name, expected, propertyInfo) {\n {\n if (propertyInfo.mustUseProperty) {\n var propertyName = propertyInfo.propertyName;\n return node[propertyName];\n } else {\n // This check protects multiple uses of `expected`, which is why the\n // react-internal/safe-string-coercion rule is disabled in several spots\n // below.\n {\n checkAttributeStringCoercion(expected, name);\n }\n\n if ( propertyInfo.sanitizeURL) {\n // If we haven't fully disabled javascript: URLs, and if\n // the hydration is successful of a javascript: URL, we\n // still want to warn on the client.\n // eslint-disable-next-line react-internal/safe-string-coercion\n sanitizeURL('' + expected);\n }\n\n var attributeName = propertyInfo.attributeName;\n var stringValue = null;\n\n if (propertyInfo.type === OVERLOADED_BOOLEAN) {\n if (node.hasAttribute(attributeName)) {\n var value = node.getAttribute(attributeName);\n\n if (value === '') {\n return true;\n }\n\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n return value;\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n if (value === '' + expected) {\n return expected;\n }\n\n return value;\n }\n } else if (node.hasAttribute(attributeName)) {\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n // We had an attribute but shouldn't have had one, so read it\n // for the error message.\n return node.getAttribute(attributeName);\n }\n\n if (propertyInfo.type === BOOLEAN) {\n // If this was a boolean, it doesn't matter what the value is\n // the fact that we have it is the same as the expected.\n return expected;\n } // Even if this property uses a namespace we use getAttribute\n // because we assume its namespaced name is the same as our config.\n // To use getAttributeNS we need the local name which we don't have\n // in our config atm.\n\n\n stringValue = node.getAttribute(attributeName);\n }\n\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n return stringValue === null ? expected : stringValue; // eslint-disable-next-line react-internal/safe-string-coercion\n } else if (stringValue === '' + expected) {\n return expected;\n } else {\n return stringValue;\n }\n }\n }\n}\n/**\n * Get the value for a attribute on a node. Only used in DEV for SSR validation.\n * The third argument is used as a hint of what the expected value is. Some\n * attributes have multiple equivalent values.\n */\n\nfunction getValueForAttribute(node, name, expected, isCustomComponentTag) {\n {\n if (!isAttributeNameSafe(name)) {\n return;\n }\n\n if (!node.hasAttribute(name)) {\n return expected === undefined ? undefined : null;\n }\n\n var value = node.getAttribute(name);\n\n {\n checkAttributeStringCoercion(expected, name);\n }\n\n if (value === '' + expected) {\n return expected;\n }\n\n return value;\n }\n}\n/**\n * Sets the value for a property on a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n * @param {*} value\n */\n\nfunction setValueForProperty(node, name, value, isCustomComponentTag) {\n var propertyInfo = getPropertyInfo(name);\n\n if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) {\n return;\n }\n\n if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) {\n value = null;\n }\n\n\n if (isCustomComponentTag || propertyInfo === null) {\n if (isAttributeNameSafe(name)) {\n var _attributeName = name;\n\n if (value === null) {\n node.removeAttribute(_attributeName);\n } else {\n {\n checkAttributeStringCoercion(value, name);\n }\n\n node.setAttribute(_attributeName, '' + value);\n }\n }\n\n return;\n }\n\n var mustUseProperty = propertyInfo.mustUseProperty;\n\n if (mustUseProperty) {\n var propertyName = propertyInfo.propertyName;\n\n if (value === null) {\n var type = propertyInfo.type;\n node[propertyName] = type === BOOLEAN ? false : '';\n } else {\n // Contrary to `setAttribute`, object properties are properly\n // `toString`ed by IE8/9.\n node[propertyName] = value;\n }\n\n return;\n } // The rest are treated as attributes with special cases.\n\n\n var attributeName = propertyInfo.attributeName,\n attributeNamespace = propertyInfo.attributeNamespace;\n\n if (value === null) {\n node.removeAttribute(attributeName);\n } else {\n var _type = propertyInfo.type;\n var attributeValue;\n\n if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) {\n // If attribute type is boolean, we know for sure it won't be an execution sink\n // and we won't require Trusted Type here.\n attributeValue = '';\n } else {\n // `setAttribute` with objects becomes only `[object]` in IE8/9,\n // ('' + value) makes it output the correct toString()-value.\n {\n {\n checkAttributeStringCoercion(value, attributeName);\n }\n\n attributeValue = '' + value;\n }\n\n if (propertyInfo.sanitizeURL) {\n sanitizeURL(attributeValue.toString());\n }\n }\n\n if (attributeNamespace) {\n node.setAttributeNS(attributeNamespace, attributeName, attributeValue);\n } else {\n node.setAttribute(attributeName, attributeValue);\n }\n }\n}\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_SCOPE_TYPE = Symbol.for('react.scope');\nvar REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar REACT_TRACING_MARKER_TYPE = Symbol.for('react.tracing_marker');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\n\nfunction describeClassComponentFrame(ctor, source, ownerFn) {\n {\n return describeNativeComponentFrame(ctor, true);\n }\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nfunction describeFiber(fiber) {\n var owner = fiber._debugOwner ? fiber._debugOwner.type : null ;\n var source = fiber._debugSource ;\n\n switch (fiber.tag) {\n case HostComponent:\n return describeBuiltInComponentFrame(fiber.type);\n\n case LazyComponent:\n return describeBuiltInComponentFrame('Lazy');\n\n case SuspenseComponent:\n return describeBuiltInComponentFrame('Suspense');\n\n case SuspenseListComponent:\n return describeBuiltInComponentFrame('SuspenseList');\n\n case FunctionComponent:\n case IndeterminateComponent:\n case SimpleMemoComponent:\n return describeFunctionComponentFrame(fiber.type);\n\n case ForwardRef:\n return describeFunctionComponentFrame(fiber.type.render);\n\n case ClassComponent:\n return describeClassComponentFrame(fiber.type);\n\n default:\n return '';\n }\n}\n\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = '';\n var node = workInProgress;\n\n do {\n info += describeFiber(node);\n node = node.return;\n } while (node);\n\n return info;\n } catch (x) {\n return '\\nError generating stack: ' + x.message + '\\n' + x.stack;\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nfunction getWrappedName$1(outerType, innerType, wrapperName) {\n var functionName = innerType.displayName || innerType.name || '';\n return outerType.displayName || (functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName);\n} // Keep in sync with shared/getComponentNameFromType\n\n\nfunction getContextName$1(type) {\n return type.displayName || 'Context';\n}\n\nfunction getComponentNameFromFiber(fiber) {\n var tag = fiber.tag,\n type = fiber.type;\n\n switch (tag) {\n case CacheComponent:\n return 'Cache';\n\n case ContextConsumer:\n var context = type;\n return getContextName$1(context) + '.Consumer';\n\n case ContextProvider:\n var provider = type;\n return getContextName$1(provider._context) + '.Provider';\n\n case DehydratedFragment:\n return 'DehydratedFragment';\n\n case ForwardRef:\n return getWrappedName$1(type, type.render, 'ForwardRef');\n\n case Fragment:\n return 'Fragment';\n\n case HostComponent:\n // Host component type is the display name (e.g. \"div\", \"View\")\n return type;\n\n case HostPortal:\n return 'Portal';\n\n case HostRoot:\n return 'Root';\n\n case HostText:\n return 'Text';\n\n case LazyComponent:\n // Name comes from the type in this case; we don't have a tag.\n return getComponentNameFromType(type);\n\n case Mode:\n if (type === REACT_STRICT_MODE_TYPE) {\n // Don't be less specific than shared/getComponentNameFromType\n return 'StrictMode';\n }\n\n return 'Mode';\n\n case OffscreenComponent:\n return 'Offscreen';\n\n case Profiler:\n return 'Profiler';\n\n case ScopeComponent:\n return 'Scope';\n\n case SuspenseComponent:\n return 'Suspense';\n\n case SuspenseListComponent:\n return 'SuspenseList';\n\n case TracingMarkerComponent:\n return 'TracingMarker';\n // The display name for this tags come from the user-provided type:\n\n case ClassComponent:\n case FunctionComponent:\n case IncompleteClassComponent:\n case IndeterminateComponent:\n case MemoComponent:\n case SimpleMemoComponent:\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n break;\n\n }\n\n return null;\n}\n\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar current = null;\nvar isRendering = false;\nfunction getCurrentFiberOwnerNameInDevOrNull() {\n {\n if (current === null) {\n return null;\n }\n\n var owner = current._debugOwner;\n\n if (owner !== null && typeof owner !== 'undefined') {\n return getComponentNameFromFiber(owner);\n }\n }\n\n return null;\n}\n\nfunction getCurrentFiberStackInDev() {\n {\n if (current === null) {\n return '';\n } // Safe because if current fiber exists, we are reconciling,\n // and it is guaranteed to be the work-in-progress version.\n\n\n return getStackByFiberInDevAndProd(current);\n }\n}\n\nfunction resetCurrentFiber() {\n {\n ReactDebugCurrentFrame.getCurrentStack = null;\n current = null;\n isRendering = false;\n }\n}\nfunction setCurrentFiber(fiber) {\n {\n ReactDebugCurrentFrame.getCurrentStack = fiber === null ? null : getCurrentFiberStackInDev;\n current = fiber;\n isRendering = false;\n }\n}\nfunction getCurrentFiber() {\n {\n return current;\n }\n}\nfunction setIsRendering(rendering) {\n {\n isRendering = rendering;\n }\n}\n\n// Flow does not allow string concatenation of most non-string types. To work\n// around this limitation, we use an opaque type that can only be obtained by\n// passing the value through getToStringValue first.\nfunction toString(value) {\n // The coercion safety check is performed in getToStringValue().\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n\n case 'object':\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n return value;\n\n default:\n // function, symbol are assigned as empty strings\n return '';\n }\n}\n\nvar hasReadOnlyValue = {\n button: true,\n checkbox: true,\n image: true,\n hidden: true,\n radio: true,\n reset: true,\n submit: true\n};\nfunction checkControlledValueProps(tagName, props) {\n {\n if (!(hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || props.value == null)) {\n error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n }\n\n if (!(props.onChange || props.readOnly || props.disabled || props.checked == null)) {\n error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n }\n }\n}\n\nfunction isCheckable(elem) {\n var type = elem.type;\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');\n}\n\nfunction getTracker(node) {\n return node._valueTracker;\n}\n\nfunction detachTracker(node) {\n node._valueTracker = null;\n}\n\nfunction getValueFromNode(node) {\n var value = '';\n\n if (!node) {\n return value;\n }\n\n if (isCheckable(node)) {\n value = node.checked ? 'true' : 'false';\n } else {\n value = node.value;\n }\n\n return value;\n}\n\nfunction trackValueOnNode(node) {\n var valueField = isCheckable(node) ? 'checked' : 'value';\n var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);\n\n {\n checkFormFieldValueStringCoercion(node[valueField]);\n }\n\n var currentValue = '' + node[valueField]; // if someone has already defined a value or Safari, then bail\n // and don't track value will cause over reporting of changes,\n // but it's better then a hard failure\n // (needed for certain tests that spyOn input values and Safari)\n\n if (node.hasOwnProperty(valueField) || typeof descriptor === 'undefined' || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {\n return;\n }\n\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: true,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n currentValue = '' + value;\n set.call(this, value);\n }\n }); // We could've passed this the first time\n // but it triggers a bug in IE11 and Edge 14/15.\n // Calling defineProperty() again should be equivalent.\n // https://github.com/facebook/react/issues/11768\n\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n var tracker = {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n currentValue = '' + value;\n },\n stopTracking: function () {\n detachTracker(node);\n delete node[valueField];\n }\n };\n return tracker;\n}\n\nfunction track(node) {\n if (getTracker(node)) {\n return;\n } // TODO: Once it's just Fiber we can move this to node._wrapperState\n\n\n node._valueTracker = trackValueOnNode(node);\n}\nfunction updateValueIfChanged(node) {\n if (!node) {\n return false;\n }\n\n var tracker = getTracker(node); // if there is no tracker at this point it's unlikely\n // that trying again will succeed\n\n if (!tracker) {\n return true;\n }\n\n var lastValue = tracker.getValue();\n var nextValue = getValueFromNode(node);\n\n if (nextValue !== lastValue) {\n tracker.setValue(nextValue);\n return true;\n }\n\n return false;\n}\n\nfunction getActiveElement(doc) {\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n\n if (typeof doc === 'undefined') {\n return null;\n }\n\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nvar didWarnValueDefaultValue = false;\nvar didWarnCheckedDefaultChecked = false;\nvar didWarnControlledToUncontrolled = false;\nvar didWarnUncontrolledToControlled = false;\n\nfunction isControlled(props) {\n var usesChecked = props.type === 'checkbox' || props.type === 'radio';\n return usesChecked ? props.checked != null : props.value != null;\n}\n/**\n * Implements an <input> host component that allows setting these optional\n * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.\n *\n * If `checked` or `value` are not supplied (or null/undefined), user actions\n * that affect the checked state or value will trigger updates to the element.\n *\n * If they are supplied (and not null/undefined), the rendered element will not\n * trigger updates to the element. Instead, the props must change in order for\n * the rendered element to be updated.\n *\n * The rendered element will be initialized as unchecked (or `defaultChecked`)\n * with an empty value (or `defaultValue`).\n *\n * See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html\n */\n\n\nfunction getHostProps(element, props) {\n var node = element;\n var checked = props.checked;\n var hostProps = assign({}, props, {\n defaultChecked: undefined,\n defaultValue: undefined,\n value: undefined,\n checked: checked != null ? checked : node._wrapperState.initialChecked\n });\n return hostProps;\n}\nfunction initWrapperState(element, props) {\n {\n checkControlledValueProps('input', props);\n\n if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {\n error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\n\n didWarnCheckedDefaultChecked = true;\n }\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\n\n didWarnValueDefaultValue = true;\n }\n }\n\n var node = element;\n var defaultValue = props.defaultValue == null ? '' : props.defaultValue;\n node._wrapperState = {\n initialChecked: props.checked != null ? props.checked : props.defaultChecked,\n initialValue: getToStringValue(props.value != null ? props.value : defaultValue),\n controlled: isControlled(props)\n };\n}\nfunction updateChecked(element, props) {\n var node = element;\n var checked = props.checked;\n\n if (checked != null) {\n setValueForProperty(node, 'checked', checked, false);\n }\n}\nfunction updateWrapper(element, props) {\n var node = element;\n\n {\n var controlled = isControlled(props);\n\n if (!node._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) {\n error('A component is changing an uncontrolled input to be controlled. ' + 'This is likely caused by the value changing from undefined to ' + 'a defined value, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components');\n\n didWarnUncontrolledToControlled = true;\n }\n\n if (node._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) {\n error('A component is changing a controlled input to be uncontrolled. ' + 'This is likely caused by the value changing from a defined to ' + 'undefined, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components');\n\n didWarnControlledToUncontrolled = true;\n }\n }\n\n updateChecked(element, props);\n var value = getToStringValue(props.value);\n var type = props.type;\n\n if (value != null) {\n if (type === 'number') {\n if (value === 0 && node.value === '' || // We explicitly want to coerce to number here if possible.\n // eslint-disable-next-line\n node.value != value) {\n node.value = toString(value);\n }\n } else if (node.value !== toString(value)) {\n node.value = toString(value);\n }\n } else if (type === 'submit' || type === 'reset') {\n // Submit/reset inputs need the attribute removed completely to avoid\n // blank-text buttons.\n node.removeAttribute('value');\n return;\n }\n\n {\n // When syncing the value attribute, the value comes from a cascade of\n // properties:\n // 1. The value React property\n // 2. The defaultValue React property\n // 3. Otherwise there should be no change\n if (props.hasOwnProperty('value')) {\n setDefaultValue(node, props.type, value);\n } else if (props.hasOwnProperty('defaultValue')) {\n setDefaultValue(node, props.type, getToStringValue(props.defaultValue));\n }\n }\n\n {\n // When syncing the checked attribute, it only changes when it needs\n // to be removed, such as transitioning from a checkbox into a text input\n if (props.checked == null && props.defaultChecked != null) {\n node.defaultChecked = !!props.defaultChecked;\n }\n }\n}\nfunction postMountWrapper(element, props, isHydrating) {\n var node = element; // Do not assign value if it is already set. This prevents user text input\n // from being lost during SSR hydration.\n\n if (props.hasOwnProperty('value') || props.hasOwnProperty('defaultValue')) {\n var type = props.type;\n var isButton = type === 'submit' || type === 'reset'; // Avoid setting value attribute on submit/reset inputs as it overrides the\n // default value provided by the browser. See: #12872\n\n if (isButton && (props.value === undefined || props.value === null)) {\n return;\n }\n\n var initialValue = toString(node._wrapperState.initialValue); // Do not assign value if it is already set. This prevents user text input\n // from being lost during SSR hydration.\n\n if (!isHydrating) {\n {\n // When syncing the value attribute, the value property should use\n // the wrapperState._initialValue property. This uses:\n //\n // 1. The value React property when present\n // 2. The defaultValue React property when present\n // 3. An empty string\n if (initialValue !== node.value) {\n node.value = initialValue;\n }\n }\n }\n\n {\n // Otherwise, the value attribute is synchronized to the property,\n // so we assign defaultValue to the same thing as the value property\n // assignment step above.\n node.defaultValue = initialValue;\n }\n } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug\n // this is needed to work around a chrome bug where setting defaultChecked\n // will sometimes influence the value of checked (even after detachment).\n // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416\n // We need to temporarily unset name to avoid disrupting radio button groups.\n\n\n var name = node.name;\n\n if (name !== '') {\n node.name = '';\n }\n\n {\n // When syncing the checked attribute, both the checked property and\n // attribute are assigned at the same time using defaultChecked. This uses:\n //\n // 1. The checked React property when present\n // 2. The defaultChecked React property when present\n // 3. Otherwise, false\n node.defaultChecked = !node.defaultChecked;\n node.defaultChecked = !!node._wrapperState.initialChecked;\n }\n\n if (name !== '') {\n node.name = name;\n }\n}\nfunction restoreControlledState(element, props) {\n var node = element;\n updateWrapper(node, props);\n updateNamedCousins(node, props);\n}\n\nfunction updateNamedCousins(rootNode, props) {\n var name = props.name;\n\n if (props.type === 'radio' && name != null) {\n var queryRoot = rootNode;\n\n while (queryRoot.parentNode) {\n queryRoot = queryRoot.parentNode;\n } // If `rootNode.form` was non-null, then we could try `form.elements`,\n // but that sometimes behaves strangely in IE8. We could also try using\n // `form.getElementsByName`, but that will only return direct children\n // and won't include inputs that use the HTML5 `form=` attribute. Since\n // the input might not even be in a form. It might not even be in the\n // document. Let's just use the local `querySelectorAll` to ensure we don't\n // miss anything.\n\n\n {\n checkAttributeStringCoercion(name, 'name');\n }\n\n var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type=\"radio\"]');\n\n for (var i = 0; i < group.length; i++) {\n var otherNode = group[i];\n\n if (otherNode === rootNode || otherNode.form !== rootNode.form) {\n continue;\n } // This will throw if radio buttons rendered by different copies of React\n // and the same name are rendered into the same form (same as #1939).\n // That's probably okay; we don't support it just as we don't support\n // mixing React radio buttons with non-React ones.\n\n\n var otherProps = getFiberCurrentPropsFromNode(otherNode);\n\n if (!otherProps) {\n throw new Error('ReactDOMInput: Mixing React and non-React radio inputs with the ' + 'same `name` is not supported.');\n } // We need update the tracked value on the named cousin since the value\n // was changed but the input saw no event or value set\n\n\n updateValueIfChanged(otherNode); // If this is a controlled radio button group, forcing the input that\n // was previously checked to update will cause it to be come re-checked\n // as appropriate.\n\n updateWrapper(otherNode, otherProps);\n }\n }\n} // In Chrome, assigning defaultValue to certain input types triggers input validation.\n// For number inputs, the display value loses trailing decimal points. For email inputs,\n// Chrome raises \"The specified value <x> is not a valid email address\".\n//\n// Here we check to see if the defaultValue has actually changed, avoiding these problems\n// when the user is inputting text\n//\n// https://github.com/facebook/react/issues/7253\n\n\nfunction setDefaultValue(node, type, value) {\n if ( // Focused number inputs synchronize on blur. See ChangeEventPlugin.js\n type !== 'number' || getActiveElement(node.ownerDocument) !== node) {\n if (value == null) {\n node.defaultValue = toString(node._wrapperState.initialValue);\n } else if (node.defaultValue !== toString(value)) {\n node.defaultValue = toString(value);\n }\n }\n}\n\nvar didWarnSelectedSetOnOption = false;\nvar didWarnInvalidChild = false;\nvar didWarnInvalidInnerHTML = false;\n/**\n * Implements an <option> host component that warns when `selected` is set.\n */\n\nfunction validateProps(element, props) {\n {\n // If a value is not provided, then the children must be simple.\n if (props.value == null) {\n if (typeof props.children === 'object' && props.children !== null) {\n React.Children.forEach(props.children, function (child) {\n if (child == null) {\n return;\n }\n\n if (typeof child === 'string' || typeof child === 'number') {\n return;\n }\n\n if (!didWarnInvalidChild) {\n didWarnInvalidChild = true;\n\n error('Cannot infer the option value of complex children. ' + 'Pass a `value` prop or use a plain string as children to <option>.');\n }\n });\n } else if (props.dangerouslySetInnerHTML != null) {\n if (!didWarnInvalidInnerHTML) {\n didWarnInvalidInnerHTML = true;\n\n error('Pass a `value` prop if you set dangerouslyInnerHTML so React knows ' + 'which value should be selected.');\n }\n }\n } // TODO: Remove support for `selected` in <option>.\n\n\n if (props.selected != null && !didWarnSelectedSetOnOption) {\n error('Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.');\n\n didWarnSelectedSetOnOption = true;\n }\n }\n}\nfunction postMountWrapper$1(element, props) {\n // value=\"\" should make a value attribute (#6219)\n if (props.value != null) {\n element.setAttribute('value', toString(getToStringValue(props.value)));\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\nvar didWarnValueDefaultValue$1;\n\n{\n didWarnValueDefaultValue$1 = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n var ownerName = getCurrentFiberOwnerNameInDevOrNull();\n\n if (ownerName) {\n return '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n\n return '';\n}\n\nvar valuePropNames = ['value', 'defaultValue'];\n/**\n * Validation function for `value` and `defaultValue`.\n */\n\nfunction checkSelectPropTypes(props) {\n {\n checkControlledValueProps('select', props);\n\n for (var i = 0; i < valuePropNames.length; i++) {\n var propName = valuePropNames[i];\n\n if (props[propName] == null) {\n continue;\n }\n\n var propNameIsArray = isArray(props[propName]);\n\n if (props.multiple && !propNameIsArray) {\n error('The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum());\n } else if (!props.multiple && propNameIsArray) {\n error('The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum());\n }\n }\n }\n}\n\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n var options = node.options;\n\n if (multiple) {\n var selectedValues = propValue;\n var selectedValue = {};\n\n for (var i = 0; i < selectedValues.length; i++) {\n // Prefix to avoid chaos with special keys.\n selectedValue['$' + selectedValues[i]] = true;\n }\n\n for (var _i = 0; _i < options.length; _i++) {\n var selected = selectedValue.hasOwnProperty('$' + options[_i].value);\n\n if (options[_i].selected !== selected) {\n options[_i].selected = selected;\n }\n\n if (selected && setDefaultSelected) {\n options[_i].defaultSelected = true;\n }\n }\n } else {\n // Do not set `select.value` as exact behavior isn't consistent across all\n // browsers for all cases.\n var _selectedValue = toString(getToStringValue(propValue));\n\n var defaultSelected = null;\n\n for (var _i2 = 0; _i2 < options.length; _i2++) {\n if (options[_i2].value === _selectedValue) {\n options[_i2].selected = true;\n\n if (setDefaultSelected) {\n options[_i2].defaultSelected = true;\n }\n\n return;\n }\n\n if (defaultSelected === null && !options[_i2].disabled) {\n defaultSelected = options[_i2];\n }\n }\n\n if (defaultSelected !== null) {\n defaultSelected.selected = true;\n }\n }\n}\n/**\n * Implements a <select> host component that allows optionally setting the\n * props `value` and `defaultValue`. If `multiple` is false, the prop must be a\n * stringable. If `multiple` is true, the prop must be an array of stringables.\n *\n * If `value` is not supplied (or null/undefined), user actions that change the\n * selected option will trigger updates to the rendered options.\n *\n * If it is supplied (and not null/undefined), the rendered options will not\n * update in response to user actions. Instead, the `value` prop must change in\n * order for the rendered options to update.\n *\n * If `defaultValue` is provided, any options with the supplied values will be\n * selected.\n */\n\n\nfunction getHostProps$1(element, props) {\n return assign({}, props, {\n value: undefined\n });\n}\nfunction initWrapperState$1(element, props) {\n var node = element;\n\n {\n checkSelectPropTypes(props);\n }\n\n node._wrapperState = {\n wasMultiple: !!props.multiple\n };\n\n {\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue$1) {\n error('Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components');\n\n didWarnValueDefaultValue$1 = true;\n }\n }\n}\nfunction postMountWrapper$2(element, props) {\n var node = element;\n node.multiple = !!props.multiple;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n } else if (props.defaultValue != null) {\n updateOptions(node, !!props.multiple, props.defaultValue, true);\n }\n}\nfunction postUpdateWrapper(element, props) {\n var node = element;\n var wasMultiple = node._wrapperState.wasMultiple;\n node._wrapperState.wasMultiple = !!props.multiple;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n } else if (wasMultiple !== !!props.multiple) {\n // For simplicity, reapply `defaultValue` if `multiple` is toggled.\n if (props.defaultValue != null) {\n updateOptions(node, !!props.multiple, props.defaultValue, true);\n } else {\n // Revert the select back to its default unselected state.\n updateOptions(node, !!props.multiple, props.multiple ? [] : '', false);\n }\n }\n}\nfunction restoreControlledState$1(element, props) {\n var node = element;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n }\n}\n\nvar didWarnValDefaultVal = false;\n\n/**\n * Implements a <textarea> host component that allows setting `value`, and\n * `defaultValue`. This differs from the traditional DOM API because value is\n * usually set as PCDATA children.\n *\n * If `value` is not supplied (or null/undefined), user actions that affect the\n * value will trigger updates to the element.\n *\n * If `value` is supplied (and not null/undefined), the rendered element will\n * not trigger updates to the element. Instead, the `value` prop must change in\n * order for the rendered element to be updated.\n *\n * The rendered element will be initialized with an empty value, the prop\n * `defaultValue` if specified, or the children content (deprecated).\n */\nfunction getHostProps$2(element, props) {\n var node = element;\n\n if (props.dangerouslySetInnerHTML != null) {\n throw new Error('`dangerouslySetInnerHTML` does not make sense on <textarea>.');\n } // Always set children to the same thing. In IE9, the selection range will\n // get reset if `textContent` is mutated. We could add a check in setTextContent\n // to only set the value if/when the value differs from the node value (which would\n // completely solve this IE9 bug), but Sebastian+Sophie seemed to like this\n // solution. The value can be a boolean or object so that's why it's forced\n // to be a string.\n\n\n var hostProps = assign({}, props, {\n value: undefined,\n defaultValue: undefined,\n children: toString(node._wrapperState.initialValue)\n });\n\n return hostProps;\n}\nfunction initWrapperState$2(element, props) {\n var node = element;\n\n {\n checkControlledValueProps('textarea', props);\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {\n error('%s contains a textarea with both value and defaultValue props. ' + 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component');\n\n didWarnValDefaultVal = true;\n }\n }\n\n var initialValue = props.value; // Only bother fetching default value if we're going to use it\n\n if (initialValue == null) {\n var children = props.children,\n defaultValue = props.defaultValue;\n\n if (children != null) {\n {\n error('Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.');\n }\n\n {\n if (defaultValue != null) {\n throw new Error('If you supply `defaultValue` on a <textarea>, do not pass children.');\n }\n\n if (isArray(children)) {\n if (children.length > 1) {\n throw new Error('<textarea> can only have at most one child.');\n }\n\n children = children[0];\n }\n\n defaultValue = children;\n }\n }\n\n if (defaultValue == null) {\n defaultValue = '';\n }\n\n initialValue = defaultValue;\n }\n\n node._wrapperState = {\n initialValue: getToStringValue(initialValue)\n };\n}\nfunction updateWrapper$1(element, props) {\n var node = element;\n var value = getToStringValue(props.value);\n var defaultValue = getToStringValue(props.defaultValue);\n\n if (value != null) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n var newValue = toString(value); // To avoid side effects (such as losing text selection), only set value if changed\n\n if (newValue !== node.value) {\n node.value = newValue;\n }\n\n if (props.defaultValue == null && node.defaultValue !== newValue) {\n node.defaultValue = newValue;\n }\n }\n\n if (defaultValue != null) {\n node.defaultValue = toString(defaultValue);\n }\n}\nfunction postMountWrapper$3(element, props) {\n var node = element; // This is in postMount because we need access to the DOM node, which is not\n // available until after the component has mounted.\n\n var textContent = node.textContent; // Only set node.value if textContent is equal to the expected\n // initial value. In IE10/IE11 there is a bug where the placeholder attribute\n // will populate textContent as well.\n // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/\n\n if (textContent === node._wrapperState.initialValue) {\n if (textContent !== '' && textContent !== null) {\n node.value = textContent;\n }\n }\n}\nfunction restoreControlledState$2(element, props) {\n // DOM component is still mounted; update\n updateWrapper$1(element, props);\n}\n\nvar HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\nvar MATH_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\nvar SVG_NAMESPACE = 'http://www.w3.org/2000/svg'; // Assumes there is no parent namespace.\n\nfunction getIntrinsicNamespace(type) {\n switch (type) {\n case 'svg':\n return SVG_NAMESPACE;\n\n case 'math':\n return MATH_NAMESPACE;\n\n default:\n return HTML_NAMESPACE;\n }\n}\nfunction getChildNamespace(parentNamespace, type) {\n if (parentNamespace == null || parentNamespace === HTML_NAMESPACE) {\n // No (or default) parent namespace: potential entry point.\n return getIntrinsicNamespace(type);\n }\n\n if (parentNamespace === SVG_NAMESPACE && type === 'foreignObject') {\n // We're leaving SVG.\n return HTML_NAMESPACE;\n } // By default, pass namespace below.\n\n\n return parentNamespace;\n}\n\n/* globals MSApp */\n\n/**\n * Create a function which has 'unsafe' privileges (required by windows8 apps)\n */\nvar createMicrosoftUnsafeLocalFunction = function (func) {\n if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {\n return function (arg0, arg1, arg2, arg3) {\n MSApp.execUnsafeLocalFunction(function () {\n return func(arg0, arg1, arg2, arg3);\n });\n };\n } else {\n return func;\n }\n};\n\nvar reusableSVGContainer;\n/**\n * Set the innerHTML property of a node\n *\n * @param {DOMElement} node\n * @param {string} html\n * @internal\n */\n\nvar setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {\n if (node.namespaceURI === SVG_NAMESPACE) {\n\n if (!('innerHTML' in node)) {\n // IE does not have innerHTML for SVG nodes, so instead we inject the\n // new markup in a temp node and then move the child nodes across into\n // the target node\n reusableSVGContainer = reusableSVGContainer || document.createElement('div');\n reusableSVGContainer.innerHTML = '<svg>' + html.valueOf().toString() + '</svg>';\n var svgNode = reusableSVGContainer.firstChild;\n\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n }\n\n while (svgNode.firstChild) {\n node.appendChild(svgNode.firstChild);\n }\n\n return;\n }\n }\n\n node.innerHTML = html;\n});\n\n/**\n * HTML nodeType values that represent the type of the node\n */\nvar ELEMENT_NODE = 1;\nvar TEXT_NODE = 3;\nvar COMMENT_NODE = 8;\nvar DOCUMENT_NODE = 9;\nvar DOCUMENT_FRAGMENT_NODE = 11;\n\n/**\n * Set the textContent property of a node. For text updates, it's faster\n * to set the `nodeValue` of the Text node directly instead of using\n * `.textContent` which will remove the existing node and create a new one.\n *\n * @param {DOMElement} node\n * @param {string} text\n * @internal\n */\n\nvar setTextContent = function (node, text) {\n if (text) {\n var firstChild = node.firstChild;\n\n if (firstChild && firstChild === node.lastChild && firstChild.nodeType === TEXT_NODE) {\n firstChild.nodeValue = text;\n return;\n }\n }\n\n node.textContent = text;\n};\n\n// List derived from Gecko source code:\n// https://github.com/mozilla/gecko-dev/blob/4e638efc71/layout/style/test/property_database.js\nvar shorthandToLonghand = {\n animation: ['animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimingFunction'],\n background: ['backgroundAttachment', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundSize'],\n backgroundPosition: ['backgroundPositionX', 'backgroundPositionY'],\n border: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderTopColor', 'borderTopStyle', 'borderTopWidth'],\n borderBlockEnd: ['borderBlockEndColor', 'borderBlockEndStyle', 'borderBlockEndWidth'],\n borderBlockStart: ['borderBlockStartColor', 'borderBlockStartStyle', 'borderBlockStartWidth'],\n borderBottom: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth'],\n borderColor: ['borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor'],\n borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],\n borderInlineEnd: ['borderInlineEndColor', 'borderInlineEndStyle', 'borderInlineEndWidth'],\n borderInlineStart: ['borderInlineStartColor', 'borderInlineStartStyle', 'borderInlineStartWidth'],\n borderLeft: ['borderLeftColor', 'borderLeftStyle', 'borderLeftWidth'],\n borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],\n borderRight: ['borderRightColor', 'borderRightStyle', 'borderRightWidth'],\n borderStyle: ['borderBottomStyle', 'borderLeftStyle', 'borderRightStyle', 'borderTopStyle'],\n borderTop: ['borderTopColor', 'borderTopStyle', 'borderTopWidth'],\n borderWidth: ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth'],\n columnRule: ['columnRuleColor', 'columnRuleStyle', 'columnRuleWidth'],\n columns: ['columnCount', 'columnWidth'],\n flex: ['flexBasis', 'flexGrow', 'flexShrink'],\n flexFlow: ['flexDirection', 'flexWrap'],\n font: ['fontFamily', 'fontFeatureSettings', 'fontKerning', 'fontLanguageOverride', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition', 'fontWeight', 'lineHeight'],\n fontVariant: ['fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition'],\n gap: ['columnGap', 'rowGap'],\n grid: ['gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\n gridArea: ['gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart'],\n gridColumn: ['gridColumnEnd', 'gridColumnStart'],\n gridColumnGap: ['columnGap'],\n gridGap: ['columnGap', 'rowGap'],\n gridRow: ['gridRowEnd', 'gridRowStart'],\n gridRowGap: ['rowGap'],\n gridTemplate: ['gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\n listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'],\n margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],\n marker: ['markerEnd', 'markerMid', 'markerStart'],\n mask: ['maskClip', 'maskComposite', 'maskImage', 'maskMode', 'maskOrigin', 'maskPositionX', 'maskPositionY', 'maskRepeat', 'maskSize'],\n maskPosition: ['maskPositionX', 'maskPositionY'],\n outline: ['outlineColor', 'outlineStyle', 'outlineWidth'],\n overflow: ['overflowX', 'overflowY'],\n padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],\n placeContent: ['alignContent', 'justifyContent'],\n placeItems: ['alignItems', 'justifyItems'],\n placeSelf: ['alignSelf', 'justifySelf'],\n textDecoration: ['textDecorationColor', 'textDecorationLine', 'textDecorationStyle'],\n textEmphasis: ['textEmphasisColor', 'textEmphasisStyle'],\n transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction'],\n wordWrap: ['overflowWrap']\n};\n\n/**\n * CSS properties which accept numbers but are not in units of \"px\".\n */\nvar isUnitlessNumber = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridArea: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n/**\n * @param {string} prefix vendor-specific prefix, eg: Webkit\n * @param {string} key style name, eg: transitionDuration\n * @return {string} style name prefixed with `prefix`, properly camelCased, eg:\n * WebkitTransitionDuration\n */\n\nfunction prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n}\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\n\n\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O']; // Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an\n// infinite loop, because it iterates over the newly added props too.\n\nObject.keys(isUnitlessNumber).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\n });\n});\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\n\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n\n if (isEmpty) {\n return '';\n }\n\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n {\n checkCSSPropertyStringCoercion(value, name);\n }\n\n return ('' + value).trim();\n}\n\nvar uppercasePattern = /([A-Z])/g;\nvar msPattern = /^ms-/;\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n */\n\nfunction hyphenateStyleName(name) {\n return name.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');\n}\n\nvar warnValidStyle = function () {};\n\n{\n // 'msTransform' is correct, but the other prefixes should be capitalized\n var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;\n var msPattern$1 = /^-ms-/;\n var hyphenPattern = /-(.)/g; // style values shouldn't contain a semicolon\n\n var badStyleValueWithSemicolonPattern = /;\\s*$/;\n var warnedStyleNames = {};\n var warnedStyleValues = {};\n var warnedForNaNValue = false;\n var warnedForInfinityValue = false;\n\n var camelize = function (string) {\n return string.replace(hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n };\n\n var warnHyphenatedStyleName = function (name) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n\n error('Unsupported style property %s. Did you mean %s?', name, // As Andi Smith suggests\n // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n // is converted to lowercase `ms`.\n camelize(name.replace(msPattern$1, 'ms-')));\n };\n\n var warnBadVendoredStyleName = function (name) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n\n error('Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1));\n };\n\n var warnStyleValueWithSemicolon = function (name, value) {\n if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {\n return;\n }\n\n warnedStyleValues[value] = true;\n\n error(\"Style property values shouldn't contain a semicolon. \" + 'Try \"%s: %s\" instead.', name, value.replace(badStyleValueWithSemicolonPattern, ''));\n };\n\n var warnStyleValueIsNaN = function (name, value) {\n if (warnedForNaNValue) {\n return;\n }\n\n warnedForNaNValue = true;\n\n error('`NaN` is an invalid value for the `%s` css style property.', name);\n };\n\n var warnStyleValueIsInfinity = function (name, value) {\n if (warnedForInfinityValue) {\n return;\n }\n\n warnedForInfinityValue = true;\n\n error('`Infinity` is an invalid value for the `%s` css style property.', name);\n };\n\n warnValidStyle = function (name, value) {\n if (name.indexOf('-') > -1) {\n warnHyphenatedStyleName(name);\n } else if (badVendoredStyleNamePattern.test(name)) {\n warnBadVendoredStyleName(name);\n } else if (badStyleValueWithSemicolonPattern.test(value)) {\n warnStyleValueWithSemicolon(name, value);\n }\n\n if (typeof value === 'number') {\n if (isNaN(value)) {\n warnStyleValueIsNaN(name, value);\n } else if (!isFinite(value)) {\n warnStyleValueIsInfinity(name, value);\n }\n }\n };\n}\n\nvar warnValidStyle$1 = warnValidStyle;\n\n/**\n * Operations for dealing with CSS properties.\n */\n\n/**\n * This creates a string that is expected to be equivalent to the style\n * attribute generated by server-side rendering. It by-passes warnings and\n * security checks so it's not safe to use this value for anything other than\n * comparison. It is only used in DEV for SSR validation.\n */\n\nfunction createDangerousStringForStyles(styles) {\n {\n var serialized = '';\n var delimiter = '';\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var styleValue = styles[styleName];\n\n if (styleValue != null) {\n var isCustomProperty = styleName.indexOf('--') === 0;\n serialized += delimiter + (isCustomProperty ? styleName : hyphenateStyleName(styleName)) + ':';\n serialized += dangerousStyleValue(styleName, styleValue, isCustomProperty);\n delimiter = ';';\n }\n }\n\n return serialized || null;\n }\n}\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\n\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var isCustomProperty = styleName.indexOf('--') === 0;\n\n {\n if (!isCustomProperty) {\n warnValidStyle$1(styleName, styles[styleName]);\n }\n }\n\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\n\nfunction isValueEmpty(value) {\n return value == null || typeof value === 'boolean' || value === '';\n}\n/**\n * Given {color: 'red', overflow: 'hidden'} returns {\n * color: 'color',\n * overflowX: 'overflow',\n * overflowY: 'overflow',\n * }. This can be read as \"the overflowY property was set by the overflow\n * shorthand\". That is, the values are the property that each was derived from.\n */\n\n\nfunction expandShorthandMap(styles) {\n var expanded = {};\n\n for (var key in styles) {\n var longhands = shorthandToLonghand[key] || [key];\n\n for (var i = 0; i < longhands.length; i++) {\n expanded[longhands[i]] = key;\n }\n }\n\n return expanded;\n}\n/**\n * When mixing shorthand and longhand property names, we warn during updates if\n * we expect an incorrect result to occur. In particular, we warn for:\n *\n * Updating a shorthand property (longhand gets overwritten):\n * {font: 'foo', fontVariant: 'bar'} -> {font: 'baz', fontVariant: 'bar'}\n * becomes .style.font = 'baz'\n * Removing a shorthand property (longhand gets lost too):\n * {font: 'foo', fontVariant: 'bar'} -> {fontVariant: 'bar'}\n * becomes .style.font = ''\n * Removing a longhand property (should revert to shorthand; doesn't):\n * {font: 'foo', fontVariant: 'bar'} -> {font: 'foo'}\n * becomes .style.fontVariant = ''\n */\n\n\nfunction validateShorthandPropertyCollisionInDev(styleUpdates, nextStyles) {\n {\n if (!nextStyles) {\n return;\n }\n\n var expandedUpdates = expandShorthandMap(styleUpdates);\n var expandedStyles = expandShorthandMap(nextStyles);\n var warnedAbout = {};\n\n for (var key in expandedUpdates) {\n var originalKey = expandedUpdates[key];\n var correctOriginalKey = expandedStyles[key];\n\n if (correctOriginalKey && originalKey !== correctOriginalKey) {\n var warningKey = originalKey + ',' + correctOriginalKey;\n\n if (warnedAbout[warningKey]) {\n continue;\n }\n\n warnedAbout[warningKey] = true;\n\n error('%s a style property during rerender (%s) when a ' + 'conflicting property is set (%s) can lead to styling bugs. To ' + \"avoid this, don't mix shorthand and non-shorthand properties \" + 'for the same value; instead, replace the shorthand with ' + 'separate values.', isValueEmpty(styleUpdates[originalKey]) ? 'Removing' : 'Updating', originalKey, correctOriginalKey);\n }\n }\n }\n}\n\n// For HTML, certain tags should omit their close tag. We keep a list for\n// those special-case tags.\nvar omittedCloseTags = {\n area: true,\n base: true,\n br: true,\n col: true,\n embed: true,\n hr: true,\n img: true,\n input: true,\n keygen: true,\n link: true,\n meta: true,\n param: true,\n source: true,\n track: true,\n wbr: true // NOTE: menuitem's close tag should be omitted, but that causes problems.\n\n};\n\n// `omittedCloseTags` except that `menuitem` should still have its closing tag.\n\nvar voidElementTags = assign({\n menuitem: true\n}, omittedCloseTags);\n\nvar HTML = '__html';\n\nfunction assertValidProps(tag, props) {\n if (!props) {\n return;\n } // Note the use of `==` which checks for null or undefined.\n\n\n if (voidElementTags[tag]) {\n if (props.children != null || props.dangerouslySetInnerHTML != null) {\n throw new Error(tag + \" is a void element tag and must neither have `children` nor \" + 'use `dangerouslySetInnerHTML`.');\n }\n }\n\n if (props.dangerouslySetInnerHTML != null) {\n if (props.children != null) {\n throw new Error('Can only set one of `children` or `props.dangerouslySetInnerHTML`.');\n }\n\n if (typeof props.dangerouslySetInnerHTML !== 'object' || !(HTML in props.dangerouslySetInnerHTML)) {\n throw new Error('`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://reactjs.org/link/dangerously-set-inner-html ' + 'for more information.');\n }\n }\n\n {\n if (!props.suppressContentEditableWarning && props.contentEditable && props.children != null) {\n error('A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.');\n }\n }\n\n if (props.style != null && typeof props.style !== 'object') {\n throw new Error('The `style` prop expects a mapping from style properties to values, ' + \"not a string. For example, style={{marginRight: spacing + 'em'}} when \" + 'using JSX.');\n }\n}\n\nfunction isCustomComponent(tagName, props) {\n if (tagName.indexOf('-') === -1) {\n return typeof props.is === 'string';\n }\n\n switch (tagName) {\n // These are reserved SVG and MathML elements.\n // We don't mind this list too much because we expect it to never grow.\n // The alternative is to track the namespace in a few places which is convoluted.\n // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts\n case 'annotation-xml':\n case 'color-profile':\n case 'font-face':\n case 'font-face-src':\n case 'font-face-uri':\n case 'font-face-format':\n case 'font-face-name':\n case 'missing-glyph':\n return false;\n\n default:\n return true;\n }\n}\n\n// When adding attributes to the HTML or SVG allowed attribute list, be sure to\n// also add them to this module to ensure casing and incorrect name\n// warnings.\nvar possibleStandardNames = {\n // HTML\n accept: 'accept',\n acceptcharset: 'acceptCharset',\n 'accept-charset': 'acceptCharset',\n accesskey: 'accessKey',\n action: 'action',\n allowfullscreen: 'allowFullScreen',\n alt: 'alt',\n as: 'as',\n async: 'async',\n autocapitalize: 'autoCapitalize',\n autocomplete: 'autoComplete',\n autocorrect: 'autoCorrect',\n autofocus: 'autoFocus',\n autoplay: 'autoPlay',\n autosave: 'autoSave',\n capture: 'capture',\n cellpadding: 'cellPadding',\n cellspacing: 'cellSpacing',\n challenge: 'challenge',\n charset: 'charSet',\n checked: 'checked',\n children: 'children',\n cite: 'cite',\n class: 'className',\n classid: 'classID',\n classname: 'className',\n cols: 'cols',\n colspan: 'colSpan',\n content: 'content',\n contenteditable: 'contentEditable',\n contextmenu: 'contextMenu',\n controls: 'controls',\n controlslist: 'controlsList',\n coords: 'coords',\n crossorigin: 'crossOrigin',\n dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',\n data: 'data',\n datetime: 'dateTime',\n default: 'default',\n defaultchecked: 'defaultChecked',\n defaultvalue: 'defaultValue',\n defer: 'defer',\n dir: 'dir',\n disabled: 'disabled',\n disablepictureinpicture: 'disablePictureInPicture',\n disableremoteplayback: 'disableRemotePlayback',\n download: 'download',\n draggable: 'draggable',\n enctype: 'encType',\n enterkeyhint: 'enterKeyHint',\n for: 'htmlFor',\n form: 'form',\n formmethod: 'formMethod',\n formaction: 'formAction',\n formenctype: 'formEncType',\n formnovalidate: 'formNoValidate',\n formtarget: 'formTarget',\n frameborder: 'frameBorder',\n headers: 'headers',\n height: 'height',\n hidden: 'hidden',\n high: 'high',\n href: 'href',\n hreflang: 'hrefLang',\n htmlfor: 'htmlFor',\n httpequiv: 'httpEquiv',\n 'http-equiv': 'httpEquiv',\n icon: 'icon',\n id: 'id',\n imagesizes: 'imageSizes',\n imagesrcset: 'imageSrcSet',\n innerhtml: 'innerHTML',\n inputmode: 'inputMode',\n integrity: 'integrity',\n is: 'is',\n itemid: 'itemID',\n itemprop: 'itemProp',\n itemref: 'itemRef',\n itemscope: 'itemScope',\n itemtype: 'itemType',\n keyparams: 'keyParams',\n keytype: 'keyType',\n kind: 'kind',\n label: 'label',\n lang: 'lang',\n list: 'list',\n loop: 'loop',\n low: 'low',\n manifest: 'manifest',\n marginwidth: 'marginWidth',\n marginheight: 'marginHeight',\n max: 'max',\n maxlength: 'maxLength',\n media: 'media',\n mediagroup: 'mediaGroup',\n method: 'method',\n min: 'min',\n minlength: 'minLength',\n multiple: 'multiple',\n muted: 'muted',\n name: 'name',\n nomodule: 'noModule',\n nonce: 'nonce',\n novalidate: 'noValidate',\n open: 'open',\n optimum: 'optimum',\n pattern: 'pattern',\n placeholder: 'placeholder',\n playsinline: 'playsInline',\n poster: 'poster',\n preload: 'preload',\n profile: 'profile',\n radiogroup: 'radioGroup',\n readonly: 'readOnly',\n referrerpolicy: 'referrerPolicy',\n rel: 'rel',\n required: 'required',\n reversed: 'reversed',\n role: 'role',\n rows: 'rows',\n rowspan: 'rowSpan',\n sandbox: 'sandbox',\n scope: 'scope',\n scoped: 'scoped',\n scrolling: 'scrolling',\n seamless: 'seamless',\n selected: 'selected',\n shape: 'shape',\n size: 'size',\n sizes: 'sizes',\n span: 'span',\n spellcheck: 'spellCheck',\n src: 'src',\n srcdoc: 'srcDoc',\n srclang: 'srcLang',\n srcset: 'srcSet',\n start: 'start',\n step: 'step',\n style: 'style',\n summary: 'summary',\n tabindex: 'tabIndex',\n target: 'target',\n title: 'title',\n type: 'type',\n usemap: 'useMap',\n value: 'value',\n width: 'width',\n wmode: 'wmode',\n wrap: 'wrap',\n // SVG\n about: 'about',\n accentheight: 'accentHeight',\n 'accent-height': 'accentHeight',\n accumulate: 'accumulate',\n additive: 'additive',\n alignmentbaseline: 'alignmentBaseline',\n 'alignment-baseline': 'alignmentBaseline',\n allowreorder: 'allowReorder',\n alphabetic: 'alphabetic',\n amplitude: 'amplitude',\n arabicform: 'arabicForm',\n 'arabic-form': 'arabicForm',\n ascent: 'ascent',\n attributename: 'attributeName',\n attributetype: 'attributeType',\n autoreverse: 'autoReverse',\n azimuth: 'azimuth',\n basefrequency: 'baseFrequency',\n baselineshift: 'baselineShift',\n 'baseline-shift': 'baselineShift',\n baseprofile: 'baseProfile',\n bbox: 'bbox',\n begin: 'begin',\n bias: 'bias',\n by: 'by',\n calcmode: 'calcMode',\n capheight: 'capHeight',\n 'cap-height': 'capHeight',\n clip: 'clip',\n clippath: 'clipPath',\n 'clip-path': 'clipPath',\n clippathunits: 'clipPathUnits',\n cliprule: 'clipRule',\n 'clip-rule': 'clipRule',\n color: 'color',\n colorinterpolation: 'colorInterpolation',\n 'color-interpolation': 'colorInterpolation',\n colorinterpolationfilters: 'colorInterpolationFilters',\n 'color-interpolation-filters': 'colorInterpolationFilters',\n colorprofile: 'colorProfile',\n 'color-profile': 'colorProfile',\n colorrendering: 'colorRendering',\n 'color-rendering': 'colorRendering',\n contentscripttype: 'contentScriptType',\n contentstyletype: 'contentStyleType',\n cursor: 'cursor',\n cx: 'cx',\n cy: 'cy',\n d: 'd',\n datatype: 'datatype',\n decelerate: 'decelerate',\n descent: 'descent',\n diffuseconstant: 'diffuseConstant',\n direction: 'direction',\n display: 'display',\n divisor: 'divisor',\n dominantbaseline: 'dominantBaseline',\n 'dominant-baseline': 'dominantBaseline',\n dur: 'dur',\n dx: 'dx',\n dy: 'dy',\n edgemode: 'edgeMode',\n elevation: 'elevation',\n enablebackground: 'enableBackground',\n 'enable-background': 'enableBackground',\n end: 'end',\n exponent: 'exponent',\n externalresourcesrequired: 'externalResourcesRequired',\n fill: 'fill',\n fillopacity: 'fillOpacity',\n 'fill-opacity': 'fillOpacity',\n fillrule: 'fillRule',\n 'fill-rule': 'fillRule',\n filter: 'filter',\n filterres: 'filterRes',\n filterunits: 'filterUnits',\n floodopacity: 'floodOpacity',\n 'flood-opacity': 'floodOpacity',\n floodcolor: 'floodColor',\n 'flood-color': 'floodColor',\n focusable: 'focusable',\n fontfamily: 'fontFamily',\n 'font-family': 'fontFamily',\n fontsize: 'fontSize',\n 'font-size': 'fontSize',\n fontsizeadjust: 'fontSizeAdjust',\n 'font-size-adjust': 'fontSizeAdjust',\n fontstretch: 'fontStretch',\n 'font-stretch': 'fontStretch',\n fontstyle: 'fontStyle',\n 'font-style': 'fontStyle',\n fontvariant: 'fontVariant',\n 'font-variant': 'fontVariant',\n fontweight: 'fontWeight',\n 'font-weight': 'fontWeight',\n format: 'format',\n from: 'from',\n fx: 'fx',\n fy: 'fy',\n g1: 'g1',\n g2: 'g2',\n glyphname: 'glyphName',\n 'glyph-name': 'glyphName',\n glyphorientationhorizontal: 'glyphOrientationHorizontal',\n 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n glyphorientationvertical: 'glyphOrientationVertical',\n 'glyph-orientation-vertical': 'glyphOrientationVertical',\n glyphref: 'glyphRef',\n gradienttransform: 'gradientTransform',\n gradientunits: 'gradientUnits',\n hanging: 'hanging',\n horizadvx: 'horizAdvX',\n 'horiz-adv-x': 'horizAdvX',\n horizoriginx: 'horizOriginX',\n 'horiz-origin-x': 'horizOriginX',\n ideographic: 'ideographic',\n imagerendering: 'imageRendering',\n 'image-rendering': 'imageRendering',\n in2: 'in2',\n in: 'in',\n inlist: 'inlist',\n intercept: 'intercept',\n k1: 'k1',\n k2: 'k2',\n k3: 'k3',\n k4: 'k4',\n k: 'k',\n kernelmatrix: 'kernelMatrix',\n kernelunitlength: 'kernelUnitLength',\n kerning: 'kerning',\n keypoints: 'keyPoints',\n keysplines: 'keySplines',\n keytimes: 'keyTimes',\n lengthadjust: 'lengthAdjust',\n letterspacing: 'letterSpacing',\n 'letter-spacing': 'letterSpacing',\n lightingcolor: 'lightingColor',\n 'lighting-color': 'lightingColor',\n limitingconeangle: 'limitingConeAngle',\n local: 'local',\n markerend: 'markerEnd',\n 'marker-end': 'markerEnd',\n markerheight: 'markerHeight',\n markermid: 'markerMid',\n 'marker-mid': 'markerMid',\n markerstart: 'markerStart',\n 'marker-start': 'markerStart',\n markerunits: 'markerUnits',\n markerwidth: 'markerWidth',\n mask: 'mask',\n maskcontentunits: 'maskContentUnits',\n maskunits: 'maskUnits',\n mathematical: 'mathematical',\n mode: 'mode',\n numoctaves: 'numOctaves',\n offset: 'offset',\n opacity: 'opacity',\n operator: 'operator',\n order: 'order',\n orient: 'orient',\n orientation: 'orientation',\n origin: 'origin',\n overflow: 'overflow',\n overlineposition: 'overlinePosition',\n 'overline-position': 'overlinePosition',\n overlinethickness: 'overlineThickness',\n 'overline-thickness': 'overlineThickness',\n paintorder: 'paintOrder',\n 'paint-order': 'paintOrder',\n panose1: 'panose1',\n 'panose-1': 'panose1',\n pathlength: 'pathLength',\n patterncontentunits: 'patternContentUnits',\n patterntransform: 'patternTransform',\n patternunits: 'patternUnits',\n pointerevents: 'pointerEvents',\n 'pointer-events': 'pointerEvents',\n points: 'points',\n pointsatx: 'pointsAtX',\n pointsaty: 'pointsAtY',\n pointsatz: 'pointsAtZ',\n prefix: 'prefix',\n preservealpha: 'preserveAlpha',\n preserveaspectratio: 'preserveAspectRatio',\n primitiveunits: 'primitiveUnits',\n property: 'property',\n r: 'r',\n radius: 'radius',\n refx: 'refX',\n refy: 'refY',\n renderingintent: 'renderingIntent',\n 'rendering-intent': 'renderingIntent',\n repeatcount: 'repeatCount',\n repeatdur: 'repeatDur',\n requiredextensions: 'requiredExtensions',\n requiredfeatures: 'requiredFeatures',\n resource: 'resource',\n restart: 'restart',\n result: 'result',\n results: 'results',\n rotate: 'rotate',\n rx: 'rx',\n ry: 'ry',\n scale: 'scale',\n security: 'security',\n seed: 'seed',\n shaperendering: 'shapeRendering',\n 'shape-rendering': 'shapeRendering',\n slope: 'slope',\n spacing: 'spacing',\n specularconstant: 'specularConstant',\n specularexponent: 'specularExponent',\n speed: 'speed',\n spreadmethod: 'spreadMethod',\n startoffset: 'startOffset',\n stddeviation: 'stdDeviation',\n stemh: 'stemh',\n stemv: 'stemv',\n stitchtiles: 'stitchTiles',\n stopcolor: 'stopColor',\n 'stop-color': 'stopColor',\n stopopacity: 'stopOpacity',\n 'stop-opacity': 'stopOpacity',\n strikethroughposition: 'strikethroughPosition',\n 'strikethrough-position': 'strikethroughPosition',\n strikethroughthickness: 'strikethroughThickness',\n 'strikethrough-thickness': 'strikethroughThickness',\n string: 'string',\n stroke: 'stroke',\n strokedasharray: 'strokeDasharray',\n 'stroke-dasharray': 'strokeDasharray',\n strokedashoffset: 'strokeDashoffset',\n 'stroke-dashoffset': 'strokeDashoffset',\n strokelinecap: 'strokeLinecap',\n 'stroke-linecap': 'strokeLinecap',\n strokelinejoin: 'strokeLinejoin',\n 'stroke-linejoin': 'strokeLinejoin',\n strokemiterlimit: 'strokeMiterlimit',\n 'stroke-miterlimit': 'strokeMiterlimit',\n strokewidth: 'strokeWidth',\n 'stroke-width': 'strokeWidth',\n strokeopacity: 'strokeOpacity',\n 'stroke-opacity': 'strokeOpacity',\n suppresscontenteditablewarning: 'suppressContentEditableWarning',\n suppresshydrationwarning: 'suppressHydrationWarning',\n surfacescale: 'surfaceScale',\n systemlanguage: 'systemLanguage',\n tablevalues: 'tableValues',\n targetx: 'targetX',\n targety: 'targetY',\n textanchor: 'textAnchor',\n 'text-anchor': 'textAnchor',\n textdecoration: 'textDecoration',\n 'text-decoration': 'textDecoration',\n textlength: 'textLength',\n textrendering: 'textRendering',\n 'text-rendering': 'textRendering',\n to: 'to',\n transform: 'transform',\n typeof: 'typeof',\n u1: 'u1',\n u2: 'u2',\n underlineposition: 'underlinePosition',\n 'underline-position': 'underlinePosition',\n underlinethickness: 'underlineThickness',\n 'underline-thickness': 'underlineThickness',\n unicode: 'unicode',\n unicodebidi: 'unicodeBidi',\n 'unicode-bidi': 'unicodeBidi',\n unicoderange: 'unicodeRange',\n 'unicode-range': 'unicodeRange',\n unitsperem: 'unitsPerEm',\n 'units-per-em': 'unitsPerEm',\n unselectable: 'unselectable',\n valphabetic: 'vAlphabetic',\n 'v-alphabetic': 'vAlphabetic',\n values: 'values',\n vectoreffect: 'vectorEffect',\n 'vector-effect': 'vectorEffect',\n version: 'version',\n vertadvy: 'vertAdvY',\n 'vert-adv-y': 'vertAdvY',\n vertoriginx: 'vertOriginX',\n 'vert-origin-x': 'vertOriginX',\n vertoriginy: 'vertOriginY',\n 'vert-origin-y': 'vertOriginY',\n vhanging: 'vHanging',\n 'v-hanging': 'vHanging',\n videographic: 'vIdeographic',\n 'v-ideographic': 'vIdeographic',\n viewbox: 'viewBox',\n viewtarget: 'viewTarget',\n visibility: 'visibility',\n vmathematical: 'vMathematical',\n 'v-mathematical': 'vMathematical',\n vocab: 'vocab',\n widths: 'widths',\n wordspacing: 'wordSpacing',\n 'word-spacing': 'wordSpacing',\n writingmode: 'writingMode',\n 'writing-mode': 'writingMode',\n x1: 'x1',\n x2: 'x2',\n x: 'x',\n xchannelselector: 'xChannelSelector',\n xheight: 'xHeight',\n 'x-height': 'xHeight',\n xlinkactuate: 'xlinkActuate',\n 'xlink:actuate': 'xlinkActuate',\n xlinkarcrole: 'xlinkArcrole',\n 'xlink:arcrole': 'xlinkArcrole',\n xlinkhref: 'xlinkHref',\n 'xlink:href': 'xlinkHref',\n xlinkrole: 'xlinkRole',\n 'xlink:role': 'xlinkRole',\n xlinkshow: 'xlinkShow',\n 'xlink:show': 'xlinkShow',\n xlinktitle: 'xlinkTitle',\n 'xlink:title': 'xlinkTitle',\n xlinktype: 'xlinkType',\n 'xlink:type': 'xlinkType',\n xmlbase: 'xmlBase',\n 'xml:base': 'xmlBase',\n xmllang: 'xmlLang',\n 'xml:lang': 'xmlLang',\n xmlns: 'xmlns',\n 'xml:space': 'xmlSpace',\n xmlnsxlink: 'xmlnsXlink',\n 'xmlns:xlink': 'xmlnsXlink',\n xmlspace: 'xmlSpace',\n y1: 'y1',\n y2: 'y2',\n y: 'y',\n ychannelselector: 'yChannelSelector',\n z: 'z',\n zoomandpan: 'zoomAndPan'\n};\n\nvar ariaProperties = {\n 'aria-current': 0,\n // state\n 'aria-description': 0,\n 'aria-details': 0,\n 'aria-disabled': 0,\n // state\n 'aria-hidden': 0,\n // state\n 'aria-invalid': 0,\n // state\n 'aria-keyshortcuts': 0,\n 'aria-label': 0,\n 'aria-roledescription': 0,\n // Widget Attributes\n 'aria-autocomplete': 0,\n 'aria-checked': 0,\n 'aria-expanded': 0,\n 'aria-haspopup': 0,\n 'aria-level': 0,\n 'aria-modal': 0,\n 'aria-multiline': 0,\n 'aria-multiselectable': 0,\n 'aria-orientation': 0,\n 'aria-placeholder': 0,\n 'aria-pressed': 0,\n 'aria-readonly': 0,\n 'aria-required': 0,\n 'aria-selected': 0,\n 'aria-sort': 0,\n 'aria-valuemax': 0,\n 'aria-valuemin': 0,\n 'aria-valuenow': 0,\n 'aria-valuetext': 0,\n // Live Region Attributes\n 'aria-atomic': 0,\n 'aria-busy': 0,\n 'aria-live': 0,\n 'aria-relevant': 0,\n // Drag-and-Drop Attributes\n 'aria-dropeffect': 0,\n 'aria-grabbed': 0,\n // Relationship Attributes\n 'aria-activedescendant': 0,\n 'aria-colcount': 0,\n 'aria-colindex': 0,\n 'aria-colspan': 0,\n 'aria-controls': 0,\n 'aria-describedby': 0,\n 'aria-errormessage': 0,\n 'aria-flowto': 0,\n 'aria-labelledby': 0,\n 'aria-owns': 0,\n 'aria-posinset': 0,\n 'aria-rowcount': 0,\n 'aria-rowindex': 0,\n 'aria-rowspan': 0,\n 'aria-setsize': 0\n};\n\nvar warnedProperties = {};\nvar rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');\nvar rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');\n\nfunction validateProperty(tagName, name) {\n {\n if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name]) {\n return true;\n }\n\n if (rARIACamel.test(name)) {\n var ariaName = 'aria-' + name.slice(4).toLowerCase();\n var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; // If this is an aria-* attribute, but is not listed in the known DOM\n // DOM properties, then it is an invalid aria-* attribute.\n\n if (correctName == null) {\n error('Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name);\n\n warnedProperties[name] = true;\n return true;\n } // aria-* attributes should be lowercase; suggest the lowercase version.\n\n\n if (name !== correctName) {\n error('Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName);\n\n warnedProperties[name] = true;\n return true;\n }\n }\n\n if (rARIA.test(name)) {\n var lowerCasedName = name.toLowerCase();\n var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; // If this is an aria-* attribute, but is not listed in the known DOM\n // DOM properties, then it is an invalid aria-* attribute.\n\n if (standardName == null) {\n warnedProperties[name] = true;\n return false;\n } // aria-* attributes should be lowercase; suggest the lowercase version.\n\n\n if (name !== standardName) {\n error('Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName);\n\n warnedProperties[name] = true;\n return true;\n }\n }\n }\n\n return true;\n}\n\nfunction warnInvalidARIAProps(type, props) {\n {\n var invalidProps = [];\n\n for (var key in props) {\n var isValid = validateProperty(type, key);\n\n if (!isValid) {\n invalidProps.push(key);\n }\n }\n\n var unknownPropString = invalidProps.map(function (prop) {\n return '`' + prop + '`';\n }).join(', ');\n\n if (invalidProps.length === 1) {\n error('Invalid aria prop %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);\n } else if (invalidProps.length > 1) {\n error('Invalid aria props %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);\n }\n }\n}\n\nfunction validateProperties(type, props) {\n if (isCustomComponent(type, props)) {\n return;\n }\n\n warnInvalidARIAProps(type, props);\n}\n\nvar didWarnValueNull = false;\nfunction validateProperties$1(type, props) {\n {\n if (type !== 'input' && type !== 'textarea' && type !== 'select') {\n return;\n }\n\n if (props != null && props.value === null && !didWarnValueNull) {\n didWarnValueNull = true;\n\n if (type === 'select' && props.multiple) {\n error('`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type);\n } else {\n error('`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type);\n }\n }\n }\n}\n\nvar validateProperty$1 = function () {};\n\n{\n var warnedProperties$1 = {};\n var EVENT_NAME_REGEX = /^on./;\n var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;\n var rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');\n var rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');\n\n validateProperty$1 = function (tagName, name, value, eventRegistry) {\n if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) {\n return true;\n }\n\n var lowerCasedName = name.toLowerCase();\n\n if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') {\n error('React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.');\n\n warnedProperties$1[name] = true;\n return true;\n } // We can't rely on the event system being injected on the server.\n\n\n if (eventRegistry != null) {\n var registrationNameDependencies = eventRegistry.registrationNameDependencies,\n possibleRegistrationNames = eventRegistry.possibleRegistrationNames;\n\n if (registrationNameDependencies.hasOwnProperty(name)) {\n return true;\n }\n\n var registrationName = possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames[lowerCasedName] : null;\n\n if (registrationName != null) {\n error('Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (EVENT_NAME_REGEX.test(name)) {\n error('Unknown event handler property `%s`. It will be ignored.', name);\n\n warnedProperties$1[name] = true;\n return true;\n }\n } else if (EVENT_NAME_REGEX.test(name)) {\n // If no event plugins have been injected, we are in a server environment.\n // So we can't tell if the event name is correct for sure, but we can filter\n // out known bad ones like `onclick`. We can't suggest a specific replacement though.\n if (INVALID_EVENT_NAME_REGEX.test(name)) {\n error('Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name);\n }\n\n warnedProperties$1[name] = true;\n return true;\n } // Let the ARIA attribute hook validate ARIA attributes\n\n\n if (rARIA$1.test(name) || rARIACamel$1.test(name)) {\n return true;\n }\n\n if (lowerCasedName === 'innerhtml') {\n error('Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.');\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (lowerCasedName === 'aria') {\n error('The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.');\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (lowerCasedName === 'is' && value !== null && value !== undefined && typeof value !== 'string') {\n error('Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (typeof value === 'number' && isNaN(value)) {\n error('Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n var propertyInfo = getPropertyInfo(name);\n var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED; // Known attributes should match the casing specified in the property config.\n\n if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {\n var standardName = possibleStandardNames[lowerCasedName];\n\n if (standardName !== name) {\n error('Invalid DOM property `%s`. Did you mean `%s`?', name, standardName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n } else if (!isReserved && name !== lowerCasedName) {\n // Unknown attributes should have lowercase casing since that's how they\n // will be cased anyway with server rendering.\n error('React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {\n if (value) {\n error('Received `%s` for a non-boolean attribute `%s`.\\n\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\"%s\" or %s={value.toString()}.', value, name, name, value, name);\n } else {\n error('Received `%s` for a non-boolean attribute `%s`.\\n\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\"%s\" or %s={value.toString()}.\\n\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name);\n }\n\n warnedProperties$1[name] = true;\n return true;\n } // Now that we've validated casing, do not validate\n // data types for reserved props\n\n\n if (isReserved) {\n return true;\n } // Warn when a known attribute is a bad type\n\n\n if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {\n warnedProperties$1[name] = true;\n return false;\n } // Warn when passing the strings 'false' or 'true' into a boolean prop\n\n\n if ((value === 'false' || value === 'true') && propertyInfo !== null && propertyInfo.type === BOOLEAN) {\n error('Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string \"false\".', name, value);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n return true;\n };\n}\n\nvar warnUnknownProperties = function (type, props, eventRegistry) {\n {\n var unknownProps = [];\n\n for (var key in props) {\n var isValid = validateProperty$1(type, key, props[key], eventRegistry);\n\n if (!isValid) {\n unknownProps.push(key);\n }\n }\n\n var unknownPropString = unknownProps.map(function (prop) {\n return '`' + prop + '`';\n }).join(', ');\n\n if (unknownProps.length === 1) {\n error('Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);\n } else if (unknownProps.length > 1) {\n error('Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);\n }\n }\n};\n\nfunction validateProperties$2(type, props, eventRegistry) {\n if (isCustomComponent(type, props)) {\n return;\n }\n\n warnUnknownProperties(type, props, eventRegistry);\n}\n\nvar IS_EVENT_HANDLE_NON_MANAGED_NODE = 1;\nvar IS_NON_DELEGATED = 1 << 1;\nvar IS_CAPTURE_PHASE = 1 << 2;\n// set to LEGACY_FB_SUPPORT. LEGACY_FB_SUPPORT only gets set when\n// we call willDeferLaterForLegacyFBSupport, thus not bailing out\n// will result in endless cycles like an infinite loop.\n// We also don't want to defer during event replaying.\n\nvar SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS = IS_EVENT_HANDLE_NON_MANAGED_NODE | IS_NON_DELEGATED | IS_CAPTURE_PHASE;\n\n// This exists to avoid circular dependency between ReactDOMEventReplaying\n// and DOMPluginEventSystem.\nvar currentReplayingEvent = null;\nfunction setReplayingEvent(event) {\n {\n if (currentReplayingEvent !== null) {\n error('Expected currently replaying event to be null. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n }\n\n currentReplayingEvent = event;\n}\nfunction resetReplayingEvent() {\n {\n if (currentReplayingEvent === null) {\n error('Expected currently replaying event to not be null. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n }\n\n currentReplayingEvent = null;\n}\nfunction isReplayingEvent(event) {\n return event === currentReplayingEvent;\n}\n\n/**\n * Gets the target node from a native browser event by accounting for\n * inconsistencies in browser DOM APIs.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {DOMEventTarget} Target node.\n */\n\nfunction getEventTarget(nativeEvent) {\n // Fallback to nativeEvent.srcElement for IE9\n // https://github.com/facebook/react/issues/12506\n var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG <use> element events #4963\n\n if (target.correspondingUseElement) {\n target = target.correspondingUseElement;\n } // Safari may fire events on text nodes (Node.TEXT_NODE is 3).\n // @see http://www.quirksmode.org/js/events_properties.html\n\n\n return target.nodeType === TEXT_NODE ? target.parentNode : target;\n}\n\nvar restoreImpl = null;\nvar restoreTarget = null;\nvar restoreQueue = null;\n\nfunction restoreStateOfTarget(target) {\n // We perform this translation at the end of the event loop so that we\n // always receive the correct fiber here\n var internalInstance = getInstanceFromNode(target);\n\n if (!internalInstance) {\n // Unmounted\n return;\n }\n\n if (typeof restoreImpl !== 'function') {\n throw new Error('setRestoreImplementation() needs to be called to handle a target for controlled ' + 'events. This error is likely caused by a bug in React. Please file an issue.');\n }\n\n var stateNode = internalInstance.stateNode; // Guard against Fiber being unmounted.\n\n if (stateNode) {\n var _props = getFiberCurrentPropsFromNode(stateNode);\n\n restoreImpl(internalInstance.stateNode, internalInstance.type, _props);\n }\n}\n\nfunction setRestoreImplementation(impl) {\n restoreImpl = impl;\n}\nfunction enqueueStateRestore(target) {\n if (restoreTarget) {\n if (restoreQueue) {\n restoreQueue.push(target);\n } else {\n restoreQueue = [target];\n }\n } else {\n restoreTarget = target;\n }\n}\nfunction needsStateRestore() {\n return restoreTarget !== null || restoreQueue !== null;\n}\nfunction restoreStateIfNeeded() {\n if (!restoreTarget) {\n return;\n }\n\n var target = restoreTarget;\n var queuedTargets = restoreQueue;\n restoreTarget = null;\n restoreQueue = null;\n restoreStateOfTarget(target);\n\n if (queuedTargets) {\n for (var i = 0; i < queuedTargets.length; i++) {\n restoreStateOfTarget(queuedTargets[i]);\n }\n }\n}\n\n// the renderer. Such as when we're dispatching events or if third party\n// libraries need to call batchedUpdates. Eventually, this API will go away when\n// everything is batched by default. We'll then have a similar API to opt-out of\n// scheduled work and instead do synchronous work.\n// Defaults\n\nvar batchedUpdatesImpl = function (fn, bookkeeping) {\n return fn(bookkeeping);\n};\n\nvar flushSyncImpl = function () {};\n\nvar isInsideEventHandler = false;\n\nfunction finishEventHandler() {\n // Here we wait until all updates have propagated, which is important\n // when using controlled components within layers:\n // https://github.com/facebook/react/issues/1698\n // Then we restore state of any controlled component.\n var controlledComponentsHavePendingUpdates = needsStateRestore();\n\n if (controlledComponentsHavePendingUpdates) {\n // If a controlled event was fired, we may need to restore the state of\n // the DOM node back to the controlled value. This is necessary when React\n // bails out of the update without touching the DOM.\n // TODO: Restore state in the microtask, after the discrete updates flush,\n // instead of early flushing them here.\n flushSyncImpl();\n restoreStateIfNeeded();\n }\n}\n\nfunction batchedUpdates(fn, a, b) {\n if (isInsideEventHandler) {\n // If we are currently inside another batch, we need to wait until it\n // fully completes before restoring state.\n return fn(a, b);\n }\n\n isInsideEventHandler = true;\n\n try {\n return batchedUpdatesImpl(fn, a, b);\n } finally {\n isInsideEventHandler = false;\n finishEventHandler();\n }\n} // TODO: Replace with flushSync\nfunction setBatchingImplementation(_batchedUpdatesImpl, _discreteUpdatesImpl, _flushSyncImpl) {\n batchedUpdatesImpl = _batchedUpdatesImpl;\n flushSyncImpl = _flushSyncImpl;\n}\n\nfunction isInteractive(tag) {\n return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\n}\n\nfunction shouldPreventMouseEvent(name, type, props) {\n switch (name) {\n case 'onClick':\n case 'onClickCapture':\n case 'onDoubleClick':\n case 'onDoubleClickCapture':\n case 'onMouseDown':\n case 'onMouseDownCapture':\n case 'onMouseMove':\n case 'onMouseMoveCapture':\n case 'onMouseUp':\n case 'onMouseUpCapture':\n case 'onMouseEnter':\n return !!(props.disabled && isInteractive(type));\n\n default:\n return false;\n }\n}\n/**\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @return {?function} The stored callback.\n */\n\n\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n\n if (stateNode === null) {\n // Work in progress (ex: onload events in incremental mode).\n return null;\n }\n\n var props = getFiberCurrentPropsFromNode(stateNode);\n\n if (props === null) {\n // Work in progress.\n return null;\n }\n\n var listener = props[registrationName];\n\n if (shouldPreventMouseEvent(registrationName, inst.type, props)) {\n return null;\n }\n\n if (listener && typeof listener !== 'function') {\n throw new Error(\"Expected `\" + registrationName + \"` listener to be a function, instead got a value of `\" + typeof listener + \"` type.\");\n }\n\n return listener;\n}\n\nvar passiveBrowserEventsSupported = false; // Check if browser support events with passive listeners\n// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n\nif (canUseDOM) {\n try {\n var options = {}; // $FlowFixMe: Ignore Flow complaining about needing a value\n\n Object.defineProperty(options, 'passive', {\n get: function () {\n passiveBrowserEventsSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (e) {\n passiveBrowserEventsSupported = false;\n }\n}\n\nfunction invokeGuardedCallbackProd(name, func, context, a, b, c, d, e, f) {\n var funcArgs = Array.prototype.slice.call(arguments, 3);\n\n try {\n func.apply(context, funcArgs);\n } catch (error) {\n this.onError(error);\n }\n}\n\nvar invokeGuardedCallbackImpl = invokeGuardedCallbackProd;\n\n{\n // In DEV mode, we swap out invokeGuardedCallback for a special version\n // that plays more nicely with the browser's DevTools. The idea is to preserve\n // \"Pause on exceptions\" behavior. Because React wraps all user-provided\n // functions in invokeGuardedCallback, and the production version of\n // invokeGuardedCallback uses a try-catch, all user exceptions are treated\n // like caught exceptions, and the DevTools won't pause unless the developer\n // takes the extra step of enabling pause on caught exceptions. This is\n // unintuitive, though, because even though React has caught the error, from\n // the developer's perspective, the error is uncaught.\n //\n // To preserve the expected \"Pause on exceptions\" behavior, we don't use a\n // try-catch in DEV. Instead, we synchronously dispatch a fake event to a fake\n // DOM node, and call the user-provided callback from inside an event handler\n // for that fake event. If the callback throws, the error is \"captured\" using\n // a global event handler. But because the error happens in a different\n // event loop context, it does not interrupt the normal program flow.\n // Effectively, this gives us try-catch behavior without actually using\n // try-catch. Neat!\n // Check that the browser supports the APIs we need to implement our special\n // DEV version of invokeGuardedCallback\n if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {\n var fakeNode = document.createElement('react');\n\n invokeGuardedCallbackImpl = function invokeGuardedCallbackDev(name, func, context, a, b, c, d, e, f) {\n // If document doesn't exist we know for sure we will crash in this method\n // when we call document.createEvent(). However this can cause confusing\n // errors: https://github.com/facebook/create-react-app/issues/3482\n // So we preemptively throw with a better message instead.\n if (typeof document === 'undefined' || document === null) {\n throw new Error('The `document` global was defined when React was initialized, but is not ' + 'defined anymore. This can happen in a test environment if a component ' + 'schedules an update from an asynchronous callback, but the test has already ' + 'finished running. To solve this, you can either unmount the component at ' + 'the end of your test (and ensure that any asynchronous operations get ' + 'canceled in `componentWillUnmount`), or you can change the test itself ' + 'to be asynchronous.');\n }\n\n var evt = document.createEvent('Event');\n var didCall = false; // Keeps track of whether the user-provided callback threw an error. We\n // set this to true at the beginning, then set it to false right after\n // calling the function. If the function errors, `didError` will never be\n // set to false. This strategy works even if the browser is flaky and\n // fails to call our global error handler, because it doesn't rely on\n // the error event at all.\n\n var didError = true; // Keeps track of the value of window.event so that we can reset it\n // during the callback to let user code access window.event in the\n // browsers that support it.\n\n var windowEvent = window.event; // Keeps track of the descriptor of window.event to restore it after event\n // dispatching: https://github.com/facebook/react/issues/13688\n\n var windowEventDescriptor = Object.getOwnPropertyDescriptor(window, 'event');\n\n function restoreAfterDispatch() {\n // We immediately remove the callback from event listeners so that\n // nested `invokeGuardedCallback` calls do not clash. Otherwise, a\n // nested call would trigger the fake event handlers of any call higher\n // in the stack.\n fakeNode.removeEventListener(evtType, callCallback, false); // We check for window.hasOwnProperty('event') to prevent the\n // window.event assignment in both IE <= 10 as they throw an error\n // \"Member not found\" in strict mode, and in Firefox which does not\n // support window.event.\n\n if (typeof window.event !== 'undefined' && window.hasOwnProperty('event')) {\n window.event = windowEvent;\n }\n } // Create an event handler for our fake event. We will synchronously\n // dispatch our fake event using `dispatchEvent`. Inside the handler, we\n // call the user-provided callback.\n\n\n var funcArgs = Array.prototype.slice.call(arguments, 3);\n\n function callCallback() {\n didCall = true;\n restoreAfterDispatch();\n func.apply(context, funcArgs);\n didError = false;\n } // Create a global error event handler. We use this to capture the value\n // that was thrown. It's possible that this error handler will fire more\n // than once; for example, if non-React code also calls `dispatchEvent`\n // and a handler for that event throws. We should be resilient to most of\n // those cases. Even if our error event handler fires more than once, the\n // last error event is always used. If the callback actually does error,\n // we know that the last error event is the correct one, because it's not\n // possible for anything else to have happened in between our callback\n // erroring and the code that follows the `dispatchEvent` call below. If\n // the callback doesn't error, but the error event was fired, we know to\n // ignore it because `didError` will be false, as described above.\n\n\n var error; // Use this to track whether the error event is ever called.\n\n var didSetError = false;\n var isCrossOriginError = false;\n\n function handleWindowError(event) {\n error = event.error;\n didSetError = true;\n\n if (error === null && event.colno === 0 && event.lineno === 0) {\n isCrossOriginError = true;\n }\n\n if (event.defaultPrevented) {\n // Some other error handler has prevented default.\n // Browsers silence the error report if this happens.\n // We'll remember this to later decide whether to log it or not.\n if (error != null && typeof error === 'object') {\n try {\n error._suppressLogging = true;\n } catch (inner) {// Ignore.\n }\n }\n }\n } // Create a fake event type.\n\n\n var evtType = \"react-\" + (name ? name : 'invokeguardedcallback'); // Attach our event handlers\n\n window.addEventListener('error', handleWindowError);\n fakeNode.addEventListener(evtType, callCallback, false); // Synchronously dispatch our fake event. If the user-provided function\n // errors, it will trigger our global error handler.\n\n evt.initEvent(evtType, false, false);\n fakeNode.dispatchEvent(evt);\n\n if (windowEventDescriptor) {\n Object.defineProperty(window, 'event', windowEventDescriptor);\n }\n\n if (didCall && didError) {\n if (!didSetError) {\n // The callback errored, but the error event never fired.\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error('An error was thrown inside one of your components, but React ' + \"doesn't know what it was. This is likely due to browser \" + 'flakiness. React does its best to preserve the \"Pause on ' + 'exceptions\" behavior of the DevTools, which requires some ' + \"DEV-mode only tricks. It's possible that these don't work in \" + 'your browser. Try triggering the error in production mode, ' + 'or switching to a modern browser. If you suspect that this is ' + 'actually an issue with React, please file an issue.');\n } else if (isCrossOriginError) {\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error(\"A cross-origin error was thrown. React doesn't have access to \" + 'the actual error object in development. ' + 'See https://reactjs.org/link/crossorigin-error for more information.');\n }\n\n this.onError(error);\n } // Remove our event listeners\n\n\n window.removeEventListener('error', handleWindowError);\n\n if (!didCall) {\n // Something went really wrong, and our event was not dispatched.\n // https://github.com/facebook/react/issues/16734\n // https://github.com/facebook/react/issues/16585\n // Fall back to the production implementation.\n restoreAfterDispatch();\n return invokeGuardedCallbackProd.apply(this, arguments);\n }\n };\n }\n}\n\nvar invokeGuardedCallbackImpl$1 = invokeGuardedCallbackImpl;\n\nvar hasError = false;\nvar caughtError = null; // Used by event system to capture/rethrow the first error.\n\nvar hasRethrowError = false;\nvar rethrowError = null;\nvar reporter = {\n onError: function (error) {\n hasError = true;\n caughtError = error;\n }\n};\n/**\n * Call a function while guarding against errors that happens within it.\n * Returns an error if it throws, otherwise null.\n *\n * In production, this is implemented using a try-catch. The reason we don't\n * use a try-catch directly is so that we can swap out a different\n * implementation in DEV mode.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} context The context to use when calling the function\n * @param {...*} args Arguments for function\n */\n\nfunction invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {\n hasError = false;\n caughtError = null;\n invokeGuardedCallbackImpl$1.apply(reporter, arguments);\n}\n/**\n * Same as invokeGuardedCallback, but instead of returning an error, it stores\n * it in a global so it can be rethrown by `rethrowCaughtError` later.\n * TODO: See if caughtError and rethrowError can be unified.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} context The context to use when calling the function\n * @param {...*} args Arguments for function\n */\n\nfunction invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) {\n invokeGuardedCallback.apply(this, arguments);\n\n if (hasError) {\n var error = clearCaughtError();\n\n if (!hasRethrowError) {\n hasRethrowError = true;\n rethrowError = error;\n }\n }\n}\n/**\n * During execution of guarded functions we will capture the first error which\n * we will rethrow to be handled by the top level error handler.\n */\n\nfunction rethrowCaughtError() {\n if (hasRethrowError) {\n var error = rethrowError;\n hasRethrowError = false;\n rethrowError = null;\n throw error;\n }\n}\nfunction hasCaughtError() {\n return hasError;\n}\nfunction clearCaughtError() {\n if (hasError) {\n var error = caughtError;\n hasError = false;\n caughtError = null;\n return error;\n } else {\n throw new Error('clearCaughtError was called but no error was captured. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n}\n\n/**\n * `ReactInstanceMap` maintains a mapping from a public facing stateful\n * instance (key) and the internal representation (value). This allows public\n * methods to accept the user facing instance as an argument and map them back\n * to internal methods.\n *\n * Note that this module is currently shared and assumed to be stateless.\n * If this becomes an actual Map, that will break.\n */\nfunction get(key) {\n return key._reactInternals;\n}\nfunction has(key) {\n return key._reactInternals !== undefined;\n}\nfunction set(key, value) {\n key._reactInternals = value;\n}\n\n// Don't change these two values. They're used by React Dev Tools.\nvar NoFlags =\n/* */\n0;\nvar PerformedWork =\n/* */\n1; // You can change the rest (and add more).\n\nvar Placement =\n/* */\n2;\nvar Update =\n/* */\n4;\nvar ChildDeletion =\n/* */\n16;\nvar ContentReset =\n/* */\n32;\nvar Callback =\n/* */\n64;\nvar DidCapture =\n/* */\n128;\nvar ForceClientRender =\n/* */\n256;\nvar Ref =\n/* */\n512;\nvar Snapshot =\n/* */\n1024;\nvar Passive =\n/* */\n2048;\nvar Hydrating =\n/* */\n4096;\nvar Visibility =\n/* */\n8192;\nvar StoreConsistency =\n/* */\n16384;\nvar LifecycleEffectMask = Passive | Update | Callback | Ref | Snapshot | StoreConsistency; // Union of all commit flags (flags with the lifetime of a particular commit)\n\nvar HostEffectMask =\n/* */\n32767; // These are not really side effects, but we still reuse this field.\n\nvar Incomplete =\n/* */\n32768;\nvar ShouldCapture =\n/* */\n65536;\nvar ForceUpdateForLegacySuspense =\n/* */\n131072;\nvar Forked =\n/* */\n1048576; // Static tags describe aspects of a fiber that are not specific to a render,\n// e.g. a fiber uses a passive effect (even if there are no updates on this particular render).\n// This enables us to defer more work in the unmount case,\n// since we can defer traversing the tree during layout to look for Passive effects,\n// and instead rely on the static flag as a signal that there may be cleanup work.\n\nvar RefStatic =\n/* */\n2097152;\nvar LayoutStatic =\n/* */\n4194304;\nvar PassiveStatic =\n/* */\n8388608; // These flags allow us to traverse to fibers that have effects on mount\n// without traversing the entire tree after every commit for\n// double invoking\n\nvar MountLayoutDev =\n/* */\n16777216;\nvar MountPassiveDev =\n/* */\n33554432; // Groups of flags that are used in the commit phase to skip over trees that\n// don't contain effects, by checking subtreeFlags.\n\nvar BeforeMutationMask = // TODO: Remove Update flag from before mutation phase by re-landing Visibility\n// flag logic (see #20043)\nUpdate | Snapshot | ( 0);\nvar MutationMask = Placement | Update | ChildDeletion | ContentReset | Ref | Hydrating | Visibility;\nvar LayoutMask = Update | Callback | Ref | Visibility; // TODO: Split into PassiveMountMask and PassiveUnmountMask\n\nvar PassiveMask = Passive | ChildDeletion; // Union of tags that don't get reset on clones.\n// This allows certain concepts to persist without recalculating them,\n// e.g. whether a subtree contains passive effects or portals.\n\nvar StaticMask = LayoutStatic | PassiveStatic | RefStatic;\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nfunction getNearestMountedFiber(fiber) {\n var node = fiber;\n var nearestMounted = fiber;\n\n if (!fiber.alternate) {\n // If there is no alternate, this might be a new tree that isn't inserted\n // yet. If it is, then it will have a pending insertion effect on it.\n var nextNode = node;\n\n do {\n node = nextNode;\n\n if ((node.flags & (Placement | Hydrating)) !== NoFlags) {\n // This is an insertion or in-progress hydration. The nearest possible\n // mounted fiber is the parent but we need to continue to figure out\n // if that one is still mounted.\n nearestMounted = node.return;\n }\n\n nextNode = node.return;\n } while (nextNode);\n } else {\n while (node.return) {\n node = node.return;\n }\n }\n\n if (node.tag === HostRoot) {\n // TODO: Check if this was a nested HostRoot when used with\n // renderContainerIntoSubtree.\n return nearestMounted;\n } // If we didn't hit the root, that means that we're in an disconnected tree\n // that has been unmounted.\n\n\n return null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (fiber.tag === SuspenseComponent) {\n var suspenseState = fiber.memoizedState;\n\n if (suspenseState === null) {\n var current = fiber.alternate;\n\n if (current !== null) {\n suspenseState = current.memoizedState;\n }\n }\n\n if (suspenseState !== null) {\n return suspenseState.dehydrated;\n }\n }\n\n return null;\n}\nfunction getContainerFromFiber(fiber) {\n return fiber.tag === HostRoot ? fiber.stateNode.containerInfo : null;\n}\nfunction isFiberMounted(fiber) {\n return getNearestMountedFiber(fiber) === fiber;\n}\nfunction isMounted(component) {\n {\n var owner = ReactCurrentOwner.current;\n\n if (owner !== null && owner.tag === ClassComponent) {\n var ownerFiber = owner;\n var instance = ownerFiber.stateNode;\n\n if (!instance._warnedAboutRefsInRender) {\n error('%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentNameFromFiber(ownerFiber) || 'A component');\n }\n\n instance._warnedAboutRefsInRender = true;\n }\n }\n\n var fiber = get(component);\n\n if (!fiber) {\n return false;\n }\n\n return getNearestMountedFiber(fiber) === fiber;\n}\n\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n}\n\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n\n if (!alternate) {\n // If there is no alternate, then we only need to check if it is mounted.\n var nearestMounted = getNearestMountedFiber(fiber);\n\n if (nearestMounted === null) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (nearestMounted !== fiber) {\n return null;\n }\n\n return fiber;\n } // If we have two possible branches, we'll walk backwards up to the root\n // to see what path the root points to. On the way we may hit one of the\n // special cases and we'll deal with them.\n\n\n var a = fiber;\n var b = alternate;\n\n while (true) {\n var parentA = a.return;\n\n if (parentA === null) {\n // We're at the root.\n break;\n }\n\n var parentB = parentA.alternate;\n\n if (parentB === null) {\n // There is no alternate. This is an unusual case. Currently, it only\n // happens when a Suspense component is hidden. An extra fragment fiber\n // is inserted in between the Suspense fiber and its children. Skip\n // over this extra fragment fiber and proceed to the next parent.\n var nextParent = parentA.return;\n\n if (nextParent !== null) {\n a = b = nextParent;\n continue;\n } // If there's no parent, we're at the root.\n\n\n break;\n } // If both copies of the parent fiber point to the same child, we can\n // assume that the child is current. This happens when we bailout on low\n // priority: the bailed out fiber's child reuses the current child.\n\n\n if (parentA.child === parentB.child) {\n var child = parentA.child;\n\n while (child) {\n if (child === a) {\n // We've determined that A is the current branch.\n assertIsMounted(parentA);\n return fiber;\n }\n\n if (child === b) {\n // We've determined that B is the current branch.\n assertIsMounted(parentA);\n return alternate;\n }\n\n child = child.sibling;\n } // We should never have an alternate for any mounting node. So the only\n // way this could possibly happen is if this was unmounted, if at all.\n\n\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (a.return !== b.return) {\n // The return pointer of A and the return pointer of B point to different\n // fibers. We assume that return pointers never criss-cross, so A must\n // belong to the child set of A.return, and B must belong to the child\n // set of B.return.\n a = parentA;\n b = parentB;\n } else {\n // The return pointers point to the same fiber. We'll have to use the\n // default, slow path: scan the child sets of each parent alternate to see\n // which child belongs to which set.\n //\n // Search parent A's child set\n var didFindChild = false;\n var _child = parentA.child;\n\n while (_child) {\n if (_child === a) {\n didFindChild = true;\n a = parentA;\n b = parentB;\n break;\n }\n\n if (_child === b) {\n didFindChild = true;\n b = parentA;\n a = parentB;\n break;\n }\n\n _child = _child.sibling;\n }\n\n if (!didFindChild) {\n // Search parent B's child set\n _child = parentB.child;\n\n while (_child) {\n if (_child === a) {\n didFindChild = true;\n a = parentB;\n b = parentA;\n break;\n }\n\n if (_child === b) {\n didFindChild = true;\n b = parentB;\n a = parentA;\n break;\n }\n\n _child = _child.sibling;\n }\n\n if (!didFindChild) {\n throw new Error('Child was not found in either parent set. This indicates a bug ' + 'in React related to the return pointer. Please file an issue.');\n }\n }\n }\n\n if (a.alternate !== b) {\n throw new Error(\"Return fibers should always be each others' alternates. \" + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n } // If the root is not a host container, we're in a disconnected tree. I.e.\n // unmounted.\n\n\n if (a.tag !== HostRoot) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (a.stateNode.current === a) {\n // We've determined that A is the current branch.\n return fiber;\n } // Otherwise B has to be current branch.\n\n\n return alternate;\n}\nfunction findCurrentHostFiber(parent) {\n var currentParent = findCurrentFiberUsingSlowPath(parent);\n return currentParent !== null ? findCurrentHostFiberImpl(currentParent) : null;\n}\n\nfunction findCurrentHostFiberImpl(node) {\n // Next we'll drill down this component to find the first HostComponent/Text.\n if (node.tag === HostComponent || node.tag === HostText) {\n return node;\n }\n\n var child = node.child;\n\n while (child !== null) {\n var match = findCurrentHostFiberImpl(child);\n\n if (match !== null) {\n return match;\n }\n\n child = child.sibling;\n }\n\n return null;\n}\n\nfunction findCurrentHostFiberWithNoPortals(parent) {\n var currentParent = findCurrentFiberUsingSlowPath(parent);\n return currentParent !== null ? findCurrentHostFiberWithNoPortalsImpl(currentParent) : null;\n}\n\nfunction findCurrentHostFiberWithNoPortalsImpl(node) {\n // Next we'll drill down this component to find the first HostComponent/Text.\n if (node.tag === HostComponent || node.tag === HostText) {\n return node;\n }\n\n var child = node.child;\n\n while (child !== null) {\n if (child.tag !== HostPortal) {\n var match = findCurrentHostFiberWithNoPortalsImpl(child);\n\n if (match !== null) {\n return match;\n }\n }\n\n child = child.sibling;\n }\n\n return null;\n}\n\n// This module only exists as an ESM wrapper around the external CommonJS\nvar scheduleCallback = Scheduler.unstable_scheduleCallback;\nvar cancelCallback = Scheduler.unstable_cancelCallback;\nvar shouldYield = Scheduler.unstable_shouldYield;\nvar requestPaint = Scheduler.unstable_requestPaint;\nvar now = Scheduler.unstable_now;\nvar getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel;\nvar ImmediatePriority = Scheduler.unstable_ImmediatePriority;\nvar UserBlockingPriority = Scheduler.unstable_UserBlockingPriority;\nvar NormalPriority = Scheduler.unstable_NormalPriority;\nvar LowPriority = Scheduler.unstable_LowPriority;\nvar IdlePriority = Scheduler.unstable_IdlePriority;\n// this doesn't actually exist on the scheduler, but it *does*\n// on scheduler/unstable_mock, which we'll need for internal testing\nvar unstable_yieldValue = Scheduler.unstable_yieldValue;\nvar unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue;\n\nvar rendererID = null;\nvar injectedHook = null;\nvar injectedProfilingHooks = null;\nvar hasLoggedError = false;\nvar isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined';\nfunction injectInternals(internals) {\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n // No DevTools\n return false;\n }\n\n var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // https://github.com/facebook/react/issues/3877\n return true;\n }\n\n if (!hook.supportsFiber) {\n {\n error('The installed version of React DevTools is too old and will not work ' + 'with the current version of React. Please update React DevTools. ' + 'https://reactjs.org/link/react-devtools');\n } // DevTools exists, even though it doesn't support Fiber.\n\n\n return true;\n }\n\n try {\n if (enableSchedulingProfiler) {\n // Conditionally inject these hooks only if Timeline profiler is supported by this build.\n // This gives DevTools a way to feature detect that isn't tied to version number\n // (since profiling and timeline are controlled by different feature flags).\n internals = assign({}, internals, {\n getLaneLabelMap: getLaneLabelMap,\n injectProfilingHooks: injectProfilingHooks\n });\n }\n\n rendererID = hook.inject(internals); // We have successfully injected, so now it is safe to set up hooks.\n\n injectedHook = hook;\n } catch (err) {\n // Catch all errors because it is unsafe to throw during initialization.\n {\n error('React instrumentation encountered an error: %s.', err);\n }\n }\n\n if (hook.checkDCE) {\n // This is the real DevTools.\n return true;\n } else {\n // This is likely a hook installed by Fast Refresh runtime.\n return false;\n }\n}\nfunction onScheduleRoot(root, children) {\n {\n if (injectedHook && typeof injectedHook.onScheduleFiberRoot === 'function') {\n try {\n injectedHook.onScheduleFiberRoot(rendererID, root, children);\n } catch (err) {\n if ( !hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onCommitRoot(root, eventPriority) {\n if (injectedHook && typeof injectedHook.onCommitFiberRoot === 'function') {\n try {\n var didError = (root.current.flags & DidCapture) === DidCapture;\n\n if (enableProfilerTimer) {\n var schedulerPriority;\n\n switch (eventPriority) {\n case DiscreteEventPriority:\n schedulerPriority = ImmediatePriority;\n break;\n\n case ContinuousEventPriority:\n schedulerPriority = UserBlockingPriority;\n break;\n\n case DefaultEventPriority:\n schedulerPriority = NormalPriority;\n break;\n\n case IdleEventPriority:\n schedulerPriority = IdlePriority;\n break;\n\n default:\n schedulerPriority = NormalPriority;\n break;\n }\n\n injectedHook.onCommitFiberRoot(rendererID, root, schedulerPriority, didError);\n } else {\n injectedHook.onCommitFiberRoot(rendererID, root, undefined, didError);\n }\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onPostCommitRoot(root) {\n if (injectedHook && typeof injectedHook.onPostCommitFiberRoot === 'function') {\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onCommitUnmount(fiber) {\n if (injectedHook && typeof injectedHook.onCommitFiberUnmount === 'function') {\n try {\n injectedHook.onCommitFiberUnmount(rendererID, fiber);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n {\n if (typeof unstable_yieldValue === 'function') {\n // We're in a test because Scheduler.unstable_yieldValue only exists\n // in SchedulerMock. To reduce the noise in strict mode tests,\n // suppress warnings and disable scheduler yielding during the double render\n unstable_setDisableYieldValue(newIsStrictMode);\n setSuppressWarning(newIsStrictMode);\n }\n\n if (injectedHook && typeof injectedHook.setStrictMode === 'function') {\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n }\n} // Profiler API hooks\n\nfunction injectProfilingHooks(profilingHooks) {\n injectedProfilingHooks = profilingHooks;\n}\n\nfunction getLaneLabelMap() {\n {\n var map = new Map();\n var lane = 1;\n\n for (var index = 0; index < TotalLanes; index++) {\n var label = getLabelForLane(lane);\n map.set(lane, label);\n lane *= 2;\n }\n\n return map;\n }\n}\n\nfunction markCommitStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStarted === 'function') {\n injectedProfilingHooks.markCommitStarted(lanes);\n }\n }\n}\nfunction markCommitStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStopped === 'function') {\n injectedProfilingHooks.markCommitStopped();\n }\n }\n}\nfunction markComponentRenderStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStarted === 'function') {\n injectedProfilingHooks.markComponentRenderStarted(fiber);\n }\n }\n}\nfunction markComponentRenderStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStopped === 'function') {\n injectedProfilingHooks.markComponentRenderStopped();\n }\n }\n}\nfunction markComponentPassiveEffectMountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectMountStarted(fiber);\n }\n }\n}\nfunction markComponentPassiveEffectMountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectMountStopped();\n }\n }\n}\nfunction markComponentPassiveEffectUnmountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectUnmountStarted(fiber);\n }\n }\n}\nfunction markComponentPassiveEffectUnmountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectUnmountStopped();\n }\n }\n}\nfunction markComponentLayoutEffectMountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectMountStarted(fiber);\n }\n }\n}\nfunction markComponentLayoutEffectMountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectMountStopped();\n }\n }\n}\nfunction markComponentLayoutEffectUnmountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectUnmountStarted(fiber);\n }\n }\n}\nfunction markComponentLayoutEffectUnmountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectUnmountStopped();\n }\n }\n}\nfunction markComponentErrored(fiber, thrownValue, lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentErrored === 'function') {\n injectedProfilingHooks.markComponentErrored(fiber, thrownValue, lanes);\n }\n }\n}\nfunction markComponentSuspended(fiber, wakeable, lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentSuspended === 'function') {\n injectedProfilingHooks.markComponentSuspended(fiber, wakeable, lanes);\n }\n }\n}\nfunction markLayoutEffectsStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStarted === 'function') {\n injectedProfilingHooks.markLayoutEffectsStarted(lanes);\n }\n }\n}\nfunction markLayoutEffectsStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStopped === 'function') {\n injectedProfilingHooks.markLayoutEffectsStopped();\n }\n }\n}\nfunction markPassiveEffectsStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStarted === 'function') {\n injectedProfilingHooks.markPassiveEffectsStarted(lanes);\n }\n }\n}\nfunction markPassiveEffectsStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStopped === 'function') {\n injectedProfilingHooks.markPassiveEffectsStopped();\n }\n }\n}\nfunction markRenderStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStarted === 'function') {\n injectedProfilingHooks.markRenderStarted(lanes);\n }\n }\n}\nfunction markRenderYielded() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderYielded === 'function') {\n injectedProfilingHooks.markRenderYielded();\n }\n }\n}\nfunction markRenderStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStopped === 'function') {\n injectedProfilingHooks.markRenderStopped();\n }\n }\n}\nfunction markRenderScheduled(lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderScheduled === 'function') {\n injectedProfilingHooks.markRenderScheduled(lane);\n }\n }\n}\nfunction markForceUpdateScheduled(fiber, lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markForceUpdateScheduled === 'function') {\n injectedProfilingHooks.markForceUpdateScheduled(fiber, lane);\n }\n }\n}\nfunction markStateUpdateScheduled(fiber, lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markStateUpdateScheduled === 'function') {\n injectedProfilingHooks.markStateUpdateScheduled(fiber, lane);\n }\n }\n}\n\nvar NoMode =\n/* */\n0; // TODO: Remove ConcurrentMode by reading from the root tag instead\n\nvar ConcurrentMode =\n/* */\n1;\nvar ProfileMode =\n/* */\n2;\nvar StrictLegacyMode =\n/* */\n8;\nvar StrictEffectsMode =\n/* */\n16;\n\n// TODO: This is pretty well supported by browsers. Maybe we can drop it.\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback; // Count leading zeros.\n// Based on:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nfunction clz32Fallback(x) {\n var asUint = x >>> 0;\n\n if (asUint === 0) {\n return 32;\n }\n\n return 31 - (log(asUint) / LN2 | 0) | 0;\n}\n\n// If those values are changed that package should be rebuilt and redeployed.\n\nvar TotalLanes = 31;\nvar NoLanes =\n/* */\n0;\nvar NoLane =\n/* */\n0;\nvar SyncLane =\n/* */\n1;\nvar InputContinuousHydrationLane =\n/* */\n2;\nvar InputContinuousLane =\n/* */\n4;\nvar DefaultHydrationLane =\n/* */\n8;\nvar DefaultLane =\n/* */\n16;\nvar TransitionHydrationLane =\n/* */\n32;\nvar TransitionLanes =\n/* */\n4194240;\nvar TransitionLane1 =\n/* */\n64;\nvar TransitionLane2 =\n/* */\n128;\nvar TransitionLane3 =\n/* */\n256;\nvar TransitionLane4 =\n/* */\n512;\nvar TransitionLane5 =\n/* */\n1024;\nvar TransitionLane6 =\n/* */\n2048;\nvar TransitionLane7 =\n/* */\n4096;\nvar TransitionLane8 =\n/* */\n8192;\nvar TransitionLane9 =\n/* */\n16384;\nvar TransitionLane10 =\n/* */\n32768;\nvar TransitionLane11 =\n/* */\n65536;\nvar TransitionLane12 =\n/* */\n131072;\nvar TransitionLane13 =\n/* */\n262144;\nvar TransitionLane14 =\n/* */\n524288;\nvar TransitionLane15 =\n/* */\n1048576;\nvar TransitionLane16 =\n/* */\n2097152;\nvar RetryLanes =\n/* */\n130023424;\nvar RetryLane1 =\n/* */\n4194304;\nvar RetryLane2 =\n/* */\n8388608;\nvar RetryLane3 =\n/* */\n16777216;\nvar RetryLane4 =\n/* */\n33554432;\nvar RetryLane5 =\n/* */\n67108864;\nvar SomeRetryLane = RetryLane1;\nvar SelectiveHydrationLane =\n/* */\n134217728;\nvar NonIdleLanes =\n/* */\n268435455;\nvar IdleHydrationLane =\n/* */\n268435456;\nvar IdleLane =\n/* */\n536870912;\nvar OffscreenLane =\n/* */\n1073741824; // This function is used for the experimental timeline (react-devtools-timeline)\n// It should be kept in sync with the Lanes values above.\n\nfunction getLabelForLane(lane) {\n {\n if (lane & SyncLane) {\n return 'Sync';\n }\n\n if (lane & InputContinuousHydrationLane) {\n return 'InputContinuousHydration';\n }\n\n if (lane & InputContinuousLane) {\n return 'InputContinuous';\n }\n\n if (lane & DefaultHydrationLane) {\n return 'DefaultHydration';\n }\n\n if (lane & DefaultLane) {\n return 'Default';\n }\n\n if (lane & TransitionHydrationLane) {\n return 'TransitionHydration';\n }\n\n if (lane & TransitionLanes) {\n return 'Transition';\n }\n\n if (lane & RetryLanes) {\n return 'Retry';\n }\n\n if (lane & SelectiveHydrationLane) {\n return 'SelectiveHydration';\n }\n\n if (lane & IdleHydrationLane) {\n return 'IdleHydration';\n }\n\n if (lane & IdleLane) {\n return 'Idle';\n }\n\n if (lane & OffscreenLane) {\n return 'Offscreen';\n }\n }\n}\nvar NoTimestamp = -1;\nvar nextTransitionLane = TransitionLane1;\nvar nextRetryLane = RetryLane1;\n\nfunction getHighestPriorityLanes(lanes) {\n switch (getHighestPriorityLane(lanes)) {\n case SyncLane:\n return SyncLane;\n\n case InputContinuousHydrationLane:\n return InputContinuousHydrationLane;\n\n case InputContinuousLane:\n return InputContinuousLane;\n\n case DefaultHydrationLane:\n return DefaultHydrationLane;\n\n case DefaultLane:\n return DefaultLane;\n\n case TransitionHydrationLane:\n return TransitionHydrationLane;\n\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n return lanes & TransitionLanes;\n\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n return lanes & RetryLanes;\n\n case SelectiveHydrationLane:\n return SelectiveHydrationLane;\n\n case IdleHydrationLane:\n return IdleHydrationLane;\n\n case IdleLane:\n return IdleLane;\n\n case OffscreenLane:\n return OffscreenLane;\n\n default:\n {\n error('Should have found matching lanes. This is a bug in React.');\n } // This shouldn't be reachable, but as a fallback, return the entire bitmask.\n\n\n return lanes;\n }\n}\n\nfunction getNextLanes(root, wipLanes) {\n // Early bailout if there's no pending work left.\n var pendingLanes = root.pendingLanes;\n\n if (pendingLanes === NoLanes) {\n return NoLanes;\n }\n\n var nextLanes = NoLanes;\n var suspendedLanes = root.suspendedLanes;\n var pingedLanes = root.pingedLanes; // Do not work on any idle work until all the non-idle work has finished,\n // even if the work is suspended.\n\n var nonIdlePendingLanes = pendingLanes & NonIdleLanes;\n\n if (nonIdlePendingLanes !== NoLanes) {\n var nonIdleUnblockedLanes = nonIdlePendingLanes & ~suspendedLanes;\n\n if (nonIdleUnblockedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(nonIdleUnblockedLanes);\n } else {\n var nonIdlePingedLanes = nonIdlePendingLanes & pingedLanes;\n\n if (nonIdlePingedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(nonIdlePingedLanes);\n }\n }\n } else {\n // The only remaining work is Idle.\n var unblockedLanes = pendingLanes & ~suspendedLanes;\n\n if (unblockedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(unblockedLanes);\n } else {\n if (pingedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(pingedLanes);\n }\n }\n }\n\n if (nextLanes === NoLanes) {\n // This should only be reachable if we're suspended\n // TODO: Consider warning in this path if a fallback timer is not scheduled.\n return NoLanes;\n } // If we're already in the middle of a render, switching lanes will interrupt\n // it and we'll lose our progress. We should only do this if the new lanes are\n // higher priority.\n\n\n if (wipLanes !== NoLanes && wipLanes !== nextLanes && // If we already suspended with a delay, then interrupting is fine. Don't\n // bother waiting until the root is complete.\n (wipLanes & suspendedLanes) === NoLanes) {\n var nextLane = getHighestPriorityLane(nextLanes);\n var wipLane = getHighestPriorityLane(wipLanes);\n\n if ( // Tests whether the next lane is equal or lower priority than the wip\n // one. This works because the bits decrease in priority as you go left.\n nextLane >= wipLane || // Default priority updates should not interrupt transition updates. The\n // only difference between default updates and transition updates is that\n // default updates do not support refresh transitions.\n nextLane === DefaultLane && (wipLane & TransitionLanes) !== NoLanes) {\n // Keep working on the existing in-progress tree. Do not interrupt.\n return wipLanes;\n }\n }\n\n if ((nextLanes & InputContinuousLane) !== NoLanes) {\n // When updates are sync by default, we entangle continuous priority updates\n // and default updates, so they render in the same batch. The only reason\n // they use separate lanes is because continuous updates should interrupt\n // transitions, but default updates should not.\n nextLanes |= pendingLanes & DefaultLane;\n } // Check for entangled lanes and add them to the batch.\n //\n // A lane is said to be entangled with another when it's not allowed to render\n // in a batch that does not also include the other lane. Typically we do this\n // when multiple updates have the same source, and we only want to respond to\n // the most recent event from that source.\n //\n // Note that we apply entanglements *after* checking for partial work above.\n // This means that if a lane is entangled during an interleaved event while\n // it's already rendering, we won't interrupt it. This is intentional, since\n // entanglement is usually \"best effort\": we'll try our best to render the\n // lanes in the same batch, but it's not worth throwing out partially\n // completed work in order to do it.\n // TODO: Reconsider this. The counter-argument is that the partial work\n // represents an intermediate state, which we don't want to show to the user.\n // And by spending extra time finishing it, we're increasing the amount of\n // time it takes to show the final state, which is what they are actually\n // waiting for.\n //\n // For those exceptions where entanglement is semantically important, like\n // useMutableSource, we should ensure that there is no partial work at the\n // time we apply the entanglement.\n\n\n var entangledLanes = root.entangledLanes;\n\n if (entangledLanes !== NoLanes) {\n var entanglements = root.entanglements;\n var lanes = nextLanes & entangledLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n nextLanes |= entanglements[index];\n lanes &= ~lane;\n }\n }\n\n return nextLanes;\n}\nfunction getMostRecentEventTime(root, lanes) {\n var eventTimes = root.eventTimes;\n var mostRecentEventTime = NoTimestamp;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n var eventTime = eventTimes[index];\n\n if (eventTime > mostRecentEventTime) {\n mostRecentEventTime = eventTime;\n }\n\n lanes &= ~lane;\n }\n\n return mostRecentEventTime;\n}\n\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case SyncLane:\n case InputContinuousHydrationLane:\n case InputContinuousLane:\n // User interactions should expire slightly more quickly.\n //\n // NOTE: This is set to the corresponding constant as in Scheduler.js.\n // When we made it larger, a product metric in www regressed, suggesting\n // there's a user interaction that's being starved by a series of\n // synchronous updates. If that theory is correct, the proper solution is\n // to fix the starvation. However, this scenario supports the idea that\n // expiration times are an important safeguard when starvation\n // does happen.\n return currentTime + 250;\n\n case DefaultHydrationLane:\n case DefaultLane:\n case TransitionHydrationLane:\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n return currentTime + 5000;\n\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n // TODO: Retries should be allowed to expire if they are CPU bound for\n // too long, but when I made this change it caused a spike in browser\n // crashes. There must be some other underlying bug; not super urgent but\n // ideally should figure out why and fix it. Unfortunately we don't have\n // a repro for the crashes, only detected via production metrics.\n return NoTimestamp;\n\n case SelectiveHydrationLane:\n case IdleHydrationLane:\n case IdleLane:\n case OffscreenLane:\n // Anything idle priority or lower should never expire.\n return NoTimestamp;\n\n default:\n {\n error('Should have found matching lanes. This is a bug in React.');\n }\n\n return NoTimestamp;\n }\n}\n\nfunction markStarvedLanesAsExpired(root, currentTime) {\n // TODO: This gets called every time we yield. We can optimize by storing\n // the earliest expiration time on the root. Then use that to quickly bail out\n // of this function.\n var pendingLanes = root.pendingLanes;\n var suspendedLanes = root.suspendedLanes;\n var pingedLanes = root.pingedLanes;\n var expirationTimes = root.expirationTimes; // Iterate through the pending lanes and check if we've reached their\n // expiration time. If so, we'll assume the update is being starved and mark\n // it as expired to force it to finish.\n\n var lanes = pendingLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n var expirationTime = expirationTimes[index];\n\n if (expirationTime === NoTimestamp) {\n // Found a pending lane with no expiration time. If it's not suspended, or\n // if it's pinged, assume it's CPU-bound. Compute a new expiration time\n // using the current time.\n if ((lane & suspendedLanes) === NoLanes || (lane & pingedLanes) !== NoLanes) {\n // Assumes timestamps are monotonically increasing.\n expirationTimes[index] = computeExpirationTime(lane, currentTime);\n }\n } else if (expirationTime <= currentTime) {\n // This lane expired\n root.expiredLanes |= lane;\n }\n\n lanes &= ~lane;\n }\n} // This returns the highest priority pending lanes regardless of whether they\n// are suspended.\n\nfunction getHighestPriorityPendingLanes(root) {\n return getHighestPriorityLanes(root.pendingLanes);\n}\nfunction getLanesToRetrySynchronouslyOnError(root) {\n var everythingButOffscreen = root.pendingLanes & ~OffscreenLane;\n\n if (everythingButOffscreen !== NoLanes) {\n return everythingButOffscreen;\n }\n\n if (everythingButOffscreen & OffscreenLane) {\n return OffscreenLane;\n }\n\n return NoLanes;\n}\nfunction includesSyncLane(lanes) {\n return (lanes & SyncLane) !== NoLanes;\n}\nfunction includesNonIdleWork(lanes) {\n return (lanes & NonIdleLanes) !== NoLanes;\n}\nfunction includesOnlyRetries(lanes) {\n return (lanes & RetryLanes) === lanes;\n}\nfunction includesOnlyNonUrgentLanes(lanes) {\n var UrgentLanes = SyncLane | InputContinuousLane | DefaultLane;\n return (lanes & UrgentLanes) === NoLanes;\n}\nfunction includesOnlyTransitions(lanes) {\n return (lanes & TransitionLanes) === lanes;\n}\nfunction includesBlockingLane(root, lanes) {\n\n var SyncDefaultLanes = InputContinuousHydrationLane | InputContinuousLane | DefaultHydrationLane | DefaultLane;\n return (lanes & SyncDefaultLanes) !== NoLanes;\n}\nfunction includesExpiredLane(root, lanes) {\n // This is a separate check from includesBlockingLane because a lane can\n // expire after a render has already started.\n return (lanes & root.expiredLanes) !== NoLanes;\n}\nfunction isTransitionLane(lane) {\n return (lane & TransitionLanes) !== NoLanes;\n}\nfunction claimNextTransitionLane() {\n // Cycle through the lanes, assigning each new transition to the next lane.\n // In most cases, this means every transition gets its own lane, until we\n // run out of lanes and cycle back to the beginning.\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n\n if ((nextTransitionLane & TransitionLanes) === NoLanes) {\n nextTransitionLane = TransitionLane1;\n }\n\n return lane;\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n\n if ((nextRetryLane & RetryLanes) === NoLanes) {\n nextRetryLane = RetryLane1;\n }\n\n return lane;\n}\nfunction getHighestPriorityLane(lanes) {\n return lanes & -lanes;\n}\nfunction pickArbitraryLane(lanes) {\n // This wrapper function gets inlined. Only exists so to communicate that it\n // doesn't matter which bit is selected; you can pick any bit without\n // affecting the algorithms where its used. Here I'm using\n // getHighestPriorityLane because it requires the fewest operations.\n return getHighestPriorityLane(lanes);\n}\n\nfunction pickArbitraryLaneIndex(lanes) {\n return 31 - clz32(lanes);\n}\n\nfunction laneToIndex(lane) {\n return pickArbitraryLaneIndex(lane);\n}\n\nfunction includesSomeLane(a, b) {\n return (a & b) !== NoLanes;\n}\nfunction isSubsetOfLanes(set, subset) {\n return (set & subset) === subset;\n}\nfunction mergeLanes(a, b) {\n return a | b;\n}\nfunction removeLanes(set, subset) {\n return set & ~subset;\n}\nfunction intersectLanes(a, b) {\n return a & b;\n} // Seems redundant, but it changes the type from a single lane (used for\n// updates) to a group of lanes (used for flushing work).\n\nfunction laneToLanes(lane) {\n return lane;\n}\nfunction higherPriorityLane(a, b) {\n // This works because the bit ranges decrease in priority as you go left.\n return a !== NoLane && a < b ? a : b;\n}\nfunction createLaneMap(initial) {\n // Intentionally pushing one by one.\n // https://v8.dev/blog/elements-kinds#avoid-creating-holes\n var laneMap = [];\n\n for (var i = 0; i < TotalLanes; i++) {\n laneMap.push(initial);\n }\n\n return laneMap;\n}\nfunction markRootUpdated(root, updateLane, eventTime) {\n root.pendingLanes |= updateLane; // If there are any suspended transitions, it's possible this new update\n // could unblock them. Clear the suspended lanes so that we can try rendering\n // them again.\n //\n // TODO: We really only need to unsuspend only lanes that are in the\n // `subtreeLanes` of the updated fiber, or the update lanes of the return\n // path. This would exclude suspended updates in an unrelated sibling tree,\n // since there's no way for this update to unblock it.\n //\n // We don't do this if the incoming update is idle, because we never process\n // idle updates until after all the regular updates have finished; there's no\n // way it could unblock a transition.\n\n if (updateLane !== IdleLane) {\n root.suspendedLanes = NoLanes;\n root.pingedLanes = NoLanes;\n }\n\n var eventTimes = root.eventTimes;\n var index = laneToIndex(updateLane); // We can always overwrite an existing timestamp because we prefer the most\n // recent event, and we assume time is monotonically increasing.\n\n eventTimes[index] = eventTime;\n}\nfunction markRootSuspended(root, suspendedLanes) {\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes; // The suspended lanes are no longer CPU-bound. Clear their expiration times.\n\n var expirationTimes = root.expirationTimes;\n var lanes = suspendedLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n expirationTimes[index] = NoTimestamp;\n lanes &= ~lane;\n }\n}\nfunction markRootPinged(root, pingedLanes, eventTime) {\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n}\nfunction markRootFinished(root, remainingLanes) {\n var noLongerPendingLanes = root.pendingLanes & ~remainingLanes;\n root.pendingLanes = remainingLanes; // Let's try everything again\n\n root.suspendedLanes = NoLanes;\n root.pingedLanes = NoLanes;\n root.expiredLanes &= remainingLanes;\n root.mutableReadLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n var entanglements = root.entanglements;\n var eventTimes = root.eventTimes;\n var expirationTimes = root.expirationTimes; // Clear the lanes that no longer have pending work\n\n var lanes = noLongerPendingLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n entanglements[index] = NoLanes;\n eventTimes[index] = NoTimestamp;\n expirationTimes[index] = NoTimestamp;\n lanes &= ~lane;\n }\n}\nfunction markRootEntangled(root, entangledLanes) {\n // In addition to entangling each of the given lanes with each other, we also\n // have to consider _transitive_ entanglements. For each lane that is already\n // entangled with *any* of the given lanes, that lane is now transitively\n // entangled with *all* the given lanes.\n //\n // Translated: If C is entangled with A, then entangling A with B also\n // entangles C with B.\n //\n // If this is hard to grasp, it might help to intentionally break this\n // function and look at the tests that fail in ReactTransition-test.js. Try\n // commenting out one of the conditions below.\n var rootEntangledLanes = root.entangledLanes |= entangledLanes;\n var entanglements = root.entanglements;\n var lanes = rootEntangledLanes;\n\n while (lanes) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n\n if ( // Is this one of the newly entangled lanes?\n lane & entangledLanes | // Is this lane transitively entangled with the newly entangled lanes?\n entanglements[index] & entangledLanes) {\n entanglements[index] |= entangledLanes;\n }\n\n lanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydration(root, renderLanes) {\n var renderLane = getHighestPriorityLane(renderLanes);\n var lane;\n\n switch (renderLane) {\n case InputContinuousLane:\n lane = InputContinuousHydrationLane;\n break;\n\n case DefaultLane:\n lane = DefaultHydrationLane;\n break;\n\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n lane = TransitionHydrationLane;\n break;\n\n case IdleLane:\n lane = IdleHydrationLane;\n break;\n\n default:\n // Everything else is already either a hydration lane, or shouldn't\n // be retried at a hydration lane.\n lane = NoLane;\n break;\n } // Check if the lane we chose is suspended. If so, that indicates that we\n // already attempted and failed to hydrate at that level. Also check if we're\n // already rendering that lane, which is rare but could happen.\n\n\n if ((lane & (root.suspendedLanes | renderLanes)) !== NoLane) {\n // Give up trying to hydrate and fall back to client render.\n return NoLane;\n }\n\n return lane;\n}\nfunction addFiberToLanesMap(root, fiber, lanes) {\n\n if (!isDevToolsPresent) {\n return;\n }\n\n var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap;\n\n while (lanes > 0) {\n var index = laneToIndex(lanes);\n var lane = 1 << index;\n var updaters = pendingUpdatersLaneMap[index];\n updaters.add(fiber);\n lanes &= ~lane;\n }\n}\nfunction movePendingFibersToMemoized(root, lanes) {\n\n if (!isDevToolsPresent) {\n return;\n }\n\n var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap;\n var memoizedUpdaters = root.memoizedUpdaters;\n\n while (lanes > 0) {\n var index = laneToIndex(lanes);\n var lane = 1 << index;\n var updaters = pendingUpdatersLaneMap[index];\n\n if (updaters.size > 0) {\n updaters.forEach(function (fiber) {\n var alternate = fiber.alternate;\n\n if (alternate === null || !memoizedUpdaters.has(alternate)) {\n memoizedUpdaters.add(fiber);\n }\n });\n updaters.clear();\n }\n\n lanes &= ~lane;\n }\n}\nfunction getTransitionsForLanes(root, lanes) {\n {\n return null;\n }\n}\n\nvar DiscreteEventPriority = SyncLane;\nvar ContinuousEventPriority = InputContinuousLane;\nvar DefaultEventPriority = DefaultLane;\nvar IdleEventPriority = IdleLane;\nvar currentUpdatePriority = NoLane;\nfunction getCurrentUpdatePriority() {\n return currentUpdatePriority;\n}\nfunction setCurrentUpdatePriority(newPriority) {\n currentUpdatePriority = newPriority;\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = currentUpdatePriority;\n\n try {\n currentUpdatePriority = priority;\n return fn();\n } finally {\n currentUpdatePriority = previousPriority;\n }\n}\nfunction higherEventPriority(a, b) {\n return a !== 0 && a < b ? a : b;\n}\nfunction lowerEventPriority(a, b) {\n return a === 0 || a > b ? a : b;\n}\nfunction isHigherEventPriority(a, b) {\n return a !== 0 && a < b;\n}\nfunction lanesToEventPriority(lanes) {\n var lane = getHighestPriorityLane(lanes);\n\n if (!isHigherEventPriority(DiscreteEventPriority, lane)) {\n return DiscreteEventPriority;\n }\n\n if (!isHigherEventPriority(ContinuousEventPriority, lane)) {\n return ContinuousEventPriority;\n }\n\n if (includesNonIdleWork(lane)) {\n return DefaultEventPriority;\n }\n\n return IdleEventPriority;\n}\n\n// This is imported by the event replaying implementation in React DOM. It's\n// in a separate file to break a circular dependency between the renderer and\n// the reconciler.\nfunction isRootDehydrated(root) {\n var currentState = root.current.memoizedState;\n return currentState.isDehydrated;\n}\n\nvar _attemptSynchronousHydration;\n\nfunction setAttemptSynchronousHydration(fn) {\n _attemptSynchronousHydration = fn;\n}\nfunction attemptSynchronousHydration(fiber) {\n _attemptSynchronousHydration(fiber);\n}\nvar attemptContinuousHydration;\nfunction setAttemptContinuousHydration(fn) {\n attemptContinuousHydration = fn;\n}\nvar attemptHydrationAtCurrentPriority;\nfunction setAttemptHydrationAtCurrentPriority(fn) {\n attemptHydrationAtCurrentPriority = fn;\n}\nvar getCurrentUpdatePriority$1;\nfunction setGetCurrentUpdatePriority(fn) {\n getCurrentUpdatePriority$1 = fn;\n}\nvar attemptHydrationAtPriority;\nfunction setAttemptHydrationAtPriority(fn) {\n attemptHydrationAtPriority = fn;\n} // TODO: Upgrade this definition once we're on a newer version of Flow that\n// has this definition built-in.\n\nvar hasScheduledReplayAttempt = false; // The queue of discrete events to be replayed.\n\nvar queuedDiscreteEvents = []; // Indicates if any continuous event targets are non-null for early bailout.\n// if the last target was dehydrated.\n\nvar queuedFocus = null;\nvar queuedDrag = null;\nvar queuedMouse = null; // For pointer events there can be one latest event per pointerId.\n\nvar queuedPointers = new Map();\nvar queuedPointerCaptures = new Map(); // We could consider replaying selectionchange and touchmoves too.\n\nvar queuedExplicitHydrationTargets = [];\nvar discreteReplayableEvents = ['mousedown', 'mouseup', 'touchcancel', 'touchend', 'touchstart', 'auxclick', 'dblclick', 'pointercancel', 'pointerdown', 'pointerup', 'dragend', 'dragstart', 'drop', 'compositionend', 'compositionstart', 'keydown', 'keypress', 'keyup', 'input', 'textInput', // Intentionally camelCase\n'copy', 'cut', 'paste', 'click', 'change', 'contextmenu', 'reset', 'submit'];\nfunction isDiscreteEventThatRequiresHydration(eventType) {\n return discreteReplayableEvents.indexOf(eventType) > -1;\n}\n\nfunction createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n return {\n blockedOn: blockedOn,\n domEventName: domEventName,\n eventSystemFlags: eventSystemFlags,\n nativeEvent: nativeEvent,\n targetContainers: [targetContainer]\n };\n}\n\nfunction clearIfContinuousEvent(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'focusin':\n case 'focusout':\n queuedFocus = null;\n break;\n\n case 'dragenter':\n case 'dragleave':\n queuedDrag = null;\n break;\n\n case 'mouseover':\n case 'mouseout':\n queuedMouse = null;\n break;\n\n case 'pointerover':\n case 'pointerout':\n {\n var pointerId = nativeEvent.pointerId;\n queuedPointers.delete(pointerId);\n break;\n }\n\n case 'gotpointercapture':\n case 'lostpointercapture':\n {\n var _pointerId = nativeEvent.pointerId;\n queuedPointerCaptures.delete(_pointerId);\n break;\n }\n }\n}\n\nfunction accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n if (existingQueuedEvent === null || existingQueuedEvent.nativeEvent !== nativeEvent) {\n var queuedEvent = createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (blockedOn !== null) {\n var _fiber2 = getInstanceFromNode(blockedOn);\n\n if (_fiber2 !== null) {\n // Attempt to increase the priority of this target.\n attemptContinuousHydration(_fiber2);\n }\n }\n\n return queuedEvent;\n } // If we have already queued this exact event, then it's because\n // the different event systems have different DOM event listeners.\n // We can accumulate the flags, and the targetContainers, and\n // store a single event to be replayed.\n\n\n existingQueuedEvent.eventSystemFlags |= eventSystemFlags;\n var targetContainers = existingQueuedEvent.targetContainers;\n\n if (targetContainer !== null && targetContainers.indexOf(targetContainer) === -1) {\n targetContainers.push(targetContainer);\n }\n\n return existingQueuedEvent;\n}\n\nfunction queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n // These set relatedTarget to null because the replayed event will be treated as if we\n // moved from outside the window (no target) onto the target once it hydrates.\n // Instead of mutating we could clone the event.\n switch (domEventName) {\n case 'focusin':\n {\n var focusEvent = nativeEvent;\n queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(queuedFocus, blockedOn, domEventName, eventSystemFlags, targetContainer, focusEvent);\n return true;\n }\n\n case 'dragenter':\n {\n var dragEvent = nativeEvent;\n queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(queuedDrag, blockedOn, domEventName, eventSystemFlags, targetContainer, dragEvent);\n return true;\n }\n\n case 'mouseover':\n {\n var mouseEvent = nativeEvent;\n queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(queuedMouse, blockedOn, domEventName, eventSystemFlags, targetContainer, mouseEvent);\n return true;\n }\n\n case 'pointerover':\n {\n var pointerEvent = nativeEvent;\n var pointerId = pointerEvent.pointerId;\n queuedPointers.set(pointerId, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointers.get(pointerId) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, pointerEvent));\n return true;\n }\n\n case 'gotpointercapture':\n {\n var _pointerEvent = nativeEvent;\n var _pointerId2 = _pointerEvent.pointerId;\n queuedPointerCaptures.set(_pointerId2, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointerCaptures.get(_pointerId2) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, _pointerEvent));\n return true;\n }\n }\n\n return false;\n} // Check if this target is unblocked. Returns true if it's unblocked.\n\nfunction attemptExplicitHydrationTarget(queuedTarget) {\n // TODO: This function shares a lot of logic with findInstanceBlockingEvent.\n // Try to unify them. It's a bit tricky since it would require two return\n // values.\n var targetInst = getClosestInstanceFromNode(queuedTarget.target);\n\n if (targetInst !== null) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n\n if (nearestMounted !== null) {\n var tag = nearestMounted.tag;\n\n if (tag === SuspenseComponent) {\n var instance = getSuspenseInstanceFromFiber(nearestMounted);\n\n if (instance !== null) {\n // We're blocked on hydrating this boundary.\n // Increase its priority.\n queuedTarget.blockedOn = instance;\n attemptHydrationAtPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (tag === HostRoot) {\n var root = nearestMounted.stateNode;\n\n if (isRootDehydrated(root)) {\n queuedTarget.blockedOn = getContainerFromFiber(nearestMounted); // We don't currently have a way to increase the priority of\n // a root other than sync.\n\n return;\n }\n }\n }\n }\n\n queuedTarget.blockedOn = null;\n}\n\nfunction queueExplicitHydrationTarget(target) {\n // TODO: This will read the priority if it's dispatched by the React\n // event system but not native events. Should read window.event.type, like\n // we do for updates (getCurrentEventPriority).\n var updatePriority = getCurrentUpdatePriority$1();\n var queuedTarget = {\n blockedOn: null,\n target: target,\n priority: updatePriority\n };\n var i = 0;\n\n for (; i < queuedExplicitHydrationTargets.length; i++) {\n // Stop once we hit the first target with lower priority than\n if (!isHigherEventPriority(updatePriority, queuedExplicitHydrationTargets[i].priority)) {\n break;\n }\n }\n\n queuedExplicitHydrationTargets.splice(i, 0, queuedTarget);\n\n if (i === 0) {\n attemptExplicitHydrationTarget(queuedTarget);\n }\n}\n\nfunction attemptReplayContinuousQueuedEvent(queuedEvent) {\n if (queuedEvent.blockedOn !== null) {\n return false;\n }\n\n var targetContainers = queuedEvent.targetContainers;\n\n while (targetContainers.length > 0) {\n var targetContainer = targetContainers[0];\n var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.domEventName, queuedEvent.eventSystemFlags, targetContainer, queuedEvent.nativeEvent);\n\n if (nextBlockedOn === null) {\n {\n var nativeEvent = queuedEvent.nativeEvent;\n var nativeEventClone = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n setReplayingEvent(nativeEventClone);\n nativeEvent.target.dispatchEvent(nativeEventClone);\n resetReplayingEvent();\n }\n } else {\n // We're still blocked. Try again later.\n var _fiber3 = getInstanceFromNode(nextBlockedOn);\n\n if (_fiber3 !== null) {\n attemptContinuousHydration(_fiber3);\n }\n\n queuedEvent.blockedOn = nextBlockedOn;\n return false;\n } // This target container was successfully dispatched. Try the next.\n\n\n targetContainers.shift();\n }\n\n return true;\n}\n\nfunction attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {\n if (attemptReplayContinuousQueuedEvent(queuedEvent)) {\n map.delete(key);\n }\n}\n\nfunction replayUnblockedEvents() {\n hasScheduledReplayAttempt = false;\n\n\n if (queuedFocus !== null && attemptReplayContinuousQueuedEvent(queuedFocus)) {\n queuedFocus = null;\n }\n\n if (queuedDrag !== null && attemptReplayContinuousQueuedEvent(queuedDrag)) {\n queuedDrag = null;\n }\n\n if (queuedMouse !== null && attemptReplayContinuousQueuedEvent(queuedMouse)) {\n queuedMouse = null;\n }\n\n queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);\n queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);\n}\n\nfunction scheduleCallbackIfUnblocked(queuedEvent, unblocked) {\n if (queuedEvent.blockedOn === unblocked) {\n queuedEvent.blockedOn = null;\n\n if (!hasScheduledReplayAttempt) {\n hasScheduledReplayAttempt = true; // Schedule a callback to attempt replaying as many events as are\n // now unblocked. This first might not actually be unblocked yet.\n // We could check it early to avoid scheduling an unnecessary callback.\n\n Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority, replayUnblockedEvents);\n }\n }\n}\n\nfunction retryIfBlockedOn(unblocked) {\n // Mark anything that was blocked on this as no longer blocked\n // and eligible for a replay.\n if (queuedDiscreteEvents.length > 0) {\n scheduleCallbackIfUnblocked(queuedDiscreteEvents[0], unblocked); // This is a exponential search for each boundary that commits. I think it's\n // worth it because we expect very few discrete events to queue up and once\n // we are actually fully unblocked it will be fast to replay them.\n\n for (var i = 1; i < queuedDiscreteEvents.length; i++) {\n var queuedEvent = queuedDiscreteEvents[i];\n\n if (queuedEvent.blockedOn === unblocked) {\n queuedEvent.blockedOn = null;\n }\n }\n }\n\n if (queuedFocus !== null) {\n scheduleCallbackIfUnblocked(queuedFocus, unblocked);\n }\n\n if (queuedDrag !== null) {\n scheduleCallbackIfUnblocked(queuedDrag, unblocked);\n }\n\n if (queuedMouse !== null) {\n scheduleCallbackIfUnblocked(queuedMouse, unblocked);\n }\n\n var unblock = function (queuedEvent) {\n return scheduleCallbackIfUnblocked(queuedEvent, unblocked);\n };\n\n queuedPointers.forEach(unblock);\n queuedPointerCaptures.forEach(unblock);\n\n for (var _i = 0; _i < queuedExplicitHydrationTargets.length; _i++) {\n var queuedTarget = queuedExplicitHydrationTargets[_i];\n\n if (queuedTarget.blockedOn === unblocked) {\n queuedTarget.blockedOn = null;\n }\n }\n\n while (queuedExplicitHydrationTargets.length > 0) {\n var nextExplicitTarget = queuedExplicitHydrationTargets[0];\n\n if (nextExplicitTarget.blockedOn !== null) {\n // We're still blocked.\n break;\n } else {\n attemptExplicitHydrationTarget(nextExplicitTarget);\n\n if (nextExplicitTarget.blockedOn === null) {\n // We're unblocked.\n queuedExplicitHydrationTargets.shift();\n }\n }\n }\n}\n\nvar ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig; // TODO: can we stop exporting these?\n\nvar _enabled = true; // This is exported in FB builds for use by legacy FB layer infra.\n// We'd like to remove this but it's not clear if this is safe.\n\nfunction setEnabled(enabled) {\n _enabled = !!enabled;\n}\nfunction isEnabled() {\n return _enabled;\n}\nfunction createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags) {\n var eventPriority = getEventPriority(domEventName);\n var listenerWrapper;\n\n switch (eventPriority) {\n case DiscreteEventPriority:\n listenerWrapper = dispatchDiscreteEvent;\n break;\n\n case ContinuousEventPriority:\n listenerWrapper = dispatchContinuousEvent;\n break;\n\n case DefaultEventPriority:\n default:\n listenerWrapper = dispatchEvent;\n break;\n }\n\n return listenerWrapper.bind(null, domEventName, eventSystemFlags, targetContainer);\n}\n\nfunction dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = null;\n\n try {\n setCurrentUpdatePriority(DiscreteEventPriority);\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n}\n\nfunction dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = null;\n\n try {\n setCurrentUpdatePriority(ContinuousEventPriority);\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n}\n\nfunction dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n if (!_enabled) {\n return;\n }\n\n {\n dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n }\n}\n\nfunction dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n var blockedOn = findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (blockedOn === null) {\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer);\n clearIfContinuousEvent(domEventName, nativeEvent);\n return;\n }\n\n if (queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent)) {\n nativeEvent.stopPropagation();\n return;\n } // We need to clear only if we didn't queue because\n // queueing is accumulative.\n\n\n clearIfContinuousEvent(domEventName, nativeEvent);\n\n if (eventSystemFlags & IS_CAPTURE_PHASE && isDiscreteEventThatRequiresHydration(domEventName)) {\n while (blockedOn !== null) {\n var fiber = getInstanceFromNode(blockedOn);\n\n if (fiber !== null) {\n attemptSynchronousHydration(fiber);\n }\n\n var nextBlockedOn = findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (nextBlockedOn === null) {\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer);\n }\n\n if (nextBlockedOn === blockedOn) {\n break;\n }\n\n blockedOn = nextBlockedOn;\n }\n\n if (blockedOn !== null) {\n nativeEvent.stopPropagation();\n }\n\n return;\n } // This is not replayable so we'll invoke it but without a target,\n // in case the event system needs to trace it.\n\n\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, null, targetContainer);\n}\n\nvar return_targetInst = null; // Returns a SuspenseInstance or Container if it's blocked.\n// The return_targetInst field above is conceptually part of the return value.\n\nfunction findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n // TODO: Warn if _enabled is false.\n return_targetInst = null;\n var nativeEventTarget = getEventTarget(nativeEvent);\n var targetInst = getClosestInstanceFromNode(nativeEventTarget);\n\n if (targetInst !== null) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n\n if (nearestMounted === null) {\n // This tree has been unmounted already. Dispatch without a target.\n targetInst = null;\n } else {\n var tag = nearestMounted.tag;\n\n if (tag === SuspenseComponent) {\n var instance = getSuspenseInstanceFromFiber(nearestMounted);\n\n if (instance !== null) {\n // Queue the event to be replayed later. Abort dispatching since we\n // don't want this event dispatched twice through the event system.\n // TODO: If this is the first discrete event in the queue. Schedule an increased\n // priority for this boundary.\n return instance;\n } // This shouldn't happen, something went wrong but to avoid blocking\n // the whole system, dispatch the event without a target.\n // TODO: Warn.\n\n\n targetInst = null;\n } else if (tag === HostRoot) {\n var root = nearestMounted.stateNode;\n\n if (isRootDehydrated(root)) {\n // If this happens during a replay something went wrong and it might block\n // the whole system.\n return getContainerFromFiber(nearestMounted);\n }\n\n targetInst = null;\n } else if (nearestMounted !== targetInst) {\n // If we get an event (ex: img onload) before committing that\n // component's mount, ignore it for now (that is, treat it as if it was an\n // event on a non-React tree). We might also consider queueing events and\n // dispatching them after the mount.\n targetInst = null;\n }\n }\n }\n\n return_targetInst = targetInst; // We're not blocked on anything.\n\n return null;\n}\nfunction getEventPriority(domEventName) {\n switch (domEventName) {\n // Used by SimpleEventPlugin:\n case 'cancel':\n case 'click':\n case 'close':\n case 'contextmenu':\n case 'copy':\n case 'cut':\n case 'auxclick':\n case 'dblclick':\n case 'dragend':\n case 'dragstart':\n case 'drop':\n case 'focusin':\n case 'focusout':\n case 'input':\n case 'invalid':\n case 'keydown':\n case 'keypress':\n case 'keyup':\n case 'mousedown':\n case 'mouseup':\n case 'paste':\n case 'pause':\n case 'play':\n case 'pointercancel':\n case 'pointerdown':\n case 'pointerup':\n case 'ratechange':\n case 'reset':\n case 'resize':\n case 'seeked':\n case 'submit':\n case 'touchcancel':\n case 'touchend':\n case 'touchstart':\n case 'volumechange': // Used by polyfills:\n // eslint-disable-next-line no-fallthrough\n\n case 'change':\n case 'selectionchange':\n case 'textInput':\n case 'compositionstart':\n case 'compositionend':\n case 'compositionupdate': // Only enableCreateEventHandleAPI:\n // eslint-disable-next-line no-fallthrough\n\n case 'beforeblur':\n case 'afterblur': // Not used by React but could be by user code:\n // eslint-disable-next-line no-fallthrough\n\n case 'beforeinput':\n case 'blur':\n case 'fullscreenchange':\n case 'focus':\n case 'hashchange':\n case 'popstate':\n case 'select':\n case 'selectstart':\n return DiscreteEventPriority;\n\n case 'drag':\n case 'dragenter':\n case 'dragexit':\n case 'dragleave':\n case 'dragover':\n case 'mousemove':\n case 'mouseout':\n case 'mouseover':\n case 'pointermove':\n case 'pointerout':\n case 'pointerover':\n case 'scroll':\n case 'toggle':\n case 'touchmove':\n case 'wheel': // Not used by React but could be by user code:\n // eslint-disable-next-line no-fallthrough\n\n case 'mouseenter':\n case 'mouseleave':\n case 'pointerenter':\n case 'pointerleave':\n return ContinuousEventPriority;\n\n case 'message':\n {\n // We might be in the Scheduler callback.\n // Eventually this mechanism will be replaced by a check\n // of the current priority on the native scheduler.\n var schedulerPriority = getCurrentPriorityLevel();\n\n switch (schedulerPriority) {\n case ImmediatePriority:\n return DiscreteEventPriority;\n\n case UserBlockingPriority:\n return ContinuousEventPriority;\n\n case NormalPriority:\n case LowPriority:\n // TODO: Handle LowSchedulerPriority, somehow. Maybe the same lane as hydration.\n return DefaultEventPriority;\n\n case IdlePriority:\n return IdleEventPriority;\n\n default:\n return DefaultEventPriority;\n }\n }\n\n default:\n return DefaultEventPriority;\n }\n}\n\nfunction addEventBubbleListener(target, eventType, listener) {\n target.addEventListener(eventType, listener, false);\n return listener;\n}\nfunction addEventCaptureListener(target, eventType, listener) {\n target.addEventListener(eventType, listener, true);\n return listener;\n}\nfunction addEventCaptureListenerWithPassiveFlag(target, eventType, listener, passive) {\n target.addEventListener(eventType, listener, {\n capture: true,\n passive: passive\n });\n return listener;\n}\nfunction addEventBubbleListenerWithPassiveFlag(target, eventType, listener, passive) {\n target.addEventListener(eventType, listener, {\n passive: passive\n });\n return listener;\n}\n\n/**\n * These variables store information about text content of a target node,\n * allowing comparison of content before and after a given event.\n *\n * Identify the node where selection currently begins, then observe\n * both its text content and its current position in the DOM. Since the\n * browser may natively replace the target node during composition, we can\n * use its position to find its replacement.\n *\n *\n */\nvar root = null;\nvar startText = null;\nvar fallbackText = null;\nfunction initialize(nativeEventTarget) {\n root = nativeEventTarget;\n startText = getText();\n return true;\n}\nfunction reset() {\n root = null;\n startText = null;\n fallbackText = null;\n}\nfunction getData() {\n if (fallbackText) {\n return fallbackText;\n }\n\n var start;\n var startValue = startText;\n var startLength = startValue.length;\n var end;\n var endValue = getText();\n var endLength = endValue.length;\n\n for (start = 0; start < startLength; start++) {\n if (startValue[start] !== endValue[start]) {\n break;\n }\n }\n\n var minEnd = startLength - start;\n\n for (end = 1; end <= minEnd; end++) {\n if (startValue[startLength - end] !== endValue[endLength - end]) {\n break;\n }\n }\n\n var sliceTail = end > 1 ? 1 - end : undefined;\n fallbackText = endValue.slice(start, sliceTail);\n return fallbackText;\n}\nfunction getText() {\n if ('value' in root) {\n return root.value;\n }\n\n return root.textContent;\n}\n\n/**\n * `charCode` represents the actual \"character code\" and is safe to use with\n * `String.fromCharCode`. As such, only keys that correspond to printable\n * characters produce a valid `charCode`, the only exception to this is Enter.\n * The Tab-key is considered non-printable and does not have a `charCode`,\n * presumably because it does not produce a tab-character in browsers.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {number} Normalized `charCode` property.\n */\nfunction getEventCharCode(nativeEvent) {\n var charCode;\n var keyCode = nativeEvent.keyCode;\n\n if ('charCode' in nativeEvent) {\n charCode = nativeEvent.charCode; // FF does not set `charCode` for the Enter-key, check against `keyCode`.\n\n if (charCode === 0 && keyCode === 13) {\n charCode = 13;\n }\n } else {\n // IE8 does not implement `charCode`, but `keyCode` has the correct value.\n charCode = keyCode;\n } // IE and Edge (on Windows) and Chrome / Safari (on Windows and Linux)\n // report Enter as charCode 10 when ctrl is pressed.\n\n\n if (charCode === 10) {\n charCode = 13;\n } // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.\n // Must not discard the (non-)printable Enter-key.\n\n\n if (charCode >= 32 || charCode === 13) {\n return charCode;\n }\n\n return 0;\n}\n\nfunction functionThatReturnsTrue() {\n return true;\n}\n\nfunction functionThatReturnsFalse() {\n return false;\n} // This is intentionally a factory so that we have different returned constructors.\n// If we had a single constructor, it would be megamorphic and engines would deopt.\n\n\nfunction createSyntheticEvent(Interface) {\n /**\n * Synthetic events are dispatched by event plugins, typically in response to a\n * top-level event delegation handler.\n *\n * These systems should generally use pooling to reduce the frequency of garbage\n * collection. The system should check `isPersistent` to determine whether the\n * event should be released into the pool after being dispatched. Users that\n * need a persisted event should invoke `persist`.\n *\n * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\n * normalizing browser quirks. Subclasses do not necessarily have to implement a\n * DOM interface; custom application-specific events can also subclass this.\n */\n function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n\n for (var _propName in Interface) {\n if (!Interface.hasOwnProperty(_propName)) {\n continue;\n }\n\n var normalize = Interface[_propName];\n\n if (normalize) {\n this[_propName] = normalize(nativeEvent);\n } else {\n this[_propName] = nativeEvent[_propName];\n }\n }\n\n var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\n\n if (defaultPrevented) {\n this.isDefaultPrevented = functionThatReturnsTrue;\n } else {\n this.isDefaultPrevented = functionThatReturnsFalse;\n }\n\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = true;\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.preventDefault) {\n event.preventDefault(); // $FlowFixMe - flow is not aware of `unknown` in IE\n } else if (typeof event.returnValue !== 'unknown') {\n event.returnValue = false;\n }\n\n this.isDefaultPrevented = functionThatReturnsTrue;\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.stopPropagation) {\n event.stopPropagation(); // $FlowFixMe - flow is not aware of `unknown` in IE\n } else if (typeof event.cancelBubble !== 'unknown') {\n // The ChangeEventPlugin registers a \"propertychange\" event for\n // IE. This event does not support bubbling or cancelling, and\n // any references to cancelBubble throw \"Member not found\". A\n // typeof check of \"unknown\" circumvents this issue (and is also\n // IE specific).\n event.cancelBubble = true;\n }\n\n this.isPropagationStopped = functionThatReturnsTrue;\n },\n\n /**\n * We release all dispatched `SyntheticEvent`s after each event loop, adding\n * them back into the pool. This allows a way to hold onto a reference that\n * won't be added back into the pool.\n */\n persist: function () {// Modern event system doesn't use pooling.\n },\n\n /**\n * Checks if this event should be released back into the pool.\n *\n * @return {boolean} True if this should not be released, false otherwise.\n */\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n};\nvar SyntheticEvent = createSyntheticEvent(EventInterface);\n\nvar UIEventInterface = assign({}, EventInterface, {\n view: 0,\n detail: 0\n});\n\nvar SyntheticUIEvent = createSyntheticEvent(UIEventInterface);\nvar lastMovementX;\nvar lastMovementY;\nvar lastMouseEvent;\n\nfunction updateMouseMovementPolyfillState(event) {\n if (event !== lastMouseEvent) {\n if (lastMouseEvent && event.type === 'mousemove') {\n lastMovementX = event.screenX - lastMouseEvent.screenX;\n lastMovementY = event.screenY - lastMouseEvent.screenY;\n } else {\n lastMovementX = 0;\n lastMovementY = 0;\n }\n\n lastMouseEvent = event;\n }\n}\n/**\n * @interface MouseEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n if (event.relatedTarget === undefined) return event.fromElement === event.srcElement ? event.toElement : event.fromElement;\n return event.relatedTarget;\n },\n movementX: function (event) {\n if ('movementX' in event) {\n return event.movementX;\n }\n\n updateMouseMovementPolyfillState(event);\n return lastMovementX;\n },\n movementY: function (event) {\n if ('movementY' in event) {\n return event.movementY;\n } // Don't need to call updateMouseMovementPolyfillState() here\n // because it's guaranteed to have already run when movementX\n // was copied.\n\n\n return lastMovementY;\n }\n});\n\nvar SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface);\n/**\n * @interface DragEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar DragEventInterface = assign({}, MouseEventInterface, {\n dataTransfer: 0\n});\n\nvar SyntheticDragEvent = createSyntheticEvent(DragEventInterface);\n/**\n * @interface FocusEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar FocusEventInterface = assign({}, UIEventInterface, {\n relatedTarget: 0\n});\n\nvar SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent\n */\n\nvar AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n});\n\nvar SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/clipboard-apis/\n */\n\nvar ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return 'clipboardData' in event ? event.clipboardData : window.clipboardData;\n }\n});\n\nvar SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents\n */\n\nvar CompositionEventInterface = assign({}, EventInterface, {\n data: 0\n});\n\nvar SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105\n * /#events-inputevents\n */\n// Happens to share the same list for now.\n\nvar SyntheticInputEvent = SyntheticCompositionEvent;\n/**\n * Normalization of deprecated HTML5 `key` values\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\nvar normalizeKey = {\n Esc: 'Escape',\n Spacebar: ' ',\n Left: 'ArrowLeft',\n Up: 'ArrowUp',\n Right: 'ArrowRight',\n Down: 'ArrowDown',\n Del: 'Delete',\n Win: 'OS',\n Menu: 'ContextMenu',\n Apps: 'ContextMenu',\n Scroll: 'ScrollLock',\n MozPrintableKey: 'Unidentified'\n};\n/**\n * Translation from legacy `keyCode` to HTML5 `key`\n * Only special keys supported, all others depend on keyboard layout or browser\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\nvar translateToKey = {\n '8': 'Backspace',\n '9': 'Tab',\n '12': 'Clear',\n '13': 'Enter',\n '16': 'Shift',\n '17': 'Control',\n '18': 'Alt',\n '19': 'Pause',\n '20': 'CapsLock',\n '27': 'Escape',\n '32': ' ',\n '33': 'PageUp',\n '34': 'PageDown',\n '35': 'End',\n '36': 'Home',\n '37': 'ArrowLeft',\n '38': 'ArrowUp',\n '39': 'ArrowRight',\n '40': 'ArrowDown',\n '45': 'Insert',\n '46': 'Delete',\n '112': 'F1',\n '113': 'F2',\n '114': 'F3',\n '115': 'F4',\n '116': 'F5',\n '117': 'F6',\n '118': 'F7',\n '119': 'F8',\n '120': 'F9',\n '121': 'F10',\n '122': 'F11',\n '123': 'F12',\n '144': 'NumLock',\n '145': 'ScrollLock',\n '224': 'Meta'\n};\n/**\n * @param {object} nativeEvent Native browser event.\n * @return {string} Normalized `key` property.\n */\n\nfunction getEventKey(nativeEvent) {\n if (nativeEvent.key) {\n // Normalize inconsistent values reported by browsers due to\n // implementations of a working draft specification.\n // FireFox implements `key` but returns `MozPrintableKey` for all\n // printable characters (normalized to `Unidentified`), ignore it.\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n\n if (key !== 'Unidentified') {\n return key;\n }\n } // Browser does not implement `key`, polyfill as much of it as we can.\n\n\n if (nativeEvent.type === 'keypress') {\n var charCode = getEventCharCode(nativeEvent); // The enter-key is technically both printable and non-printable and can\n // thus be captured by `keypress`, no other non-printable key should.\n\n return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);\n }\n\n if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {\n // While user keyboard layout determines the actual meaning of each\n // `keyCode` value, almost all function keys have a universal value.\n return translateToKey[nativeEvent.keyCode] || 'Unidentified';\n }\n\n return '';\n}\n/**\n * Translation from modifier key to the associated property in the event.\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers\n */\n\n\nvar modifierKeyToProp = {\n Alt: 'altKey',\n Control: 'ctrlKey',\n Meta: 'metaKey',\n Shift: 'shiftKey'\n}; // Older browsers (Safari <= 10, iOS Safari <= 10.2) do not support\n// getModifierState. If getModifierState is not supported, we map it to a set of\n// modifier keys exposed by the event. In this case, Lock-keys are not supported.\n\nfunction modifierStateGetter(keyArg) {\n var syntheticEvent = this;\n var nativeEvent = syntheticEvent.nativeEvent;\n\n if (nativeEvent.getModifierState) {\n return nativeEvent.getModifierState(keyArg);\n }\n\n var keyProp = modifierKeyToProp[keyArg];\n return keyProp ? !!nativeEvent[keyProp] : false;\n}\n\nfunction getEventModifierState(nativeEvent) {\n return modifierStateGetter;\n}\n/**\n * @interface KeyboardEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: getEventKey,\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n // Legacy Interface\n charCode: function (event) {\n // `charCode` is the result of a KeyPress event and represents the value of\n // the actual printable character.\n // KeyPress is deprecated, but its replacement is not yet final and not\n // implemented in any major browser. Only KeyPress has charCode.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n\n return 0;\n },\n keyCode: function (event) {\n // `keyCode` is the result of a KeyDown/Up event and represents the value of\n // physical keyboard key.\n // The actual meaning of the value depends on the users' keyboard layout\n // which cannot be detected. Assuming that it is a US keyboard layout\n // provides a surprisingly accurate mapping for US and European users.\n // Due to this, it is left to the user to implement at this time.\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n },\n which: function (event) {\n // `which` is an alias for either `keyCode` or `charCode` depending on the\n // type of the event.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n }\n});\n\nvar SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface);\n/**\n * @interface PointerEvent\n * @see http://www.w3.org/TR/pointerevents/\n */\n\nvar PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n});\n\nvar SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface);\n/**\n * @interface TouchEvent\n * @see http://www.w3.org/TR/touch-events/\n */\n\nvar TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n});\n\nvar SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent\n */\n\nvar TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n});\n\nvar SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface);\n/**\n * @interface WheelEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).\n 'wheelDeltaX' in event ? -event.wheelDeltaX : 0;\n },\n deltaY: function (event) {\n return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).\n 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).\n 'wheelDelta' in event ? -event.wheelDelta : 0;\n },\n deltaZ: 0,\n // Browsers without \"deltaMode\" is reporting in raw wheel delta where one\n // notch on the scroll is always +/- 120, roughly equivalent to pixels.\n // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or\n // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.\n deltaMode: 0\n});\n\nvar SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface);\n\nvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space\n\nvar START_KEYCODE = 229;\nvar canUseCompositionEvent = canUseDOM && 'CompositionEvent' in window;\nvar documentMode = null;\n\nif (canUseDOM && 'documentMode' in document) {\n documentMode = document.documentMode;\n} // Webkit offers a very useful `textInput` event that can be used to\n// directly represent `beforeInput`. The IE `textinput` event is not as\n// useful, so we don't use it.\n\n\nvar canUseTextInputEvent = canUseDOM && 'TextEvent' in window && !documentMode; // In IE9+, we have access to composition events, but the data supplied\n// by the native compositionend event may be incorrect. Japanese ideographic\n// spaces, for instance (\\u3000) are not recorded correctly.\n\nvar useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);\nvar SPACEBAR_CODE = 32;\nvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);\n\nfunction registerEvents() {\n registerTwoPhaseEvent('onBeforeInput', ['compositionend', 'keypress', 'textInput', 'paste']);\n registerTwoPhaseEvent('onCompositionEnd', ['compositionend', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n registerTwoPhaseEvent('onCompositionStart', ['compositionstart', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n registerTwoPhaseEvent('onCompositionUpdate', ['compositionupdate', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n} // Track whether we've ever handled a keypress on the space key.\n\n\nvar hasSpaceKeypress = false;\n/**\n * Return whether a native keypress event is assumed to be a command.\n * This is required because Firefox fires `keypress` events for key commands\n * (cut, copy, select-all, etc.) even though no character is inserted.\n */\n\nfunction isKeypressCommand(nativeEvent) {\n return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command.\n !(nativeEvent.ctrlKey && nativeEvent.altKey);\n}\n/**\n * Translate native top level events into event types.\n */\n\n\nfunction getCompositionEventType(domEventName) {\n switch (domEventName) {\n case 'compositionstart':\n return 'onCompositionStart';\n\n case 'compositionend':\n return 'onCompositionEnd';\n\n case 'compositionupdate':\n return 'onCompositionUpdate';\n }\n}\n/**\n * Does our fallback best-guess model think this event signifies that\n * composition has begun?\n */\n\n\nfunction isFallbackCompositionStart(domEventName, nativeEvent) {\n return domEventName === 'keydown' && nativeEvent.keyCode === START_KEYCODE;\n}\n/**\n * Does our fallback mode think that this event is the end of composition?\n */\n\n\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'keyup':\n // Command keys insert or clear IME input.\n return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;\n\n case 'keydown':\n // Expect IME keyCode on each keydown. If we get any other\n // code we must have exited earlier.\n return nativeEvent.keyCode !== START_KEYCODE;\n\n case 'keypress':\n case 'mousedown':\n case 'focusout':\n // Events are not possible without cancelling IME.\n return true;\n\n default:\n return false;\n }\n}\n/**\n * Google Input Tools provides composition data via a CustomEvent,\n * with the `data` property populated in the `detail` object. If this\n * is available on the event object, use it. If not, this is a plain\n * composition event and we have nothing special to extract.\n *\n * @param {object} nativeEvent\n * @return {?string}\n */\n\n\nfunction getDataFromCustomEvent(nativeEvent) {\n var detail = nativeEvent.detail;\n\n if (typeof detail === 'object' && 'data' in detail) {\n return detail.data;\n }\n\n return null;\n}\n/**\n * Check if a composition event was triggered by Korean IME.\n * Our fallback mode does not work well with IE's Korean IME,\n * so just use native composition events when Korean IME is used.\n * Although CompositionEvent.locale property is deprecated,\n * it is available in IE, where our fallback mode is enabled.\n *\n * @param {object} nativeEvent\n * @return {boolean}\n */\n\n\nfunction isUsingKoreanIME(nativeEvent) {\n return nativeEvent.locale === 'ko';\n} // Track the current IME composition status, if any.\n\n\nvar isComposing = false;\n/**\n * @return {?object} A SyntheticCompositionEvent.\n */\n\nfunction extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) {\n var eventType;\n var fallbackData;\n\n if (canUseCompositionEvent) {\n eventType = getCompositionEventType(domEventName);\n } else if (!isComposing) {\n if (isFallbackCompositionStart(domEventName, nativeEvent)) {\n eventType = 'onCompositionStart';\n }\n } else if (isFallbackCompositionEnd(domEventName, nativeEvent)) {\n eventType = 'onCompositionEnd';\n }\n\n if (!eventType) {\n return null;\n }\n\n if (useFallbackCompositionData && !isUsingKoreanIME(nativeEvent)) {\n // The current composition is stored statically and must not be\n // overwritten while composition continues.\n if (!isComposing && eventType === 'onCompositionStart') {\n isComposing = initialize(nativeEventTarget);\n } else if (eventType === 'onCompositionEnd') {\n if (isComposing) {\n fallbackData = getData();\n }\n }\n }\n\n var listeners = accumulateTwoPhaseListeners(targetInst, eventType);\n\n if (listeners.length > 0) {\n var event = new SyntheticCompositionEvent(eventType, domEventName, null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n\n if (fallbackData) {\n // Inject data generated from fallback path into the synthetic event.\n // This matches the property of native CompositionEventInterface.\n event.data = fallbackData;\n } else {\n var customData = getDataFromCustomEvent(nativeEvent);\n\n if (customData !== null) {\n event.data = customData;\n }\n }\n }\n}\n\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'compositionend':\n return getDataFromCustomEvent(nativeEvent);\n\n case 'keypress':\n /**\n * If native `textInput` events are available, our goal is to make\n * use of them. However, there is a special case: the spacebar key.\n * In Webkit, preventing default on a spacebar `textInput` event\n * cancels character insertion, but it *also* causes the browser\n * to fall back to its default spacebar behavior of scrolling the\n * page.\n *\n * Tracking at:\n * https://code.google.com/p/chromium/issues/detail?id=355103\n *\n * To avoid this issue, use the keypress event as if no `textInput`\n * event is available.\n */\n var which = nativeEvent.which;\n\n if (which !== SPACEBAR_CODE) {\n return null;\n }\n\n hasSpaceKeypress = true;\n return SPACEBAR_CHAR;\n\n case 'textInput':\n // Record the characters to be added to the DOM.\n var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled\n // it at the keypress level and bail immediately. Android Chrome\n // doesn't give us keycodes, so we need to ignore it.\n\n if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {\n return null;\n }\n\n return chars;\n\n default:\n // For other native event types, do nothing.\n return null;\n }\n}\n/**\n * For browsers that do not provide the `textInput` event, extract the\n * appropriate string to use for SyntheticInputEvent.\n */\n\n\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n // If we are currently composing (IME) and using a fallback to do so,\n // try to extract the composed characters from the fallback object.\n // If composition event is available, we extract a string only at\n // compositionevent, otherwise extract it at fallback events.\n if (isComposing) {\n if (domEventName === 'compositionend' || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent)) {\n var chars = getData();\n reset();\n isComposing = false;\n return chars;\n }\n\n return null;\n }\n\n switch (domEventName) {\n case 'paste':\n // If a paste event occurs after a keypress, throw out the input\n // chars. Paste events should not lead to BeforeInput events.\n return null;\n\n case 'keypress':\n /**\n * As of v27, Firefox may fire keypress events even when no character\n * will be inserted. A few possibilities:\n *\n * - `which` is `0`. Arrow keys, Esc key, etc.\n *\n * - `which` is the pressed key code, but no char is available.\n * Ex: 'AltGr + d` in Polish. There is no modified character for\n * this key combination and no character is inserted into the\n * document, but FF fires the keypress for char code `100` anyway.\n * No `input` event will occur.\n *\n * - `which` is the pressed key code, but a command combination is\n * being used. Ex: `Cmd+C`. No character is inserted, and no\n * `input` event will occur.\n */\n if (!isKeypressCommand(nativeEvent)) {\n // IE fires the `keypress` event when a user types an emoji via\n // Touch keyboard of Windows. In such a case, the `char` property\n // holds an emoji character like `\\uD83D\\uDE0A`. Because its length\n // is 2, the property `which` does not represent an emoji correctly.\n // In such a case, we directly return the `char` property instead of\n // using `which`.\n if (nativeEvent.char && nativeEvent.char.length > 1) {\n return nativeEvent.char;\n } else if (nativeEvent.which) {\n return String.fromCharCode(nativeEvent.which);\n }\n }\n\n return null;\n\n case 'compositionend':\n return useFallbackCompositionData && !isUsingKoreanIME(nativeEvent) ? null : nativeEvent.data;\n\n default:\n return null;\n }\n}\n/**\n * Extract a SyntheticInputEvent for `beforeInput`, based on either native\n * `textInput` or fallback behavior.\n *\n * @return {?object} A SyntheticInputEvent.\n */\n\n\nfunction extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) {\n var chars;\n\n if (canUseTextInputEvent) {\n chars = getNativeBeforeInputChars(domEventName, nativeEvent);\n } else {\n chars = getFallbackBeforeInputChars(domEventName, nativeEvent);\n } // If no characters are being inserted, no BeforeInput event should\n // be fired.\n\n\n if (!chars) {\n return null;\n }\n\n var listeners = accumulateTwoPhaseListeners(targetInst, 'onBeforeInput');\n\n if (listeners.length > 0) {\n var event = new SyntheticInputEvent('onBeforeInput', 'beforeinput', null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n event.data = chars;\n }\n}\n/**\n * Create an `onBeforeInput` event to match\n * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.\n *\n * This event plugin is based on the native `textInput` event\n * available in Chrome, Safari, Opera, and IE. This event fires after\n * `onKeyPress` and `onCompositionEnd`, but before `onInput`.\n *\n * `beforeInput` is spec'd but not implemented in any browsers, and\n * the `input` event does not provide any useful information about what has\n * actually been added, contrary to the spec. Thus, `textInput` is the best\n * available event to identify the characters that have actually been inserted\n * into the target node.\n *\n * This plugin is also responsible for emitting `composition` events, thus\n * allowing us to share composition fallback code for both `beforeInput` and\n * `composition` event types.\n */\n\n\nfunction extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n}\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n */\nvar supportedInputTypes = {\n color: true,\n date: true,\n datetime: true,\n 'datetime-local': true,\n email: true,\n month: true,\n number: true,\n password: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true\n};\n\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\n if (nodeName === 'input') {\n return !!supportedInputTypes[elem.type];\n }\n\n if (nodeName === 'textarea') {\n return true;\n }\n\n return false;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\n\nfunction isEventSupported(eventNameSuffix) {\n if (!canUseDOM) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = (eventName in document);\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n return isSupported;\n}\n\nfunction registerEvents$1() {\n registerTwoPhaseEvent('onChange', ['change', 'click', 'focusin', 'focusout', 'input', 'keydown', 'keyup', 'selectionchange']);\n}\n\nfunction createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target) {\n // Flag this event loop as needing state restore.\n enqueueStateRestore(target);\n var listeners = accumulateTwoPhaseListeners(inst, 'onChange');\n\n if (listeners.length > 0) {\n var event = new SyntheticEvent('onChange', 'change', null, nativeEvent, target);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n }\n}\n/**\n * For IE shims\n */\n\n\nvar activeElement = null;\nvar activeElementInst = null;\n/**\n * SECTION: handle `change` event\n */\n\nfunction shouldUseChangeEvent(elem) {\n var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\n}\n\nfunction manualDispatchChangeEvent(nativeEvent) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(dispatchQueue, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the\n // other events and have it go through ReactBrowserEventEmitter. Since it\n // doesn't, we manually listen for the events and so we have to enqueue and\n // process the abstract event manually.\n //\n // Batching is necessary here in order to ensure that all event handlers run\n // before the next rerender (including event handlers attached to ancestor\n // elements instead of directly on the input). Without this, controlled\n // components don't work properly in conjunction with event bubbling because\n // the component is rerendered and the value reverted before all the event\n // handlers can run. See https://github.com/facebook/react/issues/708.\n\n batchedUpdates(runEventInBatch, dispatchQueue);\n}\n\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\n\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n\n if (updateValueIfChanged(targetNode)) {\n return targetInst;\n }\n}\n\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (domEventName === 'change') {\n return targetInst;\n }\n}\n/**\n * SECTION: handle `input` event\n */\n\n\nvar isInputEventSupported = false;\n\nif (canUseDOM) {\n // IE9 claims to support the input event but fails to trigger it when\n // deleting text, so we ignore its input events.\n isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9);\n}\n/**\n * (For IE <=9) Starts tracking propertychange events on the passed-in element\n * and override the value property so that we can distinguish user events from\n * value changes in JS.\n */\n\n\nfunction startWatchingForValueChange(target, targetInst) {\n activeElement = target;\n activeElementInst = targetInst;\n activeElement.attachEvent('onpropertychange', handlePropertyChange);\n}\n/**\n * (For IE <=9) Removes the event listeners from the currently-tracked element,\n * if any exists.\n */\n\n\nfunction stopWatchingForValueChange() {\n if (!activeElement) {\n return;\n }\n\n activeElement.detachEvent('onpropertychange', handlePropertyChange);\n activeElement = null;\n activeElementInst = null;\n}\n/**\n * (For IE <=9) Handles a propertychange event, sending a `change` event if\n * the value of the active element has changed.\n */\n\n\nfunction handlePropertyChange(nativeEvent) {\n if (nativeEvent.propertyName !== 'value') {\n return;\n }\n\n if (getInstIfValueChanged(activeElementInst)) {\n manualDispatchChangeEvent(nativeEvent);\n }\n}\n\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n if (domEventName === 'focusin') {\n // In IE9, propertychange fires for most input events but is buggy and\n // doesn't fire when text is deleted, but conveniently, selectionchange\n // appears to fire in all of the remaining cases so we catch those and\n // forward the event if the value has changed\n // In either case, we don't want to call the event handler if the value\n // is changed from JS so we redefine a setter for `.value` that updates\n // our activeElementValue variable, allowing us to ignore those changes\n //\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForValueChange();\n startWatchingForValueChange(target, targetInst);\n } else if (domEventName === 'focusout') {\n stopWatchingForValueChange();\n }\n} // For IE8 and IE9.\n\n\nfunction getTargetInstForInputEventPolyfill(domEventName, targetInst) {\n if (domEventName === 'selectionchange' || domEventName === 'keyup' || domEventName === 'keydown') {\n // On the selectionchange event, the target is just document which isn't\n // helpful for us so just check activeElement instead.\n //\n // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\n // propertychange on the first input event after setting `value` from a\n // script and fires only keydown, keypress, keyup. Catching keyup usually\n // gets it and catching keydown lets us fire an event for the first\n // keystroke if user does a key repeat (it'll be a little delayed: right\n // before the second keystroke). Other input methods (e.g., paste) seem to\n // fire selectionchange normally.\n return getInstIfValueChanged(activeElementInst);\n }\n}\n/**\n * SECTION: handle `click` event\n */\n\n\nfunction shouldUseClickEvent(elem) {\n // Use the `click` event to detect changes to checkbox and radio inputs.\n // This approach works across all browsers, whereas `change` does not fire\n // until `blur` in IE8.\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\n}\n\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (domEventName === 'click') {\n return getInstIfValueChanged(targetInst);\n }\n}\n\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (domEventName === 'input' || domEventName === 'change') {\n return getInstIfValueChanged(targetInst);\n }\n}\n\nfunction handleControlledInputBlur(node) {\n var state = node._wrapperState;\n\n if (!state || !state.controlled || node.type !== 'number') {\n return;\n }\n\n {\n // If controlled, assign the value attribute to the current value on blur\n setDefaultValue(node, 'number', node.value);\n }\n}\n/**\n * This plugin creates an `onChange` event that normalizes change events\n * across form elements. This event fires at a time when it's possible to\n * change the element's value without seeing a flicker.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - select\n */\n\n\nfunction extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var targetNode = targetInst ? getNodeFromInstance(targetInst) : window;\n var getTargetInstFunc, handleEventFunc;\n\n if (shouldUseChangeEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForChangeEvent;\n } else if (isTextInputElement(targetNode)) {\n if (isInputEventSupported) {\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n } else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n handleEventFunc = handleEventsForInputEventPolyfill;\n }\n } else if (shouldUseClickEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForClickEvent;\n }\n\n if (getTargetInstFunc) {\n var inst = getTargetInstFunc(domEventName, targetInst);\n\n if (inst) {\n createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, nativeEventTarget);\n return;\n }\n }\n\n if (handleEventFunc) {\n handleEventFunc(domEventName, targetNode, targetInst);\n } // When blurring, set the value attribute for number inputs\n\n\n if (domEventName === 'focusout') {\n handleControlledInputBlur(targetNode);\n }\n}\n\nfunction registerEvents$2() {\n registerDirectEvent('onMouseEnter', ['mouseout', 'mouseover']);\n registerDirectEvent('onMouseLeave', ['mouseout', 'mouseover']);\n registerDirectEvent('onPointerEnter', ['pointerout', 'pointerover']);\n registerDirectEvent('onPointerLeave', ['pointerout', 'pointerover']);\n}\n/**\n * For almost every interaction we care about, there will be both a top-level\n * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\n * we do not extract duplicate events. However, moving the mouse into the\n * browser from outside will not fire a `mouseout` event. In this case, we use\n * the `mouseover` top-level event.\n */\n\n\nfunction extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var isOverEvent = domEventName === 'mouseover' || domEventName === 'pointerover';\n var isOutEvent = domEventName === 'mouseout' || domEventName === 'pointerout';\n\n if (isOverEvent && !isReplayingEvent(nativeEvent)) {\n // If this is an over event with a target, we might have already dispatched\n // the event in the out event of the other target. If this is replayed,\n // then it's because we couldn't dispatch against this target previously\n // so we have to do it now instead.\n var related = nativeEvent.relatedTarget || nativeEvent.fromElement;\n\n if (related) {\n // If the related node is managed by React, we can assume that we have\n // already dispatched the corresponding events during its mouseout.\n if (getClosestInstanceFromNode(related) || isContainerMarkedAsRoot(related)) {\n return;\n }\n }\n }\n\n if (!isOutEvent && !isOverEvent) {\n // Must not be a mouse or pointer in or out - ignoring.\n return;\n }\n\n var win; // TODO: why is this nullable in the types but we read from it?\n\n if (nativeEventTarget.window === nativeEventTarget) {\n // `nativeEventTarget` is probably a window object.\n win = nativeEventTarget;\n } else {\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n var doc = nativeEventTarget.ownerDocument;\n\n if (doc) {\n win = doc.defaultView || doc.parentWindow;\n } else {\n win = window;\n }\n }\n\n var from;\n var to;\n\n if (isOutEvent) {\n var _related = nativeEvent.relatedTarget || nativeEvent.toElement;\n\n from = targetInst;\n to = _related ? getClosestInstanceFromNode(_related) : null;\n\n if (to !== null) {\n var nearestMounted = getNearestMountedFiber(to);\n\n if (to !== nearestMounted || to.tag !== HostComponent && to.tag !== HostText) {\n to = null;\n }\n }\n } else {\n // Moving to a node from outside the window.\n from = null;\n to = targetInst;\n }\n\n if (from === to) {\n // Nothing pertains to our managed components.\n return;\n }\n\n var SyntheticEventCtor = SyntheticMouseEvent;\n var leaveEventType = 'onMouseLeave';\n var enterEventType = 'onMouseEnter';\n var eventTypePrefix = 'mouse';\n\n if (domEventName === 'pointerout' || domEventName === 'pointerover') {\n SyntheticEventCtor = SyntheticPointerEvent;\n leaveEventType = 'onPointerLeave';\n enterEventType = 'onPointerEnter';\n eventTypePrefix = 'pointer';\n }\n\n var fromNode = from == null ? win : getNodeFromInstance(from);\n var toNode = to == null ? win : getNodeFromInstance(to);\n var leave = new SyntheticEventCtor(leaveEventType, eventTypePrefix + 'leave', from, nativeEvent, nativeEventTarget);\n leave.target = fromNode;\n leave.relatedTarget = toNode;\n var enter = null; // We should only process this nativeEvent if we are processing\n // the first ancestor. Next time, we will ignore the event.\n\n var nativeTargetInst = getClosestInstanceFromNode(nativeEventTarget);\n\n if (nativeTargetInst === targetInst) {\n var enterEvent = new SyntheticEventCtor(enterEventType, eventTypePrefix + 'enter', to, nativeEvent, nativeEventTarget);\n enterEvent.target = toNode;\n enterEvent.relatedTarget = fromNode;\n enter = enterEvent;\n }\n\n accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leave, enter, from, to);\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\n\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n } // Test for A's keys different from B.\n\n\n for (var i = 0; i < keysA.length; i++) {\n var currentKey = keysA[i];\n\n if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey])) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Given any node return the first leaf node without children.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {DOMElement|DOMTextNode}\n */\n\nfunction getLeafNode(node) {\n while (node && node.firstChild) {\n node = node.firstChild;\n }\n\n return node;\n}\n/**\n * Get the next sibling within a container. This will walk up the\n * DOM if a node's siblings have been exhausted.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {?DOMElement|DOMTextNode}\n */\n\n\nfunction getSiblingNode(node) {\n while (node) {\n if (node.nextSibling) {\n return node.nextSibling;\n }\n\n node = node.parentNode;\n }\n}\n/**\n * Get object describing the nodes which contain characters at offset.\n *\n * @param {DOMElement|DOMTextNode} root\n * @param {number} offset\n * @return {?object}\n */\n\n\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n var nodeStart = 0;\n var nodeEnd = 0;\n\n while (node) {\n if (node.nodeType === TEXT_NODE) {\n nodeEnd = nodeStart + node.textContent.length;\n\n if (nodeStart <= offset && nodeEnd >= offset) {\n return {\n node: node,\n offset: offset - nodeStart\n };\n }\n\n nodeStart = nodeEnd;\n }\n\n node = getLeafNode(getSiblingNode(node));\n }\n}\n\n/**\n * @param {DOMElement} outerNode\n * @return {?object}\n */\n\nfunction getOffsets(outerNode) {\n var ownerDocument = outerNode.ownerDocument;\n var win = ownerDocument && ownerDocument.defaultView || window;\n var selection = win.getSelection && win.getSelection();\n\n if (!selection || selection.rangeCount === 0) {\n return null;\n }\n\n var anchorNode = selection.anchorNode,\n anchorOffset = selection.anchorOffset,\n focusNode = selection.focusNode,\n focusOffset = selection.focusOffset; // In Firefox, anchorNode and focusNode can be \"anonymous divs\", e.g. the\n // up/down buttons on an <input type=\"number\">. Anonymous divs do not seem to\n // expose properties, triggering a \"Permission denied error\" if any of its\n // properties are accessed. The only seemingly possible way to avoid erroring\n // is to access a property that typically works for non-anonymous divs and\n // catch any error that may otherwise arise. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=208427\n\n try {\n /* eslint-disable no-unused-expressions */\n anchorNode.nodeType;\n focusNode.nodeType;\n /* eslint-enable no-unused-expressions */\n } catch (e) {\n return null;\n }\n\n return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset);\n}\n/**\n * Returns {start, end} where `start` is the character/codepoint index of\n * (anchorNode, anchorOffset) within the textContent of `outerNode`, and\n * `end` is the index of (focusNode, focusOffset).\n *\n * Returns null if you pass in garbage input but we should probably just crash.\n *\n * Exported only for testing.\n */\n\nfunction getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) {\n var length = 0;\n var start = -1;\n var end = -1;\n var indexWithinAnchor = 0;\n var indexWithinFocus = 0;\n var node = outerNode;\n var parentNode = null;\n\n outer: while (true) {\n var next = null;\n\n while (true) {\n if (node === anchorNode && (anchorOffset === 0 || node.nodeType === TEXT_NODE)) {\n start = length + anchorOffset;\n }\n\n if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) {\n end = length + focusOffset;\n }\n\n if (node.nodeType === TEXT_NODE) {\n length += node.nodeValue.length;\n }\n\n if ((next = node.firstChild) === null) {\n break;\n } // Moving from `node` to its first child `next`.\n\n\n parentNode = node;\n node = next;\n }\n\n while (true) {\n if (node === outerNode) {\n // If `outerNode` has children, this is always the second time visiting\n // it. If it has no children, this is still the first loop, and the only\n // valid selection is anchorNode and focusNode both equal to this node\n // and both offsets 0, in which case we will have handled above.\n break outer;\n }\n\n if (parentNode === anchorNode && ++indexWithinAnchor === anchorOffset) {\n start = length;\n }\n\n if (parentNode === focusNode && ++indexWithinFocus === focusOffset) {\n end = length;\n }\n\n if ((next = node.nextSibling) !== null) {\n break;\n }\n\n node = parentNode;\n parentNode = node.parentNode;\n } // Moving from `node` to its next sibling `next`.\n\n\n node = next;\n }\n\n if (start === -1 || end === -1) {\n // This should never happen. (Would happen if the anchor/focus nodes aren't\n // actually inside the passed-in node.)\n return null;\n }\n\n return {\n start: start,\n end: end\n };\n}\n/**\n * In modern non-IE browsers, we can support both forward and backward\n * selections.\n *\n * Note: IE10+ supports the Selection object, but it does not support\n * the `extend` method, which means that even in modern IE, it's not possible\n * to programmatically create a backward selection. Thus, for all IE\n * versions, we use the old IE API to create our selections.\n *\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\n\nfunction setOffsets(node, offsets) {\n var doc = node.ownerDocument || document;\n var win = doc && doc.defaultView || window; // Edge fails with \"Object expected\" in some scenarios.\n // (For instance: TinyMCE editor used in a list component that supports pasting to add more,\n // fails when pasting 100+ items)\n\n if (!win.getSelection) {\n return;\n }\n\n var selection = win.getSelection();\n var length = node.textContent.length;\n var start = Math.min(offsets.start, length);\n var end = offsets.end === undefined ? start : Math.min(offsets.end, length); // IE 11 uses modern selection, but doesn't support the extend method.\n // Flip backward selections, so we can set with a single range.\n\n if (!selection.extend && start > end) {\n var temp = end;\n end = start;\n start = temp;\n }\n\n var startMarker = getNodeForCharacterOffset(node, start);\n var endMarker = getNodeForCharacterOffset(node, end);\n\n if (startMarker && endMarker) {\n if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) {\n return;\n }\n\n var range = doc.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n\n if (start > end) {\n selection.addRange(range);\n selection.extend(endMarker.node, endMarker.offset);\n } else {\n range.setEnd(endMarker.node, endMarker.offset);\n selection.addRange(range);\n }\n }\n}\n\nfunction isTextNode(node) {\n return node && node.nodeType === TEXT_NODE;\n}\n\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nfunction isInDocument(node) {\n return node && node.ownerDocument && containsNode(node.ownerDocument.documentElement, node);\n}\n\nfunction isSameOriginFrame(iframe) {\n try {\n // Accessing the contentDocument of a HTMLIframeElement can cause the browser\n // to throw, e.g. if it has a cross-origin src attribute.\n // Safari will show an error in the console when the access results in \"Blocked a frame with origin\". e.g:\n // iframe.contentDocument.defaultView;\n // A safety way is to access one of the cross origin properties: Window or Location\n // Which might result in \"SecurityError\" DOM Exception and it is compatible to Safari.\n // https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl\n return typeof iframe.contentWindow.location.href === 'string';\n } catch (err) {\n return false;\n }\n}\n\nfunction getActiveElementDeep() {\n var win = window;\n var element = getActiveElement();\n\n while (element instanceof win.HTMLIFrameElement) {\n if (isSameOriginFrame(element)) {\n win = element.contentWindow;\n } else {\n return element;\n }\n\n element = getActiveElement(win.document);\n }\n\n return element;\n}\n/**\n * @ReactInputSelection: React input selection module. Based on Selection.js,\n * but modified to be suitable for react and has a couple of bug fixes (doesn't\n * assume buttons have range selections allowed).\n * Input selection module for React.\n */\n\n/**\n * @hasSelectionCapabilities: we get the element types that support selection\n * from https://html.spec.whatwg.org/#do-not-apply, looking at `selectionStart`\n * and `selectionEnd` rows.\n */\n\n\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName && (nodeName === 'input' && (elem.type === 'text' || elem.type === 'search' || elem.type === 'tel' || elem.type === 'url' || elem.type === 'password') || nodeName === 'textarea' || elem.contentEditable === 'true');\n}\nfunction getSelectionInformation() {\n var focusedElem = getActiveElementDeep();\n return {\n focusedElem: focusedElem,\n selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection(focusedElem) : null\n };\n}\n/**\n * @restoreSelection: If any selection information was potentially lost,\n * restore it. This is useful when performing operations that could remove dom\n * nodes and place them back in, resulting in focus being lost.\n */\n\nfunction restoreSelection(priorSelectionInformation) {\n var curFocusedElem = getActiveElementDeep();\n var priorFocusedElem = priorSelectionInformation.focusedElem;\n var priorSelectionRange = priorSelectionInformation.selectionRange;\n\n if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {\n if (priorSelectionRange !== null && hasSelectionCapabilities(priorFocusedElem)) {\n setSelection(priorFocusedElem, priorSelectionRange);\n } // Focusing a node can change the scroll position, which is undesirable\n\n\n var ancestors = [];\n var ancestor = priorFocusedElem;\n\n while (ancestor = ancestor.parentNode) {\n if (ancestor.nodeType === ELEMENT_NODE) {\n ancestors.push({\n element: ancestor,\n left: ancestor.scrollLeft,\n top: ancestor.scrollTop\n });\n }\n }\n\n if (typeof priorFocusedElem.focus === 'function') {\n priorFocusedElem.focus();\n }\n\n for (var i = 0; i < ancestors.length; i++) {\n var info = ancestors[i];\n info.element.scrollLeft = info.left;\n info.element.scrollTop = info.top;\n }\n }\n}\n/**\n * @getSelection: Gets the selection bounds of a focused textarea, input or\n * contentEditable node.\n * -@input: Look up selection bounds of this input\n * -@return {start: selectionStart, end: selectionEnd}\n */\n\nfunction getSelection(input) {\n var selection;\n\n if ('selectionStart' in input) {\n // Modern browser with input or textarea.\n selection = {\n start: input.selectionStart,\n end: input.selectionEnd\n };\n } else {\n // Content editable or old IE textarea.\n selection = getOffsets(input);\n }\n\n return selection || {\n start: 0,\n end: 0\n };\n}\n/**\n * @setSelection: Sets the selection bounds of a textarea or input and focuses\n * the input.\n * -@input Set selection bounds of this input or textarea\n * -@offsets Object of same form that is returned from get*\n */\n\nfunction setSelection(input, offsets) {\n var start = offsets.start;\n var end = offsets.end;\n\n if (end === undefined) {\n end = start;\n }\n\n if ('selectionStart' in input) {\n input.selectionStart = start;\n input.selectionEnd = Math.min(end, input.value.length);\n } else {\n setOffsets(input, offsets);\n }\n}\n\nvar skipSelectionChangeEvent = canUseDOM && 'documentMode' in document && document.documentMode <= 11;\n\nfunction registerEvents$3() {\n registerTwoPhaseEvent('onSelect', ['focusout', 'contextmenu', 'dragend', 'focusin', 'keydown', 'keyup', 'mousedown', 'mouseup', 'selectionchange']);\n}\n\nvar activeElement$1 = null;\nvar activeElementInst$1 = null;\nvar lastSelection = null;\nvar mouseDown = false;\n/**\n * Get an object which is a unique representation of the current selection.\n *\n * The return value will not be consistent across nodes or browsers, but\n * two identical selections on the same node will return identical objects.\n */\n\nfunction getSelection$1(node) {\n if ('selectionStart' in node && hasSelectionCapabilities(node)) {\n return {\n start: node.selectionStart,\n end: node.selectionEnd\n };\n } else {\n var win = node.ownerDocument && node.ownerDocument.defaultView || window;\n var selection = win.getSelection();\n return {\n anchorNode: selection.anchorNode,\n anchorOffset: selection.anchorOffset,\n focusNode: selection.focusNode,\n focusOffset: selection.focusOffset\n };\n }\n}\n/**\n * Get document associated with the event target.\n */\n\n\nfunction getEventTargetDocument(eventTarget) {\n return eventTarget.window === eventTarget ? eventTarget.document : eventTarget.nodeType === DOCUMENT_NODE ? eventTarget : eventTarget.ownerDocument;\n}\n/**\n * Poll selection to see whether it's changed.\n *\n * @param {object} nativeEvent\n * @param {object} nativeEventTarget\n * @return {?SyntheticEvent}\n */\n\n\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n // Ensure we have the right element, and that the user is not dragging a\n // selection (this matches native `select` event behavior). In HTML5, select\n // fires only on input and textarea thus if there's no focused element we\n // won't dispatch.\n var doc = getEventTargetDocument(nativeEventTarget);\n\n if (mouseDown || activeElement$1 == null || activeElement$1 !== getActiveElement(doc)) {\n return;\n } // Only fire when selection has actually changed.\n\n\n var currentSelection = getSelection$1(activeElement$1);\n\n if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {\n lastSelection = currentSelection;\n var listeners = accumulateTwoPhaseListeners(activeElementInst$1, 'onSelect');\n\n if (listeners.length > 0) {\n var event = new SyntheticEvent('onSelect', 'select', null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n event.target = activeElement$1;\n }\n }\n}\n/**\n * This plugin creates an `onSelect` event that normalizes select events\n * across form elements.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - contentEditable\n *\n * This differs from native browser implementations in the following ways:\n * - Fires on contentEditable fields as well as inputs.\n * - Fires for collapsed selection.\n * - Fires after user input.\n */\n\n\nfunction extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var targetNode = targetInst ? getNodeFromInstance(targetInst) : window;\n\n switch (domEventName) {\n // Track the input node that has focus.\n case 'focusin':\n if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {\n activeElement$1 = targetNode;\n activeElementInst$1 = targetInst;\n lastSelection = null;\n }\n\n break;\n\n case 'focusout':\n activeElement$1 = null;\n activeElementInst$1 = null;\n lastSelection = null;\n break;\n // Don't fire the event while the user is dragging. This matches the\n // semantics of the native select event.\n\n case 'mousedown':\n mouseDown = true;\n break;\n\n case 'contextmenu':\n case 'mouseup':\n case 'dragend':\n mouseDown = false;\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n break;\n // Chrome and IE fire non-standard event when selection is changed (and\n // sometimes when it hasn't). IE's event fires out of order with respect\n // to key and input events on deletion, so we discard it.\n //\n // Firefox doesn't support selectionchange, so check selection status\n // after each key entry. The selection changes after keydown and before\n // keyup, but we check on keydown as well in the case of holding down a\n // key, when multiple keydown events are fired but only one keyup is.\n // This is also our approach for IE handling, for the reason above.\n\n case 'selectionchange':\n if (skipSelectionChangeEvent) {\n break;\n }\n\n // falls through\n\n case 'keydown':\n case 'keyup':\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n }\n}\n\n/**\n * Generate a mapping of standard vendor prefixes using the defined style property and event name.\n *\n * @param {string} styleProp\n * @param {string} eventName\n * @returns {object}\n */\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n prefixes['Moz' + styleProp] = 'moz' + eventName;\n return prefixes;\n}\n/**\n * A list of event names to a configurable list of vendor prefixes.\n */\n\n\nvar vendorPrefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n animationiteration: makePrefixMap('Animation', 'AnimationIteration'),\n animationstart: makePrefixMap('Animation', 'AnimationStart'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n};\n/**\n * Event names that have already been detected and prefixed (if applicable).\n */\n\nvar prefixedEventNames = {};\n/**\n * Element to check for prefixes on.\n */\n\nvar style = {};\n/**\n * Bootstrap if a DOM exists.\n */\n\nif (canUseDOM) {\n style = document.createElement('div').style; // On some platforms, in particular some releases of Android 4.x,\n // the un-prefixed \"animation\" and \"transition\" properties are defined on the\n // style object but the events that fire will still be prefixed, so we need\n // to check if the un-prefixed events are usable, and if not remove them from the map.\n\n if (!('AnimationEvent' in window)) {\n delete vendorPrefixes.animationend.animation;\n delete vendorPrefixes.animationiteration.animation;\n delete vendorPrefixes.animationstart.animation;\n } // Same as above\n\n\n if (!('TransitionEvent' in window)) {\n delete vendorPrefixes.transitionend.transition;\n }\n}\n/**\n * Attempts to determine the correct vendor prefixed event name.\n *\n * @param {string} eventName\n * @returns {string}\n */\n\n\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n } else if (!vendorPrefixes[eventName]) {\n return eventName;\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n for (var styleProp in prefixMap) {\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {\n return prefixedEventNames[eventName] = prefixMap[styleProp];\n }\n }\n\n return eventName;\n}\n\nvar ANIMATION_END = getVendorPrefixedEventName('animationend');\nvar ANIMATION_ITERATION = getVendorPrefixedEventName('animationiteration');\nvar ANIMATION_START = getVendorPrefixedEventName('animationstart');\nvar TRANSITION_END = getVendorPrefixedEventName('transitionend');\n\nvar topLevelEventsToReactNames = new Map(); // NOTE: Capitalization is important in this list!\n//\n// E.g. it needs \"pointerDown\", not \"pointerdown\".\n// This is because we derive both React name (\"onPointerDown\")\n// and DOM name (\"pointerdown\") from the same list.\n//\n// Exceptions that don't match this convention are listed separately.\n//\n// prettier-ignore\n\nvar simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'toggle', 'touchMove', 'waiting', 'wheel'];\n\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\n\nfunction registerSimpleEvents() {\n for (var i = 0; i < simpleEventPluginEvents.length; i++) {\n var eventName = simpleEventPluginEvents[i];\n var domEventName = eventName.toLowerCase();\n var capitalizedEvent = eventName[0].toUpperCase() + eventName.slice(1);\n registerSimpleEvent(domEventName, 'on' + capitalizedEvent);\n } // Special cases where event names don't match.\n\n\n registerSimpleEvent(ANIMATION_END, 'onAnimationEnd');\n registerSimpleEvent(ANIMATION_ITERATION, 'onAnimationIteration');\n registerSimpleEvent(ANIMATION_START, 'onAnimationStart');\n registerSimpleEvent('dblclick', 'onDoubleClick');\n registerSimpleEvent('focusin', 'onFocus');\n registerSimpleEvent('focusout', 'onBlur');\n registerSimpleEvent(TRANSITION_END, 'onTransitionEnd');\n}\n\nfunction extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var reactName = topLevelEventsToReactNames.get(domEventName);\n\n if (reactName === undefined) {\n return;\n }\n\n var SyntheticEventCtor = SyntheticEvent;\n var reactEventType = domEventName;\n\n switch (domEventName) {\n case 'keypress':\n // Firefox creates a keypress event for function keys too. This removes\n // the unwanted keypress events. Enter is however both printable and\n // non-printable. One would expect Tab to be as well (but it isn't).\n if (getEventCharCode(nativeEvent) === 0) {\n return;\n }\n\n /* falls through */\n\n case 'keydown':\n case 'keyup':\n SyntheticEventCtor = SyntheticKeyboardEvent;\n break;\n\n case 'focusin':\n reactEventType = 'focus';\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'focusout':\n reactEventType = 'blur';\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'beforeblur':\n case 'afterblur':\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'click':\n // Firefox creates a click event on right mouse clicks. This removes the\n // unwanted click events.\n if (nativeEvent.button === 2) {\n return;\n }\n\n /* falls through */\n\n case 'auxclick':\n case 'dblclick':\n case 'mousedown':\n case 'mousemove':\n case 'mouseup': // TODO: Disabled elements should not respond to mouse events\n\n /* falls through */\n\n case 'mouseout':\n case 'mouseover':\n case 'contextmenu':\n SyntheticEventCtor = SyntheticMouseEvent;\n break;\n\n case 'drag':\n case 'dragend':\n case 'dragenter':\n case 'dragexit':\n case 'dragleave':\n case 'dragover':\n case 'dragstart':\n case 'drop':\n SyntheticEventCtor = SyntheticDragEvent;\n break;\n\n case 'touchcancel':\n case 'touchend':\n case 'touchmove':\n case 'touchstart':\n SyntheticEventCtor = SyntheticTouchEvent;\n break;\n\n case ANIMATION_END:\n case ANIMATION_ITERATION:\n case ANIMATION_START:\n SyntheticEventCtor = SyntheticAnimationEvent;\n break;\n\n case TRANSITION_END:\n SyntheticEventCtor = SyntheticTransitionEvent;\n break;\n\n case 'scroll':\n SyntheticEventCtor = SyntheticUIEvent;\n break;\n\n case 'wheel':\n SyntheticEventCtor = SyntheticWheelEvent;\n break;\n\n case 'copy':\n case 'cut':\n case 'paste':\n SyntheticEventCtor = SyntheticClipboardEvent;\n break;\n\n case 'gotpointercapture':\n case 'lostpointercapture':\n case 'pointercancel':\n case 'pointerdown':\n case 'pointermove':\n case 'pointerout':\n case 'pointerover':\n case 'pointerup':\n SyntheticEventCtor = SyntheticPointerEvent;\n break;\n }\n\n var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0;\n\n {\n // Some events don't bubble in the browser.\n // In the past, React has always bubbled them, but this can be surprising.\n // We're going to try aligning closer to the browser behavior by not bubbling\n // them in React either. We'll start by not bubbling onScroll, and then expand.\n var accumulateTargetOnly = !inCapturePhase && // TODO: ideally, we'd eventually add all events from\n // nonDelegatedEvents list in DOMPluginEventSystem.\n // Then we can remove this special list.\n // This is a breaking change that can wait until React 18.\n domEventName === 'scroll';\n\n var _listeners = accumulateSinglePhaseListeners(targetInst, reactName, nativeEvent.type, inCapturePhase, accumulateTargetOnly);\n\n if (_listeners.length > 0) {\n // Intentionally create event lazily.\n var _event = new SyntheticEventCtor(reactName, reactEventType, null, nativeEvent, nativeEventTarget);\n\n dispatchQueue.push({\n event: _event,\n listeners: _listeners\n });\n }\n }\n}\n\n// TODO: remove top-level side effect.\nregisterSimpleEvents();\nregisterEvents$2();\nregisterEvents$1();\nregisterEvents$3();\nregisterEvents();\n\nfunction extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n // TODO: we should remove the concept of a \"SimpleEventPlugin\".\n // This is the basic functionality of the event system. All\n // the other plugins are essentially polyfills. So the plugin\n // should probably be inlined somewhere and have its logic\n // be core the to event system. This would potentially allow\n // us to ship builds of React without the polyfilled plugins below.\n extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\n var shouldProcessPolyfillPlugins = (eventSystemFlags & SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS) === 0; // We don't process these events unless we are in the\n // event's native \"bubble\" phase, which means that we're\n // not in the capture phase. That's because we emulate\n // the capture phase here still. This is a trade-off,\n // because in an ideal world we would not emulate and use\n // the phases properly, like we do with the SimpleEvent\n // plugin. However, the plugins below either expect\n // emulation (EnterLeave) or use state localized to that\n // plugin (BeforeInput, Change, Select). The state in\n // these modules complicates things, as you'll essentially\n // get the case where the capture phase event might change\n // state, only for the following bubble event to come in\n // later and not trigger anything as the state now\n // invalidates the heuristics of the event plugin. We\n // could alter all these plugins to work in such ways, but\n // that might cause other unknown side-effects that we\n // can't foresee right now.\n\n if (shouldProcessPolyfillPlugins) {\n extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n }\n} // List of events that need to be individually attached to media elements.\n\n\nvar mediaEventTypes = ['abort', 'canplay', 'canplaythrough', 'durationchange', 'emptied', 'encrypted', 'ended', 'error', 'loadeddata', 'loadedmetadata', 'loadstart', 'pause', 'play', 'playing', 'progress', 'ratechange', 'resize', 'seeked', 'seeking', 'stalled', 'suspend', 'timeupdate', 'volumechange', 'waiting']; // We should not delegate these events to the container, but rather\n// set them on the actual target element itself. This is primarily\n// because these events do not consistently bubble in the DOM.\n\nvar nonDelegatedEvents = new Set(['cancel', 'close', 'invalid', 'load', 'scroll', 'toggle'].concat(mediaEventTypes));\n\nfunction executeDispatch(event, listener, currentTarget) {\n var type = event.type || 'unknown-event';\n event.currentTarget = currentTarget;\n invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event);\n event.currentTarget = null;\n}\n\nfunction processDispatchQueueItemsInOrder(event, dispatchListeners, inCapturePhase) {\n var previousInstance;\n\n if (inCapturePhase) {\n for (var i = dispatchListeners.length - 1; i >= 0; i--) {\n var _dispatchListeners$i = dispatchListeners[i],\n instance = _dispatchListeners$i.instance,\n currentTarget = _dispatchListeners$i.currentTarget,\n listener = _dispatchListeners$i.listener;\n\n if (instance !== previousInstance && event.isPropagationStopped()) {\n return;\n }\n\n executeDispatch(event, listener, currentTarget);\n previousInstance = instance;\n }\n } else {\n for (var _i = 0; _i < dispatchListeners.length; _i++) {\n var _dispatchListeners$_i = dispatchListeners[_i],\n _instance = _dispatchListeners$_i.instance,\n _currentTarget = _dispatchListeners$_i.currentTarget,\n _listener = _dispatchListeners$_i.listener;\n\n if (_instance !== previousInstance && event.isPropagationStopped()) {\n return;\n }\n\n executeDispatch(event, _listener, _currentTarget);\n previousInstance = _instance;\n }\n }\n}\n\nfunction processDispatchQueue(dispatchQueue, eventSystemFlags) {\n var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0;\n\n for (var i = 0; i < dispatchQueue.length; i++) {\n var _dispatchQueue$i = dispatchQueue[i],\n event = _dispatchQueue$i.event,\n listeners = _dispatchQueue$i.listeners;\n processDispatchQueueItemsInOrder(event, listeners, inCapturePhase); // event system doesn't use pooling.\n } // This would be a good time to rethrow if any of the event handlers threw.\n\n\n rethrowCaughtError();\n}\n\nfunction dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) {\n var nativeEventTarget = getEventTarget(nativeEvent);\n var dispatchQueue = [];\n extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\n processDispatchQueue(dispatchQueue, eventSystemFlags);\n}\n\nfunction listenToNonDelegatedEvent(domEventName, targetElement) {\n {\n if (!nonDelegatedEvents.has(domEventName)) {\n error('Did not expect a listenToNonDelegatedEvent() call for \"%s\". ' + 'This is a bug in React. Please file an issue.', domEventName);\n }\n }\n\n var isCapturePhaseListener = false;\n var listenerSet = getEventListenerSet(targetElement);\n var listenerSetKey = getListenerSetKey(domEventName, isCapturePhaseListener);\n\n if (!listenerSet.has(listenerSetKey)) {\n addTrappedEventListener(targetElement, domEventName, IS_NON_DELEGATED, isCapturePhaseListener);\n listenerSet.add(listenerSetKey);\n }\n}\nfunction listenToNativeEvent(domEventName, isCapturePhaseListener, target) {\n {\n if (nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener) {\n error('Did not expect a listenToNativeEvent() call for \"%s\" in the bubble phase. ' + 'This is a bug in React. Please file an issue.', domEventName);\n }\n }\n\n var eventSystemFlags = 0;\n\n if (isCapturePhaseListener) {\n eventSystemFlags |= IS_CAPTURE_PHASE;\n }\n\n addTrappedEventListener(target, domEventName, eventSystemFlags, isCapturePhaseListener);\n} // This is only used by createEventHandle when the\nvar listeningMarker = '_reactListening' + Math.random().toString(36).slice(2);\nfunction listenToAllSupportedEvents(rootContainerElement) {\n if (!rootContainerElement[listeningMarker]) {\n rootContainerElement[listeningMarker] = true;\n allNativeEvents.forEach(function (domEventName) {\n // We handle selectionchange separately because it\n // doesn't bubble and needs to be on the document.\n if (domEventName !== 'selectionchange') {\n if (!nonDelegatedEvents.has(domEventName)) {\n listenToNativeEvent(domEventName, false, rootContainerElement);\n }\n\n listenToNativeEvent(domEventName, true, rootContainerElement);\n }\n });\n var ownerDocument = rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;\n\n if (ownerDocument !== null) {\n // The selectionchange event also needs deduplication\n // but it is attached to the document.\n if (!ownerDocument[listeningMarker]) {\n ownerDocument[listeningMarker] = true;\n listenToNativeEvent('selectionchange', false, ownerDocument);\n }\n }\n }\n}\n\nfunction addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener, isDeferredListenerForLegacyFBSupport) {\n var listener = createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags); // If passive option is not supported, then the event will be\n // active and not passive.\n\n var isPassiveListener = undefined;\n\n if (passiveBrowserEventsSupported) {\n // Browsers introduced an intervention, making these events\n // passive by default on document. React doesn't bind them\n // to document anymore, but changing this now would undo\n // the performance wins from the change. So we emulate\n // the existing behavior manually on the roots now.\n // https://github.com/facebook/react/issues/19651\n if (domEventName === 'touchstart' || domEventName === 'touchmove' || domEventName === 'wheel') {\n isPassiveListener = true;\n }\n }\n\n targetContainer = targetContainer;\n var unsubscribeListener; // When legacyFBSupport is enabled, it's for when we\n\n\n if (isCapturePhaseListener) {\n if (isPassiveListener !== undefined) {\n unsubscribeListener = addEventCaptureListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener);\n } else {\n unsubscribeListener = addEventCaptureListener(targetContainer, domEventName, listener);\n }\n } else {\n if (isPassiveListener !== undefined) {\n unsubscribeListener = addEventBubbleListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener);\n } else {\n unsubscribeListener = addEventBubbleListener(targetContainer, domEventName, listener);\n }\n }\n}\n\nfunction isMatchingRootContainer(grandContainer, targetContainer) {\n return grandContainer === targetContainer || grandContainer.nodeType === COMMENT_NODE && grandContainer.parentNode === targetContainer;\n}\n\nfunction dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) {\n var ancestorInst = targetInst;\n\n if ((eventSystemFlags & IS_EVENT_HANDLE_NON_MANAGED_NODE) === 0 && (eventSystemFlags & IS_NON_DELEGATED) === 0) {\n var targetContainerNode = targetContainer; // If we are using the legacy FB support flag, we\n\n if (targetInst !== null) {\n // The below logic attempts to work out if we need to change\n // the target fiber to a different ancestor. We had similar logic\n // in the legacy event system, except the big difference between\n // systems is that the modern event system now has an event listener\n // attached to each React Root and React Portal Root. Together,\n // the DOM nodes representing these roots are the \"rootContainer\".\n // To figure out which ancestor instance we should use, we traverse\n // up the fiber tree from the target instance and attempt to find\n // root boundaries that match that of our current \"rootContainer\".\n // If we find that \"rootContainer\", we find the parent fiber\n // sub-tree for that root and make that our ancestor instance.\n var node = targetInst;\n\n mainLoop: while (true) {\n if (node === null) {\n return;\n }\n\n var nodeTag = node.tag;\n\n if (nodeTag === HostRoot || nodeTag === HostPortal) {\n var container = node.stateNode.containerInfo;\n\n if (isMatchingRootContainer(container, targetContainerNode)) {\n break;\n }\n\n if (nodeTag === HostPortal) {\n // The target is a portal, but it's not the rootContainer we're looking for.\n // Normally portals handle their own events all the way down to the root.\n // So we should be able to stop now. However, we don't know if this portal\n // was part of *our* root.\n var grandNode = node.return;\n\n while (grandNode !== null) {\n var grandTag = grandNode.tag;\n\n if (grandTag === HostRoot || grandTag === HostPortal) {\n var grandContainer = grandNode.stateNode.containerInfo;\n\n if (isMatchingRootContainer(grandContainer, targetContainerNode)) {\n // This is the rootContainer we're looking for and we found it as\n // a parent of the Portal. That means we can ignore it because the\n // Portal will bubble through to us.\n return;\n }\n }\n\n grandNode = grandNode.return;\n }\n } // Now we need to find it's corresponding host fiber in the other\n // tree. To do this we can use getClosestInstanceFromNode, but we\n // need to validate that the fiber is a host instance, otherwise\n // we need to traverse up through the DOM till we find the correct\n // node that is from the other tree.\n\n\n while (container !== null) {\n var parentNode = getClosestInstanceFromNode(container);\n\n if (parentNode === null) {\n return;\n }\n\n var parentTag = parentNode.tag;\n\n if (parentTag === HostComponent || parentTag === HostText) {\n node = ancestorInst = parentNode;\n continue mainLoop;\n }\n\n container = container.parentNode;\n }\n }\n\n node = node.return;\n }\n }\n }\n\n batchedUpdates(function () {\n return dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, ancestorInst);\n });\n}\n\nfunction createDispatchListener(instance, listener, currentTarget) {\n return {\n instance: instance,\n listener: listener,\n currentTarget: currentTarget\n };\n}\n\nfunction accumulateSinglePhaseListeners(targetFiber, reactName, nativeEventType, inCapturePhase, accumulateTargetOnly, nativeEvent) {\n var captureName = reactName !== null ? reactName + 'Capture' : null;\n var reactEventName = inCapturePhase ? captureName : reactName;\n var listeners = [];\n var instance = targetFiber;\n var lastHostComponent = null; // Accumulate all instances and listeners via the target -> root path.\n\n while (instance !== null) {\n var _instance2 = instance,\n stateNode = _instance2.stateNode,\n tag = _instance2.tag; // Handle listeners that are on HostComponents (i.e. <div>)\n\n if (tag === HostComponent && stateNode !== null) {\n lastHostComponent = stateNode; // createEventHandle listeners\n\n\n if (reactEventName !== null) {\n var listener = getListener(instance, reactEventName);\n\n if (listener != null) {\n listeners.push(createDispatchListener(instance, listener, lastHostComponent));\n }\n }\n } // If we are only accumulating events for the target, then we don't\n // continue to propagate through the React fiber tree to find other\n // listeners.\n\n\n if (accumulateTargetOnly) {\n break;\n } // If we are processing the onBeforeBlur event, then we need to take\n\n instance = instance.return;\n }\n\n return listeners;\n} // We should only use this function for:\n// - BeforeInputEventPlugin\n// - ChangeEventPlugin\n// - SelectEventPlugin\n// This is because we only process these plugins\n// in the bubble phase, so we need to accumulate two\n// phase event listeners (via emulation).\n\nfunction accumulateTwoPhaseListeners(targetFiber, reactName) {\n var captureName = reactName + 'Capture';\n var listeners = [];\n var instance = targetFiber; // Accumulate all instances and listeners via the target -> root path.\n\n while (instance !== null) {\n var _instance3 = instance,\n stateNode = _instance3.stateNode,\n tag = _instance3.tag; // Handle listeners that are on HostComponents (i.e. <div>)\n\n if (tag === HostComponent && stateNode !== null) {\n var currentTarget = stateNode;\n var captureListener = getListener(instance, captureName);\n\n if (captureListener != null) {\n listeners.unshift(createDispatchListener(instance, captureListener, currentTarget));\n }\n\n var bubbleListener = getListener(instance, reactName);\n\n if (bubbleListener != null) {\n listeners.push(createDispatchListener(instance, bubbleListener, currentTarget));\n }\n }\n\n instance = instance.return;\n }\n\n return listeners;\n}\n\nfunction getParent(inst) {\n if (inst === null) {\n return null;\n }\n\n do {\n inst = inst.return; // TODO: If this is a HostRoot we might want to bail out.\n // That is depending on if we want nested subtrees (layers) to bubble\n // events to their parent. We could also go through parentNode on the\n // host node but that wouldn't work for React Native and doesn't let us\n // do the portal feature.\n } while (inst && inst.tag !== HostComponent);\n\n if (inst) {\n return inst;\n }\n\n return null;\n}\n/**\n * Return the lowest common ancestor of A and B, or null if they are in\n * different trees.\n */\n\n\nfunction getLowestCommonAncestor(instA, instB) {\n var nodeA = instA;\n var nodeB = instB;\n var depthA = 0;\n\n for (var tempA = nodeA; tempA; tempA = getParent(tempA)) {\n depthA++;\n }\n\n var depthB = 0;\n\n for (var tempB = nodeB; tempB; tempB = getParent(tempB)) {\n depthB++;\n } // If A is deeper, crawl up.\n\n\n while (depthA - depthB > 0) {\n nodeA = getParent(nodeA);\n depthA--;\n } // If B is deeper, crawl up.\n\n\n while (depthB - depthA > 0) {\n nodeB = getParent(nodeB);\n depthB--;\n } // Walk in lockstep until we find a match.\n\n\n var depth = depthA;\n\n while (depth--) {\n if (nodeA === nodeB || nodeB !== null && nodeA === nodeB.alternate) {\n return nodeA;\n }\n\n nodeA = getParent(nodeA);\n nodeB = getParent(nodeB);\n }\n\n return null;\n}\n\nfunction accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target, common, inCapturePhase) {\n var registrationName = event._reactName;\n var listeners = [];\n var instance = target;\n\n while (instance !== null) {\n if (instance === common) {\n break;\n }\n\n var _instance4 = instance,\n alternate = _instance4.alternate,\n stateNode = _instance4.stateNode,\n tag = _instance4.tag;\n\n if (alternate !== null && alternate === common) {\n break;\n }\n\n if (tag === HostComponent && stateNode !== null) {\n var currentTarget = stateNode;\n\n if (inCapturePhase) {\n var captureListener = getListener(instance, registrationName);\n\n if (captureListener != null) {\n listeners.unshift(createDispatchListener(instance, captureListener, currentTarget));\n }\n } else if (!inCapturePhase) {\n var bubbleListener = getListener(instance, registrationName);\n\n if (bubbleListener != null) {\n listeners.push(createDispatchListener(instance, bubbleListener, currentTarget));\n }\n }\n }\n\n instance = instance.return;\n }\n\n if (listeners.length !== 0) {\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n }\n} // We should only use this function for:\n// - EnterLeaveEventPlugin\n// This is because we only process this plugin\n// in the bubble phase, so we need to accumulate two\n// phase event listeners.\n\n\nfunction accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leaveEvent, enterEvent, from, to) {\n var common = from && to ? getLowestCommonAncestor(from, to) : null;\n\n if (from !== null) {\n accumulateEnterLeaveListenersForEvent(dispatchQueue, leaveEvent, from, common, false);\n }\n\n if (to !== null && enterEvent !== null) {\n accumulateEnterLeaveListenersForEvent(dispatchQueue, enterEvent, to, common, true);\n }\n}\nfunction getListenerSetKey(domEventName, capture) {\n return domEventName + \"__\" + (capture ? 'capture' : 'bubble');\n}\n\nvar didWarnInvalidHydration = false;\nvar DANGEROUSLY_SET_INNER_HTML = 'dangerouslySetInnerHTML';\nvar SUPPRESS_CONTENT_EDITABLE_WARNING = 'suppressContentEditableWarning';\nvar SUPPRESS_HYDRATION_WARNING = 'suppressHydrationWarning';\nvar AUTOFOCUS = 'autoFocus';\nvar CHILDREN = 'children';\nvar STYLE = 'style';\nvar HTML$1 = '__html';\nvar warnedUnknownTags;\nvar validatePropertiesInDevelopment;\nvar warnForPropDifference;\nvar warnForExtraAttributes;\nvar warnForInvalidEventListener;\nvar canDiffStyleForHydrationWarning;\nvar normalizeHTML;\n\n{\n warnedUnknownTags = {\n // There are working polyfills for <dialog>. Let people use it.\n dialog: true,\n // Electron ships a custom <webview> tag to display external web content in\n // an isolated frame and process.\n // This tag is not present in non Electron environments such as JSDom which\n // is often used for testing purposes.\n // @see https://electronjs.org/docs/api/webview-tag\n webview: true\n };\n\n validatePropertiesInDevelopment = function (type, props) {\n validateProperties(type, props);\n validateProperties$1(type, props);\n validateProperties$2(type, props, {\n registrationNameDependencies: registrationNameDependencies,\n possibleRegistrationNames: possibleRegistrationNames\n });\n }; // IE 11 parses & normalizes the style attribute as opposed to other\n // browsers. It adds spaces and sorts the properties in some\n // non-alphabetical order. Handling that would require sorting CSS\n // properties in the client & server versions or applying\n // `expectedStyle` to a temporary DOM node to read its `style` attribute\n // normalized. Since it only affects IE, we're skipping style warnings\n // in that browser completely in favor of doing all that work.\n // See https://github.com/facebook/react/issues/11807\n\n\n canDiffStyleForHydrationWarning = canUseDOM && !document.documentMode;\n\n warnForPropDifference = function (propName, serverValue, clientValue) {\n if (didWarnInvalidHydration) {\n return;\n }\n\n var normalizedClientValue = normalizeMarkupForTextOrAttribute(clientValue);\n var normalizedServerValue = normalizeMarkupForTextOrAttribute(serverValue);\n\n if (normalizedServerValue === normalizedClientValue) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Prop `%s` did not match. Server: %s Client: %s', propName, JSON.stringify(normalizedServerValue), JSON.stringify(normalizedClientValue));\n };\n\n warnForExtraAttributes = function (attributeNames) {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n var names = [];\n attributeNames.forEach(function (name) {\n names.push(name);\n });\n\n error('Extra attributes from the server: %s', names);\n };\n\n warnForInvalidEventListener = function (registrationName, listener) {\n if (listener === false) {\n error('Expected `%s` listener to be a function, instead got `false`.\\n\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', registrationName, registrationName, registrationName);\n } else {\n error('Expected `%s` listener to be a function, instead got a value of `%s` type.', registrationName, typeof listener);\n }\n }; // Parse the HTML and read it back to normalize the HTML string so that it\n // can be used for comparison.\n\n\n normalizeHTML = function (parent, html) {\n // We could have created a separate document here to avoid\n // re-initializing custom elements if they exist. But this breaks\n // how <noscript> is being handled. So we use the same document.\n // See the discussion in https://github.com/facebook/react/pull/11157.\n var testElement = parent.namespaceURI === HTML_NAMESPACE ? parent.ownerDocument.createElement(parent.tagName) : parent.ownerDocument.createElementNS(parent.namespaceURI, parent.tagName);\n testElement.innerHTML = html;\n return testElement.innerHTML;\n };\n} // HTML parsing normalizes CR and CRLF to LF.\n// It also can turn \\u0000 into \\uFFFD inside attributes.\n// https://www.w3.org/TR/html5/single-page.html#preprocessing-the-input-stream\n// If we have a mismatch, it might be caused by that.\n// We will still patch up in this case but not fire the warning.\n\n\nvar NORMALIZE_NEWLINES_REGEX = /\\r\\n?/g;\nvar NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\\u0000|\\uFFFD/g;\n\nfunction normalizeMarkupForTextOrAttribute(markup) {\n {\n checkHtmlStringCoercion(markup);\n }\n\n var markupString = typeof markup === 'string' ? markup : '' + markup;\n return markupString.replace(NORMALIZE_NEWLINES_REGEX, '\\n').replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, '');\n}\n\nfunction checkForUnmatchedText(serverText, clientText, isConcurrentMode, shouldWarnDev) {\n var normalizedClientText = normalizeMarkupForTextOrAttribute(clientText);\n var normalizedServerText = normalizeMarkupForTextOrAttribute(serverText);\n\n if (normalizedServerText === normalizedClientText) {\n return;\n }\n\n if (shouldWarnDev) {\n {\n if (!didWarnInvalidHydration) {\n didWarnInvalidHydration = true;\n\n error('Text content did not match. Server: \"%s\" Client: \"%s\"', normalizedServerText, normalizedClientText);\n }\n }\n }\n\n if (isConcurrentMode && enableClientRenderFallbackOnTextMismatch) {\n // In concurrent roots, we throw when there's a text mismatch and revert to\n // client rendering, up to the nearest Suspense boundary.\n throw new Error('Text content does not match server-rendered HTML.');\n }\n}\n\nfunction getOwnerDocumentFromRootContainer(rootContainerElement) {\n return rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;\n}\n\nfunction noop() {}\n\nfunction trapClickOnNonInteractiveElement(node) {\n // Mobile Safari does not fire properly bubble click events on\n // non-interactive elements, which means delegated click listeners do not\n // fire. The workaround for this bug involves attaching an empty click\n // listener on the target node.\n // https://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n // Just set it using the onclick property so that we don't have to manage any\n // bookkeeping for it. Not sure if we need to clear it when the listener is\n // removed.\n // TODO: Only do this for the relevant Safaris maybe?\n node.onclick = noop;\n}\n\nfunction setInitialDOMProperties(tag, domElement, rootContainerElement, nextProps, isCustomComponentTag) {\n for (var propKey in nextProps) {\n if (!nextProps.hasOwnProperty(propKey)) {\n continue;\n }\n\n var nextProp = nextProps[propKey];\n\n if (propKey === STYLE) {\n {\n if (nextProp) {\n // Freeze the next style object so that we can assume it won't be\n // mutated. We have already warned for this in the past.\n Object.freeze(nextProp);\n }\n } // Relies on `updateStylesByID` not mutating `styleUpdates`.\n\n\n setValueForStyles(domElement, nextProp);\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n setInnerHTML(domElement, nextHtml);\n }\n } else if (propKey === CHILDREN) {\n if (typeof nextProp === 'string') {\n // Avoid setting initial textContent when the text is empty. In IE11 setting\n // textContent on a <textarea> will cause the placeholder to not\n // show within the <textarea> until it has been focused and blurred again.\n // https://github.com/facebook/react/issues/6731#issuecomment-254874553\n var canSetTextContent = tag !== 'textarea' || nextProp !== '';\n\n if (canSetTextContent) {\n setTextContent(domElement, nextProp);\n }\n } else if (typeof nextProp === 'number') {\n setTextContent(domElement, '' + nextProp);\n }\n } else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n } else if (nextProp != null) {\n setValueForProperty(domElement, propKey, nextProp, isCustomComponentTag);\n }\n }\n}\n\nfunction updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag) {\n // TODO: Handle wasCustomComponentTag\n for (var i = 0; i < updatePayload.length; i += 2) {\n var propKey = updatePayload[i];\n var propValue = updatePayload[i + 1];\n\n if (propKey === STYLE) {\n setValueForStyles(domElement, propValue);\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n setInnerHTML(domElement, propValue);\n } else if (propKey === CHILDREN) {\n setTextContent(domElement, propValue);\n } else {\n setValueForProperty(domElement, propKey, propValue, isCustomComponentTag);\n }\n }\n}\n\nfunction createElement(type, props, rootContainerElement, parentNamespace) {\n var isCustomComponentTag; // We create tags in the namespace of their parent container, except HTML\n // tags get no namespace.\n\n var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerElement);\n var domElement;\n var namespaceURI = parentNamespace;\n\n if (namespaceURI === HTML_NAMESPACE) {\n namespaceURI = getIntrinsicNamespace(type);\n }\n\n if (namespaceURI === HTML_NAMESPACE) {\n {\n isCustomComponentTag = isCustomComponent(type, props); // Should this check be gated by parent namespace? Not sure we want to\n // allow <SVG> or <mATH>.\n\n if (!isCustomComponentTag && type !== type.toLowerCase()) {\n error('<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', type);\n }\n }\n\n if (type === 'script') {\n // Create the script via .innerHTML so its \"parser-inserted\" flag is\n // set to true and it does not execute\n var div = ownerDocument.createElement('div');\n\n div.innerHTML = '<script><' + '/script>'; // eslint-disable-line\n // This is guaranteed to yield a script element.\n\n var firstChild = div.firstChild;\n domElement = div.removeChild(firstChild);\n } else if (typeof props.is === 'string') {\n // $FlowIssue `createElement` should be updated for Web Components\n domElement = ownerDocument.createElement(type, {\n is: props.is\n });\n } else {\n // Separate else branch instead of using `props.is || undefined` above because of a Firefox bug.\n // See discussion in https://github.com/facebook/react/pull/6896\n // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240\n domElement = ownerDocument.createElement(type); // Normally attributes are assigned in `setInitialDOMProperties`, however the `multiple` and `size`\n // attributes on `select`s needs to be added before `option`s are inserted.\n // This prevents:\n // - a bug where the `select` does not scroll to the correct option because singular\n // `select` elements automatically pick the first item #13222\n // - a bug where the `select` set the first item as selected despite the `size` attribute #14239\n // See https://github.com/facebook/react/issues/13222\n // and https://github.com/facebook/react/issues/14239\n\n if (type === 'select') {\n var node = domElement;\n\n if (props.multiple) {\n node.multiple = true;\n } else if (props.size) {\n // Setting a size greater than 1 causes a select to behave like `multiple=true`, where\n // it is possible that no option is selected.\n //\n // This is only necessary when a select in \"single selection mode\".\n node.size = props.size;\n }\n }\n }\n } else {\n domElement = ownerDocument.createElementNS(namespaceURI, type);\n }\n\n {\n if (namespaceURI === HTML_NAMESPACE) {\n if (!isCustomComponentTag && Object.prototype.toString.call(domElement) === '[object HTMLUnknownElement]' && !hasOwnProperty.call(warnedUnknownTags, type)) {\n warnedUnknownTags[type] = true;\n\n error('The tag <%s> is unrecognized in this browser. ' + 'If you meant to render a React component, start its name with ' + 'an uppercase letter.', type);\n }\n }\n }\n\n return domElement;\n}\nfunction createTextNode(text, rootContainerElement) {\n return getOwnerDocumentFromRootContainer(rootContainerElement).createTextNode(text);\n}\nfunction setInitialProperties(domElement, tag, rawProps, rootContainerElement) {\n var isCustomComponentTag = isCustomComponent(tag, rawProps);\n\n {\n validatePropertiesInDevelopment(tag, rawProps);\n } // TODO: Make sure that we check isMounted before firing any of these events.\n\n\n var props;\n\n switch (tag) {\n case 'dialog':\n listenToNonDelegatedEvent('cancel', domElement);\n listenToNonDelegatedEvent('close', domElement);\n props = rawProps;\n break;\n\n case 'iframe':\n case 'object':\n case 'embed':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the load event.\n listenToNonDelegatedEvent('load', domElement);\n props = rawProps;\n break;\n\n case 'video':\n case 'audio':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for all the media events.\n for (var i = 0; i < mediaEventTypes.length; i++) {\n listenToNonDelegatedEvent(mediaEventTypes[i], domElement);\n }\n\n props = rawProps;\n break;\n\n case 'source':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the error event.\n listenToNonDelegatedEvent('error', domElement);\n props = rawProps;\n break;\n\n case 'img':\n case 'image':\n case 'link':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for error and load events.\n listenToNonDelegatedEvent('error', domElement);\n listenToNonDelegatedEvent('load', domElement);\n props = rawProps;\n break;\n\n case 'details':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the toggle event.\n listenToNonDelegatedEvent('toggle', domElement);\n props = rawProps;\n break;\n\n case 'input':\n initWrapperState(domElement, rawProps);\n props = getHostProps(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'option':\n validateProps(domElement, rawProps);\n props = rawProps;\n break;\n\n case 'select':\n initWrapperState$1(domElement, rawProps);\n props = getHostProps$1(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'textarea':\n initWrapperState$2(domElement, rawProps);\n props = getHostProps$2(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n default:\n props = rawProps;\n }\n\n assertValidProps(tag, props);\n setInitialDOMProperties(tag, domElement, rootContainerElement, props, isCustomComponentTag);\n\n switch (tag) {\n case 'input':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper(domElement, rawProps, false);\n break;\n\n case 'textarea':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper$3(domElement);\n break;\n\n case 'option':\n postMountWrapper$1(domElement, rawProps);\n break;\n\n case 'select':\n postMountWrapper$2(domElement, rawProps);\n break;\n\n default:\n if (typeof props.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n} // Calculate the diff between the two objects.\n\nfunction diffProperties(domElement, tag, lastRawProps, nextRawProps, rootContainerElement) {\n {\n validatePropertiesInDevelopment(tag, nextRawProps);\n }\n\n var updatePayload = null;\n var lastProps;\n var nextProps;\n\n switch (tag) {\n case 'input':\n lastProps = getHostProps(domElement, lastRawProps);\n nextProps = getHostProps(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n case 'select':\n lastProps = getHostProps$1(domElement, lastRawProps);\n nextProps = getHostProps$1(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n case 'textarea':\n lastProps = getHostProps$2(domElement, lastRawProps);\n nextProps = getHostProps$2(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n default:\n lastProps = lastRawProps;\n nextProps = nextRawProps;\n\n if (typeof lastProps.onClick !== 'function' && typeof nextProps.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n\n assertValidProps(tag, nextProps);\n var propKey;\n var styleName;\n var styleUpdates = null;\n\n for (propKey in lastProps) {\n if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) {\n continue;\n }\n\n if (propKey === STYLE) {\n var lastStyle = lastProps[propKey];\n\n for (styleName in lastStyle) {\n if (lastStyle.hasOwnProperty(styleName)) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = '';\n }\n }\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML || propKey === CHILDREN) ; else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n // This is a special case. If any listener updates we need to ensure\n // that the \"current\" fiber pointer gets updated so we need a commit\n // to update this element.\n if (!updatePayload) {\n updatePayload = [];\n }\n } else {\n // For all other deleted properties we add it to the queue. We use\n // the allowed property list in the commit phase instead.\n (updatePayload = updatePayload || []).push(propKey, null);\n }\n }\n\n for (propKey in nextProps) {\n var nextProp = nextProps[propKey];\n var lastProp = lastProps != null ? lastProps[propKey] : undefined;\n\n if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) {\n continue;\n }\n\n if (propKey === STYLE) {\n {\n if (nextProp) {\n // Freeze the next style object so that we can assume it won't be\n // mutated. We have already warned for this in the past.\n Object.freeze(nextProp);\n }\n }\n\n if (lastProp) {\n // Unset styles on `lastProp` but not on `nextProp`.\n for (styleName in lastProp) {\n if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = '';\n }\n } // Update styles that changed since `lastProp`.\n\n\n for (styleName in nextProp) {\n if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = nextProp[styleName];\n }\n }\n } else {\n // Relies on `updateStylesByID` not mutating `styleUpdates`.\n if (!styleUpdates) {\n if (!updatePayload) {\n updatePayload = [];\n }\n\n updatePayload.push(propKey, styleUpdates);\n }\n\n styleUpdates = nextProp;\n }\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n var lastHtml = lastProp ? lastProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n if (lastHtml !== nextHtml) {\n (updatePayload = updatePayload || []).push(propKey, nextHtml);\n }\n }\n } else if (propKey === CHILDREN) {\n if (typeof nextProp === 'string' || typeof nextProp === 'number') {\n (updatePayload = updatePayload || []).push(propKey, '' + nextProp);\n }\n } else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n // We eagerly listen to this even though we haven't committed yet.\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n\n if (!updatePayload && lastProp !== nextProp) {\n // This is a special case. If any listener updates we need to ensure\n // that the \"current\" props pointer gets updated so we need a commit\n // to update this element.\n updatePayload = [];\n }\n } else {\n // For any other property we always add it to the queue and then we\n // filter it out using the allowed property list during the commit.\n (updatePayload = updatePayload || []).push(propKey, nextProp);\n }\n }\n\n if (styleUpdates) {\n {\n validateShorthandPropertyCollisionInDev(styleUpdates, nextProps[STYLE]);\n }\n\n (updatePayload = updatePayload || []).push(STYLE, styleUpdates);\n }\n\n return updatePayload;\n} // Apply the diff.\n\nfunction updateProperties(domElement, updatePayload, tag, lastRawProps, nextRawProps) {\n // Update checked *before* name.\n // In the middle of an update, it is possible to have multiple checked.\n // When a checked radio tries to change name, browser makes another radio's checked false.\n if (tag === 'input' && nextRawProps.type === 'radio' && nextRawProps.name != null) {\n updateChecked(domElement, nextRawProps);\n }\n\n var wasCustomComponentTag = isCustomComponent(tag, lastRawProps);\n var isCustomComponentTag = isCustomComponent(tag, nextRawProps); // Apply the diff.\n\n updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag); // TODO: Ensure that an update gets scheduled if any of the special props\n // changed.\n\n switch (tag) {\n case 'input':\n // Update the wrapper around inputs *after* updating props. This has to\n // happen after `updateDOMProperties`. Otherwise HTML5 input validations\n // raise warnings and prevent the new value from being assigned.\n updateWrapper(domElement, nextRawProps);\n break;\n\n case 'textarea':\n updateWrapper$1(domElement, nextRawProps);\n break;\n\n case 'select':\n // <select> value update needs to occur after <option> children\n // reconciliation\n postUpdateWrapper(domElement, nextRawProps);\n break;\n }\n}\n\nfunction getPossibleStandardName(propName) {\n {\n var lowerCasedName = propName.toLowerCase();\n\n if (!possibleStandardNames.hasOwnProperty(lowerCasedName)) {\n return null;\n }\n\n return possibleStandardNames[lowerCasedName] || null;\n }\n}\n\nfunction diffHydratedProperties(domElement, tag, rawProps, parentNamespace, rootContainerElement, isConcurrentMode, shouldWarnDev) {\n var isCustomComponentTag;\n var extraAttributeNames;\n\n {\n isCustomComponentTag = isCustomComponent(tag, rawProps);\n validatePropertiesInDevelopment(tag, rawProps);\n } // TODO: Make sure that we check isMounted before firing any of these events.\n\n\n switch (tag) {\n case 'dialog':\n listenToNonDelegatedEvent('cancel', domElement);\n listenToNonDelegatedEvent('close', domElement);\n break;\n\n case 'iframe':\n case 'object':\n case 'embed':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the load event.\n listenToNonDelegatedEvent('load', domElement);\n break;\n\n case 'video':\n case 'audio':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for all the media events.\n for (var i = 0; i < mediaEventTypes.length; i++) {\n listenToNonDelegatedEvent(mediaEventTypes[i], domElement);\n }\n\n break;\n\n case 'source':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the error event.\n listenToNonDelegatedEvent('error', domElement);\n break;\n\n case 'img':\n case 'image':\n case 'link':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for error and load events.\n listenToNonDelegatedEvent('error', domElement);\n listenToNonDelegatedEvent('load', domElement);\n break;\n\n case 'details':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the toggle event.\n listenToNonDelegatedEvent('toggle', domElement);\n break;\n\n case 'input':\n initWrapperState(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'option':\n validateProps(domElement, rawProps);\n break;\n\n case 'select':\n initWrapperState$1(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'textarea':\n initWrapperState$2(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n }\n\n assertValidProps(tag, rawProps);\n\n {\n extraAttributeNames = new Set();\n var attributes = domElement.attributes;\n\n for (var _i = 0; _i < attributes.length; _i++) {\n var name = attributes[_i].name.toLowerCase();\n\n switch (name) {\n // Controlled attributes are not validated\n // TODO: Only ignore them on controlled tags.\n case 'value':\n break;\n\n case 'checked':\n break;\n\n case 'selected':\n break;\n\n default:\n // Intentionally use the original name.\n // See discussion in https://github.com/facebook/react/pull/10676.\n extraAttributeNames.add(attributes[_i].name);\n }\n }\n }\n\n var updatePayload = null;\n\n for (var propKey in rawProps) {\n if (!rawProps.hasOwnProperty(propKey)) {\n continue;\n }\n\n var nextProp = rawProps[propKey];\n\n if (propKey === CHILDREN) {\n // For text content children we compare against textContent. This\n // might match additional HTML that is hidden when we read it using\n // textContent. E.g. \"foo\" will match \"f<span>oo</span>\" but that still\n // satisfies our requirement. Our requirement is not to produce perfect\n // HTML and attributes. Ideally we should preserve structure but it's\n // ok not to if the visible content is still enough to indicate what\n // even listeners these nodes might be wired up to.\n // TODO: Warn if there is more than a single textNode as a child.\n // TODO: Should we use domElement.firstChild.nodeValue to compare?\n if (typeof nextProp === 'string') {\n if (domElement.textContent !== nextProp) {\n if (rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n checkForUnmatchedText(domElement.textContent, nextProp, isConcurrentMode, shouldWarnDev);\n }\n\n updatePayload = [CHILDREN, nextProp];\n }\n } else if (typeof nextProp === 'number') {\n if (domElement.textContent !== '' + nextProp) {\n if (rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n checkForUnmatchedText(domElement.textContent, nextProp, isConcurrentMode, shouldWarnDev);\n }\n\n updatePayload = [CHILDREN, '' + nextProp];\n }\n }\n } else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n } else if (shouldWarnDev && true && // Convince Flow we've calculated it (it's DEV-only in this method.)\n typeof isCustomComponentTag === 'boolean') {\n // Validate that the properties correspond to their expected values.\n var serverValue = void 0;\n var propertyInfo = isCustomComponentTag && enableCustomElementPropertySupport ? null : getPropertyInfo(propKey);\n\n if (rawProps[SUPPRESS_HYDRATION_WARNING] === true) ; else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING || // Controlled attributes are not validated\n // TODO: Only ignore them on controlled tags.\n propKey === 'value' || propKey === 'checked' || propKey === 'selected') ; else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var serverHTML = domElement.innerHTML;\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n var expectedHTML = normalizeHTML(domElement, nextHtml);\n\n if (expectedHTML !== serverHTML) {\n warnForPropDifference(propKey, serverHTML, expectedHTML);\n }\n }\n } else if (propKey === STYLE) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey);\n\n if (canDiffStyleForHydrationWarning) {\n var expectedStyle = createDangerousStringForStyles(nextProp);\n serverValue = domElement.getAttribute('style');\n\n if (expectedStyle !== serverValue) {\n warnForPropDifference(propKey, serverValue, expectedStyle);\n }\n }\n } else if (isCustomComponentTag && !enableCustomElementPropertySupport) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey.toLowerCase());\n serverValue = getValueForAttribute(domElement, propKey, nextProp);\n\n if (nextProp !== serverValue) {\n warnForPropDifference(propKey, serverValue, nextProp);\n }\n } else if (!shouldIgnoreAttribute(propKey, propertyInfo, isCustomComponentTag) && !shouldRemoveAttribute(propKey, nextProp, propertyInfo, isCustomComponentTag)) {\n var isMismatchDueToBadCasing = false;\n\n if (propertyInfo !== null) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propertyInfo.attributeName);\n serverValue = getValueForProperty(domElement, propKey, nextProp, propertyInfo);\n } else {\n var ownNamespace = parentNamespace;\n\n if (ownNamespace === HTML_NAMESPACE) {\n ownNamespace = getIntrinsicNamespace(tag);\n }\n\n if (ownNamespace === HTML_NAMESPACE) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey.toLowerCase());\n } else {\n var standardName = getPossibleStandardName(propKey);\n\n if (standardName !== null && standardName !== propKey) {\n // If an SVG prop is supplied with bad casing, it will\n // be successfully parsed from HTML, but will produce a mismatch\n // (and would be incorrectly rendered on the client).\n // However, we already warn about bad casing elsewhere.\n // So we'll skip the misleading extra mismatch warning in this case.\n isMismatchDueToBadCasing = true; // $FlowFixMe - Should be inferred as not undefined.\n\n extraAttributeNames.delete(standardName);\n } // $FlowFixMe - Should be inferred as not undefined.\n\n\n extraAttributeNames.delete(propKey);\n }\n\n serverValue = getValueForAttribute(domElement, propKey, nextProp);\n }\n\n var dontWarnCustomElement = enableCustomElementPropertySupport ;\n\n if (!dontWarnCustomElement && nextProp !== serverValue && !isMismatchDueToBadCasing) {\n warnForPropDifference(propKey, serverValue, nextProp);\n }\n }\n }\n }\n\n {\n if (shouldWarnDev) {\n if ( // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.size > 0 && rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n // $FlowFixMe - Should be inferred as not undefined.\n warnForExtraAttributes(extraAttributeNames);\n }\n }\n }\n\n switch (tag) {\n case 'input':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper(domElement, rawProps, true);\n break;\n\n case 'textarea':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper$3(domElement);\n break;\n\n case 'select':\n case 'option':\n // For input and textarea we current always set the value property at\n // post mount to force it to diverge from attributes. However, for\n // option and select we don't quite do the same thing and select\n // is not resilient to the DOM state changing so we don't do that here.\n // TODO: Consider not doing this for input and textarea.\n break;\n\n default:\n if (typeof rawProps.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n\n return updatePayload;\n}\nfunction diffHydratedText(textNode, text, isConcurrentMode) {\n var isDifferent = textNode.nodeValue !== text;\n return isDifferent;\n}\nfunction warnForDeletedHydratableElement(parentNode, child) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Did not expect server HTML to contain a <%s> in <%s>.', child.nodeName.toLowerCase(), parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForDeletedHydratableText(parentNode, child) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Did not expect server HTML to contain the text node \"%s\" in <%s>.', child.nodeValue, parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForInsertedHydratedElement(parentNode, tag, props) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Expected server HTML to contain a matching <%s> in <%s>.', tag, parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForInsertedHydratedText(parentNode, text) {\n {\n if (text === '') {\n // We expect to insert empty text nodes since they're not represented in\n // the HTML.\n // TODO: Remove this special case if we can just avoid inserting empty\n // text nodes.\n return;\n }\n\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Expected server HTML to contain a matching text node for \"%s\" in <%s>.', text, parentNode.nodeName.toLowerCase());\n }\n}\nfunction restoreControlledState$3(domElement, tag, props) {\n switch (tag) {\n case 'input':\n restoreControlledState(domElement, props);\n return;\n\n case 'textarea':\n restoreControlledState$2(domElement, props);\n return;\n\n case 'select':\n restoreControlledState$1(domElement, props);\n return;\n }\n}\n\nvar validateDOMNesting = function () {};\n\nvar updatedAncestorInfo = function () {};\n\n{\n // This validation code was written based on the HTML5 parsing spec:\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n //\n // Note: this does not catch all invalid nesting, nor does it try to (as it's\n // not clear what practical benefit doing so provides); instead, we warn only\n // for cases where the parser will give a parse tree differing from what React\n // intended. For example, <b><div></div></b> is invalid but we don't warn\n // because it still parses correctly; we do warn for other cases like nested\n // <p> tags where the beginning of the second element implicitly closes the\n // first, causing a confusing mess.\n // https://html.spec.whatwg.org/multipage/syntax.html#special\n var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n\n var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template', // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point\n // TODO: Distinguish by namespace here -- for <title>, including it here\n // errs on the side of fewer warnings\n 'foreignObject', 'desc', 'title']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope\n\n var buttonScopeTags = inScopeTags.concat(['button']); // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags\n\n var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];\n var emptyAncestorInfo = {\n current: null,\n formTag: null,\n aTagInScope: null,\n buttonTagInScope: null,\n nobrTagInScope: null,\n pTagInButtonScope: null,\n listItemTagAutoclosing: null,\n dlItemTagAutoclosing: null\n };\n\n updatedAncestorInfo = function (oldInfo, tag) {\n var ancestorInfo = assign({}, oldInfo || emptyAncestorInfo);\n\n var info = {\n tag: tag\n };\n\n if (inScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.aTagInScope = null;\n ancestorInfo.buttonTagInScope = null;\n ancestorInfo.nobrTagInScope = null;\n }\n\n if (buttonScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.pTagInButtonScope = null;\n } // See rules for 'li', 'dd', 'dt' start tags in\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {\n ancestorInfo.listItemTagAutoclosing = null;\n ancestorInfo.dlItemTagAutoclosing = null;\n }\n\n ancestorInfo.current = info;\n\n if (tag === 'form') {\n ancestorInfo.formTag = info;\n }\n\n if (tag === 'a') {\n ancestorInfo.aTagInScope = info;\n }\n\n if (tag === 'button') {\n ancestorInfo.buttonTagInScope = info;\n }\n\n if (tag === 'nobr') {\n ancestorInfo.nobrTagInScope = info;\n }\n\n if (tag === 'p') {\n ancestorInfo.pTagInButtonScope = info;\n }\n\n if (tag === 'li') {\n ancestorInfo.listItemTagAutoclosing = info;\n }\n\n if (tag === 'dd' || tag === 'dt') {\n ancestorInfo.dlItemTagAutoclosing = info;\n }\n\n return ancestorInfo;\n };\n /**\n * Returns whether\n */\n\n\n var isTagValidWithParent = function (tag, parentTag) {\n // First, let's check if we're in an unusual parsing mode...\n switch (parentTag) {\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect\n case 'select':\n return tag === 'option' || tag === 'optgroup' || tag === '#text';\n\n case 'optgroup':\n return tag === 'option' || tag === '#text';\n // Strictly speaking, seeing an <option> doesn't mean we're in a <select>\n // but\n\n case 'option':\n return tag === '#text';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption\n // No special behavior since these rules fall back to \"in body\" mode for\n // all except special table nodes which cause bad parsing behavior anyway.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr\n\n case 'tr':\n return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody\n\n case 'tbody':\n case 'thead':\n case 'tfoot':\n return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup\n\n case 'colgroup':\n return tag === 'col' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable\n\n case 'table':\n return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead\n\n case 'head':\n return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element\n\n case 'html':\n return tag === 'head' || tag === 'body' || tag === 'frameset';\n\n case 'frameset':\n return tag === 'frame';\n\n case '#document':\n return tag === 'html';\n } // Probably in the \"in body\" parsing mode, so we outlaw only tag combos\n // where the parsing rules cause implicit opens or closes to be added.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n switch (tag) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';\n\n case 'rp':\n case 'rt':\n return impliedEndTags.indexOf(parentTag) === -1;\n\n case 'body':\n case 'caption':\n case 'col':\n case 'colgroup':\n case 'frameset':\n case 'frame':\n case 'head':\n case 'html':\n case 'tbody':\n case 'td':\n case 'tfoot':\n case 'th':\n case 'thead':\n case 'tr':\n // These tags are only valid with a few parents that have special child\n // parsing rules -- if we're down here, then none of those matched and\n // so we allow it only if we don't know what the parent is, as all other\n // cases are invalid.\n return parentTag == null;\n }\n\n return true;\n };\n /**\n * Returns whether\n */\n\n\n var findInvalidAncestorForTag = function (tag, ancestorInfo) {\n switch (tag) {\n case 'address':\n case 'article':\n case 'aside':\n case 'blockquote':\n case 'center':\n case 'details':\n case 'dialog':\n case 'dir':\n case 'div':\n case 'dl':\n case 'fieldset':\n case 'figcaption':\n case 'figure':\n case 'footer':\n case 'header':\n case 'hgroup':\n case 'main':\n case 'menu':\n case 'nav':\n case 'ol':\n case 'p':\n case 'section':\n case 'summary':\n case 'ul':\n case 'pre':\n case 'listing':\n case 'table':\n case 'hr':\n case 'xmp':\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return ancestorInfo.pTagInButtonScope;\n\n case 'form':\n return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;\n\n case 'li':\n return ancestorInfo.listItemTagAutoclosing;\n\n case 'dd':\n case 'dt':\n return ancestorInfo.dlItemTagAutoclosing;\n\n case 'button':\n return ancestorInfo.buttonTagInScope;\n\n case 'a':\n // Spec says something about storing a list of markers, but it sounds\n // equivalent to this check.\n return ancestorInfo.aTagInScope;\n\n case 'nobr':\n return ancestorInfo.nobrTagInScope;\n }\n\n return null;\n };\n\n var didWarn$1 = {};\n\n validateDOMNesting = function (childTag, childText, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfo;\n var parentInfo = ancestorInfo.current;\n var parentTag = parentInfo && parentInfo.tag;\n\n if (childText != null) {\n if (childTag != null) {\n error('validateDOMNesting: when childText is passed, childTag should be null');\n }\n\n childTag = '#text';\n }\n\n var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;\n var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);\n var invalidParentOrAncestor = invalidParent || invalidAncestor;\n\n if (!invalidParentOrAncestor) {\n return;\n }\n\n var ancestorTag = invalidParentOrAncestor.tag;\n var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag;\n\n if (didWarn$1[warnKey]) {\n return;\n }\n\n didWarn$1[warnKey] = true;\n var tagDisplayName = childTag;\n var whitespaceInfo = '';\n\n if (childTag === '#text') {\n if (/\\S/.test(childText)) {\n tagDisplayName = 'Text nodes';\n } else {\n tagDisplayName = 'Whitespace text nodes';\n whitespaceInfo = \" Make sure you don't have any extra whitespace between tags on \" + 'each line of your source code.';\n }\n } else {\n tagDisplayName = '<' + childTag + '>';\n }\n\n if (invalidParent) {\n var info = '';\n\n if (ancestorTag === 'table' && childTag === 'tr') {\n info += ' Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by ' + 'the browser.';\n }\n\n error('validateDOMNesting(...): %s cannot appear as a child of <%s>.%s%s', tagDisplayName, ancestorTag, whitespaceInfo, info);\n } else {\n error('validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>.', tagDisplayName, ancestorTag);\n }\n };\n}\n\nvar SUPPRESS_HYDRATION_WARNING$1 = 'suppressHydrationWarning';\nvar SUSPENSE_START_DATA = '$';\nvar SUSPENSE_END_DATA = '/$';\nvar SUSPENSE_PENDING_START_DATA = '$?';\nvar SUSPENSE_FALLBACK_START_DATA = '$!';\nvar STYLE$1 = 'style';\nvar eventsEnabled = null;\nvar selectionInformation = null;\nfunction getRootHostContext(rootContainerInstance) {\n var type;\n var namespace;\n var nodeType = rootContainerInstance.nodeType;\n\n switch (nodeType) {\n case DOCUMENT_NODE:\n case DOCUMENT_FRAGMENT_NODE:\n {\n type = nodeType === DOCUMENT_NODE ? '#document' : '#fragment';\n var root = rootContainerInstance.documentElement;\n namespace = root ? root.namespaceURI : getChildNamespace(null, '');\n break;\n }\n\n default:\n {\n var container = nodeType === COMMENT_NODE ? rootContainerInstance.parentNode : rootContainerInstance;\n var ownNamespace = container.namespaceURI || null;\n type = container.tagName;\n namespace = getChildNamespace(ownNamespace, type);\n break;\n }\n }\n\n {\n var validatedTag = type.toLowerCase();\n var ancestorInfo = updatedAncestorInfo(null, validatedTag);\n return {\n namespace: namespace,\n ancestorInfo: ancestorInfo\n };\n }\n}\nfunction getChildHostContext(parentHostContext, type, rootContainerInstance) {\n {\n var parentHostContextDev = parentHostContext;\n var namespace = getChildNamespace(parentHostContextDev.namespace, type);\n var ancestorInfo = updatedAncestorInfo(parentHostContextDev.ancestorInfo, type);\n return {\n namespace: namespace,\n ancestorInfo: ancestorInfo\n };\n }\n}\nfunction getPublicInstance(instance) {\n return instance;\n}\nfunction prepareForCommit(containerInfo) {\n eventsEnabled = isEnabled();\n selectionInformation = getSelectionInformation();\n var activeInstance = null;\n\n setEnabled(false);\n return activeInstance;\n}\nfunction resetAfterCommit(containerInfo) {\n restoreSelection(selectionInformation);\n setEnabled(eventsEnabled);\n eventsEnabled = null;\n selectionInformation = null;\n}\nfunction createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) {\n var parentNamespace;\n\n {\n // TODO: take namespace into account when validating.\n var hostContextDev = hostContext;\n validateDOMNesting(type, null, hostContextDev.ancestorInfo);\n\n if (typeof props.children === 'string' || typeof props.children === 'number') {\n var string = '' + props.children;\n var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);\n validateDOMNesting(null, string, ownAncestorInfo);\n }\n\n parentNamespace = hostContextDev.namespace;\n }\n\n var domElement = createElement(type, props, rootContainerInstance, parentNamespace);\n precacheFiberNode(internalInstanceHandle, domElement);\n updateFiberProps(domElement, props);\n return domElement;\n}\nfunction appendInitialChild(parentInstance, child) {\n parentInstance.appendChild(child);\n}\nfunction finalizeInitialChildren(domElement, type, props, rootContainerInstance, hostContext) {\n setInitialProperties(domElement, type, props, rootContainerInstance);\n\n switch (type) {\n case 'button':\n case 'input':\n case 'select':\n case 'textarea':\n return !!props.autoFocus;\n\n case 'img':\n return true;\n\n default:\n return false;\n }\n}\nfunction prepareUpdate(domElement, type, oldProps, newProps, rootContainerInstance, hostContext) {\n {\n var hostContextDev = hostContext;\n\n if (typeof newProps.children !== typeof oldProps.children && (typeof newProps.children === 'string' || typeof newProps.children === 'number')) {\n var string = '' + newProps.children;\n var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);\n validateDOMNesting(null, string, ownAncestorInfo);\n }\n }\n\n return diffProperties(domElement, type, oldProps, newProps);\n}\nfunction shouldSetTextContent(type, props) {\n return type === 'textarea' || type === 'noscript' || typeof props.children === 'string' || typeof props.children === 'number' || typeof props.dangerouslySetInnerHTML === 'object' && props.dangerouslySetInnerHTML !== null && props.dangerouslySetInnerHTML.__html != null;\n}\nfunction createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) {\n {\n var hostContextDev = hostContext;\n validateDOMNesting(null, text, hostContextDev.ancestorInfo);\n }\n\n var textNode = createTextNode(text, rootContainerInstance);\n precacheFiberNode(internalInstanceHandle, textNode);\n return textNode;\n}\nfunction getCurrentEventPriority() {\n var currentEvent = window.event;\n\n if (currentEvent === undefined) {\n return DefaultEventPriority;\n }\n\n return getEventPriority(currentEvent.type);\n}\n// if a component just imports ReactDOM (e.g. for findDOMNode).\n// Some environments might not have setTimeout or clearTimeout.\n\nvar scheduleTimeout = typeof setTimeout === 'function' ? setTimeout : undefined;\nvar cancelTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined;\nvar noTimeout = -1;\nvar localPromise = typeof Promise === 'function' ? Promise : undefined; // -------------------\nvar scheduleMicrotask = typeof queueMicrotask === 'function' ? queueMicrotask : typeof localPromise !== 'undefined' ? function (callback) {\n return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick);\n} : scheduleTimeout; // TODO: Determine the best fallback here.\n\nfunction handleErrorInNextTick(error) {\n setTimeout(function () {\n throw error;\n });\n} // -------------------\nfunction commitMount(domElement, type, newProps, internalInstanceHandle) {\n // Despite the naming that might imply otherwise, this method only\n // fires if there is an `Update` effect scheduled during mounting.\n // This happens if `finalizeInitialChildren` returns `true` (which it\n // does to implement the `autoFocus` attribute on the client). But\n // there are also other cases when this might happen (such as patching\n // up text content during hydration mismatch). So we'll check this again.\n switch (type) {\n case 'button':\n case 'input':\n case 'select':\n case 'textarea':\n if (newProps.autoFocus) {\n domElement.focus();\n }\n\n return;\n\n case 'img':\n {\n if (newProps.src) {\n domElement.src = newProps.src;\n }\n\n return;\n }\n }\n}\nfunction commitUpdate(domElement, updatePayload, type, oldProps, newProps, internalInstanceHandle) {\n // Apply the diff to the DOM node.\n updateProperties(domElement, updatePayload, type, oldProps, newProps); // Update the props handle so that we know which props are the ones with\n // with current event handlers.\n\n updateFiberProps(domElement, newProps);\n}\nfunction resetTextContent(domElement) {\n setTextContent(domElement, '');\n}\nfunction commitTextUpdate(textInstance, oldText, newText) {\n textInstance.nodeValue = newText;\n}\nfunction appendChild(parentInstance, child) {\n parentInstance.appendChild(child);\n}\nfunction appendChildToContainer(container, child) {\n var parentNode;\n\n if (container.nodeType === COMMENT_NODE) {\n parentNode = container.parentNode;\n parentNode.insertBefore(child, container);\n } else {\n parentNode = container;\n parentNode.appendChild(child);\n } // This container might be used for a portal.\n // If something inside a portal is clicked, that click should bubble\n // through the React tree. However, on Mobile Safari the click would\n // never bubble through the *DOM* tree unless an ancestor with onclick\n // event exists. So we wouldn't see it and dispatch it.\n // This is why we ensure that non React root containers have inline onclick\n // defined.\n // https://github.com/facebook/react/issues/11918\n\n\n var reactRootContainer = container._reactRootContainer;\n\n if ((reactRootContainer === null || reactRootContainer === undefined) && parentNode.onclick === null) {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(parentNode);\n }\n}\nfunction insertBefore(parentInstance, child, beforeChild) {\n parentInstance.insertBefore(child, beforeChild);\n}\nfunction insertInContainerBefore(container, child, beforeChild) {\n if (container.nodeType === COMMENT_NODE) {\n container.parentNode.insertBefore(child, beforeChild);\n } else {\n container.insertBefore(child, beforeChild);\n }\n}\n\nfunction removeChild(parentInstance, child) {\n parentInstance.removeChild(child);\n}\nfunction removeChildFromContainer(container, child) {\n if (container.nodeType === COMMENT_NODE) {\n container.parentNode.removeChild(child);\n } else {\n container.removeChild(child);\n }\n}\nfunction clearSuspenseBoundary(parentInstance, suspenseInstance) {\n var node = suspenseInstance; // Delete all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n do {\n var nextNode = node.nextSibling;\n parentInstance.removeChild(node);\n\n if (nextNode && nextNode.nodeType === COMMENT_NODE) {\n var data = nextNode.data;\n\n if (data === SUSPENSE_END_DATA) {\n if (depth === 0) {\n parentInstance.removeChild(nextNode); // Retry if any event replaying was blocked on this.\n\n retryIfBlockedOn(suspenseInstance);\n return;\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_PENDING_START_DATA || data === SUSPENSE_FALLBACK_START_DATA) {\n depth++;\n }\n }\n\n node = nextNode;\n } while (node); // TODO: Warn, we didn't find the end comment boundary.\n // Retry if any event replaying was blocked on this.\n\n\n retryIfBlockedOn(suspenseInstance);\n}\nfunction clearSuspenseBoundaryFromContainer(container, suspenseInstance) {\n if (container.nodeType === COMMENT_NODE) {\n clearSuspenseBoundary(container.parentNode, suspenseInstance);\n } else if (container.nodeType === ELEMENT_NODE) {\n clearSuspenseBoundary(container, suspenseInstance);\n } // Retry if any event replaying was blocked on this.\n\n\n retryIfBlockedOn(container);\n}\nfunction hideInstance(instance) {\n // TODO: Does this work for all element types? What about MathML? Should we\n // pass host context to this method?\n instance = instance;\n var style = instance.style;\n\n if (typeof style.setProperty === 'function') {\n style.setProperty('display', 'none', 'important');\n } else {\n style.display = 'none';\n }\n}\nfunction hideTextInstance(textInstance) {\n textInstance.nodeValue = '';\n}\nfunction unhideInstance(instance, props) {\n instance = instance;\n var styleProp = props[STYLE$1];\n var display = styleProp !== undefined && styleProp !== null && styleProp.hasOwnProperty('display') ? styleProp.display : null;\n instance.style.display = dangerousStyleValue('display', display);\n}\nfunction unhideTextInstance(textInstance, text) {\n textInstance.nodeValue = text;\n}\nfunction clearContainer(container) {\n if (container.nodeType === ELEMENT_NODE) {\n container.textContent = '';\n } else if (container.nodeType === DOCUMENT_NODE) {\n if (container.documentElement) {\n container.removeChild(container.documentElement);\n }\n }\n} // -------------------\nfunction canHydrateInstance(instance, type, props) {\n if (instance.nodeType !== ELEMENT_NODE || type.toLowerCase() !== instance.nodeName.toLowerCase()) {\n return null;\n } // This has now been refined to an element node.\n\n\n return instance;\n}\nfunction canHydrateTextInstance(instance, text) {\n if (text === '' || instance.nodeType !== TEXT_NODE) {\n // Empty strings are not parsed by HTML so there won't be a correct match here.\n return null;\n } // This has now been refined to a text node.\n\n\n return instance;\n}\nfunction canHydrateSuspenseInstance(instance) {\n if (instance.nodeType !== COMMENT_NODE) {\n // Empty strings are not parsed by HTML so there won't be a correct match here.\n return null;\n } // This has now been refined to a suspense node.\n\n\n return instance;\n}\nfunction isSuspenseInstancePending(instance) {\n return instance.data === SUSPENSE_PENDING_START_DATA;\n}\nfunction isSuspenseInstanceFallback(instance) {\n return instance.data === SUSPENSE_FALLBACK_START_DATA;\n}\nfunction getSuspenseInstanceFallbackErrorDetails(instance) {\n var dataset = instance.nextSibling && instance.nextSibling.dataset;\n var digest, message, stack;\n\n if (dataset) {\n digest = dataset.dgst;\n\n {\n message = dataset.msg;\n stack = dataset.stck;\n }\n }\n\n {\n return {\n message: message,\n digest: digest,\n stack: stack\n };\n } // let value = {message: undefined, hash: undefined};\n // const nextSibling = instance.nextSibling;\n // if (nextSibling) {\n // const dataset = ((nextSibling: any): HTMLTemplateElement).dataset;\n // value.message = dataset.msg;\n // value.hash = dataset.hash;\n // if (true) {\n // value.stack = dataset.stack;\n // }\n // }\n // return value;\n\n}\nfunction registerSuspenseInstanceRetry(instance, callback) {\n instance._reactRetry = callback;\n}\n\nfunction getNextHydratable(node) {\n // Skip non-hydratable nodes.\n for (; node != null; node = node.nextSibling) {\n var nodeType = node.nodeType;\n\n if (nodeType === ELEMENT_NODE || nodeType === TEXT_NODE) {\n break;\n }\n\n if (nodeType === COMMENT_NODE) {\n var nodeData = node.data;\n\n if (nodeData === SUSPENSE_START_DATA || nodeData === SUSPENSE_FALLBACK_START_DATA || nodeData === SUSPENSE_PENDING_START_DATA) {\n break;\n }\n\n if (nodeData === SUSPENSE_END_DATA) {\n return null;\n }\n }\n }\n\n return node;\n}\n\nfunction getNextHydratableSibling(instance) {\n return getNextHydratable(instance.nextSibling);\n}\nfunction getFirstHydratableChild(parentInstance) {\n return getNextHydratable(parentInstance.firstChild);\n}\nfunction getFirstHydratableChildWithinContainer(parentContainer) {\n return getNextHydratable(parentContainer.firstChild);\n}\nfunction getFirstHydratableChildWithinSuspenseInstance(parentInstance) {\n return getNextHydratable(parentInstance.nextSibling);\n}\nfunction hydrateInstance(instance, type, props, rootContainerInstance, hostContext, internalInstanceHandle, shouldWarnDev) {\n precacheFiberNode(internalInstanceHandle, instance); // TODO: Possibly defer this until the commit phase where all the events\n // get attached.\n\n updateFiberProps(instance, props);\n var parentNamespace;\n\n {\n var hostContextDev = hostContext;\n parentNamespace = hostContextDev.namespace;\n } // TODO: Temporary hack to check if we're in a concurrent root. We can delete\n // when the legacy root API is removed.\n\n\n var isConcurrentMode = (internalInstanceHandle.mode & ConcurrentMode) !== NoMode;\n return diffHydratedProperties(instance, type, props, parentNamespace, rootContainerInstance, isConcurrentMode, shouldWarnDev);\n}\nfunction hydrateTextInstance(textInstance, text, internalInstanceHandle, shouldWarnDev) {\n precacheFiberNode(internalInstanceHandle, textInstance); // TODO: Temporary hack to check if we're in a concurrent root. We can delete\n // when the legacy root API is removed.\n\n var isConcurrentMode = (internalInstanceHandle.mode & ConcurrentMode) !== NoMode;\n return diffHydratedText(textInstance, text);\n}\nfunction hydrateSuspenseInstance(suspenseInstance, internalInstanceHandle) {\n precacheFiberNode(internalInstanceHandle, suspenseInstance);\n}\nfunction getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) {\n var node = suspenseInstance.nextSibling; // Skip past all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n while (node) {\n if (node.nodeType === COMMENT_NODE) {\n var data = node.data;\n\n if (data === SUSPENSE_END_DATA) {\n if (depth === 0) {\n return getNextHydratableSibling(node);\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\n depth++;\n }\n }\n\n node = node.nextSibling;\n } // TODO: Warn, we didn't find the end comment boundary.\n\n\n return null;\n} // Returns the SuspenseInstance if this node is a direct child of a\n// SuspenseInstance. I.e. if its previous sibling is a Comment with\n// SUSPENSE_x_START_DATA. Otherwise, null.\n\nfunction getParentSuspenseInstance(targetInstance) {\n var node = targetInstance.previousSibling; // Skip past all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n while (node) {\n if (node.nodeType === COMMENT_NODE) {\n var data = node.data;\n\n if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\n if (depth === 0) {\n return node;\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_END_DATA) {\n depth++;\n }\n }\n\n node = node.previousSibling;\n }\n\n return null;\n}\nfunction commitHydratedContainer(container) {\n // Retry if any event replaying was blocked on this.\n retryIfBlockedOn(container);\n}\nfunction commitHydratedSuspenseInstance(suspenseInstance) {\n // Retry if any event replaying was blocked on this.\n retryIfBlockedOn(suspenseInstance);\n}\nfunction shouldDeleteUnhydratedTailInstances(parentType) {\n return parentType !== 'head' && parentType !== 'body';\n}\nfunction didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, text, isConcurrentMode) {\n var shouldWarnDev = true;\n checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, shouldWarnDev);\n}\nfunction didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, text, isConcurrentMode) {\n if (parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n var shouldWarnDev = true;\n checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, shouldWarnDev);\n }\n}\nfunction didNotHydrateInstanceWithinContainer(parentContainer, instance) {\n {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentContainer, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentContainer, instance);\n }\n }\n}\nfunction didNotHydrateInstanceWithinSuspenseInstance(parentInstance, instance) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n\n if (parentNode !== null) {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentNode, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentNode, instance);\n }\n }\n }\n}\nfunction didNotHydrateInstance(parentType, parentProps, parentInstance, instance, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentInstance, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentInstance, instance);\n }\n }\n }\n}\nfunction didNotFindHydratableInstanceWithinContainer(parentContainer, type, props) {\n {\n warnForInsertedHydratedElement(parentContainer, type);\n }\n}\nfunction didNotFindHydratableTextInstanceWithinContainer(parentContainer, text) {\n {\n warnForInsertedHydratedText(parentContainer, text);\n }\n}\nfunction didNotFindHydratableInstanceWithinSuspenseInstance(parentInstance, type, props) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n if (parentNode !== null) warnForInsertedHydratedElement(parentNode, type);\n }\n}\nfunction didNotFindHydratableTextInstanceWithinSuspenseInstance(parentInstance, text) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n if (parentNode !== null) warnForInsertedHydratedText(parentNode, text);\n }\n}\nfunction didNotFindHydratableInstance(parentType, parentProps, parentInstance, type, props, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n warnForInsertedHydratedElement(parentInstance, type);\n }\n }\n}\nfunction didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, text, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n warnForInsertedHydratedText(parentInstance, text);\n }\n }\n}\nfunction errorHydratingContainer(parentContainer) {\n {\n // TODO: This gets logged by onRecoverableError, too, so we should be\n // able to remove it.\n error('An error occurred during hydration. The server HTML was replaced with client content in <%s>.', parentContainer.nodeName.toLowerCase());\n }\n}\nfunction preparePortalMount(portalInstance) {\n listenToAllSupportedEvents(portalInstance);\n}\n\nvar randomKey = Math.random().toString(36).slice(2);\nvar internalInstanceKey = '__reactFiber$' + randomKey;\nvar internalPropsKey = '__reactProps$' + randomKey;\nvar internalContainerInstanceKey = '__reactContainer$' + randomKey;\nvar internalEventHandlersKey = '__reactEvents$' + randomKey;\nvar internalEventHandlerListenersKey = '__reactListeners$' + randomKey;\nvar internalEventHandlesSetKey = '__reactHandles$' + randomKey;\nfunction detachDeletedInstance(node) {\n // TODO: This function is only called on host components. I don't think all of\n // these fields are relevant.\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction precacheFiberNode(hostInst, node) {\n node[internalInstanceKey] = hostInst;\n}\nfunction markContainerAsRoot(hostRoot, node) {\n node[internalContainerInstanceKey] = hostRoot;\n}\nfunction unmarkContainerAsRoot(node) {\n node[internalContainerInstanceKey] = null;\n}\nfunction isContainerMarkedAsRoot(node) {\n return !!node[internalContainerInstanceKey];\n} // Given a DOM node, return the closest HostComponent or HostText fiber ancestor.\n// If the target node is part of a hydrated or not yet rendered subtree, then\n// this may also return a SuspenseComponent or HostRoot to indicate that.\n// Conceptually the HostRoot fiber is a child of the Container node. So if you\n// pass the Container node as the targetNode, you will not actually get the\n// HostRoot back. To get to the HostRoot, you need to pass a child of it.\n// The same thing applies to Suspense boundaries.\n\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n\n if (targetInst) {\n // Don't return HostRoot or SuspenseComponent here.\n return targetInst;\n } // If the direct event target isn't a React owned DOM node, we need to look\n // to see if one of its parents is a React owned DOM node.\n\n\n var parentNode = targetNode.parentNode;\n\n while (parentNode) {\n // We'll check if this is a container root that could include\n // React nodes in the future. We need to check this first because\n // if we're a child of a dehydrated container, we need to first\n // find that inner container before moving on to finding the parent\n // instance. Note that we don't check this field on the targetNode\n // itself because the fibers are conceptually between the container\n // node and the first child. It isn't surrounding the container node.\n // If it's not a container, we check if it's an instance.\n targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey];\n\n if (targetInst) {\n // Since this wasn't the direct target of the event, we might have\n // stepped past dehydrated DOM nodes to get here. However they could\n // also have been non-React nodes. We need to answer which one.\n // If we the instance doesn't have any children, then there can't be\n // a nested suspense boundary within it. So we can use this as a fast\n // bailout. Most of the time, when people add non-React children to\n // the tree, it is using a ref to a child-less DOM node.\n // Normally we'd only need to check one of the fibers because if it\n // has ever gone from having children to deleting them or vice versa\n // it would have deleted the dehydrated boundary nested inside already.\n // However, since the HostRoot starts out with an alternate it might\n // have one on the alternate so we need to check in case this was a\n // root.\n var alternate = targetInst.alternate;\n\n if (targetInst.child !== null || alternate !== null && alternate.child !== null) {\n // Next we need to figure out if the node that skipped past is\n // nested within a dehydrated boundary and if so, which one.\n var suspenseInstance = getParentSuspenseInstance(targetNode);\n\n while (suspenseInstance !== null) {\n // We found a suspense instance. That means that we haven't\n // hydrated it yet. Even though we leave the comments in the\n // DOM after hydrating, and there are boundaries in the DOM\n // that could already be hydrated, we wouldn't have found them\n // through this pass since if the target is hydrated it would\n // have had an internalInstanceKey on it.\n // Let's get the fiber associated with the SuspenseComponent\n // as the deepest instance.\n var targetSuspenseInst = suspenseInstance[internalInstanceKey];\n\n if (targetSuspenseInst) {\n return targetSuspenseInst;\n } // If we don't find a Fiber on the comment, it might be because\n // we haven't gotten to hydrate it yet. There might still be a\n // parent boundary that hasn't above this one so we need to find\n // the outer most that is known.\n\n\n suspenseInstance = getParentSuspenseInstance(suspenseInstance); // If we don't find one, then that should mean that the parent\n // host component also hasn't hydrated yet. We can return it\n // below since it will bail out on the isMounted check later.\n }\n }\n\n return targetInst;\n }\n\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n\n return null;\n}\n/**\n * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent\n * instance, or null if the node was not rendered by this React.\n */\n\nfunction getInstanceFromNode(node) {\n var inst = node[internalInstanceKey] || node[internalContainerInstanceKey];\n\n if (inst) {\n if (inst.tag === HostComponent || inst.tag === HostText || inst.tag === SuspenseComponent || inst.tag === HostRoot) {\n return inst;\n } else {\n return null;\n }\n }\n\n return null;\n}\n/**\n * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding\n * DOM node.\n */\n\nfunction getNodeFromInstance(inst) {\n if (inst.tag === HostComponent || inst.tag === HostText) {\n // In Fiber this, is just the state node right now. We assume it will be\n // a host component or host text.\n return inst.stateNode;\n } // Without this first invariant, passing a non-DOM-component triggers the next\n // invariant for a missing parent, which is super confusing.\n\n\n throw new Error('getNodeFromInstance: Invalid argument.');\n}\nfunction getFiberCurrentPropsFromNode(node) {\n return node[internalPropsKey] || null;\n}\nfunction updateFiberProps(node, props) {\n node[internalPropsKey] = props;\n}\nfunction getEventListenerSet(node) {\n var elementListenerSet = node[internalEventHandlersKey];\n\n if (elementListenerSet === undefined) {\n elementListenerSet = node[internalEventHandlersKey] = new Set();\n }\n\n return elementListenerSet;\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar valueStack = [];\nvar fiberStack;\n\n{\n fiberStack = [];\n}\n\nvar index = -1;\n\nfunction createCursor(defaultValue) {\n return {\n current: defaultValue\n };\n}\n\nfunction pop(cursor, fiber) {\n if (index < 0) {\n {\n error('Unexpected pop.');\n }\n\n return;\n }\n\n {\n if (fiber !== fiberStack[index]) {\n error('Unexpected Fiber popped.');\n }\n }\n\n cursor.current = valueStack[index];\n valueStack[index] = null;\n\n {\n fiberStack[index] = null;\n }\n\n index--;\n}\n\nfunction push(cursor, value, fiber) {\n index++;\n valueStack[index] = cursor.current;\n\n {\n fiberStack[index] = fiber;\n }\n\n cursor.current = value;\n}\n\nvar warnedAboutMissingGetChildContext;\n\n{\n warnedAboutMissingGetChildContext = {};\n}\n\nvar emptyContextObject = {};\n\n{\n Object.freeze(emptyContextObject);\n} // A cursor to the current merged context object on the stack.\n\n\nvar contextStackCursor = createCursor(emptyContextObject); // A cursor to a boolean indicating whether the context has changed.\n\nvar didPerformWorkStackCursor = createCursor(false); // Keep track of the previous context object that was on the stack.\n// We use this to get access to the parent context after we have already\n// pushed the next context provider, and now need to merge their contexts.\n\nvar previousContext = emptyContextObject;\n\nfunction getUnmaskedContext(workInProgress, Component, didPushOwnContextIfProvider) {\n {\n if (didPushOwnContextIfProvider && isContextProvider(Component)) {\n // If the fiber is a context provider itself, when we read its context\n // we may have already pushed its own child context on the stack. A context\n // provider should not \"see\" its own child context. Therefore we read the\n // previous (parent) context instead for a context provider.\n return previousContext;\n }\n\n return contextStackCursor.current;\n }\n}\n\nfunction cacheContext(workInProgress, unmaskedContext, maskedContext) {\n {\n var instance = workInProgress.stateNode;\n instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext;\n instance.__reactInternalMemoizedMaskedChildContext = maskedContext;\n }\n}\n\nfunction getMaskedContext(workInProgress, unmaskedContext) {\n {\n var type = workInProgress.type;\n var contextTypes = type.contextTypes;\n\n if (!contextTypes) {\n return emptyContextObject;\n } // Avoid recreating masked context unless unmasked context has changed.\n // Failing to do this will result in unnecessary calls to componentWillReceiveProps.\n // This may trigger infinite loops if componentWillReceiveProps calls setState.\n\n\n var instance = workInProgress.stateNode;\n\n if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) {\n return instance.__reactInternalMemoizedMaskedChildContext;\n }\n\n var context = {};\n\n for (var key in contextTypes) {\n context[key] = unmaskedContext[key];\n }\n\n {\n var name = getComponentNameFromFiber(workInProgress) || 'Unknown';\n checkPropTypes(contextTypes, context, 'context', name);\n } // Cache unmasked context so we can avoid recreating masked context unless necessary.\n // Context is created before the class component is instantiated so check for instance.\n\n\n if (instance) {\n cacheContext(workInProgress, unmaskedContext, context);\n }\n\n return context;\n }\n}\n\nfunction hasContextChanged() {\n {\n return didPerformWorkStackCursor.current;\n }\n}\n\nfunction isContextProvider(type) {\n {\n var childContextTypes = type.childContextTypes;\n return childContextTypes !== null && childContextTypes !== undefined;\n }\n}\n\nfunction popContext(fiber) {\n {\n pop(didPerformWorkStackCursor, fiber);\n pop(contextStackCursor, fiber);\n }\n}\n\nfunction popTopLevelContextObject(fiber) {\n {\n pop(didPerformWorkStackCursor, fiber);\n pop(contextStackCursor, fiber);\n }\n}\n\nfunction pushTopLevelContextObject(fiber, context, didChange) {\n {\n if (contextStackCursor.current !== emptyContextObject) {\n throw new Error('Unexpected context found on stack. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n push(contextStackCursor, context, fiber);\n push(didPerformWorkStackCursor, didChange, fiber);\n }\n}\n\nfunction processChildContext(fiber, type, parentContext) {\n {\n var instance = fiber.stateNode;\n var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future.\n // It has only been added in Fiber to match the (unintentional) behavior in Stack.\n\n if (typeof instance.getChildContext !== 'function') {\n {\n var componentName = getComponentNameFromFiber(fiber) || 'Unknown';\n\n if (!warnedAboutMissingGetChildContext[componentName]) {\n warnedAboutMissingGetChildContext[componentName] = true;\n\n error('%s.childContextTypes is specified but there is no getChildContext() method ' + 'on the instance. You can either define getChildContext() on %s or remove ' + 'childContextTypes from it.', componentName, componentName);\n }\n }\n\n return parentContext;\n }\n\n var childContext = instance.getChildContext();\n\n for (var contextKey in childContext) {\n if (!(contextKey in childContextTypes)) {\n throw new Error((getComponentNameFromFiber(fiber) || 'Unknown') + \".getChildContext(): key \\\"\" + contextKey + \"\\\" is not defined in childContextTypes.\");\n }\n }\n\n {\n var name = getComponentNameFromFiber(fiber) || 'Unknown';\n checkPropTypes(childContextTypes, childContext, 'child context', name);\n }\n\n return assign({}, parentContext, childContext);\n }\n}\n\nfunction pushContextProvider(workInProgress) {\n {\n var instance = workInProgress.stateNode; // We push the context as early as possible to ensure stack integrity.\n // If the instance does not exist yet, we will push null at first,\n // and replace it on the stack later when invalidating the context.\n\n var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyContextObject; // Remember the parent context so we can merge with it later.\n // Inherit the parent's did-perform-work value to avoid inadvertently blocking updates.\n\n previousContext = contextStackCursor.current;\n push(contextStackCursor, memoizedMergedChildContext, workInProgress);\n push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress);\n return true;\n }\n}\n\nfunction invalidateContextProvider(workInProgress, type, didChange) {\n {\n var instance = workInProgress.stateNode;\n\n if (!instance) {\n throw new Error('Expected to have an instance by this point. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n if (didChange) {\n // Merge parent and own context.\n // Skip this if we're not updating due to sCU.\n // This avoids unnecessarily recomputing memoized values.\n var mergedContext = processChildContext(workInProgress, type, previousContext);\n instance.__reactInternalMemoizedMergedChildContext = mergedContext; // Replace the old (or empty) context with the new one.\n // It is important to unwind the context in the reverse order.\n\n pop(didPerformWorkStackCursor, workInProgress);\n pop(contextStackCursor, workInProgress); // Now push the new context and mark that it has changed.\n\n push(contextStackCursor, mergedContext, workInProgress);\n push(didPerformWorkStackCursor, didChange, workInProgress);\n } else {\n pop(didPerformWorkStackCursor, workInProgress);\n push(didPerformWorkStackCursor, didChange, workInProgress);\n }\n }\n}\n\nfunction findCurrentUnmaskedContext(fiber) {\n {\n // Currently this is only used with renderSubtreeIntoContainer; not sure if it\n // makes sense elsewhere\n if (!isFiberMounted(fiber) || fiber.tag !== ClassComponent) {\n throw new Error('Expected subtree parent to be a mounted class component. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n var node = fiber;\n\n do {\n switch (node.tag) {\n case HostRoot:\n return node.stateNode.context;\n\n case ClassComponent:\n {\n var Component = node.type;\n\n if (isContextProvider(Component)) {\n return node.stateNode.__reactInternalMemoizedMergedChildContext;\n }\n\n break;\n }\n }\n\n node = node.return;\n } while (node !== null);\n\n throw new Error('Found unexpected detached subtree parent. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n}\n\nvar LegacyRoot = 0;\nvar ConcurrentRoot = 1;\n\nvar syncQueue = null;\nvar includesLegacySyncCallbacks = false;\nvar isFlushingSyncQueue = false;\nfunction scheduleSyncCallback(callback) {\n // Push this callback into an internal queue. We'll flush these either in\n // the next tick, or earlier if something calls `flushSyncCallbackQueue`.\n if (syncQueue === null) {\n syncQueue = [callback];\n } else {\n // Push onto existing queue. Don't need to schedule a callback because\n // we already scheduled one when we created the queue.\n syncQueue.push(callback);\n }\n}\nfunction scheduleLegacySyncCallback(callback) {\n includesLegacySyncCallbacks = true;\n scheduleSyncCallback(callback);\n}\nfunction flushSyncCallbacksOnlyInLegacyMode() {\n // Only flushes the queue if there's a legacy sync callback scheduled.\n // TODO: There's only a single type of callback: performSyncOnWorkOnRoot. So\n // it might make more sense for the queue to be a list of roots instead of a\n // list of generic callbacks. Then we can have two: one for legacy roots, one\n // for concurrent roots. And this method would only flush the legacy ones.\n if (includesLegacySyncCallbacks) {\n flushSyncCallbacks();\n }\n}\nfunction flushSyncCallbacks() {\n if (!isFlushingSyncQueue && syncQueue !== null) {\n // Prevent re-entrance.\n isFlushingSyncQueue = true;\n var i = 0;\n var previousUpdatePriority = getCurrentUpdatePriority();\n\n try {\n var isSync = true;\n var queue = syncQueue; // TODO: Is this necessary anymore? The only user code that runs in this\n // queue is in the render or commit phases.\n\n setCurrentUpdatePriority(DiscreteEventPriority);\n\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(isSync);\n } while (callback !== null);\n }\n\n syncQueue = null;\n includesLegacySyncCallbacks = false;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n if (syncQueue !== null) {\n syncQueue = syncQueue.slice(i + 1);\n } // Resume flushing in the next tick\n\n\n scheduleCallback(ImmediatePriority, flushSyncCallbacks);\n throw error;\n } finally {\n setCurrentUpdatePriority(previousUpdatePriority);\n isFlushingSyncQueue = false;\n }\n }\n\n return null;\n}\n\n// TODO: Use the unified fiber stack module instead of this local one?\n// Intentionally not using it yet to derisk the initial implementation, because\n// the way we push/pop these values is a bit unusual. If there's a mistake, I'd\n// rather the ids be wrong than crash the whole reconciler.\nvar forkStack = [];\nvar forkStackIndex = 0;\nvar treeForkProvider = null;\nvar treeForkCount = 0;\nvar idStack = [];\nvar idStackIndex = 0;\nvar treeContextProvider = null;\nvar treeContextId = 1;\nvar treeContextOverflow = '';\nfunction isForkedChild(workInProgress) {\n warnIfNotHydrating();\n return (workInProgress.flags & Forked) !== NoFlags;\n}\nfunction getForksAtLevel(workInProgress) {\n warnIfNotHydrating();\n return treeForkCount;\n}\nfunction getTreeId() {\n var overflow = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n var id = idWithLeadingBit & ~getLeadingBit(idWithLeadingBit);\n return id.toString(32) + overflow;\n}\nfunction pushTreeFork(workInProgress, totalChildren) {\n // This is called right after we reconcile an array (or iterator) of child\n // fibers, because that's the only place where we know how many children in\n // the whole set without doing extra work later, or storing addtional\n // information on the fiber.\n //\n // That's why this function is separate from pushTreeId — it's called during\n // the render phase of the fork parent, not the child, which is where we push\n // the other context values.\n //\n // In the Fizz implementation this is much simpler because the child is\n // rendered in the same callstack as the parent.\n //\n // It might be better to just add a `forks` field to the Fiber type. It would\n // make this module simpler.\n warnIfNotHydrating();\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n warnIfNotHydrating();\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n var baseOverflow = treeContextOverflow; // The leftmost 1 marks the end of the sequence, non-inclusive. It's not part\n // of the id; we use it to account for leading 0s.\n\n var baseLength = getBitLength(baseIdWithLeadingBit) - 1;\n var baseId = baseIdWithLeadingBit & ~(1 << baseLength);\n var slot = index + 1;\n var length = getBitLength(totalChildren) + baseLength; // 30 is the max length we can store without overflowing, taking into\n // consideration the leading 1 we use to mark the end of the sequence.\n\n if (length > 30) {\n // We overflowed the bitwise-safe range. Fall back to slower algorithm.\n // This branch assumes the length of the base id is greater than 5; it won't\n // work for smaller ids, because you need 5 bits per character.\n //\n // We encode the id in multiple steps: first the base id, then the\n // remaining digits.\n //\n // Each 5 bit sequence corresponds to a single base 32 character. So for\n // example, if the current id is 23 bits long, we can convert 20 of those\n // bits into a string of 4 characters, with 3 bits left over.\n //\n // First calculate how many bits in the base id represent a complete\n // sequence of characters.\n var numberOfOverflowBits = baseLength - baseLength % 5; // Then create a bitmask that selects only those bits.\n\n var newOverflowBits = (1 << numberOfOverflowBits) - 1; // Select the bits, and convert them to a base 32 string.\n\n var newOverflow = (baseId & newOverflowBits).toString(32); // Now we can remove those bits from the base id.\n\n var restOfBaseId = baseId >> numberOfOverflowBits;\n var restOfBaseLength = baseLength - numberOfOverflowBits; // Finally, encode the rest of the bits using the normal algorithm. Because\n // we made more room, this time it won't overflow.\n\n var restOfLength = getBitLength(totalChildren) + restOfBaseLength;\n var restOfNewBits = slot << restOfBaseLength;\n var id = restOfNewBits | restOfBaseId;\n var overflow = newOverflow + baseOverflow;\n treeContextId = 1 << restOfLength | id;\n treeContextOverflow = overflow;\n } else {\n // Normal path\n var newBits = slot << baseLength;\n\n var _id = newBits | baseId;\n\n var _overflow = baseOverflow;\n treeContextId = 1 << length | _id;\n treeContextOverflow = _overflow;\n }\n}\nfunction pushMaterializedTreeId(workInProgress) {\n warnIfNotHydrating(); // This component materialized an id. This will affect any ids that appear\n // in its children.\n\n var returnFiber = workInProgress.return;\n\n if (returnFiber !== null) {\n var numberOfForks = 1;\n var slotIndex = 0;\n pushTreeFork(workInProgress, numberOfForks);\n pushTreeId(workInProgress, numberOfForks, slotIndex);\n }\n}\n\nfunction getBitLength(number) {\n return 32 - clz32(number);\n}\n\nfunction getLeadingBit(id) {\n return 1 << getBitLength(id) - 1;\n}\n\nfunction popTreeContext(workInProgress) {\n // Restore the previous values.\n // This is a bit more complicated than other context-like modules in Fiber\n // because the same Fiber may appear on the stack multiple times and for\n // different reasons. We have to keep popping until the work-in-progress is\n // no longer at the top of the stack.\n while (workInProgress === treeForkProvider) {\n treeForkProvider = forkStack[--forkStackIndex];\n forkStack[forkStackIndex] = null;\n treeForkCount = forkStack[--forkStackIndex];\n forkStack[forkStackIndex] = null;\n }\n\n while (workInProgress === treeContextProvider) {\n treeContextProvider = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n treeContextOverflow = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n treeContextId = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n }\n}\nfunction getSuspendedTreeContext() {\n warnIfNotHydrating();\n\n if (treeContextProvider !== null) {\n return {\n id: treeContextId,\n overflow: treeContextOverflow\n };\n } else {\n return null;\n }\n}\nfunction restoreSuspendedTreeContext(workInProgress, suspendedContext) {\n warnIfNotHydrating();\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextId = suspendedContext.id;\n treeContextOverflow = suspendedContext.overflow;\n treeContextProvider = workInProgress;\n}\n\nfunction warnIfNotHydrating() {\n {\n if (!getIsHydrating()) {\n error('Expected to be hydrating. This is a bug in React. Please file ' + 'an issue.');\n }\n }\n}\n\n// This may have been an insertion or a hydration.\n\nvar hydrationParentFiber = null;\nvar nextHydratableInstance = null;\nvar isHydrating = false; // This flag allows for warning supression when we expect there to be mismatches\n// due to earlier mismatches or a suspended fiber.\n\nvar didSuspendOrErrorDEV = false; // Hydration errors that were thrown inside this boundary\n\nvar hydrationErrors = null;\n\nfunction warnIfHydrating() {\n {\n if (isHydrating) {\n error('We should not be hydrating here. This is a bug in React. Please file a bug.');\n }\n }\n}\n\nfunction markDidThrowWhileHydratingDEV() {\n {\n didSuspendOrErrorDEV = true;\n }\n}\nfunction didSuspendOrErrorWhileHydratingDEV() {\n {\n return didSuspendOrErrorDEV;\n }\n}\n\nfunction enterHydrationState(fiber) {\n\n var parentInstance = fiber.stateNode.containerInfo;\n nextHydratableInstance = getFirstHydratableChildWithinContainer(parentInstance);\n hydrationParentFiber = fiber;\n isHydrating = true;\n hydrationErrors = null;\n didSuspendOrErrorDEV = false;\n return true;\n}\n\nfunction reenterHydrationStateFromDehydratedSuspenseInstance(fiber, suspenseInstance, treeContext) {\n\n nextHydratableInstance = getFirstHydratableChildWithinSuspenseInstance(suspenseInstance);\n hydrationParentFiber = fiber;\n isHydrating = true;\n hydrationErrors = null;\n didSuspendOrErrorDEV = false;\n\n if (treeContext !== null) {\n restoreSuspendedTreeContext(fiber, treeContext);\n }\n\n return true;\n}\n\nfunction warnUnhydratedInstance(returnFiber, instance) {\n {\n switch (returnFiber.tag) {\n case HostRoot:\n {\n didNotHydrateInstanceWithinContainer(returnFiber.stateNode.containerInfo, instance);\n break;\n }\n\n case HostComponent:\n {\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case SuspenseComponent:\n {\n var suspenseState = returnFiber.memoizedState;\n if (suspenseState.dehydrated !== null) didNotHydrateInstanceWithinSuspenseInstance(suspenseState.dehydrated, instance);\n break;\n }\n }\n }\n}\n\nfunction deleteHydratableInstance(returnFiber, instance) {\n warnUnhydratedInstance(returnFiber, instance);\n var childToDelete = createFiberFromHostInstanceForDeletion();\n childToDelete.stateNode = instance;\n childToDelete.return = returnFiber;\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [childToDelete];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(childToDelete);\n }\n}\n\nfunction warnNonhydratedInstance(returnFiber, fiber) {\n {\n if (didSuspendOrErrorDEV) {\n // Inside a boundary that already suspended. We're currently rendering the\n // siblings of a suspended node. The mismatch may be due to the missing\n // data, so it's probably a false positive.\n return;\n }\n\n switch (returnFiber.tag) {\n case HostRoot:\n {\n var parentContainer = returnFiber.stateNode.containerInfo;\n\n switch (fiber.tag) {\n case HostComponent:\n var type = fiber.type;\n var props = fiber.pendingProps;\n didNotFindHydratableInstanceWithinContainer(parentContainer, type);\n break;\n\n case HostText:\n var text = fiber.pendingProps;\n didNotFindHydratableTextInstanceWithinContainer(parentContainer, text);\n break;\n }\n\n break;\n }\n\n case HostComponent:\n {\n var parentType = returnFiber.type;\n var parentProps = returnFiber.memoizedProps;\n var parentInstance = returnFiber.stateNode;\n\n switch (fiber.tag) {\n case HostComponent:\n {\n var _type = fiber.type;\n var _props = fiber.pendingProps;\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type, _props, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case HostText:\n {\n var _text = fiber.pendingProps;\n\n var _isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n\n didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text, // TODO: Delete this argument when we remove the legacy root API.\n _isConcurrentMode);\n break;\n }\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n var suspenseState = returnFiber.memoizedState;\n var _parentInstance = suspenseState.dehydrated;\n if (_parentInstance !== null) switch (fiber.tag) {\n case HostComponent:\n var _type2 = fiber.type;\n var _props2 = fiber.pendingProps;\n didNotFindHydratableInstanceWithinSuspenseInstance(_parentInstance, _type2);\n break;\n\n case HostText:\n var _text2 = fiber.pendingProps;\n didNotFindHydratableTextInstanceWithinSuspenseInstance(_parentInstance, _text2);\n break;\n }\n break;\n }\n\n default:\n return;\n }\n }\n}\n\nfunction insertNonHydratedInstance(returnFiber, fiber) {\n fiber.flags = fiber.flags & ~Hydrating | Placement;\n warnNonhydratedInstance(returnFiber, fiber);\n}\n\nfunction tryHydrate(fiber, nextInstance) {\n switch (fiber.tag) {\n case HostComponent:\n {\n var type = fiber.type;\n var props = fiber.pendingProps;\n var instance = canHydrateInstance(nextInstance, type);\n\n if (instance !== null) {\n fiber.stateNode = instance;\n hydrationParentFiber = fiber;\n nextHydratableInstance = getFirstHydratableChild(instance);\n return true;\n }\n\n return false;\n }\n\n case HostText:\n {\n var text = fiber.pendingProps;\n var textInstance = canHydrateTextInstance(nextInstance, text);\n\n if (textInstance !== null) {\n fiber.stateNode = textInstance;\n hydrationParentFiber = fiber; // Text Instances don't have children so there's nothing to hydrate.\n\n nextHydratableInstance = null;\n return true;\n }\n\n return false;\n }\n\n case SuspenseComponent:\n {\n var suspenseInstance = canHydrateSuspenseInstance(nextInstance);\n\n if (suspenseInstance !== null) {\n var suspenseState = {\n dehydrated: suspenseInstance,\n treeContext: getSuspendedTreeContext(),\n retryLane: OffscreenLane\n };\n fiber.memoizedState = suspenseState; // Store the dehydrated fragment as a child fiber.\n // This simplifies the code for getHostSibling and deleting nodes,\n // since it doesn't have to consider all Suspense boundaries and\n // check if they're dehydrated ones or not.\n\n var dehydratedFragment = createFiberFromDehydratedFragment(suspenseInstance);\n dehydratedFragment.return = fiber;\n fiber.child = dehydratedFragment;\n hydrationParentFiber = fiber; // While a Suspense Instance does have children, we won't step into\n // it during the first pass. Instead, we'll reenter it later.\n\n nextHydratableInstance = null;\n return true;\n }\n\n return false;\n }\n\n default:\n return false;\n }\n}\n\nfunction shouldClientRenderOnMismatch(fiber) {\n return (fiber.mode & ConcurrentMode) !== NoMode && (fiber.flags & DidCapture) === NoFlags;\n}\n\nfunction throwOnHydrationMismatch(fiber) {\n throw new Error('Hydration failed because the initial UI does not match what was ' + 'rendered on the server.');\n}\n\nfunction tryToClaimNextHydratableInstance(fiber) {\n if (!isHydrating) {\n return;\n }\n\n var nextInstance = nextHydratableInstance;\n\n if (!nextInstance) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnNonhydratedInstance(hydrationParentFiber, fiber);\n throwOnHydrationMismatch();\n } // Nothing to hydrate. Make it an insertion.\n\n\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n isHydrating = false;\n hydrationParentFiber = fiber;\n return;\n }\n\n var firstAttemptedInstance = nextInstance;\n\n if (!tryHydrate(fiber, nextInstance)) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnNonhydratedInstance(hydrationParentFiber, fiber);\n throwOnHydrationMismatch();\n } // If we can't hydrate this instance let's try the next one.\n // We use this as a heuristic. It's based on intuition and not data so it\n // might be flawed or unnecessary.\n\n\n nextInstance = getNextHydratableSibling(firstAttemptedInstance);\n var prevHydrationParentFiber = hydrationParentFiber;\n\n if (!nextInstance || !tryHydrate(fiber, nextInstance)) {\n // Nothing to hydrate. Make it an insertion.\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n isHydrating = false;\n hydrationParentFiber = fiber;\n return;\n } // We matched the next one, we'll now assume that the first one was\n // superfluous and we'll delete it. Since we can't eagerly delete it\n // we'll have to schedule a deletion. To do that, this node needs a dummy\n // fiber associated with it.\n\n\n deleteHydratableInstance(prevHydrationParentFiber, firstAttemptedInstance);\n }\n}\n\nfunction prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) {\n\n var instance = fiber.stateNode;\n var shouldWarnIfMismatchDev = !didSuspendOrErrorDEV;\n var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber, shouldWarnIfMismatchDev); // TODO: Type this specific to this type of component.\n\n fiber.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there\n // is a new ref we mark this as an update.\n\n if (updatePayload !== null) {\n return true;\n }\n\n return false;\n}\n\nfunction prepareToHydrateHostTextInstance(fiber) {\n\n var textInstance = fiber.stateNode;\n var textContent = fiber.memoizedProps;\n var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber);\n\n if (shouldUpdate) {\n // We assume that prepareToHydrateHostTextInstance is called in a context where the\n // hydration parent is the parent host component of this host text.\n var returnFiber = hydrationParentFiber;\n\n if (returnFiber !== null) {\n switch (returnFiber.tag) {\n case HostRoot:\n {\n var parentContainer = returnFiber.stateNode.containerInfo;\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case HostComponent:\n {\n var parentType = returnFiber.type;\n var parentProps = returnFiber.memoizedProps;\n var parentInstance = returnFiber.stateNode;\n\n var _isConcurrentMode2 = (returnFiber.mode & ConcurrentMode) !== NoMode;\n\n didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent, // TODO: Delete this argument when we remove the legacy root API.\n _isConcurrentMode2);\n break;\n }\n }\n }\n }\n\n return shouldUpdate;\n}\n\nfunction prepareToHydrateHostSuspenseInstance(fiber) {\n\n var suspenseState = fiber.memoizedState;\n var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;\n\n if (!suspenseInstance) {\n throw new Error('Expected to have a hydrated suspense instance. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n hydrateSuspenseInstance(suspenseInstance, fiber);\n}\n\nfunction skipPastDehydratedSuspenseInstance(fiber) {\n\n var suspenseState = fiber.memoizedState;\n var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;\n\n if (!suspenseInstance) {\n throw new Error('Expected to have a hydrated suspense instance. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n return getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance);\n}\n\nfunction popToNextHostParent(fiber) {\n var parent = fiber.return;\n\n while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot && parent.tag !== SuspenseComponent) {\n parent = parent.return;\n }\n\n hydrationParentFiber = parent;\n}\n\nfunction popHydrationState(fiber) {\n\n if (fiber !== hydrationParentFiber) {\n // We're deeper than the current hydration context, inside an inserted\n // tree.\n return false;\n }\n\n if (!isHydrating) {\n // If we're not currently hydrating but we're in a hydration context, then\n // we were an insertion and now need to pop up reenter hydration of our\n // siblings.\n popToNextHostParent(fiber);\n isHydrating = true;\n return false;\n } // If we have any remaining hydratable nodes, we need to delete them now.\n // We only do this deeper than head and body since they tend to have random\n // other nodes in them. We also ignore components with pure text content in\n // side of them. We also don't delete anything inside the root container.\n\n\n if (fiber.tag !== HostRoot && (fiber.tag !== HostComponent || shouldDeleteUnhydratedTailInstances(fiber.type) && !shouldSetTextContent(fiber.type, fiber.memoizedProps))) {\n var nextInstance = nextHydratableInstance;\n\n if (nextInstance) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnIfUnhydratedTailNodes(fiber);\n throwOnHydrationMismatch();\n } else {\n while (nextInstance) {\n deleteHydratableInstance(fiber, nextInstance);\n nextInstance = getNextHydratableSibling(nextInstance);\n }\n }\n }\n }\n\n popToNextHostParent(fiber);\n\n if (fiber.tag === SuspenseComponent) {\n nextHydratableInstance = skipPastDehydratedSuspenseInstance(fiber);\n } else {\n nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null;\n }\n\n return true;\n}\n\nfunction hasUnhydratedTailNodes() {\n return isHydrating && nextHydratableInstance !== null;\n}\n\nfunction warnIfUnhydratedTailNodes(fiber) {\n var nextInstance = nextHydratableInstance;\n\n while (nextInstance) {\n warnUnhydratedInstance(fiber, nextInstance);\n nextInstance = getNextHydratableSibling(nextInstance);\n }\n}\n\nfunction resetHydrationState() {\n\n hydrationParentFiber = null;\n nextHydratableInstance = null;\n isHydrating = false;\n didSuspendOrErrorDEV = false;\n}\n\nfunction upgradeHydrationErrorsToRecoverable() {\n if (hydrationErrors !== null) {\n // Successfully completed a forced client render. The errors that occurred\n // during the hydration attempt are now recovered. We will log them in\n // commit phase, once the entire tree has finished.\n queueRecoverableErrors(hydrationErrors);\n hydrationErrors = null;\n }\n}\n\nfunction getIsHydrating() {\n return isHydrating;\n}\n\nfunction queueHydrationError(error) {\n if (hydrationErrors === null) {\n hydrationErrors = [error];\n } else {\n hydrationErrors.push(error);\n }\n}\n\nvar ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig;\nvar NoTransition = null;\nfunction requestCurrentTransition() {\n return ReactCurrentBatchConfig$1.transition;\n}\n\nvar ReactStrictModeWarnings = {\n recordUnsafeLifecycleWarnings: function (fiber, instance) {},\n flushPendingUnsafeLifecycleWarnings: function () {},\n recordLegacyContextWarning: function (fiber, instance) {},\n flushLegacyContextWarning: function () {},\n discardPendingWarnings: function () {}\n};\n\n{\n var findStrictRoot = function (fiber) {\n var maybeStrictRoot = null;\n var node = fiber;\n\n while (node !== null) {\n if (node.mode & StrictLegacyMode) {\n maybeStrictRoot = node;\n }\n\n node = node.return;\n }\n\n return maybeStrictRoot;\n };\n\n var setToSortedString = function (set) {\n var array = [];\n set.forEach(function (value) {\n array.push(value);\n });\n return array.sort().join(', ');\n };\n\n var pendingComponentWillMountWarnings = [];\n var pendingUNSAFE_ComponentWillMountWarnings = [];\n var pendingComponentWillReceivePropsWarnings = [];\n var pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n var pendingComponentWillUpdateWarnings = [];\n var pendingUNSAFE_ComponentWillUpdateWarnings = []; // Tracks components we have already warned about.\n\n var didWarnAboutUnsafeLifecycles = new Set();\n\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) {\n // Dedupe strategy: Warn once per component.\n if (didWarnAboutUnsafeLifecycles.has(fiber.type)) {\n return;\n }\n\n if (typeof instance.componentWillMount === 'function' && // Don't warn about react-lifecycles-compat polyfilled components.\n instance.componentWillMount.__suppressDeprecationWarning !== true) {\n pendingComponentWillMountWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillMount === 'function') {\n pendingUNSAFE_ComponentWillMountWarnings.push(fiber);\n }\n\n if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\n pendingComponentWillReceivePropsWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber);\n }\n\n if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\n pendingComponentWillUpdateWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillUpdate === 'function') {\n pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber);\n }\n };\n\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () {\n // We do an initial pass to gather component names\n var componentWillMountUniqueNames = new Set();\n\n if (pendingComponentWillMountWarnings.length > 0) {\n pendingComponentWillMountWarnings.forEach(function (fiber) {\n componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillMountWarnings = [];\n }\n\n var UNSAFE_componentWillMountUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillMountWarnings.length > 0) {\n pendingUNSAFE_ComponentWillMountWarnings.forEach(function (fiber) {\n UNSAFE_componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillMountWarnings = [];\n }\n\n var componentWillReceivePropsUniqueNames = new Set();\n\n if (pendingComponentWillReceivePropsWarnings.length > 0) {\n pendingComponentWillReceivePropsWarnings.forEach(function (fiber) {\n componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillReceivePropsWarnings = [];\n }\n\n var UNSAFE_componentWillReceivePropsUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillReceivePropsWarnings.length > 0) {\n pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function (fiber) {\n UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n }\n\n var componentWillUpdateUniqueNames = new Set();\n\n if (pendingComponentWillUpdateWarnings.length > 0) {\n pendingComponentWillUpdateWarnings.forEach(function (fiber) {\n componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillUpdateWarnings = [];\n }\n\n var UNSAFE_componentWillUpdateUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillUpdateWarnings.length > 0) {\n pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function (fiber) {\n UNSAFE_componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillUpdateWarnings = [];\n } // Finally, we flush all the warnings\n // UNSAFE_ ones before the deprecated ones, since they'll be 'louder'\n\n\n if (UNSAFE_componentWillMountUniqueNames.size > 0) {\n var sortedNames = setToSortedString(UNSAFE_componentWillMountUniqueNames);\n\n error('Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n' + '\\nPlease update the following components: %s', sortedNames);\n }\n\n if (UNSAFE_componentWillReceivePropsUniqueNames.size > 0) {\n var _sortedNames = setToSortedString(UNSAFE_componentWillReceivePropsUniqueNames);\n\n error('Using UNSAFE_componentWillReceiveProps in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + \"* If you're updating state whenever props change, \" + 'refactor your code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n' + '\\nPlease update the following components: %s', _sortedNames);\n }\n\n if (UNSAFE_componentWillUpdateUniqueNames.size > 0) {\n var _sortedNames2 = setToSortedString(UNSAFE_componentWillUpdateUniqueNames);\n\n error('Using UNSAFE_componentWillUpdate in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + '\\nPlease update the following components: %s', _sortedNames2);\n }\n\n if (componentWillMountUniqueNames.size > 0) {\n var _sortedNames3 = setToSortedString(componentWillMountUniqueNames);\n\n warn('componentWillMount has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n' + '* Rename componentWillMount to UNSAFE_componentWillMount to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames3);\n }\n\n if (componentWillReceivePropsUniqueNames.size > 0) {\n var _sortedNames4 = setToSortedString(componentWillReceivePropsUniqueNames);\n\n warn('componentWillReceiveProps has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + \"* If you're updating state whenever props change, refactor your \" + 'code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n' + '* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames4);\n }\n\n if (componentWillUpdateUniqueNames.size > 0) {\n var _sortedNames5 = setToSortedString(componentWillUpdateUniqueNames);\n\n warn('componentWillUpdate has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + '* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames5);\n }\n };\n\n var pendingLegacyContextWarning = new Map(); // Tracks components we have already warned about.\n\n var didWarnAboutLegacyContext = new Set();\n\n ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) {\n var strictRoot = findStrictRoot(fiber);\n\n if (strictRoot === null) {\n error('Expected to find a StrictMode component in a strict mode tree. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n\n return;\n } // Dedup strategy: Warn once per component.\n\n\n if (didWarnAboutLegacyContext.has(fiber.type)) {\n return;\n }\n\n var warningsForRoot = pendingLegacyContextWarning.get(strictRoot);\n\n if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === 'function') {\n if (warningsForRoot === undefined) {\n warningsForRoot = [];\n pendingLegacyContextWarning.set(strictRoot, warningsForRoot);\n }\n\n warningsForRoot.push(fiber);\n }\n };\n\n ReactStrictModeWarnings.flushLegacyContextWarning = function () {\n pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) {\n if (fiberArray.length === 0) {\n return;\n }\n\n var firstFiber = fiberArray[0];\n var uniqueNames = new Set();\n fiberArray.forEach(function (fiber) {\n uniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutLegacyContext.add(fiber.type);\n });\n var sortedNames = setToSortedString(uniqueNames);\n\n try {\n setCurrentFiber(firstFiber);\n\n error('Legacy context API has been detected within a strict-mode tree.' + '\\n\\nThe old API will be supported in all 16.x releases, but applications ' + 'using it should migrate to the new version.' + '\\n\\nPlease update the following components: %s' + '\\n\\nLearn more about this warning here: https://reactjs.org/link/legacy-context', sortedNames);\n } finally {\n resetCurrentFiber();\n }\n });\n };\n\n ReactStrictModeWarnings.discardPendingWarnings = function () {\n pendingComponentWillMountWarnings = [];\n pendingUNSAFE_ComponentWillMountWarnings = [];\n pendingComponentWillReceivePropsWarnings = [];\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n pendingComponentWillUpdateWarnings = [];\n pendingUNSAFE_ComponentWillUpdateWarnings = [];\n pendingLegacyContextWarning = new Map();\n };\n}\n\nfunction resolveDefaultProps(Component, baseProps) {\n if (Component && Component.defaultProps) {\n // Resolve default props. Taken from ReactElement\n var props = assign({}, baseProps);\n var defaultProps = Component.defaultProps;\n\n for (var propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n\n return props;\n }\n\n return baseProps;\n}\n\nvar valueCursor = createCursor(null);\nvar rendererSigil;\n\n{\n // Use this to detect multiple renderers using the same context\n rendererSigil = {};\n}\n\nvar currentlyRenderingFiber = null;\nvar lastContextDependency = null;\nvar lastFullyObservedContext = null;\nvar isDisallowedContextReadInDEV = false;\nfunction resetContextDependencies() {\n // This is called right before React yields execution, to ensure `readContext`\n // cannot be called outside the render phase.\n currentlyRenderingFiber = null;\n lastContextDependency = null;\n lastFullyObservedContext = null;\n\n {\n isDisallowedContextReadInDEV = false;\n }\n}\nfunction enterDisallowedContextReadInDEV() {\n {\n isDisallowedContextReadInDEV = true;\n }\n}\nfunction exitDisallowedContextReadInDEV() {\n {\n isDisallowedContextReadInDEV = false;\n }\n}\nfunction pushProvider(providerFiber, context, nextValue) {\n {\n push(valueCursor, context._currentValue, providerFiber);\n context._currentValue = nextValue;\n\n {\n if (context._currentRenderer !== undefined && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) {\n error('Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.');\n }\n\n context._currentRenderer = rendererSigil;\n }\n }\n}\nfunction popProvider(context, providerFiber) {\n var currentValue = valueCursor.current;\n pop(valueCursor, providerFiber);\n\n {\n {\n context._currentValue = currentValue;\n }\n }\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n // Update the child lanes of all the ancestors, including the alternates.\n var node = parent;\n\n while (node !== null) {\n var alternate = node.alternate;\n\n if (!isSubsetOfLanes(node.childLanes, renderLanes)) {\n node.childLanes = mergeLanes(node.childLanes, renderLanes);\n\n if (alternate !== null) {\n alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes);\n }\n } else if (alternate !== null && !isSubsetOfLanes(alternate.childLanes, renderLanes)) {\n alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes);\n }\n\n if (node === propagationRoot) {\n break;\n }\n\n node = node.return;\n }\n\n {\n if (node !== propagationRoot) {\n error('Expected to find the propagation root when scheduling context work. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n }\n}\nfunction propagateContextChange(workInProgress, context, renderLanes) {\n {\n propagateContextChange_eager(workInProgress, context, renderLanes);\n }\n}\n\nfunction propagateContextChange_eager(workInProgress, context, renderLanes) {\n\n var fiber = workInProgress.child;\n\n if (fiber !== null) {\n // Set the return pointer of the child to the work-in-progress fiber.\n fiber.return = workInProgress;\n }\n\n while (fiber !== null) {\n var nextFiber = void 0; // Visit this fiber.\n\n var list = fiber.dependencies;\n\n if (list !== null) {\n nextFiber = fiber.child;\n var dependency = list.firstContext;\n\n while (dependency !== null) {\n // Check if the context matches.\n if (dependency.context === context) {\n // Match! Schedule an update on this fiber.\n if (fiber.tag === ClassComponent) {\n // Schedule a force update on the work-in-progress.\n var lane = pickArbitraryLane(renderLanes);\n var update = createUpdate(NoTimestamp, lane);\n update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the\n // update to the current fiber, too, which means it will persist even if\n // this render is thrown away. Since it's a race condition, not sure it's\n // worth fixing.\n // Inlined `enqueueUpdate` to remove interleaved update check\n\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) ; else {\n var sharedQueue = updateQueue.shared;\n var pending = sharedQueue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n sharedQueue.pending = update;\n }\n }\n\n fiber.lanes = mergeLanes(fiber.lanes, renderLanes);\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, renderLanes);\n }\n\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, workInProgress); // Mark the updated lanes on the list, too.\n\n list.lanes = mergeLanes(list.lanes, renderLanes); // Since we already found a match, we can stop traversing the\n // dependency list.\n\n break;\n }\n\n dependency = dependency.next;\n }\n } else if (fiber.tag === ContextProvider) {\n // Don't scan deeper if this is a matching provider\n nextFiber = fiber.type === workInProgress.type ? null : fiber.child;\n } else if (fiber.tag === DehydratedFragment) {\n // If a dehydrated suspense boundary is in this subtree, we don't know\n // if it will have any context consumers in it. The best we can do is\n // mark it as having updates.\n var parentSuspense = fiber.return;\n\n if (parentSuspense === null) {\n throw new Error('We just came from a parent so we must have had a parent. This is a bug in React.');\n }\n\n parentSuspense.lanes = mergeLanes(parentSuspense.lanes, renderLanes);\n var _alternate = parentSuspense.alternate;\n\n if (_alternate !== null) {\n _alternate.lanes = mergeLanes(_alternate.lanes, renderLanes);\n } // This is intentionally passing this fiber as the parent\n // because we want to schedule this fiber as having work\n // on its children. We'll use the childLanes on\n // this fiber to indicate that a context has changed.\n\n\n scheduleContextWorkOnParentPath(parentSuspense, renderLanes, workInProgress);\n nextFiber = fiber.sibling;\n } else {\n // Traverse down.\n nextFiber = fiber.child;\n }\n\n if (nextFiber !== null) {\n // Set the return pointer of the child to the work-in-progress fiber.\n nextFiber.return = fiber;\n } else {\n // No child. Traverse to next sibling.\n nextFiber = fiber;\n\n while (nextFiber !== null) {\n if (nextFiber === workInProgress) {\n // We're back to the root of this subtree. Exit.\n nextFiber = null;\n break;\n }\n\n var sibling = nextFiber.sibling;\n\n if (sibling !== null) {\n // Set the return pointer of the sibling to the work-in-progress fiber.\n sibling.return = nextFiber.return;\n nextFiber = sibling;\n break;\n } // No more siblings. Traverse up.\n\n\n nextFiber = nextFiber.return;\n }\n }\n\n fiber = nextFiber;\n }\n}\nfunction prepareToReadContext(workInProgress, renderLanes) {\n currentlyRenderingFiber = workInProgress;\n lastContextDependency = null;\n lastFullyObservedContext = null;\n var dependencies = workInProgress.dependencies;\n\n if (dependencies !== null) {\n {\n var firstContext = dependencies.firstContext;\n\n if (firstContext !== null) {\n if (includesSomeLane(dependencies.lanes, renderLanes)) {\n // Context list has a pending update. Mark that this fiber performed work.\n markWorkInProgressReceivedUpdate();\n } // Reset the work-in-progress list\n\n\n dependencies.firstContext = null;\n }\n }\n }\n}\nfunction readContext(context) {\n {\n // This warning would fire if you read context inside a Hook like useMemo.\n // Unlike the class check below, it's not enforced in production for perf.\n if (isDisallowedContextReadInDEV) {\n error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n }\n }\n\n var value = context._currentValue ;\n\n if (lastFullyObservedContext === context) ; else {\n var contextItem = {\n context: context,\n memoizedValue: value,\n next: null\n };\n\n if (lastContextDependency === null) {\n if (currentlyRenderingFiber === null) {\n throw new Error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n } // This is the first dependency for this component. Create a new list.\n\n\n lastContextDependency = contextItem;\n currentlyRenderingFiber.dependencies = {\n lanes: NoLanes,\n firstContext: contextItem\n };\n } else {\n // Append a new context item.\n lastContextDependency = lastContextDependency.next = contextItem;\n }\n }\n\n return value;\n}\n\n// render. When this render exits, either because it finishes or because it is\n// interrupted, the interleaved updates will be transferred onto the main part\n// of the queue.\n\nvar concurrentQueues = null;\nfunction pushConcurrentUpdateQueue(queue) {\n if (concurrentQueues === null) {\n concurrentQueues = [queue];\n } else {\n concurrentQueues.push(queue);\n }\n}\nfunction finishQueueingConcurrentUpdates() {\n // Transfer the interleaved updates onto the main queue. Each queue has a\n // `pending` field and an `interleaved` field. When they are not null, they\n // point to the last node in a circular linked list. We need to append the\n // interleaved list to the end of the pending list by joining them into a\n // single, circular list.\n if (concurrentQueues !== null) {\n for (var i = 0; i < concurrentQueues.length; i++) {\n var queue = concurrentQueues[i];\n var lastInterleavedUpdate = queue.interleaved;\n\n if (lastInterleavedUpdate !== null) {\n queue.interleaved = null;\n var firstInterleavedUpdate = lastInterleavedUpdate.next;\n var lastPendingUpdate = queue.pending;\n\n if (lastPendingUpdate !== null) {\n var firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = firstInterleavedUpdate;\n lastInterleavedUpdate.next = firstPendingUpdate;\n }\n\n queue.pending = lastInterleavedUpdate;\n }\n }\n\n concurrentQueues = null;\n }\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n}\nfunction enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n}\nfunction enqueueConcurrentClassUpdate(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n} // Calling this function outside this module should only be done for backwards\n// compatibility and should always be accompanied by a warning.\n\nvar unsafe_markUpdateLaneFromFiberToRoot = markUpdateLaneFromFiberToRoot;\n\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, lane) {\n // Update the source fiber's lanes\n sourceFiber.lanes = mergeLanes(sourceFiber.lanes, lane);\n var alternate = sourceFiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, lane);\n }\n\n {\n if (alternate === null && (sourceFiber.flags & (Placement | Hydrating)) !== NoFlags) {\n warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);\n }\n } // Walk the parent path to the root and update the child lanes.\n\n\n var node = sourceFiber;\n var parent = sourceFiber.return;\n\n while (parent !== null) {\n parent.childLanes = mergeLanes(parent.childLanes, lane);\n alternate = parent.alternate;\n\n if (alternate !== null) {\n alternate.childLanes = mergeLanes(alternate.childLanes, lane);\n } else {\n {\n if ((parent.flags & (Placement | Hydrating)) !== NoFlags) {\n warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);\n }\n }\n }\n\n node = parent;\n parent = parent.return;\n }\n\n if (node.tag === HostRoot) {\n var root = node.stateNode;\n return root;\n } else {\n return null;\n }\n}\n\nvar UpdateState = 0;\nvar ReplaceState = 1;\nvar ForceUpdate = 2;\nvar CaptureUpdate = 3; // Global state that is reset at the beginning of calling `processUpdateQueue`.\n// It should only be read right after calling `processUpdateQueue`, via\n// `checkHasForceUpdateAfterProcessing`.\n\nvar hasForceUpdate = false;\nvar didWarnUpdateInsideUpdate;\nvar currentlyProcessingQueue;\n\n{\n didWarnUpdateInsideUpdate = false;\n currentlyProcessingQueue = null;\n}\n\nfunction initializeUpdateQueue(fiber) {\n var queue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: {\n pending: null,\n interleaved: null,\n lanes: NoLanes\n },\n effects: null\n };\n fiber.updateQueue = queue;\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n // Clone the update queue from current. Unless it's already a clone.\n var queue = workInProgress.updateQueue;\n var currentQueue = current.updateQueue;\n\n if (queue === currentQueue) {\n var clone = {\n baseState: currentQueue.baseState,\n firstBaseUpdate: currentQueue.firstBaseUpdate,\n lastBaseUpdate: currentQueue.lastBaseUpdate,\n shared: currentQueue.shared,\n effects: currentQueue.effects\n };\n workInProgress.updateQueue = clone;\n }\n}\nfunction createUpdate(eventTime, lane) {\n var update = {\n eventTime: eventTime,\n lane: lane,\n tag: UpdateState,\n payload: null,\n callback: null,\n next: null\n };\n return update;\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) {\n // Only occurs if the fiber has been unmounted.\n return null;\n }\n\n var sharedQueue = updateQueue.shared;\n\n {\n if (currentlyProcessingQueue === sharedQueue && !didWarnUpdateInsideUpdate) {\n error('An update (setState, replaceState, or forceUpdate) was scheduled ' + 'from inside an update function. Update functions should be pure, ' + 'with zero side-effects. Consider using componentDidUpdate or a ' + 'callback.');\n\n didWarnUpdateInsideUpdate = true;\n }\n }\n\n if (isUnsafeClassRenderPhaseUpdate()) {\n // This is an unsafe render phase update. Add directly to the update\n // queue so we can process it immediately during the current render.\n var pending = sharedQueue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n sharedQueue.pending = update; // Update the childLanes even though we're most likely already rendering\n // this fiber. This is for backwards compatibility in the case where you\n // update a different component during render phase than the one that is\n // currently renderings (a pattern that is accompanied by a warning).\n\n return unsafe_markUpdateLaneFromFiberToRoot(fiber, lane);\n } else {\n return enqueueConcurrentClassUpdate(fiber, sharedQueue, update, lane);\n }\n}\nfunction entangleTransitions(root, fiber, lane) {\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) {\n // Only occurs if the fiber has been unmounted.\n return;\n }\n\n var sharedQueue = updateQueue.shared;\n\n if (isTransitionLane(lane)) {\n var queueLanes = sharedQueue.lanes; // If any entangled lanes are no longer pending on the root, then they must\n // have finished. We can remove them from the shared queue, which represents\n // a superset of the actually pending lanes. In some cases we may entangle\n // more than we need to, but that's OK. In fact it's worse if we *don't*\n // entangle when we should.\n\n queueLanes = intersectLanes(queueLanes, root.pendingLanes); // Entangle the new transition lane with the other transition lanes.\n\n var newQueueLanes = mergeLanes(queueLanes, lane);\n sharedQueue.lanes = newQueueLanes; // Even if queue.lanes already include lane, we don't know for certain if\n // the lane finished since the last time we entangled it. So we need to\n // entangle it again, just to be sure.\n\n markRootEntangled(root, newQueueLanes);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n // Captured updates are updates that are thrown by a child during the render\n // phase. They should be discarded if the render is aborted. Therefore,\n // we should only put them on the work-in-progress queue, not the current one.\n var queue = workInProgress.updateQueue; // Check if the work-in-progress queue is a clone.\n\n var current = workInProgress.alternate;\n\n if (current !== null) {\n var currentQueue = current.updateQueue;\n\n if (queue === currentQueue) {\n // The work-in-progress queue is the same as current. This happens when\n // we bail out on a parent fiber that then captures an error thrown by\n // a child. Since we want to append the update only to the work-in\n // -progress queue, we need to clone the updates. We usually clone during\n // processUpdateQueue, but that didn't happen in this case because we\n // skipped over the parent when we bailed out.\n var newFirst = null;\n var newLast = null;\n var firstBaseUpdate = queue.firstBaseUpdate;\n\n if (firstBaseUpdate !== null) {\n // Loop through the updates and clone them.\n var update = firstBaseUpdate;\n\n do {\n var clone = {\n eventTime: update.eventTime,\n lane: update.lane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n\n if (newLast === null) {\n newFirst = newLast = clone;\n } else {\n newLast.next = clone;\n newLast = clone;\n }\n\n update = update.next;\n } while (update !== null); // Append the captured update the end of the cloned list.\n\n\n if (newLast === null) {\n newFirst = newLast = capturedUpdate;\n } else {\n newLast.next = capturedUpdate;\n newLast = capturedUpdate;\n }\n } else {\n // There are no base updates.\n newFirst = newLast = capturedUpdate;\n }\n\n queue = {\n baseState: currentQueue.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: currentQueue.shared,\n effects: currentQueue.effects\n };\n workInProgress.updateQueue = queue;\n return;\n }\n } // Append the update to the end of the list.\n\n\n var lastBaseUpdate = queue.lastBaseUpdate;\n\n if (lastBaseUpdate === null) {\n queue.firstBaseUpdate = capturedUpdate;\n } else {\n lastBaseUpdate.next = capturedUpdate;\n }\n\n queue.lastBaseUpdate = capturedUpdate;\n}\n\nfunction getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) {\n switch (update.tag) {\n case ReplaceState:\n {\n var payload = update.payload;\n\n if (typeof payload === 'function') {\n // Updater function\n {\n enterDisallowedContextReadInDEV();\n }\n\n var nextState = payload.call(instance, prevState, nextProps);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n payload.call(instance, prevState, nextProps);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n exitDisallowedContextReadInDEV();\n }\n\n return nextState;\n } // State object\n\n\n return payload;\n }\n\n case CaptureUpdate:\n {\n workInProgress.flags = workInProgress.flags & ~ShouldCapture | DidCapture;\n }\n // Intentional fallthrough\n\n case UpdateState:\n {\n var _payload = update.payload;\n var partialState;\n\n if (typeof _payload === 'function') {\n // Updater function\n {\n enterDisallowedContextReadInDEV();\n }\n\n partialState = _payload.call(instance, prevState, nextProps);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n _payload.call(instance, prevState, nextProps);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n exitDisallowedContextReadInDEV();\n }\n } else {\n // Partial state object\n partialState = _payload;\n }\n\n if (partialState === null || partialState === undefined) {\n // Null and undefined are treated as no-ops.\n return prevState;\n } // Merge the partial state and the previous state.\n\n\n return assign({}, prevState, partialState);\n }\n\n case ForceUpdate:\n {\n hasForceUpdate = true;\n return prevState;\n }\n }\n\n return prevState;\n}\n\nfunction processUpdateQueue(workInProgress, props, instance, renderLanes) {\n // This is always non-null on a ClassComponent or HostRoot\n var queue = workInProgress.updateQueue;\n hasForceUpdate = false;\n\n {\n currentlyProcessingQueue = queue.shared;\n }\n\n var firstBaseUpdate = queue.firstBaseUpdate;\n var lastBaseUpdate = queue.lastBaseUpdate; // Check if there are pending updates. If so, transfer them to the base queue.\n\n var pendingQueue = queue.shared.pending;\n\n if (pendingQueue !== null) {\n queue.shared.pending = null; // The pending queue is circular. Disconnect the pointer between first\n // and last so that it's non-circular.\n\n var lastPendingUpdate = pendingQueue;\n var firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null; // Append pending updates to base queue\n\n if (lastBaseUpdate === null) {\n firstBaseUpdate = firstPendingUpdate;\n } else {\n lastBaseUpdate.next = firstPendingUpdate;\n }\n\n lastBaseUpdate = lastPendingUpdate; // If there's a current queue, and it's different from the base queue, then\n // we need to transfer the updates to that queue, too. Because the base\n // queue is a singly-linked list with no cycles, we can append to both\n // lists and take advantage of structural sharing.\n // TODO: Pass `current` as argument\n\n var current = workInProgress.alternate;\n\n if (current !== null) {\n // This is always non-null on a ClassComponent or HostRoot\n var currentQueue = current.updateQueue;\n var currentLastBaseUpdate = currentQueue.lastBaseUpdate;\n\n if (currentLastBaseUpdate !== lastBaseUpdate) {\n if (currentLastBaseUpdate === null) {\n currentQueue.firstBaseUpdate = firstPendingUpdate;\n } else {\n currentLastBaseUpdate.next = firstPendingUpdate;\n }\n\n currentQueue.lastBaseUpdate = lastPendingUpdate;\n }\n }\n } // These values may change as we process the queue.\n\n\n if (firstBaseUpdate !== null) {\n // Iterate through the list of updates to compute the result.\n var newState = queue.baseState; // TODO: Don't need to accumulate this. Instead, we can remove renderLanes\n // from the original lanes.\n\n var newLanes = NoLanes;\n var newBaseState = null;\n var newFirstBaseUpdate = null;\n var newLastBaseUpdate = null;\n var update = firstBaseUpdate;\n\n do {\n var updateLane = update.lane;\n var updateEventTime = update.eventTime;\n\n if (!isSubsetOfLanes(renderLanes, updateLane)) {\n // Priority is insufficient. Skip this update. If this is the first\n // skipped update, the previous update/state is the new base\n // update/state.\n var clone = {\n eventTime: updateEventTime,\n lane: updateLane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n\n if (newLastBaseUpdate === null) {\n newFirstBaseUpdate = newLastBaseUpdate = clone;\n newBaseState = newState;\n } else {\n newLastBaseUpdate = newLastBaseUpdate.next = clone;\n } // Update the remaining priority in the queue.\n\n\n newLanes = mergeLanes(newLanes, updateLane);\n } else {\n // This update does have sufficient priority.\n if (newLastBaseUpdate !== null) {\n var _clone = {\n eventTime: updateEventTime,\n // This update is going to be committed so we never want uncommit\n // it. Using NoLane works because 0 is a subset of all bitmasks, so\n // this will never be skipped by the check above.\n lane: NoLane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n newLastBaseUpdate = newLastBaseUpdate.next = _clone;\n } // Process this update.\n\n\n newState = getStateFromUpdate(workInProgress, queue, update, newState, props, instance);\n var callback = update.callback;\n\n if (callback !== null && // If the update was already committed, we should not queue its\n // callback again.\n update.lane !== NoLane) {\n workInProgress.flags |= Callback;\n var effects = queue.effects;\n\n if (effects === null) {\n queue.effects = [update];\n } else {\n effects.push(update);\n }\n }\n }\n\n update = update.next;\n\n if (update === null) {\n pendingQueue = queue.shared.pending;\n\n if (pendingQueue === null) {\n break;\n } else {\n // An update was scheduled from inside a reducer. Add the new\n // pending updates to the end of the list and keep processing.\n var _lastPendingUpdate = pendingQueue; // Intentionally unsound. Pending updates form a circular list, but we\n // unravel them when transferring them to the base queue.\n\n var _firstPendingUpdate = _lastPendingUpdate.next;\n _lastPendingUpdate.next = null;\n update = _firstPendingUpdate;\n queue.lastBaseUpdate = _lastPendingUpdate;\n queue.shared.pending = null;\n }\n }\n } while (true);\n\n if (newLastBaseUpdate === null) {\n newBaseState = newState;\n }\n\n queue.baseState = newBaseState;\n queue.firstBaseUpdate = newFirstBaseUpdate;\n queue.lastBaseUpdate = newLastBaseUpdate; // Interleaved updates are stored on a separate queue. We aren't going to\n // process them during this render, but we do need to track which lanes\n // are remaining.\n\n var lastInterleaved = queue.shared.interleaved;\n\n if (lastInterleaved !== null) {\n var interleaved = lastInterleaved;\n\n do {\n newLanes = mergeLanes(newLanes, interleaved.lane);\n interleaved = interleaved.next;\n } while (interleaved !== lastInterleaved);\n } else if (firstBaseUpdate === null) {\n // `queue.lanes` is used for entangling transitions. We can set it back to\n // zero once the queue is empty.\n queue.shared.lanes = NoLanes;\n } // Set the remaining expiration time to be whatever is remaining in the queue.\n // This should be fine because the only two other things that contribute to\n // expiration time are props and context. We're already in the middle of the\n // begin phase by the time we start processing the queue, so we've already\n // dealt with the props. Context in components that specify\n // shouldComponentUpdate is tricky; but we'll have to account for\n // that regardless.\n\n\n markSkippedUpdateLanes(newLanes);\n workInProgress.lanes = newLanes;\n workInProgress.memoizedState = newState;\n }\n\n {\n currentlyProcessingQueue = null;\n }\n}\n\nfunction callCallback(callback, context) {\n if (typeof callback !== 'function') {\n throw new Error('Invalid argument passed as callback. Expected a function. Instead ' + (\"received: \" + callback));\n }\n\n callback.call(context);\n}\n\nfunction resetHasForceUpdateBeforeProcessing() {\n hasForceUpdate = false;\n}\nfunction checkHasForceUpdateAfterProcessing() {\n return hasForceUpdate;\n}\nfunction commitUpdateQueue(finishedWork, finishedQueue, instance) {\n // Commit the effects\n var effects = finishedQueue.effects;\n finishedQueue.effects = null;\n\n if (effects !== null) {\n for (var i = 0; i < effects.length; i++) {\n var effect = effects[i];\n var callback = effect.callback;\n\n if (callback !== null) {\n effect.callback = null;\n callCallback(callback, instance);\n }\n }\n }\n}\n\nvar fakeInternalInstance = {}; // React.Component uses a shared frozen object by default.\n// We'll use it to determine whether we need to initialize legacy refs.\n\nvar emptyRefsObject = new React.Component().refs;\nvar didWarnAboutStateAssignmentForComponent;\nvar didWarnAboutUninitializedState;\nvar didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;\nvar didWarnAboutLegacyLifecyclesAndDerivedState;\nvar didWarnAboutUndefinedDerivedState;\nvar warnOnUndefinedDerivedState;\nvar warnOnInvalidCallback;\nvar didWarnAboutDirectlyAssigningPropsToState;\nvar didWarnAboutContextTypeAndContextTypes;\nvar didWarnAboutInvalidateContextType;\n\n{\n didWarnAboutStateAssignmentForComponent = new Set();\n didWarnAboutUninitializedState = new Set();\n didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set();\n didWarnAboutLegacyLifecyclesAndDerivedState = new Set();\n didWarnAboutDirectlyAssigningPropsToState = new Set();\n didWarnAboutUndefinedDerivedState = new Set();\n didWarnAboutContextTypeAndContextTypes = new Set();\n didWarnAboutInvalidateContextType = new Set();\n var didWarnOnInvalidCallback = new Set();\n\n warnOnInvalidCallback = function (callback, callerName) {\n if (callback === null || typeof callback === 'function') {\n return;\n }\n\n var key = callerName + '_' + callback;\n\n if (!didWarnOnInvalidCallback.has(key)) {\n didWarnOnInvalidCallback.add(key);\n\n error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);\n }\n };\n\n warnOnUndefinedDerivedState = function (type, partialState) {\n if (partialState === undefined) {\n var componentName = getComponentNameFromType(type) || 'Component';\n\n if (!didWarnAboutUndefinedDerivedState.has(componentName)) {\n didWarnAboutUndefinedDerivedState.add(componentName);\n\n error('%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', componentName);\n }\n }\n }; // This is so gross but it's at least non-critical and can be removed if\n // it causes problems. This is meant to give a nicer error message for\n // ReactDOM15.unstable_renderSubtreeIntoContainer(reactDOM16Component,\n // ...)) which otherwise throws a \"_processChildContext is not a function\"\n // exception.\n\n\n Object.defineProperty(fakeInternalInstance, '_processChildContext', {\n enumerable: false,\n value: function () {\n throw new Error('_processChildContext is not available in React 16+. This likely ' + 'means you have multiple copies of React and are attempting to nest ' + 'a React 15 tree inside a React 16 tree using ' + \"unstable_renderSubtreeIntoContainer, which isn't supported. Try \" + 'to make sure you have only one copy of React (and ideally, switch ' + 'to ReactDOM.createPortal).');\n }\n });\n Object.freeze(fakeInternalInstance);\n}\n\nfunction applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) {\n var prevState = workInProgress.memoizedState;\n var partialState = getDerivedStateFromProps(nextProps, prevState);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n // Invoke the function an extra time to help detect side-effects.\n partialState = getDerivedStateFromProps(nextProps, prevState);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n warnOnUndefinedDerivedState(ctor, partialState);\n } // Merge the partial state and the previous state.\n\n\n var memoizedState = partialState === null || partialState === undefined ? prevState : assign({}, prevState, partialState);\n workInProgress.memoizedState = memoizedState; // Once the update queue is empty, persist the derived state onto the\n // base state.\n\n if (workInProgress.lanes === NoLanes) {\n // Queue is always non-null for classes\n var updateQueue = workInProgress.updateQueue;\n updateQueue.baseState = memoizedState;\n }\n}\n\nvar classComponentUpdater = {\n isMounted: isMounted,\n enqueueSetState: function (inst, payload, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.payload = payload;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'setState');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n },\n enqueueReplaceState: function (inst, payload, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.tag = ReplaceState;\n update.payload = payload;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'replaceState');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n },\n enqueueForceUpdate: function (inst, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.tag = ForceUpdate;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'forceUpdate');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markForceUpdateScheduled(fiber, lane);\n }\n }\n};\n\nfunction checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) {\n var instance = workInProgress.stateNode;\n\n if (typeof instance.shouldComponentUpdate === 'function') {\n var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n // Invoke the function an extra time to help detect side-effects.\n shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n if (shouldUpdate === undefined) {\n error('%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', getComponentNameFromType(ctor) || 'Component');\n }\n }\n\n return shouldUpdate;\n }\n\n if (ctor.prototype && ctor.prototype.isPureReactComponent) {\n return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState);\n }\n\n return true;\n}\n\nfunction checkClassInstance(workInProgress, ctor, newProps) {\n var instance = workInProgress.stateNode;\n\n {\n var name = getComponentNameFromType(ctor) || 'Component';\n var renderPresent = instance.render;\n\n if (!renderPresent) {\n if (ctor.prototype && typeof ctor.prototype.render === 'function') {\n error('%s(...): No `render` method found on the returned component ' + 'instance: did you accidentally return an object from the constructor?', name);\n } else {\n error('%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', name);\n }\n }\n\n if (instance.getInitialState && !instance.getInitialState.isReactClassApproved && !instance.state) {\n error('getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name);\n }\n\n if (instance.getDefaultProps && !instance.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name);\n }\n\n if (instance.propTypes) {\n error('propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name);\n }\n\n if (instance.contextType) {\n error('contextType was defined as an instance property on %s. Use a static ' + 'property to define contextType instead.', name);\n }\n\n {\n if (instance.contextTypes) {\n error('contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name);\n }\n\n if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) {\n didWarnAboutContextTypeAndContextTypes.add(ctor);\n\n error('%s declares both contextTypes and contextType static properties. ' + 'The legacy contextTypes property will be ignored.', name);\n }\n }\n\n if (typeof instance.componentShouldUpdate === 'function') {\n error('%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name);\n }\n\n if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') {\n error('%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentNameFromType(ctor) || 'A pure component');\n }\n\n if (typeof instance.componentDidUnmount === 'function') {\n error('%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name);\n }\n\n if (typeof instance.componentDidReceiveProps === 'function') {\n error('%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name);\n }\n\n if (typeof instance.componentWillRecieveProps === 'function') {\n error('%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name);\n }\n\n if (typeof instance.UNSAFE_componentWillRecieveProps === 'function') {\n error('%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name);\n }\n\n var hasMutatedProps = instance.props !== newProps;\n\n if (instance.props !== undefined && hasMutatedProps) {\n error('%s(...): When calling super() in `%s`, make sure to pass ' + \"up the same props that your component's constructor was passed.\", name, name);\n }\n\n if (instance.defaultProps) {\n error('Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name);\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function' && typeof instance.componentDidUpdate !== 'function' && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) {\n didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor);\n\n error('%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' + 'This component defines getSnapshotBeforeUpdate() only.', getComponentNameFromType(ctor));\n }\n\n if (typeof instance.getDerivedStateFromProps === 'function') {\n error('%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\n }\n\n if (typeof instance.getDerivedStateFromError === 'function') {\n error('%s: getDerivedStateFromError() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\n }\n\n if (typeof ctor.getSnapshotBeforeUpdate === 'function') {\n error('%s: getSnapshotBeforeUpdate() is defined as a static method ' + 'and will be ignored. Instead, declare it as an instance method.', name);\n }\n\n var _state = instance.state;\n\n if (_state && (typeof _state !== 'object' || isArray(_state))) {\n error('%s.state: must be set to an object or null', name);\n }\n\n if (typeof instance.getChildContext === 'function' && typeof ctor.childContextTypes !== 'object') {\n error('%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name);\n }\n }\n}\n\nfunction adoptClassInstance(workInProgress, instance) {\n instance.updater = classComponentUpdater;\n workInProgress.stateNode = instance; // The instance needs access to the fiber so that it can schedule updates\n\n set(instance, workInProgress);\n\n {\n instance._reactInternalInstance = fakeInternalInstance;\n }\n}\n\nfunction constructClassInstance(workInProgress, ctor, props) {\n var isLegacyContextConsumer = false;\n var unmaskedContext = emptyContextObject;\n var context = emptyContextObject;\n var contextType = ctor.contextType;\n\n {\n if ('contextType' in ctor) {\n var isValid = // Allow null for conditional declaration\n contextType === null || contextType !== undefined && contextType.$$typeof === REACT_CONTEXT_TYPE && contextType._context === undefined; // Not a <Context.Consumer>\n\n if (!isValid && !didWarnAboutInvalidateContextType.has(ctor)) {\n didWarnAboutInvalidateContextType.add(ctor);\n var addendum = '';\n\n if (contextType === undefined) {\n addendum = ' However, it is set to undefined. ' + 'This can be caused by a typo or by mixing up named and default imports. ' + 'This can also happen due to a circular dependency, so ' + 'try moving the createContext() call to a separate file.';\n } else if (typeof contextType !== 'object') {\n addendum = ' However, it is set to a ' + typeof contextType + '.';\n } else if (contextType.$$typeof === REACT_PROVIDER_TYPE) {\n addendum = ' Did you accidentally pass the Context.Provider instead?';\n } else if (contextType._context !== undefined) {\n // <Context.Consumer>\n addendum = ' Did you accidentally pass the Context.Consumer instead?';\n } else {\n addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.';\n }\n\n error('%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentNameFromType(ctor) || 'Component', addendum);\n }\n }\n }\n\n if (typeof contextType === 'object' && contextType !== null) {\n context = readContext(contextType);\n } else {\n unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n var contextTypes = ctor.contextTypes;\n isLegacyContextConsumer = contextTypes !== null && contextTypes !== undefined;\n context = isLegacyContextConsumer ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject;\n }\n\n var instance = new ctor(props, context); // Instantiate twice to help detect side-effects.\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n instance = new ctor(props, context); // eslint-disable-line no-new\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n }\n\n var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null;\n adoptClassInstance(workInProgress, instance);\n\n {\n if (typeof ctor.getDerivedStateFromProps === 'function' && state === null) {\n var componentName = getComponentNameFromType(ctor) || 'Component';\n\n if (!didWarnAboutUninitializedState.has(componentName)) {\n didWarnAboutUninitializedState.add(componentName);\n\n error('`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, instance.state === null ? 'null' : 'undefined', componentName);\n }\n } // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Warn about these lifecycles if they are present.\n // Don't warn about react-lifecycles-compat polyfilled methods though.\n\n\n if (typeof ctor.getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function') {\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n\n if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) {\n foundWillMountName = 'componentWillMount';\n } else if (typeof instance.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n\n if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n\n if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n\n if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) {\n var _componentName = getComponentNameFromType(ctor) || 'Component';\n\n var newApiName = typeof ctor.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()';\n\n if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) {\n didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName);\n\n error('Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' + '%s uses %s but also contains the following legacy lifecycles:%s%s%s\\n\\n' + 'The above lifecycles should be removed. Learn more about this warning here:\\n' + 'https://reactjs.org/link/unsafe-component-lifecycles', _componentName, newApiName, foundWillMountName !== null ? \"\\n \" + foundWillMountName : '', foundWillReceivePropsName !== null ? \"\\n \" + foundWillReceivePropsName : '', foundWillUpdateName !== null ? \"\\n \" + foundWillUpdateName : '');\n }\n }\n }\n } // Cache unmasked context so we can avoid recreating masked context unless necessary.\n // ReactFiberContext usually updates this cache but can't for newly-created instances.\n\n\n if (isLegacyContextConsumer) {\n cacheContext(workInProgress, unmaskedContext, context);\n }\n\n return instance;\n}\n\nfunction callComponentWillMount(workInProgress, instance) {\n var oldState = instance.state;\n\n if (typeof instance.componentWillMount === 'function') {\n instance.componentWillMount();\n }\n\n if (typeof instance.UNSAFE_componentWillMount === 'function') {\n instance.UNSAFE_componentWillMount();\n }\n\n if (oldState !== instance.state) {\n {\n error('%s.componentWillMount(): Assigning directly to this.state is ' + \"deprecated (except inside a component's \" + 'constructor). Use setState instead.', getComponentNameFromFiber(workInProgress) || 'Component');\n }\n\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n}\n\nfunction callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) {\n var oldState = instance.state;\n\n if (typeof instance.componentWillReceiveProps === 'function') {\n instance.componentWillReceiveProps(newProps, nextContext);\n }\n\n if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n }\n\n if (instance.state !== oldState) {\n {\n var componentName = getComponentNameFromFiber(workInProgress) || 'Component';\n\n if (!didWarnAboutStateAssignmentForComponent.has(componentName)) {\n didWarnAboutStateAssignmentForComponent.add(componentName);\n\n error('%s.componentWillReceiveProps(): Assigning directly to ' + \"this.state is deprecated (except inside a component's \" + 'constructor). Use setState instead.', componentName);\n }\n }\n\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n} // Invokes the mount life-cycles on a previously never rendered instance.\n\n\nfunction mountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n {\n checkClassInstance(workInProgress, ctor, newProps);\n }\n\n var instance = workInProgress.stateNode;\n instance.props = newProps;\n instance.state = workInProgress.memoizedState;\n instance.refs = emptyRefsObject;\n initializeUpdateQueue(workInProgress);\n var contextType = ctor.contextType;\n\n if (typeof contextType === 'object' && contextType !== null) {\n instance.context = readContext(contextType);\n } else {\n var unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n instance.context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n {\n if (instance.state === newProps) {\n var componentName = getComponentNameFromType(ctor) || 'Component';\n\n if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) {\n didWarnAboutDirectlyAssigningPropsToState.add(componentName);\n\n error('%s: It is not recommended to assign props directly to state ' + \"because updates to props won't be reflected in state. \" + 'In most cases, it is better to use props directly.', componentName);\n }\n }\n\n if (workInProgress.mode & StrictLegacyMode) {\n ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance);\n }\n\n {\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance);\n }\n }\n\n instance.state = workInProgress.memoizedState;\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n instance.state = workInProgress.memoizedState;\n } // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n\n if (typeof ctor.getDerivedStateFromProps !== 'function' && typeof instance.getSnapshotBeforeUpdate !== 'function' && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\n callComponentWillMount(workInProgress, instance); // If we had additional state updates during this life-cycle, let's\n // process them now.\n\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n instance.state = workInProgress.memoizedState;\n }\n\n if (typeof instance.componentDidMount === 'function') {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= fiberFlags;\n }\n}\n\nfunction resumeMountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n var oldProps = workInProgress.memoizedProps;\n instance.props = oldProps;\n var oldContext = instance.context;\n var contextType = ctor.contextType;\n var nextContext = emptyContextObject;\n\n if (typeof contextType === 'object' && contextType !== null) {\n nextContext = readContext(contextType);\n } else {\n var nextLegacyUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n nextContext = getMaskedContext(workInProgress, nextLegacyUnmaskedContext);\n }\n\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\n // ever the previously attempted to render - not the \"current\". However,\n // during componentDidUpdate we pass the \"current\" props.\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\n if (oldProps !== newProps || oldContext !== nextContext) {\n callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\n }\n }\n\n resetHasForceUpdateBeforeProcessing();\n var oldState = workInProgress.memoizedState;\n var newState = instance.state = oldState;\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n newState = workInProgress.memoizedState;\n\n if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidMount === 'function') {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= fiberFlags;\n }\n\n return false;\n }\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n newState = workInProgress.memoizedState;\n }\n\n var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext);\n\n if (shouldUpdate) {\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\n if (typeof instance.componentWillMount === 'function') {\n instance.componentWillMount();\n }\n\n if (typeof instance.UNSAFE_componentWillMount === 'function') {\n instance.UNSAFE_componentWillMount();\n }\n }\n\n if (typeof instance.componentDidMount === 'function') {\n var _fiberFlags = Update;\n\n {\n _fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n _fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= _fiberFlags;\n }\n } else {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidMount === 'function') {\n var _fiberFlags2 = Update;\n\n {\n _fiberFlags2 |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n _fiberFlags2 |= MountLayoutDev;\n }\n\n workInProgress.flags |= _fiberFlags2;\n } // If shouldComponentUpdate returned false, we should still update the\n // memoized state to indicate that this work can be reused.\n\n\n workInProgress.memoizedProps = newProps;\n workInProgress.memoizedState = newState;\n } // Update the existing instance's state, props, and context pointers even\n // if shouldComponentUpdate returns false.\n\n\n instance.props = newProps;\n instance.state = newState;\n instance.context = nextContext;\n return shouldUpdate;\n} // Invokes the update life-cycles and returns false if it shouldn't rerender.\n\n\nfunction updateClassInstance(current, workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n var unresolvedOldProps = workInProgress.memoizedProps;\n var oldProps = workInProgress.type === workInProgress.elementType ? unresolvedOldProps : resolveDefaultProps(workInProgress.type, unresolvedOldProps);\n instance.props = oldProps;\n var unresolvedNewProps = workInProgress.pendingProps;\n var oldContext = instance.context;\n var contextType = ctor.contextType;\n var nextContext = emptyContextObject;\n\n if (typeof contextType === 'object' && contextType !== null) {\n nextContext = readContext(contextType);\n } else {\n var nextUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n nextContext = getMaskedContext(workInProgress, nextUnmaskedContext);\n }\n\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\n // ever the previously attempted to render - not the \"current\". However,\n // during componentDidUpdate we pass the \"current\" props.\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\n if (unresolvedOldProps !== unresolvedNewProps || oldContext !== nextContext) {\n callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\n }\n }\n\n resetHasForceUpdateBeforeProcessing();\n var oldState = workInProgress.memoizedState;\n var newState = instance.state = oldState;\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n newState = workInProgress.memoizedState;\n\n if (unresolvedOldProps === unresolvedNewProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing() && !(enableLazyContextPropagation )) {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Update;\n }\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Snapshot;\n }\n }\n\n return false;\n }\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n newState = workInProgress.memoizedState;\n }\n\n var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) || // TODO: In some cases, we'll end up checking if context has changed twice,\n // both before and after `shouldComponentUpdate` has been called. Not ideal,\n // but I'm loath to refactor this function. This only happens for memoized\n // components so it's not that common.\n enableLazyContextPropagation ;\n\n if (shouldUpdate) {\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === 'function' || typeof instance.componentWillUpdate === 'function')) {\n if (typeof instance.componentWillUpdate === 'function') {\n instance.componentWillUpdate(newProps, newState, nextContext);\n }\n\n if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\n instance.UNSAFE_componentWillUpdate(newProps, newState, nextContext);\n }\n }\n\n if (typeof instance.componentDidUpdate === 'function') {\n workInProgress.flags |= Update;\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n workInProgress.flags |= Snapshot;\n }\n } else {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Update;\n }\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Snapshot;\n }\n } // If shouldComponentUpdate returned false, we should still update the\n // memoized props/state to indicate that this work can be reused.\n\n\n workInProgress.memoizedProps = newProps;\n workInProgress.memoizedState = newState;\n } // Update the existing instance's state, props, and context pointers even\n // if shouldComponentUpdate returns false.\n\n\n instance.props = newProps;\n instance.state = newState;\n instance.context = nextContext;\n return shouldUpdate;\n}\n\nvar didWarnAboutMaps;\nvar didWarnAboutGenerators;\nvar didWarnAboutStringRefs;\nvar ownerHasKeyUseWarning;\nvar ownerHasFunctionTypeWarning;\n\nvar warnForMissingKey = function (child, returnFiber) {};\n\n{\n didWarnAboutMaps = false;\n didWarnAboutGenerators = false;\n didWarnAboutStringRefs = {};\n /**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n ownerHasKeyUseWarning = {};\n ownerHasFunctionTypeWarning = {};\n\n warnForMissingKey = function (child, returnFiber) {\n if (child === null || typeof child !== 'object') {\n return;\n }\n\n if (!child._store || child._store.validated || child.key != null) {\n return;\n }\n\n if (typeof child._store !== 'object') {\n throw new Error('React Component in warnForMissingKey should have a _store. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n child._store.validated = true;\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (ownerHasKeyUseWarning[componentName]) {\n return;\n }\n\n ownerHasKeyUseWarning[componentName] = true;\n\n error('Each child in a list should have a unique ' + '\"key\" prop. See https://reactjs.org/link/warning-keys for ' + 'more information.');\n };\n}\n\nfunction coerceRef(returnFiber, current, element) {\n var mixedRef = element.ref;\n\n if (mixedRef !== null && typeof mixedRef !== 'function' && typeof mixedRef !== 'object') {\n {\n // TODO: Clean this up once we turn on the string ref warning for\n // everyone, because the strict mode case will no longer be relevant\n if ((returnFiber.mode & StrictLegacyMode || warnAboutStringRefs) && // We warn in ReactElement.js if owner and self are equal for string refs\n // because these cannot be automatically converted to an arrow function\n // using a codemod. Therefore, we don't have to warn about string refs again.\n !(element._owner && element._self && element._owner.stateNode !== element._self)) {\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (!didWarnAboutStringRefs[componentName]) {\n {\n error('A string ref, \"%s\", has been found within a strict mode tree. ' + 'String refs are a source of potential bugs and should be avoided. ' + 'We recommend using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', mixedRef);\n }\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n\n if (element._owner) {\n var owner = element._owner;\n var inst;\n\n if (owner) {\n var ownerFiber = owner;\n\n if (ownerFiber.tag !== ClassComponent) {\n throw new Error('Function components cannot have string refs. ' + 'We recommend using useRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref');\n }\n\n inst = ownerFiber.stateNode;\n }\n\n if (!inst) {\n throw new Error(\"Missing owner for string ref \" + mixedRef + \". This error is likely caused by a \" + 'bug in React. Please file an issue.');\n } // Assigning this to a const so Flow knows it won't change in the closure\n\n\n var resolvedInst = inst;\n\n {\n checkPropStringCoercion(mixedRef, 'ref');\n }\n\n var stringRef = '' + mixedRef; // Check if previous string ref matches new string ref\n\n if (current !== null && current.ref !== null && typeof current.ref === 'function' && current.ref._stringRef === stringRef) {\n return current.ref;\n }\n\n var ref = function (value) {\n var refs = resolvedInst.refs;\n\n if (refs === emptyRefsObject) {\n // This is a lazy pooled frozen object, so we need to initialize.\n refs = resolvedInst.refs = {};\n }\n\n if (value === null) {\n delete refs[stringRef];\n } else {\n refs[stringRef] = value;\n }\n };\n\n ref._stringRef = stringRef;\n return ref;\n } else {\n if (typeof mixedRef !== 'string') {\n throw new Error('Expected ref to be a function, a string, an object returned by React.createRef(), or null.');\n }\n\n if (!element._owner) {\n throw new Error(\"Element ref was specified as a string (\" + mixedRef + \") but no owner was set. This could happen for one of\" + ' the following reasons:\\n' + '1. You may be adding a ref to a function component\\n' + \"2. You may be adding a ref to a component that was not created inside a component's render method\\n\" + '3. You have multiple copies of React loaded\\n' + 'See https://reactjs.org/link/refs-must-have-owner for more information.');\n }\n }\n }\n\n return mixedRef;\n}\n\nfunction throwOnInvalidObjectType(returnFiber, newChild) {\n var childString = Object.prototype.toString.call(newChild);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childString === '[object Object]' ? 'object with keys {' + Object.keys(newChild).join(', ') + '}' : childString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n}\n\nfunction warnOnFunctionType(returnFiber) {\n {\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (ownerHasFunctionTypeWarning[componentName]) {\n return;\n }\n\n ownerHasFunctionTypeWarning[componentName] = true;\n\n error('Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.');\n }\n}\n\nfunction resolveLazy(lazyType) {\n var payload = lazyType._payload;\n var init = lazyType._init;\n return init(payload);\n} // This wrapper function exists because I expect to clone the code in each path\n// to be able to optimize each path individually by branching early. This needs\n// a compiler or we can do it manually. Helpers that don't need this branching\n// live outside of this function.\n\n\nfunction ChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (!shouldTrackSideEffects) {\n // Noop.\n return;\n }\n\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [childToDelete];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(childToDelete);\n }\n }\n\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) {\n // Noop.\n return null;\n } // TODO: For the shouldClone case, this could be micro-optimized a bit by\n // assuming that after the first child we've already added everything.\n\n\n var childToDelete = currentFirstChild;\n\n while (childToDelete !== null) {\n deleteChild(returnFiber, childToDelete);\n childToDelete = childToDelete.sibling;\n }\n\n return null;\n }\n\n function mapRemainingChildren(returnFiber, currentFirstChild) {\n // Add the remaining children to a temporary map so that we can find them by\n // keys quickly. Implicit (null) keys get added to this set with their index\n // instead.\n var existingChildren = new Map();\n var existingChild = currentFirstChild;\n\n while (existingChild !== null) {\n if (existingChild.key !== null) {\n existingChildren.set(existingChild.key, existingChild);\n } else {\n existingChildren.set(existingChild.index, existingChild);\n }\n\n existingChild = existingChild.sibling;\n }\n\n return existingChildren;\n }\n\n function useFiber(fiber, pendingProps) {\n // We currently set sibling to null and index to 0 here because it is easy\n // to forget to do before returning it. E.g. for the single child case.\n var clone = createWorkInProgress(fiber, pendingProps);\n clone.index = 0;\n clone.sibling = null;\n return clone;\n }\n\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n\n if (!shouldTrackSideEffects) {\n // During hydration, the useId algorithm needs to know which fibers are\n // part of a list of children (arrays, iterators).\n newFiber.flags |= Forked;\n return lastPlacedIndex;\n }\n\n var current = newFiber.alternate;\n\n if (current !== null) {\n var oldIndex = current.index;\n\n if (oldIndex < lastPlacedIndex) {\n // This is a move.\n newFiber.flags |= Placement;\n return lastPlacedIndex;\n } else {\n // This item can stay in place.\n return oldIndex;\n }\n } else {\n // This is an insertion.\n newFiber.flags |= Placement;\n return lastPlacedIndex;\n }\n }\n\n function placeSingleChild(newFiber) {\n // This is simpler for the single child case. We only need to do a\n // placement for inserting new children.\n if (shouldTrackSideEffects && newFiber.alternate === null) {\n newFiber.flags |= Placement;\n }\n\n return newFiber;\n }\n\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (current === null || current.tag !== HostText) {\n // Insert\n var created = createFiberFromText(textContent, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, textContent);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n\n if (elementType === REACT_FRAGMENT_TYPE) {\n return updateFragment(returnFiber, current, element.props.children, lanes, element.key);\n }\n\n if (current !== null) {\n if (current.elementType === elementType || ( // Keep this check inline so it only runs on the false path:\n isCompatibleFamilyForHotReloading(current, element) ) || // Lazy types should reconcile their resolved type.\n // We need to do this after the Hot Reloading check above,\n // because hot reloading has different semantics than prod because\n // it doesn't resuspend. So we can't let the call below suspend.\n typeof elementType === 'object' && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === current.type) {\n // Move based on index\n var existing = useFiber(current, element.props);\n existing.ref = coerceRef(returnFiber, current, element);\n existing.return = returnFiber;\n\n {\n existing._debugSource = element._source;\n existing._debugOwner = element._owner;\n }\n\n return existing;\n }\n } // Insert\n\n\n var created = createFiberFromElement(element, returnFiber.mode, lanes);\n created.ref = coerceRef(returnFiber, current, element);\n created.return = returnFiber;\n return created;\n }\n\n function updatePortal(returnFiber, current, portal, lanes) {\n if (current === null || current.tag !== HostPortal || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) {\n // Insert\n var created = createFiberFromPortal(portal, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, portal.children || []);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (current === null || current.tag !== Fragment) {\n // Insert\n var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, fragment);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function createChild(returnFiber, newChild, lanes) {\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys. If the previous node is implicitly keyed\n // we can continue to replace it without aborting even if it is not a text\n // node.\n var created = createFiberFromText('' + newChild, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n var _created = createFiberFromElement(newChild, returnFiber.mode, lanes);\n\n _created.ref = coerceRef(returnFiber, null, newChild);\n _created.return = returnFiber;\n return _created;\n }\n\n case REACT_PORTAL_TYPE:\n {\n var _created2 = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n\n _created2.return = returnFiber;\n return _created2;\n }\n\n case REACT_LAZY_TYPE:\n {\n var payload = newChild._payload;\n var init = newChild._init;\n return createChild(returnFiber, init(payload), lanes);\n }\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n var _created3 = createFiberFromFragment(newChild, returnFiber.mode, lanes, null);\n\n _created3.return = returnFiber;\n return _created3;\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n // Update the fiber if the keys match, otherwise return null.\n var key = oldFiber !== null ? oldFiber.key : null;\n\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys. If the previous node is implicitly keyed\n // we can continue to replace it without aborting even if it is not a text\n // node.\n if (key !== null) {\n return null;\n }\n\n return updateTextNode(returnFiber, oldFiber, '' + newChild, lanes);\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n if (newChild.key === key) {\n return updateElement(returnFiber, oldFiber, newChild, lanes);\n } else {\n return null;\n }\n }\n\n case REACT_PORTAL_TYPE:\n {\n if (newChild.key === key) {\n return updatePortal(returnFiber, oldFiber, newChild, lanes);\n } else {\n return null;\n }\n }\n\n case REACT_LAZY_TYPE:\n {\n var payload = newChild._payload;\n var init = newChild._init;\n return updateSlot(returnFiber, oldFiber, init(payload), lanes);\n }\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n if (key !== null) {\n return null;\n }\n\n return updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n\n function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) {\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys, so we neither have to check the old nor\n // new node for the key. If both are text nodes, they match.\n var matchedFiber = existingChildren.get(newIdx) || null;\n return updateTextNode(returnFiber, matchedFiber, '' + newChild, lanes);\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\n\n return updateElement(returnFiber, _matchedFiber, newChild, lanes);\n }\n\n case REACT_PORTAL_TYPE:\n {\n var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\n\n return updatePortal(returnFiber, _matchedFiber2, newChild, lanes);\n }\n\n case REACT_LAZY_TYPE:\n var payload = newChild._payload;\n var init = newChild._init;\n return updateFromMap(existingChildren, returnFiber, newIdx, init(payload), lanes);\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n var _matchedFiber3 = existingChildren.get(newIdx) || null;\n\n return updateFragment(returnFiber, _matchedFiber3, newChild, lanes, null);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n /**\n * Warns if there is a duplicate or missing key\n */\n\n\n function warnOnInvalidKey(child, knownKeys, returnFiber) {\n {\n if (typeof child !== 'object' || child === null) {\n return knownKeys;\n }\n\n switch (child.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n warnForMissingKey(child, returnFiber);\n var key = child.key;\n\n if (typeof key !== 'string') {\n break;\n }\n\n if (knownKeys === null) {\n knownKeys = new Set();\n knownKeys.add(key);\n break;\n }\n\n if (!knownKeys.has(key)) {\n knownKeys.add(key);\n break;\n }\n\n error('Encountered two children with the same key, `%s`. ' + 'Keys should be unique so that components maintain their identity ' + 'across updates. Non-unique keys may cause children to be ' + 'duplicated and/or omitted — the behavior is unsupported and ' + 'could change in a future version.', key);\n\n break;\n\n case REACT_LAZY_TYPE:\n var payload = child._payload;\n var init = child._init;\n warnOnInvalidKey(init(payload), knownKeys, returnFiber);\n break;\n }\n }\n\n return knownKeys;\n }\n\n function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) {\n // This algorithm can't optimize by searching from both ends since we\n // don't have backpointers on fibers. I'm trying to see how far we can get\n // with that model. If it ends up not being worth the tradeoffs, we can\n // add it later.\n // Even with a two ended optimization, we'd want to optimize for the case\n // where there are few changes and brute force the comparison instead of\n // going for the Map. It'd like to explore hitting that path first in\n // forward-only mode and only go for the Map once we notice that we need\n // lots of look ahead. This doesn't handle reversal as well as two ended\n // search but that's unusual. Besides, for the two ended optimization to\n // work on Iterables, we'd need to copy the whole set.\n // In this first iteration, we'll just live with hitting the bad case\n // (adding everything to a Map) in for every insert/move.\n // If you change this code, also update reconcileChildrenIterator() which\n // uses the same algorithm.\n {\n // First, validate keys.\n var knownKeys = null;\n\n for (var i = 0; i < newChildren.length; i++) {\n var child = newChildren[i];\n knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);\n }\n }\n\n var resultingFirstChild = null;\n var previousNewFiber = null;\n var oldFiber = currentFirstChild;\n var lastPlacedIndex = 0;\n var newIdx = 0;\n var nextOldFiber = null;\n\n for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) {\n if (oldFiber.index > newIdx) {\n nextOldFiber = oldFiber;\n oldFiber = null;\n } else {\n nextOldFiber = oldFiber.sibling;\n }\n\n var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], lanes);\n\n if (newFiber === null) {\n // TODO: This breaks on empty slots like null children. That's\n // unfortunate because it triggers the slow path all the time. We need\n // a better way to communicate whether this was a miss or null,\n // boolean, undefined, etc.\n if (oldFiber === null) {\n oldFiber = nextOldFiber;\n }\n\n break;\n }\n\n if (shouldTrackSideEffects) {\n if (oldFiber && newFiber.alternate === null) {\n // We matched the slot, but we didn't reuse the existing fiber, so we\n // need to delete the existing child.\n deleteChild(returnFiber, oldFiber);\n }\n }\n\n lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = newFiber;\n } else {\n // TODO: Defer siblings if we're not at the right index for this slot.\n // I.e. if we had null values before, then we want to defer this\n // for each null value. However, we also don't want to call updateSlot\n // with the previous one.\n previousNewFiber.sibling = newFiber;\n }\n\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n\n if (newIdx === newChildren.length) {\n // We've reached the end of the new children. We can delete the rest.\n deleteRemainingChildren(returnFiber, oldFiber);\n\n if (getIsHydrating()) {\n var numberOfForks = newIdx;\n pushTreeFork(returnFiber, numberOfForks);\n }\n\n return resultingFirstChild;\n }\n\n if (oldFiber === null) {\n // If we don't have any more existing children we can choose a fast path\n // since the rest will all be insertions.\n for (; newIdx < newChildren.length; newIdx++) {\n var _newFiber = createChild(returnFiber, newChildren[newIdx], lanes);\n\n if (_newFiber === null) {\n continue;\n }\n\n lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = _newFiber;\n } else {\n previousNewFiber.sibling = _newFiber;\n }\n\n previousNewFiber = _newFiber;\n }\n\n if (getIsHydrating()) {\n var _numberOfForks = newIdx;\n pushTreeFork(returnFiber, _numberOfForks);\n }\n\n return resultingFirstChild;\n } // Add all children to a key map for quick lookups.\n\n\n var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\n\n for (; newIdx < newChildren.length; newIdx++) {\n var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], lanes);\n\n if (_newFiber2 !== null) {\n if (shouldTrackSideEffects) {\n if (_newFiber2.alternate !== null) {\n // The new fiber is a work in progress, but if there exists a\n // current, that means that we reused the fiber. We need to delete\n // it from the child list so that we don't add it to the deletion\n // list.\n existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key);\n }\n }\n\n lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n resultingFirstChild = _newFiber2;\n } else {\n previousNewFiber.sibling = _newFiber2;\n }\n\n previousNewFiber = _newFiber2;\n }\n }\n\n if (shouldTrackSideEffects) {\n // Any existing children that weren't consumed above were deleted. We need\n // to add them to the deletion list.\n existingChildren.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n }\n\n if (getIsHydrating()) {\n var _numberOfForks2 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks2);\n }\n\n return resultingFirstChild;\n }\n\n function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, lanes) {\n // This is the same implementation as reconcileChildrenArray(),\n // but using the iterator instead.\n var iteratorFn = getIteratorFn(newChildrenIterable);\n\n if (typeof iteratorFn !== 'function') {\n throw new Error('An object is not an iterable. This error is likely caused by a bug in ' + 'React. Please file an issue.');\n }\n\n {\n // We don't support rendering Generators because it's a mutation.\n // See https://github.com/facebook/react/issues/12995\n if (typeof Symbol === 'function' && // $FlowFixMe Flow doesn't know about toStringTag\n newChildrenIterable[Symbol.toStringTag] === 'Generator') {\n if (!didWarnAboutGenerators) {\n error('Using Generators as children is unsupported and will likely yield ' + 'unexpected results because enumerating a generator mutates it. ' + 'You may convert it to an array with `Array.from()` or the ' + '`[...spread]` operator before rendering. Keep in mind ' + 'you might need to polyfill these features for older browsers.');\n }\n\n didWarnAboutGenerators = true;\n } // Warn about using Maps as children\n\n\n if (newChildrenIterable.entries === iteratorFn) {\n if (!didWarnAboutMaps) {\n error('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n } // First, validate keys.\n // We'll get a different iterator later for the main pass.\n\n\n var _newChildren = iteratorFn.call(newChildrenIterable);\n\n if (_newChildren) {\n var knownKeys = null;\n\n var _step = _newChildren.next();\n\n for (; !_step.done; _step = _newChildren.next()) {\n var child = _step.value;\n knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);\n }\n }\n }\n\n var newChildren = iteratorFn.call(newChildrenIterable);\n\n if (newChildren == null) {\n throw new Error('An iterable object provided no iterator.');\n }\n\n var resultingFirstChild = null;\n var previousNewFiber = null;\n var oldFiber = currentFirstChild;\n var lastPlacedIndex = 0;\n var newIdx = 0;\n var nextOldFiber = null;\n var step = newChildren.next();\n\n for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) {\n if (oldFiber.index > newIdx) {\n nextOldFiber = oldFiber;\n oldFiber = null;\n } else {\n nextOldFiber = oldFiber.sibling;\n }\n\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n\n if (newFiber === null) {\n // TODO: This breaks on empty slots like null children. That's\n // unfortunate because it triggers the slow path all the time. We need\n // a better way to communicate whether this was a miss or null,\n // boolean, undefined, etc.\n if (oldFiber === null) {\n oldFiber = nextOldFiber;\n }\n\n break;\n }\n\n if (shouldTrackSideEffects) {\n if (oldFiber && newFiber.alternate === null) {\n // We matched the slot, but we didn't reuse the existing fiber, so we\n // need to delete the existing child.\n deleteChild(returnFiber, oldFiber);\n }\n }\n\n lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = newFiber;\n } else {\n // TODO: Defer siblings if we're not at the right index for this slot.\n // I.e. if we had null values before, then we want to defer this\n // for each null value. However, we also don't want to call updateSlot\n // with the previous one.\n previousNewFiber.sibling = newFiber;\n }\n\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n\n if (step.done) {\n // We've reached the end of the new children. We can delete the rest.\n deleteRemainingChildren(returnFiber, oldFiber);\n\n if (getIsHydrating()) {\n var numberOfForks = newIdx;\n pushTreeFork(returnFiber, numberOfForks);\n }\n\n return resultingFirstChild;\n }\n\n if (oldFiber === null) {\n // If we don't have any more existing children we can choose a fast path\n // since the rest will all be insertions.\n for (; !step.done; newIdx++, step = newChildren.next()) {\n var _newFiber3 = createChild(returnFiber, step.value, lanes);\n\n if (_newFiber3 === null) {\n continue;\n }\n\n lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = _newFiber3;\n } else {\n previousNewFiber.sibling = _newFiber3;\n }\n\n previousNewFiber = _newFiber3;\n }\n\n if (getIsHydrating()) {\n var _numberOfForks3 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks3);\n }\n\n return resultingFirstChild;\n } // Add all children to a key map for quick lookups.\n\n\n var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\n\n for (; !step.done; newIdx++, step = newChildren.next()) {\n var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, lanes);\n\n if (_newFiber4 !== null) {\n if (shouldTrackSideEffects) {\n if (_newFiber4.alternate !== null) {\n // The new fiber is a work in progress, but if there exists a\n // current, that means that we reused the fiber. We need to delete\n // it from the child list so that we don't add it to the deletion\n // list.\n existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key);\n }\n }\n\n lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n resultingFirstChild = _newFiber4;\n } else {\n previousNewFiber.sibling = _newFiber4;\n }\n\n previousNewFiber = _newFiber4;\n }\n }\n\n if (shouldTrackSideEffects) {\n // Any existing children that weren't consumed above were deleted. We need\n // to add them to the deletion list.\n existingChildren.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n }\n\n if (getIsHydrating()) {\n var _numberOfForks4 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks4);\n }\n\n return resultingFirstChild;\n }\n\n function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, lanes) {\n // There's no need to check for keys on text nodes since we don't have a\n // way to define them.\n if (currentFirstChild !== null && currentFirstChild.tag === HostText) {\n // We already have an existing node so let's just update it and delete\n // the rest.\n deleteRemainingChildren(returnFiber, currentFirstChild.sibling);\n var existing = useFiber(currentFirstChild, textContent);\n existing.return = returnFiber;\n return existing;\n } // The existing first child is not a text node so we need to create one\n // and delete the existing ones.\n\n\n deleteRemainingChildren(returnFiber, currentFirstChild);\n var created = createFiberFromText(textContent, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n }\n\n function reconcileSingleElement(returnFiber, currentFirstChild, element, lanes) {\n var key = element.key;\n var child = currentFirstChild;\n\n while (child !== null) {\n // TODO: If key === null and child.key === null, then this only applies to\n // the first item in the list.\n if (child.key === key) {\n var elementType = element.type;\n\n if (elementType === REACT_FRAGMENT_TYPE) {\n if (child.tag === Fragment) {\n deleteRemainingChildren(returnFiber, child.sibling);\n var existing = useFiber(child, element.props.children);\n existing.return = returnFiber;\n\n {\n existing._debugSource = element._source;\n existing._debugOwner = element._owner;\n }\n\n return existing;\n }\n } else {\n if (child.elementType === elementType || ( // Keep this check inline so it only runs on the false path:\n isCompatibleFamilyForHotReloading(child, element) ) || // Lazy types should reconcile their resolved type.\n // We need to do this after the Hot Reloading check above,\n // because hot reloading has different semantics than prod because\n // it doesn't resuspend. So we can't let the call below suspend.\n typeof elementType === 'object' && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === child.type) {\n deleteRemainingChildren(returnFiber, child.sibling);\n\n var _existing = useFiber(child, element.props);\n\n _existing.ref = coerceRef(returnFiber, child, element);\n _existing.return = returnFiber;\n\n {\n _existing._debugSource = element._source;\n _existing._debugOwner = element._owner;\n }\n\n return _existing;\n }\n } // Didn't match.\n\n\n deleteRemainingChildren(returnFiber, child);\n break;\n } else {\n deleteChild(returnFiber, child);\n }\n\n child = child.sibling;\n }\n\n if (element.type === REACT_FRAGMENT_TYPE) {\n var created = createFiberFromFragment(element.props.children, returnFiber.mode, lanes, element.key);\n created.return = returnFiber;\n return created;\n } else {\n var _created4 = createFiberFromElement(element, returnFiber.mode, lanes);\n\n _created4.ref = coerceRef(returnFiber, currentFirstChild, element);\n _created4.return = returnFiber;\n return _created4;\n }\n }\n\n function reconcileSinglePortal(returnFiber, currentFirstChild, portal, lanes) {\n var key = portal.key;\n var child = currentFirstChild;\n\n while (child !== null) {\n // TODO: If key === null and child.key === null, then this only applies to\n // the first item in the list.\n if (child.key === key) {\n if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) {\n deleteRemainingChildren(returnFiber, child.sibling);\n var existing = useFiber(child, portal.children || []);\n existing.return = returnFiber;\n return existing;\n } else {\n deleteRemainingChildren(returnFiber, child);\n break;\n }\n } else {\n deleteChild(returnFiber, child);\n }\n\n child = child.sibling;\n }\n\n var created = createFiberFromPortal(portal, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } // This API will tag the children with the side-effect of the reconciliation\n // itself. They will be added to the side-effect list as we pass through the\n // children and the parent.\n\n\n function reconcileChildFibers(returnFiber, currentFirstChild, newChild, lanes) {\n // This function is not recursive.\n // If the top level item is an array, we treat it as a set of children,\n // not as a fragment. Nested arrays on the other hand will be treated as\n // fragment nodes. Recursion happens at the normal flow.\n // Handle top level unkeyed fragments as if they were arrays.\n // This leads to an ambiguity between <>{[...]}</> and <>...</>.\n // We treat the ambiguous cases above the same.\n var isUnkeyedTopLevelFragment = typeof newChild === 'object' && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null;\n\n if (isUnkeyedTopLevelFragment) {\n newChild = newChild.props.children;\n } // Handle object types\n\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, lanes));\n\n case REACT_PORTAL_TYPE:\n return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, lanes));\n\n case REACT_LAZY_TYPE:\n var payload = newChild._payload;\n var init = newChild._init; // TODO: This function is supposed to be non-recursive.\n\n return reconcileChildFibers(returnFiber, currentFirstChild, init(payload), lanes);\n }\n\n if (isArray(newChild)) {\n return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, lanes);\n }\n\n if (getIteratorFn(newChild)) {\n return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, lanes);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, '' + newChild, lanes));\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n } // Remaining cases are all treated as empty.\n\n\n return deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n\n return reconcileChildFibers;\n}\n\nvar reconcileChildFibers = ChildReconciler(true);\nvar mountChildFibers = ChildReconciler(false);\nfunction cloneChildFibers(current, workInProgress) {\n if (current !== null && workInProgress.child !== current.child) {\n throw new Error('Resuming work not yet implemented.');\n }\n\n if (workInProgress.child === null) {\n return;\n }\n\n var currentChild = workInProgress.child;\n var newChild = createWorkInProgress(currentChild, currentChild.pendingProps);\n workInProgress.child = newChild;\n newChild.return = workInProgress;\n\n while (currentChild.sibling !== null) {\n currentChild = currentChild.sibling;\n newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps);\n newChild.return = workInProgress;\n }\n\n newChild.sibling = null;\n} // Reset a workInProgress child set to prepare it for a second pass.\n\nfunction resetChildFibers(workInProgress, lanes) {\n var child = workInProgress.child;\n\n while (child !== null) {\n resetWorkInProgress(child, lanes);\n child = child.sibling;\n }\n}\n\nvar NO_CONTEXT = {};\nvar contextStackCursor$1 = createCursor(NO_CONTEXT);\nvar contextFiberStackCursor = createCursor(NO_CONTEXT);\nvar rootInstanceStackCursor = createCursor(NO_CONTEXT);\n\nfunction requiredContext(c) {\n if (c === NO_CONTEXT) {\n throw new Error('Expected host context to exist. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n }\n\n return c;\n}\n\nfunction getRootHostContainer() {\n var rootInstance = requiredContext(rootInstanceStackCursor.current);\n return rootInstance;\n}\n\nfunction pushHostContainer(fiber, nextRootInstance) {\n // Push current root instance onto the stack;\n // This allows us to reset root when portals are popped.\n push(rootInstanceStackCursor, nextRootInstance, fiber); // Track the context and the Fiber that provided it.\n // This enables us to pop only Fibers that provide unique contexts.\n\n push(contextFiberStackCursor, fiber, fiber); // Finally, we need to push the host context to the stack.\n // However, we can't just call getRootHostContext() and push it because\n // we'd have a different number of entries on the stack depending on\n // whether getRootHostContext() throws somewhere in renderer code or not.\n // So we push an empty value first. This lets us safely unwind on errors.\n\n push(contextStackCursor$1, NO_CONTEXT, fiber);\n var nextRootContext = getRootHostContext(nextRootInstance); // Now that we know this function doesn't throw, replace it.\n\n pop(contextStackCursor$1, fiber);\n push(contextStackCursor$1, nextRootContext, fiber);\n}\n\nfunction popHostContainer(fiber) {\n pop(contextStackCursor$1, fiber);\n pop(contextFiberStackCursor, fiber);\n pop(rootInstanceStackCursor, fiber);\n}\n\nfunction getHostContext() {\n var context = requiredContext(contextStackCursor$1.current);\n return context;\n}\n\nfunction pushHostContext(fiber) {\n var rootInstance = requiredContext(rootInstanceStackCursor.current);\n var context = requiredContext(contextStackCursor$1.current);\n var nextContext = getChildHostContext(context, fiber.type); // Don't push this Fiber's context unless it's unique.\n\n if (context === nextContext) {\n return;\n } // Track the context and the Fiber that provided it.\n // This enables us to pop only Fibers that provide unique contexts.\n\n\n push(contextFiberStackCursor, fiber, fiber);\n push(contextStackCursor$1, nextContext, fiber);\n}\n\nfunction popHostContext(fiber) {\n // Do not pop unless this Fiber provided the current context.\n // pushHostContext() only pushes Fibers that provide unique contexts.\n if (contextFiberStackCursor.current !== fiber) {\n return;\n }\n\n pop(contextStackCursor$1, fiber);\n pop(contextFiberStackCursor, fiber);\n}\n\nvar DefaultSuspenseContext = 0; // The Suspense Context is split into two parts. The lower bits is\n// inherited deeply down the subtree. The upper bits only affect\n// this immediate suspense boundary and gets reset each new\n// boundary or suspense list.\n\nvar SubtreeSuspenseContextMask = 1; // Subtree Flags:\n// InvisibleParentSuspenseContext indicates that one of our parent Suspense\n// boundaries is not currently showing visible main content.\n// Either because it is already showing a fallback or is not mounted at all.\n// We can use this to determine if it is desirable to trigger a fallback at\n// the parent. If not, then we might need to trigger undesirable boundaries\n// and/or suspend the commit to avoid hiding the parent content.\n\nvar InvisibleParentSuspenseContext = 1; // Shallow Flags:\n// ForceSuspenseFallback can be used by SuspenseList to force newly added\n// items into their fallback state during one of the render passes.\n\nvar ForceSuspenseFallback = 2;\nvar suspenseStackCursor = createCursor(DefaultSuspenseContext);\nfunction hasSuspenseContext(parentContext, flag) {\n return (parentContext & flag) !== 0;\n}\nfunction setDefaultShallowSuspenseContext(parentContext) {\n return parentContext & SubtreeSuspenseContextMask;\n}\nfunction setShallowSuspenseContext(parentContext, shallowContext) {\n return parentContext & SubtreeSuspenseContextMask | shallowContext;\n}\nfunction addSubtreeSuspenseContext(parentContext, subtreeContext) {\n return parentContext | subtreeContext;\n}\nfunction pushSuspenseContext(fiber, newContext) {\n push(suspenseStackCursor, newContext, fiber);\n}\nfunction popSuspenseContext(fiber) {\n pop(suspenseStackCursor, fiber);\n}\n\nfunction shouldCaptureSuspense(workInProgress, hasInvisibleParent) {\n // If it was the primary children that just suspended, capture and render the\n // fallback. Otherwise, don't capture and bubble to the next boundary.\n var nextState = workInProgress.memoizedState;\n\n if (nextState !== null) {\n if (nextState.dehydrated !== null) {\n // A dehydrated boundary always captures.\n return true;\n }\n\n return false;\n }\n\n var props = workInProgress.memoizedProps; // Regular boundaries always capture.\n\n {\n return true;\n } // If it's a boundary we should avoid, then we prefer to bubble up to the\n}\nfunction findFirstSuspended(row) {\n var node = row;\n\n while (node !== null) {\n if (node.tag === SuspenseComponent) {\n var state = node.memoizedState;\n\n if (state !== null) {\n var dehydrated = state.dehydrated;\n\n if (dehydrated === null || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) {\n return node;\n }\n }\n } else if (node.tag === SuspenseListComponent && // revealOrder undefined can't be trusted because it don't\n // keep track of whether it suspended or not.\n node.memoizedProps.revealOrder !== undefined) {\n var didSuspend = (node.flags & DidCapture) !== NoFlags;\n\n if (didSuspend) {\n return node;\n }\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === row) {\n return null;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === row) {\n return null;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n\n return null;\n}\n\nvar NoFlags$1 =\n/* */\n0; // Represents whether effect should fire.\n\nvar HasEffect =\n/* */\n1; // Represents the phase in which the effect (not the clean-up) fires.\n\nvar Insertion =\n/* */\n2;\nvar Layout =\n/* */\n4;\nvar Passive$1 =\n/* */\n8;\n\n// and should be reset before starting a new render.\n// This tracks which mutable sources need to be reset after a render.\n\nvar workInProgressSources = [];\nfunction resetWorkInProgressVersions() {\n for (var i = 0; i < workInProgressSources.length; i++) {\n var mutableSource = workInProgressSources[i];\n\n {\n mutableSource._workInProgressVersionPrimary = null;\n }\n }\n\n workInProgressSources.length = 0;\n}\n// This ensures that the version used for server rendering matches the one\n// that is eventually read during hydration.\n// If they don't match there's a potential tear and a full deopt render is required.\n\nfunction registerMutableSourceForHydration(root, mutableSource) {\n var getVersion = mutableSource._getVersion;\n var version = getVersion(mutableSource._source); // TODO Clear this data once all pending hydration work is finished.\n // Retaining it forever may interfere with GC.\n\n if (root.mutableSourceEagerHydrationData == null) {\n root.mutableSourceEagerHydrationData = [mutableSource, version];\n } else {\n root.mutableSourceEagerHydrationData.push(mutableSource, version);\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentBatchConfig$2 = ReactSharedInternals.ReactCurrentBatchConfig;\nvar didWarnAboutMismatchedHooksForComponent;\nvar didWarnUncachedGetSnapshot;\n\n{\n didWarnAboutMismatchedHooksForComponent = new Set();\n}\n\n// These are set right before calling the component.\nvar renderLanes = NoLanes; // The work-in-progress fiber. I've named it differently to distinguish it from\n// the work-in-progress hook.\n\nvar currentlyRenderingFiber$1 = null; // Hooks are stored as a linked list on the fiber's memoizedState field. The\n// current hook list is the list that belongs to the current fiber. The\n// work-in-progress hook list is a new list that will be added to the\n// work-in-progress fiber.\n\nvar currentHook = null;\nvar workInProgressHook = null; // Whether an update was scheduled at any point during the render phase. This\n// does not get reset if we do another render pass; only when we're completely\n// finished evaluating this component. This is an optimization so we know\n// whether we need to clear render phase updates after a throw.\n\nvar didScheduleRenderPhaseUpdate = false; // Where an update was scheduled only during the current render pass. This\n// gets reset after each attempt.\n// TODO: Maybe there's some way to consolidate this with\n// `didScheduleRenderPhaseUpdate`. Or with `numberOfReRenders`.\n\nvar didScheduleRenderPhaseUpdateDuringThisPass = false; // Counts the number of useId hooks in this component.\n\nvar localIdCounter = 0; // Used for ids that are generated completely client-side (i.e. not during\n// hydration). This counter is global, so client ids are not stable across\n// render attempts.\n\nvar globalClientIdCounter = 0;\nvar RE_RENDER_LIMIT = 25; // In DEV, this is the name of the currently executing primitive hook\n\nvar currentHookNameInDev = null; // In DEV, this list ensures that hooks are called in the same order between renders.\n// The list stores the order of hooks used during the initial render (mount).\n// Subsequent renders (updates) reference this list.\n\nvar hookTypesDev = null;\nvar hookTypesUpdateIndexDev = -1; // In DEV, this tracks whether currently rendering component needs to ignore\n// the dependencies for Hooks that need them (e.g. useEffect or useMemo).\n// When true, such Hooks will always be \"remounted\". Only used during hot reload.\n\nvar ignorePreviousDependencies = false;\n\nfunction mountHookTypesDev() {\n {\n var hookName = currentHookNameInDev;\n\n if (hookTypesDev === null) {\n hookTypesDev = [hookName];\n } else {\n hookTypesDev.push(hookName);\n }\n }\n}\n\nfunction updateHookTypesDev() {\n {\n var hookName = currentHookNameInDev;\n\n if (hookTypesDev !== null) {\n hookTypesUpdateIndexDev++;\n\n if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) {\n warnOnHookMismatchInDev(hookName);\n }\n }\n }\n}\n\nfunction checkDepsAreArrayDev(deps) {\n {\n if (deps !== undefined && deps !== null && !isArray(deps)) {\n // Verify deps, but only on mount to avoid extra checks.\n // It's unlikely their type would change as usually you define them inline.\n error('%s received a final argument that is not an array (instead, received `%s`). When ' + 'specified, the final argument must be an array.', currentHookNameInDev, typeof deps);\n }\n }\n}\n\nfunction warnOnHookMismatchInDev(currentHookName) {\n {\n var componentName = getComponentNameFromFiber(currentlyRenderingFiber$1);\n\n if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) {\n didWarnAboutMismatchedHooksForComponent.add(componentName);\n\n if (hookTypesDev !== null) {\n var table = '';\n var secondColumnStart = 30;\n\n for (var i = 0; i <= hookTypesUpdateIndexDev; i++) {\n var oldHookName = hookTypesDev[i];\n var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName;\n var row = i + 1 + \". \" + oldHookName; // Extra space so second column lines up\n // lol @ IE not supporting String#repeat\n\n while (row.length < secondColumnStart) {\n row += ' ';\n }\n\n row += newHookName + '\\n';\n table += row;\n }\n\n error('React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://reactjs.org/link/rules-of-hooks\\n\\n' + ' Previous render Next render\\n' + ' ------------------------------------------------------\\n' + '%s' + ' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', componentName, table);\n }\n }\n }\n}\n\nfunction throwInvalidHookError() {\n throw new Error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n}\n\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n {\n if (ignorePreviousDependencies) {\n // Only true when this component is being hot reloaded.\n return false;\n }\n }\n\n if (prevDeps === null) {\n {\n error('%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev);\n }\n\n return false;\n }\n\n {\n // Don't bother comparing lengths in prod because these arrays should be\n // passed inline.\n if (nextDeps.length !== prevDeps.length) {\n error('The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\\n\\n' + 'Previous: %s\\n' + 'Incoming: %s', currentHookNameInDev, \"[\" + prevDeps.join(', ') + \"]\", \"[\" + nextDeps.join(', ') + \"]\");\n }\n }\n\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) {\n if (objectIs(nextDeps[i], prevDeps[i])) {\n continue;\n }\n\n return false;\n }\n\n return true;\n}\n\nfunction renderWithHooks(current, workInProgress, Component, props, secondArg, nextRenderLanes) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber$1 = workInProgress;\n\n {\n hookTypesDev = current !== null ? current._debugHookTypes : null;\n hookTypesUpdateIndexDev = -1; // Used for hot reloading:\n\n ignorePreviousDependencies = current !== null && current.type !== workInProgress.type;\n }\n\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = NoLanes; // The following should have already been reset\n // currentHook = null;\n // workInProgressHook = null;\n // didScheduleRenderPhaseUpdate = false;\n // localIdCounter = 0;\n // TODO Warn if no hooks are used at all during mount, then some are used during update.\n // Currently we will identify the update render as a mount because memoizedState === null.\n // This is tricky because it's valid for certain types of components (e.g. React.lazy)\n // Using memoizedState to differentiate between mount/update only works if at least one stateful hook is used.\n // Non-stateful hooks (e.g. context) don't get added to memoizedState,\n // so memoizedState would be null during updates and mounts.\n\n {\n if (current !== null && current.memoizedState !== null) {\n ReactCurrentDispatcher$1.current = HooksDispatcherOnUpdateInDEV;\n } else if (hookTypesDev !== null) {\n // This dispatcher handles an edge case where a component is updating,\n // but no stateful hooks have been used.\n // We want to match the production code behavior (which will use HooksDispatcherOnMount),\n // but with the extra DEV validation to ensure hooks ordering hasn't changed.\n // This dispatcher does that.\n ReactCurrentDispatcher$1.current = HooksDispatcherOnMountWithHookTypesInDEV;\n } else {\n ReactCurrentDispatcher$1.current = HooksDispatcherOnMountInDEV;\n }\n }\n\n var children = Component(props, secondArg); // Check if there was a render phase update\n\n if (didScheduleRenderPhaseUpdateDuringThisPass) {\n // Keep rendering in a loop for as long as render phase updates continue to\n // be scheduled. Use a counter to prevent infinite loops.\n var numberOfReRenders = 0;\n\n do {\n didScheduleRenderPhaseUpdateDuringThisPass = false;\n localIdCounter = 0;\n\n if (numberOfReRenders >= RE_RENDER_LIMIT) {\n throw new Error('Too many re-renders. React limits the number of renders to prevent ' + 'an infinite loop.');\n }\n\n numberOfReRenders += 1;\n\n {\n // Even when hot reloading, allow dependencies to stabilize\n // after first render to prevent infinite render phase updates.\n ignorePreviousDependencies = false;\n } // Start over from the beginning of the list\n\n\n currentHook = null;\n workInProgressHook = null;\n workInProgress.updateQueue = null;\n\n {\n // Also validate hook order for cascading updates.\n hookTypesUpdateIndexDev = -1;\n }\n\n ReactCurrentDispatcher$1.current = HooksDispatcherOnRerenderInDEV ;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n } // We can assume the previous dispatcher is always this one, since we set it\n // at the beginning of the render phase and there's no re-entrance.\n\n\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\n\n {\n workInProgress._debugHookTypes = hookTypesDev;\n } // This check uses currentHook so that it works the same in DEV and prod bundles.\n // hookTypesDev could catch more cases (e.g. context) but only in DEV bundles.\n\n\n var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null;\n renderLanes = NoLanes;\n currentlyRenderingFiber$1 = null;\n currentHook = null;\n workInProgressHook = null;\n\n {\n currentHookNameInDev = null;\n hookTypesDev = null;\n hookTypesUpdateIndexDev = -1; // Confirm that a static flag was not added or removed since the last\n // render. If this fires, it suggests that we incorrectly reset the static\n // flags in some other part of the codebase. This has happened before, for\n // example, in the SuspenseList implementation.\n\n if (current !== null && (current.flags & StaticMask) !== (workInProgress.flags & StaticMask) && // Disable this warning in legacy mode, because legacy Suspense is weird\n // and creates false positives. To make this work in legacy mode, we'd\n // need to mark fibers that commit in an incomplete state, somehow. For\n // now I'll disable the warning that most of the bugs that would trigger\n // it are either exclusive to concurrent mode or exist in both.\n (current.mode & ConcurrentMode) !== NoMode) {\n error('Internal React error: Expected static flag was missing. Please ' + 'notify the React team.');\n }\n }\n\n didScheduleRenderPhaseUpdate = false; // This is reset by checkDidRenderIdHook\n // localIdCounter = 0;\n\n if (didRenderTooFewHooks) {\n throw new Error('Rendered fewer hooks than expected. This may be caused by an accidental ' + 'early return statement.');\n }\n\n return children;\n}\nfunction checkDidRenderIdHook() {\n // This should be called immediately after every renderWithHooks call.\n // Conceptually, it's part of the return value of renderWithHooks; it's only a\n // separate function to avoid using an array tuple.\n var didRenderIdHook = localIdCounter !== 0;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue; // TODO: Don't need to reset the flags here, because they're reset in the\n // complete phase (bubbleProperties).\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n workInProgress.flags &= ~(MountPassiveDev | MountLayoutDev | Passive | Update);\n } else {\n workInProgress.flags &= ~(Passive | Update);\n }\n\n current.lanes = removeLanes(current.lanes, lanes);\n}\nfunction resetHooksAfterThrow() {\n // We can assume the previous dispatcher is always this one, since we set it\n // at the beginning of the render phase and there's no re-entrance.\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\n\n if (didScheduleRenderPhaseUpdate) {\n // There were render phase updates. These are only valid for this render\n // phase, which we are now aborting. Remove the updates from the queues so\n // they do not persist to the next render. Do not remove updates from hooks\n // that weren't processed.\n //\n // Only reset the updates from the queue if it has a clone. If it does\n // not have a clone, that means it wasn't processed, and the updates were\n // scheduled before we entered the render phase.\n var hook = currentlyRenderingFiber$1.memoizedState;\n\n while (hook !== null) {\n var queue = hook.queue;\n\n if (queue !== null) {\n queue.pending = null;\n }\n\n hook = hook.next;\n }\n\n didScheduleRenderPhaseUpdate = false;\n }\n\n renderLanes = NoLanes;\n currentlyRenderingFiber$1 = null;\n currentHook = null;\n workInProgressHook = null;\n\n {\n hookTypesDev = null;\n hookTypesUpdateIndexDev = -1;\n currentHookNameInDev = null;\n isUpdatingOpaqueValueInRenderPhase = false;\n }\n\n didScheduleRenderPhaseUpdateDuringThisPass = false;\n localIdCounter = 0;\n}\n\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n\n if (workInProgressHook === null) {\n // This is the first hook in the list\n currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook;\n } else {\n // Append to the end of the list\n workInProgressHook = workInProgressHook.next = hook;\n }\n\n return workInProgressHook;\n}\n\nfunction updateWorkInProgressHook() {\n // This function is used both for updates and for re-renders triggered by a\n // render phase update. It assumes there is either a current hook we can\n // clone, or a work-in-progress hook from a previous render pass that we can\n // use as a base. When we reach the end of the base list, we must switch to\n // the dispatcher used for mounts.\n var nextCurrentHook;\n\n if (currentHook === null) {\n var current = currentlyRenderingFiber$1.alternate;\n\n if (current !== null) {\n nextCurrentHook = current.memoizedState;\n } else {\n nextCurrentHook = null;\n }\n } else {\n nextCurrentHook = currentHook.next;\n }\n\n var nextWorkInProgressHook;\n\n if (workInProgressHook === null) {\n nextWorkInProgressHook = currentlyRenderingFiber$1.memoizedState;\n } else {\n nextWorkInProgressHook = workInProgressHook.next;\n }\n\n if (nextWorkInProgressHook !== null) {\n // There's already a work-in-progress. Reuse it.\n workInProgressHook = nextWorkInProgressHook;\n nextWorkInProgressHook = workInProgressHook.next;\n currentHook = nextCurrentHook;\n } else {\n // Clone from the current hook.\n if (nextCurrentHook === null) {\n throw new Error('Rendered more hooks than during the previous render.');\n }\n\n currentHook = nextCurrentHook;\n var newHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n\n if (workInProgressHook === null) {\n // This is the first hook in the list.\n currentlyRenderingFiber$1.memoizedState = workInProgressHook = newHook;\n } else {\n // Append to the end of the list.\n workInProgressHook = workInProgressHook.next = newHook;\n }\n }\n\n return workInProgressHook;\n}\n\nfunction createFunctionComponentUpdateQueue() {\n return {\n lastEffect: null,\n stores: null\n };\n}\n\nfunction basicStateReducer(state, action) {\n // $FlowFixMe: Flow doesn't like mixed types\n return typeof action === 'function' ? action(state) : action;\n}\n\nfunction mountReducer(reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n var initialState;\n\n if (init !== undefined) {\n initialState = init(initialArg);\n } else {\n initialState = initialArg;\n }\n\n hook.memoizedState = hook.baseState = initialState;\n var queue = {\n pending: null,\n interleaved: null,\n lanes: NoLanes,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = queue;\n var dispatch = queue.dispatch = dispatchReducerAction.bind(null, currentlyRenderingFiber$1, queue);\n return [hook.memoizedState, dispatch];\n}\n\nfunction updateReducer(reducer, initialArg, init) {\n var hook = updateWorkInProgressHook();\n var queue = hook.queue;\n\n if (queue === null) {\n throw new Error('Should have a queue. This is likely a bug in React. Please file an issue.');\n }\n\n queue.lastRenderedReducer = reducer;\n var current = currentHook; // The last rebase update that is NOT part of the base state.\n\n var baseQueue = current.baseQueue; // The last pending update that hasn't been processed yet.\n\n var pendingQueue = queue.pending;\n\n if (pendingQueue !== null) {\n // We have new updates that haven't been processed yet.\n // We'll add them to the base queue.\n if (baseQueue !== null) {\n // Merge the pending queue and the base queue.\n var baseFirst = baseQueue.next;\n var pendingFirst = pendingQueue.next;\n baseQueue.next = pendingFirst;\n pendingQueue.next = baseFirst;\n }\n\n {\n if (current.baseQueue !== baseQueue) {\n // Internal invariant that should never happen, but feasibly could in\n // the future if we implement resuming, or some form of that.\n error('Internal error: Expected work-in-progress queue to be a clone. ' + 'This is a bug in React.');\n }\n }\n\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n\n if (baseQueue !== null) {\n // We have a queue to process.\n var first = baseQueue.next;\n var newState = current.baseState;\n var newBaseState = null;\n var newBaseQueueFirst = null;\n var newBaseQueueLast = null;\n var update = first;\n\n do {\n var updateLane = update.lane;\n\n if (!isSubsetOfLanes(renderLanes, updateLane)) {\n // Priority is insufficient. Skip this update. If this is the first\n // skipped update, the previous update/state is the new base\n // update/state.\n var clone = {\n lane: updateLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n\n if (newBaseQueueLast === null) {\n newBaseQueueFirst = newBaseQueueLast = clone;\n newBaseState = newState;\n } else {\n newBaseQueueLast = newBaseQueueLast.next = clone;\n } // Update the remaining priority in the queue.\n // TODO: Don't need to accumulate this. Instead, we can remove\n // renderLanes from the original lanes.\n\n\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, updateLane);\n markSkippedUpdateLanes(updateLane);\n } else {\n // This update does have sufficient priority.\n if (newBaseQueueLast !== null) {\n var _clone = {\n // This update is going to be committed so we never want uncommit\n // it. Using NoLane works because 0 is a subset of all bitmasks, so\n // this will never be skipped by the check above.\n lane: NoLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n newBaseQueueLast = newBaseQueueLast.next = _clone;\n } // Process this update.\n\n\n if (update.hasEagerState) {\n // If this update is a state update (not a reducer) and was processed eagerly,\n // we can use the eagerly computed state\n newState = update.eagerState;\n } else {\n var action = update.action;\n newState = reducer(newState, action);\n }\n }\n\n update = update.next;\n } while (update !== null && update !== first);\n\n if (newBaseQueueLast === null) {\n newBaseState = newState;\n } else {\n newBaseQueueLast.next = newBaseQueueFirst;\n } // Mark that the fiber performed work, but only if the new state is\n // different from the current state.\n\n\n if (!objectIs(newState, hook.memoizedState)) {\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = newState;\n hook.baseState = newBaseState;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = newState;\n } // Interleaved updates are stored on a separate queue. We aren't going to\n // process them during this render, but we do need to track which lanes\n // are remaining.\n\n\n var lastInterleaved = queue.interleaved;\n\n if (lastInterleaved !== null) {\n var interleaved = lastInterleaved;\n\n do {\n var interleavedLane = interleaved.lane;\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, interleavedLane);\n markSkippedUpdateLanes(interleavedLane);\n interleaved = interleaved.next;\n } while (interleaved !== lastInterleaved);\n } else if (baseQueue === null) {\n // `queue.lanes` is used for entangling transitions. We can set it back to\n // zero once the queue is empty.\n queue.lanes = NoLanes;\n }\n\n var dispatch = queue.dispatch;\n return [hook.memoizedState, dispatch];\n}\n\nfunction rerenderReducer(reducer, initialArg, init) {\n var hook = updateWorkInProgressHook();\n var queue = hook.queue;\n\n if (queue === null) {\n throw new Error('Should have a queue. This is likely a bug in React. Please file an issue.');\n }\n\n queue.lastRenderedReducer = reducer; // This is a re-render. Apply the new render phase updates to the previous\n // work-in-progress hook.\n\n var dispatch = queue.dispatch;\n var lastRenderPhaseUpdate = queue.pending;\n var newState = hook.memoizedState;\n\n if (lastRenderPhaseUpdate !== null) {\n // The queue doesn't persist past this render pass.\n queue.pending = null;\n var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next;\n var update = firstRenderPhaseUpdate;\n\n do {\n // Process this render phase update. We don't have to check the\n // priority because it will always be the same as the current\n // render's.\n var action = update.action;\n newState = reducer(newState, action);\n update = update.next;\n } while (update !== firstRenderPhaseUpdate); // Mark that the fiber performed work, but only if the new state is\n // different from the current state.\n\n\n if (!objectIs(newState, hook.memoizedState)) {\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = newState; // Don't persist the state accumulated from the render phase updates to\n // the base state unless the queue is empty.\n // TODO: Not sure if this is the desired semantics, but it's what we\n // do for gDSFP. I can't remember why.\n\n if (hook.baseQueue === null) {\n hook.baseState = newState;\n }\n\n queue.lastRenderedState = newState;\n }\n\n return [newState, dispatch];\n}\n\nfunction mountMutableSource(source, getSnapshot, subscribe) {\n {\n return undefined;\n }\n}\n\nfunction updateMutableSource(source, getSnapshot, subscribe) {\n {\n return undefined;\n }\n}\n\nfunction mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1;\n var hook = mountWorkInProgressHook();\n var nextSnapshot;\n var isHydrating = getIsHydrating();\n\n if (isHydrating) {\n if (getServerSnapshot === undefined) {\n throw new Error('Missing getServerSnapshot, which is required for ' + 'server-rendered content. Will revert to client rendering.');\n }\n\n nextSnapshot = getServerSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n if (nextSnapshot !== getServerSnapshot()) {\n error('The result of getServerSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n } else {\n nextSnapshot = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedSnapshot = getSnapshot();\n\n if (!objectIs(nextSnapshot, cachedSnapshot)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Unless we're rendering a blocking lane, schedule a consistency check.\n // Right before committing, we will walk the tree and check if any of the\n // stores were mutated.\n //\n // We won't do this if we're hydrating server-rendered content, because if\n // the content is stale, it's already visible anyway. Instead we'll patch\n // it up in a passive effect.\n\n\n var root = getWorkInProgressRoot();\n\n if (root === null) {\n throw new Error('Expected a work-in-progress root. This is a bug in React. Please file an issue.');\n }\n\n if (!includesBlockingLane(root, renderLanes)) {\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n } // Read the current snapshot from the store on every render. This breaks the\n // normal rules of React, and only works because store updates are\n // always synchronous.\n\n\n hook.memoizedState = nextSnapshot;\n var inst = {\n value: nextSnapshot,\n getSnapshot: getSnapshot\n };\n hook.queue = inst; // Schedule an effect to subscribe to the store.\n\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); // Schedule an effect to update the mutable instance fields. We will update\n // this whenever subscribe, getSnapshot, or value changes. Because there's no\n // clean-up function, and we track the deps correctly, we can call pushEffect\n // directly, without storing any additional state. For the same reason, we\n // don't need to set a static flag, either.\n // TODO: We can move this to the passive phase once we add a pre-commit\n // consistency check. See the next comment.\n\n fiber.flags |= Passive;\n pushEffect(HasEffect | Passive$1, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), undefined, null);\n return nextSnapshot;\n}\n\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1;\n var hook = updateWorkInProgressHook(); // Read the current snapshot from the store on every render. This breaks the\n // normal rules of React, and only works because store updates are\n // always synchronous.\n\n var nextSnapshot = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedSnapshot = getSnapshot();\n\n if (!objectIs(nextSnapshot, cachedSnapshot)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n\n var prevSnapshot = hook.memoizedState;\n var snapshotChanged = !objectIs(prevSnapshot, nextSnapshot);\n\n if (snapshotChanged) {\n hook.memoizedState = nextSnapshot;\n markWorkInProgressReceivedUpdate();\n }\n\n var inst = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (inst.getSnapshot !== getSnapshot || snapshotChanged || // Check if the susbcribe function changed. We can save some memory by\n // checking whether we scheduled a subscription effect above.\n workInProgressHook !== null && workInProgressHook.memoizedState.tag & HasEffect) {\n fiber.flags |= Passive;\n pushEffect(HasEffect | Passive$1, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), undefined, null); // Unless we're rendering a blocking lane, schedule a consistency check.\n // Right before committing, we will walk the tree and check if any of the\n // stores were mutated.\n\n var root = getWorkInProgressRoot();\n\n if (root === null) {\n throw new Error('Expected a work-in-progress root. This is a bug in React. Please file an issue.');\n }\n\n if (!includesBlockingLane(root, renderLanes)) {\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n }\n\n return nextSnapshot;\n}\n\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= StoreConsistency;\n var check = {\n getSnapshot: getSnapshot,\n value: renderedSnapshot\n };\n var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;\n\n if (componentUpdateQueue === null) {\n componentUpdateQueue = createFunctionComponentUpdateQueue();\n currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;\n componentUpdateQueue.stores = [check];\n } else {\n var stores = componentUpdateQueue.stores;\n\n if (stores === null) {\n componentUpdateQueue.stores = [check];\n } else {\n stores.push(check);\n }\n }\n}\n\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n // These are updated in the passive phase\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot; // Something may have been mutated in between render and commit. This could\n // have been in an event that fired before the passive effects, or it could\n // have been in a layout effect. In that case, we would have used the old\n // snapsho and getSnapshot values to bail out. We need to check one more time.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceStoreRerender(fiber);\n }\n}\n\nfunction subscribeToStore(fiber, inst, subscribe) {\n var handleStoreChange = function () {\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceStoreRerender(fiber);\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n}\n\nfunction mountState(initialState) {\n var hook = mountWorkInProgressHook();\n\n if (typeof initialState === 'function') {\n // $FlowFixMe: Flow doesn't like mixed types\n initialState = initialState();\n }\n\n hook.memoizedState = hook.baseState = initialState;\n var queue = {\n pending: null,\n interleaved: null,\n lanes: NoLanes,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n hook.queue = queue;\n var dispatch = queue.dispatch = dispatchSetState.bind(null, currentlyRenderingFiber$1, queue);\n return [hook.memoizedState, dispatch];\n}\n\nfunction updateState(initialState) {\n return updateReducer(basicStateReducer);\n}\n\nfunction rerenderState(initialState) {\n return rerenderReducer(basicStateReducer);\n}\n\nfunction pushEffect(tag, create, destroy, deps) {\n var effect = {\n tag: tag,\n create: create,\n destroy: destroy,\n deps: deps,\n // Circular\n next: null\n };\n var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;\n\n if (componentUpdateQueue === null) {\n componentUpdateQueue = createFunctionComponentUpdateQueue();\n currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;\n componentUpdateQueue.lastEffect = effect.next = effect;\n } else {\n var lastEffect = componentUpdateQueue.lastEffect;\n\n if (lastEffect === null) {\n componentUpdateQueue.lastEffect = effect.next = effect;\n } else {\n var firstEffect = lastEffect.next;\n lastEffect.next = effect;\n effect.next = firstEffect;\n componentUpdateQueue.lastEffect = effect;\n }\n }\n\n return effect;\n}\n\nfunction mountRef(initialValue) {\n var hook = mountWorkInProgressHook();\n\n {\n var _ref2 = {\n current: initialValue\n };\n hook.memoizedState = _ref2;\n return _ref2;\n }\n}\n\nfunction updateRef(initialValue) {\n var hook = updateWorkInProgressHook();\n return hook.memoizedState;\n}\n\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(HasEffect | hookFlags, create, undefined, nextDeps);\n}\n\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var destroy = undefined;\n\n if (currentHook !== null) {\n var prevEffect = currentHook.memoizedState;\n destroy = prevEffect.destroy;\n\n if (nextDeps !== null) {\n var prevDeps = prevEffect.deps;\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n hook.memoizedState = pushEffect(hookFlags, create, destroy, nextDeps);\n return;\n }\n }\n }\n\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(HasEffect | hookFlags, create, destroy, nextDeps);\n}\n\nfunction mountEffect(create, deps) {\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n return mountEffectImpl(MountPassiveDev | Passive | PassiveStatic, Passive$1, create, deps);\n } else {\n return mountEffectImpl(Passive | PassiveStatic, Passive$1, create, deps);\n }\n}\n\nfunction updateEffect(create, deps) {\n return updateEffectImpl(Passive, Passive$1, create, deps);\n}\n\nfunction mountInsertionEffect(create, deps) {\n return mountEffectImpl(Update, Insertion, create, deps);\n}\n\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(Update, Insertion, create, deps);\n}\n\nfunction mountLayoutEffect(create, deps) {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n return mountEffectImpl(fiberFlags, Layout, create, deps);\n}\n\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(Update, Layout, create, deps);\n}\n\nfunction imperativeHandleEffect(create, ref) {\n if (typeof ref === 'function') {\n var refCallback = ref;\n\n var _inst = create();\n\n refCallback(_inst);\n return function () {\n refCallback(null);\n };\n } else if (ref !== null && ref !== undefined) {\n var refObject = ref;\n\n {\n if (!refObject.hasOwnProperty('current')) {\n error('Expected useImperativeHandle() first argument to either be a ' + 'ref callback or React.createRef() object. Instead received: %s.', 'an object with keys {' + Object.keys(refObject).join(', ') + '}');\n }\n }\n\n var _inst2 = create();\n\n refObject.current = _inst2;\n return function () {\n refObject.current = null;\n };\n }\n}\n\nfunction mountImperativeHandle(ref, create, deps) {\n {\n if (typeof create !== 'function') {\n error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\n }\n } // TODO: If deps are provided, should we skip comparing the ref itself?\n\n\n var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n return mountEffectImpl(fiberFlags, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\n}\n\nfunction updateImperativeHandle(ref, create, deps) {\n {\n if (typeof create !== 'function') {\n error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\n }\n } // TODO: If deps are provided, should we skip comparing the ref itself?\n\n\n var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\n return updateEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\n}\n\nfunction mountDebugValue(value, formatterFn) {// This hook is normally a no-op.\n // The react-debug-hooks package injects its own implementation\n // so that e.g. DevTools can display custom hook values.\n}\n\nvar updateDebugValue = mountDebugValue;\n\nfunction mountCallback(callback, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n hook.memoizedState = [callback, nextDeps];\n return callback;\n}\n\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var prevState = hook.memoizedState;\n\n if (prevState !== null) {\n if (nextDeps !== null) {\n var prevDeps = prevState[1];\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n return prevState[0];\n }\n }\n }\n\n hook.memoizedState = [callback, nextDeps];\n return callback;\n}\n\nfunction mountMemo(nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var nextValue = nextCreate();\n hook.memoizedState = [nextValue, nextDeps];\n return nextValue;\n}\n\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var prevState = hook.memoizedState;\n\n if (prevState !== null) {\n // Assume these are defined. If they're not, areHookInputsEqual will warn.\n if (nextDeps !== null) {\n var prevDeps = prevState[1];\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n return prevState[0];\n }\n }\n }\n\n var nextValue = nextCreate();\n hook.memoizedState = [nextValue, nextDeps];\n return nextValue;\n}\n\nfunction mountDeferredValue(value) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = value;\n return value;\n}\n\nfunction updateDeferredValue(value) {\n var hook = updateWorkInProgressHook();\n var resolvedCurrentHook = currentHook;\n var prevValue = resolvedCurrentHook.memoizedState;\n return updateDeferredValueImpl(hook, prevValue, value);\n}\n\nfunction rerenderDeferredValue(value) {\n var hook = updateWorkInProgressHook();\n\n if (currentHook === null) {\n // This is a rerender during a mount.\n hook.memoizedState = value;\n return value;\n } else {\n // This is a rerender during an update.\n var prevValue = currentHook.memoizedState;\n return updateDeferredValueImpl(hook, prevValue, value);\n }\n}\n\nfunction updateDeferredValueImpl(hook, prevValue, value) {\n var shouldDeferValue = !includesOnlyNonUrgentLanes(renderLanes);\n\n if (shouldDeferValue) {\n // This is an urgent update. If the value has changed, keep using the\n // previous value and spawn a deferred render to update it later.\n if (!objectIs(value, prevValue)) {\n // Schedule a deferred render\n var deferredLane = claimNextTransitionLane();\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, deferredLane);\n markSkippedUpdateLanes(deferredLane); // Set this to true to indicate that the rendered value is inconsistent\n // from the latest value. The name \"baseState\" doesn't really match how we\n // use it because we're reusing a state hook field instead of creating a\n // new one.\n\n hook.baseState = true;\n } // Reuse the previous value\n\n\n return prevValue;\n } else {\n // This is not an urgent update, so we can use the latest value regardless\n // of what it is. No need to defer it.\n // However, if we're currently inside a spawned render, then we need to mark\n // this as an update to prevent the fiber from bailing out.\n //\n // `baseState` is true when the current value is different from the rendered\n // value. The name doesn't really match how we use it because we're reusing\n // a state hook field instead of creating a new one.\n if (hook.baseState) {\n // Flip this back to false.\n hook.baseState = false;\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = value;\n return value;\n }\n}\n\nfunction startTransition(setPending, callback, options) {\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(higherEventPriority(previousPriority, ContinuousEventPriority));\n setPending(true);\n var prevTransition = ReactCurrentBatchConfig$2.transition;\n ReactCurrentBatchConfig$2.transition = {};\n var currentTransition = ReactCurrentBatchConfig$2.transition;\n\n {\n ReactCurrentBatchConfig$2.transition._updatedFibers = new Set();\n }\n\n try {\n setPending(false);\n callback();\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$2.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nfunction mountTransition() {\n var _mountState = mountState(false),\n isPending = _mountState[0],\n setPending = _mountState[1]; // The `start` method never changes.\n\n\n var start = startTransition.bind(null, setPending);\n var hook = mountWorkInProgressHook();\n hook.memoizedState = start;\n return [isPending, start];\n}\n\nfunction updateTransition() {\n var _updateState = updateState(),\n isPending = _updateState[0];\n\n var hook = updateWorkInProgressHook();\n var start = hook.memoizedState;\n return [isPending, start];\n}\n\nfunction rerenderTransition() {\n var _rerenderState = rerenderState(),\n isPending = _rerenderState[0];\n\n var hook = updateWorkInProgressHook();\n var start = hook.memoizedState;\n return [isPending, start];\n}\n\nvar isUpdatingOpaqueValueInRenderPhase = false;\nfunction getIsUpdatingOpaqueValueInRenderPhaseInDEV() {\n {\n return isUpdatingOpaqueValueInRenderPhase;\n }\n}\n\nfunction mountId() {\n var hook = mountWorkInProgressHook();\n var root = getWorkInProgressRoot(); // TODO: In Fizz, id generation is specific to each server config. Maybe we\n // should do this in Fiber, too? Deferring this decision for now because\n // there's no other place to store the prefix except for an internal field on\n // the public createRoot object, which the fiber tree does not currently have\n // a reference to.\n\n var identifierPrefix = root.identifierPrefix;\n var id;\n\n if (getIsHydrating()) {\n var treeId = getTreeId(); // Use a captial R prefix for server-generated ids.\n\n id = ':' + identifierPrefix + 'R' + treeId; // Unless this is the first id at this level, append a number at the end\n // that represents the position of this useId hook among all the useId\n // hooks for this fiber.\n\n var localId = localIdCounter++;\n\n if (localId > 0) {\n id += 'H' + localId.toString(32);\n }\n\n id += ':';\n } else {\n // Use a lowercase r prefix for client-generated ids.\n var globalClientId = globalClientIdCounter++;\n id = ':' + identifierPrefix + 'r' + globalClientId.toString(32) + ':';\n }\n\n hook.memoizedState = id;\n return id;\n}\n\nfunction updateId() {\n var hook = updateWorkInProgressHook();\n var id = hook.memoizedState;\n return id;\n}\n\nfunction dispatchReducerAction(fiber, queue, action) {\n {\n if (typeof arguments[3] === 'function') {\n error(\"State updates from the useState() and useReducer() Hooks don't support the \" + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');\n }\n }\n\n var lane = requestUpdateLane(fiber);\n var update = {\n lane: lane,\n action: action,\n hasEagerState: false,\n eagerState: null,\n next: null\n };\n\n if (isRenderPhaseUpdate(fiber)) {\n enqueueRenderPhaseUpdate(queue, update);\n } else {\n var root = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitionUpdate(root, queue, lane);\n }\n }\n\n markUpdateInDevTools(fiber, lane);\n}\n\nfunction dispatchSetState(fiber, queue, action) {\n {\n if (typeof arguments[3] === 'function') {\n error(\"State updates from the useState() and useReducer() Hooks don't support the \" + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');\n }\n }\n\n var lane = requestUpdateLane(fiber);\n var update = {\n lane: lane,\n action: action,\n hasEagerState: false,\n eagerState: null,\n next: null\n };\n\n if (isRenderPhaseUpdate(fiber)) {\n enqueueRenderPhaseUpdate(queue, update);\n } else {\n var alternate = fiber.alternate;\n\n if (fiber.lanes === NoLanes && (alternate === null || alternate.lanes === NoLanes)) {\n // The queue is currently empty, which means we can eagerly compute the\n // next state before entering the render phase. If the new state is the\n // same as the current state, we may be able to bail out entirely.\n var lastRenderedReducer = queue.lastRenderedReducer;\n\n if (lastRenderedReducer !== null) {\n var prevDispatcher;\n\n {\n prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n }\n\n try {\n var currentState = queue.lastRenderedState;\n var eagerState = lastRenderedReducer(currentState, action); // Stash the eagerly computed state, and the reducer used to compute\n // it, on the update object. If the reducer hasn't changed by the\n // time we enter the render phase, then the eager state can be used\n // without calling the reducer again.\n\n update.hasEagerState = true;\n update.eagerState = eagerState;\n\n if (objectIs(eagerState, currentState)) {\n // Fast path. We can bail out without scheduling React to re-render.\n // It's still possible that we'll need to rebase this update later,\n // if the component re-renders for a different reason and by that\n // time the reducer has changed.\n // TODO: Do we still need to entangle transitions in this case?\n enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update, lane);\n return;\n }\n } catch (error) {// Suppress the error. It will throw again in the render phase.\n } finally {\n {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n }\n }\n }\n\n var root = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitionUpdate(root, queue, lane);\n }\n }\n\n markUpdateInDevTools(fiber, lane);\n}\n\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return fiber === currentlyRenderingFiber$1 || alternate !== null && alternate === currentlyRenderingFiber$1;\n}\n\nfunction enqueueRenderPhaseUpdate(queue, update) {\n // This is a render phase update. Stash it in a lazily-created map of\n // queue -> linked list of updates. After this render pass, we'll restart\n // and apply the stashed updates on top of the work-in-progress hook.\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true;\n var pending = queue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n queue.pending = update;\n} // TODO: Move to ReactFiberConcurrentUpdates?\n\n\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (isTransitionLane(lane)) {\n var queueLanes = queue.lanes; // If any entangled lanes are no longer pending on the root, then they\n // must have finished. We can remove them from the shared queue, which\n // represents a superset of the actually pending lanes. In some cases we\n // may entangle more than we need to, but that's OK. In fact it's worse if\n // we *don't* entangle when we should.\n\n queueLanes = intersectLanes(queueLanes, root.pendingLanes); // Entangle the new transition lane with the other transition lanes.\n\n var newQueueLanes = mergeLanes(queueLanes, lane);\n queue.lanes = newQueueLanes; // Even if queue.lanes already include lane, we don't know for certain if\n // the lane finished since the last time we entangled it. So we need to\n // entangle it again, just to be sure.\n\n markRootEntangled(root, newQueueLanes);\n }\n}\n\nfunction markUpdateInDevTools(fiber, lane, action) {\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n}\n\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useMutableSource: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n unstable_isNewReconciler: enableNewReconciler\n};\n\nvar HooksDispatcherOnMountInDEV = null;\nvar HooksDispatcherOnMountWithHookTypesInDEV = null;\nvar HooksDispatcherOnUpdateInDEV = null;\nvar HooksDispatcherOnRerenderInDEV = null;\nvar InvalidNestedHooksDispatcherOnMountInDEV = null;\nvar InvalidNestedHooksDispatcherOnUpdateInDEV = null;\nvar InvalidNestedHooksDispatcherOnRerenderInDEV = null;\n\n{\n var warnInvalidContextAccess = function () {\n error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n };\n\n var warnInvalidHookAccess = function () {\n error('Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://reactjs.org/link/rules-of-hooks');\n };\n\n HooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n mountHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n mountHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n mountHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n mountHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n mountHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n mountHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnMountWithHookTypesInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return updateDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return updateTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return rerenderState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return rerenderDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return rerenderTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return rerenderState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n}\n\nvar now$1 = Scheduler.unstable_now;\nvar commitTime = 0;\nvar layoutEffectStartTime = -1;\nvar profilerStartTime = -1;\nvar passiveEffectStartTime = -1;\n/**\n * Tracks whether the current update was a nested/cascading update (scheduled from a layout effect).\n *\n * The overall sequence is:\n * 1. render\n * 2. commit (and call `onRender`, `onCommit`)\n * 3. check for nested updates\n * 4. flush passive effects (and call `onPostCommit`)\n *\n * Nested updates are identified in step 3 above,\n * but step 4 still applies to the work that was just committed.\n * We use two flags to track nested updates then:\n * one tracks whether the upcoming update is a nested update,\n * and the other tracks whether the current update was a nested update.\n * The first value gets synced to the second at the start of the render phase.\n */\n\nvar currentUpdateIsNested = false;\nvar nestedUpdateScheduled = false;\n\nfunction isCurrentUpdateNested() {\n return currentUpdateIsNested;\n}\n\nfunction markNestedUpdateScheduled() {\n {\n nestedUpdateScheduled = true;\n }\n}\n\nfunction resetNestedUpdateFlag() {\n {\n currentUpdateIsNested = false;\n nestedUpdateScheduled = false;\n }\n}\n\nfunction syncNestedUpdateFlag() {\n {\n currentUpdateIsNested = nestedUpdateScheduled;\n nestedUpdateScheduled = false;\n }\n}\n\nfunction getCommitTime() {\n return commitTime;\n}\n\nfunction recordCommitTime() {\n\n commitTime = now$1();\n}\n\nfunction startProfilerTimer(fiber) {\n\n profilerStartTime = now$1();\n\n if (fiber.actualStartTime < 0) {\n fiber.actualStartTime = now$1();\n }\n}\n\nfunction stopProfilerTimerIfRunning(fiber) {\n\n profilerStartTime = -1;\n}\n\nfunction stopProfilerTimerIfRunningAndRecordDelta(fiber, overrideBaseTime) {\n\n if (profilerStartTime >= 0) {\n var elapsedTime = now$1() - profilerStartTime;\n fiber.actualDuration += elapsedTime;\n\n if (overrideBaseTime) {\n fiber.selfBaseDuration = elapsedTime;\n }\n\n profilerStartTime = -1;\n }\n}\n\nfunction recordLayoutEffectDuration(fiber) {\n\n if (layoutEffectStartTime >= 0) {\n var elapsedTime = now$1() - layoutEffectStartTime;\n layoutEffectStartTime = -1; // Store duration on the next nearest Profiler ancestor\n // Or the root (for the DevTools Profiler to read)\n\n var parentFiber = fiber.return;\n\n while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.effectDuration += elapsedTime;\n return;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.effectDuration += elapsedTime;\n return;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n}\n\nfunction recordPassiveEffectDuration(fiber) {\n\n if (passiveEffectStartTime >= 0) {\n var elapsedTime = now$1() - passiveEffectStartTime;\n passiveEffectStartTime = -1; // Store duration on the next nearest Profiler ancestor\n // Or the root (for the DevTools Profiler to read)\n\n var parentFiber = fiber.return;\n\n while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n\n if (root !== null) {\n root.passiveEffectDuration += elapsedTime;\n }\n\n return;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n\n if (parentStateNode !== null) {\n // Detached fibers have their state node cleared out.\n // In this case, the return pointer is also cleared out,\n // so we won't be able to report the time spent in this Profiler's subtree.\n parentStateNode.passiveEffectDuration += elapsedTime;\n }\n\n return;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n}\n\nfunction startLayoutEffectTimer() {\n\n layoutEffectStartTime = now$1();\n}\n\nfunction startPassiveEffectTimer() {\n\n passiveEffectStartTime = now$1();\n}\n\nfunction transferActualDuration(fiber) {\n // Transfer time spent rendering these children so we don't lose it\n // after we rerender. This is used as a helper in special cases\n // where we should count the work of multiple passes.\n var child = fiber.child;\n\n while (child) {\n fiber.actualDuration += child.actualDuration;\n child = child.sibling;\n }\n}\n\nfunction createCapturedValueAtFiber(value, source) {\n // If the value is an error, call this function immediately after it is thrown\n // so the stack is accurate.\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source),\n digest: null\n };\n}\nfunction createCapturedValue(value, digest, stack) {\n return {\n value: value,\n source: null,\n stack: stack != null ? stack : null,\n digest: digest != null ? digest : null\n };\n}\n\n// This module is forked in different environments.\n// By default, return `true` to log errors to the console.\n// Forks can return `false` if this isn't desirable.\nfunction showErrorDialog(boundary, errorInfo) {\n return true;\n}\n\nfunction logCapturedError(boundary, errorInfo) {\n try {\n var logError = showErrorDialog(boundary, errorInfo); // Allow injected showErrorDialog() to prevent default console.error logging.\n // This enables renderers like ReactNative to better manage redbox behavior.\n\n if (logError === false) {\n return;\n }\n\n var error = errorInfo.value;\n\n if (true) {\n var source = errorInfo.source;\n var stack = errorInfo.stack;\n var componentStack = stack !== null ? stack : ''; // Browsers support silencing uncaught errors by calling\n // `preventDefault()` in window `error` handler.\n // We record this information as an expando on the error.\n\n if (error != null && error._suppressLogging) {\n if (boundary.tag === ClassComponent) {\n // The error is recoverable and was silenced.\n // Ignore it and don't print the stack addendum.\n // This is handy for testing error boundaries without noise.\n return;\n } // The error is fatal. Since the silencing might have\n // been accidental, we'll surface it anyway.\n // However, the browser would have silenced the original error\n // so we'll print it first, and then print the stack addendum.\n\n\n console['error'](error); // Don't transform to our wrapper\n // For a more detailed description of this block, see:\n // https://github.com/facebook/react/pull/13384\n }\n\n var componentName = source ? getComponentNameFromFiber(source) : null;\n var componentNameMessage = componentName ? \"The above error occurred in the <\" + componentName + \"> component:\" : 'The above error occurred in one of your React components:';\n var errorBoundaryMessage;\n\n if (boundary.tag === HostRoot) {\n errorBoundaryMessage = 'Consider adding an error boundary to your tree to customize error handling behavior.\\n' + 'Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.';\n } else {\n var errorBoundaryName = getComponentNameFromFiber(boundary) || 'Anonymous';\n errorBoundaryMessage = \"React will try to recreate this component tree from scratch \" + (\"using the error boundary you provided, \" + errorBoundaryName + \".\");\n }\n\n var combinedMessage = componentNameMessage + \"\\n\" + componentStack + \"\\n\\n\" + (\"\" + errorBoundaryMessage); // In development, we provide our own message with just the component stack.\n // We don't include the original error message and JS stack because the browser\n // has already printed it. Even if the application swallows the error, it is still\n // displayed by the browser thanks to the DEV-only fake event trick in ReactErrorUtils.\n\n console['error'](combinedMessage); // Don't transform to our wrapper\n } else {}\n } catch (e) {\n // This method must not throw, or React internal state will get messed up.\n // If console.error is overridden, or logCapturedError() shows a dialog that throws,\n // we want to report this error outside of the normal stack as a last resort.\n // https://github.com/facebook/react/issues/13188\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nvar PossiblyWeakMap$1 = typeof WeakMap === 'function' ? WeakMap : Map;\n\nfunction createRootErrorUpdate(fiber, errorInfo, lane) {\n var update = createUpdate(NoTimestamp, lane); // Unmount the root by rendering null.\n\n update.tag = CaptureUpdate; // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n update.payload = {\n element: null\n };\n var error = errorInfo.value;\n\n update.callback = function () {\n onUncaughtError(error);\n logCapturedError(fiber, errorInfo);\n };\n\n return update;\n}\n\nfunction createClassErrorUpdate(fiber, errorInfo, lane) {\n var update = createUpdate(NoTimestamp, lane);\n update.tag = CaptureUpdate;\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n\n if (typeof getDerivedStateFromError === 'function') {\n var error$1 = errorInfo.value;\n\n update.payload = function () {\n return getDerivedStateFromError(error$1);\n };\n\n update.callback = function () {\n {\n markFailedErrorBoundaryForHotReloading(fiber);\n }\n\n logCapturedError(fiber, errorInfo);\n };\n }\n\n var inst = fiber.stateNode;\n\n if (inst !== null && typeof inst.componentDidCatch === 'function') {\n update.callback = function callback() {\n {\n markFailedErrorBoundaryForHotReloading(fiber);\n }\n\n logCapturedError(fiber, errorInfo);\n\n if (typeof getDerivedStateFromError !== 'function') {\n // To preserve the preexisting retry behavior of error boundaries,\n // we keep track of which ones already failed during this batch.\n // This gets reset before we yield back to the browser.\n // TODO: Warn in strict mode if getDerivedStateFromError is\n // not defined.\n markLegacyErrorBoundaryAsFailed(this);\n }\n\n var error$1 = errorInfo.value;\n var stack = errorInfo.stack;\n this.componentDidCatch(error$1, {\n componentStack: stack !== null ? stack : ''\n });\n\n {\n if (typeof getDerivedStateFromError !== 'function') {\n // If componentDidCatch is the only error boundary method defined,\n // then it needs to call setState to recover from errors.\n // If no state update is scheduled then the boundary will swallow the error.\n if (!includesSomeLane(fiber.lanes, SyncLane)) {\n error('%s: Error boundaries should implement getDerivedStateFromError(). ' + 'In that method, return a state update to display an error message or fallback UI.', getComponentNameFromFiber(fiber) || 'Unknown');\n }\n }\n }\n };\n }\n\n return update;\n}\n\nfunction attachPingListener(root, wakeable, lanes) {\n // Attach a ping listener\n //\n // The data might resolve before we have a chance to commit the fallback. Or,\n // in the case of a refresh, we'll never commit a fallback. So we need to\n // attach a listener now. When it resolves (\"pings\"), we can decide whether to\n // try rendering the tree again.\n //\n // Only attach a listener if one does not already exist for the lanes\n // we're currently rendering (which acts like a \"thread ID\" here).\n //\n // We only need to do this in concurrent mode. Legacy Suspense always\n // commits fallbacks synchronously, so there are no pings.\n var pingCache = root.pingCache;\n var threadIDs;\n\n if (pingCache === null) {\n pingCache = root.pingCache = new PossiblyWeakMap$1();\n threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else {\n threadIDs = pingCache.get(wakeable);\n\n if (threadIDs === undefined) {\n threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n }\n }\n\n if (!threadIDs.has(lanes)) {\n // Memoize using the thread ID to prevent redundant listeners.\n threadIDs.add(lanes);\n var ping = pingSuspendedRoot.bind(null, root, wakeable, lanes);\n\n {\n if (isDevToolsPresent) {\n // If we have pending work still, restore the original updaters\n restorePendingUpdaters(root, lanes);\n }\n }\n\n wakeable.then(ping, ping);\n }\n}\n\nfunction attachRetryListener(suspenseBoundary, root, wakeable, lanes) {\n // Retry listener\n //\n // If the fallback does commit, we need to attach a different type of\n // listener. This one schedules an update on the Suspense boundary to turn\n // the fallback state off.\n //\n // Stash the wakeable on the boundary fiber so we can access it in the\n // commit phase.\n //\n // When the wakeable resolves, we'll attempt to render the boundary\n // again (\"retry\").\n var wakeables = suspenseBoundary.updateQueue;\n\n if (wakeables === null) {\n var updateQueue = new Set();\n updateQueue.add(wakeable);\n suspenseBoundary.updateQueue = updateQueue;\n } else {\n wakeables.add(wakeable);\n }\n}\n\nfunction resetSuspendedComponent(sourceFiber, rootRenderLanes) {\n // A legacy mode Suspense quirk, only relevant to hook components.\n\n\n var tag = sourceFiber.tag;\n\n if ((sourceFiber.mode & ConcurrentMode) === NoMode && (tag === FunctionComponent || tag === ForwardRef || tag === SimpleMemoComponent)) {\n var currentSource = sourceFiber.alternate;\n\n if (currentSource) {\n sourceFiber.updateQueue = currentSource.updateQueue;\n sourceFiber.memoizedState = currentSource.memoizedState;\n sourceFiber.lanes = currentSource.lanes;\n } else {\n sourceFiber.updateQueue = null;\n sourceFiber.memoizedState = null;\n }\n }\n}\n\nfunction getNearestSuspenseBoundaryToCapture(returnFiber) {\n var node = returnFiber;\n\n do {\n if (node.tag === SuspenseComponent && shouldCaptureSuspense(node)) {\n return node;\n } // This boundary already captured during this render. Continue to the next\n // boundary.\n\n\n node = node.return;\n } while (node !== null);\n\n return null;\n}\n\nfunction markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes) {\n // This marks a Suspense boundary so that when we're unwinding the stack,\n // it captures the suspended \"exception\" and does a second (fallback) pass.\n if ((suspenseBoundary.mode & ConcurrentMode) === NoMode) {\n // Legacy Mode Suspense\n //\n // If the boundary is in legacy mode, we should *not*\n // suspend the commit. Pretend as if the suspended component rendered\n // null and keep rendering. When the Suspense boundary completes,\n // we'll do a second pass to render the fallback.\n if (suspenseBoundary === returnFiber) {\n // Special case where we suspended while reconciling the children of\n // a Suspense boundary's inner Offscreen wrapper fiber. This happens\n // when a React.lazy component is a direct child of a\n // Suspense boundary.\n //\n // Suspense boundaries are implemented as multiple fibers, but they\n // are a single conceptual unit. The legacy mode behavior where we\n // pretend the suspended fiber committed as `null` won't work,\n // because in this case the \"suspended\" fiber is the inner\n // Offscreen wrapper.\n //\n // Because the contents of the boundary haven't started rendering\n // yet (i.e. nothing in the tree has partially rendered) we can\n // switch to the regular, concurrent mode behavior: mark the\n // boundary with ShouldCapture and enter the unwind phase.\n suspenseBoundary.flags |= ShouldCapture;\n } else {\n suspenseBoundary.flags |= DidCapture;\n sourceFiber.flags |= ForceUpdateForLegacySuspense; // We're going to commit this fiber even though it didn't complete.\n // But we shouldn't call any lifecycle methods or callbacks. Remove\n // all lifecycle effect tags.\n\n sourceFiber.flags &= ~(LifecycleEffectMask | Incomplete);\n\n if (sourceFiber.tag === ClassComponent) {\n var currentSourceFiber = sourceFiber.alternate;\n\n if (currentSourceFiber === null) {\n // This is a new mount. Change the tag so it's not mistaken for a\n // completed class component. For example, we should not call\n // componentWillUnmount if it is deleted.\n sourceFiber.tag = IncompleteClassComponent;\n } else {\n // When we try rendering again, we should not reuse the current fiber,\n // since it's known to be in an inconsistent state. Use a force update to\n // prevent a bail out.\n var update = createUpdate(NoTimestamp, SyncLane);\n update.tag = ForceUpdate;\n enqueueUpdate(sourceFiber, update, SyncLane);\n }\n } // The source fiber did not complete. Mark it with Sync priority to\n // indicate that it still has pending work.\n\n\n sourceFiber.lanes = mergeLanes(sourceFiber.lanes, SyncLane);\n }\n\n return suspenseBoundary;\n } // Confirmed that the boundary is in a concurrent mode tree. Continue\n // with the normal suspend path.\n //\n // After this we'll use a set of heuristics to determine whether this\n // render pass will run to completion or restart or \"suspend\" the commit.\n // The actual logic for this is spread out in different places.\n //\n // This first principle is that if we're going to suspend when we complete\n // a root, then we should also restart if we get an update or ping that\n // might unsuspend it, and vice versa. The only reason to suspend is\n // because you think you might want to restart before committing. However,\n // it doesn't make sense to restart only while in the period we're suspended.\n //\n // Restarting too aggressively is also not good because it starves out any\n // intermediate loading state. So we use heuristics to determine when.\n // Suspense Heuristics\n //\n // If nothing threw a Promise or all the same fallbacks are already showing,\n // then don't suspend/restart.\n //\n // If this is an initial render of a new tree of Suspense boundaries and\n // those trigger a fallback, then don't suspend/restart. We want to ensure\n // that we can show the initial loading state as quickly as possible.\n //\n // If we hit a \"Delayed\" case, such as when we'd switch from content back into\n // a fallback, then we should always suspend/restart. Transitions apply\n // to this case. If none is defined, JND is used instead.\n //\n // If we're already showing a fallback and it gets \"retried\", allowing us to show\n // another level, but there's still an inner boundary that would show a fallback,\n // then we suspend/restart for 500ms since the last time we showed a fallback\n // anywhere in the tree. This effectively throttles progressive loading into a\n // consistent train of commits. This also gives us an opportunity to restart to\n // get to the completed state slightly earlier.\n //\n // If there's ambiguity due to batching it's resolved in preference of:\n // 1) \"delayed\", 2) \"initial render\", 3) \"retry\".\n //\n // We want to ensure that a \"busy\" state doesn't get force committed. We want to\n // ensure that new initial loading states can commit as soon as possible.\n\n\n suspenseBoundary.flags |= ShouldCapture; // TODO: I think we can remove this, since we now use `DidCapture` in\n // the begin phase to prevent an early bailout.\n\n suspenseBoundary.lanes = rootRenderLanes;\n return suspenseBoundary;\n}\n\nfunction throwException(root, returnFiber, sourceFiber, value, rootRenderLanes) {\n // The source fiber did not complete.\n sourceFiber.flags |= Incomplete;\n\n {\n if (isDevToolsPresent) {\n // If we have pending work still, restore the original updaters\n restorePendingUpdaters(root, rootRenderLanes);\n }\n }\n\n if (value !== null && typeof value === 'object' && typeof value.then === 'function') {\n // This is a wakeable. The component suspended.\n var wakeable = value;\n resetSuspendedComponent(sourceFiber);\n\n {\n if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) {\n markDidThrowWhileHydratingDEV();\n }\n }\n\n\n var suspenseBoundary = getNearestSuspenseBoundaryToCapture(returnFiber);\n\n if (suspenseBoundary !== null) {\n suspenseBoundary.flags &= ~ForceClientRender;\n markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes); // We only attach ping listeners in concurrent mode. Legacy Suspense always\n // commits fallbacks synchronously, so there are no pings.\n\n if (suspenseBoundary.mode & ConcurrentMode) {\n attachPingListener(root, wakeable, rootRenderLanes);\n }\n\n attachRetryListener(suspenseBoundary, root, wakeable);\n return;\n } else {\n // No boundary was found. Unless this is a sync update, this is OK.\n // We can suspend and wait for more data to arrive.\n if (!includesSyncLane(rootRenderLanes)) {\n // This is not a sync update. Suspend. Since we're not activating a\n // Suspense boundary, this will unwind all the way to the root without\n // performing a second pass to render a fallback. (This is arguably how\n // refresh transitions should work, too, since we're not going to commit\n // the fallbacks anyway.)\n //\n // This case also applies to initial hydration.\n attachPingListener(root, wakeable, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return;\n } // This is a sync/discrete update. We treat this case like an error\n // because discrete renders are expected to produce a complete tree\n // synchronously to maintain consistency with external state.\n\n\n var uncaughtSuspenseError = new Error('A component suspended while responding to synchronous input. This ' + 'will cause the UI to be replaced with a loading indicator. To ' + 'fix, updates that suspend should be wrapped ' + 'with startTransition.'); // If we're outside a transition, fall through to the regular error path.\n // The error will be caught by the nearest suspense boundary.\n\n value = uncaughtSuspenseError;\n }\n } else {\n // This is a regular error, not a Suspense wakeable.\n if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) {\n markDidThrowWhileHydratingDEV();\n\n var _suspenseBoundary = getNearestSuspenseBoundaryToCapture(returnFiber); // If the error was thrown during hydration, we may be able to recover by\n // discarding the dehydrated content and switching to a client render.\n // Instead of surfacing the error, find the nearest Suspense boundary\n // and render it again without hydration.\n\n\n if (_suspenseBoundary !== null) {\n if ((_suspenseBoundary.flags & ShouldCapture) === NoFlags) {\n // Set a flag to indicate that we should try rendering the normal\n // children again, not the fallback.\n _suspenseBoundary.flags |= ForceClientRender;\n }\n\n markSuspenseBoundaryShouldCapture(_suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes); // Even though the user may not be affected by this error, we should\n // still log it so it can be fixed.\n\n queueHydrationError(createCapturedValueAtFiber(value, sourceFiber));\n return;\n }\n }\n }\n\n value = createCapturedValueAtFiber(value, sourceFiber);\n renderDidError(value); // We didn't find a boundary that could handle this type of exception. Start\n // over and traverse parent path again, this time treating the exception\n // as an error.\n\n var workInProgress = returnFiber;\n\n do {\n switch (workInProgress.tag) {\n case HostRoot:\n {\n var _errorInfo = value;\n workInProgress.flags |= ShouldCapture;\n var lane = pickArbitraryLane(rootRenderLanes);\n workInProgress.lanes = mergeLanes(workInProgress.lanes, lane);\n var update = createRootErrorUpdate(workInProgress, _errorInfo, lane);\n enqueueCapturedUpdate(workInProgress, update);\n return;\n }\n\n case ClassComponent:\n // Capture and retry\n var errorInfo = value;\n var ctor = workInProgress.type;\n var instance = workInProgress.stateNode;\n\n if ((workInProgress.flags & DidCapture) === NoFlags && (typeof ctor.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance))) {\n workInProgress.flags |= ShouldCapture;\n\n var _lane = pickArbitraryLane(rootRenderLanes);\n\n workInProgress.lanes = mergeLanes(workInProgress.lanes, _lane); // Schedule the error boundary to re-render using updated state\n\n var _update = createClassErrorUpdate(workInProgress, errorInfo, _lane);\n\n enqueueCapturedUpdate(workInProgress, _update);\n return;\n }\n\n break;\n }\n\n workInProgress = workInProgress.return;\n } while (workInProgress !== null);\n}\n\nfunction getSuspendedCache() {\n {\n return null;\n } // This function is called when a Suspense boundary suspends. It returns the\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar didReceiveUpdate = false;\nvar didWarnAboutBadClass;\nvar didWarnAboutModulePatternComponent;\nvar didWarnAboutContextTypeOnFunctionComponent;\nvar didWarnAboutGetDerivedStateOnFunctionComponent;\nvar didWarnAboutFunctionRefs;\nvar didWarnAboutReassigningProps;\nvar didWarnAboutRevealOrder;\nvar didWarnAboutTailOptions;\n\n{\n didWarnAboutBadClass = {};\n didWarnAboutModulePatternComponent = {};\n didWarnAboutContextTypeOnFunctionComponent = {};\n didWarnAboutGetDerivedStateOnFunctionComponent = {};\n didWarnAboutFunctionRefs = {};\n didWarnAboutReassigningProps = false;\n didWarnAboutRevealOrder = {};\n didWarnAboutTailOptions = {};\n}\n\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n if (current === null) {\n // If this is a fresh new component that hasn't been rendered yet, we\n // won't update its child set by applying minimal side-effects. Instead,\n // we will add them all to the child before it gets rendered. That means\n // we can optimize this reconciliation pass by not tracking side-effects.\n workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderLanes);\n } else {\n // If the current child is the same as the work in progress, it means that\n // we haven't yet started any work on these children. Therefore, we use\n // the clone algorithm to create a copy of all the current children.\n // If we had any progressed work already, that is invalid at this point so\n // let's throw it out.\n workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderLanes);\n }\n}\n\nfunction forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderLanes) {\n // This function is fork of reconcileChildren. It's used in cases where we\n // want to reconcile without matching against the existing set. This has the\n // effect of all current children being unmounted; even if the type and key\n // are the same, the old child is unmounted and a new child is created.\n //\n // To do this, we're going to go through the reconcile algorithm twice. In\n // the first pass, we schedule a deletion for all the current children by\n // passing null.\n workInProgress.child = reconcileChildFibers(workInProgress, current.child, null, renderLanes); // In the second pass, we mount the new children. The trick here is that we\n // pass null in place of where we usually pass the current child set. This has\n // the effect of remounting all children regardless of whether their\n // identities match.\n\n workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes);\n}\n\nfunction updateForwardRef(current, workInProgress, Component, nextProps, renderLanes) {\n // TODO: current can be non-null here even if the component\n // hasn't yet mounted. This happens after the first render suspends.\n // We'll need to figure out if this is fine or can cause issues.\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n var render = Component.render;\n var ref = workInProgress.ref; // The rest is a fork of updateFunctionComponent\n\n var nextChildren;\n var hasId;\n prepareToReadContext(workInProgress, renderLanes);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderLanes);\n hasId = checkDidRenderIdHook();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n\n if (current !== null && !didReceiveUpdate) {\n bailoutHooks(current, workInProgress, renderLanes);\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateMemoComponent(current, workInProgress, Component, nextProps, renderLanes) {\n if (current === null) {\n var type = Component.type;\n\n if (isSimpleFunctionComponent(type) && Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.\n Component.defaultProps === undefined) {\n var resolvedType = type;\n\n {\n resolvedType = resolveFunctionForHotReloading(type);\n } // If this is a plain function component without default props,\n // and with only the default shallow comparison, we upgrade it\n // to a SimpleMemoComponent to allow fast path updates.\n\n\n workInProgress.tag = SimpleMemoComponent;\n workInProgress.type = resolvedType;\n\n {\n validateFunctionComponentInDev(workInProgress, type);\n }\n\n return updateSimpleMemoComponent(current, workInProgress, resolvedType, nextProps, renderLanes);\n }\n\n {\n var innerPropTypes = type.propTypes;\n\n if (innerPropTypes) {\n // Inner memo component props aren't currently validated in createElement.\n // We could move it there, but we'd still need this for lazy code path.\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(type));\n }\n }\n\n var child = createFiberFromTypeAndProps(Component.type, null, nextProps, workInProgress, workInProgress.mode, renderLanes);\n child.ref = workInProgress.ref;\n child.return = workInProgress;\n workInProgress.child = child;\n return child;\n }\n\n {\n var _type = Component.type;\n var _innerPropTypes = _type.propTypes;\n\n if (_innerPropTypes) {\n // Inner memo component props aren't currently validated in createElement.\n // We could move it there, but we'd still need this for lazy code path.\n checkPropTypes(_innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(_type));\n }\n }\n\n var currentChild = current.child; // This is always exactly one child\n\n var hasScheduledUpdateOrContext = checkScheduledUpdateOrContext(current, renderLanes);\n\n if (!hasScheduledUpdateOrContext) {\n // This will be the props with resolved defaultProps,\n // unlike current.memoizedProps which will be the unresolved ones.\n var prevProps = currentChild.memoizedProps; // Default to shallow comparison\n\n var compare = Component.compare;\n compare = compare !== null ? compare : shallowEqual;\n\n if (compare(prevProps, nextProps) && current.ref === workInProgress.ref) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n var newChild = createWorkInProgress(currentChild, nextProps);\n newChild.ref = workInProgress.ref;\n newChild.return = workInProgress;\n workInProgress.child = newChild;\n return newChild;\n}\n\nfunction updateSimpleMemoComponent(current, workInProgress, Component, nextProps, renderLanes) {\n // TODO: current can be non-null here even if the component\n // hasn't yet mounted. This happens when the inner render suspends.\n // We'll need to figure out if this is fine or can cause issues.\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var outerMemoType = workInProgress.elementType;\n\n if (outerMemoType.$$typeof === REACT_LAZY_TYPE) {\n // We warn when you define propTypes on lazy()\n // so let's just skip over it to find memo() outer wrapper.\n // Inner props for memo are validated later.\n var lazyComponent = outerMemoType;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n outerMemoType = init(payload);\n } catch (x) {\n outerMemoType = null;\n } // Inner propTypes will be validated in the function component path.\n\n\n var outerPropTypes = outerMemoType && outerMemoType.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, nextProps, // Resolved (SimpleMemoComponent has no defaultProps)\n 'prop', getComponentNameFromType(outerMemoType));\n }\n }\n }\n }\n\n if (current !== null) {\n var prevProps = current.memoizedProps;\n\n if (shallowEqual(prevProps, nextProps) && current.ref === workInProgress.ref && ( // Prevent bailout if the implementation changed due to hot reload.\n workInProgress.type === current.type )) {\n didReceiveUpdate = false; // The props are shallowly equal. Reuse the previous props object, like we\n // would during a normal fiber bailout.\n //\n // We don't have strong guarantees that the props object is referentially\n // equal during updates where we can't bail out anyway — like if the props\n // are shallowly equal, but there's a local state or context update in the\n // same batch.\n //\n // However, as a principle, we should aim to make the behavior consistent\n // across different ways of memoizing a component. For example, React.memo\n // has a different internal Fiber layout if you pass a normal function\n // component (SimpleMemoComponent) versus if you pass a different type\n // like forwardRef (MemoComponent). But this is an implementation detail.\n // Wrapping a component in forwardRef (or React.lazy, etc) shouldn't\n // affect whether the props object is reused during a bailout.\n\n workInProgress.pendingProps = nextProps = prevProps;\n\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n // The pending lanes were cleared at the beginning of beginWork. We're\n // about to bail out, but there might be other lanes that weren't\n // included in the current render. Usually, the priority level of the\n // remaining updates is accumulated during the evaluation of the\n // component (i.e. when processing the update queue). But since since\n // we're bailing out early *without* evaluating the component, we need\n // to account for it here, too. Reset to the value of the current fiber.\n // NOTE: This only applies to SimpleMemoComponent, not MemoComponent,\n // because a MemoComponent fiber does not have hooks or an update queue;\n // rather, it wraps around an inner component, which may or may not\n // contains hooks.\n // TODO: Move the reset at in beginWork out of the common path so that\n // this is no longer necessary.\n workInProgress.lanes = current.lanes;\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n } else if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags) {\n // This is a special case that only exists for legacy mode.\n // See https://github.com/facebook/react/pull/19216.\n didReceiveUpdate = true;\n }\n }\n }\n\n return updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes);\n}\n\nfunction updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps;\n var nextChildren = nextProps.children;\n var prevState = current !== null ? current.memoizedState : null;\n\n if (nextProps.mode === 'hidden' || enableLegacyHidden ) {\n // Rendering a hidden tree.\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n // In legacy sync mode, don't defer the subtree. Render it now.\n // TODO: Consider how Offscreen should work with transitions in the future\n var nextState = {\n baseLanes: NoLanes,\n cachePool: null,\n transitions: null\n };\n workInProgress.memoizedState = nextState;\n\n pushRenderLanes(workInProgress, renderLanes);\n } else if (!includesSomeLane(renderLanes, OffscreenLane)) {\n var spawnedCachePool = null; // We're hidden, and we're not rendering at Offscreen. We will bail out\n // and resume this tree later.\n\n var nextBaseLanes;\n\n if (prevState !== null) {\n var prevBaseLanes = prevState.baseLanes;\n nextBaseLanes = mergeLanes(prevBaseLanes, renderLanes);\n } else {\n nextBaseLanes = renderLanes;\n } // Schedule this fiber to re-render at offscreen priority. Then bailout.\n\n\n workInProgress.lanes = workInProgress.childLanes = laneToLanes(OffscreenLane);\n var _nextState = {\n baseLanes: nextBaseLanes,\n cachePool: spawnedCachePool,\n transitions: null\n };\n workInProgress.memoizedState = _nextState;\n workInProgress.updateQueue = null;\n // to avoid a push/pop misalignment.\n\n\n pushRenderLanes(workInProgress, nextBaseLanes);\n\n return null;\n } else {\n // This is the second render. The surrounding visible content has already\n // committed. Now we resume rendering the hidden tree.\n // Rendering at offscreen, so we can clear the base lanes.\n var _nextState2 = {\n baseLanes: NoLanes,\n cachePool: null,\n transitions: null\n };\n workInProgress.memoizedState = _nextState2; // Push the lanes that were skipped when we bailed out.\n\n var subtreeRenderLanes = prevState !== null ? prevState.baseLanes : renderLanes;\n\n pushRenderLanes(workInProgress, subtreeRenderLanes);\n }\n } else {\n // Rendering a visible tree.\n var _subtreeRenderLanes;\n\n if (prevState !== null) {\n // We're going from hidden -> visible.\n _subtreeRenderLanes = mergeLanes(prevState.baseLanes, renderLanes);\n\n workInProgress.memoizedState = null;\n } else {\n // We weren't previously hidden, and we still aren't, so there's nothing\n // special to do. Need to push to the stack regardless, though, to avoid\n // a push/pop misalignment.\n _subtreeRenderLanes = renderLanes;\n }\n\n pushRenderLanes(workInProgress, _subtreeRenderLanes);\n }\n\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n} // Note: These happen to have identical begin phases, for now. We shouldn't hold\n\nfunction updateFragment(current, workInProgress, renderLanes) {\n var nextChildren = workInProgress.pendingProps;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateMode(current, workInProgress, renderLanes) {\n var nextChildren = workInProgress.pendingProps.children;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateProfiler(current, workInProgress, renderLanes) {\n {\n workInProgress.flags |= Update;\n\n {\n // Reset effect durations for the next eventual effect phase.\n // These are reset during render to allow the DevTools commit hook a chance to read them,\n var stateNode = workInProgress.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n }\n\n var nextProps = workInProgress.pendingProps;\n var nextChildren = nextProps.children;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n\n if (current === null && ref !== null || current !== null && current.ref !== ref) {\n // Schedule a Ref effect\n workInProgress.flags |= Ref;\n\n {\n workInProgress.flags |= RefStatic;\n }\n }\n}\n\nfunction updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes) {\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n var context;\n\n {\n var unmaskedContext = getUnmaskedContext(workInProgress, Component, true);\n context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n var nextChildren;\n var hasId;\n prepareToReadContext(workInProgress, renderLanes);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderLanes);\n hasId = checkDidRenderIdHook();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n\n if (current !== null && !didReceiveUpdate) {\n bailoutHooks(current, workInProgress, renderLanes);\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateClassComponent(current, workInProgress, Component, nextProps, renderLanes) {\n {\n // This is used by DevTools to force a boundary to error.\n switch (shouldError(workInProgress)) {\n case false:\n {\n var _instance = workInProgress.stateNode;\n var ctor = workInProgress.type; // TODO This way of resetting the error boundary state is a hack.\n // Is there a better way to do this?\n\n var tempInstance = new ctor(workInProgress.memoizedProps, _instance.context);\n var state = tempInstance.state;\n\n _instance.updater.enqueueSetState(_instance, state, null);\n\n break;\n }\n\n case true:\n {\n workInProgress.flags |= DidCapture;\n workInProgress.flags |= ShouldCapture; // eslint-disable-next-line react-internal/prod-error-codes\n\n var error$1 = new Error('Simulated error coming from DevTools');\n var lane = pickArbitraryLane(renderLanes);\n workInProgress.lanes = mergeLanes(workInProgress.lanes, lane); // Schedule the error boundary to re-render using updated state\n\n var update = createClassErrorUpdate(workInProgress, createCapturedValueAtFiber(error$1, workInProgress), lane);\n enqueueCapturedUpdate(workInProgress, update);\n break;\n }\n }\n\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n } // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n\n var hasContext;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var instance = workInProgress.stateNode;\n var shouldUpdate;\n\n if (instance === null) {\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress); // In the initial pass we might need to construct the instance.\n\n constructClassInstance(workInProgress, Component, nextProps);\n mountClassInstance(workInProgress, Component, nextProps, renderLanes);\n shouldUpdate = true;\n } else if (current === null) {\n // In a resume, we'll already have an instance we can reuse.\n shouldUpdate = resumeMountClassInstance(workInProgress, Component, nextProps, renderLanes);\n } else {\n shouldUpdate = updateClassInstance(current, workInProgress, Component, nextProps, renderLanes);\n }\n\n var nextUnitOfWork = finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes);\n\n {\n var inst = workInProgress.stateNode;\n\n if (shouldUpdate && inst.props !== nextProps) {\n if (!didWarnAboutReassigningProps) {\n error('It looks like %s is reassigning its own `this.props` while rendering. ' + 'This is not supported and can lead to confusing bugs.', getComponentNameFromFiber(workInProgress) || 'a component');\n }\n\n didWarnAboutReassigningProps = true;\n }\n }\n\n return nextUnitOfWork;\n}\n\nfunction finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes) {\n // Refs should update even if shouldComponentUpdate returns false\n markRef(current, workInProgress);\n var didCaptureError = (workInProgress.flags & DidCapture) !== NoFlags;\n\n if (!shouldUpdate && !didCaptureError) {\n // Context providers should defer to sCU for rendering\n if (hasContext) {\n invalidateContextProvider(workInProgress, Component, false);\n }\n\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n var instance = workInProgress.stateNode; // Rerender\n\n ReactCurrentOwner$1.current = workInProgress;\n var nextChildren;\n\n if (didCaptureError && typeof Component.getDerivedStateFromError !== 'function') {\n // If we captured an error, but getDerivedStateFromError is not defined,\n // unmount all the children. componentDidCatch will schedule an update to\n // re-render a fallback. This is temporary until we migrate everyone to\n // the new API.\n // TODO: Warn in a future release.\n nextChildren = null;\n\n {\n stopProfilerTimerIfRunning();\n }\n } else {\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n setIsRendering(true);\n nextChildren = instance.render();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n instance.render();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n\n if (current !== null && didCaptureError) {\n // If we're recovering from an error, reconcile without reusing any of\n // the existing children. Conceptually, the normal children and the children\n // that are shown on error are two different sets, so we shouldn't reuse\n // normal children even if their identities match.\n forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderLanes);\n } else {\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n } // Memoize state using the values we just used to render.\n // TODO: Restructure so we never read values from the instance.\n\n\n workInProgress.memoizedState = instance.state; // The context might have changed so we need to recalculate it.\n\n if (hasContext) {\n invalidateContextProvider(workInProgress, Component, true);\n }\n\n return workInProgress.child;\n}\n\nfunction pushHostRootContext(workInProgress) {\n var root = workInProgress.stateNode;\n\n if (root.pendingContext) {\n pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context);\n } else if (root.context) {\n // Should always be set\n pushTopLevelContextObject(workInProgress, root.context, false);\n }\n\n pushHostContainer(workInProgress, root.containerInfo);\n}\n\nfunction updateHostRoot(current, workInProgress, renderLanes) {\n pushHostRootContext(workInProgress);\n\n if (current === null) {\n throw new Error('Should have a current fiber. This is a bug in React.');\n }\n\n var nextProps = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n var prevChildren = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, nextProps, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n var root = workInProgress.stateNode;\n // being called \"element\".\n\n\n var nextChildren = nextState.element;\n\n if ( prevState.isDehydrated) {\n // This is a hydration root whose shell has not yet hydrated. We should\n // attempt to hydrate.\n // Flip isDehydrated to false to indicate that when this render\n // finishes, the root will no longer be dehydrated.\n var overrideState = {\n element: nextChildren,\n isDehydrated: false,\n cache: nextState.cache,\n pendingSuspenseBoundaries: nextState.pendingSuspenseBoundaries,\n transitions: nextState.transitions\n };\n var updateQueue = workInProgress.updateQueue; // `baseState` can always be the last state because the root doesn't\n // have reducer functions so it doesn't need rebasing.\n\n updateQueue.baseState = overrideState;\n workInProgress.memoizedState = overrideState;\n\n if (workInProgress.flags & ForceClientRender) {\n // Something errored during a previous attempt to hydrate the shell, so we\n // forced a client render.\n var recoverableError = createCapturedValueAtFiber(new Error('There was an error while hydrating. Because the error happened outside ' + 'of a Suspense boundary, the entire root will switch to ' + 'client rendering.'), workInProgress);\n return mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, recoverableError);\n } else if (nextChildren !== prevChildren) {\n var _recoverableError = createCapturedValueAtFiber(new Error('This root received an early update, before anything was able ' + 'hydrate. Switched the entire root to client rendering.'), workInProgress);\n\n return mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, _recoverableError);\n } else {\n // The outermost shell has not hydrated yet. Start hydrating.\n enterHydrationState(workInProgress);\n\n var child = mountChildFibers(workInProgress, null, nextChildren, renderLanes);\n workInProgress.child = child;\n var node = child;\n\n while (node) {\n // Mark each child as hydrating. This is a fast path to know whether this\n // tree is part of a hydrating tree. This is used to determine if a child\n // node has fully mounted yet, and for scheduling event replaying.\n // Conceptually this is similar to Placement in that a new subtree is\n // inserted into the React tree here. It just happens to not need DOM\n // mutations because it already exists.\n node.flags = node.flags & ~Placement | Hydrating;\n node = node.sibling;\n }\n }\n } else {\n // Root is not dehydrated. Either this is a client-only root, or it\n // already hydrated.\n resetHydrationState();\n\n if (nextChildren === prevChildren) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n }\n\n return workInProgress.child;\n}\n\nfunction mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, recoverableError) {\n // Revert to client rendering.\n resetHydrationState();\n queueHydrationError(recoverableError);\n workInProgress.flags |= ForceClientRender;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateHostComponent(current, workInProgress, renderLanes) {\n pushHostContext(workInProgress);\n\n if (current === null) {\n tryToClaimNextHydratableInstance(workInProgress);\n }\n\n var type = workInProgress.type;\n var nextProps = workInProgress.pendingProps;\n var prevProps = current !== null ? current.memoizedProps : null;\n var nextChildren = nextProps.children;\n var isDirectTextChild = shouldSetTextContent(type, nextProps);\n\n if (isDirectTextChild) {\n // We special case a direct text child of a host node. This is a common\n // case. We won't handle it as a reified child. We will instead handle\n // this in the host environment that also has access to this prop. That\n // avoids allocating another HostText fiber and traversing it.\n nextChildren = null;\n } else if (prevProps !== null && shouldSetTextContent(type, prevProps)) {\n // If we're switching from a direct text child to a normal child, or to\n // empty, we need to schedule the text content to be reset.\n workInProgress.flags |= ContentReset;\n }\n\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateHostText(current, workInProgress) {\n if (current === null) {\n tryToClaimNextHydratableInstance(workInProgress);\n } // Nothing to do here. This is terminal. We'll do the completion step\n // immediately after.\n\n\n return null;\n}\n\nfunction mountLazyComponent(_current, workInProgress, elementType, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress);\n var props = workInProgress.pendingProps;\n var lazyComponent = elementType;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n var Component = init(payload); // Store the unwrapped component in the type.\n\n workInProgress.type = Component;\n var resolvedTag = workInProgress.tag = resolveLazyComponentTag(Component);\n var resolvedProps = resolveDefaultProps(Component, props);\n var child;\n\n switch (resolvedTag) {\n case FunctionComponent:\n {\n {\n validateFunctionComponentInDev(workInProgress, Component);\n workInProgress.type = Component = resolveFunctionForHotReloading(Component);\n }\n\n child = updateFunctionComponent(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case ClassComponent:\n {\n {\n workInProgress.type = Component = resolveClassForHotReloading(Component);\n }\n\n child = updateClassComponent(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case ForwardRef:\n {\n {\n workInProgress.type = Component = resolveForwardRefForHotReloading(Component);\n }\n\n child = updateForwardRef(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case MemoComponent:\n {\n {\n if (workInProgress.type !== workInProgress.elementType) {\n var outerPropTypes = Component.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, resolvedProps, // Resolved for outer only\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n child = updateMemoComponent(null, workInProgress, Component, resolveDefaultProps(Component.type, resolvedProps), // The inner type can have defaults too\n renderLanes);\n return child;\n }\n }\n\n var hint = '';\n\n {\n if (Component !== null && typeof Component === 'object' && Component.$$typeof === REACT_LAZY_TYPE) {\n hint = ' Did you wrap a component in React.lazy() more than once?';\n }\n } // This message intentionally doesn't mention ForwardRef or MemoComponent\n // because the fact that it's a separate type of work is an\n // implementation detail.\n\n\n throw new Error(\"Element type is invalid. Received a promise that resolves to: \" + Component + \". \" + (\"Lazy element type must resolve to a class or function.\" + hint));\n}\n\nfunction mountIncompleteClassComponent(_current, workInProgress, Component, nextProps, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress); // Promote the fiber to a class and try rendering again.\n\n workInProgress.tag = ClassComponent; // The rest of this function is a fork of `updateClassComponent`\n // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n var hasContext;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n constructClassInstance(workInProgress, Component, nextProps);\n mountClassInstance(workInProgress, Component, nextProps, renderLanes);\n return finishClassComponent(null, workInProgress, Component, true, hasContext, renderLanes);\n}\n\nfunction mountIndeterminateComponent(_current, workInProgress, Component, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress);\n var props = workInProgress.pendingProps;\n var context;\n\n {\n var unmaskedContext = getUnmaskedContext(workInProgress, Component, false);\n context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var value;\n var hasId;\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n if (Component.prototype && typeof Component.prototype.render === 'function') {\n var componentName = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutBadClass[componentName]) {\n error(\"The <%s /> component appears to have a render method, but doesn't extend React.Component. \" + 'This is likely to cause errors. Change %s to extend React.Component instead.', componentName, componentName);\n\n didWarnAboutBadClass[componentName] = true;\n }\n }\n\n if (workInProgress.mode & StrictLegacyMode) {\n ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null);\n }\n\n setIsRendering(true);\n ReactCurrentOwner$1.current = workInProgress;\n value = renderWithHooks(null, workInProgress, Component, props, context, renderLanes);\n hasId = checkDidRenderIdHook();\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n\n {\n // Support for module components is deprecated and is removed behind a flag.\n // Whether or not it would crash later, we want to show a good message in DEV first.\n if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {\n var _componentName = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutModulePatternComponent[_componentName]) {\n error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + \"If you can't use a class try assigning the prototype on the function as a workaround. \" + \"`%s.prototype = React.Component.prototype`. Don't use an arrow function since it \" + 'cannot be called with `new` by React.', _componentName, _componentName, _componentName);\n\n didWarnAboutModulePatternComponent[_componentName] = true;\n }\n }\n }\n\n if ( // Run these checks in production only if the flag is off.\n // Eventually we'll delete this branch altogether.\n typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {\n {\n var _componentName2 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutModulePatternComponent[_componentName2]) {\n error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + \"If you can't use a class try assigning the prototype on the function as a workaround. \" + \"`%s.prototype = React.Component.prototype`. Don't use an arrow function since it \" + 'cannot be called with `new` by React.', _componentName2, _componentName2, _componentName2);\n\n didWarnAboutModulePatternComponent[_componentName2] = true;\n }\n } // Proceed under the assumption that this is a class instance\n\n\n workInProgress.tag = ClassComponent; // Throw out any hooks that were used.\n\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null; // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n var hasContext = false;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null;\n initializeUpdateQueue(workInProgress);\n adoptClassInstance(workInProgress, value);\n mountClassInstance(workInProgress, Component, props, renderLanes);\n return finishClassComponent(null, workInProgress, Component, true, hasContext, renderLanes);\n } else {\n // Proceed under the assumption that this is a function component\n workInProgress.tag = FunctionComponent;\n\n {\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n value = renderWithHooks(null, workInProgress, Component, props, context, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n }\n\n reconcileChildren(null, workInProgress, value, renderLanes);\n\n {\n validateFunctionComponentInDev(workInProgress, Component);\n }\n\n return workInProgress.child;\n }\n}\n\nfunction validateFunctionComponentInDev(workInProgress, Component) {\n {\n if (Component) {\n if (Component.childContextTypes) {\n error('%s(...): childContextTypes cannot be defined on a function component.', Component.displayName || Component.name || 'Component');\n }\n }\n\n if (workInProgress.ref !== null) {\n var info = '';\n var ownerName = getCurrentFiberOwnerNameInDevOrNull();\n\n if (ownerName) {\n info += '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n\n var warningKey = ownerName || '';\n var debugSource = workInProgress._debugSource;\n\n if (debugSource) {\n warningKey = debugSource.fileName + ':' + debugSource.lineNumber;\n }\n\n if (!didWarnAboutFunctionRefs[warningKey]) {\n didWarnAboutFunctionRefs[warningKey] = true;\n\n error('Function components cannot be given refs. ' + 'Attempts to access this ref will fail. ' + 'Did you mean to use React.forwardRef()?%s', info);\n }\n }\n\n if (typeof Component.getDerivedStateFromProps === 'function') {\n var _componentName3 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3]) {\n error('%s: Function components do not support getDerivedStateFromProps.', _componentName3);\n\n didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3] = true;\n }\n }\n\n if (typeof Component.contextType === 'object' && Component.contextType !== null) {\n var _componentName4 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutContextTypeOnFunctionComponent[_componentName4]) {\n error('%s: Function components do not support contextType.', _componentName4);\n\n didWarnAboutContextTypeOnFunctionComponent[_componentName4] = true;\n }\n }\n }\n}\n\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: NoLane\n};\n\nfunction mountSuspenseOffscreenState(renderLanes) {\n return {\n baseLanes: renderLanes,\n cachePool: getSuspendedCache(),\n transitions: null\n };\n}\n\nfunction updateSuspenseOffscreenState(prevOffscreenState, renderLanes) {\n var cachePool = null;\n\n return {\n baseLanes: mergeLanes(prevOffscreenState.baseLanes, renderLanes),\n cachePool: cachePool,\n transitions: prevOffscreenState.transitions\n };\n} // TODO: Probably should inline this back\n\n\nfunction shouldRemainOnFallback(suspenseContext, current, workInProgress, renderLanes) {\n // If we're already showing a fallback, there are cases where we need to\n // remain on that fallback regardless of whether the content has resolved.\n // For example, SuspenseList coordinates when nested content appears.\n if (current !== null) {\n var suspenseState = current.memoizedState;\n\n if (suspenseState === null) {\n // Currently showing content. Don't hide it, even if ForceSuspenseFallback\n // is true. More precise name might be \"ForceRemainSuspenseFallback\".\n // Note: This is a factoring smell. Can't remain on a fallback if there's\n // no fallback to remain on.\n return false;\n }\n } // Not currently showing content. Consult the Suspense context.\n\n\n return hasSuspenseContext(suspenseContext, ForceSuspenseFallback);\n}\n\nfunction getRemainingWorkInPrimaryTree(current, renderLanes) {\n // TODO: Should not remove render lanes that were pinged during this render\n return removeLanes(current.childLanes, renderLanes);\n}\n\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps; // This is used by DevTools to force a boundary to suspend.\n\n {\n if (shouldSuspend(workInProgress)) {\n workInProgress.flags |= DidCapture;\n }\n }\n\n var suspenseContext = suspenseStackCursor.current;\n var showFallback = false;\n var didSuspend = (workInProgress.flags & DidCapture) !== NoFlags;\n\n if (didSuspend || shouldRemainOnFallback(suspenseContext, current)) {\n // Something in this boundary's subtree already suspended. Switch to\n // rendering the fallback children.\n showFallback = true;\n workInProgress.flags &= ~DidCapture;\n } else {\n // Attempting the main content\n if (current === null || current.memoizedState !== null) {\n // This is a new mount or this boundary is already showing a fallback state.\n // Mark this subtree context as having at least one invisible parent that could\n // handle the fallback state.\n // Avoided boundaries are not considered since they cannot handle preferred fallback states.\n {\n suspenseContext = addSubtreeSuspenseContext(suspenseContext, InvisibleParentSuspenseContext);\n }\n }\n }\n\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n pushSuspenseContext(workInProgress, suspenseContext); // OK, the next part is confusing. We're about to reconcile the Suspense\n // boundary's children. This involves some custom reconciliation logic. Two\n // main reasons this is so complicated.\n //\n // First, Legacy Mode has different semantics for backwards compatibility. The\n // primary tree will commit in an inconsistent state, so when we do the\n // second pass to render the fallback, we do some exceedingly, uh, clever\n // hacks to make that not totally break. Like transferring effects and\n // deletions from hidden tree. In Concurrent Mode, it's much simpler,\n // because we bailout on the primary tree completely and leave it in its old\n // state, no effects. Same as what we do for Offscreen (except that\n // Offscreen doesn't have the first render pass).\n //\n // Second is hydration. During hydration, the Suspense fiber has a slightly\n // different layout, where the child points to a dehydrated fragment, which\n // contains the DOM rendered by the server.\n //\n // Third, even if you set all that aside, Suspense is like error boundaries in\n // that we first we try to render one tree, and if that fails, we render again\n // and switch to a different tree. Like a try/catch block. So we have to track\n // which branch we're currently rendering. Ideally we would model this using\n // a stack.\n\n if (current === null) {\n // Initial mount\n // Special path for hydration\n // If we're currently hydrating, try to hydrate this boundary.\n tryToClaimNextHydratableInstance(workInProgress); // This could've been a dehydrated suspense component.\n\n var suspenseState = workInProgress.memoizedState;\n\n if (suspenseState !== null) {\n var dehydrated = suspenseState.dehydrated;\n\n if (dehydrated !== null) {\n return mountDehydratedSuspenseComponent(workInProgress, dehydrated);\n }\n }\n\n var nextPrimaryChildren = nextProps.children;\n var nextFallbackChildren = nextProps.fallback;\n\n if (showFallback) {\n var fallbackFragment = mountSuspenseFallbackChildren(workInProgress, nextPrimaryChildren, nextFallbackChildren, renderLanes);\n var primaryChildFragment = workInProgress.child;\n primaryChildFragment.memoizedState = mountSuspenseOffscreenState(renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n\n return fallbackFragment;\n } else {\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n } else {\n // This is an update.\n // Special path for hydration\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n var _dehydrated = prevState.dehydrated;\n\n if (_dehydrated !== null) {\n return updateDehydratedSuspenseComponent(current, workInProgress, didSuspend, nextProps, _dehydrated, prevState, renderLanes);\n }\n }\n\n if (showFallback) {\n var _nextFallbackChildren = nextProps.fallback;\n var _nextPrimaryChildren = nextProps.children;\n var fallbackChildFragment = updateSuspenseFallbackChildren(current, workInProgress, _nextPrimaryChildren, _nextFallbackChildren, renderLanes);\n var _primaryChildFragment2 = workInProgress.child;\n var prevOffscreenState = current.child.memoizedState;\n _primaryChildFragment2.memoizedState = prevOffscreenState === null ? mountSuspenseOffscreenState(renderLanes) : updateSuspenseOffscreenState(prevOffscreenState, renderLanes);\n\n _primaryChildFragment2.childLanes = getRemainingWorkInPrimaryTree(current, renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return fallbackChildFragment;\n } else {\n var _nextPrimaryChildren2 = nextProps.children;\n\n var _primaryChildFragment3 = updateSuspensePrimaryChildren(current, workInProgress, _nextPrimaryChildren2, renderLanes);\n\n workInProgress.memoizedState = null;\n return _primaryChildFragment3;\n }\n }\n}\n\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren, renderLanes) {\n var mode = workInProgress.mode;\n var primaryChildProps = {\n mode: 'visible',\n children: primaryChildren\n };\n var primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, mode);\n primaryChildFragment.return = workInProgress;\n workInProgress.child = primaryChildFragment;\n return primaryChildFragment;\n}\n\nfunction mountSuspenseFallbackChildren(workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var mode = workInProgress.mode;\n var progressedPrimaryFragment = workInProgress.child;\n var primaryChildProps = {\n mode: 'hidden',\n children: primaryChildren\n };\n var primaryChildFragment;\n var fallbackChildFragment;\n\n if ((mode & ConcurrentMode) === NoMode && progressedPrimaryFragment !== null) {\n // In legacy mode, we commit the primary tree as if it successfully\n // completed, even though it's in an inconsistent state.\n primaryChildFragment = progressedPrimaryFragment;\n primaryChildFragment.childLanes = NoLanes;\n primaryChildFragment.pendingProps = primaryChildProps;\n\n if ( workInProgress.mode & ProfileMode) {\n // Reset the durations from the first pass so they aren't included in the\n // final amounts. This seems counterintuitive, since we're intentionally\n // not measuring part of the render phase, but this makes it match what we\n // do in Concurrent Mode.\n primaryChildFragment.actualDuration = 0;\n primaryChildFragment.actualStartTime = -1;\n primaryChildFragment.selfBaseDuration = 0;\n primaryChildFragment.treeBaseDuration = 0;\n }\n\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);\n } else {\n primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, mode);\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);\n }\n\n primaryChildFragment.return = workInProgress;\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n return fallbackChildFragment;\n}\n\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode, renderLanes) {\n // The props argument to `createFiberFromOffscreen` is `any` typed, so we use\n // this wrapper function to constrain it.\n return createFiberFromOffscreen(offscreenProps, mode, NoLanes, null);\n}\n\nfunction updateWorkInProgressOffscreenFiber(current, offscreenProps) {\n // The props argument to `createWorkInProgress` is `any` typed, so we use this\n // wrapper function to constrain it.\n return createWorkInProgress(current, offscreenProps);\n}\n\nfunction updateSuspensePrimaryChildren(current, workInProgress, primaryChildren, renderLanes) {\n var currentPrimaryChildFragment = current.child;\n var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;\n var primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, {\n mode: 'visible',\n children: primaryChildren\n });\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n primaryChildFragment.lanes = renderLanes;\n }\n\n primaryChildFragment.return = workInProgress;\n primaryChildFragment.sibling = null;\n\n if (currentFallbackChildFragment !== null) {\n // Delete the fallback child fragment\n var deletions = workInProgress.deletions;\n\n if (deletions === null) {\n workInProgress.deletions = [currentFallbackChildFragment];\n workInProgress.flags |= ChildDeletion;\n } else {\n deletions.push(currentFallbackChildFragment);\n }\n }\n\n workInProgress.child = primaryChildFragment;\n return primaryChildFragment;\n}\n\nfunction updateSuspenseFallbackChildren(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var mode = workInProgress.mode;\n var currentPrimaryChildFragment = current.child;\n var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;\n var primaryChildProps = {\n mode: 'hidden',\n children: primaryChildren\n };\n var primaryChildFragment;\n\n if ( // In legacy mode, we commit the primary tree as if it successfully\n // completed, even though it's in an inconsistent state.\n (mode & ConcurrentMode) === NoMode && // Make sure we're on the second pass, i.e. the primary child fragment was\n // already cloned. In legacy mode, the only case where this isn't true is\n // when DevTools forces us to display a fallback; we skip the first render\n // pass entirely and go straight to rendering the fallback. (In Concurrent\n // Mode, SuspenseList can also trigger this scenario, but this is a legacy-\n // only codepath.)\n workInProgress.child !== currentPrimaryChildFragment) {\n var progressedPrimaryFragment = workInProgress.child;\n primaryChildFragment = progressedPrimaryFragment;\n primaryChildFragment.childLanes = NoLanes;\n primaryChildFragment.pendingProps = primaryChildProps;\n\n if ( workInProgress.mode & ProfileMode) {\n // Reset the durations from the first pass so they aren't included in the\n // final amounts. This seems counterintuitive, since we're intentionally\n // not measuring part of the render phase, but this makes it match what we\n // do in Concurrent Mode.\n primaryChildFragment.actualDuration = 0;\n primaryChildFragment.actualStartTime = -1;\n primaryChildFragment.selfBaseDuration = currentPrimaryChildFragment.selfBaseDuration;\n primaryChildFragment.treeBaseDuration = currentPrimaryChildFragment.treeBaseDuration;\n } // The fallback fiber was added as a deletion during the first pass.\n // However, since we're going to remain on the fallback, we no longer want\n // to delete it.\n\n\n workInProgress.deletions = null;\n } else {\n primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, primaryChildProps); // Since we're reusing a current tree, we need to reuse the flags, too.\n // (We don't do this in legacy mode, because in legacy mode we don't re-use\n // the current tree; see previous branch.)\n\n primaryChildFragment.subtreeFlags = currentPrimaryChildFragment.subtreeFlags & StaticMask;\n }\n\n var fallbackChildFragment;\n\n if (currentFallbackChildFragment !== null) {\n fallbackChildFragment = createWorkInProgress(currentFallbackChildFragment, fallbackChildren);\n } else {\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null); // Needs a placement effect because the parent (the Suspense boundary) already\n // mounted but this is a new fiber.\n\n fallbackChildFragment.flags |= Placement;\n }\n\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n return fallbackChildFragment;\n}\n\nfunction retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, recoverableError) {\n // Falling back to client rendering. Because this has performance\n // implications, it's considered a recoverable error, even though the user\n // likely won't observe anything wrong with the UI.\n //\n // The error is passed in as an argument to enforce that every caller provide\n // a custom message, or explicitly opt out (currently the only path that opts\n // out is legacy mode; every concurrent path provides an error).\n if (recoverableError !== null) {\n queueHydrationError(recoverableError);\n } // This will add the old fiber to the deletion list\n\n\n reconcileChildFibers(workInProgress, current.child, null, renderLanes); // We're now not suspended nor dehydrated.\n\n var nextProps = workInProgress.pendingProps;\n var primaryChildren = nextProps.children;\n var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress, primaryChildren); // Needs a placement effect because the parent (the Suspense boundary) already\n // mounted but this is a new fiber.\n\n primaryChildFragment.flags |= Placement;\n workInProgress.memoizedState = null;\n return primaryChildFragment;\n}\n\nfunction mountSuspenseFallbackAfterRetryWithoutHydrating(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var fiberMode = workInProgress.mode;\n var primaryChildProps = {\n mode: 'visible',\n children: primaryChildren\n };\n var primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, fiberMode);\n var fallbackChildFragment = createFiberFromFragment(fallbackChildren, fiberMode, renderLanes, null); // Needs a placement effect because the parent (the Suspense\n // boundary) already mounted but this is a new fiber.\n\n fallbackChildFragment.flags |= Placement;\n primaryChildFragment.return = workInProgress;\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n\n if ((workInProgress.mode & ConcurrentMode) !== NoMode) {\n // We will have dropped the effect list which contains the\n // deletion. We need to reconcile to delete the current child.\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n }\n\n return fallbackChildFragment;\n}\n\nfunction mountDehydratedSuspenseComponent(workInProgress, suspenseInstance, renderLanes) {\n // During the first pass, we'll bail out and not drill into the children.\n // Instead, we'll leave the content in place and try to hydrate it later.\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n {\n error('Cannot hydrate Suspense in legacy mode. Switch from ' + 'ReactDOM.hydrate(element, container) to ' + 'ReactDOMClient.hydrateRoot(container, <App />)' + '.render(element) or remove the Suspense components from ' + 'the server rendered components.');\n }\n\n workInProgress.lanes = laneToLanes(SyncLane);\n } else if (isSuspenseInstanceFallback(suspenseInstance)) {\n // This is a client-only boundary. Since we won't get any content from the server\n // for this, we need to schedule that at a higher priority based on when it would\n // have timed out. In theory we could render it in this pass but it would have the\n // wrong priority associated with it and will prevent hydration of parent path.\n // Instead, we'll leave work left on it to render it in a separate commit.\n // TODO This time should be the time at which the server rendered response that is\n // a parent to this boundary was displayed. However, since we currently don't have\n // a protocol to transfer that time, we'll just estimate it by using the current\n // time. This will mean that Suspense timeouts are slightly shifted to later than\n // they should be.\n // Schedule a normal pri update to render this content.\n workInProgress.lanes = laneToLanes(DefaultHydrationLane);\n } else {\n // We'll continue hydrating the rest at offscreen priority since we'll already\n // be showing the right content coming from the server, it is no rush.\n workInProgress.lanes = laneToLanes(OffscreenLane);\n }\n\n return null;\n}\n\nfunction updateDehydratedSuspenseComponent(current, workInProgress, didSuspend, nextProps, suspenseInstance, suspenseState, renderLanes) {\n if (!didSuspend) {\n // This is the first render pass. Attempt to hydrate.\n // We should never be hydrating at this point because it is the first pass,\n // but after we've already committed once.\n warnIfHydrating();\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, // TODO: When we delete legacy mode, we should make this error argument\n // required — every concurrent mode path that causes hydration to\n // de-opt to client rendering should have an error message.\n null);\n }\n\n if (isSuspenseInstanceFallback(suspenseInstance)) {\n // This boundary is in a permanent fallback state. In this case, we'll never\n // get an update and we'll never be able to hydrate the final content. Let's just try the\n // client side render instead.\n var digest, message, stack;\n\n {\n var _getSuspenseInstanceF = getSuspenseInstanceFallbackErrorDetails(suspenseInstance);\n\n digest = _getSuspenseInstanceF.digest;\n message = _getSuspenseInstanceF.message;\n stack = _getSuspenseInstanceF.stack;\n }\n\n var error;\n\n if (message) {\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error(message);\n } else {\n error = new Error('The server could not finish this Suspense boundary, likely ' + 'due to an error during server rendering. Switched to ' + 'client rendering.');\n }\n\n var capturedValue = createCapturedValue(error, digest, stack);\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, capturedValue);\n }\n // any context has changed, we need to treat is as if the input might have changed.\n\n\n var hasContextChanged = includesSomeLane(renderLanes, current.childLanes);\n\n if (didReceiveUpdate || hasContextChanged) {\n // This boundary has changed since the first render. This means that we are now unable to\n // hydrate it. We might still be able to hydrate it using a higher priority lane.\n var root = getWorkInProgressRoot();\n\n if (root !== null) {\n var attemptHydrationAtLane = getBumpedLaneForHydration(root, renderLanes);\n\n if (attemptHydrationAtLane !== NoLane && attemptHydrationAtLane !== suspenseState.retryLane) {\n // Intentionally mutating since this render will get interrupted. This\n // is one of the very rare times where we mutate the current tree\n // during the render phase.\n suspenseState.retryLane = attemptHydrationAtLane; // TODO: Ideally this would inherit the event time of the current render\n\n var eventTime = NoTimestamp;\n enqueueConcurrentRenderForLane(current, attemptHydrationAtLane);\n scheduleUpdateOnFiber(root, current, attemptHydrationAtLane, eventTime);\n }\n } // If we have scheduled higher pri work above, this will probably just abort the render\n // since we now have higher priority work, but in case it doesn't, we need to prepare to\n // render something, if we time out. Even if that requires us to delete everything and\n // skip hydration.\n // Delay having to do this as long as the suspense timeout allows us.\n\n\n renderDidSuspendDelayIfPossible();\n\n var _capturedValue = createCapturedValue(new Error('This Suspense boundary received an update before it finished ' + 'hydrating. This caused the boundary to switch to client rendering. ' + 'The usual way to fix this is to wrap the original update ' + 'in startTransition.'));\n\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, _capturedValue);\n } else if (isSuspenseInstancePending(suspenseInstance)) {\n // This component is still pending more data from the server, so we can't hydrate its\n // content. We treat it as if this component suspended itself. It might seem as if\n // we could just try to render it client-side instead. However, this will perform a\n // lot of unnecessary work and is unlikely to complete since it often will suspend\n // on missing data anyway. Additionally, the server might be able to render more\n // than we can on the client yet. In that case we'd end up with more fallback states\n // on the client than if we just leave it alone. If the server times out or errors\n // these should update this boundary to the permanent Fallback state instead.\n // Mark it as having captured (i.e. suspended).\n workInProgress.flags |= DidCapture; // Leave the child in place. I.e. the dehydrated fragment.\n\n workInProgress.child = current.child; // Register a callback to retry this boundary once the server has sent the result.\n\n var retry = retryDehydratedSuspenseBoundary.bind(null, current);\n registerSuspenseInstanceRetry(suspenseInstance, retry);\n return null;\n } else {\n // This is the first attempt.\n reenterHydrationStateFromDehydratedSuspenseInstance(workInProgress, suspenseInstance, suspenseState.treeContext);\n var primaryChildren = nextProps.children;\n var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress, primaryChildren); // Mark the children as hydrating. This is a fast path to know whether this\n // tree is part of a hydrating tree. This is used to determine if a child\n // node has fully mounted yet, and for scheduling event replaying.\n // Conceptually this is similar to Placement in that a new subtree is\n // inserted into the React tree here. It just happens to not need DOM\n // mutations because it already exists.\n\n primaryChildFragment.flags |= Hydrating;\n return primaryChildFragment;\n }\n } else {\n // This is the second render pass. We already attempted to hydrated, but\n // something either suspended or errored.\n if (workInProgress.flags & ForceClientRender) {\n // Something errored during hydration. Try again without hydrating.\n workInProgress.flags &= ~ForceClientRender;\n\n var _capturedValue2 = createCapturedValue(new Error('There was an error while hydrating this Suspense boundary. ' + 'Switched to client rendering.'));\n\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, _capturedValue2);\n } else if (workInProgress.memoizedState !== null) {\n // Something suspended and we should still be in dehydrated mode.\n // Leave the existing child in place.\n workInProgress.child = current.child; // The dehydrated completion pass expects this flag to be there\n // but the normal suspense pass doesn't.\n\n workInProgress.flags |= DidCapture;\n return null;\n } else {\n // Suspended but we should no longer be in dehydrated mode.\n // Therefore we now have to render the fallback.\n var nextPrimaryChildren = nextProps.children;\n var nextFallbackChildren = nextProps.fallback;\n var fallbackChildFragment = mountSuspenseFallbackAfterRetryWithoutHydrating(current, workInProgress, nextPrimaryChildren, nextFallbackChildren, renderLanes);\n var _primaryChildFragment4 = workInProgress.child;\n _primaryChildFragment4.memoizedState = mountSuspenseOffscreenState(renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return fallbackChildFragment;\n }\n }\n}\n\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes = mergeLanes(fiber.lanes, renderLanes);\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, renderLanes);\n }\n\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\n\nfunction propagateSuspenseContextChange(workInProgress, firstChild, renderLanes) {\n // Mark any Suspense boundaries with fallbacks as having work to do.\n // If they were previously forced into fallbacks, they may now be able\n // to unblock.\n var node = firstChild;\n\n while (node !== null) {\n if (node.tag === SuspenseComponent) {\n var state = node.memoizedState;\n\n if (state !== null) {\n scheduleSuspenseWorkOnFiber(node, renderLanes, workInProgress);\n }\n } else if (node.tag === SuspenseListComponent) {\n // If the tail is hidden there might not be an Suspense boundaries\n // to schedule work on. In this case we have to schedule it on the\n // list itself.\n // We don't have to traverse to the children of the list since\n // the list will propagate the change when it rerenders.\n scheduleSuspenseWorkOnFiber(node, renderLanes, workInProgress);\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === workInProgress) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === workInProgress) {\n return;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n}\n\nfunction findLastContentRow(firstChild) {\n // This is going to find the last row among these children that is already\n // showing content on the screen, as opposed to being in fallback state or\n // new. If a row has multiple Suspense boundaries, any of them being in the\n // fallback state, counts as the whole row being in a fallback state.\n // Note that the \"rows\" will be workInProgress, but any nested children\n // will still be current since we haven't rendered them yet. The mounted\n // order may not be the same as the new order. We use the new order.\n var row = firstChild;\n var lastContentRow = null;\n\n while (row !== null) {\n var currentRow = row.alternate; // New rows can't be content rows.\n\n if (currentRow !== null && findFirstSuspended(currentRow) === null) {\n lastContentRow = row;\n }\n\n row = row.sibling;\n }\n\n return lastContentRow;\n}\n\nfunction validateRevealOrder(revealOrder) {\n {\n if (revealOrder !== undefined && revealOrder !== 'forwards' && revealOrder !== 'backwards' && revealOrder !== 'together' && !didWarnAboutRevealOrder[revealOrder]) {\n didWarnAboutRevealOrder[revealOrder] = true;\n\n if (typeof revealOrder === 'string') {\n switch (revealOrder.toLowerCase()) {\n case 'together':\n case 'forwards':\n case 'backwards':\n {\n error('\"%s\" is not a valid value for revealOrder on <SuspenseList />. ' + 'Use lowercase \"%s\" instead.', revealOrder, revealOrder.toLowerCase());\n\n break;\n }\n\n case 'forward':\n case 'backward':\n {\n error('\"%s\" is not a valid value for revealOrder on <SuspenseList />. ' + 'React uses the -s suffix in the spelling. Use \"%ss\" instead.', revealOrder, revealOrder.toLowerCase());\n\n break;\n }\n\n default:\n error('\"%s\" is not a supported revealOrder on <SuspenseList />. ' + 'Did you mean \"together\", \"forwards\" or \"backwards\"?', revealOrder);\n\n break;\n }\n } else {\n error('%s is not a supported value for revealOrder on <SuspenseList />. ' + 'Did you mean \"together\", \"forwards\" or \"backwards\"?', revealOrder);\n }\n }\n }\n}\n\nfunction validateTailOptions(tailMode, revealOrder) {\n {\n if (tailMode !== undefined && !didWarnAboutTailOptions[tailMode]) {\n if (tailMode !== 'collapsed' && tailMode !== 'hidden') {\n didWarnAboutTailOptions[tailMode] = true;\n\n error('\"%s\" is not a supported value for tail on <SuspenseList />. ' + 'Did you mean \"collapsed\" or \"hidden\"?', tailMode);\n } else if (revealOrder !== 'forwards' && revealOrder !== 'backwards') {\n didWarnAboutTailOptions[tailMode] = true;\n\n error('<SuspenseList tail=\"%s\" /> is only valid if revealOrder is ' + '\"forwards\" or \"backwards\". ' + 'Did you mean to specify revealOrder=\"forwards\"?', tailMode);\n }\n }\n }\n}\n\nfunction validateSuspenseListNestedChild(childSlot, index) {\n {\n var isAnArray = isArray(childSlot);\n var isIterable = !isAnArray && typeof getIteratorFn(childSlot) === 'function';\n\n if (isAnArray || isIterable) {\n var type = isAnArray ? 'array' : 'iterable';\n\n error('A nested %s was passed to row #%s in <SuspenseList />. Wrap it in ' + 'an additional SuspenseList to configure its revealOrder: ' + '<SuspenseList revealOrder=...> ... ' + '<SuspenseList revealOrder=...>{%s}</SuspenseList> ... ' + '</SuspenseList>', type, index, type);\n\n return false;\n }\n }\n\n return true;\n}\n\nfunction validateSuspenseListChildren(children, revealOrder) {\n {\n if ((revealOrder === 'forwards' || revealOrder === 'backwards') && children !== undefined && children !== null && children !== false) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n if (!validateSuspenseListNestedChild(children[i], i)) {\n return;\n }\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var childrenIterator = iteratorFn.call(children);\n\n if (childrenIterator) {\n var step = childrenIterator.next();\n var _i = 0;\n\n for (; !step.done; step = childrenIterator.next()) {\n if (!validateSuspenseListNestedChild(step.value, _i)) {\n return;\n }\n\n _i++;\n }\n }\n } else {\n error('A single row was passed to a <SuspenseList revealOrder=\"%s\" />. ' + 'This is not useful since it needs multiple rows. ' + 'Did you mean to pass multiple children or an array?', revealOrder);\n }\n }\n }\n }\n}\n\nfunction initSuspenseListRenderState(workInProgress, isBackwards, tail, lastContentRow, tailMode) {\n var renderState = workInProgress.memoizedState;\n\n if (renderState === null) {\n workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n };\n } else {\n // We can reuse the existing object from previous renders.\n renderState.isBackwards = isBackwards;\n renderState.rendering = null;\n renderState.renderingStartTime = 0;\n renderState.last = lastContentRow;\n renderState.tail = tail;\n renderState.tailMode = tailMode;\n }\n} // This can end up rendering this component multiple passes.\n// The first pass splits the children fibers into two sets. A head and tail.\n// We first render the head. If anything is in fallback state, we do another\n// pass through beginWork to rerender all children (including the tail) with\n// the force suspend context. If the first render didn't have anything in\n// in fallback state. Then we render each row in the tail one-by-one.\n// That happens in the completeWork phase without going back to beginWork.\n\n\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps;\n var revealOrder = nextProps.revealOrder;\n var tailMode = nextProps.tail;\n var newChildren = nextProps.children;\n validateRevealOrder(revealOrder);\n validateTailOptions(tailMode, revealOrder);\n validateSuspenseListChildren(newChildren, revealOrder);\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n var suspenseContext = suspenseStackCursor.current;\n var shouldForceFallback = hasSuspenseContext(suspenseContext, ForceSuspenseFallback);\n\n if (shouldForceFallback) {\n suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);\n workInProgress.flags |= DidCapture;\n } else {\n var didSuspendBefore = current !== null && (current.flags & DidCapture) !== NoFlags;\n\n if (didSuspendBefore) {\n // If we previously forced a fallback, we need to schedule work\n // on any nested boundaries to let them know to try to render\n // again. This is the same as context updating.\n propagateSuspenseContextChange(workInProgress, workInProgress.child, renderLanes);\n }\n\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n }\n\n pushSuspenseContext(workInProgress, suspenseContext);\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n // In legacy mode, SuspenseList doesn't work so we just\n // use make it a noop by treating it as the default revealOrder.\n workInProgress.memoizedState = null;\n } else {\n switch (revealOrder) {\n case 'forwards':\n {\n var lastContentRow = findLastContentRow(workInProgress.child);\n var tail;\n\n if (lastContentRow === null) {\n // The whole list is part of the tail.\n // TODO: We could fast path by just rendering the tail now.\n tail = workInProgress.child;\n workInProgress.child = null;\n } else {\n // Disconnect the tail rows after the content row.\n // We're going to render them separately later.\n tail = lastContentRow.sibling;\n lastContentRow.sibling = null;\n }\n\n initSuspenseListRenderState(workInProgress, false, // isBackwards\n tail, lastContentRow, tailMode);\n break;\n }\n\n case 'backwards':\n {\n // We're going to find the first row that has existing content.\n // At the same time we're going to reverse the list of everything\n // we pass in the meantime. That's going to be our tail in reverse\n // order.\n var _tail = null;\n var row = workInProgress.child;\n workInProgress.child = null;\n\n while (row !== null) {\n var currentRow = row.alternate; // New rows can't be content rows.\n\n if (currentRow !== null && findFirstSuspended(currentRow) === null) {\n // This is the beginning of the main content.\n workInProgress.child = row;\n break;\n }\n\n var nextRow = row.sibling;\n row.sibling = _tail;\n _tail = row;\n row = nextRow;\n } // TODO: If workInProgress.child is null, we can continue on the tail immediately.\n\n\n initSuspenseListRenderState(workInProgress, true, // isBackwards\n _tail, null, // last\n tailMode);\n break;\n }\n\n case 'together':\n {\n initSuspenseListRenderState(workInProgress, false, // isBackwards\n null, // tail\n null, // last\n undefined);\n break;\n }\n\n default:\n {\n // The default reveal order is the same as not having\n // a boundary.\n workInProgress.memoizedState = null;\n }\n }\n }\n\n return workInProgress.child;\n}\n\nfunction updatePortalComponent(current, workInProgress, renderLanes) {\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n var nextChildren = workInProgress.pendingProps;\n\n if (current === null) {\n // Portals are special because we don't append the children during mount\n // but at commit. Therefore we need to track insertions which the normal\n // flow doesn't do during mount. This doesn't happen at the root because\n // the root always starts with a \"current\" with a null child.\n // TODO: Consider unifying this with how the root works.\n workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes);\n } else {\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n }\n\n return workInProgress.child;\n}\n\nvar hasWarnedAboutUsingNoValuePropOnContextProvider = false;\n\nfunction updateContextProvider(current, workInProgress, renderLanes) {\n var providerType = workInProgress.type;\n var context = providerType._context;\n var newProps = workInProgress.pendingProps;\n var oldProps = workInProgress.memoizedProps;\n var newValue = newProps.value;\n\n {\n if (!('value' in newProps)) {\n if (!hasWarnedAboutUsingNoValuePropOnContextProvider) {\n hasWarnedAboutUsingNoValuePropOnContextProvider = true;\n\n error('The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?');\n }\n }\n\n var providerPropTypes = workInProgress.type.propTypes;\n\n if (providerPropTypes) {\n checkPropTypes(providerPropTypes, newProps, 'prop', 'Context.Provider');\n }\n }\n\n pushProvider(workInProgress, context, newValue);\n\n {\n if (oldProps !== null) {\n var oldValue = oldProps.value;\n\n if (objectIs(oldValue, newValue)) {\n // No change. Bailout early if children are the same.\n if (oldProps.children === newProps.children && !hasContextChanged()) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n } else {\n // The context value changed. Search for matching consumers and schedule\n // them to update.\n propagateContextChange(workInProgress, context, renderLanes);\n }\n }\n }\n\n var newChildren = newProps.children;\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n return workInProgress.child;\n}\n\nvar hasWarnedAboutUsingContextAsConsumer = false;\n\nfunction updateContextConsumer(current, workInProgress, renderLanes) {\n var context = workInProgress.type; // The logic below for Context differs depending on PROD or DEV mode. In\n // DEV mode, we create a separate object for Context.Consumer that acts\n // like a proxy to Context. This proxy object adds unnecessary code in PROD\n // so we use the old behaviour (Context.Consumer references Context) to\n // reduce size and overhead. The separate object references context via\n // a property called \"_context\", which also gives us the ability to check\n // in DEV mode if this property exists or not and warn if it does not.\n\n {\n if (context._context === undefined) {\n // This may be because it's a Context (rather than a Consumer).\n // Or it may be because it's older React where they're the same thing.\n // We only want to warn if we're sure it's a new React.\n if (context !== context.Consumer) {\n if (!hasWarnedAboutUsingContextAsConsumer) {\n hasWarnedAboutUsingContextAsConsumer = true;\n\n error('Rendering <Context> directly is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');\n }\n }\n } else {\n context = context._context;\n }\n }\n\n var newProps = workInProgress.pendingProps;\n var render = newProps.children;\n\n {\n if (typeof render !== 'function') {\n error('A context consumer was rendered with multiple children, or a child ' + \"that isn't a function. A context consumer expects a single child \" + 'that is a function. If you did pass a function, make sure there ' + 'is no trailing or leading whitespace around it.');\n }\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var newValue = readContext(context);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n var newChildren;\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n newChildren = render(newValue);\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction markWorkInProgressReceivedUpdate() {\n didReceiveUpdate = true;\n}\n\nfunction resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress) {\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n if (current !== null) {\n // A lazy component only mounts if it suspended inside a non-\n // concurrent tree, in an inconsistent state. We want to treat it like\n // a new mount, even though an empty version of it already committed.\n // Disconnect the alternate pointers.\n current.alternate = null;\n workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect\n\n workInProgress.flags |= Placement;\n }\n }\n}\n\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n if (current !== null) {\n // Reuse previous dependencies\n workInProgress.dependencies = current.dependencies;\n }\n\n {\n // Don't update \"base\" render times for bailouts.\n stopProfilerTimerIfRunning();\n }\n\n markSkippedUpdateLanes(workInProgress.lanes); // Check if the children have any pending work.\n\n if (!includesSomeLane(renderLanes, workInProgress.childLanes)) {\n // The children don't have any work either. We can skip them.\n // TODO: Once we add back resuming, we should check if the children are\n // a work-in-progress set. If so, we need to transfer their effects.\n {\n return null;\n }\n } // This fiber doesn't have work, but its subtree does. Clone the child\n // fibers and continue.\n\n\n cloneChildFibers(current, workInProgress);\n return workInProgress.child;\n}\n\nfunction remountFiber(current, oldWorkInProgress, newWorkInProgress) {\n {\n var returnFiber = oldWorkInProgress.return;\n\n if (returnFiber === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Cannot swap the root fiber.');\n } // Disconnect from the old current.\n // It will get deleted.\n\n\n current.alternate = null;\n oldWorkInProgress.alternate = null; // Connect to the new tree.\n\n newWorkInProgress.index = oldWorkInProgress.index;\n newWorkInProgress.sibling = oldWorkInProgress.sibling;\n newWorkInProgress.return = oldWorkInProgress.return;\n newWorkInProgress.ref = oldWorkInProgress.ref; // Replace the child/sibling pointers above it.\n\n if (oldWorkInProgress === returnFiber.child) {\n returnFiber.child = newWorkInProgress;\n } else {\n var prevSibling = returnFiber.child;\n\n if (prevSibling === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Expected parent to have a child.');\n }\n\n while (prevSibling.sibling !== oldWorkInProgress) {\n prevSibling = prevSibling.sibling;\n\n if (prevSibling === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Expected to find the previous sibling.');\n }\n }\n\n prevSibling.sibling = newWorkInProgress;\n } // Delete the old fiber and place the new one.\n // Since the old fiber is disconnected, we have to schedule it manually.\n\n\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [current];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(current);\n }\n\n newWorkInProgress.flags |= Placement; // Restart work from the new fiber.\n\n return newWorkInProgress;\n }\n}\n\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n // Before performing an early bailout, we must check if there are pending\n // updates or context.\n var updateLanes = current.lanes;\n\n if (includesSomeLane(updateLanes, renderLanes)) {\n return true;\n } // No pending update, but because context is propagated lazily, we need\n\n return false;\n}\n\nfunction attemptEarlyBailoutIfNoScheduledUpdate(current, workInProgress, renderLanes) {\n // This fiber does not have any pending work. Bailout without entering\n // the begin phase. There's still some bookkeeping we that needs to be done\n // in this optimized path, mostly pushing stuff onto the stack.\n switch (workInProgress.tag) {\n case HostRoot:\n pushHostRootContext(workInProgress);\n var root = workInProgress.stateNode;\n\n resetHydrationState();\n break;\n\n case HostComponent:\n pushHostContext(workInProgress);\n break;\n\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n pushContextProvider(workInProgress);\n }\n\n break;\n }\n\n case HostPortal:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n\n case ContextProvider:\n {\n var newValue = workInProgress.memoizedProps.value;\n var context = workInProgress.type._context;\n pushProvider(workInProgress, context, newValue);\n break;\n }\n\n case Profiler:\n {\n // Profiler should only call onRender when one of its descendants actually rendered.\n var hasChildWork = includesSomeLane(renderLanes, workInProgress.childLanes);\n\n if (hasChildWork) {\n workInProgress.flags |= Update;\n }\n\n {\n // Reset effect durations for the next eventual effect phase.\n // These are reset during render to allow the DevTools commit hook a chance to read them,\n var stateNode = workInProgress.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n }\n\n break;\n\n case SuspenseComponent:\n {\n var state = workInProgress.memoizedState;\n\n if (state !== null) {\n if (state.dehydrated !== null) {\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // We know that this component will suspend again because if it has\n // been unsuspended it has committed as a resolved Suspense component.\n // If it needs to be retried, it should have work scheduled on it.\n\n workInProgress.flags |= DidCapture; // We should never render the children of a dehydrated boundary until we\n // upgrade it. We return null instead of bailoutOnAlreadyFinishedWork.\n\n return null;\n } // If this boundary is currently timed out, we need to decide\n // whether to retry the primary children, or to skip over it and\n // go straight to the fallback. Check the priority of the primary\n // child fragment.\n\n\n var primaryChildFragment = workInProgress.child;\n var primaryChildLanes = primaryChildFragment.childLanes;\n\n if (includesSomeLane(renderLanes, primaryChildLanes)) {\n // The primary children have pending work. Use the normal path\n // to attempt to render the primary children again.\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n } else {\n // The primary child fragment does not have pending work marked\n // on it\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // The primary children do not have pending work with sufficient\n // priority. Bailout.\n\n var child = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n\n if (child !== null) {\n // The fallback children have pending work. Skip over the\n // primary children and work on the fallback.\n return child.sibling;\n } else {\n // Note: We can return `null` here because we already checked\n // whether there were nested context consumers, via the call to\n // `bailoutOnAlreadyFinishedWork` above.\n return null;\n }\n }\n } else {\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current));\n }\n\n break;\n }\n\n case SuspenseListComponent:\n {\n var didSuspendBefore = (current.flags & DidCapture) !== NoFlags;\n\n var _hasChildWork = includesSomeLane(renderLanes, workInProgress.childLanes);\n\n if (didSuspendBefore) {\n if (_hasChildWork) {\n // If something was in fallback state last time, and we have all the\n // same children then we're still in progressive loading state.\n // Something might get unblocked by state updates or retries in the\n // tree which will affect the tail. So we need to use the normal\n // path to compute the correct tail.\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n } // If none of the children had any work, that means that none of\n // them got retried so they'll still be blocked in the same way\n // as before. We can fast bail out.\n\n\n workInProgress.flags |= DidCapture;\n } // If nothing suspended before and we're rendering the same children,\n // then the tail doesn't matter. Anything new that suspends will work\n // in the \"together\" mode, so we can continue from the state we had.\n\n\n var renderState = workInProgress.memoizedState;\n\n if (renderState !== null) {\n // Reset to the \"together\" mode in case we've started a different\n // update in the past but didn't complete it.\n renderState.rendering = null;\n renderState.tail = null;\n renderState.lastEffect = null;\n }\n\n pushSuspenseContext(workInProgress, suspenseStackCursor.current);\n\n if (_hasChildWork) {\n break;\n } else {\n // If none of the children had any work, that means that none of\n // them got retried so they'll still be blocked in the same way\n // as before. We can fast bail out.\n return null;\n }\n }\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n {\n // Need to check if the tree still needs to be deferred. This is\n // almost identical to the logic used in the normal update path,\n // so we'll just enter that. The only difference is we'll bail out\n // at the next level instead of this one, because the child props\n // have not changed. Which is fine.\n // TODO: Probably should refactor `beginWork` to split the bailout\n // path from the normal path. I'm tempted to do a labeled break here\n // but I won't :)\n workInProgress.lanes = NoLanes;\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n }\n }\n\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\n\nfunction beginWork(current, workInProgress, renderLanes) {\n {\n if (workInProgress._debugNeedsRemount && current !== null) {\n // This will restart the begin phase with a new fiber.\n return remountFiber(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.lanes));\n }\n }\n\n if (current !== null) {\n var oldProps = current.memoizedProps;\n var newProps = workInProgress.pendingProps;\n\n if (oldProps !== newProps || hasContextChanged() || ( // Force a re-render if the implementation changed due to hot reload:\n workInProgress.type !== current.type )) {\n // If props or context changed, mark the fiber as having performed work.\n // This may be unset if the props are determined to be equal later (memo).\n didReceiveUpdate = true;\n } else {\n // Neither props nor legacy context changes. Check if there's a pending\n // update or context change.\n var hasScheduledUpdateOrContext = checkScheduledUpdateOrContext(current, renderLanes);\n\n if (!hasScheduledUpdateOrContext && // If this is the second pass of an error or suspense boundary, there\n // may not be work scheduled on `current`, so we check for this flag.\n (workInProgress.flags & DidCapture) === NoFlags) {\n // No pending updates or context. Bail out now.\n didReceiveUpdate = false;\n return attemptEarlyBailoutIfNoScheduledUpdate(current, workInProgress, renderLanes);\n }\n\n if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags) {\n // This is a special case that only exists for legacy mode.\n // See https://github.com/facebook/react/pull/19216.\n didReceiveUpdate = true;\n } else {\n // An update was scheduled on this fiber, but there are no new props\n // nor legacy context. Set this to false. If an update queue or context\n // consumer produces a changed value, it will set this to true. Otherwise,\n // the component will assume the children have not changed and bail out.\n didReceiveUpdate = false;\n }\n }\n } else {\n didReceiveUpdate = false;\n\n if (getIsHydrating() && isForkedChild(workInProgress)) {\n // Check if this child belongs to a list of muliple children in\n // its parent.\n //\n // In a true multi-threaded implementation, we would render children on\n // parallel threads. This would represent the beginning of a new render\n // thread for this subtree.\n //\n // We only use this for id generation during hydration, which is why the\n // logic is located in this special branch.\n var slotIndex = workInProgress.index;\n var numberOfForks = getForksAtLevel();\n pushTreeId(workInProgress, numberOfForks, slotIndex);\n }\n } // Before entering the begin phase, clear pending update priority.\n // TODO: This assumes that we're about to evaluate the component and process\n // the update queue. However, there's an exception: SimpleMemoComponent\n // sometimes bails out later in the begin phase. This indicates that we should\n // move this assignment out of the common path and into each branch.\n\n\n workInProgress.lanes = NoLanes;\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n {\n return mountIndeterminateComponent(current, workInProgress, workInProgress.type, renderLanes);\n }\n\n case LazyComponent:\n {\n var elementType = workInProgress.elementType;\n return mountLazyComponent(current, workInProgress, elementType, renderLanes);\n }\n\n case FunctionComponent:\n {\n var Component = workInProgress.type;\n var unresolvedProps = workInProgress.pendingProps;\n var resolvedProps = workInProgress.elementType === Component ? unresolvedProps : resolveDefaultProps(Component, unresolvedProps);\n return updateFunctionComponent(current, workInProgress, Component, resolvedProps, renderLanes);\n }\n\n case ClassComponent:\n {\n var _Component = workInProgress.type;\n var _unresolvedProps = workInProgress.pendingProps;\n\n var _resolvedProps = workInProgress.elementType === _Component ? _unresolvedProps : resolveDefaultProps(_Component, _unresolvedProps);\n\n return updateClassComponent(current, workInProgress, _Component, _resolvedProps, renderLanes);\n }\n\n case HostRoot:\n return updateHostRoot(current, workInProgress, renderLanes);\n\n case HostComponent:\n return updateHostComponent(current, workInProgress, renderLanes);\n\n case HostText:\n return updateHostText(current, workInProgress);\n\n case SuspenseComponent:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n\n case HostPortal:\n return updatePortalComponent(current, workInProgress, renderLanes);\n\n case ForwardRef:\n {\n var type = workInProgress.type;\n var _unresolvedProps2 = workInProgress.pendingProps;\n\n var _resolvedProps2 = workInProgress.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);\n\n return updateForwardRef(current, workInProgress, type, _resolvedProps2, renderLanes);\n }\n\n case Fragment:\n return updateFragment(current, workInProgress, renderLanes);\n\n case Mode:\n return updateMode(current, workInProgress, renderLanes);\n\n case Profiler:\n return updateProfiler(current, workInProgress, renderLanes);\n\n case ContextProvider:\n return updateContextProvider(current, workInProgress, renderLanes);\n\n case ContextConsumer:\n return updateContextConsumer(current, workInProgress, renderLanes);\n\n case MemoComponent:\n {\n var _type2 = workInProgress.type;\n var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.\n\n var _resolvedProps3 = resolveDefaultProps(_type2, _unresolvedProps3);\n\n {\n if (workInProgress.type !== workInProgress.elementType) {\n var outerPropTypes = _type2.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, _resolvedProps3, // Resolved for outer only\n 'prop', getComponentNameFromType(_type2));\n }\n }\n }\n\n _resolvedProps3 = resolveDefaultProps(_type2.type, _resolvedProps3);\n return updateMemoComponent(current, workInProgress, _type2, _resolvedProps3, renderLanes);\n }\n\n case SimpleMemoComponent:\n {\n return updateSimpleMemoComponent(current, workInProgress, workInProgress.type, workInProgress.pendingProps, renderLanes);\n }\n\n case IncompleteClassComponent:\n {\n var _Component2 = workInProgress.type;\n var _unresolvedProps4 = workInProgress.pendingProps;\n\n var _resolvedProps4 = workInProgress.elementType === _Component2 ? _unresolvedProps4 : resolveDefaultProps(_Component2, _unresolvedProps4);\n\n return mountIncompleteClassComponent(current, workInProgress, _Component2, _resolvedProps4, renderLanes);\n }\n\n case SuspenseListComponent:\n {\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n }\n\n case ScopeComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n {\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n }\n }\n\n throw new Error(\"Unknown unit of work tag (\" + workInProgress.tag + \"). This error is likely caused by a bug in \" + 'React. Please file an issue.');\n}\n\nfunction markUpdate(workInProgress) {\n // Tag the fiber with an update effect. This turns a Placement into\n // a PlacementAndUpdate.\n workInProgress.flags |= Update;\n}\n\nfunction markRef$1(workInProgress) {\n workInProgress.flags |= Ref;\n\n {\n workInProgress.flags |= RefStatic;\n }\n}\n\nvar appendAllChildren;\nvar updateHostContainer;\nvar updateHostComponent$1;\nvar updateHostText$1;\n\n{\n // Mutation mode\n appendAllChildren = function (parent, workInProgress, needsVisibilityToggle, isHidden) {\n // We only have the top Fiber that was created but we need recurse down its\n // children to find all the terminal nodes.\n var node = workInProgress.child;\n\n while (node !== null) {\n if (node.tag === HostComponent || node.tag === HostText) {\n appendInitialChild(parent, node.stateNode);\n } else if (node.tag === HostPortal) ; else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === workInProgress) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === workInProgress) {\n return;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n };\n\n updateHostContainer = function (current, workInProgress) {// Noop\n };\n\n updateHostComponent$1 = function (current, workInProgress, type, newProps, rootContainerInstance) {\n // If we have an alternate, that means this is an update and we need to\n // schedule a side-effect to do the updates.\n var oldProps = current.memoizedProps;\n\n if (oldProps === newProps) {\n // In mutation mode, this is sufficient for a bailout because\n // we won't touch this node even if children changed.\n return;\n } // If we get updated because one of our children updated, we don't\n // have newProps so we'll have to reuse them.\n // TODO: Split the update API as separate for the props vs. children.\n // Even better would be if children weren't special cased at all tho.\n\n\n var instance = workInProgress.stateNode;\n var currentHostContext = getHostContext(); // TODO: Experiencing an error where oldProps is null. Suggests a host\n // component is hitting the resume path. Figure out why. Possibly\n // related to `hidden`.\n\n var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, currentHostContext); // TODO: Type this specific to this type of component.\n\n workInProgress.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there\n // is a new ref we mark this as an update. All the work is done in commitWork.\n\n if (updatePayload) {\n markUpdate(workInProgress);\n }\n };\n\n updateHostText$1 = function (current, workInProgress, oldText, newText) {\n // If the text differs, mark it as an update. All the work in done in commitWork.\n if (oldText !== newText) {\n markUpdate(workInProgress);\n }\n };\n}\n\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (getIsHydrating()) {\n // If we're hydrating, we should consume as many items as we can\n // so we don't leave any behind.\n return;\n }\n\n switch (renderState.tailMode) {\n case 'hidden':\n {\n // Any insertions at the end of the tail list after this point\n // should be invisible. If there are already mounted boundaries\n // anything before them are not considered for collapsing.\n // Therefore we need to go through the whole tail to find if\n // there are any.\n var tailNode = renderState.tail;\n var lastTailNode = null;\n\n while (tailNode !== null) {\n if (tailNode.alternate !== null) {\n lastTailNode = tailNode;\n }\n\n tailNode = tailNode.sibling;\n } // Next we're simply going to delete all insertions after the\n // last rendered item.\n\n\n if (lastTailNode === null) {\n // All remaining items in the tail are insertions.\n renderState.tail = null;\n } else {\n // Detach the insertion after the last node that was already\n // inserted.\n lastTailNode.sibling = null;\n }\n\n break;\n }\n\n case 'collapsed':\n {\n // Any insertions at the end of the tail list after this point\n // should be invisible. If there are already mounted boundaries\n // anything before them are not considered for collapsing.\n // Therefore we need to go through the whole tail to find if\n // there are any.\n var _tailNode = renderState.tail;\n var _lastTailNode = null;\n\n while (_tailNode !== null) {\n if (_tailNode.alternate !== null) {\n _lastTailNode = _tailNode;\n }\n\n _tailNode = _tailNode.sibling;\n } // Next we're simply going to delete all insertions after the\n // last rendered item.\n\n\n if (_lastTailNode === null) {\n // All remaining items in the tail are insertions.\n if (!hasRenderedATailFallback && renderState.tail !== null) {\n // We suspended during the head. We want to show at least one\n // row at the tail. So we'll keep on and cut off the rest.\n renderState.tail.sibling = null;\n } else {\n renderState.tail = null;\n }\n } else {\n // Detach the insertion after the last node that was already\n // inserted.\n _lastTailNode.sibling = null;\n }\n\n break;\n }\n }\n}\n\nfunction bubbleProperties(completedWork) {\n var didBailout = completedWork.alternate !== null && completedWork.alternate.child === completedWork.child;\n var newChildLanes = NoLanes;\n var subtreeFlags = NoFlags;\n\n if (!didBailout) {\n // Bubble up the earliest expiration time.\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // In profiling mode, resetChildExpirationTime is also used to reset\n // profiler durations.\n var actualDuration = completedWork.actualDuration;\n var treeBaseDuration = completedWork.selfBaseDuration;\n var child = completedWork.child;\n\n while (child !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(child.lanes, child.childLanes));\n subtreeFlags |= child.subtreeFlags;\n subtreeFlags |= child.flags; // When a fiber is cloned, its actualDuration is reset to 0. This value will\n // only be updated if work is done on the fiber (i.e. it doesn't bailout).\n // When work is done, it should bubble to the parent's actualDuration. If\n // the fiber has not been cloned though, (meaning no work was done), then\n // this value will reflect the amount of time spent working on a previous\n // render. In that case it should not bubble. We determine whether it was\n // cloned by comparing the child pointer.\n\n actualDuration += child.actualDuration;\n treeBaseDuration += child.treeBaseDuration;\n child = child.sibling;\n }\n\n completedWork.actualDuration = actualDuration;\n completedWork.treeBaseDuration = treeBaseDuration;\n } else {\n var _child = completedWork.child;\n\n while (_child !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child.lanes, _child.childLanes));\n subtreeFlags |= _child.subtreeFlags;\n subtreeFlags |= _child.flags; // Update the return pointer so the tree is consistent. This is a code\n // smell because it assumes the commit phase is never concurrent with\n // the render phase. Will address during refactor to alternate model.\n\n _child.return = completedWork;\n _child = _child.sibling;\n }\n }\n\n completedWork.subtreeFlags |= subtreeFlags;\n } else {\n // Bubble up the earliest expiration time.\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // In profiling mode, resetChildExpirationTime is also used to reset\n // profiler durations.\n var _treeBaseDuration = completedWork.selfBaseDuration;\n var _child2 = completedWork.child;\n\n while (_child2 !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child2.lanes, _child2.childLanes)); // \"Static\" flags share the lifetime of the fiber/hook they belong to,\n // so we should bubble those up even during a bailout. All the other\n // flags have a lifetime only of a single render + commit, so we should\n // ignore them.\n\n subtreeFlags |= _child2.subtreeFlags & StaticMask;\n subtreeFlags |= _child2.flags & StaticMask;\n _treeBaseDuration += _child2.treeBaseDuration;\n _child2 = _child2.sibling;\n }\n\n completedWork.treeBaseDuration = _treeBaseDuration;\n } else {\n var _child3 = completedWork.child;\n\n while (_child3 !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child3.lanes, _child3.childLanes)); // \"Static\" flags share the lifetime of the fiber/hook they belong to,\n // so we should bubble those up even during a bailout. All the other\n // flags have a lifetime only of a single render + commit, so we should\n // ignore them.\n\n subtreeFlags |= _child3.subtreeFlags & StaticMask;\n subtreeFlags |= _child3.flags & StaticMask; // Update the return pointer so the tree is consistent. This is a code\n // smell because it assumes the commit phase is never concurrent with\n // the render phase. Will address during refactor to alternate model.\n\n _child3.return = completedWork;\n _child3 = _child3.sibling;\n }\n }\n\n completedWork.subtreeFlags |= subtreeFlags;\n }\n\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\n\nfunction completeDehydratedSuspenseBoundary(current, workInProgress, nextState) {\n if (hasUnhydratedTailNodes() && (workInProgress.mode & ConcurrentMode) !== NoMode && (workInProgress.flags & DidCapture) === NoFlags) {\n warnIfUnhydratedTailNodes(workInProgress);\n resetHydrationState();\n workInProgress.flags |= ForceClientRender | Incomplete | ShouldCapture;\n return false;\n }\n\n var wasHydrated = popHydrationState(workInProgress);\n\n if (nextState !== null && nextState.dehydrated !== null) {\n // We might be inside a hydration state the first time we're picking up this\n // Suspense boundary, and also after we've reentered it for further hydration.\n if (current === null) {\n if (!wasHydrated) {\n throw new Error('A dehydrated suspense component was completed without a hydrated node. ' + 'This is probably a bug in React.');\n }\n\n prepareToHydrateHostSuspenseInstance(workInProgress);\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n var isTimedOutSuspense = nextState !== null;\n\n if (isTimedOutSuspense) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var primaryChildFragment = workInProgress.child;\n\n if (primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return false;\n } else {\n // We might have reentered this boundary to hydrate it. If so, we need to reset the hydration\n // state since we're now exiting out of it. popHydrationState doesn't do that for us.\n resetHydrationState();\n\n if ((workInProgress.flags & DidCapture) === NoFlags) {\n // This boundary did not suspend so it's now hydrated and unsuspended.\n workInProgress.memoizedState = null;\n } // If nothing suspended, we need to schedule an effect to mark this boundary\n // as having hydrated so events know that they're free to be invoked.\n // It's also a signal to replay events and the suspense callback.\n // If something suspended, schedule an effect to attach retry listeners.\n // So we might as well always mark this.\n\n\n workInProgress.flags |= Update;\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n var _isTimedOutSuspense = nextState !== null;\n\n if (_isTimedOutSuspense) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var _primaryChildFragment = workInProgress.child;\n\n if (_primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= _primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return false;\n }\n } else {\n // Successfully completed this tree. If this was a forced client render,\n // there may have been recoverable errors during first hydration\n // attempt. If so, add them to a queue so we can log them in the\n // commit phase.\n upgradeHydrationErrorsToRecoverable(); // Fall through to normal Suspense path\n\n return true;\n }\n}\n\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps; // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n\n popTreeContext(workInProgress);\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n case LazyComponent:\n case SimpleMemoComponent:\n case FunctionComponent:\n case ForwardRef:\n case Fragment:\n case Mode:\n case Profiler:\n case ContextConsumer:\n case MemoComponent:\n bubbleProperties(workInProgress);\n return null;\n\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n popContext(workInProgress);\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case HostRoot:\n {\n var fiberRoot = workInProgress.stateNode;\n popHostContainer(workInProgress);\n popTopLevelContextObject(workInProgress);\n resetWorkInProgressVersions();\n\n if (fiberRoot.pendingContext) {\n fiberRoot.context = fiberRoot.pendingContext;\n fiberRoot.pendingContext = null;\n }\n\n if (current === null || current.child === null) {\n // If we hydrated, pop so that we can delete any remaining children\n // that weren't hydrated.\n var wasHydrated = popHydrationState(workInProgress);\n\n if (wasHydrated) {\n // If we hydrated, then we'll need to schedule an update for\n // the commit side-effects on the root.\n markUpdate(workInProgress);\n } else {\n if (current !== null) {\n var prevState = current.memoizedState;\n\n if ( // Check if this is a client root\n !prevState.isDehydrated || // Check if we reverted to client rendering (e.g. due to an error)\n (workInProgress.flags & ForceClientRender) !== NoFlags) {\n // Schedule an effect to clear this container at the start of the\n // next commit. This handles the case of React rendering into a\n // container with previous children. It's also safe to do for\n // updates too, because current.child would only be null if the\n // previous render was null (so the container would already\n // be empty).\n workInProgress.flags |= Snapshot; // If this was a forced client render, there may have been\n // recoverable errors during first hydration attempt. If so, add\n // them to a queue so we can log them in the commit phase.\n\n upgradeHydrationErrorsToRecoverable();\n }\n }\n }\n }\n\n updateHostContainer(current, workInProgress);\n bubbleProperties(workInProgress);\n\n return null;\n }\n\n case HostComponent:\n {\n popHostContext(workInProgress);\n var rootContainerInstance = getRootHostContainer();\n var type = workInProgress.type;\n\n if (current !== null && workInProgress.stateNode != null) {\n updateHostComponent$1(current, workInProgress, type, newProps, rootContainerInstance);\n\n if (current.ref !== workInProgress.ref) {\n markRef$1(workInProgress);\n }\n } else {\n if (!newProps) {\n if (workInProgress.stateNode === null) {\n throw new Error('We must have new props for new mounts. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n } // This can happen when we abort work.\n\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context\n // \"stack\" as the parent. Then append children as we go in beginWork\n // or completeWork depending on whether we want to add them top->down or\n // bottom->up. Top->down is faster in IE11.\n\n var _wasHydrated = popHydrationState(workInProgress);\n\n if (_wasHydrated) {\n // TODO: Move this and createInstance step into the beginPhase\n // to consolidate.\n if (prepareToHydrateHostInstance(workInProgress, rootContainerInstance, currentHostContext)) {\n // If changes to the hydrated node need to be applied at the\n // commit-phase we mark this as such.\n markUpdate(workInProgress);\n }\n } else {\n var instance = createInstance(type, newProps, rootContainerInstance, currentHostContext, workInProgress);\n appendAllChildren(instance, workInProgress, false, false);\n workInProgress.stateNode = instance; // Certain renderers require commit-time effects for initial mount.\n // (eg DOM renderer supports auto-focus for certain elements).\n // Make sure such renderers get scheduled for later work.\n\n if (finalizeInitialChildren(instance, type, newProps, rootContainerInstance)) {\n markUpdate(workInProgress);\n }\n }\n\n if (workInProgress.ref !== null) {\n // If there is a ref on a host node we need to schedule a callback\n markRef$1(workInProgress);\n }\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case HostText:\n {\n var newText = newProps;\n\n if (current && workInProgress.stateNode != null) {\n var oldText = current.memoizedProps; // If we have an alternate, that means this is an update and we need\n // to schedule a side-effect to do the updates.\n\n updateHostText$1(current, workInProgress, oldText, newText);\n } else {\n if (typeof newText !== 'string') {\n if (workInProgress.stateNode === null) {\n throw new Error('We must have new props for new mounts. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n } // This can happen when we abort work.\n\n }\n\n var _rootContainerInstance = getRootHostContainer();\n\n var _currentHostContext = getHostContext();\n\n var _wasHydrated2 = popHydrationState(workInProgress);\n\n if (_wasHydrated2) {\n if (prepareToHydrateHostTextInstance(workInProgress)) {\n markUpdate(workInProgress);\n }\n } else {\n workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext, workInProgress);\n }\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case SuspenseComponent:\n {\n popSuspenseContext(workInProgress);\n var nextState = workInProgress.memoizedState; // Special path for dehydrated boundaries. We may eventually move this\n // to its own fiber type so that we can add other kinds of hydration\n // boundaries that aren't associated with a Suspense tree. In anticipation\n // of such a refactor, all the hydration logic is contained in\n // this branch.\n\n if (current === null || current.memoizedState !== null && current.memoizedState.dehydrated !== null) {\n var fallthroughToNormalSuspensePath = completeDehydratedSuspenseBoundary(current, workInProgress, nextState);\n\n if (!fallthroughToNormalSuspensePath) {\n if (workInProgress.flags & ShouldCapture) {\n // Special case. There were remaining unhydrated nodes. We treat\n // this as a mismatch. Revert to client rendering.\n return workInProgress;\n } else {\n // Did not finish hydrating, either because this is the initial\n // render or because something suspended.\n return null;\n }\n } // Continue with the normal Suspense path.\n\n }\n\n if ((workInProgress.flags & DidCapture) !== NoFlags) {\n // Something suspended. Re-render with the fallback children.\n workInProgress.lanes = renderLanes; // Do not reset the effect list.\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n } // Don't bubble properties in this case.\n\n\n return workInProgress;\n }\n\n var nextDidTimeout = nextState !== null;\n var prevDidTimeout = current !== null && current.memoizedState !== null;\n // a passive effect, which is when we process the transitions\n\n\n if (nextDidTimeout !== prevDidTimeout) {\n // an effect to toggle the subtree's visibility. When we switch from\n // fallback -> primary, the inner Offscreen fiber schedules this effect\n // as part of its normal complete phase. But when we switch from\n // primary -> fallback, the inner Offscreen fiber does not have a complete\n // phase. So we need to schedule its effect here.\n //\n // We also use this flag to connect/disconnect the effects, but the same\n // logic applies: when re-connecting, the Offscreen fiber's complete\n // phase will handle scheduling the effect. It's only when the fallback\n // is active that we have to do anything special.\n\n\n if (nextDidTimeout) {\n var _offscreenFiber2 = workInProgress.child;\n _offscreenFiber2.flags |= Visibility; // TODO: This will still suspend a synchronous tree if anything\n // in the concurrent tree already suspended during this render.\n // This is a known bug.\n\n if ((workInProgress.mode & ConcurrentMode) !== NoMode) {\n // TODO: Move this back to throwException because this is too late\n // if this is a large tree which is common for initial loads. We\n // don't know if we should restart a render or not until we get\n // this marker, and this is too late.\n // If this render already had a ping or lower pri updates,\n // and this is the first time we know we're going to suspend we\n // should be able to immediately restart from within throwException.\n var hasInvisibleChildContext = current === null && (workInProgress.memoizedProps.unstable_avoidThisFallback !== true || !enableSuspenseAvoidThisFallback);\n\n if (hasInvisibleChildContext || hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext)) {\n // If this was in an invisible tree or a new render, then showing\n // this boundary is ok.\n renderDidSuspend();\n } else {\n // Otherwise, we're going to have to hide content so we should\n // suspend for longer if possible.\n renderDidSuspendDelayIfPossible();\n }\n }\n }\n }\n\n var wakeables = workInProgress.updateQueue;\n\n if (wakeables !== null) {\n // Schedule an effect to attach a retry listener to the promise.\n // TODO: Move to passive phase\n workInProgress.flags |= Update;\n }\n\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n if (nextDidTimeout) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var primaryChildFragment = workInProgress.child;\n\n if (primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return null;\n }\n\n case HostPortal:\n popHostContainer(workInProgress);\n updateHostContainer(current, workInProgress);\n\n if (current === null) {\n preparePortalMount(workInProgress.stateNode.containerInfo);\n }\n\n bubbleProperties(workInProgress);\n return null;\n\n case ContextProvider:\n // Pop provider fiber\n var context = workInProgress.type._context;\n popProvider(context, workInProgress);\n bubbleProperties(workInProgress);\n return null;\n\n case IncompleteClassComponent:\n {\n // Same as class component case. I put it down here so that the tags are\n // sequential to ensure this switch is compiled to a jump table.\n var _Component = workInProgress.type;\n\n if (isContextProvider(_Component)) {\n popContext(workInProgress);\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case SuspenseListComponent:\n {\n popSuspenseContext(workInProgress);\n var renderState = workInProgress.memoizedState;\n\n if (renderState === null) {\n // We're running in the default, \"independent\" mode.\n // We don't do anything in this mode.\n bubbleProperties(workInProgress);\n return null;\n }\n\n var didSuspendAlready = (workInProgress.flags & DidCapture) !== NoFlags;\n var renderedTail = renderState.rendering;\n\n if (renderedTail === null) {\n // We just rendered the head.\n if (!didSuspendAlready) {\n // This is the first pass. We need to figure out if anything is still\n // suspended in the rendered set.\n // If new content unsuspended, but there's still some content that\n // didn't. Then we need to do a second pass that forces everything\n // to keep showing their fallbacks.\n // We might be suspended if something in this render pass suspended, or\n // something in the previous committed pass suspended. Otherwise,\n // there's no chance so we can skip the expensive call to\n // findFirstSuspended.\n var cannotBeSuspended = renderHasNotSuspendedYet() && (current === null || (current.flags & DidCapture) === NoFlags);\n\n if (!cannotBeSuspended) {\n var row = workInProgress.child;\n\n while (row !== null) {\n var suspended = findFirstSuspended(row);\n\n if (suspended !== null) {\n didSuspendAlready = true;\n workInProgress.flags |= DidCapture;\n cutOffTailIfNeeded(renderState, false); // If this is a newly suspended tree, it might not get committed as\n // part of the second pass. In that case nothing will subscribe to\n // its thenables. Instead, we'll transfer its thenables to the\n // SuspenseList so that it can retry if they resolve.\n // There might be multiple of these in the list but since we're\n // going to wait for all of them anyway, it doesn't really matter\n // which ones gets to ping. In theory we could get clever and keep\n // track of how many dependencies remain but it gets tricky because\n // in the meantime, we can add/remove/change items and dependencies.\n // We might bail out of the loop before finding any but that\n // doesn't matter since that means that the other boundaries that\n // we did find already has their listeners attached.\n\n var newThenables = suspended.updateQueue;\n\n if (newThenables !== null) {\n workInProgress.updateQueue = newThenables;\n workInProgress.flags |= Update;\n } // Rerender the whole list, but this time, we'll force fallbacks\n // to stay in place.\n // Reset the effect flags before doing the second pass since that's now invalid.\n // Reset the child fibers to their original state.\n\n\n workInProgress.subtreeFlags = NoFlags;\n resetChildFibers(workInProgress, renderLanes); // Set up the Suspense Context to force suspense and immediately\n // rerender the children.\n\n pushSuspenseContext(workInProgress, setShallowSuspenseContext(suspenseStackCursor.current, ForceSuspenseFallback)); // Don't bubble properties in this case.\n\n return workInProgress.child;\n }\n\n row = row.sibling;\n }\n }\n\n if (renderState.tail !== null && now() > getRenderTargetTime()) {\n // We have already passed our CPU deadline but we still have rows\n // left in the tail. We'll just give up further attempts to render\n // the main content and only render fallbacks.\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true;\n cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this\n // to get it started back up to attempt the next item. While in terms\n // of priority this work has the same priority as this current render,\n // it's not part of the same transition once the transition has\n // committed. If it's sync, we still want to yield so that it can be\n // painted. Conceptually, this is really the same as pinging.\n // We can use any RetryLane even if it's the one currently rendering\n // since we're leaving it behind on this node.\n\n workInProgress.lanes = SomeRetryLane;\n }\n } else {\n cutOffTailIfNeeded(renderState, false);\n } // Next we're going to render the tail.\n\n } else {\n // Append the rendered row to the child list.\n if (!didSuspendAlready) {\n var _suspended = findFirstSuspended(renderedTail);\n\n if (_suspended !== null) {\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true; // Ensure we transfer the update queue to the parent so that it doesn't\n // get lost if this row ends up dropped during a second pass.\n\n var _newThenables = _suspended.updateQueue;\n\n if (_newThenables !== null) {\n workInProgress.updateQueue = _newThenables;\n workInProgress.flags |= Update;\n }\n\n cutOffTailIfNeeded(renderState, true); // This might have been modified.\n\n if (renderState.tail === null && renderState.tailMode === 'hidden' && !renderedTail.alternate && !getIsHydrating() // We don't cut it if we're hydrating.\n ) {\n // We're done.\n bubbleProperties(workInProgress);\n return null;\n }\n } else if ( // The time it took to render last row is greater than the remaining\n // time we have to render. So rendering one more row would likely\n // exceed it.\n now() * 2 - renderState.renderingStartTime > getRenderTargetTime() && renderLanes !== OffscreenLane) {\n // We have now passed our CPU deadline and we'll just give up further\n // attempts to render the main content and only render fallbacks.\n // The assumption is that this is usually faster.\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true;\n cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this\n // to get it started back up to attempt the next item. While in terms\n // of priority this work has the same priority as this current render,\n // it's not part of the same transition once the transition has\n // committed. If it's sync, we still want to yield so that it can be\n // painted. Conceptually, this is really the same as pinging.\n // We can use any RetryLane even if it's the one currently rendering\n // since we're leaving it behind on this node.\n\n workInProgress.lanes = SomeRetryLane;\n }\n }\n\n if (renderState.isBackwards) {\n // The effect list of the backwards tail will have been added\n // to the end. This breaks the guarantee that life-cycles fire in\n // sibling order but that isn't a strong guarantee promised by React.\n // Especially since these might also just pop in during future commits.\n // Append to the beginning of the list.\n renderedTail.sibling = workInProgress.child;\n workInProgress.child = renderedTail;\n } else {\n var previousSibling = renderState.last;\n\n if (previousSibling !== null) {\n previousSibling.sibling = renderedTail;\n } else {\n workInProgress.child = renderedTail;\n }\n\n renderState.last = renderedTail;\n }\n }\n\n if (renderState.tail !== null) {\n // We still have tail rows to render.\n // Pop a row.\n var next = renderState.tail;\n renderState.rendering = next;\n renderState.tail = next.sibling;\n renderState.renderingStartTime = now();\n next.sibling = null; // Restore the context.\n // TODO: We can probably just avoid popping it instead and only\n // setting it the first time we go from not suspended to suspended.\n\n var suspenseContext = suspenseStackCursor.current;\n\n if (didSuspendAlready) {\n suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);\n } else {\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n }\n\n pushSuspenseContext(workInProgress, suspenseContext); // Do a pass over the next row.\n // Don't bubble properties in this case.\n\n return next;\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case ScopeComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n {\n popRenderLanes(workInProgress);\n var _nextState = workInProgress.memoizedState;\n var nextIsHidden = _nextState !== null;\n\n if (current !== null) {\n var _prevState = current.memoizedState;\n var prevIsHidden = _prevState !== null;\n\n if (prevIsHidden !== nextIsHidden && ( // LegacyHidden doesn't do any hiding — it only pre-renders.\n !enableLegacyHidden )) {\n workInProgress.flags |= Visibility;\n }\n }\n\n if (!nextIsHidden || (workInProgress.mode & ConcurrentMode) === NoMode) {\n bubbleProperties(workInProgress);\n } else {\n // Don't bubble properties for hidden children unless we're rendering\n // at offscreen priority.\n if (includesSomeLane(subtreeRenderLanes, OffscreenLane)) {\n bubbleProperties(workInProgress);\n\n {\n // Check if there was an insertion or update in the hidden subtree.\n // If so, we need to hide those nodes in the commit phase, so\n // schedule a visibility effect.\n if ( workInProgress.subtreeFlags & (Placement | Update)) {\n workInProgress.flags |= Visibility;\n }\n }\n }\n }\n return null;\n }\n\n case CacheComponent:\n {\n\n return null;\n }\n\n case TracingMarkerComponent:\n {\n\n return null;\n }\n }\n\n throw new Error(\"Unknown unit of work tag (\" + workInProgress.tag + \"). This error is likely caused by a bug in \" + 'React. Please file an issue.');\n}\n\nfunction unwindWork(current, workInProgress, renderLanes) {\n // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n popTreeContext(workInProgress);\n\n switch (workInProgress.tag) {\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n popContext(workInProgress);\n }\n\n var flags = workInProgress.flags;\n\n if (flags & ShouldCapture) {\n workInProgress.flags = flags & ~ShouldCapture | DidCapture;\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n }\n\n return workInProgress;\n }\n\n return null;\n }\n\n case HostRoot:\n {\n var root = workInProgress.stateNode;\n popHostContainer(workInProgress);\n popTopLevelContextObject(workInProgress);\n resetWorkInProgressVersions();\n var _flags = workInProgress.flags;\n\n if ((_flags & ShouldCapture) !== NoFlags && (_flags & DidCapture) === NoFlags) {\n // There was an error during render that wasn't captured by a suspense\n // boundary. Do a second pass on the root to unmount the children.\n workInProgress.flags = _flags & ~ShouldCapture | DidCapture;\n return workInProgress;\n } // We unwound to the root without completing it. Exit.\n\n\n return null;\n }\n\n case HostComponent:\n {\n // TODO: popHydrationState\n popHostContext(workInProgress);\n return null;\n }\n\n case SuspenseComponent:\n {\n popSuspenseContext(workInProgress);\n var suspenseState = workInProgress.memoizedState;\n\n if (suspenseState !== null && suspenseState.dehydrated !== null) {\n if (workInProgress.alternate === null) {\n throw new Error('Threw in newly mounted dehydrated component. This is likely a bug in ' + 'React. Please file an issue.');\n }\n\n resetHydrationState();\n }\n\n var _flags2 = workInProgress.flags;\n\n if (_flags2 & ShouldCapture) {\n workInProgress.flags = _flags2 & ~ShouldCapture | DidCapture; // Captured a suspense effect. Re-render the boundary.\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n }\n\n return workInProgress;\n }\n\n return null;\n }\n\n case SuspenseListComponent:\n {\n popSuspenseContext(workInProgress); // SuspenseList doesn't actually catch anything. It should've been\n // caught by a nested boundary. If not, it should bubble through.\n\n return null;\n }\n\n case HostPortal:\n popHostContainer(workInProgress);\n return null;\n\n case ContextProvider:\n var context = workInProgress.type._context;\n popProvider(context, workInProgress);\n return null;\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n popRenderLanes(workInProgress);\n return null;\n\n case CacheComponent:\n\n return null;\n\n default:\n return null;\n }\n}\n\nfunction unwindInterruptedWork(current, interruptedWork, renderLanes) {\n // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n popTreeContext(interruptedWork);\n\n switch (interruptedWork.tag) {\n case ClassComponent:\n {\n var childContextTypes = interruptedWork.type.childContextTypes;\n\n if (childContextTypes !== null && childContextTypes !== undefined) {\n popContext(interruptedWork);\n }\n\n break;\n }\n\n case HostRoot:\n {\n var root = interruptedWork.stateNode;\n popHostContainer(interruptedWork);\n popTopLevelContextObject(interruptedWork);\n resetWorkInProgressVersions();\n break;\n }\n\n case HostComponent:\n {\n popHostContext(interruptedWork);\n break;\n }\n\n case HostPortal:\n popHostContainer(interruptedWork);\n break;\n\n case SuspenseComponent:\n popSuspenseContext(interruptedWork);\n break;\n\n case SuspenseListComponent:\n popSuspenseContext(interruptedWork);\n break;\n\n case ContextProvider:\n var context = interruptedWork.type._context;\n popProvider(context, interruptedWork);\n break;\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n popRenderLanes(interruptedWork);\n break;\n }\n}\n\nvar didWarnAboutUndefinedSnapshotBeforeUpdate = null;\n\n{\n didWarnAboutUndefinedSnapshotBeforeUpdate = new Set();\n} // Used during the commit phase to track the state of the Offscreen component stack.\n// Allows us to avoid traversing the return path to find the nearest Offscreen ancestor.\n// Only used when enableSuspenseLayoutEffectSemantics is enabled.\n\n\nvar offscreenSubtreeIsHidden = false;\nvar offscreenSubtreeWasHidden = false;\nvar PossiblyWeakSet = typeof WeakSet === 'function' ? WeakSet : Set;\nvar nextEffect = null; // Used for Profiling builds to track updaters.\n\nvar inProgressLanes = null;\nvar inProgressRoot = null;\nfunction reportUncaughtErrorInDEV(error) {\n // Wrapping each small part of the commit phase into a guarded\n // callback is a bit too slow (https://github.com/facebook/react/pull/21666).\n // But we rely on it to surface errors to DEV tools like overlays\n // (https://github.com/facebook/react/issues/21712).\n // As a compromise, rethrow only caught errors in a guard.\n {\n invokeGuardedCallback(null, function () {\n throw error;\n });\n clearCaughtError();\n }\n}\n\nvar callComponentWillUnmountWithTimer = function (current, instance) {\n instance.props = current.memoizedProps;\n instance.state = current.memoizedState;\n\n if ( current.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentWillUnmount();\n } finally {\n recordLayoutEffectDuration(current);\n }\n } else {\n instance.componentWillUnmount();\n }\n}; // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyCallCommitHookLayoutEffectListMount(current, nearestMountedAncestor) {\n try {\n commitHookEffectListMount(Layout, current);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt unmounting.\n\n\nfunction safelyCallComponentWillUnmount(current, nearestMountedAncestor, instance) {\n try {\n callComponentWillUnmountWithTimer(current, instance);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyCallComponentDidMount(current, nearestMountedAncestor, instance) {\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyAttachRef(current, nearestMountedAncestor) {\n try {\n commitAttachRef(current);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\n\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref;\n\n if (ref !== null) {\n if (typeof ref === 'function') {\n var retVal;\n\n try {\n if (enableProfilerTimer && enableProfilerCommitHooks && current.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n retVal = ref(null);\n } finally {\n recordLayoutEffectDuration(current);\n }\n } else {\n retVal = ref(null);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n\n {\n if (typeof retVal === 'function') {\n error('Unexpected return value from a callback ref in %s. ' + 'A callback ref should not return a function.', getComponentNameFromFiber(current));\n }\n }\n } else {\n ref.current = null;\n }\n }\n}\n\nfunction safelyCallDestroy(current, nearestMountedAncestor, destroy) {\n try {\n destroy();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\n\nvar focusedInstanceHandle = null;\nvar shouldFireAfterActiveInstanceBlur = false;\nfunction commitBeforeMutationEffects(root, firstChild) {\n focusedInstanceHandle = prepareForCommit(root.containerInfo);\n nextEffect = firstChild;\n commitBeforeMutationEffects_begin(); // We no longer need to track the active instance fiber\n\n var shouldFire = shouldFireAfterActiveInstanceBlur;\n shouldFireAfterActiveInstanceBlur = false;\n focusedInstanceHandle = null;\n return shouldFire;\n}\n\nfunction commitBeforeMutationEffects_begin() {\n while (nextEffect !== null) {\n var fiber = nextEffect; // This phase is only used for beforeActiveInstanceBlur.\n\n var child = fiber.child;\n\n if ((fiber.subtreeFlags & BeforeMutationMask) !== NoFlags && child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitBeforeMutationEffects_complete();\n }\n }\n}\n\nfunction commitBeforeMutationEffects_complete() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n setCurrentFiber(fiber);\n\n try {\n commitBeforeMutationEffectsOnFiber(fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitBeforeMutationEffectsOnFiber(finishedWork) {\n var current = finishedWork.alternate;\n var flags = finishedWork.flags;\n\n if ((flags & Snapshot) !== NoFlags) {\n setCurrentFiber(finishedWork);\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n break;\n }\n\n case ClassComponent:\n {\n if (current !== null) {\n var prevProps = current.memoizedProps;\n var prevState = current.memoizedState;\n var instance = finishedWork.stateNode; // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState);\n\n {\n var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate;\n\n if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) {\n didWarnSet.add(finishedWork.type);\n\n error('%s.getSnapshotBeforeUpdate(): A snapshot value (or null) ' + 'must be returned. You have returned undefined.', getComponentNameFromFiber(finishedWork));\n }\n }\n\n instance.__reactInternalSnapshotBeforeUpdate = snapshot;\n }\n\n break;\n }\n\n case HostRoot:\n {\n {\n var root = finishedWork.stateNode;\n clearContainer(root.containerInfo);\n }\n\n break;\n }\n\n case HostComponent:\n case HostText:\n case HostPortal:\n case IncompleteClassComponent:\n // Nothing to do for these component types\n break;\n\n default:\n {\n throw new Error('This unit of work tag should not have side-effects. This error is ' + 'likely caused by a bug in React. Please file an issue.');\n }\n }\n\n resetCurrentFiber();\n }\n}\n\nfunction commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) {\n var updateQueue = finishedWork.updateQueue;\n var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n if ((effect.tag & flags) === flags) {\n // Unmount\n var destroy = effect.destroy;\n effect.destroy = undefined;\n\n if (destroy !== undefined) {\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectUnmountStarted(finishedWork);\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectUnmountStarted(finishedWork);\n }\n }\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(true);\n }\n }\n\n safelyCallDestroy(finishedWork, nearestMountedAncestor, destroy);\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(false);\n }\n }\n\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectUnmountStopped();\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectUnmountStopped();\n }\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n}\n\nfunction commitHookEffectListMount(flags, finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n if ((effect.tag & flags) === flags) {\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectMountStarted(finishedWork);\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectMountStarted(finishedWork);\n }\n } // Mount\n\n\n var create = effect.create;\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(true);\n }\n }\n\n effect.destroy = create();\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(false);\n }\n }\n\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectMountStopped();\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectMountStopped();\n }\n }\n\n {\n var destroy = effect.destroy;\n\n if (destroy !== undefined && typeof destroy !== 'function') {\n var hookName = void 0;\n\n if ((effect.tag & Layout) !== NoFlags) {\n hookName = 'useLayoutEffect';\n } else if ((effect.tag & Insertion) !== NoFlags) {\n hookName = 'useInsertionEffect';\n } else {\n hookName = 'useEffect';\n }\n\n var addendum = void 0;\n\n if (destroy === null) {\n addendum = ' You returned null. If your effect does not require clean ' + 'up, return undefined (or nothing).';\n } else if (typeof destroy.then === 'function') {\n addendum = '\\n\\nIt looks like you wrote ' + hookName + '(async () => ...) or returned a Promise. ' + 'Instead, write the async function inside your effect ' + 'and call it immediately:\\n\\n' + hookName + '(() => {\\n' + ' async function fetchData() {\\n' + ' // You can await here\\n' + ' const response = await MyAPI.getData(someId);\\n' + ' // ...\\n' + ' }\\n' + ' fetchData();\\n' + \"}, [someId]); // Or [] if effect doesn't need props or state\\n\\n\" + 'Learn more about data fetching with Hooks: https://reactjs.org/link/hooks-data-fetching';\n } else {\n addendum = ' You returned: ' + destroy;\n }\n\n error('%s must not return anything besides a function, ' + 'which is used for clean-up.%s', hookName, addendum);\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n}\n\nfunction commitPassiveEffectDurations(finishedRoot, finishedWork) {\n {\n // Only Profilers with work in their subtree will have an Update effect scheduled.\n if ((finishedWork.flags & Update) !== NoFlags) {\n switch (finishedWork.tag) {\n case Profiler:\n {\n var passiveEffectDuration = finishedWork.stateNode.passiveEffectDuration;\n var _finishedWork$memoize = finishedWork.memoizedProps,\n id = _finishedWork$memoize.id,\n onPostCommit = _finishedWork$memoize.onPostCommit; // This value will still reflect the previous commit phase.\n // It does not get reset until the start of the next commit phase.\n\n var commitTime = getCommitTime();\n var phase = finishedWork.alternate === null ? 'mount' : 'update';\n\n {\n if (isCurrentUpdateNested()) {\n phase = 'nested-update';\n }\n }\n\n if (typeof onPostCommit === 'function') {\n onPostCommit(id, phase, passiveEffectDuration, commitTime);\n } // Bubble times to the next nearest ancestor Profiler.\n // After we process that Profiler, we'll bubble further up.\n\n\n var parentFiber = finishedWork.return;\n\n outer: while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.passiveEffectDuration += passiveEffectDuration;\n break outer;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.passiveEffectDuration += passiveEffectDuration;\n break outer;\n }\n\n parentFiber = parentFiber.return;\n }\n\n break;\n }\n }\n }\n }\n}\n\nfunction commitLayoutEffectOnFiber(finishedRoot, current, finishedWork, committedLanes) {\n if ((finishedWork.flags & LayoutMask) !== NoFlags) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( !offscreenSubtreeWasHidden) {\n // At this point layout effects have already been destroyed (during mutation phase).\n // This is done to prevent sibling component effects from interfering with each other,\n // e.g. a destroy function in one component should never override a ref set\n // by a create function in another component during the same commit.\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListMount(Layout | HasEffect, finishedWork);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n commitHookEffectListMount(Layout | HasEffect, finishedWork);\n }\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = finishedWork.stateNode;\n\n if (finishedWork.flags & Update) {\n if (!offscreenSubtreeWasHidden) {\n if (current === null) {\n // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentDidMount();\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n instance.componentDidMount();\n }\n } else {\n var prevProps = finishedWork.elementType === finishedWork.type ? current.memoizedProps : resolveDefaultProps(finishedWork.type, current.memoizedProps);\n var prevState = current.memoizedState; // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);\n }\n }\n }\n } // TODO: I think this is now always non-null by the time it reaches the\n // commit phase. Consider removing the type check.\n\n\n var updateQueue = finishedWork.updateQueue;\n\n if (updateQueue !== null) {\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n } // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n\n commitUpdateQueue(finishedWork, updateQueue, instance);\n }\n\n break;\n }\n\n case HostRoot:\n {\n // TODO: I think this is now always non-null by the time it reaches the\n // commit phase. Consider removing the type check.\n var _updateQueue = finishedWork.updateQueue;\n\n if (_updateQueue !== null) {\n var _instance = null;\n\n if (finishedWork.child !== null) {\n switch (finishedWork.child.tag) {\n case HostComponent:\n _instance = getPublicInstance(finishedWork.child.stateNode);\n break;\n\n case ClassComponent:\n _instance = finishedWork.child.stateNode;\n break;\n }\n }\n\n commitUpdateQueue(finishedWork, _updateQueue, _instance);\n }\n\n break;\n }\n\n case HostComponent:\n {\n var _instance2 = finishedWork.stateNode; // Renderers may schedule work to be done after host components are mounted\n // (eg DOM renderer may schedule auto-focus for inputs and form controls).\n // These effects should only be committed when components are first mounted,\n // aka when there is no current/alternate.\n\n if (current === null && finishedWork.flags & Update) {\n var type = finishedWork.type;\n var props = finishedWork.memoizedProps;\n commitMount(_instance2, type, props);\n }\n\n break;\n }\n\n case HostText:\n {\n // We have no life-cycles associated with text.\n break;\n }\n\n case HostPortal:\n {\n // We have no life-cycles associated with portals.\n break;\n }\n\n case Profiler:\n {\n {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n onCommit = _finishedWork$memoize2.onCommit,\n onRender = _finishedWork$memoize2.onRender;\n var effectDuration = finishedWork.stateNode.effectDuration;\n var commitTime = getCommitTime();\n var phase = current === null ? 'mount' : 'update';\n\n {\n if (isCurrentUpdateNested()) {\n phase = 'nested-update';\n }\n }\n\n if (typeof onRender === 'function') {\n onRender(finishedWork.memoizedProps.id, phase, finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, commitTime);\n }\n\n {\n if (typeof onCommit === 'function') {\n onCommit(finishedWork.memoizedProps.id, phase, effectDuration, commitTime);\n } // Schedule a passive effect for this Profiler to call onPostCommit hooks.\n // This effect should be scheduled even if there is no onPostCommit callback for this Profiler,\n // because the effect is also where times bubble to parent Profilers.\n\n\n enqueuePendingPassiveProfilerEffect(finishedWork); // Propagate layout effect durations to the next nearest Profiler ancestor.\n // Do not reset these values until the next render so DevTools has a chance to read them first.\n\n var parentFiber = finishedWork.return;\n\n outer: while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.effectDuration += effectDuration;\n break outer;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.effectDuration += effectDuration;\n break outer;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n }\n\n case SuspenseListComponent:\n case IncompleteClassComponent:\n case ScopeComponent:\n case OffscreenComponent:\n case LegacyHiddenComponent:\n case TracingMarkerComponent:\n {\n break;\n }\n\n default:\n throw new Error('This unit of work tag should not have side-effects. This error is ' + 'likely caused by a bug in React. Please file an issue.');\n }\n }\n\n if ( !offscreenSubtreeWasHidden) {\n {\n if (finishedWork.flags & Ref) {\n commitAttachRef(finishedWork);\n }\n }\n }\n}\n\nfunction reappearLayoutEffectsOnFiber(node) {\n // Turn on layout effects in a tree that previously disappeared.\n // TODO (Offscreen) Check: flags & LayoutStatic\n switch (node.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( node.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n safelyCallCommitHookLayoutEffectListMount(node, node.return);\n } finally {\n recordLayoutEffectDuration(node);\n }\n } else {\n safelyCallCommitHookLayoutEffectListMount(node, node.return);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = node.stateNode;\n\n if (typeof instance.componentDidMount === 'function') {\n safelyCallComponentDidMount(node, node.return, instance);\n }\n\n safelyAttachRef(node, node.return);\n break;\n }\n\n case HostComponent:\n {\n safelyAttachRef(node, node.return);\n break;\n }\n }\n}\n\nfunction hideOrUnhideAllChildren(finishedWork, isHidden) {\n // Only hide or unhide the top-most host nodes.\n var hostSubtreeRoot = null;\n\n {\n // We only have the top Fiber that was inserted but we need to recurse down its\n // children to find all the terminal nodes.\n var node = finishedWork;\n\n while (true) {\n if (node.tag === HostComponent) {\n if (hostSubtreeRoot === null) {\n hostSubtreeRoot = node;\n\n try {\n var instance = node.stateNode;\n\n if (isHidden) {\n hideInstance(instance);\n } else {\n unhideInstance(node.stateNode, node.memoizedProps);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n } else if (node.tag === HostText) {\n if (hostSubtreeRoot === null) {\n try {\n var _instance3 = node.stateNode;\n\n if (isHidden) {\n hideTextInstance(_instance3);\n } else {\n unhideTextInstance(_instance3, node.memoizedProps);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n } else if ((node.tag === OffscreenComponent || node.tag === LegacyHiddenComponent) && node.memoizedState !== null && node !== finishedWork) ; else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === finishedWork) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === finishedWork) {\n return;\n }\n\n if (hostSubtreeRoot === node) {\n hostSubtreeRoot = null;\n }\n\n node = node.return;\n }\n\n if (hostSubtreeRoot === node) {\n hostSubtreeRoot = null;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n}\n\nfunction commitAttachRef(finishedWork) {\n var ref = finishedWork.ref;\n\n if (ref !== null) {\n var instance = finishedWork.stateNode;\n var instanceToUse;\n\n switch (finishedWork.tag) {\n case HostComponent:\n instanceToUse = getPublicInstance(instance);\n break;\n\n default:\n instanceToUse = instance;\n } // Moved outside to ensure DCE works with this flag\n\n if (typeof ref === 'function') {\n var retVal;\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n retVal = ref(instanceToUse);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n retVal = ref(instanceToUse);\n }\n\n {\n if (typeof retVal === 'function') {\n error('Unexpected return value from a callback ref in %s. ' + 'A callback ref should not return a function.', getComponentNameFromFiber(finishedWork));\n }\n }\n } else {\n {\n if (!ref.hasOwnProperty('current')) {\n error('Unexpected ref object provided for %s. ' + 'Use either a ref-setter function or React.createRef().', getComponentNameFromFiber(finishedWork));\n }\n }\n\n ref.current = instanceToUse;\n }\n }\n}\n\nfunction detachFiberMutation(fiber) {\n // Cut off the return pointer to disconnect it from the tree.\n // This enables us to detect and warn against state updates on an unmounted component.\n // It also prevents events from bubbling from within disconnected components.\n //\n // Ideally, we should also clear the child pointer of the parent alternate to let this\n // get GC:ed but we don't know which for sure which parent is the current\n // one so we'll settle for GC:ing the subtree of this child.\n // This child itself will be GC:ed when the parent updates the next time.\n //\n // Note that we can't clear child or sibling pointers yet.\n // They're needed for passive effects and for findDOMNode.\n // We defer those fields, and all other cleanup, to the passive phase (see detachFiberAfterEffects).\n //\n // Don't reset the alternate yet, either. We need that so we can detach the\n // alternate's fields in the passive phase. Clearing the return pointer is\n // sufficient for findDOMNode semantics.\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.return = null;\n }\n\n fiber.return = null;\n}\n\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n fiber.alternate = null;\n detachFiberAfterEffects(alternate);\n } // Note: Defensively using negation instead of < in case\n // `deletedTreeCleanUpLevel` is undefined.\n\n\n {\n // Clear cyclical Fiber fields. This level alone is designed to roughly\n // approximate the planned Fiber refactor. In that world, `setState` will be\n // bound to a special \"instance\" object instead of a Fiber. The Instance\n // object will not have any of these fields. It will only be connected to\n // the fiber tree via a single link at the root. So if this level alone is\n // sufficient to fix memory issues, that bodes well for our plans.\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null; // The `stateNode` is cyclical because on host nodes it points to the host\n // tree, which has its own pointers to children, parents, and siblings.\n // The other host nodes also point back to fibers, so we should detach that\n // one, too.\n\n if (fiber.tag === HostComponent) {\n var hostInstance = fiber.stateNode;\n\n if (hostInstance !== null) {\n detachDeletedInstance(hostInstance);\n }\n }\n\n fiber.stateNode = null; // I'm intentionally not clearing the `return` field in this level. We\n // already disconnect the `return` pointer at the root of the deleted\n // subtree (in `detachFiberMutation`). Besides, `return` by itself is not\n // cyclical — it's only cyclical when combined with `child`, `sibling`, and\n // `alternate`. But we'll clear it in the next level anyway, just in case.\n\n {\n fiber._debugOwner = null;\n }\n\n {\n // Theoretically, nothing in here should be necessary, because we already\n // disconnected the fiber from the tree. So even if something leaks this\n // particular fiber, it won't leak anything else\n //\n // The purpose of this branch is to be super aggressive so we can measure\n // if there's any difference in memory impact. If there is, that could\n // indicate a React leak we don't know about.\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null; // TODO: Move to `commitPassiveUnmountInsideDeletedTreeOnFiber` instead.\n\n fiber.updateQueue = null;\n }\n }\n}\n\nfunction getHostParentFiber(fiber) {\n var parent = fiber.return;\n\n while (parent !== null) {\n if (isHostParent(parent)) {\n return parent;\n }\n\n parent = parent.return;\n }\n\n throw new Error('Expected to find a host parent. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n}\n\nfunction isHostParent(fiber) {\n return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal;\n}\n\nfunction getHostSibling(fiber) {\n // We're going to search forward into the tree until we find a sibling host\n // node. Unfortunately, if multiple insertions are done in a row we have to\n // search past them. This leads to exponential search for the next sibling.\n // TODO: Find a more efficient way to do this.\n var node = fiber;\n\n siblings: while (true) {\n // If we didn't find anything, let's try the next sibling.\n while (node.sibling === null) {\n if (node.return === null || isHostParent(node.return)) {\n // If we pop out of the root or hit the parent the fiber we are the\n // last sibling.\n return null;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n\n while (node.tag !== HostComponent && node.tag !== HostText && node.tag !== DehydratedFragment) {\n // If it is not host node and, we might have a host node inside it.\n // Try to search down until we find one.\n if (node.flags & Placement) {\n // If we don't have a child, try the siblings instead.\n continue siblings;\n } // If we don't have a child, try the siblings instead.\n // We also skip portals because they are not part of this host tree.\n\n\n if (node.child === null || node.tag === HostPortal) {\n continue siblings;\n } else {\n node.child.return = node;\n node = node.child;\n }\n } // Check if this host node is stable or about to be placed.\n\n\n if (!(node.flags & Placement)) {\n // Found it!\n return node.stateNode;\n }\n }\n}\n\nfunction commitPlacement(finishedWork) {\n\n\n var parentFiber = getHostParentFiber(finishedWork); // Note: these two variables *must* always be updated together.\n\n switch (parentFiber.tag) {\n case HostComponent:\n {\n var parent = parentFiber.stateNode;\n\n if (parentFiber.flags & ContentReset) {\n // Reset the text content of the parent before doing any insertions\n resetTextContent(parent); // Clear ContentReset from the effect tag\n\n parentFiber.flags &= ~ContentReset;\n }\n\n var before = getHostSibling(finishedWork); // We only have the top Fiber that was inserted but we need to recurse down its\n // children to find all the terminal nodes.\n\n insertOrAppendPlacementNode(finishedWork, before, parent);\n break;\n }\n\n case HostRoot:\n case HostPortal:\n {\n var _parent = parentFiber.stateNode.containerInfo;\n\n var _before = getHostSibling(finishedWork);\n\n insertOrAppendPlacementNodeIntoContainer(finishedWork, _before, _parent);\n break;\n }\n // eslint-disable-next-line-no-fallthrough\n\n default:\n throw new Error('Invalid host parent fiber. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n }\n}\n\nfunction insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n var isHost = tag === HostComponent || tag === HostText;\n\n if (isHost) {\n var stateNode = node.stateNode;\n\n if (before) {\n insertInContainerBefore(parent, stateNode, before);\n } else {\n appendChildToContainer(parent, stateNode);\n }\n } else if (tag === HostPortal) ; else {\n var child = node.child;\n\n if (child !== null) {\n insertOrAppendPlacementNodeIntoContainer(child, before, parent);\n var sibling = child.sibling;\n\n while (sibling !== null) {\n insertOrAppendPlacementNodeIntoContainer(sibling, before, parent);\n sibling = sibling.sibling;\n }\n }\n }\n}\n\nfunction insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n var isHost = tag === HostComponent || tag === HostText;\n\n if (isHost) {\n var stateNode = node.stateNode;\n\n if (before) {\n insertBefore(parent, stateNode, before);\n } else {\n appendChild(parent, stateNode);\n }\n } else if (tag === HostPortal) ; else {\n var child = node.child;\n\n if (child !== null) {\n insertOrAppendPlacementNode(child, before, parent);\n var sibling = child.sibling;\n\n while (sibling !== null) {\n insertOrAppendPlacementNode(sibling, before, parent);\n sibling = sibling.sibling;\n }\n }\n }\n} // These are tracked on the stack as we recursively traverse a\n// deleted subtree.\n// TODO: Update these during the whole mutation phase, not just during\n// a deletion.\n\n\nvar hostParent = null;\nvar hostParentIsContainer = false;\n\nfunction commitDeletionEffects(root, returnFiber, deletedFiber) {\n {\n // We only have the top Fiber that was deleted but we need to recurse down its\n // children to find all the terminal nodes.\n // Recursively delete all host nodes from the parent, detach refs, clean\n // up mounted layout effects, and call componentWillUnmount.\n // We only need to remove the topmost host child in each branch. But then we\n // still need to keep traversing to unmount effects, refs, and cWU. TODO: We\n // could split this into two separate traversals functions, where the second\n // one doesn't include any removeChild logic. This is maybe the same\n // function as \"disappearLayoutEffects\" (or whatever that turns into after\n // the layout phase is refactored to use recursion).\n // Before starting, find the nearest host parent on the stack so we know\n // which instance/container to remove the children from.\n // TODO: Instead of searching up the fiber return path on every deletion, we\n // can track the nearest host component on the JS stack as we traverse the\n // tree during the commit phase. This would make insertions faster, too.\n var parent = returnFiber;\n\n findParent: while (parent !== null) {\n switch (parent.tag) {\n case HostComponent:\n {\n hostParent = parent.stateNode;\n hostParentIsContainer = false;\n break findParent;\n }\n\n case HostRoot:\n {\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = true;\n break findParent;\n }\n\n case HostPortal:\n {\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = true;\n break findParent;\n }\n }\n\n parent = parent.return;\n }\n\n if (hostParent === null) {\n throw new Error('Expected to find a host parent. This error is likely caused by ' + 'a bug in React. Please file an issue.');\n }\n\n commitDeletionEffectsOnFiber(root, returnFiber, deletedFiber);\n hostParent = null;\n hostParentIsContainer = false;\n }\n\n detachFiberMutation(deletedFiber);\n}\n\nfunction recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) {\n // TODO: Use a static flag to skip trees that don't have unmount effects\n var child = parent.child;\n\n while (child !== null) {\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, child);\n child = child.sibling;\n }\n}\n\nfunction commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) {\n onCommitUnmount(deletedFiber); // The cases in this outer switch modify the stack before they traverse\n // into their subtree. There are simpler cases in the inner switch\n // that don't modify the stack.\n\n switch (deletedFiber.tag) {\n case HostComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n } // Intentional fallthrough to next branch\n\n }\n // eslint-disable-next-line-no-fallthrough\n\n case HostText:\n {\n // We only need to remove the nearest host child. Set the host parent\n // to `null` on the stack to indicate that nested children don't\n // need to be removed.\n {\n var prevHostParent = hostParent;\n var prevHostParentIsContainer = hostParentIsContainer;\n hostParent = null;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n\n if (hostParent !== null) {\n // Now that all the child effects have unmounted, we can remove the\n // node from the tree.\n if (hostParentIsContainer) {\n removeChildFromContainer(hostParent, deletedFiber.stateNode);\n } else {\n removeChild(hostParent, deletedFiber.stateNode);\n }\n }\n }\n\n return;\n }\n\n case DehydratedFragment:\n {\n // Delete the dehydrated suspense boundary and all of its content.\n\n\n {\n if (hostParent !== null) {\n if (hostParentIsContainer) {\n clearSuspenseBoundaryFromContainer(hostParent, deletedFiber.stateNode);\n } else {\n clearSuspenseBoundary(hostParent, deletedFiber.stateNode);\n }\n }\n }\n\n return;\n }\n\n case HostPortal:\n {\n {\n // When we go into a portal, it becomes the parent to remove from.\n var _prevHostParent = hostParent;\n var _prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode.containerInfo;\n hostParentIsContainer = true;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n hostParent = _prevHostParent;\n hostParentIsContainer = _prevHostParentIsContainer;\n }\n\n return;\n }\n\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n var updateQueue = deletedFiber.updateQueue;\n\n if (updateQueue !== null) {\n var lastEffect = updateQueue.lastEffect;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n var _effect = effect,\n destroy = _effect.destroy,\n tag = _effect.tag;\n\n if (destroy !== undefined) {\n if ((tag & Insertion) !== NoFlags$1) {\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n } else if ((tag & Layout) !== NoFlags$1) {\n {\n markComponentLayoutEffectUnmountStarted(deletedFiber);\n }\n\n if ( deletedFiber.mode & ProfileMode) {\n startLayoutEffectTimer();\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n recordLayoutEffectDuration(deletedFiber);\n } else {\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n }\n\n {\n markComponentLayoutEffectUnmountStopped();\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n }\n }\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case ClassComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var instance = deletedFiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(deletedFiber, nearestMountedAncestor, instance);\n }\n }\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case ScopeComponent:\n {\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case OffscreenComponent:\n {\n if ( // TODO: Remove this dead flag\n deletedFiber.mode & ConcurrentMode) {\n // If this offscreen component is hidden, we already unmounted it. Before\n // deleting the children, track that it's already unmounted so that we\n // don't attempt to unmount the effects again.\n // TODO: If the tree is hidden, in most cases we should be able to skip\n // over the nested children entirely. An exception is we haven't yet found\n // the topmost host node to delete, which we already track on the stack.\n // But the other case is portals, which need to be detached no matter how\n // deeply they are nested. We should use a subtree flag to track whether a\n // subtree includes a nested portal.\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || deletedFiber.memoizedState !== null;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n } else {\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n }\n\n break;\n }\n\n default:\n {\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n }\n}\n\nfunction commitSuspenseCallback(finishedWork) {\n // TODO: Move this to passive phase\n var newState = finishedWork.memoizedState;\n}\n\nfunction commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n\n var newState = finishedWork.memoizedState;\n\n if (newState === null) {\n var current = finishedWork.alternate;\n\n if (current !== null) {\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n var suspenseInstance = prevState.dehydrated;\n\n if (suspenseInstance !== null) {\n commitHydratedSuspenseInstance(suspenseInstance);\n }\n }\n }\n }\n}\n\nfunction attachSuspenseRetryListeners(finishedWork) {\n // If this boundary just timed out, then it will have a set of wakeables.\n // For each wakeable, attach a listener so that when it resolves, React\n // attempts to re-render the boundary in the primary (pre-timeout) state.\n var wakeables = finishedWork.updateQueue;\n\n if (wakeables !== null) {\n finishedWork.updateQueue = null;\n var retryCache = finishedWork.stateNode;\n\n if (retryCache === null) {\n retryCache = finishedWork.stateNode = new PossiblyWeakSet();\n }\n\n wakeables.forEach(function (wakeable) {\n // Memoize using the boundary fiber to prevent redundant listeners.\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n\n if (!retryCache.has(wakeable)) {\n retryCache.add(wakeable);\n\n {\n if (isDevToolsPresent) {\n if (inProgressLanes !== null && inProgressRoot !== null) {\n // If we have pending work still, associate the original updaters with it.\n restorePendingUpdaters(inProgressRoot, inProgressLanes);\n } else {\n throw Error('Expected finished root and lanes to be set. This is a bug in React.');\n }\n }\n }\n\n wakeable.then(retry, retry);\n }\n });\n }\n} // This function detects when a Suspense boundary goes from visible to hidden.\nfunction commitMutationEffects(root, finishedWork, committedLanes) {\n inProgressLanes = committedLanes;\n inProgressRoot = root;\n setCurrentFiber(finishedWork);\n commitMutationEffectsOnFiber(finishedWork, root);\n setCurrentFiber(finishedWork);\n inProgressLanes = null;\n inProgressRoot = null;\n}\n\nfunction recursivelyTraverseMutationEffects(root, parentFiber, lanes) {\n // Deletions effects can be scheduled on any fiber type. They need to happen\n // before the children effects hae fired.\n var deletions = parentFiber.deletions;\n\n if (deletions !== null) {\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n\n try {\n commitDeletionEffects(root, parentFiber, childToDelete);\n } catch (error) {\n captureCommitPhaseError(childToDelete, parentFiber, error);\n }\n }\n }\n\n var prevDebugFiber = getCurrentFiber();\n\n if (parentFiber.subtreeFlags & MutationMask) {\n var child = parentFiber.child;\n\n while (child !== null) {\n setCurrentFiber(child);\n commitMutationEffectsOnFiber(child, root);\n child = child.sibling;\n }\n }\n\n setCurrentFiber(prevDebugFiber);\n}\n\nfunction commitMutationEffectsOnFiber(finishedWork, root, lanes) {\n var current = finishedWork.alternate;\n var flags = finishedWork.flags; // The effect flag should be checked *after* we refine the type of fiber,\n // because the fiber tag is more specific. An exception is any flag related\n // to reconcilation, because those can be set on all fiber types.\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n try {\n commitHookEffectListUnmount(Insertion | HasEffect, finishedWork, finishedWork.return);\n commitHookEffectListMount(Insertion | HasEffect, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n } // Layout effects are destroyed during the mutation phase so that all\n // destroy functions for all fibers are called before any create functions.\n // This prevents sibling component effects from interfering with each other,\n // e.g. a destroy function in one component should never override a ref set\n // by a create function in another component during the same commit.\n\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n recordLayoutEffectDuration(finishedWork);\n } else {\n try {\n commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n return;\n }\n\n case ClassComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n return;\n }\n\n case HostComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n {\n // TODO: ContentReset gets cleared by the children during the commit\n // phase. This is a refactor hazard because it means we must read\n // flags the flags after `commitReconciliationEffects` has already run;\n // the order matters. We should refactor so that ContentReset does not\n // rely on mutating the flag during commit. Like by setting a flag\n // during the render phase instead.\n if (finishedWork.flags & ContentReset) {\n var instance = finishedWork.stateNode;\n\n try {\n resetTextContent(instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n\n if (flags & Update) {\n var _instance4 = finishedWork.stateNode;\n\n if (_instance4 != null) {\n // Commit the work prepared earlier.\n var newProps = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\n // as the newProps. The updatePayload will contain the real change in\n // this case.\n\n var oldProps = current !== null ? current.memoizedProps : newProps;\n var type = finishedWork.type; // TODO: Type the updateQueue to be specific to host components.\n\n var updatePayload = finishedWork.updateQueue;\n finishedWork.updateQueue = null;\n\n if (updatePayload !== null) {\n try {\n commitUpdate(_instance4, updatePayload, type, oldProps, newProps, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n }\n }\n\n return;\n }\n\n case HostText:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n {\n if (finishedWork.stateNode === null) {\n throw new Error('This should have a text node initialized. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n }\n\n var textInstance = finishedWork.stateNode;\n var newText = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\n // as the newProps. The updatePayload will contain the real change in\n // this case.\n\n var oldText = current !== null ? current.memoizedProps : newText;\n\n try {\n commitTextUpdate(textInstance, oldText, newText);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n return;\n }\n\n case HostRoot:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n {\n if (current !== null) {\n var prevRootState = current.memoizedState;\n\n if (prevRootState.isDehydrated) {\n try {\n commitHydratedContainer(root.containerInfo);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n }\n }\n\n return;\n }\n\n case HostPortal:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n return;\n }\n\n case SuspenseComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n var offscreenFiber = finishedWork.child;\n\n if (offscreenFiber.flags & Visibility) {\n var offscreenInstance = offscreenFiber.stateNode;\n var newState = offscreenFiber.memoizedState;\n var isHidden = newState !== null; // Track the current state on the Offscreen instance so we can\n // read it during an event\n\n offscreenInstance.isHidden = isHidden;\n\n if (isHidden) {\n var wasHidden = offscreenFiber.alternate !== null && offscreenFiber.alternate.memoizedState !== null;\n\n if (!wasHidden) {\n // TODO: Move to passive phase\n markCommitTimeOfFallback();\n }\n }\n }\n\n if (flags & Update) {\n try {\n commitSuspenseCallback(finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n attachSuspenseRetryListeners(finishedWork);\n }\n\n return;\n }\n\n case OffscreenComponent:\n {\n var _wasHidden = current !== null && current.memoizedState !== null;\n\n if ( // TODO: Remove this dead flag\n finishedWork.mode & ConcurrentMode) {\n // Before committing the children, track on the stack whether this\n // offscreen subtree was already hidden, so that we don't unmount the\n // effects again.\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || _wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n } else {\n recursivelyTraverseMutationEffects(root, finishedWork);\n }\n\n commitReconciliationEffects(finishedWork);\n\n if (flags & Visibility) {\n var _offscreenInstance = finishedWork.stateNode;\n var _newState = finishedWork.memoizedState;\n\n var _isHidden = _newState !== null;\n\n var offscreenBoundary = finishedWork; // Track the current state on the Offscreen instance so we can\n // read it during an event\n\n _offscreenInstance.isHidden = _isHidden;\n\n {\n if (_isHidden) {\n if (!_wasHidden) {\n if ((offscreenBoundary.mode & ConcurrentMode) !== NoMode) {\n nextEffect = offscreenBoundary;\n var offscreenChild = offscreenBoundary.child;\n\n while (offscreenChild !== null) {\n nextEffect = offscreenChild;\n disappearLayoutEffects_begin(offscreenChild);\n offscreenChild = offscreenChild.sibling;\n }\n }\n }\n }\n }\n\n {\n // TODO: This needs to run whenever there's an insertion or update\n // inside a hidden Offscreen tree.\n hideOrUnhideAllChildren(offscreenBoundary, _isHidden);\n }\n }\n\n return;\n }\n\n case SuspenseListComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n attachSuspenseRetryListeners(finishedWork);\n }\n\n return;\n }\n\n case ScopeComponent:\n {\n\n return;\n }\n\n default:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n return;\n }\n }\n}\n\nfunction commitReconciliationEffects(finishedWork) {\n // Placement effects (insertions, reorders) can be scheduled on any fiber\n // type. They needs to happen after the children effects have fired, but\n // before the effects on this fiber have fired.\n var flags = finishedWork.flags;\n\n if (flags & Placement) {\n try {\n commitPlacement(finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n } // Clear the \"placement\" from effect tag so that we know that this is\n // inserted, before any life-cycles like componentDidMount gets called.\n // TODO: findDOMNode doesn't rely on this any more but isMounted does\n // and isMounted is deprecated anyway so we should be able to kill this.\n\n\n finishedWork.flags &= ~Placement;\n }\n\n if (flags & Hydrating) {\n finishedWork.flags &= ~Hydrating;\n }\n}\n\nfunction commitLayoutEffects(finishedWork, root, committedLanes) {\n inProgressLanes = committedLanes;\n inProgressRoot = root;\n nextEffect = finishedWork;\n commitLayoutEffects_begin(finishedWork, root, committedLanes);\n inProgressLanes = null;\n inProgressRoot = null;\n}\n\nfunction commitLayoutEffects_begin(subtreeRoot, root, committedLanes) {\n // Suspense layout effects semantics don't change for legacy roots.\n var isModernRoot = (subtreeRoot.mode & ConcurrentMode) !== NoMode;\n\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if ( fiber.tag === OffscreenComponent && isModernRoot) {\n // Keep track of the current Offscreen stack's state.\n var isHidden = fiber.memoizedState !== null;\n var newOffscreenSubtreeIsHidden = isHidden || offscreenSubtreeIsHidden;\n\n if (newOffscreenSubtreeIsHidden) {\n // The Offscreen tree is hidden. Skip over its layout effects.\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n continue;\n } else {\n // TODO (Offscreen) Also check: subtreeFlags & LayoutMask\n var current = fiber.alternate;\n var wasHidden = current !== null && current.memoizedState !== null;\n var newOffscreenSubtreeWasHidden = wasHidden || offscreenSubtreeWasHidden;\n var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden;\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; // Traverse the Offscreen subtree with the current Offscreen as the root.\n\n offscreenSubtreeIsHidden = newOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = newOffscreenSubtreeWasHidden;\n\n if (offscreenSubtreeWasHidden && !prevOffscreenSubtreeWasHidden) {\n // This is the root of a reappearing boundary. Turn its layout effects\n // back on.\n nextEffect = fiber;\n reappearLayoutEffects_begin(fiber);\n }\n\n var child = firstChild;\n\n while (child !== null) {\n nextEffect = child;\n commitLayoutEffects_begin(child, // New root; bubble back up to here and stop.\n root, committedLanes);\n child = child.sibling;\n } // Restore Offscreen state and resume in our-progress traversal.\n\n\n nextEffect = fiber;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n continue;\n }\n }\n\n if ((fiber.subtreeFlags & LayoutMask) !== NoFlags && firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n }\n }\n}\n\nfunction commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & LayoutMask) !== NoFlags) {\n var current = fiber.alternate;\n setCurrentFiber(fiber);\n\n try {\n commitLayoutEffectOnFiber(root, current, fiber, committedLanes);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n }\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction disappearLayoutEffects_begin(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child; // TODO (Offscreen) Check: flags & (RefStatic | LayoutStatic)\n\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if ( fiber.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListUnmount(Layout, fiber, fiber.return);\n } finally {\n recordLayoutEffectDuration(fiber);\n }\n } else {\n commitHookEffectListUnmount(Layout, fiber, fiber.return);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n // TODO (Offscreen) Check: flags & RefStatic\n safelyDetachRef(fiber, fiber.return);\n var instance = fiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(fiber, fiber.return, instance);\n }\n\n break;\n }\n\n case HostComponent:\n {\n safelyDetachRef(fiber, fiber.return);\n break;\n }\n\n case OffscreenComponent:\n {\n // Check if this is a\n var isHidden = fiber.memoizedState !== null;\n\n if (isHidden) {\n // Nested Offscreen tree is already hidden. Don't disappear\n // its effects.\n disappearLayoutEffects_complete(subtreeRoot);\n continue;\n }\n\n break;\n }\n } // TODO (Offscreen) Check: subtreeFlags & LayoutStatic\n\n\n if (firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n disappearLayoutEffects_complete(subtreeRoot);\n }\n }\n}\n\nfunction disappearLayoutEffects_complete(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction reappearLayoutEffects_begin(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if (fiber.tag === OffscreenComponent) {\n var isHidden = fiber.memoizedState !== null;\n\n if (isHidden) {\n // Nested Offscreen tree is still hidden. Don't re-appear its effects.\n reappearLayoutEffects_complete(subtreeRoot);\n continue;\n }\n } // TODO (Offscreen) Check: subtreeFlags & LayoutStatic\n\n\n if (firstChild !== null) {\n // This node may have been reused from a previous render, so we can't\n // assume its return pointer is correct.\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n reappearLayoutEffects_complete(subtreeRoot);\n }\n }\n}\n\nfunction reappearLayoutEffects_complete(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect; // TODO (Offscreen) Check: flags & LayoutStatic\n\n setCurrentFiber(fiber);\n\n try {\n reappearLayoutEffectsOnFiber(fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n // This node may have been reused from a previous render, so we can't\n // assume its return pointer is correct.\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveMountEffects(root, finishedWork, committedLanes, committedTransitions) {\n nextEffect = finishedWork;\n commitPassiveMountEffects_begin(finishedWork, root, committedLanes, committedTransitions);\n}\n\nfunction commitPassiveMountEffects_begin(subtreeRoot, root, committedLanes, committedTransitions) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if ((fiber.subtreeFlags & PassiveMask) !== NoFlags && firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n commitPassiveMountEffects_complete(subtreeRoot, root, committedLanes, committedTransitions);\n }\n }\n}\n\nfunction commitPassiveMountEffects_complete(subtreeRoot, root, committedLanes, committedTransitions) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & Passive) !== NoFlags) {\n setCurrentFiber(fiber);\n\n try {\n commitPassiveMountOnFiber(root, fiber, committedLanes, committedTransitions);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n }\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( finishedWork.mode & ProfileMode) {\n startPassiveEffectTimer();\n\n try {\n commitHookEffectListMount(Passive$1 | HasEffect, finishedWork);\n } finally {\n recordPassiveEffectDuration(finishedWork);\n }\n } else {\n commitHookEffectListMount(Passive$1 | HasEffect, finishedWork);\n }\n\n break;\n }\n }\n}\n\nfunction commitPassiveUnmountEffects(firstChild) {\n nextEffect = firstChild;\n commitPassiveUnmountEffects_begin();\n}\n\nfunction commitPassiveUnmountEffects_begin() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var child = fiber.child;\n\n if ((nextEffect.flags & ChildDeletion) !== NoFlags) {\n var deletions = fiber.deletions;\n\n if (deletions !== null) {\n for (var i = 0; i < deletions.length; i++) {\n var fiberToDelete = deletions[i];\n nextEffect = fiberToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(fiberToDelete, fiber);\n }\n\n {\n // A fiber was deleted from this parent fiber, but it's still part of\n // the previous (alternate) parent fiber's list of children. Because\n // children are a linked list, an earlier sibling that's still alive\n // will be connected to the deleted fiber via its `alternate`:\n //\n // live fiber\n // --alternate--> previous live fiber\n // --sibling--> deleted fiber\n //\n // We can't disconnect `alternate` on nodes that haven't been deleted\n // yet, but we can disconnect the `sibling` and `child` pointers.\n var previousFiber = fiber.alternate;\n\n if (previousFiber !== null) {\n var detachedChild = previousFiber.child;\n\n if (detachedChild !== null) {\n previousFiber.child = null;\n\n do {\n var detachedSibling = detachedChild.sibling;\n detachedChild.sibling = null;\n detachedChild = detachedSibling;\n } while (detachedChild !== null);\n }\n }\n }\n\n nextEffect = fiber;\n }\n }\n\n if ((fiber.subtreeFlags & PassiveMask) !== NoFlags && child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitPassiveUnmountEffects_complete();\n }\n }\n}\n\nfunction commitPassiveUnmountEffects_complete() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & Passive) !== NoFlags) {\n setCurrentFiber(fiber);\n commitPassiveUnmountOnFiber(fiber);\n resetCurrentFiber();\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( finishedWork.mode & ProfileMode) {\n startPassiveEffectTimer();\n commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return);\n recordPassiveEffectDuration(finishedWork);\n } else {\n commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return);\n }\n\n break;\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor) {\n while (nextEffect !== null) {\n var fiber = nextEffect; // Deletion effects fire in parent -> child order\n // TODO: Check if fiber has a PassiveStatic flag\n\n setCurrentFiber(fiber);\n commitPassiveUnmountInsideDeletedTreeOnFiber(fiber, nearestMountedAncestor);\n resetCurrentFiber();\n var child = fiber.child; // TODO: Only traverse subtree if it has a PassiveStatic flag. (But, if we\n // do this, still need to handle `deletedTreeCleanUpLevel` correctly.)\n\n if (child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot);\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var sibling = fiber.sibling;\n var returnFiber = fiber.return;\n\n {\n // Recursively traverse the entire deleted tree and clean up fiber fields.\n // This is more aggressive than ideal, and the long term goal is to only\n // have to detach the deleted tree at the root.\n detachFiberAfterEffects(fiber);\n\n if (fiber === deletedSubtreeRoot) {\n nextEffect = null;\n return;\n }\n }\n\n if (sibling !== null) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = returnFiber;\n }\n}\n\nfunction commitPassiveUnmountInsideDeletedTreeOnFiber(current, nearestMountedAncestor) {\n switch (current.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( current.mode & ProfileMode) {\n startPassiveEffectTimer();\n commitHookEffectListUnmount(Passive$1, current, nearestMountedAncestor);\n recordPassiveEffectDuration(current);\n } else {\n commitHookEffectListUnmount(Passive$1, current, nearestMountedAncestor);\n }\n\n break;\n }\n }\n} // TODO: Reuse reappearLayoutEffects traversal here?\n\n\nfunction invokeLayoutEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Layout | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Passive$1 | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokeLayoutEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Layout | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(fiber, fiber.return, instance);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Passive$1 | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n }\n }\n }\n}\n\nvar COMPONENT_TYPE = 0;\nvar HAS_PSEUDO_CLASS_TYPE = 1;\nvar ROLE_TYPE = 2;\nvar TEST_NAME_TYPE = 3;\nvar TEXT_TYPE = 4;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n COMPONENT_TYPE = symbolFor('selector.component');\n HAS_PSEUDO_CLASS_TYPE = symbolFor('selector.has_pseudo_class');\n ROLE_TYPE = symbolFor('selector.role');\n TEST_NAME_TYPE = symbolFor('selector.test_id');\n TEXT_TYPE = symbolFor('selector.text');\n}\nvar commitHooks = [];\nfunction onCommitRoot$1() {\n {\n commitHooks.forEach(function (commitHook) {\n return commitHook();\n });\n }\n}\n\nvar ReactCurrentActQueue = ReactSharedInternals.ReactCurrentActQueue;\nfunction isLegacyActEnvironment(fiber) {\n {\n // Legacy mode. We preserve the behavior of React 17's act. It assumes an\n // act environment whenever `jest` is defined, but you can still turn off\n // spurious warnings by setting IS_REACT_ACT_ENVIRONMENT explicitly\n // to false.\n var isReactActEnvironmentGlobal = // $FlowExpectedError Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? IS_REACT_ACT_ENVIRONMENT : undefined; // $FlowExpectedError - Flow doesn't know about jest\n\n var jestIsDefined = typeof jest !== 'undefined';\n return jestIsDefined && isReactActEnvironmentGlobal !== false;\n }\n}\nfunction isConcurrentActEnvironment() {\n {\n var isReactActEnvironmentGlobal = // $FlowExpectedError Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? IS_REACT_ACT_ENVIRONMENT : undefined;\n\n if (!isReactActEnvironmentGlobal && ReactCurrentActQueue.current !== null) {\n // TODO: Include link to relevant documentation page.\n error('The current testing environment is not configured to support ' + 'act(...)');\n }\n\n return isReactActEnvironmentGlobal;\n }\n}\n\nvar ceil = Math.ceil;\nvar ReactCurrentDispatcher$2 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner,\n ReactCurrentBatchConfig$3 = ReactSharedInternals.ReactCurrentBatchConfig,\n ReactCurrentActQueue$1 = ReactSharedInternals.ReactCurrentActQueue;\nvar NoContext =\n/* */\n0;\nvar BatchedContext =\n/* */\n1;\nvar RenderContext =\n/* */\n2;\nvar CommitContext =\n/* */\n4;\nvar RootInProgress = 0;\nvar RootFatalErrored = 1;\nvar RootErrored = 2;\nvar RootSuspended = 3;\nvar RootSuspendedWithDelay = 4;\nvar RootCompleted = 5;\nvar RootDidNotComplete = 6; // Describes where we are in the React execution stack\n\nvar executionContext = NoContext; // The root we're working on\n\nvar workInProgressRoot = null; // The fiber we're working on\n\nvar workInProgress = null; // The lanes we're rendering\n\nvar workInProgressRootRenderLanes = NoLanes; // Stack that allows components to change the render lanes for its subtree\n// This is a superset of the lanes we started working on at the root. The only\n// case where it's different from `workInProgressRootRenderLanes` is when we\n// enter a subtree that is hidden and needs to be unhidden: Suspense and\n// Offscreen component.\n//\n// Most things in the work loop should deal with workInProgressRootRenderLanes.\n// Most things in begin/complete phases should deal with subtreeRenderLanes.\n\nvar subtreeRenderLanes = NoLanes;\nvar subtreeRenderLanesCursor = createCursor(NoLanes); // Whether to root completed, errored, suspended, etc.\n\nvar workInProgressRootExitStatus = RootInProgress; // A fatal error, if one is thrown\n\nvar workInProgressRootFatalError = null; // \"Included\" lanes refer to lanes that were worked on during this render. It's\n// slightly different than `renderLanes` because `renderLanes` can change as you\n// enter and exit an Offscreen tree. This value is the combination of all render\n// lanes for the entire render phase.\n\nvar workInProgressRootIncludedLanes = NoLanes; // The work left over by components that were visited during this render. Only\n// includes unprocessed updates, not work in bailed out children.\n\nvar workInProgressRootSkippedLanes = NoLanes; // Lanes that were updated (in an interleaved event) during this render.\n\nvar workInProgressRootInterleavedUpdatedLanes = NoLanes; // Lanes that were updated during the render phase (*not* an interleaved event).\n\nvar workInProgressRootPingedLanes = NoLanes; // Errors that are thrown during the render phase.\n\nvar workInProgressRootConcurrentErrors = null; // These are errors that we recovered from without surfacing them to the UI.\n// We will log them once the tree commits.\n\nvar workInProgressRootRecoverableErrors = null; // The most recent time we committed a fallback. This lets us ensure a train\n// model where we don't commit new loading states in too quick succession.\n\nvar globalMostRecentFallbackTime = 0;\nvar FALLBACK_THROTTLE_MS = 500; // The absolute time for when we should start giving up on rendering\n// more and prefer CPU suspense heuristics instead.\n\nvar workInProgressRootRenderTargetTime = Infinity; // How long a render is supposed to take before we start following CPU\n// suspense heuristics and opt out of rendering more content.\n\nvar RENDER_TIMEOUT_MS = 500;\nvar workInProgressTransitions = null;\n\nfunction resetRenderTimer() {\n workInProgressRootRenderTargetTime = now() + RENDER_TIMEOUT_MS;\n}\n\nfunction getRenderTargetTime() {\n return workInProgressRootRenderTargetTime;\n}\nvar hasUncaughtError = false;\nvar firstUncaughtError = null;\nvar legacyErrorBoundariesThatAlreadyFailed = null; // Only used when enableProfilerNestedUpdateScheduledHook is true;\nvar rootDoesHavePassiveEffects = false;\nvar rootWithPendingPassiveEffects = null;\nvar pendingPassiveEffectsLanes = NoLanes;\nvar pendingPassiveProfilerEffects = [];\nvar pendingPassiveTransitions = null; // Use these to prevent an infinite loop of nested updates\n\nvar NESTED_UPDATE_LIMIT = 50;\nvar nestedUpdateCount = 0;\nvar rootWithNestedUpdates = null;\nvar isFlushingPassiveEffects = false;\nvar didScheduleUpdateDuringPassiveEffects = false;\nvar NESTED_PASSIVE_UPDATE_LIMIT = 50;\nvar nestedPassiveUpdateCount = 0;\nvar rootWithPassiveNestedUpdates = null; // If two updates are scheduled within the same event, we should treat their\n// event times as simultaneous, even if the actual clock time has advanced\n// between the first and second call.\n\nvar currentEventTime = NoTimestamp;\nvar currentEventTransitionLane = NoLanes;\nvar isRunningInsertionEffect = false;\nfunction getWorkInProgressRoot() {\n return workInProgressRoot;\n}\nfunction requestEventTime() {\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n // We're inside React, so it's fine to read the actual time.\n return now();\n } // We're not inside React, so we may be in the middle of a browser event.\n\n\n if (currentEventTime !== NoTimestamp) {\n // Use the same start time for all updates until we enter React again.\n return currentEventTime;\n } // This is the first update since React yielded. Compute a new start time.\n\n\n currentEventTime = now();\n return currentEventTime;\n}\nfunction requestUpdateLane(fiber) {\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n } else if ( (executionContext & RenderContext) !== NoContext && workInProgressRootRenderLanes !== NoLanes) {\n // This is a render phase update. These are not officially supported. The\n // old behavior is to give this the same \"thread\" (lanes) as\n // whatever is currently rendering. So if you call `setState` on a component\n // that happens later in the same render, it will flush. Ideally, we want to\n // remove the special case and treat them as if they came from an\n // interleaved event. Regardless, this pattern is not officially supported.\n // This behavior is only a fallback. The flag only exists until we can roll\n // out the setState warning, since existing code might accidentally rely on\n // the current behavior.\n return pickArbitraryLane(workInProgressRootRenderLanes);\n }\n\n var isTransition = requestCurrentTransition() !== NoTransition;\n\n if (isTransition) {\n if ( ReactCurrentBatchConfig$3.transition !== null) {\n var transition = ReactCurrentBatchConfig$3.transition;\n\n if (!transition._updatedFibers) {\n transition._updatedFibers = new Set();\n }\n\n transition._updatedFibers.add(fiber);\n } // The algorithm for assigning an update to a lane should be stable for all\n // updates at the same priority within the same event. To do this, the\n // inputs to the algorithm must be the same.\n //\n // The trick we use is to cache the first of each of these inputs within an\n // event. Then reset the cached values once we can be sure the event is\n // over. Our heuristic for that is whenever we enter a concurrent work loop.\n\n\n if (currentEventTransitionLane === NoLane) {\n // All transitions within the same event are assigned the same lane.\n currentEventTransitionLane = claimNextTransitionLane();\n }\n\n return currentEventTransitionLane;\n } // Updates originating inside certain React methods, like flushSync, have\n // their priority set by tracking it with a context variable.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var updateLane = getCurrentUpdatePriority();\n\n if (updateLane !== NoLane) {\n return updateLane;\n } // This update originated outside React. Ask the host environment for an\n // appropriate priority, based on the type of event.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var eventLane = getCurrentEventPriority();\n return eventLane;\n}\n\nfunction requestRetryLane(fiber) {\n // This is a fork of `requestUpdateLane` designed specifically for Suspense\n // \"retries\" — a special update that attempts to flip a Suspense boundary\n // from its placeholder state to its primary/resolved state.\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n }\n\n return claimNextRetryLane();\n}\n\nfunction scheduleUpdateOnFiber(root, fiber, lane, eventTime) {\n checkForNestedUpdates();\n\n {\n if (isRunningInsertionEffect) {\n error('useInsertionEffect must not schedule updates.');\n }\n }\n\n {\n if (isFlushingPassiveEffects) {\n didScheduleUpdateDuringPassiveEffects = true;\n }\n } // Mark that the root has a pending update.\n\n\n markRootUpdated(root, lane, eventTime);\n\n if ((executionContext & RenderContext) !== NoLanes && root === workInProgressRoot) {\n // This update was dispatched during the render phase. This is a mistake\n // if the update originates from user space (with the exception of local\n // hook updates, which are handled differently and don't reach this\n // function), but there are some internal React features that use this as\n // an implementation detail, like selective hydration.\n warnAboutRenderPhaseUpdatesInDEV(fiber); // Track lanes that were updated during the render phase\n } else {\n // This is a normal update, scheduled from outside the render phase. For\n // example, during an input event.\n {\n if (isDevToolsPresent) {\n addFiberToLanesMap(root, fiber, lane);\n }\n }\n\n warnIfUpdatesNotWrappedWithActDEV(fiber);\n\n if (root === workInProgressRoot) {\n // Received an update to a tree that's in the middle of rendering. Mark\n // that there was an interleaved update work on this root. Unless the\n // `deferRenderPhaseUpdateToNextBatch` flag is off and this is a render\n // phase update. In that case, we don't treat render phase updates as if\n // they were interleaved, for backwards compat reasons.\n if ( (executionContext & RenderContext) === NoContext) {\n workInProgressRootInterleavedUpdatedLanes = mergeLanes(workInProgressRootInterleavedUpdatedLanes, lane);\n }\n\n if (workInProgressRootExitStatus === RootSuspendedWithDelay) {\n // The root already suspended with a delay, which means this render\n // definitely won't finish. Since we have a new update, let's mark it as\n // suspended now, right before marking the incoming update. This has the\n // effect of interrupting the current render and switching to the update.\n // TODO: Make sure this doesn't override pings that happen while we've\n // already started rendering.\n markRootSuspended$1(root, workInProgressRootRenderLanes);\n }\n }\n\n ensureRootIsScheduled(root, eventTime);\n\n if (lane === SyncLane && executionContext === NoContext && (fiber.mode & ConcurrentMode) === NoMode && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.\n !( ReactCurrentActQueue$1.isBatchingLegacy)) {\n // Flush the synchronous work now, unless we're already working or inside\n // a batch. This is intentionally inside scheduleUpdateOnFiber instead of\n // scheduleCallbackForFiber to preserve the ability to schedule a callback\n // without immediately flushing it. We only do this for user-initiated\n // updates, to preserve historical behavior of legacy mode.\n resetRenderTimer();\n flushSyncCallbacksOnlyInLegacyMode();\n }\n }\n}\nfunction scheduleInitialHydrationOnRoot(root, lane, eventTime) {\n // This is a special fork of scheduleUpdateOnFiber that is only used to\n // schedule the initial hydration of a root that has just been created. Most\n // of the stuff in scheduleUpdateOnFiber can be skipped.\n //\n // The main reason for this separate path, though, is to distinguish the\n // initial children from subsequent updates. In fully client-rendered roots\n // (createRoot instead of hydrateRoot), all top-level renders are modeled as\n // updates, but hydration roots are special because the initial render must\n // match what was rendered on the server.\n var current = root.current;\n current.lanes = lane;\n markRootUpdated(root, lane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n}\nfunction isUnsafeClassRenderPhaseUpdate(fiber) {\n // Check if this is a render phase update. Only called by class components,\n // which special (deprecated) behavior for UNSAFE_componentWillReceive props.\n return (// TODO: Remove outdated deferRenderPhaseUpdateToNextBatch experiment. We\n // decided not to enable it.\n (executionContext & RenderContext) !== NoContext\n );\n} // Use this function to schedule a task for a root. There's only one task per\n// root; if a task was already scheduled, we'll check to make sure the priority\n// of the existing task is the same as the priority of the next level that the\n// root has work on. This function is called on every update, and right before\n// exiting a task.\n\nfunction ensureRootIsScheduled(root, currentTime) {\n var existingCallbackNode = root.callbackNode; // Check if any lanes are being starved by other work. If so, mark them as\n // expired so we know to work on those next.\n\n markStarvedLanesAsExpired(root, currentTime); // Determine the next lanes to work on, and their priority.\n\n var nextLanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (nextLanes === NoLanes) {\n // Special case: There's nothing to work on.\n if (existingCallbackNode !== null) {\n cancelCallback$1(existingCallbackNode);\n }\n\n root.callbackNode = null;\n root.callbackPriority = NoLane;\n return;\n } // We use the highest priority lane to represent the priority of the callback.\n\n\n var newCallbackPriority = getHighestPriorityLane(nextLanes); // Check if there's an existing task. We may be able to reuse it.\n\n var existingCallbackPriority = root.callbackPriority;\n\n if (existingCallbackPriority === newCallbackPriority && // Special case related to `act`. If the currently scheduled task is a\n // Scheduler task, rather than an `act` task, cancel it and re-scheduled\n // on the `act` queue.\n !( ReactCurrentActQueue$1.current !== null && existingCallbackNode !== fakeActCallbackNode)) {\n {\n // If we're going to re-use an existing task, it needs to exist.\n // Assume that discrete update microtasks are non-cancellable and null.\n // TODO: Temporary until we confirm this warning is not fired.\n if (existingCallbackNode == null && existingCallbackPriority !== SyncLane) {\n error('Expected scheduled callback to exist. This error is likely caused by a bug in React. Please file an issue.');\n }\n } // The priority hasn't changed. We can reuse the existing task. Exit.\n\n\n return;\n }\n\n if (existingCallbackNode != null) {\n // Cancel the existing callback. We'll schedule a new one below.\n cancelCallback$1(existingCallbackNode);\n } // Schedule a new callback.\n\n\n var newCallbackNode;\n\n if (newCallbackPriority === SyncLane) {\n // Special case: Sync React callbacks are scheduled on a special\n // internal queue\n if (root.tag === LegacyRoot) {\n if ( ReactCurrentActQueue$1.isBatchingLegacy !== null) {\n ReactCurrentActQueue$1.didScheduleLegacyUpdate = true;\n }\n\n scheduleLegacySyncCallback(performSyncWorkOnRoot.bind(null, root));\n } else {\n scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root));\n }\n\n {\n // Flush the queue in a microtask.\n if ( ReactCurrentActQueue$1.current !== null) {\n // Inside `act`, use our internal `act` queue so that these get flushed\n // at the end of the current scope even when using the sync version\n // of `act`.\n ReactCurrentActQueue$1.current.push(flushSyncCallbacks);\n } else {\n scheduleMicrotask(function () {\n // In Safari, appending an iframe forces microtasks to run.\n // https://github.com/facebook/react/issues/22459\n // We don't support running callbacks in the middle of render\n // or commit so we need to check against that.\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n // Note that this would still prematurely flush the callbacks\n // if this happens outside render or commit phase (e.g. in an event).\n flushSyncCallbacks();\n }\n });\n }\n }\n\n newCallbackNode = null;\n } else {\n var schedulerPriorityLevel;\n\n switch (lanesToEventPriority(nextLanes)) {\n case DiscreteEventPriority:\n schedulerPriorityLevel = ImmediatePriority;\n break;\n\n case ContinuousEventPriority:\n schedulerPriorityLevel = UserBlockingPriority;\n break;\n\n case DefaultEventPriority:\n schedulerPriorityLevel = NormalPriority;\n break;\n\n case IdleEventPriority:\n schedulerPriorityLevel = IdlePriority;\n break;\n\n default:\n schedulerPriorityLevel = NormalPriority;\n break;\n }\n\n newCallbackNode = scheduleCallback$1(schedulerPriorityLevel, performConcurrentWorkOnRoot.bind(null, root));\n }\n\n root.callbackPriority = newCallbackPriority;\n root.callbackNode = newCallbackNode;\n} // This is the entry point for every concurrent task, i.e. anything that\n// goes through Scheduler.\n\n\nfunction performConcurrentWorkOnRoot(root, didTimeout) {\n {\n resetNestedUpdateFlag();\n } // Since we know we're in a React event, we can clear the current\n // event time. The next update will compute a new event time.\n\n\n currentEventTime = NoTimestamp;\n currentEventTransitionLane = NoLanes;\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n } // Flush any pending passive effects before deciding which lanes to work on,\n // in case they schedule additional work.\n\n\n var originalCallbackNode = root.callbackNode;\n var didFlushPassiveEffects = flushPassiveEffects();\n\n if (didFlushPassiveEffects) {\n // Something in the passive effect phase may have canceled the current task.\n // Check if the task node for this root was changed.\n if (root.callbackNode !== originalCallbackNode) {\n // The current task was canceled. Exit. We don't need to call\n // `ensureRootIsScheduled` because the check above implies either that\n // there's a new task, or that there's no remaining work on this root.\n return null;\n }\n } // Determine the next lanes to work on, using the fields stored\n // on the root.\n\n\n var lanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (lanes === NoLanes) {\n // Defensive coding. This is never expected to happen.\n return null;\n } // We disable time-slicing in some cases: if the work has been CPU-bound\n // for too long (\"expired\" work, to prevent starvation), or we're in\n // sync-updates-by-default mode.\n // TODO: We only check `didTimeout` defensively, to account for a Scheduler\n // bug we're still investigating. Once the bug in Scheduler is fixed,\n // we can remove this, since we track expiration ourselves.\n\n\n var shouldTimeSlice = !includesBlockingLane(root, lanes) && !includesExpiredLane(root, lanes) && ( !didTimeout);\n var exitStatus = shouldTimeSlice ? renderRootConcurrent(root, lanes) : renderRootSync(root, lanes);\n\n if (exitStatus !== RootInProgress) {\n if (exitStatus === RootErrored) {\n // If something threw an error, try rendering one more time. We'll\n // render synchronously to block concurrent data mutations, and we'll\n // includes all pending updates are included. If it still fails after\n // the second attempt, we'll give up and commit the resulting tree.\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, errorRetryLanes);\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw fatalError;\n }\n\n if (exitStatus === RootDidNotComplete) {\n // The render unwound without completing the tree. This happens in special\n // cases where need to exit the current render without producing a\n // consistent tree or committing.\n //\n // This should only happen during a concurrent render, not a discrete or\n // synchronous update. We should have already checked for this when we\n // unwound the stack.\n markRootSuspended$1(root, lanes);\n } else {\n // The render completed.\n // Check if this render may have yielded to a concurrent event, and if so,\n // confirm that any newly rendered stores are consistent.\n // TODO: It's possible that even a concurrent render may never have yielded\n // to the main thread, if it was fast enough, or if it expired. We could\n // skip the consistency check in that case, too.\n var renderWasConcurrent = !includesBlockingLane(root, lanes);\n var finishedWork = root.current.alternate;\n\n if (renderWasConcurrent && !isRenderConsistentWithExternalStores(finishedWork)) {\n // A store was mutated in an interleaved event. Render again,\n // synchronously, to block further mutations.\n exitStatus = renderRootSync(root, lanes); // We need to check again if something threw\n\n if (exitStatus === RootErrored) {\n var _errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (_errorRetryLanes !== NoLanes) {\n lanes = _errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, _errorRetryLanes); // We assume the tree is now consistent because we didn't yield to any\n // concurrent events.\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var _fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw _fatalError;\n }\n } // We now have a consistent tree. The next step is either to commit it,\n // or, if something suspended, wait to commit it after a timeout.\n\n\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n finishConcurrentRender(root, exitStatus, lanes);\n }\n }\n\n ensureRootIsScheduled(root, now());\n\n if (root.callbackNode === originalCallbackNode) {\n // The task node scheduled for this root is the same one that's\n // currently executed. Need to return a continuation.\n return performConcurrentWorkOnRoot.bind(null, root);\n }\n\n return null;\n}\n\nfunction recoverFromConcurrentError(root, errorRetryLanes) {\n // If an error occurred during hydration, discard server response and fall\n // back to client side render.\n // Before rendering again, save the errors from the previous attempt.\n var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;\n\n if (isRootDehydrated(root)) {\n // The shell failed to hydrate. Set a flag to force a client rendering\n // during the next attempt. To do this, we call prepareFreshStack now\n // to create the root work-in-progress fiber. This is a bit weird in terms\n // of factoring, because it relies on renderRootSync not calling\n // prepareFreshStack again in the call below, which happens because the\n // root and lanes haven't changed.\n //\n // TODO: I think what we should do is set ForceClientRender inside\n // throwException, like we do for nested Suspense boundaries. The reason\n // it's here instead is so we can switch to the synchronous work loop, too.\n // Something to consider for a future refactor.\n var rootWorkInProgress = prepareFreshStack(root, errorRetryLanes);\n rootWorkInProgress.flags |= ForceClientRender;\n\n {\n errorHydratingContainer(root.containerInfo);\n }\n }\n\n var exitStatus = renderRootSync(root, errorRetryLanes);\n\n if (exitStatus !== RootErrored) {\n // Successfully finished rendering on retry\n // The errors from the failed first attempt have been recovered. Add\n // them to the collection of recoverable errors. We'll log them in the\n // commit phase.\n var errorsFromSecondAttempt = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = errorsFromFirstAttempt; // The errors from the second attempt should be queued after the errors\n // from the first attempt, to preserve the causal sequence.\n\n if (errorsFromSecondAttempt !== null) {\n queueRecoverableErrors(errorsFromSecondAttempt);\n }\n }\n\n return exitStatus;\n}\n\nfunction queueRecoverableErrors(errors) {\n if (workInProgressRootRecoverableErrors === null) {\n workInProgressRootRecoverableErrors = errors;\n } else {\n workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors, errors);\n }\n}\n\nfunction finishConcurrentRender(root, exitStatus, lanes) {\n switch (exitStatus) {\n case RootInProgress:\n case RootFatalErrored:\n {\n throw new Error('Root did not complete. This is a bug in React.');\n }\n // Flow knows about invariant, so it complains if I add a break\n // statement, but eslint doesn't know about invariant, so it complains\n // if I do. eslint-disable-next-line no-fallthrough\n\n case RootErrored:\n {\n // We should have already attempted to retry this tree. If we reached\n // this point, it errored again. Commit it.\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootSuspended:\n {\n markRootSuspended$1(root, lanes); // We have an acceptable loading state. We need to figure out if we\n // should immediately commit it or wait a bit.\n\n if (includesOnlyRetries(lanes) && // do not delay if we're inside an act() scope\n !shouldForceFlushFallbacksInDEV()) {\n // This render only included retries, no updates. Throttle committing\n // retries so that we don't show too many loading states too quickly.\n var msUntilTimeout = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now(); // Don't bother with a very short suspense time.\n\n if (msUntilTimeout > 10) {\n var nextLanes = getNextLanes(root, NoLanes);\n\n if (nextLanes !== NoLanes) {\n // There's additional work on this root.\n break;\n }\n\n var suspendedLanes = root.suspendedLanes;\n\n if (!isSubsetOfLanes(suspendedLanes, lanes)) {\n // We should prefer to render the fallback of at the last\n // suspended level. Ping the last suspended level to try\n // rendering it again.\n // FIXME: What if the suspended lanes are Idle? Should not restart.\n var eventTime = requestEventTime();\n markRootPinged(root, suspendedLanes);\n break;\n } // The render is suspended, it hasn't timed out, and there's no\n // lower priority work to do. Instead of committing the fallback\n // immediately, wait for more data to arrive.\n\n\n root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root, workInProgressRootRecoverableErrors, workInProgressTransitions), msUntilTimeout);\n break;\n }\n } // The work expired. Commit immediately.\n\n\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootSuspendedWithDelay:\n {\n markRootSuspended$1(root, lanes);\n\n if (includesOnlyTransitions(lanes)) {\n // This is a transition, so we should exit without committing a\n // placeholder and without scheduling a timeout. Delay indefinitely\n // until we receive more data.\n break;\n }\n\n if (!shouldForceFlushFallbacksInDEV()) {\n // This is not a transition, but we did trigger an avoided state.\n // Schedule a placeholder to display after a short delay, using the Just\n // Noticeable Difference.\n // TODO: Is the JND optimization worth the added complexity? If this is\n // the only reason we track the event time, then probably not.\n // Consider removing.\n var mostRecentEventTime = getMostRecentEventTime(root, lanes);\n var eventTimeMs = mostRecentEventTime;\n var timeElapsedMs = now() - eventTimeMs;\n\n var _msUntilTimeout = jnd(timeElapsedMs) - timeElapsedMs; // Don't bother with a very short suspense time.\n\n\n if (_msUntilTimeout > 10) {\n // Instead of committing the fallback immediately, wait for more data\n // to arrive.\n root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root, workInProgressRootRecoverableErrors, workInProgressTransitions), _msUntilTimeout);\n break;\n }\n } // Commit the placeholder.\n\n\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootCompleted:\n {\n // The work completed. Ready to commit.\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n default:\n {\n throw new Error('Unknown root exit status.');\n }\n }\n}\n\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n // Search the rendered tree for external store reads, and check whether the\n // stores were mutated in a concurrent event. Intentionally using an iterative\n // loop instead of recursion so we can exit early.\n var node = finishedWork;\n\n while (true) {\n if (node.flags & StoreConsistency) {\n var updateQueue = node.updateQueue;\n\n if (updateQueue !== null) {\n var checks = updateQueue.stores;\n\n if (checks !== null) {\n for (var i = 0; i < checks.length; i++) {\n var check = checks[i];\n var getSnapshot = check.getSnapshot;\n var renderedValue = check.value;\n\n try {\n if (!objectIs(getSnapshot(), renderedValue)) {\n // Found an inconsistent store.\n return false;\n }\n } catch (error) {\n // If `getSnapshot` throws, return `false`. This will schedule\n // a re-render, and the error will be rethrown during render.\n return false;\n }\n }\n }\n }\n }\n\n var child = node.child;\n\n if (node.subtreeFlags & StoreConsistency && child !== null) {\n child.return = node;\n node = child;\n continue;\n }\n\n if (node === finishedWork) {\n return true;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === finishedWork) {\n return true;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n } // Flow doesn't know this is unreachable, but eslint does\n // eslint-disable-next-line no-unreachable\n\n\n return true;\n}\n\nfunction markRootSuspended$1(root, suspendedLanes) {\n // When suspending, we should always exclude lanes that were pinged or (more\n // rarely, since we try to avoid it) updated during the render phase.\n // TODO: Lol maybe there's a better way to factor this besides this\n // obnoxiously named function :)\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootPingedLanes);\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootInterleavedUpdatedLanes);\n markRootSuspended(root, suspendedLanes);\n} // This is the entry point for synchronous tasks that don't go\n// through Scheduler\n\n\nfunction performSyncWorkOnRoot(root) {\n {\n syncNestedUpdateFlag();\n }\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n flushPassiveEffects();\n var lanes = getNextLanes(root, NoLanes);\n\n if (!includesSomeLane(lanes, SyncLane)) {\n // There's no remaining sync work left.\n ensureRootIsScheduled(root, now());\n return null;\n }\n\n var exitStatus = renderRootSync(root, lanes);\n\n if (root.tag !== LegacyRoot && exitStatus === RootErrored) {\n // If something threw an error, try rendering one more time. We'll render\n // synchronously to block concurrent data mutations, and we'll includes\n // all pending updates are included. If it still fails after the second\n // attempt, we'll give up and commit the resulting tree.\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, errorRetryLanes);\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw fatalError;\n }\n\n if (exitStatus === RootDidNotComplete) {\n throw new Error('Root did not complete. This is a bug in React.');\n } // We now have a consistent tree. Because this is a sync render, we\n // will commit it even if something suspended.\n\n\n var finishedWork = root.current.alternate;\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions); // Before exiting, make sure there's a callback scheduled for the next\n // pending level.\n\n ensureRootIsScheduled(root, now());\n return null;\n}\n\nfunction flushRoot(root, lanes) {\n if (lanes !== NoLanes) {\n markRootEntangled(root, mergeLanes(lanes, SyncLane));\n ensureRootIsScheduled(root, now());\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n resetRenderTimer();\n flushSyncCallbacks();\n }\n }\n}\nfunction batchedUpdates$1(fn, a) {\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n\n try {\n return fn(a);\n } finally {\n executionContext = prevExecutionContext; // If there were legacy sync updates, flush them at the end of the outer\n // most batchedUpdates-like method.\n\n if (executionContext === NoContext && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.\n !( ReactCurrentActQueue$1.isBatchingLegacy)) {\n resetRenderTimer();\n flushSyncCallbacksOnlyInLegacyMode();\n }\n }\n}\nfunction discreteUpdates(fn, a, b, c, d) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n return fn(a, b, c, d);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n\n if (executionContext === NoContext) {\n resetRenderTimer();\n }\n }\n} // Overload the definition to the two valid signatures.\n// Warning, this opts-out of checking the function body.\n\n// eslint-disable-next-line no-redeclare\nfunction flushSync(fn) {\n // In legacy mode, we flush pending passive effects at the beginning of the\n // next event, not at the end of the previous one.\n if (rootWithPendingPassiveEffects !== null && rootWithPendingPassiveEffects.tag === LegacyRoot && (executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushPassiveEffects();\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n\n if (fn) {\n return fn();\n } else {\n return undefined;\n }\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n executionContext = prevExecutionContext; // Flush the immediate callbacks that were scheduled during this batch.\n // Note that this will happen even if batchedUpdates is higher up\n // the stack.\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushSyncCallbacks();\n }\n }\n}\nfunction isAlreadyRendering() {\n // Used by the renderer to print a warning if certain APIs are called from\n // the wrong context.\n return (executionContext & (RenderContext | CommitContext)) !== NoContext;\n}\nfunction pushRenderLanes(fiber, lanes) {\n push(subtreeRenderLanesCursor, subtreeRenderLanes, fiber);\n subtreeRenderLanes = mergeLanes(subtreeRenderLanes, lanes);\n workInProgressRootIncludedLanes = mergeLanes(workInProgressRootIncludedLanes, lanes);\n}\nfunction popRenderLanes(fiber) {\n subtreeRenderLanes = subtreeRenderLanesCursor.current;\n pop(subtreeRenderLanesCursor, fiber);\n}\n\nfunction prepareFreshStack(root, lanes) {\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n var timeoutHandle = root.timeoutHandle;\n\n if (timeoutHandle !== noTimeout) {\n // The root previous suspended and scheduled a timeout to commit a fallback\n // state. Now that we have additional work, cancel the timeout.\n root.timeoutHandle = noTimeout; // $FlowFixMe Complains noTimeout is not a TimeoutID, despite the check above\n\n cancelTimeout(timeoutHandle);\n }\n\n if (workInProgress !== null) {\n var interruptedWork = workInProgress.return;\n\n while (interruptedWork !== null) {\n var current = interruptedWork.alternate;\n unwindInterruptedWork(current, interruptedWork);\n interruptedWork = interruptedWork.return;\n }\n }\n\n workInProgressRoot = root;\n var rootWorkInProgress = createWorkInProgress(root.current, null);\n workInProgress = rootWorkInProgress;\n workInProgressRootRenderLanes = subtreeRenderLanes = workInProgressRootIncludedLanes = lanes;\n workInProgressRootExitStatus = RootInProgress;\n workInProgressRootFatalError = null;\n workInProgressRootSkippedLanes = NoLanes;\n workInProgressRootInterleavedUpdatedLanes = NoLanes;\n workInProgressRootPingedLanes = NoLanes;\n workInProgressRootConcurrentErrors = null;\n workInProgressRootRecoverableErrors = null;\n finishQueueingConcurrentUpdates();\n\n {\n ReactStrictModeWarnings.discardPendingWarnings();\n }\n\n return rootWorkInProgress;\n}\n\nfunction handleError(root, thrownValue) {\n do {\n var erroredWork = workInProgress;\n\n try {\n // Reset module-level state that was set during the render phase.\n resetContextDependencies();\n resetHooksAfterThrow();\n resetCurrentFiber(); // TODO: I found and added this missing line while investigating a\n // separate issue. Write a regression test using string refs.\n\n ReactCurrentOwner$2.current = null;\n\n if (erroredWork === null || erroredWork.return === null) {\n // Expected to be working on a non-root fiber. This is a fatal error\n // because there's no ancestor that can handle it; the root is\n // supposed to capture all errors that weren't caught by an error\n // boundary.\n workInProgressRootExitStatus = RootFatalErrored;\n workInProgressRootFatalError = thrownValue; // Set `workInProgress` to null. This represents advancing to the next\n // sibling, or the parent if there are no siblings. But since the root\n // has no siblings nor a parent, we set it to null. Usually this is\n // handled by `completeUnitOfWork` or `unwindWork`, but since we're\n // intentionally not calling those, we need set it here.\n // TODO: Consider calling `unwindWork` to pop the contexts.\n\n workInProgress = null;\n return;\n }\n\n if (enableProfilerTimer && erroredWork.mode & ProfileMode) {\n // Record the time spent rendering before an error was thrown. This\n // avoids inaccurate Profiler durations in the case of a\n // suspended render.\n stopProfilerTimerIfRunningAndRecordDelta(erroredWork, true);\n }\n\n if (enableSchedulingProfiler) {\n markComponentRenderStopped();\n\n if (thrownValue !== null && typeof thrownValue === 'object' && typeof thrownValue.then === 'function') {\n var wakeable = thrownValue;\n markComponentSuspended(erroredWork, wakeable, workInProgressRootRenderLanes);\n } else {\n markComponentErrored(erroredWork, thrownValue, workInProgressRootRenderLanes);\n }\n }\n\n throwException(root, erroredWork.return, erroredWork, thrownValue, workInProgressRootRenderLanes);\n completeUnitOfWork(erroredWork);\n } catch (yetAnotherThrownValue) {\n // Something in the return path also threw.\n thrownValue = yetAnotherThrownValue;\n\n if (workInProgress === erroredWork && erroredWork !== null) {\n // If this boundary has already errored, then we had trouble processing\n // the error. Bubble it to the next boundary.\n erroredWork = erroredWork.return;\n workInProgress = erroredWork;\n } else {\n erroredWork = workInProgress;\n }\n\n continue;\n } // Return to the normal work loop.\n\n\n return;\n } while (true);\n}\n\nfunction pushDispatcher() {\n var prevDispatcher = ReactCurrentDispatcher$2.current;\n ReactCurrentDispatcher$2.current = ContextOnlyDispatcher;\n\n if (prevDispatcher === null) {\n // The React isomorphic package does not include a default dispatcher.\n // Instead the first renderer will lazily attach one, in order to give\n // nicer error messages.\n return ContextOnlyDispatcher;\n } else {\n return prevDispatcher;\n }\n}\n\nfunction popDispatcher(prevDispatcher) {\n ReactCurrentDispatcher$2.current = prevDispatcher;\n}\n\nfunction markCommitTimeOfFallback() {\n globalMostRecentFallbackTime = now();\n}\nfunction markSkippedUpdateLanes(lane) {\n workInProgressRootSkippedLanes = mergeLanes(lane, workInProgressRootSkippedLanes);\n}\nfunction renderDidSuspend() {\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootSuspended;\n }\n}\nfunction renderDidSuspendDelayIfPossible() {\n if (workInProgressRootExitStatus === RootInProgress || workInProgressRootExitStatus === RootSuspended || workInProgressRootExitStatus === RootErrored) {\n workInProgressRootExitStatus = RootSuspendedWithDelay;\n } // Check if there are updates that we skipped tree that might have unblocked\n // this render.\n\n\n if (workInProgressRoot !== null && (includesNonIdleWork(workInProgressRootSkippedLanes) || includesNonIdleWork(workInProgressRootInterleavedUpdatedLanes))) {\n // Mark the current render as suspended so that we switch to working on\n // the updates that were skipped. Usually we only suspend at the end of\n // the render phase.\n // TODO: We should probably always mark the root as suspended immediately\n // (inside this function), since by suspending at the end of the render\n // phase introduces a potential mistake where we suspend lanes that were\n // pinged or updated while we were rendering.\n markRootSuspended$1(workInProgressRoot, workInProgressRootRenderLanes);\n }\n}\nfunction renderDidError(error) {\n if (workInProgressRootExitStatus !== RootSuspendedWithDelay) {\n workInProgressRootExitStatus = RootErrored;\n }\n\n if (workInProgressRootConcurrentErrors === null) {\n workInProgressRootConcurrentErrors = [error];\n } else {\n workInProgressRootConcurrentErrors.push(error);\n }\n} // Called during render to determine if anything has suspended.\n// Returns false if we're not sure.\n\nfunction renderHasNotSuspendedYet() {\n // If something errored or completed, we can't really be sure,\n // so those are false.\n return workInProgressRootExitStatus === RootInProgress;\n}\n\nfunction renderRootSync(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n do {\n try {\n workLoopSync();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n } while (true);\n\n resetContextDependencies();\n executionContext = prevExecutionContext;\n popDispatcher(prevDispatcher);\n\n if (workInProgress !== null) {\n // This is a sync render, so we should have finished the whole tree.\n throw new Error('Cannot commit an incomplete root. This error is likely caused by a ' + 'bug in React. Please file an issue.');\n }\n\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes;\n return workInProgressRootExitStatus;\n} // The work loop is an extremely hot path. Tell Closure not to inline it.\n\n/** @noinline */\n\n\nfunction workLoopSync() {\n // Already timed out, so perform work without checking if we need to yield.\n while (workInProgress !== null) {\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n resetRenderTimer();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n do {\n try {\n workLoopConcurrent();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n } while (true);\n\n resetContextDependencies();\n popDispatcher(prevDispatcher);\n executionContext = prevExecutionContext;\n\n\n if (workInProgress !== null) {\n // Still work remaining.\n {\n markRenderYielded();\n }\n\n return RootInProgress;\n } else {\n // Completed the tree.\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes; // Return the final exit status.\n\n return workInProgressRootExitStatus;\n }\n}\n/** @noinline */\n\n\nfunction workLoopConcurrent() {\n // Perform work until Scheduler asks us to yield\n while (workInProgress !== null && !shouldYield()) {\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction performUnitOfWork(unitOfWork) {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = unitOfWork.alternate;\n setCurrentFiber(unitOfWork);\n var next;\n\n if ( (unitOfWork.mode & ProfileMode) !== NoMode) {\n startProfilerTimer(unitOfWork);\n next = beginWork$1(current, unitOfWork, subtreeRenderLanes);\n stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true);\n } else {\n next = beginWork$1(current, unitOfWork, subtreeRenderLanes);\n }\n\n resetCurrentFiber();\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n\n if (next === null) {\n // If this doesn't spawn new work, complete the current work.\n completeUnitOfWork(unitOfWork);\n } else {\n workInProgress = next;\n }\n\n ReactCurrentOwner$2.current = null;\n}\n\nfunction completeUnitOfWork(unitOfWork) {\n // Attempt to complete the current unit of work, then move to the next\n // sibling. If there are no more siblings, return to the parent fiber.\n var completedWork = unitOfWork;\n\n do {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = completedWork.alternate;\n var returnFiber = completedWork.return; // Check if the work completed or if something threw.\n\n if ((completedWork.flags & Incomplete) === NoFlags) {\n setCurrentFiber(completedWork);\n var next = void 0;\n\n if ( (completedWork.mode & ProfileMode) === NoMode) {\n next = completeWork(current, completedWork, subtreeRenderLanes);\n } else {\n startProfilerTimer(completedWork);\n next = completeWork(current, completedWork, subtreeRenderLanes); // Update render duration assuming we didn't error.\n\n stopProfilerTimerIfRunningAndRecordDelta(completedWork, false);\n }\n\n resetCurrentFiber();\n\n if (next !== null) {\n // Completing this fiber spawned new work. Work on that next.\n workInProgress = next;\n return;\n }\n } else {\n // This fiber did not complete because something threw. Pop values off\n // the stack without entering the complete phase. If this is a boundary,\n // capture values if possible.\n var _next = unwindWork(current, completedWork); // Because this fiber did not complete, don't reset its lanes.\n\n\n if (_next !== null) {\n // If completing this work spawned new work, do that next. We'll come\n // back here again.\n // Since we're restarting, remove anything that is not a host effect\n // from the effect tag.\n _next.flags &= HostEffectMask;\n workInProgress = _next;\n return;\n }\n\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // Record the render duration for the fiber that errored.\n stopProfilerTimerIfRunningAndRecordDelta(completedWork, false); // Include the time spent working on failed children before continuing.\n\n var actualDuration = completedWork.actualDuration;\n var child = completedWork.child;\n\n while (child !== null) {\n actualDuration += child.actualDuration;\n child = child.sibling;\n }\n\n completedWork.actualDuration = actualDuration;\n }\n\n if (returnFiber !== null) {\n // Mark the parent fiber as incomplete and clear its subtree flags.\n returnFiber.flags |= Incomplete;\n returnFiber.subtreeFlags = NoFlags;\n returnFiber.deletions = null;\n } else {\n // We've unwound all the way to the root.\n workInProgressRootExitStatus = RootDidNotComplete;\n workInProgress = null;\n return;\n }\n }\n\n var siblingFiber = completedWork.sibling;\n\n if (siblingFiber !== null) {\n // If there is more work to do in this returnFiber, do that next.\n workInProgress = siblingFiber;\n return;\n } // Otherwise, return to the parent\n\n\n completedWork = returnFiber; // Update the next thing we're working on in case something throws.\n\n workInProgress = completedWork;\n } while (completedWork !== null); // We've reached the root.\n\n\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootCompleted;\n }\n}\n\nfunction commitRoot(root, recoverableErrors, transitions) {\n // TODO: This no longer makes any sense. We already wrap the mutation and\n // layout phases. Should be able to remove.\n var previousUpdateLanePriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n commitRootImpl(root, recoverableErrors, transitions, previousUpdateLanePriority);\n } finally {\n ReactCurrentBatchConfig$3.transition = prevTransition;\n setCurrentUpdatePriority(previousUpdateLanePriority);\n }\n\n return null;\n}\n\nfunction commitRootImpl(root, recoverableErrors, transitions, renderPriorityLevel) {\n do {\n // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which\n // means `flushPassiveEffects` will sometimes result in additional\n // passive effects. So we need to keep flushing in a loop until there are\n // no more pending effects.\n // TODO: Might be better if `flushPassiveEffects` did not automatically\n // flush synchronous work at the end, to avoid factoring hazards like this.\n flushPassiveEffects();\n } while (rootWithPendingPassiveEffects !== null);\n\n flushRenderPhaseStrictModeWarningsInDEV();\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n var finishedWork = root.finishedWork;\n var lanes = root.finishedLanes;\n\n {\n markCommitStarted(lanes);\n }\n\n if (finishedWork === null) {\n\n {\n markCommitStopped();\n }\n\n return null;\n } else {\n {\n if (lanes === NoLanes) {\n error('root.finishedLanes should not be empty during a commit. This is a ' + 'bug in React.');\n }\n }\n }\n\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n\n if (finishedWork === root.current) {\n throw new Error('Cannot commit the same tree as before. This error is likely caused by ' + 'a bug in React. Please file an issue.');\n } // commitRoot never returns a continuation; it always finishes synchronously.\n // So we can clear these now to allow a new callback to be scheduled.\n\n\n root.callbackNode = null;\n root.callbackPriority = NoLane; // Update the first and last pending times on this root. The new first\n // pending time is whatever is left on the root fiber.\n\n var remainingLanes = mergeLanes(finishedWork.lanes, finishedWork.childLanes);\n markRootFinished(root, remainingLanes);\n\n if (root === workInProgressRoot) {\n // We can reset these now that they are finished.\n workInProgressRoot = null;\n workInProgress = null;\n workInProgressRootRenderLanes = NoLanes;\n } // If there are pending passive effects, schedule a callback to process them.\n // Do this as early as possible, so it is queued before anything else that\n // might get scheduled in the commit phase. (See #16714.)\n // TODO: Delete all other places that schedule the passive effect callback\n // They're redundant.\n\n\n if ((finishedWork.subtreeFlags & PassiveMask) !== NoFlags || (finishedWork.flags & PassiveMask) !== NoFlags) {\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n // to store it in pendingPassiveTransitions until they get processed\n // We need to pass this through as an argument to commitRoot\n // because workInProgressTransitions might have changed between\n // the previous render and commit if we throttle the commit\n // with setTimeout\n\n pendingPassiveTransitions = transitions;\n scheduleCallback$1(NormalPriority, function () {\n flushPassiveEffects(); // This render triggered passive effects: release the root cache pool\n // *after* passive effects fire to avoid freeing a cache pool that may\n // be referenced by a node in the tree (HostRoot, Cache boundary etc)\n\n return null;\n });\n }\n } // Check if there are any effects in the whole tree.\n // TODO: This is left over from the effect list implementation, where we had\n // to check for the existence of `firstEffect` to satisfy Flow. I think the\n // only other reason this optimization exists is because it affects profiling.\n // Reconsider whether this is necessary.\n\n\n var subtreeHasEffects = (finishedWork.subtreeFlags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags;\n var rootHasEffect = (finishedWork.flags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags;\n\n if (subtreeHasEffects || rootHasEffect) {\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n ReactCurrentBatchConfig$3.transition = null;\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(DiscreteEventPriority);\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext; // Reset this to null before calling lifecycles\n\n ReactCurrentOwner$2.current = null; // The commit phase is broken into several sub-phases. We do a separate pass\n // of the effect list for each phase: all mutation effects come before all\n // layout effects, and so on.\n // The first phase a \"before mutation\" phase. We use this phase to read the\n // state of the host tree right before we mutate it. This is where\n // getSnapshotBeforeUpdate is called.\n\n var shouldFireAfterActiveInstanceBlur = commitBeforeMutationEffects(root, finishedWork);\n\n {\n // Mark the current commit time to be shared by all Profilers in this\n // batch. This enables them to be grouped later.\n recordCommitTime();\n }\n\n\n commitMutationEffects(root, finishedWork, lanes);\n\n resetAfterCommit(root.containerInfo); // The work-in-progress tree is now the current tree. This must come after\n // the mutation phase, so that the previous tree is still current during\n // componentWillUnmount, but before the layout phase, so that the finished\n // work is current during componentDidMount/Update.\n\n root.current = finishedWork; // The next phase is the layout phase, where we call effects that read\n\n {\n markLayoutEffectsStarted(lanes);\n }\n\n commitLayoutEffects(finishedWork, root, lanes);\n\n {\n markLayoutEffectsStopped();\n }\n // opportunity to paint.\n\n\n requestPaint();\n executionContext = prevExecutionContext; // Reset the priority to the previous non-sync value.\n\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n } else {\n // No effects.\n root.current = finishedWork; // Measure these anyway so the flamegraph explicitly shows that there were\n // no effects.\n // TODO: Maybe there's a better way to report this.\n\n {\n recordCommitTime();\n }\n }\n\n var rootDidHavePassiveEffects = rootDoesHavePassiveEffects;\n\n if (rootDoesHavePassiveEffects) {\n // This commit has passive effects. Stash a reference to them. But don't\n // schedule a callback until after flushing layout work.\n rootDoesHavePassiveEffects = false;\n rootWithPendingPassiveEffects = root;\n pendingPassiveEffectsLanes = lanes;\n } else {\n\n {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n }\n } // Read this again, since an effect might have updated it\n\n\n remainingLanes = root.pendingLanes; // Check if there's remaining work on this root\n // TODO: This is part of the `componentDidCatch` implementation. Its purpose\n // is to detect whether something might have called setState inside\n // `componentDidCatch`. The mechanism is known to be flawed because `setState`\n // inside `componentDidCatch` is itself flawed — that's why we recommend\n // `getDerivedStateFromError` instead. However, it could be improved by\n // checking if remainingLanes includes Sync work, instead of whether there's\n // any work remaining at all (which would also include stuff like Suspense\n // retries or transitions). It's been like this for a while, though, so fixing\n // it probably isn't that urgent.\n\n if (remainingLanes === NoLanes) {\n // If there's no remaining work, we can clear the set of already failed\n // error boundaries.\n legacyErrorBoundariesThatAlreadyFailed = null;\n }\n\n {\n if (!rootDidHavePassiveEffects) {\n commitDoubleInvokeEffectsInDEV(root.current, false);\n }\n }\n\n onCommitRoot(finishedWork.stateNode, renderPriorityLevel);\n\n {\n if (isDevToolsPresent) {\n root.memoizedUpdaters.clear();\n }\n }\n\n {\n onCommitRoot$1();\n } // Always call this before exiting `commitRoot`, to ensure that any\n // additional work on this root is scheduled.\n\n\n ensureRootIsScheduled(root, now());\n\n if (recoverableErrors !== null) {\n // There were errors during this render, but recovered from them without\n // needing to surface it to the UI. We log them here.\n var onRecoverableError = root.onRecoverableError;\n\n for (var i = 0; i < recoverableErrors.length; i++) {\n var recoverableError = recoverableErrors[i];\n var componentStack = recoverableError.stack;\n var digest = recoverableError.digest;\n onRecoverableError(recoverableError.value, {\n componentStack: componentStack,\n digest: digest\n });\n }\n }\n\n if (hasUncaughtError) {\n hasUncaughtError = false;\n var error$1 = firstUncaughtError;\n firstUncaughtError = null;\n throw error$1;\n } // If the passive effects are the result of a discrete render, flush them\n // synchronously at the end of the current task so that the result is\n // immediately observable. Otherwise, we assume that they are not\n // order-dependent and do not need to be observed by external systems, so we\n // can wait until after paint.\n // TODO: We can optimize this by not scheduling the callback earlier. Since we\n // currently schedule the callback in multiple places, will wait until those\n // are consolidated.\n\n\n if (includesSomeLane(pendingPassiveEffectsLanes, SyncLane) && root.tag !== LegacyRoot) {\n flushPassiveEffects();\n } // Read this again, since a passive effect might have updated it\n\n\n remainingLanes = root.pendingLanes;\n\n if (includesSomeLane(remainingLanes, SyncLane)) {\n {\n markNestedUpdateScheduled();\n } // Count the number of times the root synchronously re-renders without\n // finishing. If there are too many, it indicates an infinite update loop.\n\n\n if (root === rootWithNestedUpdates) {\n nestedUpdateCount++;\n } else {\n nestedUpdateCount = 0;\n rootWithNestedUpdates = root;\n }\n } else {\n nestedUpdateCount = 0;\n } // If layout work was scheduled, flush it now.\n\n\n flushSyncCallbacks();\n\n {\n markCommitStopped();\n }\n\n return null;\n}\n\nfunction flushPassiveEffects() {\n // Returns whether passive effects were flushed.\n // TODO: Combine this check with the one in flushPassiveEFfectsImpl. We should\n // probably just combine the two functions. I believe they were only separate\n // in the first place because we used to wrap it with\n // `Scheduler.runWithPriority`, which accepts a function. But now we track the\n // priority within React itself, so we can mutate the variable directly.\n if (rootWithPendingPassiveEffects !== null) {\n var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes);\n var priority = lowerEventPriority(DefaultEventPriority, renderPriority);\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(priority);\n return flushPassiveEffectsImpl();\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition; // Once passive effects have run for the tree - giving components a\n }\n }\n\n return false;\n}\nfunction enqueuePendingPassiveProfilerEffect(fiber) {\n {\n pendingPassiveProfilerEffects.push(fiber);\n\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n scheduleCallback$1(NormalPriority, function () {\n flushPassiveEffects();\n return null;\n });\n }\n }\n}\n\nfunction flushPassiveEffectsImpl() {\n if (rootWithPendingPassiveEffects === null) {\n return false;\n } // Cache and clear the transitions flag\n\n\n var transitions = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root = rootWithPendingPassiveEffects;\n var lanes = pendingPassiveEffectsLanes;\n rootWithPendingPassiveEffects = null; // TODO: This is sometimes out of sync with rootWithPendingPassiveEffects.\n // Figure out why and fix it. It's not causing any known issues (probably\n // because it's only used for profiling), but it's a refactor hazard.\n\n pendingPassiveEffectsLanes = NoLanes;\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Cannot flush passive effects while already rendering.');\n }\n\n {\n isFlushingPassiveEffects = true;\n didScheduleUpdateDuringPassiveEffects = false;\n }\n\n {\n markPassiveEffectsStarted(lanes);\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext;\n commitPassiveUnmountEffects(root.current);\n commitPassiveMountEffects(root, root.current, lanes, transitions); // TODO: Move to commitPassiveMountEffects\n\n {\n var profilerEffects = pendingPassiveProfilerEffects;\n pendingPassiveProfilerEffects = [];\n\n for (var i = 0; i < profilerEffects.length; i++) {\n var _fiber = profilerEffects[i];\n commitPassiveEffectDurations(root, _fiber);\n }\n }\n\n {\n markPassiveEffectsStopped();\n }\n\n {\n commitDoubleInvokeEffectsInDEV(root.current, true);\n }\n\n executionContext = prevExecutionContext;\n flushSyncCallbacks();\n\n {\n // If additional passive effects were scheduled, increment a counter. If this\n // exceeds the limit, we'll fire a warning.\n if (didScheduleUpdateDuringPassiveEffects) {\n if (root === rootWithPassiveNestedUpdates) {\n nestedPassiveUpdateCount++;\n } else {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = root;\n }\n } else {\n nestedPassiveUpdateCount = 0;\n }\n\n isFlushingPassiveEffects = false;\n didScheduleUpdateDuringPassiveEffects = false;\n } // TODO: Move to commitPassiveMountEffects\n\n\n onPostCommitRoot(root);\n\n {\n var stateNode = root.current.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n\n return true;\n}\n\nfunction isAlreadyFailedLegacyErrorBoundary(instance) {\n return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance);\n}\nfunction markLegacyErrorBoundaryAsFailed(instance) {\n if (legacyErrorBoundariesThatAlreadyFailed === null) {\n legacyErrorBoundariesThatAlreadyFailed = new Set([instance]);\n } else {\n legacyErrorBoundariesThatAlreadyFailed.add(instance);\n }\n}\n\nfunction prepareToThrowUncaughtError(error) {\n if (!hasUncaughtError) {\n hasUncaughtError = true;\n firstUncaughtError = error;\n }\n}\n\nvar onUncaughtError = prepareToThrowUncaughtError;\n\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n var errorInfo = createCapturedValueAtFiber(error, sourceFiber);\n var update = createRootErrorUpdate(rootFiber, errorInfo, SyncLane);\n var root = enqueueUpdate(rootFiber, update, SyncLane);\n var eventTime = requestEventTime();\n\n if (root !== null) {\n markRootUpdated(root, SyncLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n}\n\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error$1) {\n {\n reportUncaughtErrorInDEV(error$1);\n setIsRunningInsertionEffect(false);\n }\n\n if (sourceFiber.tag === HostRoot) {\n // Error was thrown at the root. There is no parent, so the root\n // itself should capture it.\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error$1);\n return;\n }\n\n var fiber = null;\n\n {\n fiber = nearestMountedAncestor;\n }\n\n while (fiber !== null) {\n if (fiber.tag === HostRoot) {\n captureCommitPhaseErrorOnRoot(fiber, sourceFiber, error$1);\n return;\n } else if (fiber.tag === ClassComponent) {\n var ctor = fiber.type;\n var instance = fiber.stateNode;\n\n if (typeof ctor.getDerivedStateFromError === 'function' || typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance)) {\n var errorInfo = createCapturedValueAtFiber(error$1, sourceFiber);\n var update = createClassErrorUpdate(fiber, errorInfo, SyncLane);\n var root = enqueueUpdate(fiber, update, SyncLane);\n var eventTime = requestEventTime();\n\n if (root !== null) {\n markRootUpdated(root, SyncLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n\n return;\n }\n }\n\n fiber = fiber.return;\n }\n\n {\n // TODO: Until we re-land skipUnmountedBoundaries (see #20147), this warning\n // will fire for errors that are thrown by destroy functions inside deleted\n // trees. What it should instead do is propagate the error to the parent of\n // the deleted tree. In the meantime, do not add this warning to the\n // allowlist; this is only for our internal use.\n error('Internal React error: Attempted to capture a commit phase error ' + 'inside a detached tree. This indicates a bug in React. Likely ' + 'causes include deleting the same fiber more than once, committing an ' + 'already-finished tree, or an inconsistent return pointer.\\n\\n' + 'Error message:\\n\\n%s', error$1);\n }\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n\n if (pingCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n pingCache.delete(wakeable);\n }\n\n var eventTime = requestEventTime();\n markRootPinged(root, pingedLanes);\n warnIfSuspenseResolutionNotWrappedWithActDEV(root);\n\n if (workInProgressRoot === root && isSubsetOfLanes(workInProgressRootRenderLanes, pingedLanes)) {\n // Received a ping at the same priority level at which we're currently\n // rendering. We might want to restart this render. This should mirror\n // the logic of whether or not a root suspends once it completes.\n // TODO: If we're rendering sync either due to Sync, Batched or expired,\n // we should probably never restart.\n // If we're suspended with delay, or if it's a retry, we'll always suspend\n // so we can always restart.\n if (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && includesOnlyRetries(workInProgressRootRenderLanes) && now() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS) {\n // Restart from the root.\n prepareFreshStack(root, NoLanes);\n } else {\n // Even though we can't restart right now, we might get an\n // opportunity later. So we mark this render as having a ping.\n workInProgressRootPingedLanes = mergeLanes(workInProgressRootPingedLanes, pingedLanes);\n }\n }\n\n ensureRootIsScheduled(root, eventTime);\n}\n\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n // The boundary fiber (a Suspense component or SuspenseList component)\n // previously was rendered in its fallback state. One of the promises that\n // suspended it has resolved, which means at least part of the tree was\n // likely unblocked. Try rendering again, at a new lanes.\n if (retryLane === NoLane) {\n // TODO: Assign this to `suspenseState.retryLane`? to avoid\n // unnecessary entanglement?\n retryLane = requestRetryLane(boundaryFiber);\n } // TODO: Special case idle priority?\n\n\n var eventTime = requestEventTime();\n var root = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n\n if (root !== null) {\n markRootUpdated(root, retryLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n}\n\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState;\n var retryLane = NoLane;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = NoLane; // Default\n\n var retryCache;\n\n switch (boundaryFiber.tag) {\n case SuspenseComponent:\n retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n break;\n\n case SuspenseListComponent:\n retryCache = boundaryFiber.stateNode;\n break;\n\n default:\n throw new Error('Pinged unknown suspense boundary type. ' + 'This is probably a bug in React.');\n }\n\n if (retryCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n retryCache.delete(wakeable);\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n} // Computes the next Just Noticeable Difference (JND) boundary.\n// The theory is that a person can't tell the difference between small differences in time.\n// Therefore, if we wait a bit longer than necessary that won't translate to a noticeable\n// difference in the experience. However, waiting for longer might mean that we can avoid\n// showing an intermediate loading state. The longer we have already waited, the harder it\n// is to tell small differences in time. Therefore, the longer we've already waited,\n// the longer we can wait additionally. At some point we have to give up though.\n// We pick a train model where the next boundary commits at a consistent schedule.\n// These particular numbers are vague estimates. We expect to adjust them based on research.\n\nfunction jnd(timeElapsed) {\n return timeElapsed < 120 ? 120 : timeElapsed < 480 ? 480 : timeElapsed < 1080 ? 1080 : timeElapsed < 1920 ? 1920 : timeElapsed < 3000 ? 3000 : timeElapsed < 4320 ? 4320 : ceil(timeElapsed / 1960) * 1960;\n}\n\nfunction checkForNestedUpdates() {\n if (nestedUpdateCount > NESTED_UPDATE_LIMIT) {\n nestedUpdateCount = 0;\n rootWithNestedUpdates = null;\n throw new Error('Maximum update depth exceeded. This can happen when a component ' + 'repeatedly calls setState inside componentWillUpdate or ' + 'componentDidUpdate. React limits the number of nested updates to ' + 'prevent infinite loops.');\n }\n\n {\n if (nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT) {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n\n error('Maximum update depth exceeded. This can happen when a component ' + \"calls setState inside useEffect, but useEffect either doesn't \" + 'have a dependency array, or one of the dependencies changes on ' + 'every render.');\n }\n }\n}\n\nfunction flushRenderPhaseStrictModeWarningsInDEV() {\n {\n ReactStrictModeWarnings.flushLegacyContextWarning();\n\n {\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();\n }\n }\n}\n\nfunction commitDoubleInvokeEffectsInDEV(fiber, hasPassiveEffects) {\n {\n // TODO (StrictEffects) Should we set a marker on the root if it contains strict effects\n // so we don't traverse unnecessarily? similar to subtreeFlags but just at the root level.\n // Maybe not a big deal since this is DEV only behavior.\n setCurrentFiber(fiber);\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectUnmountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectUnmountInDEV);\n }\n\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectMountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectMountInDEV);\n }\n\n resetCurrentFiber();\n }\n}\n\nfunction invokeEffectsInDev(firstChild, fiberFlags, invokeEffectFn) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n var current = firstChild;\n var subtreeRoot = null;\n\n while (current !== null) {\n var primarySubtreeFlag = current.subtreeFlags & fiberFlags;\n\n if (current !== subtreeRoot && current.child !== null && primarySubtreeFlag !== NoFlags) {\n current = current.child;\n } else {\n if ((current.flags & fiberFlags) !== NoFlags) {\n invokeEffectFn(current);\n }\n\n if (current.sibling !== null) {\n current = current.sibling;\n } else {\n current = subtreeRoot = current.return;\n }\n }\n }\n }\n}\n\nvar didWarnStateUpdateForNotYetMountedComponent = null;\nfunction warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) {\n {\n if ((executionContext & RenderContext) !== NoContext) {\n // We let the other warning about render phase updates deal with this one.\n return;\n }\n\n if (!(fiber.mode & ConcurrentMode)) {\n return;\n }\n\n var tag = fiber.tag;\n\n if (tag !== IndeterminateComponent && tag !== HostRoot && tag !== ClassComponent && tag !== FunctionComponent && tag !== ForwardRef && tag !== MemoComponent && tag !== SimpleMemoComponent) {\n // Only warn for user-defined components, not internal ones like Suspense.\n return;\n } // We show the whole stack but dedupe on the top component's name because\n // the problematic code almost always lies inside that component.\n\n\n var componentName = getComponentNameFromFiber(fiber) || 'ReactComponent';\n\n if (didWarnStateUpdateForNotYetMountedComponent !== null) {\n if (didWarnStateUpdateForNotYetMountedComponent.has(componentName)) {\n return;\n }\n\n didWarnStateUpdateForNotYetMountedComponent.add(componentName);\n } else {\n didWarnStateUpdateForNotYetMountedComponent = new Set([componentName]);\n }\n\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error(\"Can't perform a React state update on a component that hasn't mounted yet. \" + 'This indicates that you have a side-effect in your render function that ' + 'asynchronously later calls tries to update the component. Move this work to ' + 'useEffect instead.');\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n}\nvar beginWork$1;\n\n{\n var dummyFiber = null;\n\n beginWork$1 = function (current, unitOfWork, lanes) {\n // If a component throws an error, we replay it again in a synchronously\n // dispatched event, so that the debugger will treat it as an uncaught\n // error See ReactErrorUtils for more information.\n // Before entering the begin phase, copy the work-in-progress onto a dummy\n // fiber. If beginWork throws, we'll use this to reset the state.\n var originalWorkInProgressCopy = assignFiberPropertiesInDEV(dummyFiber, unitOfWork);\n\n try {\n return beginWork(current, unitOfWork, lanes);\n } catch (originalError) {\n if (didSuspendOrErrorWhileHydratingDEV() || originalError !== null && typeof originalError === 'object' && typeof originalError.then === 'function') {\n // Don't replay promises.\n // Don't replay errors if we are hydrating and have already suspended or handled an error\n throw originalError;\n } // Keep this code in sync with handleError; any changes here must have\n // corresponding changes there.\n\n\n resetContextDependencies();\n resetHooksAfterThrow(); // Don't reset current debug fiber, since we're about to work on the\n // same fiber again.\n // Unwind the failed stack frame\n\n unwindInterruptedWork(current, unitOfWork); // Restore the original properties of the fiber.\n\n assignFiberPropertiesInDEV(unitOfWork, originalWorkInProgressCopy);\n\n if ( unitOfWork.mode & ProfileMode) {\n // Reset the profiler timer.\n startProfilerTimer(unitOfWork);\n } // Run beginWork again.\n\n\n invokeGuardedCallback(null, beginWork, null, current, unitOfWork, lanes);\n\n if (hasCaughtError()) {\n var replayError = clearCaughtError();\n\n if (typeof replayError === 'object' && replayError !== null && replayError._suppressLogging && typeof originalError === 'object' && originalError !== null && !originalError._suppressLogging) {\n // If suppressed, let the flag carry over to the original error which is the one we'll rethrow.\n originalError._suppressLogging = true;\n }\n } // We always throw the original error in case the second render pass is not idempotent.\n // This can happen if a memoized function or CommonJS module doesn't throw after first invocation.\n\n\n throw originalError;\n }\n };\n}\n\nvar didWarnAboutUpdateInRender = false;\nvar didWarnAboutUpdateInRenderForAnotherComponent;\n\n{\n didWarnAboutUpdateInRenderForAnotherComponent = new Set();\n}\n\nfunction warnAboutRenderPhaseUpdatesInDEV(fiber) {\n {\n if (isRendering && !getIsUpdatingOpaqueValueInRenderPhaseInDEV()) {\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n var renderingComponentName = workInProgress && getComponentNameFromFiber(workInProgress) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed.\n\n var dedupeKey = renderingComponentName;\n\n if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) {\n didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey);\n var setStateComponentName = getComponentNameFromFiber(fiber) || 'Unknown';\n\n error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://reactjs.org/link/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n if (!didWarnAboutUpdateInRender) {\n error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');\n\n didWarnAboutUpdateInRender = true;\n }\n\n break;\n }\n }\n }\n }\n}\n\nfunction restorePendingUpdaters(root, lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n memoizedUpdaters.forEach(function (schedulingFiber) {\n addFiberToLanesMap(root, schedulingFiber, lanes);\n }); // This function intentionally does not clear memoized updaters.\n // Those may still be relevant to the current commit\n // and a future one (e.g. Suspense).\n }\n }\n}\nvar fakeActCallbackNode = {};\n\nfunction scheduleCallback$1(priorityLevel, callback) {\n {\n // If we're currently inside an `act` scope, bypass Scheduler and push to\n // the `act` queue instead.\n var actQueue = ReactCurrentActQueue$1.current;\n\n if (actQueue !== null) {\n actQueue.push(callback);\n return fakeActCallbackNode;\n } else {\n return scheduleCallback(priorityLevel, callback);\n }\n }\n}\n\nfunction cancelCallback$1(callbackNode) {\n if ( callbackNode === fakeActCallbackNode) {\n return;\n } // In production, always call Scheduler. This function will be stripped out.\n\n\n return cancelCallback(callbackNode);\n}\n\nfunction shouldForceFlushFallbacksInDEV() {\n // Never force flush in production. This function should get stripped out.\n return ReactCurrentActQueue$1.current !== null;\n}\n\nfunction warnIfUpdatesNotWrappedWithActDEV(fiber) {\n {\n if (fiber.mode & ConcurrentMode) {\n if (!isConcurrentActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n } else {\n // Legacy mode has additional cases where we suppress a warning.\n if (!isLegacyActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n\n if (executionContext !== NoContext) {\n // Legacy mode doesn't warn if the update is batched, i.e.\n // batchedUpdates or flushSync.\n return;\n }\n\n if (fiber.tag !== FunctionComponent && fiber.tag !== ForwardRef && fiber.tag !== SimpleMemoComponent) {\n // For backwards compatibility with pre-hooks code, legacy mode only\n // warns for updates that originate from a hook.\n return;\n }\n }\n\n if (ReactCurrentActQueue$1.current === null) {\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error('An update to %s inside a test was not wrapped in act(...).\\n\\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\\n\\n' + 'act(() => {\\n' + ' /* fire events that update state */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act', getComponentNameFromFiber(fiber));\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n}\n\nfunction warnIfSuspenseResolutionNotWrappedWithActDEV(root) {\n {\n if (root.tag !== LegacyRoot && isConcurrentActEnvironment() && ReactCurrentActQueue$1.current === null) {\n error('A suspended resource finished loading inside a test, but the event ' + 'was not wrapped in act(...).\\n\\n' + 'When testing, code that resolves suspended data should be wrapped ' + 'into act(...):\\n\\n' + 'act(() => {\\n' + ' /* finish loading suspended data */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act');\n }\n }\n}\n\nfunction setIsRunningInsertionEffect(isRunning) {\n {\n isRunningInsertionEffect = isRunning;\n }\n}\n\n/* eslint-disable react-internal/prod-error-codes */\nvar resolveFamily = null; // $FlowFixMe Flow gets confused by a WeakSet feature check below.\n\nvar failedBoundaries = null;\nvar setRefreshHandler = function (handler) {\n {\n resolveFamily = handler;\n }\n};\nfunction resolveFunctionForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction resolveClassForHotReloading(type) {\n // No implementation differences.\n return resolveFunctionForHotReloading(type);\n}\nfunction resolveForwardRefForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n // Check if we're dealing with a real forwardRef. Don't want to crash early.\n if (type !== null && type !== undefined && typeof type.render === 'function') {\n // ForwardRef is special because its resolved .type is an object,\n // but it's possible that we only have its inner render function in the map.\n // If that inner render function is different, we'll build a new forwardRef type.\n var currentRender = resolveFunctionForHotReloading(type.render);\n\n if (type.render !== currentRender) {\n var syntheticType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: currentRender\n };\n\n if (type.displayName !== undefined) {\n syntheticType.displayName = type.displayName;\n }\n\n return syntheticType;\n }\n }\n\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction isCompatibleFamilyForHotReloading(fiber, element) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return false;\n }\n\n var prevType = fiber.elementType;\n var nextType = element.type; // If we got here, we know types aren't === equal.\n\n var needsCompareFamilies = false;\n var $$typeofNextType = typeof nextType === 'object' && nextType !== null ? nextType.$$typeof : null;\n\n switch (fiber.tag) {\n case ClassComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case FunctionComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n // We don't know the inner type yet.\n // We're going to assume that the lazy inner type is stable,\n // and so it is sufficient to avoid reconciling it away.\n // We're not going to unwrap or actually use the new lazy type.\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case ForwardRef:\n {\n if ($$typeofNextType === REACT_FORWARD_REF_TYPE) {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if ($$typeofNextType === REACT_MEMO_TYPE) {\n // TODO: if it was but can no longer be simple,\n // we shouldn't set this.\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n default:\n return false;\n } // Check if both types have a family and it's the same one.\n\n\n if (needsCompareFamilies) {\n // Note: memo() and forwardRef() we'll compare outer rather than inner type.\n // This means both of them need to be registered to preserve state.\n // If we unwrapped and compared the inner types for wrappers instead,\n // then we would risk falsely saying two separate memo(Foo)\n // calls are equivalent because they wrap the same Foo function.\n var prevFamily = resolveFamily(prevType);\n\n if (prevFamily !== undefined && prevFamily === resolveFamily(nextType)) {\n return true;\n }\n }\n\n return false;\n }\n}\nfunction markFailedErrorBoundaryForHotReloading(fiber) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n if (typeof WeakSet !== 'function') {\n return;\n }\n\n if (failedBoundaries === null) {\n failedBoundaries = new WeakSet();\n }\n\n failedBoundaries.add(fiber);\n }\n}\nvar scheduleRefresh = function (root, update) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n var staleFamilies = update.staleFamilies,\n updatedFamilies = update.updatedFamilies;\n flushPassiveEffects();\n flushSync(function () {\n scheduleFibersWithFamiliesRecursively(root.current, updatedFamilies, staleFamilies);\n });\n }\n};\nvar scheduleRoot = function (root, element) {\n {\n if (root.context !== emptyContextObject) {\n // Super edge case: root has a legacy _renderSubtree context\n // but we don't know the parentComponent so we can't pass it.\n // Just ignore. We'll delete this with _renderSubtree code path later.\n return;\n }\n\n flushPassiveEffects();\n flushSync(function () {\n updateContainer(element, root, null, null);\n });\n }\n};\n\nfunction scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {\n {\n var alternate = fiber.alternate,\n child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n if (resolveFamily === null) {\n throw new Error('Expected resolveFamily to be set during hot reload.');\n }\n\n var needsRender = false;\n var needsRemount = false;\n\n if (candidateType !== null) {\n var family = resolveFamily(candidateType);\n\n if (family !== undefined) {\n if (staleFamilies.has(family)) {\n needsRemount = true;\n } else if (updatedFamilies.has(family)) {\n if (tag === ClassComponent) {\n needsRemount = true;\n } else {\n needsRender = true;\n }\n }\n }\n }\n\n if (failedBoundaries !== null) {\n if (failedBoundaries.has(fiber) || alternate !== null && failedBoundaries.has(alternate)) {\n needsRemount = true;\n }\n }\n\n if (needsRemount) {\n fiber._debugNeedsRemount = true;\n }\n\n if (needsRemount || needsRender) {\n var _root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (_root !== null) {\n scheduleUpdateOnFiber(_root, fiber, SyncLane, NoTimestamp);\n }\n }\n\n if (child !== null && !needsRemount) {\n scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies);\n }\n\n if (sibling !== null) {\n scheduleFibersWithFamiliesRecursively(sibling, updatedFamilies, staleFamilies);\n }\n }\n}\n\nvar findHostInstancesForRefresh = function (root, families) {\n {\n var hostInstances = new Set();\n var types = new Set(families.map(function (family) {\n return family.current;\n }));\n findHostInstancesForMatchingFibersRecursively(root.current, types, hostInstances);\n return hostInstances;\n }\n};\n\nfunction findHostInstancesForMatchingFibersRecursively(fiber, types, hostInstances) {\n {\n var child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n var didMatch = false;\n\n if (candidateType !== null) {\n if (types.has(candidateType)) {\n didMatch = true;\n }\n }\n\n if (didMatch) {\n // We have a match. This only drills down to the closest host components.\n // There's no need to search deeper because for the purpose of giving\n // visual feedback, \"flashing\" outermost parent rectangles is sufficient.\n findHostInstancesForFiberShallowly(fiber, hostInstances);\n } else {\n // If there's no match, maybe there will be one further down in the child tree.\n if (child !== null) {\n findHostInstancesForMatchingFibersRecursively(child, types, hostInstances);\n }\n }\n\n if (sibling !== null) {\n findHostInstancesForMatchingFibersRecursively(sibling, types, hostInstances);\n }\n }\n}\n\nfunction findHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var foundHostInstances = findChildHostInstancesForFiberShallowly(fiber, hostInstances);\n\n if (foundHostInstances) {\n return;\n } // If we didn't find any host children, fallback to closest host parent.\n\n\n var node = fiber;\n\n while (true) {\n switch (node.tag) {\n case HostComponent:\n hostInstances.add(node.stateNode);\n return;\n\n case HostPortal:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n\n case HostRoot:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n }\n\n if (node.return === null) {\n throw new Error('Expected to reach root first.');\n }\n\n node = node.return;\n }\n }\n}\n\nfunction findChildHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var node = fiber;\n var foundHostInstances = false;\n\n while (true) {\n if (node.tag === HostComponent) {\n // We got a match.\n foundHostInstances = true;\n hostInstances.add(node.stateNode); // There may still be more, so keep searching.\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === fiber) {\n return foundHostInstances;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === fiber) {\n return foundHostInstances;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n\n return false;\n}\n\nvar hasBadMapPolyfill;\n\n{\n hasBadMapPolyfill = false;\n\n try {\n var nonExtensibleObject = Object.preventExtensions({});\n /* eslint-disable no-new */\n\n new Map([[nonExtensibleObject, null]]);\n new Set([nonExtensibleObject]);\n /* eslint-enable no-new */\n } catch (e) {\n // TODO: Consider warning about bad polyfills\n hasBadMapPolyfill = true;\n }\n}\n\nfunction FiberNode(tag, pendingProps, key, mode) {\n // Instance\n this.tag = tag;\n this.key = key;\n this.elementType = null;\n this.type = null;\n this.stateNode = null; // Fiber\n\n this.return = null;\n this.child = null;\n this.sibling = null;\n this.index = 0;\n this.ref = null;\n this.pendingProps = pendingProps;\n this.memoizedProps = null;\n this.updateQueue = null;\n this.memoizedState = null;\n this.dependencies = null;\n this.mode = mode; // Effects\n\n this.flags = NoFlags;\n this.subtreeFlags = NoFlags;\n this.deletions = null;\n this.lanes = NoLanes;\n this.childLanes = NoLanes;\n this.alternate = null;\n\n {\n // Note: The following is done to avoid a v8 performance cliff.\n //\n // Initializing the fields below to smis and later updating them with\n // double values will cause Fibers to end up having separate shapes.\n // This behavior/bug has something to do with Object.preventExtension().\n // Fortunately this only impacts DEV builds.\n // Unfortunately it makes React unusably slow for some applications.\n // To work around this, initialize the fields below with doubles.\n //\n // Learn more about this here:\n // https://github.com/facebook/react/issues/14365\n // https://bugs.chromium.org/p/v8/issues/detail?id=8538\n this.actualDuration = Number.NaN;\n this.actualStartTime = Number.NaN;\n this.selfBaseDuration = Number.NaN;\n this.treeBaseDuration = Number.NaN; // It's okay to replace the initial doubles with smis after initialization.\n // This won't trigger the performance cliff mentioned above,\n // and it simplifies other profiler code (including DevTools).\n\n this.actualDuration = 0;\n this.actualStartTime = -1;\n this.selfBaseDuration = 0;\n this.treeBaseDuration = 0;\n }\n\n {\n // This isn't directly used but is handy for debugging internals:\n this._debugSource = null;\n this._debugOwner = null;\n this._debugNeedsRemount = false;\n this._debugHookTypes = null;\n\n if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') {\n Object.preventExtensions(this);\n }\n }\n} // This is a constructor function, rather than a POJO constructor, still\n// please ensure we do the following:\n// 1) Nobody should add any instance methods on this. Instance methods can be\n// more difficult to predict when they get optimized and they are almost\n// never inlined properly in static compilers.\n// 2) Nobody should rely on `instanceof Fiber` for type testing. We should\n// always know when it is a fiber.\n// 3) We might want to experiment with using numeric keys since they are easier\n// to optimize in a non-JIT environment.\n// 4) We can easily go from a constructor to a createFiber object literal if that\n// is faster.\n// 5) It should be easy to port this to a C struct and keep a C implementation\n// compatible.\n\n\nvar createFiber = function (tag, pendingProps, key, mode) {\n // $FlowFixMe: the shapes are exact here but Flow doesn't like constructors\n return new FiberNode(tag, pendingProps, key, mode);\n};\n\nfunction shouldConstruct$1(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction isSimpleFunctionComponent(type) {\n return typeof type === 'function' && !shouldConstruct$1(type) && type.defaultProps === undefined;\n}\nfunction resolveLazyComponentTag(Component) {\n if (typeof Component === 'function') {\n return shouldConstruct$1(Component) ? ClassComponent : FunctionComponent;\n } else if (Component !== undefined && Component !== null) {\n var $$typeof = Component.$$typeof;\n\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n return ForwardRef;\n }\n\n if ($$typeof === REACT_MEMO_TYPE) {\n return MemoComponent;\n }\n }\n\n return IndeterminateComponent;\n} // This is used to create an alternate fiber to do work on.\n\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n\n if (workInProgress === null) {\n // We use a double buffering pooling technique because we know that we'll\n // only ever need at most two versions of a tree. We pool the \"other\" unused\n // node that we're free to reuse. This is lazily created to avoid allocating\n // extra objects for things that are never updated. It also allow us to\n // reclaim the extra memory if needed.\n workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode);\n workInProgress.elementType = current.elementType;\n workInProgress.type = current.type;\n workInProgress.stateNode = current.stateNode;\n\n {\n // DEV-only fields\n workInProgress._debugSource = current._debugSource;\n workInProgress._debugOwner = current._debugOwner;\n workInProgress._debugHookTypes = current._debugHookTypes;\n }\n\n workInProgress.alternate = current;\n current.alternate = workInProgress;\n } else {\n workInProgress.pendingProps = pendingProps; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // We already have an alternate.\n // Reset the effect tag.\n\n workInProgress.flags = NoFlags; // The effects are no longer valid.\n\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.deletions = null;\n\n {\n // We intentionally reset, rather than copy, actualDuration & actualStartTime.\n // This prevents time from endlessly accumulating in new commits.\n // This has the downside of resetting values for different priority renders,\n // But works for yielding (the common case) and should support resuming.\n workInProgress.actualDuration = 0;\n workInProgress.actualStartTime = -1;\n }\n } // Reset all effects except static ones.\n // Static effects are not specific to a render.\n\n\n workInProgress.flags = current.flags & StaticMask;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n }; // These will be overridden during the parent's reconciliation\n\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n\n {\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n\n {\n workInProgress._debugNeedsRemount = current._debugNeedsRemount;\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n case FunctionComponent:\n case SimpleMemoComponent:\n workInProgress.type = resolveFunctionForHotReloading(current.type);\n break;\n\n case ClassComponent:\n workInProgress.type = resolveClassForHotReloading(current.type);\n break;\n\n case ForwardRef:\n workInProgress.type = resolveForwardRefForHotReloading(current.type);\n break;\n }\n }\n\n return workInProgress;\n} // Used to reuse a Fiber for a second pass.\n\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n // This resets the Fiber to what createFiber or createWorkInProgress would\n // have set the values to before during the first pass. Ideally this wouldn't\n // be necessary but unfortunately many code paths reads from the workInProgress\n // when they should be reading from current and writing to workInProgress.\n // We assume pendingProps, index, key, ref, return are still untouched to\n // avoid doing another reconciliation.\n // Reset the effect flags but keep any Placement tags, since that's something\n // that child fiber is setting, not the reconciliation.\n workInProgress.flags &= StaticMask | Placement; // The effects are no longer valid.\n\n var current = workInProgress.alternate;\n\n if (current === null) {\n // Reset to createFiber's initial values.\n workInProgress.childLanes = NoLanes;\n workInProgress.lanes = renderLanes;\n workInProgress.child = null;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.memoizedProps = null;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.dependencies = null;\n workInProgress.stateNode = null;\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = 0;\n workInProgress.treeBaseDuration = 0;\n }\n } else {\n // Reset to the cloned values that createWorkInProgress would've.\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.deletions = null;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n };\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n }\n\n return workInProgress;\n}\nfunction createHostRootFiber(tag, isStrictMode, concurrentUpdatesByDefaultOverride) {\n var mode;\n\n if (tag === ConcurrentRoot) {\n mode = ConcurrentMode;\n\n if (isStrictMode === true) {\n mode |= StrictLegacyMode;\n\n {\n mode |= StrictEffectsMode;\n }\n }\n } else {\n mode = NoMode;\n }\n\n if ( isDevToolsPresent) {\n // Always collect profile timings when DevTools are present.\n // This enables DevTools to start capturing timing at any point\n // Without some nodes in the tree having empty base times.\n mode |= ProfileMode;\n }\n\n return createFiber(HostRoot, null, null, mode);\n}\nfunction createFiberFromTypeAndProps(type, // React$ElementType\nkey, pendingProps, owner, mode, lanes) {\n var fiberTag = IndeterminateComponent; // The resolved type is set if we know what the final type will be. I.e. it's not lazy.\n\n var resolvedType = type;\n\n if (typeof type === 'function') {\n if (shouldConstruct$1(type)) {\n fiberTag = ClassComponent;\n\n {\n resolvedType = resolveClassForHotReloading(resolvedType);\n }\n } else {\n {\n resolvedType = resolveFunctionForHotReloading(resolvedType);\n }\n }\n } else if (typeof type === 'string') {\n fiberTag = HostComponent;\n } else {\n getTag: switch (type) {\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n\n case REACT_STRICT_MODE_TYPE:\n fiberTag = Mode;\n mode |= StrictLegacyMode;\n\n if ( (mode & ConcurrentMode) !== NoMode) {\n // Strict effects should never run on legacy roots\n mode |= StrictEffectsMode;\n }\n\n break;\n\n case REACT_PROFILER_TYPE:\n return createFiberFromProfiler(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_TYPE:\n return createFiberFromSuspense(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_LIST_TYPE:\n return createFiberFromSuspenseList(pendingProps, mode, lanes, key);\n\n case REACT_OFFSCREEN_TYPE:\n return createFiberFromOffscreen(pendingProps, mode, lanes, key);\n\n case REACT_LEGACY_HIDDEN_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_SCOPE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_CACHE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_TRACING_MARKER_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_DEBUG_TRACING_MODE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n default:\n {\n if (typeof type === 'object' && type !== null) {\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n fiberTag = ContextProvider;\n break getTag;\n\n case REACT_CONTEXT_TYPE:\n // This is a consumer\n fiberTag = ContextConsumer;\n break getTag;\n\n case REACT_FORWARD_REF_TYPE:\n fiberTag = ForwardRef;\n\n {\n resolvedType = resolveForwardRefForHotReloading(resolvedType);\n }\n\n break getTag;\n\n case REACT_MEMO_TYPE:\n fiberTag = MemoComponent;\n break getTag;\n\n case REACT_LAZY_TYPE:\n fiberTag = LazyComponent;\n resolvedType = null;\n break getTag;\n }\n }\n\n var info = '';\n\n {\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and \" + 'named imports.';\n }\n\n var ownerName = owner ? getComponentNameFromFiber(owner) : null;\n\n if (ownerName) {\n info += '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n }\n\n throw new Error('Element type is invalid: expected a string (for built-in ' + 'components) or a class/function (for composite components) ' + (\"but got: \" + (type == null ? type : typeof type) + \".\" + info));\n }\n }\n }\n\n var fiber = createFiber(fiberTag, pendingProps, key, mode);\n fiber.elementType = type;\n fiber.type = resolvedType;\n fiber.lanes = lanes;\n\n {\n fiber._debugOwner = owner;\n }\n\n return fiber;\n}\nfunction createFiberFromElement(element, mode, lanes) {\n var owner = null;\n\n {\n owner = element._owner;\n }\n\n var type = element.type;\n var key = element.key;\n var pendingProps = element.props;\n var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes);\n\n {\n fiber._debugSource = element._source;\n fiber._debugOwner = element._owner;\n }\n\n return fiber;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n var fiber = createFiber(Fragment, elements, key, mode);\n fiber.lanes = lanes;\n return fiber;\n}\n\nfunction createFiberFromProfiler(pendingProps, mode, lanes, key) {\n {\n if (typeof pendingProps.id !== 'string') {\n error('Profiler must specify an \"id\" of type `string` as a prop. Received the type `%s` instead.', typeof pendingProps.id);\n }\n }\n\n var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode);\n fiber.elementType = REACT_PROFILER_TYPE;\n fiber.lanes = lanes;\n\n {\n fiber.stateNode = {\n effectDuration: 0,\n passiveEffectDuration: 0\n };\n }\n\n return fiber;\n}\n\nfunction createFiberFromSuspense(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromSuspenseList(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseListComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_LIST_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromOffscreen(pendingProps, mode, lanes, key) {\n var fiber = createFiber(OffscreenComponent, pendingProps, key, mode);\n fiber.elementType = REACT_OFFSCREEN_TYPE;\n fiber.lanes = lanes;\n var primaryChildInstance = {\n isHidden: false\n };\n fiber.stateNode = primaryChildInstance;\n return fiber;\n}\nfunction createFiberFromText(content, mode, lanes) {\n var fiber = createFiber(HostText, content, null, mode);\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromHostInstanceForDeletion() {\n var fiber = createFiber(HostComponent, null, null, NoMode);\n fiber.elementType = 'DELETED';\n return fiber;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiber(DehydratedFragment, null, null, NoMode);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n var pendingProps = portal.children !== null ? portal.children : [];\n var fiber = createFiber(HostPortal, pendingProps, portal.key, mode);\n fiber.lanes = lanes;\n fiber.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n // Used by persistent updates\n implementation: portal.implementation\n };\n return fiber;\n} // Used for stashing WIP properties to replay failed work in DEV.\n\nfunction assignFiberPropertiesInDEV(target, source) {\n if (target === null) {\n // This Fiber's initial properties will always be overwritten.\n // We only use a Fiber to ensure the same hidden class so DEV isn't slow.\n target = createFiber(IndeterminateComponent, null, null, NoMode);\n } // This is intentionally written as a list of all properties.\n // We tried to use Object.assign() instead but this is called in\n // the hottest path, and Object.assign() was too slow:\n // https://github.com/facebook/react/issues/12502\n // This code is DEV-only so size is not a concern.\n\n\n target.tag = source.tag;\n target.key = source.key;\n target.elementType = source.elementType;\n target.type = source.type;\n target.stateNode = source.stateNode;\n target.return = source.return;\n target.child = source.child;\n target.sibling = source.sibling;\n target.index = source.index;\n target.ref = source.ref;\n target.pendingProps = source.pendingProps;\n target.memoizedProps = source.memoizedProps;\n target.updateQueue = source.updateQueue;\n target.memoizedState = source.memoizedState;\n target.dependencies = source.dependencies;\n target.mode = source.mode;\n target.flags = source.flags;\n target.subtreeFlags = source.subtreeFlags;\n target.deletions = source.deletions;\n target.lanes = source.lanes;\n target.childLanes = source.childLanes;\n target.alternate = source.alternate;\n\n {\n target.actualDuration = source.actualDuration;\n target.actualStartTime = source.actualStartTime;\n target.selfBaseDuration = source.selfBaseDuration;\n target.treeBaseDuration = source.treeBaseDuration;\n }\n\n target._debugSource = source._debugSource;\n target._debugOwner = source._debugOwner;\n target._debugNeedsRemount = source._debugNeedsRemount;\n target._debugHookTypes = source._debugHookTypes;\n return target;\n}\n\nfunction FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onRecoverableError) {\n this.tag = tag;\n this.containerInfo = containerInfo;\n this.pendingChildren = null;\n this.current = null;\n this.pingCache = null;\n this.finishedWork = null;\n this.timeoutHandle = noTimeout;\n this.context = null;\n this.pendingContext = null;\n this.callbackNode = null;\n this.callbackPriority = NoLane;\n this.eventTimes = createLaneMap(NoLanes);\n this.expirationTimes = createLaneMap(NoTimestamp);\n this.pendingLanes = NoLanes;\n this.suspendedLanes = NoLanes;\n this.pingedLanes = NoLanes;\n this.expiredLanes = NoLanes;\n this.mutableReadLanes = NoLanes;\n this.finishedLanes = NoLanes;\n this.entangledLanes = NoLanes;\n this.entanglements = createLaneMap(NoLanes);\n this.identifierPrefix = identifierPrefix;\n this.onRecoverableError = onRecoverableError;\n\n {\n this.mutableSourceEagerHydrationData = null;\n }\n\n {\n this.effectDuration = 0;\n this.passiveEffectDuration = 0;\n }\n\n {\n this.memoizedUpdaters = new Set();\n var pendingUpdatersLaneMap = this.pendingUpdatersLaneMap = [];\n\n for (var _i = 0; _i < TotalLanes; _i++) {\n pendingUpdatersLaneMap.push(new Set());\n }\n }\n\n {\n switch (tag) {\n case ConcurrentRoot:\n this._debugRootType = hydrate ? 'hydrateRoot()' : 'createRoot()';\n break;\n\n case LegacyRoot:\n this._debugRootType = hydrate ? 'hydrate()' : 'render()';\n break;\n }\n }\n}\n\nfunction createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, // TODO: We have several of these arguments that are conceptually part of the\n// host config, but because they are passed in at runtime, we have to thread\n// them through the root constructor. Perhaps we should put them all into a\n// single type, like a DynamicHostConfig that is defined by the renderer.\nidentifierPrefix, onRecoverableError, transitionCallbacks) {\n var root = new FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onRecoverableError);\n // stateNode is any.\n\n\n var uninitializedFiber = createHostRootFiber(tag, isStrictMode);\n root.current = uninitializedFiber;\n uninitializedFiber.stateNode = root;\n\n {\n var _initialState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: null,\n // not enabled yet\n transitions: null,\n pendingSuspenseBoundaries: null\n };\n uninitializedFiber.memoizedState = _initialState;\n }\n\n initializeUpdateQueue(uninitializedFiber);\n return root;\n}\n\nvar ReactVersion = '18.2.0';\n\nfunction createPortal(children, containerInfo, // TODO: figure out the API for cross-renderer implementation.\nimplementation) {\n var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n {\n checkKeyStringCoercion(key);\n }\n\n return {\n // This tag allow us to uniquely identify this as a React Portal\n $$typeof: REACT_PORTAL_TYPE,\n key: key == null ? null : '' + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\n\nvar didWarnAboutNestedUpdates;\nvar didWarnAboutFindNodeInStrictMode;\n\n{\n didWarnAboutNestedUpdates = false;\n didWarnAboutFindNodeInStrictMode = {};\n}\n\nfunction getContextForSubtree(parentComponent) {\n if (!parentComponent) {\n return emptyContextObject;\n }\n\n var fiber = get(parentComponent);\n var parentContext = findCurrentUnmaskedContext(fiber);\n\n if (fiber.tag === ClassComponent) {\n var Component = fiber.type;\n\n if (isContextProvider(Component)) {\n return processChildContext(fiber, Component, parentContext);\n }\n }\n\n return parentContext;\n}\n\nfunction findHostInstanceWithWarning(component, methodName) {\n {\n var fiber = get(component);\n\n if (fiber === undefined) {\n if (typeof component.render === 'function') {\n throw new Error('Unable to find node on an unmounted component.');\n } else {\n var keys = Object.keys(component).join(',');\n throw new Error(\"Argument appears to not be a ReactComponent. Keys: \" + keys);\n }\n }\n\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n if (hostFiber.mode & StrictLegacyMode) {\n var componentName = getComponentNameFromFiber(fiber) || 'Component';\n\n if (!didWarnAboutFindNodeInStrictMode[componentName]) {\n didWarnAboutFindNodeInStrictMode[componentName] = true;\n var previousFiber = current;\n\n try {\n setCurrentFiber(hostFiber);\n\n if (fiber.mode & StrictLegacyMode) {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which is inside StrictMode. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n } else {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which renders StrictMode children. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n }\n } finally {\n // Ideally this should reset to previous but this shouldn't be called in\n // render and there's another warning for that anyway.\n if (previousFiber) {\n setCurrentFiber(previousFiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n\n return hostFiber.stateNode;\n }\n}\n\nfunction createContainer(containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) {\n var hydrate = false;\n var initialChildren = null;\n return createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n}\nfunction createHydrationContainer(initialChildren, // TODO: Remove `callback` when we delete legacy mode.\ncallback, containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) {\n var hydrate = true;\n var root = createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError); // TODO: Move this to FiberRoot constructor\n\n root.context = getContextForSubtree(null); // Schedule the initial render. In a hydration root, this is different from\n // a regular update because the initial render must match was was rendered\n // on the server.\n // NOTE: This update intentionally doesn't have a payload. We're only using\n // the update to schedule work on the root fiber (and, for legacy roots, to\n // enqueue the callback if one is provided).\n\n var current = root.current;\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(current);\n var update = createUpdate(eventTime, lane);\n update.callback = callback !== undefined && callback !== null ? callback : null;\n enqueueUpdate(current, update, lane);\n scheduleInitialHydrationOnRoot(root, lane, eventTime);\n return root;\n}\nfunction updateContainer(element, container, parentComponent, callback) {\n {\n onScheduleRoot(container, element);\n }\n\n var current$1 = container.current;\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(current$1);\n\n {\n markRenderScheduled(lane);\n }\n\n var context = getContextForSubtree(parentComponent);\n\n if (container.context === null) {\n container.context = context;\n } else {\n container.pendingContext = context;\n }\n\n {\n if (isRendering && current !== null && !didWarnAboutNestedUpdates) {\n didWarnAboutNestedUpdates = true;\n\n error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\\n\\n' + 'Check the render method of %s.', getComponentNameFromFiber(current) || 'Unknown');\n }\n }\n\n var update = createUpdate(eventTime, lane); // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n update.payload = {\n element: element\n };\n callback = callback === undefined ? null : callback;\n\n if (callback !== null) {\n {\n if (typeof callback !== 'function') {\n error('render(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback);\n }\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(current$1, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, current$1, lane, eventTime);\n entangleTransitions(root, current$1, lane);\n }\n\n return lane;\n}\nfunction getPublicRootInstance(container) {\n var containerFiber = container.current;\n\n if (!containerFiber.child) {\n return null;\n }\n\n switch (containerFiber.child.tag) {\n case HostComponent:\n return getPublicInstance(containerFiber.child.stateNode);\n\n default:\n return containerFiber.child.stateNode;\n }\n}\nfunction attemptSynchronousHydration$1(fiber) {\n switch (fiber.tag) {\n case HostRoot:\n {\n var root = fiber.stateNode;\n\n if (isRootDehydrated(root)) {\n // Flush the first scheduled \"update\".\n var lanes = getHighestPriorityPendingLanes(root);\n flushRoot(root, lanes);\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n flushSync(function () {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, SyncLane, eventTime);\n }\n }); // If we're still blocked after this, we need to increase\n // the priority of any promises resolving within this\n // boundary so that they next attempt also has higher pri.\n\n var retryLane = SyncLane;\n markRetryLaneIfNotHydrated(fiber, retryLane);\n break;\n }\n }\n}\n\nfunction markRetryLaneImpl(fiber, retryLane) {\n var suspenseState = fiber.memoizedState;\n\n if (suspenseState !== null && suspenseState.dehydrated !== null) {\n suspenseState.retryLane = higherPriorityLane(suspenseState.retryLane, retryLane);\n }\n} // Increases the priority of thenables when they resolve within this boundary.\n\n\nfunction markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n var alternate = fiber.alternate;\n\n if (alternate) {\n markRetryLaneImpl(alternate, retryLane);\n }\n}\nfunction attemptContinuousHydration$1(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority and they should not suspend on I/O,\n // since you have to wrap anything that might suspend in\n // Suspense.\n return;\n }\n\n var lane = SelectiveHydrationLane;\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction attemptHydrationAtCurrentPriority$1(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority other than synchronously flush it.\n return;\n }\n\n var lane = requestUpdateLane(fiber);\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction findHostInstanceWithNoPortals(fiber) {\n var hostFiber = findCurrentHostFiberWithNoPortals(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return hostFiber.stateNode;\n}\n\nvar shouldErrorImpl = function (fiber) {\n return null;\n};\n\nfunction shouldError(fiber) {\n return shouldErrorImpl(fiber);\n}\n\nvar shouldSuspendImpl = function (fiber) {\n return false;\n};\n\nfunction shouldSuspend(fiber) {\n return shouldSuspendImpl(fiber);\n}\nvar overrideHookState = null;\nvar overrideHookStateDeletePath = null;\nvar overrideHookStateRenamePath = null;\nvar overrideProps = null;\nvar overridePropsDeletePath = null;\nvar overridePropsRenamePath = null;\nvar scheduleUpdate = null;\nvar setErrorHandler = null;\nvar setSuspenseHandler = null;\n\n{\n var copyWithDeleteImpl = function (obj, path, index) {\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === path.length) {\n if (isArray(updated)) {\n updated.splice(key, 1);\n } else {\n delete updated[key];\n }\n\n return updated;\n } // $FlowFixMe number or string is fine here\n\n\n updated[key] = copyWithDeleteImpl(obj[key], path, index + 1);\n return updated;\n };\n\n var copyWithDelete = function (obj, path) {\n return copyWithDeleteImpl(obj, path, 0);\n };\n\n var copyWithRenameImpl = function (obj, oldPath, newPath, index) {\n var oldKey = oldPath[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === oldPath.length) {\n var newKey = newPath[index]; // $FlowFixMe number or string is fine here\n\n updated[newKey] = updated[oldKey];\n\n if (isArray(updated)) {\n updated.splice(oldKey, 1);\n } else {\n delete updated[oldKey];\n }\n } else {\n // $FlowFixMe number or string is fine here\n updated[oldKey] = copyWithRenameImpl( // $FlowFixMe number or string is fine here\n obj[oldKey], oldPath, newPath, index + 1);\n }\n\n return updated;\n };\n\n var copyWithRename = function (obj, oldPath, newPath) {\n if (oldPath.length !== newPath.length) {\n warn('copyWithRename() expects paths of the same length');\n\n return;\n } else {\n for (var i = 0; i < newPath.length - 1; i++) {\n if (oldPath[i] !== newPath[i]) {\n warn('copyWithRename() expects paths to be the same except for the deepest key');\n\n return;\n }\n }\n }\n\n return copyWithRenameImpl(obj, oldPath, newPath, 0);\n };\n\n var copyWithSetImpl = function (obj, path, index, value) {\n if (index >= path.length) {\n return value;\n }\n\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj); // $FlowFixMe number or string is fine here\n\n updated[key] = copyWithSetImpl(obj[key], path, index + 1, value);\n return updated;\n };\n\n var copyWithSet = function (obj, path, value) {\n return copyWithSetImpl(obj, path, 0, value);\n };\n\n var findHook = function (fiber, id) {\n // For now, the \"id\" of stateful hooks is just the stateful hook index.\n // This may change in the future with e.g. nested hooks.\n var currentHook = fiber.memoizedState;\n\n while (currentHook !== null && id > 0) {\n currentHook = currentHook.next;\n id--;\n }\n\n return currentHook;\n }; // Support DevTools editable values for useState and useReducer.\n\n\n overrideHookState = function (fiber, id, path, value) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithSet(hook.memoizedState, path, value);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n };\n\n overrideHookStateDeletePath = function (fiber, id, path) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithDelete(hook.memoizedState, path);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n };\n\n overrideHookStateRenamePath = function (fiber, id, oldPath, newPath) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithRename(hook.memoizedState, oldPath, newPath);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n }; // Support DevTools props for function components, forwardRef, memo, host components, etc.\n\n\n overrideProps = function (fiber, path, value) {\n fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n overridePropsDeletePath = function (fiber, path) {\n fiber.pendingProps = copyWithDelete(fiber.memoizedProps, path);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n overridePropsRenamePath = function (fiber, oldPath, newPath) {\n fiber.pendingProps = copyWithRename(fiber.memoizedProps, oldPath, newPath);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n scheduleUpdate = function (fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n setErrorHandler = function (newShouldErrorImpl) {\n shouldErrorImpl = newShouldErrorImpl;\n };\n\n setSuspenseHandler = function (newShouldSuspendImpl) {\n shouldSuspendImpl = newShouldSuspendImpl;\n };\n}\n\nfunction findHostInstanceByFiber(fiber) {\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return hostFiber.stateNode;\n}\n\nfunction emptyFindFiberByHostInstance(instance) {\n return null;\n}\n\nfunction getCurrentFiberForDevTools() {\n return current;\n}\n\nfunction injectIntoDevTools(devToolsConfig) {\n var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance;\n var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\n return injectInternals({\n bundleType: devToolsConfig.bundleType,\n version: devToolsConfig.version,\n rendererPackageName: devToolsConfig.rendererPackageName,\n rendererConfig: devToolsConfig.rendererConfig,\n overrideHookState: overrideHookState,\n overrideHookStateDeletePath: overrideHookStateDeletePath,\n overrideHookStateRenamePath: overrideHookStateRenamePath,\n overrideProps: overrideProps,\n overridePropsDeletePath: overridePropsDeletePath,\n overridePropsRenamePath: overridePropsRenamePath,\n setErrorHandler: setErrorHandler,\n setSuspenseHandler: setSuspenseHandler,\n scheduleUpdate: scheduleUpdate,\n currentDispatcherRef: ReactCurrentDispatcher,\n findHostInstanceByFiber: findHostInstanceByFiber,\n findFiberByHostInstance: findFiberByHostInstance || emptyFindFiberByHostInstance,\n // React Refresh\n findHostInstancesForRefresh: findHostInstancesForRefresh ,\n scheduleRefresh: scheduleRefresh ,\n scheduleRoot: scheduleRoot ,\n setRefreshHandler: setRefreshHandler ,\n // Enables DevTools to append owner stacks to error messages in DEV mode.\n getCurrentFiber: getCurrentFiberForDevTools ,\n // Enables DevTools to detect reconciler version rather than renderer version\n // which may not match for third party renderers.\n reconcilerVersion: ReactVersion\n });\n}\n\n/* global reportError */\n\nvar defaultOnRecoverableError = typeof reportError === 'function' ? // In modern browsers, reportError will dispatch an error event,\n// emulating an uncaught JavaScript error.\nreportError : function (error) {\n // In older browsers and test environments, fallback to console.error.\n // eslint-disable-next-line react-internal/no-production-logging\n console['error'](error);\n};\n\nfunction ReactDOMRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\n\nReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function (children) {\n var root = this._internalRoot;\n\n if (root === null) {\n throw new Error('Cannot update an unmounted root.');\n }\n\n {\n if (typeof arguments[1] === 'function') {\n error('render(...): does not support the second callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n } else if (isValidContainer(arguments[1])) {\n error('You passed a container to the second argument of root.render(...). ' + \"You don't need to pass it again since you already passed it to create the root.\");\n } else if (typeof arguments[1] !== 'undefined') {\n error('You passed a second argument to root.render(...) but it only accepts ' + 'one argument.');\n }\n\n var container = root.containerInfo;\n\n if (container.nodeType !== COMMENT_NODE) {\n var hostInstance = findHostInstanceWithNoPortals(root.current);\n\n if (hostInstance) {\n if (hostInstance.parentNode !== container) {\n error('render(...): It looks like the React-rendered content of the ' + 'root container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + \"root.unmount() to empty a root's container.\");\n }\n }\n }\n }\n\n updateContainer(children, root, null, null);\n};\n\nReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function () {\n {\n if (typeof arguments[0] === 'function') {\n error('unmount(...): does not support a callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n }\n }\n\n var root = this._internalRoot;\n\n if (root !== null) {\n this._internalRoot = null;\n var container = root.containerInfo;\n\n {\n if (isAlreadyRendering()) {\n error('Attempted to synchronously unmount a root while React was already ' + 'rendering. React cannot finish unmounting the root until the ' + 'current render has completed, which may lead to a race condition.');\n }\n }\n\n flushSync(function () {\n updateContainer(null, root, null, null);\n });\n unmarkContainerAsRoot(container);\n }\n};\n\nfunction createRoot(container, options) {\n if (!isValidContainer(container)) {\n throw new Error('createRoot(...): Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n var transitionCallbacks = null;\n\n if (options !== null && options !== undefined) {\n {\n if (options.hydrate) {\n warn('hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead.');\n } else {\n if (typeof options === 'object' && options !== null && options.$$typeof === REACT_ELEMENT_TYPE) {\n error('You passed a JSX element to createRoot. You probably meant to ' + 'call root.render instead. ' + 'Example usage:\\n\\n' + ' let root = createRoot(domContainer);\\n' + ' root.render(<App />);');\n }\n }\n }\n\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n\n if (options.transitionCallbacks !== undefined) {\n transitionCallbacks = options.transitionCallbacks;\n }\n }\n\n var root = createContainer(container, ConcurrentRoot, null, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n markContainerAsRoot(root.current, container);\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n listenToAllSupportedEvents(rootContainerElement);\n return new ReactDOMRoot(root);\n}\n\nfunction ReactDOMHydrationRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\n\nfunction scheduleHydration(target) {\n if (target) {\n queueExplicitHydrationTarget(target);\n }\n}\n\nReactDOMHydrationRoot.prototype.unstable_scheduleHydration = scheduleHydration;\nfunction hydrateRoot(container, initialChildren, options) {\n if (!isValidContainer(container)) {\n throw new Error('hydrateRoot(...): Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n\n {\n if (initialChildren === undefined) {\n error('Must provide initial children as second argument to hydrateRoot. ' + 'Example usage: hydrateRoot(domContainer, <App />)');\n }\n } // For now we reuse the whole bag of options since they contain\n // the hydration callbacks.\n\n\n var hydrationCallbacks = options != null ? options : null; // TODO: Delete this option\n\n var mutableSources = options != null && options.hydratedSources || null;\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n\n if (options !== null && options !== undefined) {\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n }\n\n var root = createHydrationContainer(initialChildren, null, container, ConcurrentRoot, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n markContainerAsRoot(root.current, container); // This can't be a comment node since hydration doesn't work on comment nodes anyway.\n\n listenToAllSupportedEvents(container);\n\n if (mutableSources) {\n for (var i = 0; i < mutableSources.length; i++) {\n var mutableSource = mutableSources[i];\n registerMutableSourceForHydration(root, mutableSource);\n }\n }\n\n return new ReactDOMHydrationRoot(root);\n}\nfunction isValidContainer(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || !disableCommentsAsDOMContainers ));\n} // TODO: Remove this function which also includes comment nodes.\n// We only use it in places that are currently more relaxed.\n\nfunction isValidContainerLegacy(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || node.nodeType === COMMENT_NODE && node.nodeValue === ' react-mount-point-unstable '));\n}\n\nfunction warnIfReactDOMContainerInDEV(container) {\n {\n if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {\n error('createRoot(): Creating roots directly with document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try using a container element created ' + 'for your app.');\n }\n\n if (isContainerMarkedAsRoot(container)) {\n if (container._reactRootContainer) {\n error('You are calling ReactDOMClient.createRoot() on a container that was previously ' + 'passed to ReactDOM.render(). This is not supported.');\n } else {\n error('You are calling ReactDOMClient.createRoot() on a container that ' + 'has already been passed to createRoot() before. Instead, call ' + 'root.render() on the existing root instead if you want to update it.');\n }\n }\n }\n}\n\nvar ReactCurrentOwner$3 = ReactSharedInternals.ReactCurrentOwner;\nvar topLevelUpdateWarnings;\n\n{\n topLevelUpdateWarnings = function (container) {\n if (container._reactRootContainer && container.nodeType !== COMMENT_NODE) {\n var hostInstance = findHostInstanceWithNoPortals(container._reactRootContainer.current);\n\n if (hostInstance) {\n if (hostInstance.parentNode !== container) {\n error('render(...): It looks like the React-rendered content of this ' + 'container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + 'ReactDOM.unmountComponentAtNode to empty a container.');\n }\n }\n }\n\n var isRootRenderedBySomeReact = !!container._reactRootContainer;\n var rootEl = getReactRootElementInContainer(container);\n var hasNonRootReactChild = !!(rootEl && getInstanceFromNode(rootEl));\n\n if (hasNonRootReactChild && !isRootRenderedBySomeReact) {\n error('render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.');\n }\n\n if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {\n error('render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.');\n }\n };\n}\n\nfunction getReactRootElementInContainer(container) {\n if (!container) {\n return null;\n }\n\n if (container.nodeType === DOCUMENT_NODE) {\n return container.documentElement;\n } else {\n return container.firstChild;\n }\n}\n\nfunction noopOnRecoverableError() {// This isn't reachable because onRecoverableError isn't called in the\n // legacy API.\n}\n\nfunction legacyCreateRootFromDOMContainer(container, initialChildren, parentComponent, callback, isHydrationContainer) {\n if (isHydrationContainer) {\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n }\n\n var root = createHydrationContainer(initialChildren, callback, container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError);\n container._reactRootContainer = root;\n markContainerAsRoot(root.current, container);\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n listenToAllSupportedEvents(rootContainerElement);\n flushSync();\n return root;\n } else {\n // First clear any existing content.\n var rootSibling;\n\n while (rootSibling = container.lastChild) {\n container.removeChild(rootSibling);\n }\n\n if (typeof callback === 'function') {\n var _originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(_root);\n\n _originalCallback.call(instance);\n };\n }\n\n var _root = createContainer(container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError);\n\n container._reactRootContainer = _root;\n markContainerAsRoot(_root.current, container);\n\n var _rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n\n listenToAllSupportedEvents(_rootContainerElement); // Initial mount should not be batched.\n\n flushSync(function () {\n updateContainer(initialChildren, _root, parentComponent, callback);\n });\n return _root;\n }\n}\n\nfunction warnOnInvalidCallback$1(callback, callerName) {\n {\n if (callback !== null && typeof callback !== 'function') {\n error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);\n }\n }\n}\n\nfunction legacyRenderSubtreeIntoContainer(parentComponent, children, container, forceHydrate, callback) {\n {\n topLevelUpdateWarnings(container);\n warnOnInvalidCallback$1(callback === undefined ? null : callback, 'render');\n }\n\n var maybeRoot = container._reactRootContainer;\n var root;\n\n if (!maybeRoot) {\n // Initial mount\n root = legacyCreateRootFromDOMContainer(container, children, parentComponent, callback, forceHydrate);\n } else {\n root = maybeRoot;\n\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n } // Update\n\n\n updateContainer(children, root, parentComponent, callback);\n }\n\n return getPublicRootInstance(root);\n}\n\nfunction findDOMNode(componentOrElement) {\n {\n var owner = ReactCurrentOwner$3.current;\n\n if (owner !== null && owner.stateNode !== null) {\n var warnedAboutRefsInRender = owner.stateNode._warnedAboutRefsInRender;\n\n if (!warnedAboutRefsInRender) {\n error('%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentNameFromType(owner.type) || 'A component');\n }\n\n owner.stateNode._warnedAboutRefsInRender = true;\n }\n }\n\n if (componentOrElement == null) {\n return null;\n }\n\n if (componentOrElement.nodeType === ELEMENT_NODE) {\n return componentOrElement;\n }\n\n {\n return findHostInstanceWithWarning(componentOrElement, 'findDOMNode');\n }\n}\nfunction hydrate(element, container, callback) {\n {\n error('ReactDOM.hydrate is no longer supported in React 18. Use hydrateRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.hydrate() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call hydrateRoot(container, element)?');\n }\n } // TODO: throw or warn if we couldn't hydrate?\n\n\n return legacyRenderSubtreeIntoContainer(null, element, container, true, callback);\n}\nfunction render(element, container, callback) {\n {\n error('ReactDOM.render is no longer supported in React 18. Use createRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.render() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call root.render(element)?');\n }\n }\n\n return legacyRenderSubtreeIntoContainer(null, element, container, false, callback);\n}\nfunction unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n {\n error('ReactDOM.unstable_renderSubtreeIntoContainer() is no longer supported ' + 'in React 18. Consider using a portal instead. Until you switch to ' + \"the createRoot API, your app will behave as if it's running React \" + '17. Learn more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(containerNode)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n if (parentComponent == null || !has(parentComponent)) {\n throw new Error('parentComponent must be a valid React Component');\n }\n\n return legacyRenderSubtreeIntoContainer(parentComponent, element, containerNode, false, callback);\n}\nfunction unmountComponentAtNode(container) {\n if (!isValidContainerLegacy(container)) {\n throw new Error('unmountComponentAtNode(...): Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.unmountComponentAtNode() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.unmount()?');\n }\n }\n\n if (container._reactRootContainer) {\n {\n var rootEl = getReactRootElementInContainer(container);\n var renderedByDifferentReact = rootEl && !getInstanceFromNode(rootEl);\n\n if (renderedByDifferentReact) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by another copy of React.');\n }\n } // Unmount should not be batched.\n\n\n flushSync(function () {\n legacyRenderSubtreeIntoContainer(null, null, container, false, function () {\n // $FlowFixMe This should probably use `delete container._reactRootContainer`\n container._reactRootContainer = null;\n unmarkContainerAsRoot(container);\n });\n }); // If you call unmountComponentAtNode twice in quick succession, you'll\n // get `true` twice. That's probably fine?\n\n return true;\n } else {\n {\n var _rootEl = getReactRootElementInContainer(container);\n\n var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode(_rootEl)); // Check if the container itself is a React root node.\n\n var isContainerReactRoot = container.nodeType === ELEMENT_NODE && isValidContainerLegacy(container.parentNode) && !!container.parentNode._reactRootContainer;\n\n if (hasNonRootReactChild) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.');\n }\n }\n\n return false;\n }\n}\n\nsetAttemptSynchronousHydration(attemptSynchronousHydration$1);\nsetAttemptContinuousHydration(attemptContinuousHydration$1);\nsetAttemptHydrationAtCurrentPriority(attemptHydrationAtCurrentPriority$1);\nsetGetCurrentUpdatePriority(getCurrentUpdatePriority);\nsetAttemptHydrationAtPriority(runWithPriority);\n\n{\n if (typeof Map !== 'function' || // $FlowIssue Flow incorrectly thinks Map has no prototype\n Map.prototype == null || typeof Map.prototype.forEach !== 'function' || typeof Set !== 'function' || // $FlowIssue Flow incorrectly thinks Set has no prototype\n Set.prototype == null || typeof Set.prototype.clear !== 'function' || typeof Set.prototype.forEach !== 'function') {\n error('React depends on Map and Set built-in types. Make sure that you load a ' + 'polyfill in older browsers. https://reactjs.org/link/react-polyfills');\n }\n}\n\nsetRestoreImplementation(restoreControlledState$3);\nsetBatchingImplementation(batchedUpdates$1, discreteUpdates, flushSync);\n\nfunction createPortal$1(children, container) {\n var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!isValidContainer(container)) {\n throw new Error('Target container is not a DOM element.');\n } // TODO: pass ReactDOM portal implementation as third argument\n // $FlowFixMe The Flow type is opaque but there's no way to actually create it.\n\n\n return createPortal(children, container, null, key);\n}\n\nfunction renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback);\n}\n\nvar Internals = {\n usingClientEntryPoint: false,\n // Keep in sync with ReactTestUtils.js.\n // This is an array for better minification.\n Events: [getInstanceFromNode, getNodeFromInstance, getFiberCurrentPropsFromNode, enqueueStateRestore, restoreStateIfNeeded, batchedUpdates$1]\n};\n\nfunction createRoot$1(container, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing createRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return createRoot(container, options);\n}\n\nfunction hydrateRoot$1(container, initialChildren, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing hydrateRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return hydrateRoot(container, initialChildren, options);\n} // Overload the definition to the two valid signatures.\n// Warning, this opts-out of checking the function body.\n\n\n// eslint-disable-next-line no-redeclare\nfunction flushSync$1(fn) {\n {\n if (isAlreadyRendering()) {\n error('flushSync was called from inside a lifecycle method. React cannot ' + 'flush when React is already rendering. Consider moving this call to ' + 'a scheduler task or micro task.');\n }\n }\n\n return flushSync(fn);\n}\nvar foundDevTools = injectIntoDevTools({\n findFiberByHostInstance: getClosestInstanceFromNode,\n bundleType: 1 ,\n version: ReactVersion,\n rendererPackageName: 'react-dom'\n});\n\n{\n if (!foundDevTools && canUseDOM && window.top === window.self) {\n // If we're in Chrome or Firefox, provide a download link if not installed.\n if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\n var protocol = window.location.protocol; // Don't warn in exotic cases like chrome-extension://.\n\n if (/^(https?|file):$/.test(protocol)) {\n // eslint-disable-next-line react-internal/no-production-logging\n console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://reactjs.org/link/react-devtools' + (protocol === 'file:' ? '\\nYou might need to use a local HTTP server (instead of file://): ' + 'https://reactjs.org/link/react-devtools-faq' : ''), 'font-weight:bold');\n }\n }\n }\n}\n\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;\nexports.createPortal = createPortal$1;\nexports.createRoot = createRoot$1;\nexports.findDOMNode = findDOMNode;\nexports.flushSync = flushSync$1;\nexports.hydrate = hydrate;\nexports.hydrateRoot = hydrateRoot$1;\nexports.render = render;\nexports.unmountComponentAtNode = unmountComponentAtNode;\nexports.unstable_batchedUpdates = batchedUpdates$1;\nexports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n\n\n//# sourceURL=webpack://demo/./node_modules/react-dom/cjs/react-dom.development.js?");
/***/ }),
/***/ "./node_modules/react-dom/client.js":
/*!******************************************!*\
!*** ./node_modules/react-dom/client.js ***!
\******************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
eval("\n\nvar m = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\nif (false) {} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n\n\n//# sourceURL=webpack://demo/./node_modules/react-dom/client.js?");
/***/ }),
/***/ "./node_modules/react-dom/index.js":
/*!*****************************************!*\
!*** ./node_modules/react-dom/index.js ***!
\*****************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (true) {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-dom.development.js */ \"./node_modules/react-dom/cjs/react-dom.development.js\");\n}\n\n\n//# sourceURL=webpack://demo/./node_modules/react-dom/index.js?");
/***/ }),
/***/ "./node_modules/react/cjs/react.development.js":
/*!*****************************************************!*\
!*** ./node_modules/react/cjs/react.development.js ***!
\*****************************************************/
/***/ ((module, exports, __webpack_require__) => {
"use strict";
eval("/* module decorator */ module = __webpack_require__.nmd(module);\n/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.2.0';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering <Context.Consumer.Provider> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Provider> instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering <Context.Consumer.Consumer> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');\n }\n\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n {\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\nvar actScopeDepth = 0;\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n}\n\nfunction popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.cloneElement = cloneElement$1;\nexports.createContext = createContext;\nexports.createElement = createElement$1;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_act = act;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n\n\n//# sourceURL=webpack://demo/./node_modules/react/cjs/react.development.js?");
/***/ }),
/***/ "./node_modules/react/index.js":
/*!*************************************!*\
!*** ./node_modules/react/index.js ***!
\*************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react.development.js */ \"./node_modules/react/cjs/react.development.js\");\n}\n\n\n//# sourceURL=webpack://demo/./node_modules/react/index.js?");
/***/ }),
/***/ "./node_modules/scheduler/cjs/scheduler.development.js":
/*!*************************************************************!*\
!*** ./node_modules/scheduler/cjs/scheduler.development.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
eval("/**\n * @license React\n * scheduler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var enableSchedulerDebugging = false;\nvar enableProfiling = false;\nvar frameYieldMs = 5;\n\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n siftUp(heap, node, index);\n}\nfunction peek(heap) {\n return heap.length === 0 ? null : heap[0];\n}\nfunction pop(heap) {\n if (heap.length === 0) {\n return null;\n }\n\n var first = heap[0];\n var last = heap.pop();\n\n if (last !== first) {\n heap[0] = last;\n siftDown(heap, last, 0);\n }\n\n return first;\n}\n\nfunction siftUp(heap, node, i) {\n var index = i;\n\n while (index > 0) {\n var parentIndex = index - 1 >>> 1;\n var parent = heap[parentIndex];\n\n if (compare(parent, node) > 0) {\n // The parent is larger. Swap positions.\n heap[parentIndex] = node;\n heap[index] = parent;\n index = parentIndex;\n } else {\n // The parent is smaller. Exit.\n return;\n }\n }\n}\n\nfunction siftDown(heap, node, i) {\n var index = i;\n var length = heap.length;\n var halfLength = length >>> 1;\n\n while (index < halfLength) {\n var leftIndex = (index + 1) * 2 - 1;\n var left = heap[leftIndex];\n var rightIndex = leftIndex + 1;\n var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n if (compare(left, node) < 0) {\n if (rightIndex < length && compare(right, left) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n heap[index] = left;\n heap[leftIndex] = node;\n index = leftIndex;\n }\n } else if (rightIndex < length && compare(right, node) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n // Neither child is smaller. Exit.\n return;\n }\n }\n}\n\nfunction compare(a, b) {\n // Compare sort index first, then task id.\n var diff = a.sortIndex - b.sortIndex;\n return diff !== 0 ? diff : a.id - b.id;\n}\n\n// TODO: Use symbols?\nvar ImmediatePriority = 1;\nvar UserBlockingPriority = 2;\nvar NormalPriority = 3;\nvar LowPriority = 4;\nvar IdlePriority = 5;\n\nfunction markTaskErrored(task, ms) {\n}\n\n/* eslint-disable no-var */\n\nvar hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\n\nif (hasPerformanceNow) {\n var localPerformance = performance;\n\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date;\n var initialTime = localDate.now();\n\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n} // Max 31 bit integer. The max integer size in V8 for 32-bit systems.\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\n\n\nvar maxSigned31BitInt = 1073741823; // Times out immediately\n\nvar IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\nvar USER_BLOCKING_PRIORITY_TIMEOUT = 250;\nvar NORMAL_PRIORITY_TIMEOUT = 5000;\nvar LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\nvar IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap\n\nvar taskQueue = [];\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\nvar currentTask = null;\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrance.\n\nvar isPerformingWork = false;\nvar isHostCallbackScheduled = false;\nvar isHostTimeoutScheduled = false; // Capture local references to native APIs, in case a polyfill overrides them.\n\nvar localSetTimeout = typeof setTimeout === 'function' ? setTimeout : null;\nvar localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : null;\nvar localSetImmediate = typeof setImmediate !== 'undefined' ? setImmediate : null; // IE and Node.js + jsdom\n\nvar isInputPending = typeof navigator !== 'undefined' && navigator.scheduling !== undefined && navigator.scheduling.isInputPending !== undefined ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null;\n\nfunction advanceTimers(currentTime) {\n // Check for tasks that are no longer delayed and add them to the queue.\n var timer = peek(timerQueue);\n\n while (timer !== null) {\n if (timer.callback === null) {\n // Timer was cancelled.\n pop(timerQueue);\n } else if (timer.startTime <= currentTime) {\n // Timer fired. Transfer to the task queue.\n pop(timerQueue);\n timer.sortIndex = timer.expirationTime;\n push(taskQueue, timer);\n } else {\n // Remaining timers are pending.\n return;\n }\n\n timer = peek(timerQueue);\n }\n}\n\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = false;\n advanceTimers(currentTime);\n\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n }\n }\n}\n\nfunction flushWork(hasTimeRemaining, initialTime) {\n\n\n isHostCallbackScheduled = false;\n\n if (isHostTimeoutScheduled) {\n // We scheduled a timeout but it's no longer needed. Cancel it.\n isHostTimeoutScheduled = false;\n cancelHostTimeout();\n }\n\n isPerformingWork = true;\n var previousPriorityLevel = currentPriorityLevel;\n\n try {\n if (enableProfiling) {\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } catch (error) {\n if (currentTask !== null) {\n var currentTime = exports.unstable_now();\n markTaskErrored(currentTask, currentTime);\n currentTask.isQueued = false;\n }\n\n throw error;\n }\n } else {\n // No catch in prod code path.\n return workLoop(hasTimeRemaining, initialTime);\n }\n } finally {\n currentTask = null;\n currentPriorityLevel = previousPriorityLevel;\n isPerformingWork = false;\n }\n}\n\nfunction workLoop(hasTimeRemaining, initialTime) {\n var currentTime = initialTime;\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n\n while (currentTask !== null && !(enableSchedulerDebugging )) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n // This currentTask hasn't expired, and we've reached the deadline.\n break;\n }\n\n var callback = currentTask.callback;\n\n if (typeof callback === 'function') {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n\n var continuationCallback = callback(didUserCallbackTimeout);\n currentTime = exports.unstable_now();\n\n if (typeof continuationCallback === 'function') {\n currentTask.callback = continuationCallback;\n } else {\n\n if (currentTask === peek(taskQueue)) {\n pop(taskQueue);\n }\n }\n\n advanceTimers(currentTime);\n } else {\n pop(taskQueue);\n }\n\n currentTask = peek(taskQueue);\n } // Return whether there's additional work\n\n\n if (currentTask !== null) {\n return true;\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n\n return false;\n }\n}\n\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n case LowPriority:\n case IdlePriority:\n break;\n\n default:\n priorityLevel = NormalPriority;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_next(eventHandler) {\n var priorityLevel;\n\n switch (currentPriorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n // Shift down to normal priority\n priorityLevel = NormalPriority;\n break;\n\n default:\n // Anything lower than normal priority should remain at the current level.\n priorityLevel = currentPriorityLevel;\n break;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_wrapCallback(callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n // This is a fork of runWithPriority, inlined for performance.\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n}\n\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\n var currentTime = exports.unstable_now();\n var startTime;\n\n if (typeof options === 'object' && options !== null) {\n var delay = options.delay;\n\n if (typeof delay === 'number' && delay > 0) {\n startTime = currentTime + delay;\n } else {\n startTime = currentTime;\n }\n } else {\n startTime = currentTime;\n }\n\n var timeout;\n\n switch (priorityLevel) {\n case ImmediatePriority:\n timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n break;\n\n case UserBlockingPriority:\n timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n break;\n\n case IdlePriority:\n timeout = IDLE_PRIORITY_TIMEOUT;\n break;\n\n case LowPriority:\n timeout = LOW_PRIORITY_TIMEOUT;\n break;\n\n case NormalPriority:\n default:\n timeout = NORMAL_PRIORITY_TIMEOUT;\n break;\n }\n\n var expirationTime = startTime + timeout;\n var newTask = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: startTime,\n expirationTime: expirationTime,\n sortIndex: -1\n };\n\n if (startTime > currentTime) {\n // This is a delayed task.\n newTask.sortIndex = startTime;\n push(timerQueue, newTask);\n\n if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n // All tasks are delayed, and this is the task with the earliest delay.\n if (isHostTimeoutScheduled) {\n // Cancel an existing timeout.\n cancelHostTimeout();\n } else {\n isHostTimeoutScheduled = true;\n } // Schedule a timeout.\n\n\n requestHostTimeout(handleTimeout, startTime - currentTime);\n }\n } else {\n newTask.sortIndex = expirationTime;\n push(taskQueue, newTask);\n // wait until the next time we yield.\n\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n }\n\n return newTask;\n}\n\nfunction unstable_pauseExecution() {\n}\n\nfunction unstable_continueExecution() {\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n}\n\nfunction unstable_getFirstCallbackNode() {\n return peek(taskQueue);\n}\n\nfunction unstable_cancelCallback(task) {\n // remove from the queue because you can't remove arbitrary nodes from an\n // array based heap, only the first one.)\n\n\n task.callback = null;\n}\n\nfunction unstable_getCurrentPriorityLevel() {\n return currentPriorityLevel;\n}\n\nvar isMessageLoopRunning = false;\nvar scheduledHostCallback = null;\nvar taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n// thread, like user events. By default, it yields multiple times per frame.\n// It does not attempt to align with frame boundaries, since most tasks don't\n// need to be frame aligned; for those that do, use requestAnimationFrame.\n\nvar frameInterval = frameYieldMs;\nvar startTime = -1;\n\nfunction shouldYieldToHost() {\n var timeElapsed = exports.unstable_now() - startTime;\n\n if (timeElapsed < frameInterval) {\n // The main thread has only been blocked for a really short amount of time;\n // smaller than a single frame. Don't yield yet.\n return false;\n } // The main thread has been blocked for a non-negligible amount of time. We\n\n\n return true;\n}\n\nfunction requestPaint() {\n\n}\n\nfunction forceFrameRate(fps) {\n if (fps < 0 || fps > 125) {\n // Using console['error'] to evade Babel and ESLint\n console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n return;\n }\n\n if (fps > 0) {\n frameInterval = Math.floor(1000 / fps);\n } else {\n // reset the framerate\n frameInterval = frameYieldMs;\n }\n}\n\nvar performWorkUntilDeadline = function () {\n if (scheduledHostCallback !== null) {\n var currentTime = exports.unstable_now(); // Keep track of the start time so we can measure how long the main thread\n // has been blocked.\n\n startTime = currentTime;\n var hasTimeRemaining = true; // If a scheduler task throws, exit the current browser task so the\n // error can be observed.\n //\n // Intentionally not using a try-catch, since that makes some debugging\n // techniques harder. Instead, if `scheduledHostCallback` errors, then\n // `hasMoreWork` will remain true, and we'll continue the work loop.\n\n var hasMoreWork = true;\n\n try {\n hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n } finally {\n if (hasMoreWork) {\n // If there's more work, schedule the next message event at the end\n // of the preceding one.\n schedulePerformWorkUntilDeadline();\n } else {\n isMessageLoopRunning = false;\n scheduledHostCallback = null;\n }\n }\n } else {\n isMessageLoopRunning = false;\n } // Yielding to the browser will give it a chance to paint, so we can\n};\n\nvar schedulePerformWorkUntilDeadline;\n\nif (typeof localSetImmediate === 'function') {\n // Node.js and old IE.\n // There's a few reasons for why we prefer setImmediate.\n //\n // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting.\n // (Even though this is a DOM fork of the Scheduler, you could get here\n // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.)\n // https://github.com/facebook/react/issues/20756\n //\n // But also, it runs earlier which is the semantic we want.\n // If other browsers ever implement it, it's better to use it.\n // Although both of these would be inferior to native scheduling.\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\n} else if (typeof MessageChannel !== 'undefined') {\n // DOM and Worker environments.\n // We prefer MessageChannel because of the 4ms setTimeout clamping.\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else {\n // We should only fallback here in non-browser environments.\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\n}\n\nfunction requestHostCallback(callback) {\n scheduledHostCallback = callback;\n\n if (!isMessageLoopRunning) {\n isMessageLoopRunning = true;\n schedulePerformWorkUntilDeadline();\n }\n}\n\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\n\nfunction cancelHostTimeout() {\n localClearTimeout(taskTimeoutID);\n taskTimeoutID = -1;\n}\n\nvar unstable_requestPaint = requestPaint;\nvar unstable_Profiling = null;\n\nexports.unstable_IdlePriority = IdlePriority;\nexports.unstable_ImmediatePriority = ImmediatePriority;\nexports.unstable_LowPriority = LowPriority;\nexports.unstable_NormalPriority = NormalPriority;\nexports.unstable_Profiling = unstable_Profiling;\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = unstable_continueExecution;\nexports.unstable_forceFrameRate = forceFrameRate;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\nexports.unstable_next = unstable_next;\nexports.unstable_pauseExecution = unstable_pauseExecution;\nexports.unstable_requestPaint = unstable_requestPaint;\nexports.unstable_runWithPriority = unstable_runWithPriority;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = unstable_wrapCallback;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n\n\n//# sourceURL=webpack://demo/./node_modules/scheduler/cjs/scheduler.development.js?");
/***/ }),
/***/ "./node_modules/scheduler/index.js":
/*!*****************************************!*\
!*** ./node_modules/scheduler/index.js ***!
\*****************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/scheduler.development.js */ \"./node_modules/scheduler/cjs/scheduler.development.js\");\n}\n\n\n//# sourceURL=webpack://demo/./node_modules/scheduler/index.js?");
/***/ }),
/***/ "./src/css/App.css":
/*!*************************!*\
!*** ./src/css/App.css ***!
\*************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/insertBySelector.js */ \"./node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"./node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_2_use_1_node_modules_postcss_loader_dist_cjs_js_App_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/postcss-loader/dist/cjs.js!./App.css */ \"./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js!./src/css/App.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_2_use_1_node_modules_postcss_loader_dist_cjs_js_App_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_2_use_1_node_modules_postcss_loader_dist_cjs_js_App_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_2_use_1_node_modules_postcss_loader_dist_cjs_js_App_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_2_use_1_node_modules_postcss_loader_dist_cjs_js_App_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://demo/./src/css/App.css?");
/***/ }),
/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":
/*!****************************************************************************!*\
!*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
\****************************************************************************/
/***/ ((module) => {
"use strict";
eval("\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n//# sourceURL=webpack://demo/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js?");
/***/ }),
/***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js":
/*!********************************************************************!*\
!*** ./node_modules/style-loader/dist/runtime/insertBySelector.js ***!
\********************************************************************/
/***/ ((module) => {
"use strict";
eval("\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;\n\n//# sourceURL=webpack://demo/./node_modules/style-loader/dist/runtime/insertBySelector.js?");
/***/ }),
/***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js":
/*!**********************************************************************!*\
!*** ./node_modules/style-loader/dist/runtime/insertStyleElement.js ***!
\**********************************************************************/
/***/ ((module) => {
"use strict";
eval("\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;\n\n//# sourceURL=webpack://demo/./node_modules/style-loader/dist/runtime/insertStyleElement.js?");
/***/ }),
/***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js":
/*!**********************************************************************************!*\
!*** ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***!
\**********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = true ? __webpack_require__.nc : 0;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;\n\n//# sourceURL=webpack://demo/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js?");
/***/ }),
/***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js":
/*!***************************************************************!*\
!*** ./node_modules/style-loader/dist/runtime/styleDomAPI.js ***!
\***************************************************************/
/***/ ((module) => {
"use strict";
eval("\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;\n\n//# sourceURL=webpack://demo/./node_modules/style-loader/dist/runtime/styleDomAPI.js?");
/***/ }),
/***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js":
/*!*********************************************************************!*\
!*** ./node_modules/style-loader/dist/runtime/styleTagTransform.js ***!
\*********************************************************************/
/***/ ((module) => {
"use strict";
eval("\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;\n\n//# sourceURL=webpack://demo/./node_modules/style-loader/dist/runtime/styleTagTransform.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
/*!*******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("var _typeof = (__webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\")[\"default\"]);\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/typeof.js":
/*!*******************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
\*******************************************************/
/***/ ((module) => {
eval("function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/typeof.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/regenerator/index.js":
/*!**********************************************************!*\
!*** ./node_modules/@babel/runtime/regenerator/index.js ***!
\**********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("// TODO(Babel 8): Remove this file.\n\nvar runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ \"./node_modules/@babel/runtime/helpers/regeneratorRuntime.js\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/regenerator/index.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js":
/*!*********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***!
\*********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayLikeToArray)\n/* harmony export */ });\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js":
/*!*******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***!
\*******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayWithHoles)\n/* harmony export */ });\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js":
/*!**********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***!
\**********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayWithoutHoles)\n/* harmony export */ });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arr);\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js":
/*!**************************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***!
\**************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _assertThisInitialized)\n/* harmony export */ });\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js":
/*!*********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js ***!
\*********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _asyncToGenerator)\n/* harmony export */ });\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
/*!*******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
\*******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _classCallCheck)\n/* harmony export */ });\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js":
/*!****************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***!
\****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _createClass)\n/* harmony export */ });\n/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ \"./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js\");\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/createClass.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js":
/*!*******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
\*******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _defineProperty)\n/* harmony export */ });\n/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ \"./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js\");\n\nfunction _defineProperty(obj, key, value) {\n key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/defineProperty.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js":
/*!*******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***!
\*******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _getPrototypeOf)\n/* harmony export */ });\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/inherits.js":
/*!*************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/inherits.js ***!
\*************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _inherits)\n/* harmony export */ });\n/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ \"./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(subClass, superClass);\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/inherits.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
/*!********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
\********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _iterableToArray)\n/* harmony export */ });\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js":
/*!*************************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***!
\*************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _iterableToArrayLimit)\n/* harmony export */ });\nfunction _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js":
/*!********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***!
\********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _nonIterableRest)\n/* harmony export */ });\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js":
/*!**********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***!
\**********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _nonIterableSpread)\n/* harmony export */ });\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js":
/*!******************************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***!
\******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _possibleConstructorReturn)\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ \"./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\");\n\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && ((0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return (0,_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(self);\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js":
/*!*******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***!
\*******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _setPrototypeOf)\n/* harmony export */ });\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js":
/*!******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***!
\******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _slicedToArray)\n/* harmony export */ });\n/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\");\n/* harmony import */ var _iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArrayLimit.js */ \"./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js\");\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ \"./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\");\n\n\n\n\nfunction _slicedToArray(arr, i) {\n return (0,_arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arr) || (0,_iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arr, i) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(arr, i) || (0,_nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js":
/*!**********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***!
\**********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _toConsumableArray)\n/* harmony export */ });\n/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\");\n/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\");\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ \"./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\");\n\n\n\n\nfunction _toConsumableArray(arr) {\n return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arr) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arr) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(arr) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js":
/*!****************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***!
\****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _toPrimitive)\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n\nfunction _toPrimitive(input, hint) {\n if ((0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if ((0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js":
/*!******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***!
\******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _toPropertyKey)\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ \"./node_modules/@babel/runtime/helpers/esm/toPrimitive.js\");\n\n\nfunction _toPropertyKey(arg) {\n var key = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arg, \"string\");\n return (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(key) === \"symbol\" ? key : String(key);\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js":
/*!***********************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***!
\***********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _typeof)\n/* harmony export */ });\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/typeof.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _unsupportedIterableToArray)\n/* harmony export */ });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(o, minLen);\n}\n\n//# sourceURL=webpack://demo/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js?");
/***/ }),
/***/ "./node_modules/@fortawesome/fontawesome-svg-core/index.mjs":
/*!******************************************************************!*\
!*** ./node_modules/@fortawesome/fontawesome-svg-core/index.mjs ***!
\******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ api: () => (/* binding */ api),\n/* harmony export */ config: () => (/* binding */ config$1),\n/* harmony export */ counter: () => (/* binding */ counter),\n/* harmony export */ dom: () => (/* binding */ dom$1),\n/* harmony export */ findIconDefinition: () => (/* binding */ findIconDefinition$1),\n/* harmony export */ icon: () => (/* binding */ icon),\n/* harmony export */ layer: () => (/* binding */ layer),\n/* harmony export */ library: () => (/* binding */ library$1),\n/* harmony export */ noAuto: () => (/* binding */ noAuto$1),\n/* harmony export */ parse: () => (/* binding */ parse$1),\n/* harmony export */ text: () => (/* binding */ text),\n/* harmony export */ toHtml: () => (/* binding */ toHtml$1)\n/* harmony export */ });\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _wrapRegExp() {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, void 0, groups);\n };\n\n var _super = RegExp.prototype,\n _groups = new WeakMap();\n\n function BabelRegExp(re, flags, groups) {\n var _this = new RegExp(re, flags);\n\n return _groups.set(_this, groups || _groups.get(re)), _setPrototypeOf(_this, BabelRegExp.prototype);\n }\n\n function buildGroups(result, re) {\n var g = _groups.get(re);\n\n return Object.keys(g).reduce(function (groups, name) {\n return groups[name] = result[g[name]], groups;\n }, Object.create(null));\n }\n\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n\n return result && (result.groups = buildGroups(result, this)), result;\n }, BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (\"string\" == typeof substitution) {\n var groups = _groups.get(this);\n\n return _super[Symbol.replace].call(this, str, substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return \"$\" + groups[name];\n }));\n }\n\n if (\"function\" == typeof substitution) {\n var _this = this;\n\n return _super[Symbol.replace].call(this, str, function () {\n var args = arguments;\n return \"object\" != typeof args[args.length - 1] && (args = [].slice.call(args)).push(buildGroups(args, _this)), substitution.apply(this, args);\n });\n }\n\n return _super[Symbol.replace].call(this, str, substitution);\n }, _wrapRegExp.apply(this, arguments);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5;\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_CSS_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nvar PRODUCTION = function () {\n try {\n return \"development\" === 'production';\n } catch (e) {\n return false;\n }\n}();\nvar FAMILY_CLASSIC = 'classic';\nvar FAMILY_SHARP = 'sharp';\nvar FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];\n\nfunction familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get: function get(target, prop) {\n return prop in target ? target[prop] : target[FAMILY_CLASSIC];\n }\n });\n}\nvar PREFIX_TO_STYLE = familyProxy((_familyProxy = {}, _defineProperty(_familyProxy, FAMILY_CLASSIC, {\n 'fa': 'solid',\n 'fas': 'solid',\n 'fa-solid': 'solid',\n 'far': 'regular',\n 'fa-regular': 'regular',\n 'fal': 'light',\n 'fa-light': 'light',\n 'fat': 'thin',\n 'fa-thin': 'thin',\n 'fad': 'duotone',\n 'fa-duotone': 'duotone',\n 'fab': 'brands',\n 'fa-brands': 'brands',\n 'fak': 'kit',\n 'fa-kit': 'kit'\n}), _defineProperty(_familyProxy, FAMILY_SHARP, {\n 'fa': 'solid',\n 'fass': 'solid',\n 'fa-solid': 'solid',\n 'fasr': 'regular',\n 'fa-regular': 'regular',\n 'fasl': 'light',\n 'fa-light': 'light'\n}), _familyProxy));\nvar STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'thin': 'fat',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n}), _defineProperty(_familyProxy2, FAMILY_SHARP, {\n 'solid': 'fass',\n 'regular': 'fasr',\n 'light': 'fasl'\n}), _familyProxy2));\nvar PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, {\n 'fab': 'fa-brands',\n 'fad': 'fa-duotone',\n 'fak': 'fa-kit',\n 'fal': 'fa-light',\n 'far': 'fa-regular',\n 'fas': 'fa-solid',\n 'fat': 'fa-thin'\n}), _defineProperty(_familyProxy3, FAMILY_SHARP, {\n 'fass': 'fa-solid',\n 'fasr': 'fa-regular',\n 'fasl': 'fa-light'\n}), _familyProxy3));\nvar LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, {\n 'fa-brands': 'fab',\n 'fa-duotone': 'fad',\n 'fa-kit': 'fak',\n 'fa-light': 'fal',\n 'fa-regular': 'far',\n 'fa-solid': 'fas',\n 'fa-thin': 'fat'\n}), _defineProperty(_familyProxy4, FAMILY_SHARP, {\n 'fa-solid': 'fass',\n 'fa-regular': 'fasr',\n 'fa-light': 'fasl'\n}), _familyProxy4));\nvar ICON_SELECTION_SYNTAX_PATTERN = /fa(s|r|l|t|d|b|k|ss|sr|sl)?[\\-\\ ]/; // eslint-disable-line no-useless-escape\n\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp|Kit)?.*/i;\nvar FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal',\n '100': 'fat'\n}), _defineProperty(_familyProxy5, FAMILY_SHARP, {\n '900': 'fass',\n '400': 'fasr',\n '300': 'fasl'\n}), _familyProxy5));\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'duotone-group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar prefixes = new Set();\nObject.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes));\nObject.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes));\nvar RESERVED_CLASSES = [].concat(FAMILIES, _toConsumableArray(prefixes), ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', 'beat', 'border', 'fade', 'beat-fade', 'bounce', 'flip-both', 'flip-horizontal', 'flip-vertical', 'flip', 'fw', 'inverse', 'layers-counter', 'layers-text', 'layers', 'li', 'pull-left', 'pull-right', 'pulse', 'rotate-180', 'rotate-270', 'rotate-90', 'rotate-by', 'shake', 'spin-pulse', 'spin-reverse', 'spin', 'stack-1x', 'stack-2x', 'stack', 'ul', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY]).concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n})).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n}));\n\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n}\n\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n styleDefault: 'solid',\n familyDefault: 'classic',\n cssPrefix: DEFAULT_CSS_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n}; // familyPrefix is deprecated but we must still support it if present\n\nif (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n}\n\nvar _config = _objectSpread2(_objectSpread2({}, _default), initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nvar config = {};\nObject.keys(_default).forEach(function (key) {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function set(val) {\n _config[key] = val;\n\n _onChangeCb.forEach(function (cb) {\n return cb(config);\n });\n },\n get: function get() {\n return _config[key];\n }\n });\n}); // familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\n\nObject.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function set(val) {\n _config.cssPrefix = val;\n\n _onChangeCb.forEach(function (cb) {\n return cb(config);\n });\n },\n get: function get() {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nvar _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n\n return function () {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/'/g, '&#39;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar baseStyles = \":root, :host {\\n --fa-font-solid: normal 900 1em/1 \\\"Font Awesome 6 Solid\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Regular\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Light\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Thin\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-sharp-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\n}\\n\\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\\n overflow: visible;\\n box-sizing: content-box;\\n}\\n\\n.svg-inline--fa {\\n display: var(--fa-display, inline-block);\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-2xs {\\n vertical-align: 0.1em;\\n}\\n.svg-inline--fa.fa-xs {\\n vertical-align: 0em;\\n}\\n.svg-inline--fa.fa-sm {\\n vertical-align: -0.0714285705em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.2em;\\n}\\n.svg-inline--fa.fa-xl {\\n vertical-align: -0.25em;\\n}\\n.svg-inline--fa.fa-2xl {\\n vertical-align: -0.3125em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-li {\\n width: var(--fa-li-width, 2em);\\n top: 0.25em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: var(--fa-fw-width, 1.25em);\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: var(--fa-counter-background-color, #ff253a);\\n border-radius: var(--fa-counter-border-radius, 1em);\\n box-sizing: border-box;\\n color: var(--fa-inverse, #fff);\\n line-height: var(--fa-counter-line-height, 1);\\n max-width: var(--fa-counter-max-width, 5em);\\n min-width: var(--fa-counter-min-width, 1.5em);\\n overflow: hidden;\\n padding: var(--fa-counter-padding, 0.25em 0.5em);\\n right: var(--fa-right, 0);\\n text-overflow: ellipsis;\\n top: var(--fa-top, 0);\\n -webkit-transform: scale(var(--fa-counter-scale, 0.25));\\n transform: scale(var(--fa-counter-scale, 0.25));\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: var(--fa-bottom, 0);\\n right: var(--fa-right, 0);\\n top: auto;\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: var(--fa-bottom, 0);\\n left: var(--fa-left, 0);\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n top: var(--fa-top, 0);\\n right: var(--fa-right, 0);\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: var(--fa-left, 0);\\n right: auto;\\n top: var(--fa-top, 0);\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-2xs {\\n font-size: 0.625em;\\n line-height: 0.1em;\\n vertical-align: 0.225em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n line-height: 0.0833333337em;\\n vertical-align: 0.125em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n line-height: 0.0714285718em;\\n vertical-align: 0.0535714295em;\\n}\\n\\n.fa-lg {\\n font-size: 1.25em;\\n line-height: 0.05em;\\n vertical-align: -0.075em;\\n}\\n\\n.fa-xl {\\n font-size: 1.5em;\\n line-height: 0.0416666682em;\\n vertical-align: -0.125em;\\n}\\n\\n.fa-2xl {\\n font-size: 2em;\\n line-height: 0.03125em;\\n vertical-align: -0.1875em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: var(--fa-li-margin, 2.5em);\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: calc(var(--fa-li-width, 2em) * -1);\\n position: absolute;\\n text-align: center;\\n width: var(--fa-li-width, 2em);\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border-color: var(--fa-border-color, #eee);\\n border-radius: var(--fa-border-radius, 0.1em);\\n border-style: var(--fa-border-style, solid);\\n border-width: var(--fa-border-width, 0.08em);\\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\\n}\\n\\n.fa-pull-left {\\n float: left;\\n margin-right: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right {\\n float: right;\\n margin-left: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-beat {\\n -webkit-animation-name: fa-beat;\\n animation-name: fa-beat;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n -webkit-animation-name: fa-bounce;\\n animation-name: fa-bounce;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n -webkit-animation-name: fa-fade;\\n animation-name: fa-fade;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n -webkit-animation-name: fa-beat-fade;\\n animation-name: fa-beat-fade;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n -webkit-animation-name: fa-flip;\\n animation-name: fa-flip;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n -webkit-animation-name: fa-shake;\\n animation-name: fa-shake;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n -webkit-animation-name: fa-spin;\\n animation-name: fa-spin;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 2s);\\n animation-duration: var(--fa-animation-duration, 2s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin-reverse {\\n --fa-animation-direction: reverse;\\n}\\n\\n.fa-pulse,\\n.fa-spin-pulse {\\n -webkit-animation-name: fa-spin;\\n animation-name: fa-spin;\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));\\n animation-timing-function: var(--fa-animation-timing, steps(8));\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fa-beat,\\n.fa-bounce,\\n.fa-fade,\\n.fa-beat-fade,\\n.fa-flip,\\n.fa-pulse,\\n.fa-shake,\\n.fa-spin,\\n.fa-spin-pulse {\\n -webkit-animation-delay: -1ms;\\n animation-delay: -1ms;\\n -webkit-animation-duration: 1ms;\\n animation-duration: 1ms;\\n -webkit-animation-iteration-count: 1;\\n animation-iteration-count: 1;\\n -webkit-transition-delay: 0s;\\n transition-delay: 0s;\\n -webkit-transition-duration: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@-webkit-keyframes fa-beat {\\n 0%, 90% {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 45% {\\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 45% {\\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@-webkit-keyframes fa-bounce {\\n 0% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@-webkit-keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@-webkit-keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@-webkit-keyframes fa-flip {\\n 50% {\\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@keyframes fa-flip {\\n 50% {\\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@-webkit-keyframes fa-shake {\\n 0% {\\n -webkit-transform: rotate(-15deg);\\n transform: rotate(-15deg);\\n }\\n 4% {\\n -webkit-transform: rotate(15deg);\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n -webkit-transform: rotate(-18deg);\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n -webkit-transform: rotate(18deg);\\n transform: rotate(18deg);\\n }\\n 16% {\\n -webkit-transform: rotate(-22deg);\\n transform: rotate(-22deg);\\n }\\n 20% {\\n -webkit-transform: rotate(22deg);\\n transform: rotate(22deg);\\n }\\n 32% {\\n -webkit-transform: rotate(-12deg);\\n transform: rotate(-12deg);\\n }\\n 36% {\\n -webkit-transform: rotate(12deg);\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-shake {\\n 0% {\\n -webkit-transform: rotate(-15deg);\\n transform: rotate(-15deg);\\n }\\n 4% {\\n -webkit-transform: rotate(15deg);\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n -webkit-transform: rotate(-18deg);\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n -webkit-transform: rotate(18deg);\\n transform: rotate(18deg);\\n }\\n 16% {\\n -webkit-transform: rotate(-22deg);\\n transform: rotate(-22deg);\\n }\\n 20% {\\n -webkit-transform: rotate(22deg);\\n transform: rotate(22deg);\\n }\\n 32% {\\n -webkit-transform: rotate(-12deg);\\n transform: rotate(-12deg);\\n }\\n 36% {\\n -webkit-transform: rotate(12deg);\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n}\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n -webkit-transform: rotate(var(--fa-rotate-angle, none));\\n transform: rotate(var(--fa-rotate-angle, none));\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n vertical-align: middle;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: var(--fa-stack-z-index, auto);\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\\n\\n.sr-only,\\n.fa-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.sr-only-focusable:not(:focus),\\n.fa-sr-only-focusable:not(:focus) {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse,\\n.fa-duotone.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\";\n\nfunction css() {\n var dcp = DEFAULT_CSS_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.cssPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dcp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar _cssInserted = false;\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\n\nvar InjectCSS = {\n mixout: function mixout() {\n return {\n dom: {\n css: css,\n insertCss: ensureCss\n }\n };\n },\n hooks: function hooks() {\n return {\n beforeDOMElementCreation: function beforeDOMElementCreation() {\n ensureCss();\n },\n beforeI2svg: function beforeI2svg() {\n ensureCss();\n }\n };\n }\n};\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"</\").concat(tag, \">\");\n }\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\n/**\n * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens <https://mathiasbynens.be/>\n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nfunction ucs2decode(string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n\n return output;\n}\n\nfunction toHex(unicode) {\n var decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n var size = string.length;\n var first = string.charCodeAt(index);\n var second;\n\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return first;\n}\n\nfunction normalizeIcons(icons) {\n return Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = normalizeIcons(icons);\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"((?:(?!\")[\\s\\S])+)\".*path d=\"((?:(?!\")[\\s\\S])+)\"/, {\n d1: 1,\n d2: 2\n}), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\".*path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n}), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2\n})];\n\nvar _LONG_STYLE, _PREFIXES, _PREFIXES_FOR_FAMILY;\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar LONG_STYLE = (_LONG_STYLE = {}, _defineProperty(_LONG_STYLE, FAMILY_CLASSIC, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_LONG_STYLE, FAMILY_SHARP, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _LONG_STYLE);\nvar _defaultUsablePrefix = null;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar _byOldUnicode = {};\nvar _byAlias = {};\nvar PREFIXES = (_PREFIXES = {}, _defineProperty(_PREFIXES, FAMILY_CLASSIC, Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES, FAMILY_SHARP, Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP])), _PREFIXES);\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\n\nfunction getIconName(cssPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'number';\n });\n aliases.forEach(function (alias) {\n acc[alias.toString(16)] = iconName;\n });\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n acc[iconName] = iconName;\n\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'string';\n });\n aliases.forEach(function (alias) {\n acc[alias] = iconName;\n });\n }\n\n return acc;\n });\n _byAlias = lookup(function (acc, icon, iconName) {\n var aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(function (alias) {\n acc[alias] = iconName;\n });\n return acc;\n }); // If we have a Kit, we can't determine if regular is available since we\n // could be auto-fetching it. We'll have to assume that it is available.\n\n var hasRegular = 'far' in styles || config.autoFetchSvg;\n var shimLookups = reduce(shims, function (acc, shim) {\n var maybeNameMaybeUnicode = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix: prefix,\n iconName: iconName\n };\n }\n\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix: prefix,\n iconName: iconName\n };\n }\n\n return acc;\n }, {\n names: {},\n unicodes: {}\n });\n _byOldName = shimLookups.names;\n _byOldUnicode = shimLookups.unicodes;\n _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {\n family: config.familyDefault\n });\n};\nonChange(function (c) {\n _defaultUsablePrefix = getCanonicalPrefix(c.styleDefault, {\n family: config.familyDefault\n });\n});\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\nfunction byOldUnicode(unicode) {\n var oldUnicode = _byOldUnicode[unicode];\n var newUnicode = byUnicode('fas', unicode);\n return oldUnicode || (newUnicode ? {\n prefix: 'fas',\n iconName: newUnicode\n } : null) || {\n prefix: null,\n iconName: null\n };\n}\nfunction getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n}\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalPrefix(styleOrPrefix) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$family = params.family,\n family = _params$family === void 0 ? FAMILY_CLASSIC : _params$family;\n var style = PREFIX_TO_STYLE[family][styleOrPrefix];\n var prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n var defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n return prefix || defined || null;\n}\nvar PREFIXES_FOR_FAMILY = (_PREFIXES_FOR_FAMILY = {}, _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_CLASSIC, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_SHARP, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _PREFIXES_FOR_FAMILY);\nfunction getCanonicalIcon(values) {\n var _famProps;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$skipLookups = params.skipLookups,\n skipLookups = _params$skipLookups === void 0 ? false : _params$skipLookups;\n var famProps = (_famProps = {}, _defineProperty(_famProps, FAMILY_CLASSIC, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_CLASSIC)), _defineProperty(_famProps, FAMILY_SHARP, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_SHARP)), _famProps);\n var givenPrefix = null;\n var family = FAMILY_CLASSIC;\n\n if (values.includes(famProps[FAMILY_CLASSIC]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_CLASSIC].includes(v);\n })) {\n family = FAMILY_CLASSIC;\n }\n\n if (values.includes(famProps[FAMILY_SHARP]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_SHARP].includes(v);\n })) {\n family = FAMILY_SHARP;\n }\n\n var canonical = values.reduce(function (acc, cls) {\n var iconName = getIconName(config.cssPrefix, cls);\n\n if (styles[cls]) {\n cls = LONG_STYLE[family].includes(cls) ? LONG_STYLE_TO_PREFIX[family][cls] : cls;\n givenPrefix = cls;\n acc.prefix = cls;\n } else if (PREFIXES[family].indexOf(cls) > -1) {\n givenPrefix = cls;\n acc.prefix = getCanonicalPrefix(cls, {\n family: family\n });\n } else if (iconName) {\n acc.iconName = iconName;\n } else if (cls !== config.replacementClass && cls !== famProps[FAMILY_CLASSIC] && cls !== famProps[FAMILY_SHARP]) {\n acc.rest.push(cls);\n }\n\n if (!skipLookups && acc.prefix && acc.iconName) {\n var shim = givenPrefix === 'fa' ? byOldName(acc.iconName) : {};\n var aliasIconName = byAlias(acc.prefix, acc.iconName);\n\n if (shim.prefix) {\n givenPrefix = null;\n }\n\n acc.iconName = shim.iconName || aliasIconName || acc.iconName;\n acc.prefix = shim.prefix || acc.prefix;\n\n if (acc.prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {\n // Allow a fallback from the regular style to solid if regular is not available\n // but only if we aren't auto-fetching SVGs\n acc.prefix = 'fas';\n }\n }\n\n return acc;\n }, emptyCanonicalIcon());\n\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n\n if (values.includes('fa-duotone') || values.includes('fad')) {\n canonical.prefix = 'fad';\n }\n\n if (!canonical.prefix && family === FAMILY_SHARP && (styles['fass'] || config.autoFetchSvg)) {\n canonical.prefix = 'fass';\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n\n if (canonical.prefix === 'fa' || givenPrefix === 'fa') {\n // The fa prefix is not canonical. So if it has made it through until this point\n // we will shift it to the correct prefix.\n canonical.prefix = getDefaultUsablePrefix() || 'fas';\n }\n\n return canonical;\n}\n\nvar Library = /*#__PURE__*/function () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread2(_objectSpread2({}, _this.definitions[key] || {}), additions[key]);\n defineIcons(key, additions[key]); // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n\n var longPrefix = PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n var aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n\n if (aliases.length > 0) {\n aliases.forEach(function (alias) {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nvar _plugins = [];\nvar _hooks = {};\nvar providers = {};\nvar defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n var obj = _ref.mixoutsTo;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(function (k) {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n\n _plugins.forEach(function (plugin) {\n var mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(function (tk) {\n if (typeof mixout[tk] === 'function') {\n obj[tk] = mixout[tk];\n }\n\n if (_typeof(mixout[tk]) === 'object') {\n Object.keys(mixout[tk]).forEach(function (sk) {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n\n obj[tk][sk] = mixout[tk][sk];\n });\n }\n });\n\n if (plugin.hooks) {\n var hooks = plugin.hooks();\n Object.keys(hooks).forEach(function (hook) {\n if (!_hooks[hook]) {\n _hooks[hook] = [];\n }\n\n _hooks[hook].push(hooks[hook]);\n });\n }\n\n if (plugin.provides) {\n plugin.provides(providers);\n }\n });\n\n return obj;\n}\nfunction chainHooks(hook, accumulator) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var hookFns = _hooks[hook] || [];\n hookFns.forEach(function (hookFn) {\n accumulator = hookFn.apply(null, [accumulator].concat(args)); // eslint-disable-line no-useless-call\n });\n return accumulator;\n}\nfunction callHooks(hook) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var hookFns = _hooks[hook] || [];\n hookFns.forEach(function (hookFn) {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n var hook = arguments[0];\n var args = Array.prototype.slice.call(arguments, 1);\n return providers[hook] ? providers[hook].apply(null, args) : undefined;\n}\n\nfunction findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\n\n var iconName = iconLookup.iconName;\n var prefix = iconLookup.prefix || getDefaultUsablePrefix();\n if (!iconName) return;\n iconName = byAlias(prefix, iconName) || iconName;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n callHooks('beforeI2svg', params);\n callProvided('pseudoElements2svg', params);\n return callProvided('i2svg', params);\n } else {\n return Promise.reject('Operation requires a DOM of some kind.');\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nvar parse = {\n icon: function icon(_icon) {\n if (_icon === null) {\n return null;\n }\n\n if (_typeof(_icon) === 'object' && _icon.prefix && _icon.iconName) {\n return {\n prefix: _icon.prefix,\n iconName: byAlias(_icon.prefix, _icon.iconName) || _icon.iconName\n };\n }\n\n if (Array.isArray(_icon) && _icon.length === 2) {\n var iconName = _icon[1].indexOf('fa-') === 0 ? _icon[1].slice(3) : _icon[1];\n var prefix = getCanonicalPrefix(_icon[0]);\n return {\n prefix: prefix,\n iconName: byAlias(prefix, iconName) || iconName\n };\n }\n\n if (typeof _icon === 'string' && (_icon.indexOf(\"\".concat(config.cssPrefix, \"-\")) > -1 || _icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {\n var canonicalIcon = getCanonicalIcon(_icon.split(' '), {\n skipLookups: true\n });\n return {\n prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),\n iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName\n };\n }\n\n if (typeof _icon === 'string') {\n var _prefix = getDefaultUsablePrefix();\n\n return {\n prefix: _prefix,\n iconName: byAlias(_prefix, _icon) || _icon\n };\n }\n }\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n parse: parse,\n library: library,\n findIconDefinition: findIconDefinition,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nfunction domVariants(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread2(_objectSpread2({}, styles), {}, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.cssPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\n\n var args = _objectSpread2(_objectSpread2({}, content), {}, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n },\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread2({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar styles$1 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nvar missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n};\n\nfunction maybeNotifyMissing(iconName, prefix) {\n if (!PRODUCTION && !config.showMissingIcons && iconName) {\n console.error(\"Icon with name \\\"\".concat(iconName, \"\\\" and prefix \\\"\").concat(prefix, \"\\\" is missing.\"));\n }\n}\n\nfunction findIcon(iconName, prefix) {\n var givenPrefix = prefix;\n\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n\n return new Promise(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: callProvided('missingIconAbstract') || {}\n };\n\n if (givenPrefix === 'fa') {\n var shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\n\n if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {\n var icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n maybeNotifyMissing(iconName, prefix);\n resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n }));\n });\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"6.4.0\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction hasPrefixAndIcon(node) {\n var prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n var icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n return prefix && icon;\n}\n\nfunction hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nfunction createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\n\nfunction createElement(tag) {\n return DOCUMENT.createElement(tag);\n}\n\nfunction convertSVG(abstractObj) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$ceFn = params.ceFn,\n ceFn = _params$ceFn === void 0 ? abstractObj.tag === 'svg' ? createElementNS : createElement : _params$ceFn;\n\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n\n var tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n var children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn: ceFn\n }));\n });\n return tag;\n}\n\nfunction nodeAsComment(node) {\n var comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n\n return comment;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n\n if (node.parentNode) {\n mutation[1].forEach(function (_abstract) {\n node.parentNode.insertBefore(convertSVG(_abstract), node);\n });\n\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n var comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var _abstract2 = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete _abstract2[0].attributes.id;\n\n if (_abstract2[0].attributes.class) {\n var splitClasses = _abstract2[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n\n _abstract2[0].attributes.class = splitClasses.toSvg.join(' ');\n\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n\n var newInnerHTML = _abstract2.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var _options$treeCallback = options.treeCallback,\n treeCallback = _options$treeCallback === void 0 ? noop$2 : _options$treeCallback,\n _options$nodeCallback = options.nodeCallback,\n nodeCallback = _options$nodeCallback === void 0 ? noop$2 : _options$nodeCallback,\n _options$pseudoElemen = options.pseudoElementsCallback,\n pseudoElementsCallback = _options$pseudoElemen === void 0 ? noop$2 : _options$pseudoElemen,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n var defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);\n if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);\n } else if (hasBeenReplaced(mutationRecord.target)) {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.iconName && val.prefix) {\n return val;\n }\n\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\n\n return val;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraAttributes = attributesParser(node);\n var pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n var extraStyles = parser.styleParser ? styleParser(node) : [];\n return _objectSpread2({\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: meaninglessTransform,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n symbol: false,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n }, pluginMeta);\n}\n\nvar styles$2 = namespace.styles;\n\nfunction generateMutation(node) {\n var nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return callProvided('generateLayersText', node, nodeMeta);\n } else {\n return callProvided('generateSvgReplacementMutation', node, nodeMeta);\n }\n}\n\nvar knownPrefixes = new Set();\nFAMILIES.map(function (family) {\n knownPrefixes.add(\"fa-\".concat(family));\n});\nObject.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC]).map(knownPrefixes.add.bind(knownPrefixes));\nObject.keys(PREFIX_TO_STYLE[FAMILY_SHARP]).map(knownPrefixes.add.bind(knownPrefixes));\nknownPrefixes = _toConsumableArray(knownPrefixes);\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? knownPrefixes : FAMILIES.map(function (f) {\n return \"fa-\".concat(f);\n }).concat(Object.keys(styles$2));\n\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e.name === 'MissingIcon') {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new Promise(function (resolve, reject) {\n Promise.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function (e) {\n mark();\n reject(e);\n });\n });\n}\n\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask: mask\n }));\n };\n}\n\nvar render = function render(iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return domVariants(_objectSpread2({\n type: 'icon'\n }, iconDefinition), function () {\n callHooks('beforeDOMElementCreation', {\n iconDefinition: iconDefinition,\n params: params\n });\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n};\nvar ReplaceElements = {\n mixout: function mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n hooks: function hooks() {\n return {\n mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n return onTree(node, callback);\n };\n\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new Promise(function (resolve, reject) {\n Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({\n found: false,\n width: 512,\n height: 512,\n icon: {}\n })]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n\n providers$$1.generateAbstractIcon = function (_ref3) {\n var children = _ref3.children,\n attributes = _ref3.attributes,\n main = _ref3.main,\n transform = _ref3.transform,\n styles = _ref3.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var nextChild;\n\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main: main,\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n\n children.push(nextChild || main.icon);\n return {\n children: children,\n attributes: attributes\n };\n };\n }\n};\n\nvar Layers = {\n mixout: function mixout() {\n return {\n layer: function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes;\n return domVariants({\n type: 'layer'\n }, function () {\n callHooks('beforeDOMElementCreation', {\n assembler: assembler,\n params: params\n });\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.cssPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n }\n };\n }\n};\n\nvar LayersCounter = {\n mixout: function mixout() {\n return {\n counter: function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n return domVariants({\n type: 'counter',\n content: content\n }, function () {\n callHooks('beforeDOMElementCreation', {\n content: content,\n params: params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n }\n };\n }\n};\n\nvar LayersText = {\n mixout: function mixout() {\n return {\n text: function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n return domVariants({\n type: 'text',\n content: content\n }, function () {\n callHooks('beforeDOMElementCreation', {\n content: content,\n params: params\n });\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return Promise.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n };\n }\n};\n\nvar CLEAN_CONTENT_PATTERN = new RegExp(\"\\\"\", 'ug');\nvar SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nfunction hexValueFromContent(content) {\n var cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n var codePoint = codePointAt(cleaned, 0);\n var isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n var isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var family = ~['Sharp'].indexOf(fontFamily[2]) ? FAMILY_SHARP : FAMILY_CLASSIC;\n var prefix = ~['Solid', 'Regular', 'Light', 'Thin', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[family][fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[family][fontWeight];\n\n var _hexValueFromContent = hexValueFromContent(_content),\n hexValue = _hexValueFromContent.value,\n isSecondary = _hexValueFromContent.isSecondary;\n\n var isV4 = fontFamily[0].startsWith('FontAwesome');\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName;\n\n if (isV4) {\n var iconName4 = byOldUnicode(hexValue);\n\n if (iconName4.iconName && iconName4.prefix) {\n iconName = iconName4.iconName;\n prefix = iconName4.prefix;\n }\n } // Only convert the pseudo element in this ::before/::after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n\n if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var _abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n\n var element = DOCUMENT.createElement('svg');\n\n if (position === '::before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = _abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar PseudoElements = {\n hooks: function hooks() {\n return {\n mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.pseudoElements2svg = function (params) {\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n};\n\nvar _unwatched = false;\nvar MutationObserver$1 = {\n mixout: function mixout() {\n return {\n dom: {\n unwatch: function unwatch() {\n disableObservation();\n _unwatched = true;\n }\n }\n };\n },\n hooks: function hooks() {\n return {\n bootstrap: function bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n noAuto: function noAuto() {\n disconnect();\n },\n watch: function watch(params) {\n var observeMutationsRoot = params.observeMutationsRoot;\n\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot: observeMutationsRoot\n }));\n }\n }\n };\n }\n};\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n};\nvar PowerTransforms = {\n mixout: function mixout() {\n return {\n parse: {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n }\n };\n },\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var transformString = node.getAttribute('data-fa-transform');\n\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n\n return accumulator;\n }\n };\n },\n provides: function provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n var main = _ref.main,\n transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n var operations = {\n outer: outer,\n inner: inner,\n path: path\n };\n return {\n tag: 'g',\n attributes: _objectSpread2({}, operations.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread2({}, operations.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)\n }]\n }]\n };\n };\n }\n};\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(_abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (_abstract.attributes && (_abstract.attributes.fill || force)) {\n _abstract.attributes.fill = 'black';\n }\n\n return _abstract;\n}\n\nfunction deGroup(_abstract2) {\n if (_abstract2.tag === 'g') {\n return _abstract2.children;\n } else {\n return [_abstract2];\n }\n}\n\nvar Masks = {\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var maskData = node.getAttribute('data-fa-mask');\n var mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(function (i) {\n return i.trim();\n }));\n\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\n\n accumulator.mask = mask;\n accumulator.maskId = node.getAttribute('data-fa-mask-id');\n return accumulator;\n }\n };\n },\n provides: function provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.inner),\n children: [fillBlack(_objectSpread2({\n tag: mainPath.tag,\n attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread2({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n };\n }\n};\n\nvar MissingIconIndicator = {\n provides: function provides(providers) {\n var reduceMotion = false;\n\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n\n providers.missingIconAbstract = function () {\n var gChildren = [];\n var FILL = {\n fill: 'currentColor'\n };\n var ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n }; // Ring\n\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n });\n\n var OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\n\n var dot = {\n tag: 'circle',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: []\n };\n\n if (!reduceMotion) {\n dot.children.push({\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;1;1;0;1;'\n })\n });\n }\n\n gChildren.push(dot);\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: reduceMotion ? [] : [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;0;0;0;1;'\n })\n }]\n });\n\n if (!reduceMotion) {\n // Exclamation\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '0;0;1;1;0;0;'\n })\n }]\n });\n }\n\n return {\n tag: 'g',\n attributes: {\n 'class': 'missing'\n },\n children: gChildren\n };\n };\n }\n};\n\nvar SvgSymbols = {\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var symbolData = node.getAttribute('data-fa-symbol');\n var symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n };\n }\n};\n\nvar plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\nregisterPlugins(plugins, {\n mixoutsTo: api\n});\nvar noAuto$1 = api.noAuto;\nvar config$1 = api.config;\nvar library$1 = api.library;\nvar dom$1 = api.dom;\nvar parse$1 = api.parse;\nvar findIconDefinition$1 = api.findIconDefinition;\nvar toHtml$1 = api.toHtml;\nvar icon = api.icon;\nvar layer = api.layer;\nvar text = api.text;\nvar counter = api.counter;\n\n\n\n\n//# sourceURL=webpack://demo/./node_modules/@fortawesome/fontawesome-svg-core/index.mjs?");
/***/ }),
/***/ "./node_modules/@fortawesome/free-brands-svg-icons/index.mjs":
/*!*******************************************************************!*\
!*** ./node_modules/@fortawesome/free-brands-svg-icons/index.mjs ***!
\*******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fa42Group: () => (/* binding */ fa42Group),\n/* harmony export */ fa500px: () => (/* binding */ fa500px),\n/* harmony export */ faAccessibleIcon: () => (/* binding */ faAccessibleIcon),\n/* harmony export */ faAccusoft: () => (/* binding */ faAccusoft),\n/* harmony export */ faAdn: () => (/* binding */ faAdn),\n/* harmony export */ faAdversal: () => (/* binding */ faAdversal),\n/* harmony export */ faAffiliatetheme: () => (/* binding */ faAffiliatetheme),\n/* harmony export */ faAirbnb: () => (/* binding */ faAirbnb),\n/* harmony export */ faAlgolia: () => (/* binding */ faAlgolia),\n/* harmony export */ faAlipay: () => (/* binding */ faAlipay),\n/* harmony export */ faAmazon: () => (/* binding */ faAmazon),\n/* harmony export */ faAmazonPay: () => (/* binding */ faAmazonPay),\n/* harmony export */ faAmilia: () => (/* binding */ faAmilia),\n/* harmony export */ faAndroid: () => (/* binding */ faAndroid),\n/* harmony export */ faAngellist: () => (/* binding */ faAngellist),\n/* harmony export */ faAngrycreative: () => (/* binding */ faAngrycreative),\n/* harmony export */ faAngular: () => (/* binding */ faAngular),\n/* harmony export */ faAppStore: () => (/* binding */ faAppStore),\n/* harmony export */ faAppStoreIos: () => (/* binding */ faAppStoreIos),\n/* harmony export */ faApper: () => (/* binding */ faApper),\n/* harmony export */ faApple: () => (/* binding */ faApple),\n/* harmony export */ faApplePay: () => (/* binding */ faApplePay),\n/* harmony export */ faArtstation: () => (/* binding */ faArtstation),\n/* harmony export */ faAsymmetrik: () => (/* binding */ faAsymmetrik),\n/* harmony export */ faAtlassian: () => (/* binding */ faAtlassian),\n/* harmony export */ faAudible: () => (/* binding */ faAudible),\n/* harmony export */ faAutoprefixer: () => (/* binding */ faAutoprefixer),\n/* harmony export */ faAvianex: () => (/* binding */ faAvianex),\n/* harmony export */ faAviato: () => (/* binding */ faAviato),\n/* harmony export */ faAws: () => (/* binding */ faAws),\n/* harmony export */ faBandcamp: () => (/* binding */ faBandcamp),\n/* harmony export */ faBattleNet: () => (/* binding */ faBattleNet),\n/* harmony export */ faBehance: () => (/* binding */ faBehance),\n/* harmony export */ faBehanceSquare: () => (/* binding */ faBehanceSquare),\n/* harmony export */ faBilibili: () => (/* binding */ faBilibili),\n/* harmony export */ faBimobject: () => (/* binding */ faBimobject),\n/* harmony export */ faBitbucket: () => (/* binding */ faBitbucket),\n/* harmony export */ faBitcoin: () => (/* binding */ faBitcoin),\n/* harmony export */ faBity: () => (/* binding */ faBity),\n/* harmony export */ faBlackTie: () => (/* binding */ faBlackTie),\n/* harmony export */ faBlackberry: () => (/* binding */ faBlackberry),\n/* harmony export */ faBlogger: () => (/* binding */ faBlogger),\n/* harmony export */ faBloggerB: () => (/* binding */ faBloggerB),\n/* harmony export */ faBluetooth: () => (/* binding */ faBluetooth),\n/* harmony export */ faBluetoothB: () => (/* binding */ faBluetoothB),\n/* harmony export */ faBootstrap: () => (/* binding */ faBootstrap),\n/* harmony export */ faBots: () => (/* binding */ faBots),\n/* harmony export */ faBtc: () => (/* binding */ faBtc),\n/* harmony export */ faBuffer: () => (/* binding */ faBuffer),\n/* harmony export */ faBuromobelexperte: () => (/* binding */ faBuromobelexperte),\n/* harmony export */ faBuyNLarge: () => (/* binding */ faBuyNLarge),\n/* harmony export */ faBuysellads: () => (/* binding */ faBuysellads),\n/* harmony export */ faCanadianMapleLeaf: () => (/* binding */ faCanadianMapleLeaf),\n/* harmony export */ faCcAmazonPay: () => (/* binding */ faCcAmazonPay),\n/* harmony export */ faCcAmex: () => (/* binding */ faCcAmex),\n/* harmony export */ faCcApplePay: () => (/* binding */ faCcApplePay),\n/* harmony export */ faCcDinersClub: () => (/* binding */ faCcDinersClub),\n/* harmony export */ faCcDiscover: () => (/* binding */ faCcDiscover),\n/* harmony export */ faCcJcb: () => (/* binding */ faCcJcb),\n/* harmony export */ faCcMastercard: () => (/* binding */ faCcMastercard),\n/* harmony export */ faCcPaypal: () => (/* binding */ faCcPaypal),\n/* harmony export */ faCcStripe: () => (/* binding */ faCcStripe),\n/* harmony export */ faCcVisa: () => (/* binding */ faCcVisa),\n/* harmony export */ faCentercode: () => (/* binding */ faCentercode),\n/* harmony export */ faCentos: () => (/* binding */ faCentos),\n/* harmony export */ faChrome: () => (/* binding */ faChrome),\n/* harmony export */ faChromecast: () => (/* binding */ faChromecast),\n/* harmony export */ faCloudflare: () => (/* binding */ faCloudflare),\n/* harmony export */ faCloudscale: () => (/* binding */ faCloudscale),\n/* harmony export */ faCloudsmith: () => (/* binding */ faCloudsmith),\n/* harmony export */ faCloudversify: () => (/* binding */ faCloudversify),\n/* harmony export */ faCmplid: () => (/* binding */ faCmplid),\n/* harmony export */ faCodepen: () => (/* binding */ faCodepen),\n/* harmony export */ faCodiepie: () => (/* binding */ faCodiepie),\n/* harmony export */ faConfluence: () => (/* binding */ faConfluence),\n/* harmony export */ faConnectdevelop: () => (/* binding */ faConnectdevelop),\n/* harmony export */ faContao: () => (/* binding */ faContao),\n/* harmony export */ faCottonBureau: () => (/* binding */ faCottonBureau),\n/* harmony export */ faCpanel: () => (/* binding */ faCpanel),\n/* harmony export */ faCreativeCommons: () => (/* binding */ faCreativeCommons),\n/* harmony export */ faCreativeCommonsBy: () => (/* binding */ faCreativeCommonsBy),\n/* harmony export */ faCreativeCommonsNc: () => (/* binding */ faCreativeCommonsNc),\n/* harmony export */ faCreativeCommonsNcEu: () => (/* binding */ faCreativeCommonsNcEu),\n/* harmony export */ faCreativeCommonsNcJp: () => (/* binding */ faCreativeCommonsNcJp),\n/* harmony export */ faCreativeCommonsNd: () => (/* binding */ faCreativeCommonsNd),\n/* harmony export */ faCreativeCommonsPd: () => (/* binding */ faCreativeCommonsPd),\n/* harmony export */ faCreativeCommonsPdAlt: () => (/* binding */ faCreativeCommonsPdAlt),\n/* harmony export */ faCreativeCommonsRemix: () => (/* binding */ faCreativeCommonsRemix),\n/* harmony export */ faCreativeCommonsSa: () => (/* binding */ faCreativeCommonsSa),\n/* harmony export */ faCreativeCommonsSampling: () => (/* binding */ faCreativeCommonsSampling),\n/* harmony export */ faCreativeCommonsSamplingPlus: () => (/* binding */ faCreativeCommonsSamplingPlus),\n/* harmony export */ faCreativeCommonsShare: () => (/* binding */ faCreativeCommonsShare),\n/* harmony export */ faCreativeCommonsZero: () => (/* binding */ faCreativeCommonsZero),\n/* harmony export */ faCriticalRole: () => (/* binding */ faCriticalRole),\n/* harmony export */ faCss3: () => (/* binding */ faCss3),\n/* harmony export */ faCss3Alt: () => (/* binding */ faCss3Alt),\n/* harmony export */ faCuttlefish: () => (/* binding */ faCuttlefish),\n/* harmony export */ faDAndD: () => (/* binding */ faDAndD),\n/* harmony export */ faDAndDBeyond: () => (/* binding */ faDAndDBeyond),\n/* harmony export */ faDailymotion: () => (/* binding */ faDailymotion),\n/* harmony export */ faDashcube: () => (/* binding */ faDashcube),\n/* harmony export */ faDeezer: () => (/* binding */ faDeezer),\n/* harmony export */ faDelicious: () => (/* binding */ faDelicious),\n/* harmony export */ faDeploydog: () => (/* binding */ faDeploydog),\n/* harmony export */ faDeskpro: () => (/* binding */ faDeskpro),\n/* harmony export */ faDev: () => (/* binding */ faDev),\n/* harmony export */ faDeviantart: () => (/* binding */ faDeviantart),\n/* harmony export */ faDhl: () => (/* binding */ faDhl),\n/* harmony export */ faDiaspora: () => (/* binding */ faDiaspora),\n/* harmony export */ faDigg: () => (/* binding */ faDigg),\n/* harmony export */ faDigitalOcean: () => (/* binding */ faDigitalOcean),\n/* harmony export */ faDiscord: () => (/* binding */ faDiscord),\n/* harmony export */ faDiscourse: () => (/* binding */ faDiscourse),\n/* harmony export */ faDochub: () => (/* binding */ faDochub),\n/* harmony export */ faDocker: () => (/* binding */ faDocker),\n/* harmony export */ faDraft2digital: () => (/* binding */ faDraft2digital),\n/* harmony export */ faDribbble: () => (/* binding */ faDribbble),\n/* harmony export */ faDribbbleSquare: () => (/* binding */ faDribbbleSquare),\n/* harmony export */ faDropbox: () => (/* binding */ faDropbox),\n/* harmony export */ faDrupal: () => (/* binding */ faDrupal),\n/* harmony export */ faDyalog: () => (/* binding */ faDyalog),\n/* harmony export */ faEarlybirds: () => (/* binding */ faEarlybirds),\n/* harmony export */ faEbay: () => (/* binding */ faEbay),\n/* harmony export */ faEdge: () => (/* binding */ faEdge),\n/* harmony export */ faEdgeLegacy: () => (/* binding */ faEdgeLegacy),\n/* harmony export */ faElementor: () => (/* binding */ faElementor),\n/* harmony export */ faEllo: () => (/* binding */ faEllo),\n/* harmony export */ faEmber: () => (/* binding */ faEmber),\n/* harmony export */ faEmpire: () => (/* binding */ faEmpire),\n/* harmony export */ faEnvira: () => (/* binding */ faEnvira),\n/* harmony export */ faErlang: () => (/* binding */ faErlang),\n/* harmony export */ faEthereum: () => (/* binding */ faEthereum),\n/* harmony export */ faEtsy: () => (/* binding */ faEtsy),\n/* harmony export */ faEvernote: () => (/* binding */ faEvernote),\n/* harmony export */ faExpeditedssl: () => (/* binding */ faExpeditedssl),\n/* harmony export */ faFacebook: () => (/* binding */ faFacebook),\n/* harmony export */ faFacebookF: () => (/* binding */ faFacebookF),\n/* harmony export */ faFacebookMessenger: () => (/* binding */ faFacebookMessenger),\n/* harmony export */ faFacebookSquare: () => (/* binding */ faFacebookSquare),\n/* harmony export */ faFantasyFlightGames: () => (/* binding */ faFantasyFlightGames),\n/* harmony export */ faFedex: () => (/* binding */ faFedex),\n/* harmony export */ faFedora: () => (/* binding */ faFedora),\n/* harmony export */ faFigma: () => (/* binding */ faFigma),\n/* harmony export */ faFirefox: () => (/* binding */ faFirefox),\n/* harmony export */ faFirefoxBrowser: () => (/* binding */ faFirefoxBrowser),\n/* harmony export */ faFirstOrder: () => (/* binding */ faFirstOrder),\n/* harmony export */ faFirstOrderAlt: () => (/* binding */ faFirstOrderAlt),\n/* harmony export */ faFirstdraft: () => (/* binding */ faFirstdraft),\n/* harmony export */ faFlickr: () => (/* binding */ faFlickr),\n/* harmony export */ faFlipboard: () => (/* binding */ faFlipboard),\n/* harmony export */ faFly: () => (/* binding */ faFly),\n/* harmony export */ faFontAwesome: () => (/* binding */ faFontAwesome),\n/* harmony export */ faFontAwesomeAlt: () => (/* binding */ faFontAwesomeAlt),\n/* harmony export */ faFontAwesomeFlag: () => (/* binding */ faFontAwesomeFlag),\n/* harmony export */ faFontAwesomeLogoFull: () => (/* binding */ faFontAwesomeLogoFull),\n/* harmony export */ faFonticons: () => (/* binding */ faFonticons),\n/* harmony export */ faFonticonsFi: () => (/* binding */ faFonticonsFi),\n/* harmony export */ faFortAwesome: () => (/* binding */ faFortAwesome),\n/* harmony export */ faFortAwesomeAlt: () => (/* binding */ faFortAwesomeAlt),\n/* harmony export */ faForumbee: () => (/* binding */ faForumbee),\n/* harmony export */ faFoursquare: () => (/* binding */ faFoursquare),\n/* harmony export */ faFreeCodeCamp: () => (/* binding */ faFreeCodeCamp),\n/* harmony export */ faFreebsd: () => (/* binding */ faFreebsd),\n/* harmony export */ faFulcrum: () => (/* binding */ faFulcrum),\n/* harmony export */ faGalacticRepublic: () => (/* binding */ faGalacticRepublic),\n/* harmony export */ faGalacticSenate: () => (/* binding */ faGalacticSenate),\n/* harmony export */ faGetPocket: () => (/* binding */ faGetPocket),\n/* harmony export */ faGg: () => (/* binding */ faGg),\n/* harmony export */ faGgCircle: () => (/* binding */ faGgCircle),\n/* harmony export */ faGit: () => (/* binding */ faGit),\n/* harmony export */ faGitAlt: () => (/* binding */ faGitAlt),\n/* harmony export */ faGitSquare: () => (/* binding */ faGitSquare),\n/* harmony export */ faGithub: () => (/* binding */ faGithub),\n/* harmony export */ faGithubAlt: () => (/* binding */ faGithubAlt),\n/* harmony export */ faGithubSquare: () => (/* binding */ faGithubSquare),\n/* harmony export */ faGitkraken: () => (/* binding */ faGitkraken),\n/* harmony export */ faGitlab: () => (/* binding */ faGitlab),\n/* harmony export */ faGitlabSquare: () => (/* binding */ faGitlabSquare),\n/* harmony export */ faGitter: () => (/* binding */ faGitter),\n/* harmony export */ faGlide: () => (/* binding */ faGlide),\n/* harmony export */ faGlideG: () => (/* binding */ faGlideG),\n/* harmony export */ faGofore: () => (/* binding */ faGofore),\n/* harmony export */ faGolang: () => (/* binding */ faGolang),\n/* harmony export */ faGoodreads: () => (/* binding */ faGoodreads),\n/* harmony export */ faGoodreadsG: () => (/* binding */ faGoodreadsG),\n/* harmony export */ faGoogle: () => (/* binding */ faGoogle),\n/* harmony export */ faGoogleDrive: () => (/* binding */ faGoogleDrive),\n/* harmony export */ faGooglePay: () => (/* binding */ faGooglePay),\n/* harmony export */ faGooglePlay: () => (/* binding */ faGooglePlay),\n/* harmony export */ faGooglePlus: () => (/* binding */ faGooglePlus),\n/* harmony export */ faGooglePlusG: () => (/* binding */ faGooglePlusG),\n/* harmony export */ faGooglePlusSquare: () => (/* binding */ faGooglePlusSquare),\n/* harmony export */ faGoogleWallet: () => (/* binding */ faGoogleWallet),\n/* harmony export */ faGratipay: () => (/* binding */ faGratipay),\n/* harmony export */ faGrav: () => (/* binding */ faGrav),\n/* harmony export */ faGripfire: () => (/* binding */ faGripfire),\n/* harmony export */ faGrunt: () => (/* binding */ faGrunt),\n/* harmony export */ faGuilded: () => (/* binding */ faGuilded),\n/* harmony export */ faGulp: () => (/* binding */ faGulp),\n/* harmony export */ faHackerNews: () => (/* binding */ faHackerNews),\n/* harmony export */ faHackerNewsSquare: () => (/* binding */ faHackerNewsSquare),\n/* harmony export */ faHackerrank: () => (/* binding */ faHackerrank),\n/* harmony export */ faHashnode: () => (/* binding */ faHashnode),\n/* harmony export */ faHips: () => (/* binding */ faHips),\n/* harmony export */ faHireAHelper: () => (/* binding */ faHireAHelper),\n/* harmony export */ faHive: () => (/* binding */ faHive),\n/* harmony export */ faHooli: () => (/* binding */ faHooli),\n/* harmony export */ faHornbill: () => (/* binding */ faHornbill),\n/* harmony export */ faHotjar: () => (/* binding */ faHotjar),\n/* harmony export */ faHouzz: () => (/* binding */ faHouzz),\n/* harmony export */ faHtml5: () => (/* binding */ faHtml5),\n/* harmony export */ faHubspot: () => (/* binding */ faHubspot),\n/* harmony export */ faIdeal: () => (/* binding */ faIdeal),\n/* harmony export */ faImdb: () => (/* binding */ faImdb),\n/* harmony export */ faInnosoft: () => (/* binding */ faInnosoft),\n/* harmony export */ faInstagram: () => (/* binding */ faInstagram),\n/* harmony export */ faInstagramSquare: () => (/* binding */ faInstagramSquare),\n/* harmony export */ faInstalod: () => (/* binding */ faInstalod),\n/* harmony export */ faIntercom: () => (/* binding */ faIntercom),\n/* harmony export */ faInternetExplorer: () => (/* binding */ faInternetExplorer),\n/* harmony export */ faInvision: () => (/* binding */ faInvision),\n/* harmony export */ faIoxhost: () => (/* binding */ faIoxhost),\n/* harmony export */ faItchIo: () => (/* binding */ faItchIo),\n/* harmony export */ faItunes: () => (/* binding */ faItunes),\n/* harmony export */ faItunesNote: () => (/* binding */ faItunesNote),\n/* harmony export */ faJava: () => (/* binding */ faJava),\n/* harmony export */ faJediOrder: () => (/* binding */ faJediOrder),\n/* harmony export */ faJenkins: () => (/* binding */ faJenkins),\n/* harmony export */ faJira: () => (/* binding */ faJira),\n/* harmony export */ faJoget: () => (/* binding */ faJoget),\n/* harmony export */ faJoomla: () => (/* binding */ faJoomla),\n/* harmony export */ faJs: () => (/* binding */ faJs),\n/* harmony export */ faJsSquare: () => (/* binding */ faJsSquare),\n/* harmony export */ faJsfiddle: () => (/* binding */ faJsfiddle),\n/* harmony export */ faKaggle: () => (/* binding */ faKaggle),\n/* harmony export */ faKeybase: () => (/* binding */ faKeybase),\n/* harmony export */ faKeycdn: () => (/* binding */ faKeycdn),\n/* harmony export */ faKickstarter: () => (/* binding */ faKickstarter),\n/* harmony export */ faKickstarterK: () => (/* binding */ faKickstarterK),\n/* harmony export */ faKorvue: () => (/* binding */ faKorvue),\n/* harmony export */ faLaravel: () => (/* binding */ faLaravel),\n/* harmony export */ faLastfm: () => (/* binding */ faLastfm),\n/* harmony export */ faLastfmSquare: () => (/* binding */ faLastfmSquare),\n/* harmony export */ faLeanpub: () => (/* binding */ faLeanpub),\n/* harmony export */ faLess: () => (/* binding */ faLess),\n/* harmony export */ faLine: () => (/* binding */ faLine),\n/* harmony export */ faLinkedin: () => (/* binding */ faLinkedin),\n/* harmony export */ faLinkedinIn: () => (/* binding */ faLinkedinIn),\n/* harmony export */ faLinode: () => (/* binding */ faLinode),\n/* harmony export */ faLinux: () => (/* binding */ faLinux),\n/* harmony export */ faLyft: () => (/* binding */ faLyft),\n/* harmony export */ faMagento: () => (/* binding */ faMagento),\n/* harmony export */ faMailchimp: () => (/* binding */ faMailchimp),\n/* harmony export */ faMandalorian: () => (/* binding */ faMandalorian),\n/* harmony export */ faMarkdown: () => (/* binding */ faMarkdown),\n/* harmony export */ faMastodon: () => (/* binding */ faMastodon),\n/* harmony export */ faMaxcdn: () => (/* binding */ faMaxcdn),\n/* harmony export */ faMdb: () => (/* binding */ faMdb),\n/* harmony export */ faMedapps: () => (/* binding */ faMedapps),\n/* harmony export */ faMedium: () => (/* binding */ faMedium),\n/* harmony export */ faMediumM: () => (/* binding */ faMediumM),\n/* harmony export */ faMedrt: () => (/* binding */ faMedrt),\n/* harmony export */ faMeetup: () => (/* binding */ faMeetup),\n/* harmony export */ faMegaport: () => (/* binding */ faMegaport),\n/* harmony export */ faMendeley: () => (/* binding */ faMendeley),\n/* harmony export */ faMeta: () => (/* binding */ faMeta),\n/* harmony export */ faMicroblog: () => (/* binding */ faMicroblog),\n/* harmony export */ faMicrosoft: () => (/* binding */ faMicrosoft),\n/* harmony export */ faMix: () => (/* binding */ faMix),\n/* harmony export */ faMixcloud: () => (/* binding */ faMixcloud),\n/* harmony export */ faMixer: () => (/* binding */ faMixer),\n/* harmony export */ faMizuni: () => (/* binding */ faMizuni),\n/* harmony export */ faModx: () => (/* binding */ faModx),\n/* harmony export */ faMonero: () => (/* binding */ faMonero),\n/* harmony export */ faNapster: () => (/* binding */ faNapster),\n/* harmony export */ faNeos: () => (/* binding */ faNeos),\n/* harmony export */ faNfcDirectional: () => (/* binding */ faNfcDirectional),\n/* harmony export */ faNfcSymbol: () => (/* binding */ faNfcSymbol),\n/* harmony export */ faNimblr: () => (/* binding */ faNimblr),\n/* harmony export */ faNode: () => (/* binding */ faNode),\n/* harmony export */ faNodeJs: () => (/* binding */ faNodeJs),\n/* harmony export */ faNpm: () => (/* binding */ faNpm),\n/* harmony export */ faNs8: () => (/* binding */ faNs8),\n/* harmony export */ faNutritionix: () => (/* binding */ faNutritionix),\n/* harmony export */ faOctopusDeploy: () => (/* binding */ faOctopusDeploy),\n/* harmony export */ faOdnoklassniki: () => (/* binding */ faOdnoklassniki),\n/* harmony export */ faOdnoklassnikiSquare: () => (/* binding */ faOdnoklassnikiSquare),\n/* harmony export */ faOdysee: () => (/* binding */ faOdysee),\n/* harmony export */ faOldRepublic: () => (/* binding */ faOldRepublic),\n/* harmony export */ faOpencart: () => (/* binding */ faOpencart),\n/* harmony export */ faOpenid: () => (/* binding */ faOpenid),\n/* harmony export */ faOpera: () => (/* binding */ faOpera),\n/* harmony export */ faOptinMonster: () => (/* binding */ faOptinMonster),\n/* harmony export */ faOrcid: () => (/* binding */ faOrcid),\n/* harmony export */ faOsi: () => (/* binding */ faOsi),\n/* harmony export */ faPadlet: () => (/* binding */ faPadlet),\n/* harmony export */ faPage4: () => (/* binding */ faPage4),\n/* harmony export */ faPagelines: () => (/* binding */ faPagelines),\n/* harmony export */ faPalfed: () => (/* binding */ faPalfed),\n/* harmony export */ faPatreon: () => (/* binding */ faPatreon),\n/* harmony export */ faPaypal: () => (/* binding */ faPaypal),\n/* harmony export */ faPerbyte: () => (/* binding */ faPerbyte),\n/* harmony export */ faPeriscope: () => (/* binding */ faPeriscope),\n/* harmony export */ faPhabricator: () => (/* binding */ faPhabricator),\n/* harmony export */ faPhoenixFramework: () => (/* binding */ faPhoenixFramework),\n/* harmony export */ faPhoenixSquadron: () => (/* binding */ faPhoenixSquadron),\n/* harmony export */ faPhp: () => (/* binding */ faPhp),\n/* harmony export */ faPiedPiper: () => (/* binding */ faPiedPiper),\n/* harmony export */ faPiedPiperAlt: () => (/* binding */ faPiedPiperAlt),\n/* harmony export */ faPiedPiperHat: () => (/* binding */ faPiedPiperHat),\n/* harmony export */ faPiedPiperPp: () => (/* binding */ faPiedPiperPp),\n/* harmony export */ faPiedPiperSquare: () => (/* binding */ faPiedPiperSquare),\n/* harmony export */ faPinterest: () => (/* binding */ faPinterest),\n/* harmony export */ faPinterestP: () => (/* binding */ faPinterestP),\n/* harmony export */ faPinterestSquare: () => (/* binding */ faPinterestSquare),\n/* harmony export */ faPix: () => (/* binding */ faPix),\n/* harmony export */ faPlaystation: () => (/* binding */ faPlaystation),\n/* harmony export */ faProductHunt: () => (/* binding */ faProductHunt),\n/* harmony export */ faPushed: () => (/* binding */ faPushed),\n/* harmony export */ faPython: () => (/* binding */ faPython),\n/* harmony export */ faQq: () => (/* binding */ faQq),\n/* harmony export */ faQuinscape: () => (/* binding */ faQuinscape),\n/* harmony export */ faQuora: () => (/* binding */ faQuora),\n/* harmony export */ faRProject: () => (/* binding */ faRProject),\n/* harmony export */ faRaspberryPi: () => (/* binding */ faRaspberryPi),\n/* harmony export */ faRavelry: () => (/* binding */ faRavelry),\n/* harmony export */ faReact: () => (/* binding */ faReact),\n/* harmony export */ faReacteurope: () => (/* binding */ faReacteurope),\n/* harmony export */ faReadme: () => (/* binding */ faReadme),\n/* harmony export */ faRebel: () => (/* binding */ faRebel),\n/* harmony export */ faRedRiver: () => (/* binding */ faRedRiver),\n/* harmony export */ faReddit: () => (/* binding */ faReddit),\n/* harmony export */ faRedditAlien: () => (/* binding */ faRedditAlien),\n/* harmony export */ faRedditSquare: () => (/* binding */ faRedditSquare),\n/* harmony export */ faRedhat: () => (/* binding */ faRedhat),\n/* harmony export */ faRendact: () => (/* binding */ faRendact),\n/* harmony export */ faRenren: () => (/* binding */ faRenren),\n/* harmony export */ faReplyd: () => (/* binding */ faReplyd),\n/* harmony export */ faResearchgate: () => (/* binding */ faResearchgate),\n/* harmony export */ faResolving: () => (/* binding */ faResolving),\n/* harmony export */ faRev: () => (/* binding */ faRev),\n/* harmony export */ faRocketchat: () => (/* binding */ faRocketchat),\n/* harmony export */ faRockrms: () => (/* binding */ faRockrms),\n/* harmony export */ faRust: () => (/* binding */ faRust),\n/* harmony export */ faSafari: () => (/* binding */ faSafari),\n/* harmony export */ faSalesforce: () => (/* binding */ faSalesforce),\n/* harmony export */ faSass: () => (/* binding */ faSass),\n/* harmony export */ faSchlix: () => (/* binding */ faSchlix),\n/* harmony export */ faScreenpal: () => (/* binding */ faScreenpal),\n/* harmony export */ faScribd: () => (/* binding */ faScribd),\n/* harmony export */ faSearchengin: () => (/* binding */ faSearchengin),\n/* harmony export */ faSellcast: () => (/* binding */ faSellcast),\n/* harmony export */ faSellsy: () => (/* binding */ faSellsy),\n/* harmony export */ faServicestack: () => (/* binding */ faServicestack),\n/* harmony export */ faShirtsinbulk: () => (/* binding */ faShirtsinbulk),\n/* harmony export */ faShopify: () => (/* binding */ faShopify),\n/* harmony export */ faShopware: () => (/* binding */ faShopware),\n/* harmony export */ faSimplybuilt: () => (/* binding */ faSimplybuilt),\n/* harmony export */ faSistrix: () => (/* binding */ faSistrix),\n/* harmony export */ faSith: () => (/* binding */ faSith),\n/* harmony export */ faSitrox: () => (/* binding */ faSitrox),\n/* harmony export */ faSketch: () => (/* binding */ faSketch),\n/* harmony export */ faSkyatlas: () => (/* binding */ faSkyatlas),\n/* harmony export */ faSkype: () => (/* binding */ faSkype),\n/* harmony export */ faSlack: () => (/* binding */ faSlack),\n/* harmony export */ faSlackHash: () => (/* binding */ faSlackHash),\n/* harmony export */ faSlideshare: () => (/* binding */ faSlideshare),\n/* harmony export */ faSnapchat: () => (/* binding */ faSnapchat),\n/* harmony export */ faSnapchatGhost: () => (/* binding */ faSnapchatGhost),\n/* harmony export */ faSnapchatSquare: () => (/* binding */ faSnapchatSquare),\n/* harmony export */ faSoundcloud: () => (/* binding */ faSoundcloud),\n/* harmony export */ faSourcetree: () => (/* binding */ faSourcetree),\n/* harmony export */ faSpaceAwesome: () => (/* binding */ faSpaceAwesome),\n/* harmony export */ faSpeakap: () => (/* binding */ faSpeakap),\n/* harmony export */ faSpeakerDeck: () => (/* binding */ faSpeakerDeck),\n/* harmony export */ faSpotify: () => (/* binding */ faSpotify),\n/* harmony export */ faSquareBehance: () => (/* binding */ faSquareBehance),\n/* harmony export */ faSquareDribbble: () => (/* binding */ faSquareDribbble),\n/* harmony export */ faSquareFacebook: () => (/* binding */ faSquareFacebook),\n/* harmony export */ faSquareFontAwesome: () => (/* binding */ faSquareFontAwesome),\n/* harmony export */ faSquareFontAwesomeStroke: () => (/* binding */ faSquareFontAwesomeStroke),\n/* harmony export */ faSquareGit: () => (/* binding */ faSquareGit),\n/* harmony export */ faSquareGithub: () => (/* binding */ faSquareGithub),\n/* harmony export */ faSquareGitlab: () => (/* binding */ faSquareGitlab),\n/* harmony export */ faSquareGooglePlus: () => (/* binding */ faSquareGooglePlus),\n/* harmony export */ faSquareHackerNews: () => (/* binding */ faSquareHackerNews),\n/* harmony export */ faSquareInstagram: () => (/* binding */ faSquareInstagram),\n/* harmony export */ faSquareJs: () => (/* binding */ faSquareJs),\n/* harmony export */ faSquareLastfm: () => (/* binding */ faSquareLastfm),\n/* harmony export */ faSquareOdnoklassniki: () => (/* binding */ faSquareOdnoklassniki),\n/* harmony export */ faSquarePiedPiper: () => (/* binding */ faSquarePiedPiper),\n/* harmony export */ faSquarePinterest: () => (/* binding */ faSquarePinterest),\n/* harmony export */ faSquareReddit: () => (/* binding */ faSquareReddit),\n/* harmony export */ faSquareSnapchat: () => (/* binding */ faSquareSnapchat),\n/* harmony export */ faSquareSteam: () => (/* binding */ faSquareSteam),\n/* harmony export */ faSquareTumblr: () => (/* binding */ faSquareTumblr),\n/* harmony export */ faSquareTwitter: () => (/* binding */ faSquareTwitter),\n/* harmony export */ faSquareViadeo: () => (/* binding */ faSquareViadeo),\n/* harmony export */ faSquareVimeo: () => (/* binding */ faSquareVimeo),\n/* harmony export */ faSquareWhatsapp: () => (/* binding */ faSquareWhatsapp),\n/* harmony export */ faSquareXing: () => (/* binding */ faSquareXing),\n/* harmony export */ faSquareYoutube: () => (/* binding */ faSquareYoutube),\n/* harmony export */ faSquarespace: () => (/* binding */ faSquarespace),\n/* harmony export */ faStackExchange: () => (/* binding */ faStackExchange),\n/* harmony export */ faStackOverflow: () => (/* binding */ faStackOverflow),\n/* harmony export */ faStackpath: () => (/* binding */ faStackpath),\n/* harmony export */ faStaylinked: () => (/* binding */ faStaylinked),\n/* harmony export */ faSteam: () => (/* binding */ faSteam),\n/* harmony export */ faSteamSquare: () => (/* binding */ faSteamSquare),\n/* harmony export */ faSteamSymbol: () => (/* binding */ faSteamSymbol),\n/* harmony export */ faStickerMule: () => (/* binding */ faStickerMule),\n/* harmony export */ faStrava: () => (/* binding */ faStrava),\n/* harmony export */ faStripe: () => (/* binding */ faStripe),\n/* harmony export */ faStripeS: () => (/* binding */ faStripeS),\n/* harmony export */ faStubber: () => (/* binding */ faStubber),\n/* harmony export */ faStudiovinari: () => (/* binding */ faStudiovinari),\n/* harmony export */ faStumbleupon: () => (/* binding */ faStumbleupon),\n/* harmony export */ faStumbleuponCircle: () => (/* binding */ faStumbleuponCircle),\n/* harmony export */ faSuperpowers: () => (/* binding */ faSuperpowers),\n/* harmony export */ faSupple: () => (/* binding */ faSupple),\n/* harmony export */ faSuse: () => (/* binding */ faSuse),\n/* harmony export */ faSwift: () => (/* binding */ faSwift),\n/* harmony export */ faSymfony: () => (/* binding */ faSymfony),\n/* harmony export */ faTeamspeak: () => (/* binding */ faTeamspeak),\n/* harmony export */ faTelegram: () => (/* binding */ faTelegram),\n/* harmony export */ faTelegramPlane: () => (/* binding */ faTelegramPlane),\n/* harmony export */ faTencentWeibo: () => (/* binding */ faTencentWeibo),\n/* harmony export */ faTheRedYeti: () => (/* binding */ faTheRedYeti),\n/* harmony export */ faThemeco: () => (/* binding */ faThemeco),\n/* harmony export */ faThemeisle: () => (/* binding */ faThemeisle),\n/* harmony export */ faThinkPeaks: () => (/* binding */ faThinkPeaks),\n/* harmony export */ faTiktok: () => (/* binding */ faTiktok),\n/* harmony export */ faTradeFederation: () => (/* binding */ faTradeFederation),\n/* harmony export */ faTrello: () => (/* binding */ faTrello),\n/* harmony export */ faTumblr: () => (/* binding */ faTumblr),\n/* harmony export */ faTumblrSquare: () => (/* binding */ faTumblrSquare),\n/* harmony export */ faTwitch: () => (/* binding */ faTwitch),\n/* harmony export */ faTwitter: () => (/* binding */ faTwitter),\n/* harmony export */ faTwitterSquare: () => (/* binding */ faTwitterSquare),\n/* harmony export */ faTypo3: () => (/* binding */ faTypo3),\n/* harmony export */ faUber: () => (/* binding */ faUber),\n/* harmony export */ faUbuntu: () => (/* binding */ faUbuntu),\n/* harmony export */ faUikit: () => (/* binding */ faUikit),\n/* harmony export */ faUmbraco: () => (/* binding */ faUmbraco),\n/* harmony export */ faUncharted: () => (/* binding */ faUncharted),\n/* harmony export */ faUniregistry: () => (/* binding */ faUniregistry),\n/* harmony export */ faUnity: () => (/* binding */ faUnity),\n/* harmony export */ faUnsplash: () => (/* binding */ faUnsplash),\n/* harmony export */ faUntappd: () => (/* binding */ faUntappd),\n/* harmony export */ faUps: () => (/* binding */ faUps),\n/* harmony export */ faUsb: () => (/* binding */ faUsb),\n/* harmony export */ faUsps: () => (/* binding */ faUsps),\n/* harmony export */ faUssunnah: () => (/* binding */ faUssunnah),\n/* harmony export */ faVaadin: () => (/* binding */ faVaadin),\n/* harmony export */ faViacoin: () => (/* binding */ faViacoin),\n/* harmony export */ faViadeo: () => (/* binding */ faViadeo),\n/* harmony export */ faViadeoSquare: () => (/* binding */ faViadeoSquare),\n/* harmony export */ faViber: () => (/* binding */ faViber),\n/* harmony export */ faVimeo: () => (/* binding */ faVimeo),\n/* harmony export */ faVimeoSquare: () => (/* binding */ faVimeoSquare),\n/* harmony export */ faVimeoV: () => (/* binding */ faVimeoV),\n/* harmony export */ faVine: () => (/* binding */ faVine),\n/* harmony export */ faVk: () => (/* binding */ faVk),\n/* harmony export */ faVnv: () => (/* binding */ faVnv),\n/* harmony export */ faVuejs: () => (/* binding */ faVuejs),\n/* harmony export */ faWatchmanMonitoring: () => (/* binding */ faWatchmanMonitoring),\n/* harmony export */ faWaze: () => (/* binding */ faWaze),\n/* harmony export */ faWeebly: () => (/* binding */ faWeebly),\n/* harmony export */ faWeibo: () => (/* binding */ faWeibo),\n/* harmony export */ faWeixin: () => (/* binding */ faWeixin),\n/* harmony export */ faWhatsapp: () => (/* binding */ faWhatsapp),\n/* harmony export */ faWhatsappSquare: () => (/* binding */ faWhatsappSquare),\n/* harmony export */ faWhmcs: () => (/* binding */ faWhmcs),\n/* harmony export */ faWikipediaW: () => (/* binding */ faWikipediaW),\n/* harmony export */ faWindows: () => (/* binding */ faWindows),\n/* harmony export */ faWirsindhandwerk: () => (/* binding */ faWirsindhandwerk),\n/* harmony export */ faWix: () => (/* binding */ faWix),\n/* harmony export */ faWizardsOfTheCoast: () => (/* binding */ faWizardsOfTheCoast),\n/* harmony export */ faWodu: () => (/* binding */ faWodu),\n/* harmony export */ faWolfPackBattalion: () => (/* binding */ faWolfPackBattalion),\n/* harmony export */ faWordpress: () => (/* binding */ faWordpress),\n/* harmony export */ faWordpressSimple: () => (/* binding */ faWordpressSimple),\n/* harmony export */ faWpbeginner: () => (/* binding */ faWpbeginner),\n/* harmony export */ faWpexplorer: () => (/* binding */ faWpexplorer),\n/* harmony export */ faWpforms: () => (/* binding */ faWpforms),\n/* harmony export */ faWpressr: () => (/* binding */ faWpressr),\n/* harmony export */ faWsh: () => (/* binding */ faWsh),\n/* harmony export */ faXbox: () => (/* binding */ faXbox),\n/* harmony export */ faXing: () => (/* binding */ faXing),\n/* harmony export */ faXingSquare: () => (/* binding */ faXingSquare),\n/* harmony export */ faYCombinator: () => (/* binding */ faYCombinator),\n/* harmony export */ faYahoo: () => (/* binding */ faYahoo),\n/* harmony export */ faYammer: () => (/* binding */ faYammer),\n/* harmony export */ faYandex: () => (/* binding */ faYandex),\n/* harmony export */ faYandexInternational: () => (/* binding */ faYandexInternational),\n/* harmony export */ faYarn: () => (/* binding */ faYarn),\n/* harmony export */ faYelp: () => (/* binding */ faYelp),\n/* harmony export */ faYoast: () => (/* binding */ faYoast),\n/* harmony export */ faYoutube: () => (/* binding */ faYoutube),\n/* harmony export */ faYoutubeSquare: () => (/* binding */ faYoutubeSquare),\n/* harmony export */ faZhihu: () => (/* binding */ faZhihu),\n/* harmony export */ fab: () => (/* binding */ icons),\n/* harmony export */ prefix: () => (/* binding */ prefix)\n/* harmony export */ });\nvar prefix = \"fab\";\nvar faMonero = {\n prefix: 'fab',\n iconName: 'monero',\n icon: [496, 512, [], \"f3d0\", \"M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z\"]\n};\nvar faHooli = {\n prefix: 'fab',\n iconName: 'hooli',\n icon: [640, 512, [], \"f427\", \"M144.5 352l38.3.8c-13.2-4.6-26-10.2-38.3-16.8zm57.7-5.3v5.3l-19.4.8c36.5 12.5 69.9 14.2 94.7 7.2-19.9.2-45.8-2.6-75.3-13.3zm408.9-115.2c15.9 0 28.9-12.9 28.9-28.9s-12.9-24.5-28.9-24.5c-15.9 0-28.9 8.6-28.9 24.5s12.9 28.9 28.9 28.9zm-29 120.5H640V241.5h-57.9zm-73.7 0h57.9V156.7L508.4 184zm-31-119.4c-18.2-18.2-50.4-17.1-50.4-17.1s-32.3-1.1-50.4 17.1c-18.2 18.2-16.8 33.9-16.8 52.6s-1.4 34.3 16.8 52.5 50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.8-33.8 16.8-52.5-.1-18.8 1.3-34.5-16.8-52.6zm-39.8 71.9c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9zm-106.2-71.9c-18.2-18.2-50.4-17.1-50.4-17.1s-32.2-1.1-50.4 17.1c-1.9 1.9-3.7 3.9-5.3 6-38.2-29.6-72.5-46.5-102.1-61.1v-20.7l-22.5 10.6c-54.4-22.1-89-18.2-97.3.1 0 0-24.9 32.8 61.8 110.8V352h57.9v-28.6c-6.5-4.2-13-8.7-19.4-13.6-14.8-11.2-27.4-21.6-38.4-31.4v-31c13.1 14.7 30.5 31.4 53.4 50.3l4.5 3.6v-29.8c0-6.9 1.7-18.2 10.8-18.2s10.6 6.9 10.6 15V317c18 12.2 37.3 22.1 57.7 29.6v-93.9c0-18.7-13.4-37.4-40.6-37.4-15.8-.1-30.5 8.2-38.5 21.9v-54.3c41.9 20.9 83.9 46.5 99.9 58.3-10.2 14.6-9.3 28.1-9.3 43.7 0 18.7-1.4 34.3 16.8 52.5s50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.7-33.8 16.7-52.5 0-18.5 1.5-34.2-16.7-52.3zM65.2 184v63.3c-48.7-54.5-38.9-76-35.2-79.1 13.5-11.4 37.5-8 64.4 2.1zm226.5 120.5c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9z\"]\n};\nvar faYelp = {\n prefix: 'fab',\n iconName: 'yelp',\n icon: [384, 512, [], \"f1e9\", \"M42.9 240.32l99.62 48.61c19.2 9.4 16.2 37.51-4.5 42.71L30.5 358.45a22.79 22.79 0 0 1-28.21-19.6 197.16 197.16 0 0 1 9-85.32 22.8 22.8 0 0 1 31.61-13.21zm44 239.25a199.45 199.45 0 0 0 79.42 32.11A22.78 22.78 0 0 0 192.94 490l3.9-110.82c.7-21.3-25.5-31.91-39.81-16.1l-74.21 82.4a22.82 22.82 0 0 0 4.09 34.09zm145.34-109.92l58.81 94a22.93 22.93 0 0 0 34 5.5 198.36 198.36 0 0 0 52.71-67.61A23 23 0 0 0 364.17 370l-105.42-34.26c-20.31-6.5-37.81 15.8-26.51 33.91zm148.33-132.23a197.44 197.44 0 0 0-50.41-69.31 22.85 22.85 0 0 0-34 4.4l-62 91.92c-11.9 17.7 4.7 40.61 25.2 34.71L366 268.63a23 23 0 0 0 14.61-31.21zM62.11 30.18a22.86 22.86 0 0 0-9.9 32l104.12 180.44c11.7 20.2 42.61 11.9 42.61-11.4V22.88a22.67 22.67 0 0 0-24.5-22.8 320.37 320.37 0 0 0-112.33 30.1z\"]\n};\nvar faCcVisa = {\n prefix: 'fab',\n iconName: 'cc-visa',\n icon: [576, 512, [], \"f1f0\", \"M470.1 231.3s7.6 37.2 9.3 45H446c3.3-8.9 16-43.5 16-43.5-.2.3 3.3-9.1 5.3-14.9l2.8 13.4zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM152.5 331.2L215.7 176h-42.5l-39.3 106-4.3-21.5-14-71.4c-2.3-9.9-9.4-12.7-18.2-13.1H32.7l-.7 3.1c15.8 4 29.9 9.8 42.2 17.1l35.8 135h42.5zm94.4.2L272.1 176h-40.2l-25.1 155.4h40.1zm139.9-50.8c.2-17.7-10.6-31.2-33.7-42.3-14.1-7.1-22.7-11.9-22.7-19.2.2-6.6 7.3-13.4 23.1-13.4 13.1-.3 22.7 2.8 29.9 5.9l3.6 1.7 5.5-33.6c-7.9-3.1-20.5-6.6-36-6.6-39.7 0-67.6 21.2-67.8 51.4-.3 22.3 20 34.7 35.2 42.2 15.5 7.6 20.8 12.6 20.8 19.3-.2 10.4-12.6 15.2-24.1 15.2-16 0-24.6-2.5-37.7-8.3l-5.3-2.5-5.6 34.9c9.4 4.3 26.8 8.1 44.8 8.3 42.2.1 69.7-20.8 70-53zM528 331.4L495.6 176h-31.1c-9.6 0-16.9 2.8-21 12.9l-59.7 142.5H426s6.9-19.2 8.4-23.3H486c1.2 5.5 4.8 23.3 4.8 23.3H528z\"]\n};\nvar faLastfm = {\n prefix: 'fab',\n iconName: 'lastfm',\n icon: [512, 512, [], \"f202\", \"M225.8 367.1l-18.8-51s-30.5 34-76.2 34c-40.5 0-69.2-35.2-69.2-91.5 0-72.1 36.4-97.9 72.1-97.9 66.5 0 74.8 53.3 100.9 134.9 18.8 56.9 54 102.6 155.4 102.6 72.7 0 122-22.3 122-80.9 0-72.9-62.7-80.6-115-92.1-25.8-5.9-33.4-16.4-33.4-34 0-19.9 15.8-31.7 41.6-31.7 28.2 0 43.4 10.6 45.7 35.8l58.6-7c-4.7-52.8-41.1-74.5-100.9-74.5-52.8 0-104.4 19.9-104.4 83.9 0 39.9 19.4 65.1 68 76.8 44.9 10.6 79.8 13.8 79.8 45.7 0 21.7-21.1 30.5-61 30.5-59.2 0-83.9-31.1-97.9-73.9-32-96.8-43.6-163-161.3-163C45.7 113.8 0 168.3 0 261c0 89.1 45.7 137.2 127.9 137.2 66.2 0 97.9-31.1 97.9-31.1z\"]\n};\nvar faShopware = {\n prefix: 'fab',\n iconName: 'shopware',\n icon: [512, 512, [], \"f5b5\", \"M403.5 455.41A246.17 246.17 0 0 1 256 504C118.81 504 8 393 8 256 8 118.81 119 8 256 8a247.39 247.39 0 0 1 165.7 63.5 3.57 3.57 0 0 1-2.86 6.18A418.62 418.62 0 0 0 362.13 74c-129.36 0-222.4 53.47-222.4 155.35 0 109 92.13 145.88 176.83 178.73 33.64 13 65.4 25.36 87 41.59a3.58 3.58 0 0 1 0 5.72zM503 233.09a3.64 3.64 0 0 0-1.27-2.44c-51.76-43-93.62-60.48-144.48-60.48-84.13 0-80.25 52.17-80.25 53.63 0 42.6 52.06 62 112.34 84.49 31.07 11.59 63.19 23.57 92.68 39.93a3.57 3.57 0 0 0 5-1.82A249 249 0 0 0 503 233.09z\"]\n};\nvar faCreativeCommonsNc = {\n prefix: 'fab',\n iconName: 'creative-commons-nc',\n icon: [496, 512, [], \"f4e8\", \"M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-101.8 178.5-104.1l-93.4-41.6c-7.7 37.1-41.2 53-68.2 55.4v38.1h-28.8V368c-27.5-.3-52.6-10.2-75.3-29.7l34.1-34.5c31.7 29.4 86.4 31.8 86.4-2.2 0-6.2-2.2-11.2-6.6-15.1-14.2-6-1.8-.1-219.3-97.4zM248.4 52.3c-38.4 0-112.4 8.7-170.5 93l94.8 42.5c10-31.3 40.4-42.9 63.8-44.3v-38.1h28.8v38.1c22.7 1.2 43.4 8.9 62 23L295 199.7c-42.7-29.9-83.5-8-70 11.1 53.4 24.1 43.8 19.8 93 41.6l127.1 56.7c4.1-17.4 6.2-35.1 6.2-53.1 0-57-19.8-105-59.3-143.9-39.3-39.9-87.2-59.8-143.6-59.8z\"]\n};\nvar faAws = {\n prefix: 'fab',\n iconName: 'aws',\n icon: [640, 512, [], \"f375\", \"M180.41 203.01c-.72 22.65 10.6 32.68 10.88 39.05a8.164 8.164 0 0 1-4.1 6.27l-12.8 8.96a10.66 10.66 0 0 1-5.63 1.92c-.43-.02-8.19 1.83-20.48-25.61a78.608 78.608 0 0 1-62.61 29.45c-16.28.89-60.4-9.24-58.13-56.21-1.59-38.28 34.06-62.06 70.93-60.05 7.1.02 21.6.37 46.99 6.27v-15.62c2.69-26.46-14.7-46.99-44.81-43.91-2.4.01-19.4-.5-45.84 10.11-7.36 3.38-8.3 2.82-10.75 2.82-7.41 0-4.36-21.48-2.94-24.2 5.21-6.4 35.86-18.35 65.94-18.18a76.857 76.857 0 0 1 55.69 17.28 70.285 70.285 0 0 1 17.67 52.36l-.01 69.29zM93.99 235.4c32.43-.47 46.16-19.97 49.29-30.47 2.46-10.05 2.05-16.41 2.05-27.4-9.67-2.32-23.59-4.85-39.56-4.87-15.15-1.14-42.82 5.63-41.74 32.26-1.24 16.79 11.12 31.4 29.96 30.48zm170.92 23.05c-7.86.72-11.52-4.86-12.68-10.37l-49.8-164.65c-.97-2.78-1.61-5.65-1.92-8.58a4.61 4.61 0 0 1 3.86-5.25c.24-.04-2.13 0 22.25 0 8.78-.88 11.64 6.03 12.55 10.37l35.72 140.83 33.16-140.83c.53-3.22 2.94-11.07 12.8-10.24h17.16c2.17-.18 11.11-.5 12.68 10.37l33.42 142.63L420.98 80.1c.48-2.18 2.72-11.37 12.68-10.37h19.72c.85-.13 6.15-.81 5.25 8.58-.43 1.85 3.41-10.66-52.75 169.9-1.15 5.51-4.82 11.09-12.68 10.37h-18.69c-10.94 1.15-12.51-9.66-12.68-10.75L328.67 110.7l-32.78 136.99c-.16 1.09-1.73 11.9-12.68 10.75h-18.3zm273.48 5.63c-5.88.01-33.92-.3-57.36-12.29a12.802 12.802 0 0 1-7.81-11.91v-10.75c0-8.45 6.2-6.9 8.83-5.89 10.04 4.06 16.48 7.14 28.81 9.6 36.65 7.53 52.77-2.3 56.72-4.48 13.15-7.81 14.19-25.68 5.25-34.95-10.48-8.79-15.48-9.12-53.13-21-4.64-1.29-43.7-13.61-43.79-52.36-.61-28.24 25.05-56.18 69.52-55.95 12.67-.01 46.43 4.13 55.57 15.62 1.35 2.09 2.02 4.55 1.92 7.04v10.11c0 4.44-1.62 6.66-4.87 6.66-7.71-.86-21.39-11.17-49.16-10.75-6.89-.36-39.89.91-38.41 24.97-.43 18.96 26.61 26.07 29.7 26.89 36.46 10.97 48.65 12.79 63.12 29.58 17.14 22.25 7.9 48.3 4.35 55.44-19.08 37.49-68.42 34.44-69.26 34.42zm40.2 104.86c-70.03 51.72-171.69 79.25-258.49 79.25A469.127 469.127 0 0 1 2.83 327.46c-6.53-5.89-.77-13.96 7.17-9.47a637.37 637.37 0 0 0 316.88 84.12 630.22 630.22 0 0 0 241.59-49.55c11.78-5 21.77 7.8 10.12 16.38zm29.19-33.29c-8.96-11.52-59.28-5.38-81.81-2.69-6.79.77-7.94-5.12-1.79-9.47 40.07-28.17 105.88-20.1 113.44-10.63 7.55 9.47-2.05 75.41-39.56 106.91-5.76 4.87-11.27 2.3-8.71-4.1 8.44-21.25 27.39-68.49 18.43-80.02z\"]\n};\nvar faRedhat = {\n prefix: 'fab',\n iconName: 'redhat',\n icon: [512, 512, [], \"f7bc\", \"M341.52 285.56c33.65 0 82.34-6.94 82.34-47 .22-6.74.86-1.82-20.88-96.24-4.62-19.15-8.68-27.84-42.31-44.65-26.09-13.34-82.92-35.37-99.73-35.37-15.66 0-20.2 20.17-38.87 20.17-18 0-31.31-15.06-48.12-15.06-16.14 0-26.66 11-34.78 33.62-27.5 77.55-26.28 74.27-26.12 78.27 0 24.8 97.64 106.11 228.47 106.11M429 254.84c4.65 22 4.65 24.35 4.65 27.25 0 37.66-42.33 58.56-98 58.56-125.74.08-235.91-73.65-235.91-122.33a49.55 49.55 0 0 1 4.06-19.72C58.56 200.86 0 208.93 0 260.63c0 84.67 200.63 189 359.49 189 121.79 0 152.51-55.08 152.51-98.58 0-34.21-29.59-73.05-82.93-96.24\"]\n};\nvar faYoast = {\n prefix: 'fab',\n iconName: 'yoast',\n icon: [448, 512, [], \"f2b1\", \"M91.3 76h186l-7 18.9h-179c-39.7 0-71.9 31.6-71.9 70.3v205.4c0 35.4 24.9 70.3 84 70.3V460H91.3C41.2 460 0 419.8 0 370.5V165.2C0 115.9 40.7 76 91.3 76zm229.1-56h66.5C243.1 398.1 241.2 418.9 202.2 459.3c-20.8 21.6-49.3 31.7-78.3 32.7v-51.1c49.2-7.7 64.6-49.9 64.6-75.3 0-20.1.6-12.6-82.1-223.2h61.4L218.2 299 320.4 20zM448 161.5V460H234c6.6-9.6 10.7-16.3 12.1-19.4h182.5V161.5c0-32.5-17.1-51.9-48.2-62.9l6.7-17.6c41.7 13.6 60.9 43.1 60.9 80.5z\"]\n};\nvar faCloudflare = {\n prefix: 'fab',\n iconName: 'cloudflare',\n icon: [640, 512, [], \"e07d\", \"M407.906,319.913l-230.8-2.928a4.58,4.58,0,0,1-3.632-1.926,4.648,4.648,0,0,1-.494-4.147,6.143,6.143,0,0,1,5.361-4.076L411.281,303.9c27.631-1.26,57.546-23.574,68.022-50.784l13.286-34.542a7.944,7.944,0,0,0,.524-2.936,7.735,7.735,0,0,0-.164-1.631A151.91,151.91,0,0,0,201.257,198.4,68.12,68.12,0,0,0,94.2,269.59C41.924,271.106,0,313.728,0,366.12a96.054,96.054,0,0,0,1.029,13.958,4.508,4.508,0,0,0,4.445,3.871l426.1.051c.043,0,.08-.019.122-.02a5.606,5.606,0,0,0,5.271-4l3.273-11.265c3.9-13.4,2.448-25.8-4.1-34.9C430.124,325.423,420.09,320.487,407.906,319.913ZM513.856,221.1c-2.141,0-4.271.062-6.391.164a3.771,3.771,0,0,0-3.324,2.653l-9.077,31.193c-3.9,13.4-2.449,25.786,4.1,34.89,6.02,8.4,16.054,13.323,28.238,13.9l49.2,2.939a4.491,4.491,0,0,1,3.51,1.894,4.64,4.64,0,0,1,.514,4.169,6.153,6.153,0,0,1-5.351,4.075l-51.125,2.939c-27.754,1.27-57.669,23.574-68.145,50.784l-3.695,9.606a2.716,2.716,0,0,0,2.427,3.68c.046,0,.088.017.136.017h175.91a4.69,4.69,0,0,0,4.539-3.37,124.807,124.807,0,0,0,4.682-34C640,277.3,583.524,221.1,513.856,221.1Z\"]\n};\nvar faUps = {\n prefix: 'fab',\n iconName: 'ups',\n icon: [384, 512, [], \"f7e0\", \"M103.2 303c-5.2 3.6-32.6 13.1-32.6-19V180H37.9v102.6c0 74.9 80.2 51.1 97.9 39V180h-32.6zM4 74.82v220.9c0 103.7 74.9 135.2 187.7 184.1 112.4-48.9 187.7-80.2 187.7-184.1V74.82c-116.3-61.6-281.8-49.6-375.4 0zm358.1 220.9c0 86.6-53.2 113.6-170.4 165.3-117.5-51.8-170.5-78.7-170.5-165.3v-126.4c102.3-93.8 231.6-100 340.9-89.8zm-209.6-107.4v212.8h32.7v-68.7c24.4 7.3 71.7-2.6 71.7-78.5 0-97.4-80.7-80.92-104.4-65.6zm32.7 117.3v-100.3c8.4-4.2 38.4-12.7 38.4 49.3 0 67.9-36.4 51.8-38.4 51zm79.1-86.4c.1 47.3 51.6 42.5 52.2 70.4.6 23.5-30.4 23-50.8 4.9v30.1c36.2 21.5 81.9 8.1 83.2-33.5 1.7-51.5-54.1-46.6-53.4-73.2.6-20.3 30.6-20.5 48.5-2.2v-28.4c-28.5-22-79.9-9.2-79.7 31.9z\"]\n};\nvar faWpexplorer = {\n prefix: 'fab',\n iconName: 'wpexplorer',\n icon: [512, 512, [], \"f2de\", \"M512 256c0 141.2-114.7 256-256 256C114.8 512 0 397.3 0 256S114.7 0 256 0s256 114.7 256 256zm-32 0c0-123.2-100.3-224-224-224C132.5 32 32 132.5 32 256s100.5 224 224 224 224-100.5 224-224zM160.9 124.6l86.9 37.1-37.1 86.9-86.9-37.1 37.1-86.9zm110 169.1l46.6 94h-14.6l-50-100-48.9 100h-14l51.1-106.9-22.3-9.4 6-14 68.6 29.1-6 14.3-16.5-7.1zm-11.8-116.3l68.6 29.4-29.4 68.3L230 246l29.1-68.6zm80.3 42.9l54.6 23.1-23.4 54.3-54.3-23.1 23.1-54.3z\"]\n};\nvar faDyalog = {\n prefix: 'fab',\n iconName: 'dyalog',\n icon: [416, 512, [], \"f399\", \"M0 32v119.2h64V96h107.2C284.6 96 352 176.2 352 255.9 352 332 293.4 416 171.2 416H0v64h171.2C331.9 480 416 367.3 416 255.9c0-58.7-22.1-113.4-62.3-154.3C308.9 56 245.7 32 171.2 32H0z\"]\n};\nvar faBity = {\n prefix: 'fab',\n iconName: 'bity',\n icon: [496, 512, [], \"f37a\", \"M78.4 67.2C173.8-22 324.5-24 421.5 71c14.3 14.1-6.4 37.1-22.4 21.5-84.8-82.4-215.8-80.3-298.9-3.2-16.3 15.1-36.5-8.3-21.8-22.1zm98.9 418.6c19.3 5.7 29.3-23.6 7.9-30C73 421.9 9.4 306.1 37.7 194.8c5-19.6-24.9-28.1-30.2-7.1-32.1 127.4 41.1 259.8 169.8 298.1zm148.1-2c121.9-40.2 192.9-166.9 164.4-291-4.5-19.7-34.9-13.8-30 7.9 24.2 107.7-37.1 217.9-143.2 253.4-21.2 7-10.4 36 8.8 29.7zm-62.9-79l.2-71.8c0-8.2-6.6-14.8-14.8-14.8-8.2 0-14.8 6.7-14.8 14.8l-.2 71.8c0 8.2 6.6 14.8 14.8 14.8s14.8-6.6 14.8-14.8zm71-269c2.1 90.9 4.7 131.9-85.5 132.5-92.5-.7-86.9-44.3-85.5-132.5 0-21.8-32.5-19.6-32.5 0v71.6c0 69.3 60.7 90.9 118 90.1 57.3.8 118-20.8 118-90.1v-71.6c0-19.6-32.5-21.8-32.5 0z\"]\n};\nvar faStackpath = {\n prefix: 'fab',\n iconName: 'stackpath',\n icon: [448, 512, [], \"f842\", \"M244.6 232.4c0 8.5-4.26 20.49-21.34 20.49h-19.61v-41.47h19.61c17.13 0 21.34 12.36 21.34 20.98zM448 32v448H0V32zM151.3 287.84c0-21.24-12.12-34.54-46.72-44.85-20.57-7.41-26-10.91-26-18.63s7-14.61 20.41-14.61c14.09 0 20.79 8.45 20.79 18.35h30.7l.19-.57c.5-19.57-15.06-41.65-51.12-41.65-23.37 0-52.55 10.75-52.55 38.29 0 19.4 9.25 31.29 50.74 44.37 17.26 6.15 21.91 10.4 21.91 19.48 0 15.2-19.13 14.23-19.47 14.23-20.4 0-25.65-9.1-25.65-21.9h-30.8l-.18.56c-.68 31.32 28.38 45.22 56.63 45.22 29.98 0 51.12-13.55 51.12-38.29zm125.38-55.63c0-25.3-18.43-45.46-53.42-45.46h-51.78v138.18h32.17v-47.36h19.61c30.25 0 53.42-15.95 53.42-45.36zM297.94 325L347 186.78h-31.09L268 325zm106.52-138.22h-31.09L325.46 325h29.94z\"]\n};\nvar faBuysellads = {\n prefix: 'fab',\n iconName: 'buysellads',\n icon: [448, 512, [], \"f20d\", \"M224 150.7l42.9 160.7h-85.8L224 150.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-65.3 325.3l-94.5-298.7H159.8L65.3 405.3H156l111.7-91.6 24.2 91.6h90.8z\"]\n};\nvar faFirstOrder = {\n prefix: 'fab',\n iconName: 'first-order',\n icon: [448, 512, [], \"f2b0\", \"M12.9 229.2c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4h-.2zM224 96.6c-7.1 0-14.6.6-21.4 1.7l3.7 67.4-22-64c-14.3 3.7-27.7 9.4-40 16.6l29.4 61.4-45.1-50.9c-11.4 8.9-21.7 19.1-30.6 30.9l50.6 45.4-61.1-29.7c-7.1 12.3-12.9 25.7-16.6 40l64.3 22.6-68-4c-.9 7.1-1.4 14.6-1.4 22s.6 14.6 1.4 21.7l67.7-4-64 22.6c3.7 14.3 9.4 27.7 16.6 40.3l61.1-29.7L97.7 352c8.9 11.7 19.1 22.3 30.9 30.9l44.9-50.9-29.5 61.4c12.3 7.4 25.7 13.1 40 16.9l22.3-64.6-4 68c7.1 1.1 14.6 1.7 21.7 1.7 7.4 0 14.6-.6 21.7-1.7l-4-68.6 22.6 65.1c14.3-4 27.7-9.4 40-16.9L274.9 332l44.9 50.9c11.7-8.9 22-19.1 30.6-30.9l-50.6-45.1 61.1 29.4c7.1-12.3 12.9-25.7 16.6-40.3l-64-22.3 67.4 4c1.1-7.1 1.4-14.3 1.4-21.7s-.3-14.9-1.4-22l-67.7 4 64-22.3c-3.7-14.3-9.1-28-16.6-40.3l-60.9 29.7 50.6-45.4c-8.9-11.7-19.1-22-30.6-30.9l-45.1 50.9 29.4-61.1c-12.3-7.4-25.7-13.1-40-16.9L241.7 166l4-67.7c-7.1-1.2-14.3-1.7-21.7-1.7zM443.4 128v256L224 512 4.6 384V128L224 0l219.4 128zm-17.1 10.3L224 20.9 21.7 138.3v235.1L224 491.1l202.3-117.7V138.3zM224 37.1l187.7 109.4v218.9L224 474.9 36.3 365.4V146.6L224 37.1zm0 50.9c-92.3 0-166.9 75.1-166.9 168 0 92.6 74.6 167.7 166.9 167.7 92 0 166.9-75.1 166.9-167.7 0-92.9-74.9-168-166.9-168z\"]\n};\nvar faModx = {\n prefix: 'fab',\n iconName: 'modx',\n icon: [448, 512, [], \"f285\", \"M356 241.8l36.7 23.7V480l-133-83.8L356 241.8zM440 75H226.3l-23 37.8 153.5 96.5L440 75zm-89 142.8L55.2 32v214.5l46 29L351 217.8zM97 294.2L8 437h213.7l125-200.5L97 294.2z\"]\n};\nvar faGuilded = {\n prefix: 'fab',\n iconName: 'guilded',\n icon: [448, 512, [], \"e07e\", \"M443.427,64H4.571c0,103.26,22.192,180.06,43.418,222.358C112.046,414.135,224,448,225.256,448a312.824,312.824,0,0,0,140.55-103.477c25.907-33.923,53.1-87.19,65.916-145.761H171.833c4.14,36.429,22.177,67.946,45.1,86.944h88.589c-17.012,28.213-48.186,54.4-80.456,69.482-31.232-13.259-69.09-46.544-96.548-98.362-26.726-53.833-27.092-105.883-27.092-105.883H437.573A625.91,625.91,0,0,0,443.427,64Z\"]\n};\nvar faVnv = {\n prefix: 'fab',\n iconName: 'vnv',\n icon: [640, 512, [], \"f40b\", \"M104.9 352c-34.1 0-46.4-30.4-46.4-30.4L2.6 210.1S-7.8 192 13 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.7-74.5c5.6-9.5 8.4-18.1 18.8-18.1h32.8c20.8 0 10.4 18.1 10.4 18.1l-55.8 111.5S174.2 352 140 352h-35.1zm395 0c-34.1 0-46.4-30.4-46.4-30.4l-55.9-111.5S387.2 192 408 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.8-74.5c5.6-9.5 8.4-18.1 18.8-18.1H627c20.8 0 10.4 18.1 10.4 18.1l-55.9 111.5S569.3 352 535.1 352h-35.2zM337.6 192c34.1 0 46.4 30.4 46.4 30.4l55.9 111.5s10.4 18.1-10.4 18.1h-32.8c-10.4 0-13.2-8.7-18.8-18.1l-36.7-74.5s-5.2-13.1-21.1-13.1c-15.9 0-21.1 13.1-21.1 13.1l-36.7 74.5c-5.6 9.4-8.4 18.1-18.8 18.1h-32.9c-20.8 0-10.4-18.1-10.4-18.1l55.9-111.5s12.2-30.4 46.4-30.4h35.1z\"]\n};\nvar faSquareJs = {\n prefix: 'fab',\n iconName: 'square-js',\n icon: [448, 512, [\"js-square\"], \"f3b9\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"]\n};\nvar faJsSquare = faSquareJs;\nvar faMicrosoft = {\n prefix: 'fab',\n iconName: 'microsoft',\n icon: [448, 512, [], \"f3ca\", \"M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z\"]\n};\nvar faQq = {\n prefix: 'fab',\n iconName: 'qq',\n icon: [448, 512, [], \"f1d6\", \"M433.754 420.445c-11.526 1.393-44.86-52.741-44.86-52.741 0 31.345-16.136 72.247-51.051 101.786 16.842 5.192 54.843 19.167 45.803 34.421-7.316 12.343-125.51 7.881-159.632 4.037-34.122 3.844-152.316 8.306-159.632-4.037-9.045-15.25 28.918-29.214 45.783-34.415-34.92-29.539-51.059-70.445-51.059-101.792 0 0-33.334 54.134-44.859 52.741-5.37-.65-12.424-29.644 9.347-99.704 10.261-33.024 21.995-60.478 40.144-105.779C60.683 98.063 108.982.006 224 0c113.737.006 163.156 96.133 160.264 214.963 18.118 45.223 29.912 72.85 40.144 105.778 21.768 70.06 14.716 99.053 9.346 99.704z\"]\n};\nvar faOrcid = {\n prefix: 'fab',\n iconName: 'orcid',\n icon: [512, 512, [], \"f8d2\", \"M294.75 188.19h-45.92V342h47.47c67.62 0 83.12-51.34 83.12-76.91 0-41.64-26.54-76.9-84.67-76.9zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-80.79 360.76h-29.84v-207.5h29.84zm-14.92-231.14a19.57 19.57 0 1 1 19.57-19.57 19.64 19.64 0 0 1-19.57 19.57zM300 369h-81V161.26h80.6c76.73 0 110.44 54.83 110.44 103.85C410 318.39 368.38 369 300 369z\"]\n};\nvar faJava = {\n prefix: 'fab',\n iconName: 'java',\n icon: [384, 512, [], \"f4e4\", \"M277.74 312.9c9.8-6.7 23.4-12.5 23.4-12.5s-38.7 7-77.2 10.2c-47.1 3.9-97.7 4.7-123.1 1.3-60.1-8 33-30.1 33-30.1s-36.1-2.4-80.6 19c-52.5 25.4 130 37 224.5 12.1zm-85.4-32.1c-19-42.7-83.1-80.2 0-145.8C296 53.2 242.84 0 242.84 0c21.5 84.5-75.6 110.1-110.7 162.6-23.9 35.9 11.7 74.4 60.2 118.2zm114.6-176.2c.1 0-175.2 43.8-91.5 140.2 24.7 28.4-6.5 54-6.5 54s62.7-32.4 33.9-72.9c-26.9-37.8-47.5-56.6 64.1-121.3zm-6.1 270.5a12.19 12.19 0 0 1-2 2.6c128.3-33.7 81.1-118.9 19.8-97.3a17.33 17.33 0 0 0-8.2 6.3 70.45 70.45 0 0 1 11-3c31-6.5 75.5 41.5-20.6 91.4zM348 437.4s14.5 11.9-15.9 21.2c-57.9 17.5-240.8 22.8-291.6.7-18.3-7.9 16-19 26.8-21.3 11.2-2.4 17.7-2 17.7-2-20.3-14.3-131.3 28.1-56.4 40.2C232.84 509.4 401 461.3 348 437.4zM124.44 396c-78.7 22 47.9 67.4 148.1 24.5a185.89 185.89 0 0 1-28.2-13.8c-44.7 8.5-65.4 9.1-106 4.5-33.5-3.8-13.9-15.2-13.9-15.2zm179.8 97.2c-78.7 14.8-175.8 13.1-233.3 3.6 0-.1 11.8 9.7 72.4 13.6 92.2 5.9 233.8-3.3 237.1-46.9 0 0-6.4 16.5-76.2 29.7zM260.64 353c-59.2 11.4-93.5 11.1-136.8 6.6-33.5-3.5-11.6-19.7-11.6-19.7-86.8 28.8 48.2 61.4 169.5 25.9a60.37 60.37 0 0 1-21.1-12.8z\"]\n};\nvar faInvision = {\n prefix: 'fab',\n iconName: 'invision',\n icon: [448, 512, [], \"f7b0\", \"M407.4 32H40.6C18.2 32 0 50.2 0 72.6v366.8C0 461.8 18.2 480 40.6 480h366.8c22.4 0 40.6-18.2 40.6-40.6V72.6c0-22.4-18.2-40.6-40.6-40.6zM176.1 145.6c.4 23.4-22.4 27.3-26.6 27.4-14.9 0-27.1-12-27.1-27 .1-35.2 53.1-35.5 53.7-.4zM332.8 377c-65.6 0-34.1-74-25-106.6 14.1-46.4-45.2-59-59.9.7l-25.8 103.3H177l8.1-32.5c-31.5 51.8-94.6 44.4-94.6-4.3.1-14.3.9-14 23-104.1H81.7l9.7-35.6h76.4c-33.6 133.7-32.6 126.9-32.9 138.2 0 20.9 40.9 13.5 57.4-23.2l19.8-79.4h-32.3l9.7-35.6h68.8l-8.9 40.5c40.5-75.5 127.9-47.8 101.8 38-14.2 51.1-14.6 50.7-14.9 58.8 0 15.5 17.5 22.6 31.8-16.9L386 325c-10.5 36.7-29.4 52-53.2 52z\"]\n};\nvar faCreativeCommonsPdAlt = {\n prefix: 'fab',\n iconName: 'creative-commons-pd-alt',\n icon: [496, 512, [], \"f4ed\", \"M247.6 8C104.7 8 0 123.1 0 256c0 138.5 113.6 248 247.6 248C377.5 504 496 403.1 496 256 496 118.1 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.4 85.5-203.3 203.7-203.3 112.6 0 202.9 89.5 202.8 203.3 0 121.7-99.6 202.8-202.8 202.8zM316.7 186h-53.2v137.2h53.2c21.4 0 70-5.1 70-68.6 0-63.4-48.6-68.6-70-68.6zm.8 108.5h-19.9v-79.7l19.4-.1c3.8 0 35-2.1 35 39.9 0 24.6-10.5 39.9-34.5 39.9zM203.7 186h-68.2v137.3h34.6V279h27c54.1 0 57.1-37.5 57.1-46.5 0-31-16.8-46.5-50.5-46.5zm-4.9 67.3h-29.2v-41.6h28.3c30.9 0 28.8 41.6.9 41.6z\"]\n};\nvar faCentercode = {\n prefix: 'fab',\n iconName: 'centercode',\n icon: [512, 512, [], \"f380\", \"M329.2 268.6c-3.8 35.2-35.4 60.6-70.6 56.8-35.2-3.8-60.6-35.4-56.8-70.6 3.8-35.2 35.4-60.6 70.6-56.8 35.1 3.8 60.6 35.4 56.8 70.6zm-85.8 235.1C96.7 496-8.2 365.5 10.1 224.3c11.2-86.6 65.8-156.9 139.1-192 161-77.1 349.7 37.4 354.7 216.6 4.1 147-118.4 262.2-260.5 254.8zm179.9-180c27.9-118-160.5-205.9-237.2-234.2-57.5 56.3-69.1 188.6-33.8 344.4 68.8 15.8 169.1-26.4 271-110.2z\"]\n};\nvar faGlideG = {\n prefix: 'fab',\n iconName: 'glide-g',\n icon: [448, 512, [], \"f2a6\", \"M407.1 211.2c-3.5-1.4-11.6-3.8-15.4-3.8-37.1 0-62.2 16.8-93.5 34.5l-.9-.9c7-47.3 23.5-91.9 23.5-140.4C320.8 29.1 282.6 0 212.4 0 97.3 0 39 113.7 39 198.4 39 286.3 90.3 335 177.6 335c12 0 11-1 11 3.8-16.9 128.9-90.8 133.1-90.8 94.6 0-39.2 45-58.6 45.5-61-.3-12.2-47-27.6-58.9-27.6-33.9.1-52.4 51.2-52.4 79.3C32 476 64.8 512 117.5 512c77.4 0 134-77.8 151.4-145.4 15.1-60.5 11.2-63.3 19.7-67.6 32.2-16.2 57.5-27 93.8-27 17.8 0 30.5 3.7 58.9 8.4 2.9 0 6.7-2.9 6.7-5.8 0-8-33.4-60.5-40.9-63.4zm-175.3-84.4c-9.3 44.7-18.6 89.6-27.8 134.3-2.3 10.2-13.3 7.8-22 7.8-38.3 0-49-41.8-49-73.1 0-47 18-109.3 61.8-133.4 7-4.1 14.8-6.7 22.6-6.7 18.6 0 20 13.3 20 28.7-.1 14.3-2.7 28.5-5.6 42.4z\"]\n};\nvar faDrupal = {\n prefix: 'fab',\n iconName: 'drupal',\n icon: [448, 512, [], \"f1a9\", \"M303.973,108.136C268.2,72.459,234.187,38.35,224.047,0c-9.957,38.35-44.25,72.459-80.019,108.136C90.467,161.7,29.716,222.356,29.716,313.436c-2.337,107.3,82.752,196.18,190.053,198.517S415.948,429.2,418.285,321.9q.091-4.231,0-8.464C418.285,222.356,357.534,161.7,303.973,108.136Zm-174.326,223a130.282,130.282,0,0,0-15.211,24.153,4.978,4.978,0,0,1-3.319,2.766h-1.659c-4.333,0-9.219-8.481-9.219-8.481h0c-1.29-2.028-2.489-4.149-3.687-6.361l-.83-1.752c-11.247-25.72-1.475-62.318-1.475-62.318h0a160.585,160.585,0,0,1,23.231-49.873A290.8,290.8,0,0,1,138.5,201.613l9.219,9.219,43.512,44.434a4.979,4.979,0,0,1,0,6.638L145.78,312.33h0Zm96.612,127.311a67.2,67.2,0,0,1-49.781-111.915c14.2-16.871,31.528-33.464,50.334-55.313,22.309,23.785,36.875,40.1,51.164,57.986a28.413,28.413,0,0,1,2.95,4.425,65.905,65.905,0,0,1,11.984,37.981,66.651,66.651,0,0,1-66.466,66.836ZM352.371,351.6h0a7.743,7.743,0,0,1-6.176,5.347H344.9a11.249,11.249,0,0,1-6.269-5.07h0a348.21,348.21,0,0,0-39.456-48.952L281.387,284.49,222.3,223.185a497.888,497.888,0,0,1-35.4-36.322,12.033,12.033,0,0,0-.922-1.382,35.4,35.4,0,0,1-4.7-9.219V174.51a31.346,31.346,0,0,1,9.218-27.656c11.432-11.431,22.955-22.954,33.833-34.939,11.984,13.275,24.8,26,37.428,38.627h0a530.991,530.991,0,0,1,69.6,79.1,147.494,147.494,0,0,1,27.011,83.8A134.109,134.109,0,0,1,352.371,351.6Z\"]\n};\nvar faHireAHelper = {\n prefix: 'fab',\n iconName: 'hire-a-helper',\n icon: [512, 512, [], \"f3b0\", \"M443.1 0H71.9C67.9 37.3 37.4 67.8 0 71.7v371.5c37.4 4.9 66 32.4 71.9 68.8h372.2c3-36.4 32.5-65.8 67.9-69.8V71.7c-36.4-5.9-65-35.3-68.9-71.7zm-37 404.9c-36.3 0-18.8-2-55.1-2-35.8 0-21 2-56.1 2-5.9 0-4.9-8.2 0-9.8 22.8-7.6 22.9-10.2 24.6-12.8 10.4-15.6 5.9-83 5.9-113 0-5.3-6.4-12.8-13.8-12.8H200.4c-7.4 0-13.8 7.5-13.8 12.8 0 30-4.5 97.4 5.9 113 1.7 2.5 1.8 5.2 24.6 12.8 4.9 1.6 6 9.8 0 9.8-35.1 0-20.3-2-56.1-2-36.3 0-18.8 2-55.1 2-7.9 0-5.8-10.8 0-10.8 10.2-3.4 13.5-3.5 21.7-13.8 7.7-12.9 7.9-44.4 7.9-127.8V151.3c0-22.2-12.2-28.3-28.6-32.4-8.8-2.2-4-11.8 1-11.8 36.5 0 20.6 2 57.1 2 32.7 0 16.5-2 49.2-2 3.3 0 8.5 8.3 1 10.8-4.9 1.6-27.6 3.7-27.6 39.3 0 45.6-.2 55.8 1 68.8 0 1.3 2.3 12.8 12.8 12.8h109.2c10.5 0 12.8-11.5 12.8-12.8 1.2-13 1-23.2 1-68.8 0-35.6-22.7-37.7-27.6-39.3-7.5-2.5-2.3-10.8 1-10.8 32.7 0 16.5 2 49.2 2 36.5 0 20.6-2 57.1-2 4.9 0 9.9 9.6 1 11.8-16.4 4.1-28.6 10.3-28.6 32.4v101.2c0 83.4.1 114.9 7.9 127.8 8.2 10.2 11.4 10.4 21.7 13.8 5.8 0 7.8 10.8 0 10.8z\"]\n};\nvar faCreativeCommonsBy = {\n prefix: 'fab',\n iconName: 'creative-commons-by',\n icon: [496, 512, [], \"f4e7\", \"M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z\"]\n};\nvar faUnity = {\n prefix: 'fab',\n iconName: 'unity',\n icon: [448, 512, [], \"e049\", \"M243.583 91.6027L323.695 138.384C326.575 140.026 326.68 144.583 323.695 146.225L228.503 201.854C225.623 203.55 222.22 203.444 219.549 201.854L124.357 146.225C121.425 144.636 121.373 139.973 124.357 138.384L204.417 91.6027V0L0 119.417V358.252L78.3843 312.477V218.914C78.3319 215.576 82.2066 213.192 85.0865 214.993L180.279 270.622C183.159 272.318 184.782 275.338 184.782 278.464V389.669C184.834 393.007 180.959 395.391 178.079 393.589L97.9673 346.808L19.583 392.583L224 512L428.417 392.583L350.033 346.808L269.921 393.589C267.093 395.338 263.114 393.06 263.218 389.669V278.464C263.218 275.126 265.051 272.159 267.721 270.622L362.914 214.993C365.741 213.245 369.72 215.47 369.616 218.914V312.477L448 358.252V119.417L243.583 0V91.6027Z\"]\n};\nvar faWhmcs = {\n prefix: 'fab',\n iconName: 'whmcs',\n icon: [448, 512, [], \"f40d\", \"M448 161v-21.3l-28.5-8.8-2.2-10.4 20.1-20.7L427 80.4l-29 7.5-7.2-7.5 7.5-28.2-19.1-11.6-21.3 21-10.7-3.2-7-26.4h-22.6l-6.2 26.4-12.1 3.2-19.7-21-19.4 11 8.1 27.7-8.1 8.4-28.5-7.5-11 19.1 20.7 21-2.9 10.4-28.5 7.8-.3 21.7 28.8 7.5 2.4 12.1-20.1 19.9 10.4 18.5 29.6-7.5 7.2 8.6-8.1 26.9 19.9 11.6 19.4-20.4 11.6 2.9 6.7 28.5 22.6.3 6.7-28.8 11.6-3.5 20.7 21.6 20.4-12.1-8.8-28 7.8-8.1 28.8 8.8 10.3-20.1-20.9-18.8 2.2-12.1 29.1-7zm-119.2 45.2c-31.3 0-56.8-25.4-56.8-56.8s25.4-56.8 56.8-56.8 56.8 25.4 56.8 56.8c0 31.5-25.4 56.8-56.8 56.8zm72.3 16.4l46.9 14.5V277l-55.1 13.4-4.1 22.7 38.9 35.3-19.2 37.9-54-16.7-14.6 15.2 16.7 52.5-38.3 22.7-38.9-40.5-21.7 6.6-12.6 54-42.4-.5-12.6-53.6-21.7-5.6-36.4 38.4-37.4-21.7 15.2-50.5-13.7-16.1-55.5 14.1-19.7-34.8 37.9-37.4-4.8-22.8-54-14.1.5-40.9L54 219.9l5.7-19.7-38.9-39.4L41.5 125l53.6 14.1 15.2-15.7-15.2-52 36.4-20.7 36.8 39.4L191 84l11.6-52H245l11.6 45.9L234 72l-6.3-1.7-3.3 5.7-11 19.1-3.3 5.6 4.6 4.6 17.2 17.4-.3 1-23.8 6.5-6.2 1.7-.1 6.4-.2 12.9C153.8 161.6 118 204 118 254.7c0 58.3 47.3 105.7 105.7 105.7 50.5 0 92.7-35.4 103.2-82.8l13.2.2 6.9.1 1.6-6.7 5.6-24 1.9-.6 17.1 17.8 4.7 4.9 5.8-3.4 20.4-12.1 5.8-3.5-2-6.5-6.8-21.2z\"]\n};\nvar faRocketchat = {\n prefix: 'fab',\n iconName: 'rocketchat',\n icon: [576, 512, [], \"f3e8\", \"M284.046,224.8a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,284.046,224.8Zm-110.45,0a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,173.6,224.8Zm220.923,0a34.114,34.114,0,1,0,34.317,34.113A34.215,34.215,0,0,0,394.519,224.8Zm153.807-55.319c-15.535-24.172-37.31-45.57-64.681-63.618-52.886-34.817-122.374-54-195.666-54a405.975,405.975,0,0,0-72.032,6.357,238.524,238.524,0,0,0-49.51-36.588C99.684-11.7,40.859.711,11.135,11.421A14.291,14.291,0,0,0,5.58,34.782C26.542,56.458,61.222,99.3,52.7,138.252c-33.142,33.9-51.112,74.776-51.112,117.337,0,43.372,17.97,84.248,51.112,118.148,8.526,38.956-26.154,81.816-47.116,103.491a14.284,14.284,0,0,0,5.555,23.34c29.724,10.709,88.549,23.147,155.324-10.2a238.679,238.679,0,0,0,49.51-36.589A405.972,405.972,0,0,0,288,460.14c73.313,0,142.8-19.159,195.667-53.975,27.371-18.049,49.145-39.426,64.679-63.619,17.309-26.923,26.07-55.916,26.07-86.125C574.394,225.4,565.634,196.43,548.326,169.485ZM284.987,409.9a345.65,345.65,0,0,1-89.446-11.5l-20.129,19.393a184.366,184.366,0,0,1-37.138,27.585,145.767,145.767,0,0,1-52.522,14.87c.983-1.771,1.881-3.563,2.842-5.356q30.258-55.68,16.325-100.078c-32.992-25.962-52.778-59.2-52.778-95.4,0-83.1,104.254-150.469,232.846-150.469s232.867,67.373,232.867,150.469C517.854,342.525,413.6,409.9,284.987,409.9Z\"]\n};\nvar faVk = {\n prefix: 'fab',\n iconName: 'vk',\n icon: [448, 512, [], \"f189\", \"M31.4907 63.4907C0 94.9813 0 145.671 0 247.04V264.96C0 366.329 0 417.019 31.4907 448.509C62.9813 480 113.671 480 215.04 480H232.96C334.329 480 385.019 480 416.509 448.509C448 417.019 448 366.329 448 264.96V247.04C448 145.671 448 94.9813 416.509 63.4907C385.019 32 334.329 32 232.96 32H215.04C113.671 32 62.9813 32 31.4907 63.4907ZM75.6 168.267H126.747C128.427 253.76 166.133 289.973 196 297.44V168.267H244.16V242C273.653 238.827 304.64 205.227 315.093 168.267H363.253C359.313 187.435 351.46 205.583 340.186 221.579C328.913 237.574 314.461 251.071 297.733 261.227C316.41 270.499 332.907 283.63 346.132 299.751C359.357 315.873 369.01 334.618 374.453 354.747H321.44C316.555 337.262 306.614 321.61 292.865 309.754C279.117 297.899 262.173 290.368 244.16 288.107V354.747H238.373C136.267 354.747 78.0267 284.747 75.6 168.267Z\"]\n};\nvar faUntappd = {\n prefix: 'fab',\n iconName: 'untappd',\n icon: [640, 512, [], \"f405\", \"M401.3 49.9c-79.8 160.1-84.6 152.5-87.9 173.2l-5.2 32.8c-1.9 12-6.6 23.5-13.7 33.4L145.6 497.1c-7.6 10.6-20.4 16.2-33.4 14.6-40.3-5-77.8-32.2-95.3-68.5-5.7-11.8-4.5-25.8 3.1-36.4l148.9-207.9c7.1-9.9 16.4-18 27.2-23.7l29.3-15.5c18.5-9.8 9.7-11.9 135.6-138.9 1-4.8 1-7.3 3.6-8 3-.7 6.6-1 6.3-4.6l-.4-4.6c-.2-1.9 1.3-3.6 3.2-3.6 4.5-.1 13.2 1.2 25.6 10 12.3 8.9 16.4 16.8 17.7 21.1.6 1.8-.6 3.7-2.4 4.2l-4.5 1.1c-3.4.9-2.5 4.4-2.3 7.4.1 2.8-2.3 3.6-6.5 6.1zM230.1 36.4c3.4.9 2.5 4.4 2.3 7.4-.2 2.7 2.1 3.5 6.4 6 7.9 15.9 15.3 30.5 22.2 44 .7 1.3 2.3 1.5 3.3.5 11.2-12 24.6-26.2 40.5-42.6 1.3-1.4 1.4-3.5.1-4.9-8-8.2-16.5-16.9-25.6-26.1-1-4.7-1-7.3-3.6-8-3-.8-6.6-1-6.3-4.6.3-3.3 1.4-8.1-2.8-8.2-4.5-.1-13.2 1.1-25.6 10-12.3 8.9-16.4 16.8-17.7 21.1-1.4 4.2 3.6 4.6 6.8 5.4zM620 406.7L471.2 198.8c-13.2-18.5-26.6-23.4-56.4-39.1-11.2-5.9-14.2-10.9-30.5-28.9-1-1.1-2.9-.9-3.6.5-46.3 88.8-47.1 82.8-49 94.8-1.7 10.7-1.3 20 .3 29.8 1.9 12 6.6 23.5 13.7 33.4l148.9 207.9c7.6 10.6 20.2 16.2 33.1 14.7 40.3-4.9 78-32 95.7-68.6 5.4-11.9 4.3-25.9-3.4-36.6z\"]\n};\nvar faMailchimp = {\n prefix: 'fab',\n iconName: 'mailchimp',\n icon: [448, 512, [], \"f59e\", \"M330.61 243.52a36.15 36.15 0 0 1 9.3 0c1.66-3.83 1.95-10.43.45-17.61-2.23-10.67-5.25-17.14-11.48-16.13s-6.47 8.74-4.24 19.42c1.26 6 3.49 11.14 6 14.32zM277.05 252c4.47 2 7.2 3.26 8.28 2.13 1.89-1.94-3.48-9.39-12.12-13.09a31.44 31.44 0 0 0-30.61 3.68c-3 2.18-5.81 5.22-5.41 7.06.85 3.74 10-2.71 22.6-3.48 7-.44 12.8 1.75 17.26 3.71zm-9 5.13c-9.07 1.42-15 6.53-13.47 10.1.9.34 1.17.81 5.21-.81a37 37 0 0 1 18.72-1.95c2.92.34 4.31.52 4.94-.49 1.46-2.22-5.71-8-15.39-6.85zm54.17 17.1c3.38-6.87-10.9-13.93-14.3-7s10.92 13.88 14.32 6.97zm15.66-20.47c-7.66-.13-7.95 15.8-.26 15.93s7.98-15.81.28-15.96zm-218.79 78.9c-1.32.31-6 1.45-8.47-2.35-5.2-8 11.11-20.38 3-35.77-9.1-17.47-27.82-13.54-35.05-5.54-8.71 9.6-8.72 23.54-5 24.08 4.27.57 4.08-6.47 7.38-11.63a12.83 12.83 0 0 1 17.85-3.72c11.59 7.59 1.37 17.76 2.28 28.62 1.39 16.68 18.42 16.37 21.58 9a2.08 2.08 0 0 0-.2-2.33c.03.89.68-1.3-3.35-.39zm299.72-17.07c-3.35-11.73-2.57-9.22-6.78-20.52 2.45-3.67 15.29-24-3.07-43.25-10.4-10.92-33.9-16.54-41.1-18.54-1.5-11.39 4.65-58.7-21.52-83 20.79-21.55 33.76-45.29 33.73-65.65-.06-39.16-48.15-51-107.42-26.47l-12.55 5.33c-.06-.05-22.71-22.27-23.05-22.57C169.5-18-41.77 216.81 25.78 273.85l14.76 12.51a72.49 72.49 0 0 0-4.1 33.5c3.36 33.4 36 60.42 67.53 60.38 57.73 133.06 267.9 133.28 322.29 3 1.74-4.47 9.11-24.61 9.11-42.38s-10.09-25.27-16.53-25.27zm-316 48.16c-22.82-.61-47.46-21.15-49.91-45.51-6.17-61.31 74.26-75.27 84-12.33 4.54 29.64-4.67 58.49-34.12 57.81zM84.3 249.55C69.14 252.5 55.78 261.09 47.6 273c-4.88-4.07-14-12-15.59-15-13.01-24.85 14.24-73 33.3-100.21C112.42 90.56 186.19 39.68 220.36 48.91c5.55 1.57 23.94 22.89 23.94 22.89s-34.15 18.94-65.8 45.35c-42.66 32.85-74.89 80.59-94.2 132.4zM323.18 350.7s-35.74 5.3-69.51-7.07c6.21-20.16 27 6.1 96.4-13.81 15.29-4.38 35.37-13 51-25.35a102.85 102.85 0 0 1 7.12 24.28c3.66-.66 14.25-.52 11.44 18.1-3.29 19.87-11.73 36-25.93 50.84A106.86 106.86 0 0 1 362.55 421a132.45 132.45 0 0 1-20.34 8.58c-53.51 17.48-108.3-1.74-126-43a66.33 66.33 0 0 1-3.55-9.74c-7.53-27.2-1.14-59.83 18.84-80.37 1.23-1.31 2.48-2.85 2.48-4.79a8.45 8.45 0 0 0-1.92-4.54c-7-10.13-31.19-27.4-26.33-60.83 3.5-24 24.49-40.91 44.07-39.91l5 .29c8.48.5 15.89 1.59 22.88 1.88 11.69.5 22.2-1.19 34.64-11.56 4.2-3.5 7.57-6.54 13.26-7.51a17.45 17.45 0 0 1 13.6 2.24c10 6.64 11.4 22.73 11.92 34.49.29 6.72 1.1 23 1.38 27.63.63 10.67 3.43 12.17 9.11 14 3.19 1.05 6.15 1.83 10.51 3.06 13.21 3.71 21 7.48 26 12.31a16.38 16.38 0 0 1 4.74 9.29c1.56 11.37-8.82 25.4-36.31 38.16-46.71 21.68-93.68 14.45-100.48 13.68-20.15-2.71-31.63 23.32-19.55 41.15 22.64 33.41 122.4 20 151.37-21.35.69-1 .12-1.59-.73-1-41.77 28.58-97.06 38.21-128.46 26-4.77-1.85-14.73-6.44-15.94-16.67 43.6 13.49 71 .74 71 .74s2.03-2.79-.56-2.53zm-68.47-5.7zm-83.4-187.5c16.74-19.35 37.36-36.18 55.83-45.63a.73.73 0 0 1 1 1c-1.46 2.66-4.29 8.34-5.19 12.65a.75.75 0 0 0 1.16.79c11.49-7.83 31.48-16.22 49-17.3a.77.77 0 0 1 .52 1.38 41.86 41.86 0 0 0-7.71 7.74.75.75 0 0 0 .59 1.19c12.31.09 29.66 4.4 41 10.74.76.43.22 1.91-.64 1.72-69.55-15.94-123.08 18.53-134.5 26.83a.76.76 0 0 1-1-1.12z\"]\n};\nvar faCss3Alt = {\n prefix: 'fab',\n iconName: 'css3-alt',\n icon: [384, 512, [], \"f38b\", \"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z\"]\n};\nvar faSquareReddit = {\n prefix: 'fab',\n iconName: 'square-reddit',\n icon: [448, 512, [\"reddit-square\"], \"f1a2\", \"M283.2 345.5c2.7 2.7 2.7 6.8 0 9.2-24.5 24.5-93.8 24.6-118.4 0-2.7-2.4-2.7-6.5 0-9.2 2.4-2.4 6.5-2.4 8.9 0 18.7 19.2 81 19.6 100.5 0 2.4-2.3 6.6-2.3 9 0zm-91.3-53.8c0-14.9-11.9-26.8-26.5-26.8-14.9 0-26.8 11.9-26.8 26.8 0 14.6 11.9 26.5 26.8 26.5 14.6 0 26.5-11.9 26.5-26.5zm90.7-26.8c-14.6 0-26.5 11.9-26.5 26.8 0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-11.9 26.8-26.5 0-14.9-11.9-26.8-26.8-26.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-99.7 140.6c-10.1 0-19 4.2-25.6 10.7-24.1-16.7-56.5-27.4-92.5-28.6l18.7-84.2 59.5 13.4c0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-12.2 26.8-26.8 0-14.6-11.9-26.8-26.8-26.8-10.4 0-19.3 6.2-23.8 14.9l-65.7-14.6c-3.3-.9-6.5 1.5-7.4 4.8l-20.5 92.8c-35.7 1.5-67.8 12.2-91.9 28.9-6.5-6.8-15.8-11-25.9-11-37.5 0-49.8 50.4-15.5 67.5-1.2 5.4-1.8 11-1.8 16.7 0 56.5 63.7 102.3 141.9 102.3 78.5 0 142.2-45.8 142.2-102.3 0-5.7-.6-11.6-2.1-17 33.6-17.2 21.2-67.2-16.1-67.2z\"]\n};\nvar faRedditSquare = faSquareReddit;\nvar faVimeoV = {\n prefix: 'fab',\n iconName: 'vimeo-v',\n icon: [448, 512, [], \"f27d\", \"M447.8 153.6c-2 43.6-32.4 103.3-91.4 179.1-60.9 79.2-112.4 118.8-154.6 118.8-26.1 0-48.2-24.1-66.3-72.3C100.3 250 85.3 174.3 56.2 174.3c-3.4 0-15.1 7.1-35.2 21.1L0 168.2c51.6-45.3 100.9-95.7 131.8-98.5 34.9-3.4 56.3 20.5 64.4 71.5 28.7 181.5 41.4 208.9 93.6 126.7 18.7-29.6 28.8-52.1 30.2-67.6 4.8-45.9-35.8-42.8-63.3-31 22-72.1 64.1-107.1 126.2-105.1 45.8 1.2 67.5 31.1 64.9 89.4z\"]\n};\nvar faContao = {\n prefix: 'fab',\n iconName: 'contao',\n icon: [512, 512, [], \"f26d\", \"M45.4 305c14.4 67.1 26.4 129 68.2 175H34c-18.7 0-34-15.2-34-34V66c0-18.7 15.2-34 34-34h57.7C77.9 44.6 65.6 59.2 54.8 75.6c-45.4 70-27 146.8-9.4 229.4zM478 32h-90.2c21.4 21.4 39.2 49.5 52.7 84.1l-137.1 29.3c-14.9-29-37.8-53.3-82.6-43.9-24.6 5.3-41 19.3-48.3 34.6-8.8 18.7-13.2 39.8 8.2 140.3 21.1 100.2 33.7 117.7 49.5 131.2 12.9 11.1 33.4 17 58.3 11.7 44.5-9.4 55.7-40.7 57.4-73.2l137.4-29.6c3.2 71.5-18.7 125.2-57.4 163.6H478c18.7 0 34-15.2 34-34V66c0-18.8-15.2-34-34-34z\"]\n};\nvar faSquareFontAwesome = {\n prefix: 'fab',\n iconName: 'square-font-awesome',\n icon: [448, 512, [], \"e5ad\", \"M384.5,32.5h-320c-35.3,0-64,28.7-64,64v320c0,35.3,28.7,64,64,64h320c35.3,0,64-28.7,64-64v-320 C448.5,61.2,419.8,32.5,384.5,32.5z M336.5,312.5c-31.6,11.2-41.2,16-59.8,16c-31.4,0-43.2-16-74.6-16c-10.2,0-18.2,1.6-25.6,4v-32 c7.4-2.2,15.4-4,25.6-4c31.2,0,43.2,16,74.6,16c10.2,0,17.8-1.4,27.8-4.6v-96c-10,3.2-17.6,4.6-27.8,4.6c-31.4,0-43.2-16-74.6-16 c-25.4,0-37.4,10.4-57.6,14.4v153.6c0,8.8-7.2,16-16,16c-8.8,0-16-7.2-16-16v-192c0-8.8,7.2-16,16-16c8.8,0,16,7.2,16,16v6.4 c20.2-4,32.2-14.4,57.6-14.4c31.2,0,43.2,16,74.6,16c18.6,0,28.2-4.8,59.8-16V312.5z\"]\n};\nvar faDeskpro = {\n prefix: 'fab',\n iconName: 'deskpro',\n icon: [480, 512, [], \"f38f\", \"M205.9 512l31.1-38.4c12.3-.2 25.6-1.4 36.5-6.6 38.9-18.6 38.4-61.9 38.3-63.8-.1-5-.8-4.4-28.9-37.4H362c-.2 50.1-7.3 68.5-10.2 75.7-9.4 23.7-43.9 62.8-95.2 69.4-8.7 1.1-32.8 1.2-50.7 1.1zm200.4-167.7c38.6 0 58.5-13.6 73.7-30.9l-175.5-.3-17.4 31.3 119.2-.1zm-43.6-223.9v168.3h-73.5l-32.7 55.5H250c-52.3 0-58.1-56.5-58.3-58.9-1.2-13.2-21.3-11.6-20.1 1.8 1.4 15.8 8.8 40 26.4 57.1h-91c-25.5 0-110.8-26.8-107-114V16.9C0 .9 9.7.3 15 .1h82c.2 0 .3.1.5.1 4.3-.4 50.1-2.1 50.1 43.7 0 13.3 20.2 13.4 20.2 0 0-18.2-5.5-32.8-15.8-43.7h84.2c108.7-.4 126.5 79.4 126.5 120.2zm-132.5 56l64 29.3c13.3-45.5-42.2-71.7-64-29.3z\"]\n};\nvar faSistrix = {\n prefix: 'fab',\n iconName: 'sistrix',\n icon: [448, 512, [], \"f3ee\", \"M448 449L301.2 300.2c20-27.9 31.9-62.2 31.9-99.2 0-93.1-74.7-168.9-166.5-168.9C74.7 32 0 107.8 0 200.9s74.7 168.9 166.5 168.9c39.8 0 76.3-14.2 105-37.9l146 148.1 30.5-31zM166.5 330.8c-70.6 0-128.1-58.3-128.1-129.9S95.9 71 166.5 71s128.1 58.3 128.1 129.9-57.4 129.9-128.1 129.9z\"]\n};\nvar faSquareInstagram = {\n prefix: 'fab',\n iconName: 'square-instagram',\n icon: [448, 512, [\"instagram-square\"], \"e055\", \"M224,202.66A53.34,53.34,0,1,0,277.36,256,53.38,53.38,0,0,0,224,202.66Zm124.71-41a54,54,0,0,0-30.41-30.41c-21-8.29-71-6.43-94.3-6.43s-73.25-1.93-94.31,6.43a54,54,0,0,0-30.41,30.41c-8.28,21-6.43,71.05-6.43,94.33S91,329.26,99.32,350.33a54,54,0,0,0,30.41,30.41c21,8.29,71,6.43,94.31,6.43s73.24,1.93,94.3-6.43a54,54,0,0,0,30.41-30.41c8.35-21,6.43-71.05,6.43-94.33S357.1,182.74,348.75,161.67ZM224,338a82,82,0,1,1,82-82A81.9,81.9,0,0,1,224,338Zm85.38-148.3a19.14,19.14,0,1,1,19.13-19.14A19.1,19.1,0,0,1,309.42,189.74ZM400,32H48A48,48,0,0,0,0,80V432a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V80A48,48,0,0,0,400,32ZM382.88,322c-1.29,25.63-7.14,48.34-25.85,67s-41.4,24.63-67,25.85c-26.41,1.49-105.59,1.49-132,0-25.63-1.29-48.26-7.15-67-25.85s-24.63-41.42-25.85-67c-1.49-26.42-1.49-105.61,0-132,1.29-25.63,7.07-48.34,25.85-67s41.47-24.56,67-25.78c26.41-1.49,105.59-1.49,132,0,25.63,1.29,48.33,7.15,67,25.85s24.63,41.42,25.85,67.05C384.37,216.44,384.37,295.56,382.88,322Z\"]\n};\nvar faInstagramSquare = faSquareInstagram;\nvar faBattleNet = {\n prefix: 'fab',\n iconName: 'battle-net',\n icon: [512, 512, [], \"f835\", \"M448.61 225.62c26.87.18 35.57-7.43 38.92-12.37 12.47-16.32-7.06-47.6-52.85-71.33 17.76-33.58 30.11-63.68 36.34-85.3 3.38-11.83 1.09-19 .45-20.25-1.72 10.52-15.85 48.46-48.2 100.05-25-11.22-56.52-20.1-93.77-23.8-8.94-16.94-34.88-63.86-60.48-88.93C252.18 7.14 238.7 1.07 228.18.22h-.05c-13.83-1.55-22.67 5.85-27.4 11-17.2 18.53-24.33 48.87-25 84.07-7.24-12.35-17.17-24.63-28.5-25.93h-.18c-20.66-3.48-38.39 29.22-36 81.29-38.36 1.38-71 5.75-93 11.23-9.9 2.45-16.22 7.27-17.76 9.72 1-.38 22.4-9.22 111.56-9.22 5.22 53 29.75 101.82 26 93.19-9.73 15.4-38.24 62.36-47.31 97.7-5.87 22.88-4.37 37.61.15 47.14 5.57 12.75 16.41 16.72 23.2 18.26 25 5.71 55.38-3.63 86.7-21.14-7.53 12.84-13.9 28.51-9.06 39.34 7.31 19.65 44.49 18.66 88.44-9.45 20.18 32.18 40.07 57.94 55.7 74.12a39.79 39.79 0 0 0 8.75 7.09c5.14 3.21 8.58 3.37 8.58 3.37-8.24-6.75-34-38-62.54-91.78 22.22-16 45.65-38.87 67.47-69.27 122.82 4.6 143.29-24.76 148-31.64 14.67-19.88 3.43-57.44-57.32-93.69zm-77.85 106.22c23.81-37.71 30.34-67.77 29.45-92.33 27.86 17.57 47.18 37.58 49.06 58.83 1.14 12.93-8.1 29.12-78.51 33.5zM216.9 387.69c9.76-6.23 19.53-13.12 29.2-20.49 6.68 13.33 13.6 26.1 20.6 38.19-40.6 21.86-68.84 12.76-49.8-17.7zm215-171.35c-10.29-5.34-21.16-10.34-32.38-15.05a722.459 722.459 0 0 0 22.74-36.9c39.06 24.1 45.9 53.18 9.64 51.95zM279.18 398c-5.51-11.35-11-23.5-16.5-36.44 43.25 1.27 62.42-18.73 63.28-20.41 0 .07-25 15.64-62.53 12.25a718.78 718.78 0 0 0 85.06-84q13.06-15.31 24.93-31.11c-.36-.29-1.54-3-16.51-12-51.7 60.27-102.34 98-132.75 115.92-20.59-11.18-40.84-31.78-55.71-61.49-20-39.92-30-82.39-31.57-116.07 12.3.91 25.27 2.17 38.85 3.88-22.29 36.8-14.39 63-13.47 64.23 0-.07-.95-29.17 20.14-59.57a695.23 695.23 0 0 0 44.67 152.84c.93-.38 1.84.88 18.67-8.25-26.33-74.47-33.76-138.17-34-173.43 20-12.42 48.18-19.8 81.63-17.81 44.57 2.67 86.36 15.25 116.32 30.71q-10.69 15.66-23.33 32.47C365.63 152 339.1 145.84 337.5 146c.11 0 25.9 14.07 41.52 47.22a717.63 717.63 0 0 0-115.34-31.71 646.608 646.608 0 0 0-39.39-6.05c-.07.45-1.81 1.85-2.16 20.33C300 190.28 358.78 215.68 389.36 233c.74 23.55-6.95 51.61-25.41 79.57-24.6 37.31-56.39 67.23-84.77 85.43zm27.4-287c-44.56-1.66-73.58 7.43-94.69 20.67 2-52.3 21.31-76.38 38.21-75.28C267 52.15 305 108.55 306.58 111zm-130.65 3.1c.48 12.11 1.59 24.62 3.21 37.28-14.55-.85-28.74-1.25-42.4-1.26-.08 3.24-.12-51 24.67-49.59h.09c5.76 1.09 10.63 6.88 14.43 13.57zm-28.06 162c20.76 39.7 43.3 60.57 65.25 72.31-46.79 24.76-77.53 20-84.92 4.51-.2-.21-11.13-15.3 19.67-76.81zm210.06 74.8\"]\n};\nvar faTheRedYeti = {\n prefix: 'fab',\n iconName: 'the-red-yeti',\n icon: [512, 512, [], \"f69d\", \"M488.23 241.7l20.7 7.1c-9.6-23.9-23.9-37-31.7-44.8l7.1-18.2c.2 0 12.3-27.8-2.5-30.7-.6-11.3-6.6-27-18.4-27-7.6-10.6-17.7-12.3-30.7-5.9a122.2 122.2 0 0 0-25.3 16.5c-5.3-6.4-3 .4-3-29.8-37.1-24.3-45.4-11.7-74.8 3l.5.5a239.36 239.36 0 0 0-68.4-13.3c-5.5-8.7-18.6-19.1-25.1-25.1l24.8 7.1c-5.5-5.5-26.8-12.9-34.2-15.2 18.2-4.1 29.8-20.8 42.5-33-34.9-10.1-67.9-5.9-97.9 11.8l12-44.2L182 0c-31.6 24.2-33 41.9-33.7 45.5-.9-2.4-6.3-19.6-15.2-27a35.12 35.12 0 0 0-.5 25.3c3 8.4 5.9 14.8 8.4 18.9-16-3.3-28.3-4.9-49.2 0h-3.7l33 14.3a194.26 194.26 0 0 0-46.7 67.4l-1.7 8.4 1.7 1.7 7.6-4.7c-3.3 11.6-5.3 19.4-6.6 25.8a200.18 200.18 0 0 0-27.8 40.3c-15 1-31.8 10.8-40.3 14.3l3 3.4 28.8 1c-.5 1-.7 2.2-1.2 3.2-7.3 6.4-39.8 37.7-33 80.7l20.2-22.4c.5 1.7.7 3.4 1.2 5.2 0 25.5.4 89.6 64.9 150.5 43.6 40 96 60.2 157.5 60.2 121.7 0 223-87.3 223-211.5 6.8-9.7-1.2 3 16.7-25.1l13 14.3 2.5-.5A181.84 181.84 0 0 0 495 255a44.74 44.74 0 0 0-6.8-13.3zM398 111.2l-.5 21.9c5.5 18.1 16.9 17.2 22.4 17.2l-3.4-4.7 22.4-5.4a242.44 242.44 0 0 1-27 0c12.8-2.1 33.3-29 43-11.3 3.4 7.6 6.4 17.2 9.3 27.8l1.7-5.9a56.38 56.38 0 0 1-1.7-15.2c5.4.5 8.8 3.4 9.3 10.1.5 6.4 1.7 14.8 3.4 25.3l4.7-11.3c4.6 0 4.5-3.6-2.5 20.7-20.9-8.7-35.1-8.4-46.5-8.4l18.2-16c-25.3 8.2-33 10.8-54.8 20.9-1.1-5.4-5-13.5-16-19.9-3.2 3.8-2.8.9-.7 14.8h-2.5a62.32 62.32 0 0 0-8.4-23.1l4.2-3.4c8.4-7.1 11.8-14.3 10.6-21.9-.5-6.4-5.4-13.5-13.5-20.7 5.6-3.4 15.2-.4 28.3 8.5zm-39.6-10.1c2.7 1.9 11.4 5.4 18.9 17.2 4.2 8.4 4 9.8 3.4 11.1-.5 2.4-.5 4.3-3 7.1-1.7 2.5-5.4 4.7-11.8 7.6-7.6-13-16.5-23.6-27.8-31.2zM91 143.1l1.2-1.7c1.2-2.9 4.2-7.6 9.3-15.2l2.5-3.4-13 12.3 5.4-4.7-10.1 9.3-4.2 1.2c12.3-24.1 23.1-41.3 32.5-50.2 9.3-9.3 16-16 20.2-19.4l-6.4 1.2c-11.3-4.2-19.4-7.1-24.8-8.4 2.5-.5 3.7-.5 3.2-.5 10.3 0 17.5.5 20.9 1.2a52.35 52.35 0 0 0 16 2.5l.5-1.7-8.4-35.8 13.5 29a42.89 42.89 0 0 0 5.9-14.3c1.7-6.4 5.4-13 10.1-19.4s7.6-10.6 9.3-11.3a234.68 234.68 0 0 0-6.4 25.3l-1.7 7.1-.5 4.7 2.5 2.5C190.4 39.9 214 34 239.8 34.5l21.1.5c-11.8 13.5-27.8 21.9-48.5 24.8a201.26 201.26 0 0 1-23.4 2.9l-.2-.5-2.5-1.2a20.75 20.75 0 0 0-14 2c-2.5-.2-4.9-.5-7.1-.7l-2.5 1.7.5 1.2c2 .2 3.9.5 6.2.7l-2 3.4 3.4-.5-10.6 11.3c-4.2 3-5.4 6.4-4.2 9.3l5.4-3.4h1.2a39.4 39.4 0 0 1 25.3-15.2v-3c6.4.5 13 1 19.4 1.2 6.4 0 8.4.5 5.4 1.2a189.6 189.6 0 0 1 20.7 13.5c13.5 10.1 23.6 21.9 30 35.4 8.8 18.2 13.5 37.1 13.5 56.6a141.13 141.13 0 0 1-3 28.3 209.91 209.91 0 0 1-16 46l2.5.5c18.2-19.7 41.9-16 49.2-16l-6.4 5.9 22.4 17.7-1.7 30.7c-5.4-12.3-16.5-21.1-33-27.8 16.5 14.8 23.6 21.1 21.9 20.2-4.8-2.8-3.5-1.9-10.8-3.7 4.1 4.1 17.5 18.8 18.2 20.7l.2.2-.2.2c0 1.8 1.6-1.2-14 22.9-75.2-15.3-106.27-42.7-141.2-63.2l11.8 1.2c-11.8-18.5-15.6-17.7-38.4-26.1L149 225c-8.8-3-18.2-3-28.3.5l7.6-10.6-1.2-1.7c-14.9 4.3-19.8 9.2-22.6 11.3-1.1-5.5-2.8-12.4-12.3-28.8l-1.2 27-13.2-5c1.5-25.2 5.4-50.5 13.2-74.6zm276.5 330c-49.9 25-56.1 22.4-59 23.9-29.8-11.8-50.9-31.7-63.5-58.8l30 16.5c-9.8-9.3-18.3-16.5-38.4-44.3l11.8 23.1-17.7-7.6c14.2 21.1 23.5 51.7 66.6 73.5-120.8 24.2-199-72.1-200.9-74.3a262.57 262.57 0 0 0 35.4 24.8c3.4 1.7 7.1 2.5 10.1 1.2l-16-20.7c9.2 4.2 9.5 4.5 69.1 29-42.5-20.7-73.8-40.8-93.2-60.2-.5 6.4-1.2 10.1-1.2 10.1a80.25 80.25 0 0 1 20.7 26.6c-39-18.9-57.6-47.6-71.3-82.6 49.9 55.1 118.9 37.5 120.5 37.1 34.8 16.4 69.9 23.6 113.9 10.6 3.3 0 20.3 17 25.3 39.1l4.2-3-2.5-23.6c9 9 24.9 22.6 34.4 13-15.6-5.3-23.5-9.5-29.5-31.7 4.6 4.2 7.6 9 27.8 15l1.2-1.2-10.5-14.2c11.7-4.8-3.5 1 32-10.8 4.3 34.3 9 49.2.7 89.5zm115.3-214.4l-2.5.5 3 9.3c-3.5 5.9-23.7 44.3-71.6 79.7-39.5 29.8-76.6 39.1-80.9 40.3l-7.6-7.1-1.2 3 14.3 16-7.1-4.7 3.4 4.2h-1.2l-21.9-13.5 9.3 26.6-19-27.9-1.2 2.5 7.6 29c-6.1-8.2-21-32.6-56.8-39.6l32.5 21.2a214.82 214.82 0 0 1-93.2-6.4c-4.2-1.2-8.9-2.5-13.5-4.2l1.2-3-44.8-22.4 26.1 22.4c-57.7 9.1-113-25.4-126.4-83.4l-2.5-16.4-22.27 22.3c19.5-57.5 25.6-57.9 51.4-70.1-9.1-5.3-1.6-3.3-38.4-9.3 15.8-5.8 33-15.4 73 5.2a18.5 18.5 0 0 1 3.7-1.7c.6-3.2.4-.8 1-11.8 3.9 10 3.6 8.7 3 9.3l1.7.5c12.7-6.5 8.9-4.5 17-8.9l-5.4 13.5 22.3-5.8-8.4 8.4 2.5 2.5c4.5-1.8 30.3 3.4 40.8 16l-23.6-2.5c39.4 23 51.5 54 55.8 69.6l1.7-1.2c-2.8-22.3-12.4-33.9-16-40.1 4.2 5 39.2 34.6 110.4 46-11.3-.5-23.1 5.4-34.9 18.9l46.7-20.2-9.3 21.9c7.6-10.1 14.8-23.6 21.2-39.6v-.5l1.2-3-1.2 16c13.5-41.8 25.3-78.5 35.4-109.7l13.5-27.8v-2l-5.4-4.2h10.1l5.9 4.2 2.5-1.2-3.4-16 12.3 18.9 41.8-20.2-14.8 13 .5 2.9 17.7-.5a184 184 0 0 1 33 4.2l-23.6 2.5-1.2 3 26.6 23.1a254.21 254.21 0 0 1 27 32c-11.2-3.3-10.3-3.4-21.2-3.4l12.3 32.5zm-6.1-71.3l-3.9 13-14.3-11.8zm-254.8 7.1c1.7 10.6 4.7 17.7 8.8 21.9-9.3 6.6-27.5 13.9-46.5 16l.5 1.2a50.22 50.22 0 0 0 24.8-2.5l-7.1 13c4.2-1.7 10.1-7.1 17.7-14.8 11.9-5.5 12.7-5.1 20.2-16-12.7-6.4-15.7-13.7-18.4-18.8zm3.7-102.3c-6.4-3.4-10.6 3-12.3 18.9s2.5 29.5 11.8 39.6 18.2 10.6 26.1 3 3.4-23.6-11.3-47.7a39.57 39.57 0 0 0-14.27-13.8zm-4.7 46.3c5.4 2.2 10.5 1.9 12.3-10.6v-4.7l-1.2.5c-4.3-3.1-2.5-4.5-1.7-6.2l.5-.5c-.9-1.2-5-8.1-12.5 4.7-.5-13.5.5-21.9 3-24.8 1.2-2.5 4.7-1.2 11.3 4.2 6.4 5.4 11.3 16 15.2 32.5 6.5 28-19.8 26.2-26.9 4.9zm-45-5.5c1.6.3 9.3-1.1 9.3-14.8h-.5c-5.4-1.1-2.2-5.5-.7-5.9-1.7-3-3.4-4.2-5.4-4.7-8.1 0-11.6 12.7-8.1 21.2a7.51 7.51 0 0 0 5.43 4.2zM216 82.9l-2.5.5.5 3a48.94 48.94 0 0 1 26.1 5.9c-2.5-5.5-10-14.3-28.3-14.3l.5 2.5zm-71.8 49.4c21.7 16.8 16.5 21.4 46.5 23.6l-2.9-4.7a42.67 42.67 0 0 0 14.8-28.3c1.7-16-1.2-29.5-8.8-41.3l13-7.6a2.26 2.26 0 0 0-.5-1.7 14.21 14.21 0 0 0-13.5 1.7c-12.7 6.7-28 20.9-29 22.4-1.7 1.7-3.4 5.9-5.4 13.5a99.61 99.61 0 0 0-2.9 23.6c-4.7-8-10.5-6.4-19.9-5.9l7.1 7.6c-16.5 0-23.3 15.4-23.6 16 6.8 0 4.6-7.6 30-12.3-4.3-6.3-3.3-5-4.9-6.6zm18.7-18.7c1.2-7.6 3.4-13 6.4-17.2 5.4-6.4 10.6-10.1 16-11.8 4.2-1.7 7.1 1.2 10.1 9.3a72.14 72.14 0 0 1 3 25.3c-.5 9.3-3.4 17.2-8.4 23.1-2.9 3.4-5.4 5.9-6.4 7.6a39.21 39.21 0 0 1-11.3-.5l-7.1-3.4-5.4-6.4c.8-10 1.3-18.8 3.1-26zm42 56.1c-34.8 14.4-34.7 14-36.1 14.3-20.8 4.7-19-24.4-18.9-24.8l5.9-1.2-.5-2.5c-20.2-2.6-31 4.2-32.5 4.9.5.5 3 3.4 5.9 9.3 4.2-6.4 8.8-10.1 15.2-10.6a83.47 83.47 0 0 0 1.7 33.7c.1.5 2.6 17.4 27.5 24.1 11.3 3 27 1.2 48.9-5.4l-9.2.5c-4.2-14.8-6.4-24.8-5.9-29.5 11.3-8.8 21.9-11.3 30.7-7.6h2.5l-11.8-7.6-7.1.5c-5.9 1.2-12.3 4.2-19.4 8.4z\"]\n};\nvar faSquareHackerNews = {\n prefix: 'fab',\n iconName: 'square-hacker-news',\n icon: [448, 512, [\"hacker-news-square\"], \"f3af\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.2 229.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"]\n};\nvar faHackerNewsSquare = faSquareHackerNews;\nvar faEdge = {\n prefix: 'fab',\n iconName: 'edge',\n icon: [512, 512, [], \"f282\", \"M120.1 37.44C161.1 12.23 207.7-.7753 255 .0016C423 .0016 512 123.8 512 219.5C511.9 252.2 499 283.4 476.1 306.7C453.2 329.9 422.1 343.2 389.4 343.7C314.2 343.7 297.9 320.6 297.9 311.7C297.9 307.9 299.1 305.5 302.7 302.3L303.7 301.1L304.1 299.5C314.6 288 320 273.3 320 257.9C320 179.2 237.8 115.2 136 115.2C98.46 114.9 61.46 124.1 28.48 142.1C55.48 84.58 111.2 44.5 119.8 38.28C120.6 37.73 120.1 37.44 120.1 37.44V37.44zM135.7 355.5C134.3 385.5 140.3 415.5 152.1 442.7C165.7 469.1 184.8 493.7 208.6 512C149.1 500.5 97.11 468.1 59.2 422.7C21.12 376.3 0 318.4 0 257.9C0 206.7 62.4 163.5 136 163.5C172.6 162.9 208.4 174.4 237.8 196.2L234.2 197.4C182.7 215 135.7 288.1 135.7 355.5V355.5zM469.8 400L469.1 400.1C457.3 418.9 443.2 435.2 426.9 449.6C396.1 477.6 358.8 495.1 318.1 499.5C299.5 499.8 281.3 496.3 264.3 488.1C238.7 477.8 217.2 458.1 202.7 435.1C188.3 411.2 181.6 383.4 183.7 355.5C183.1 335.4 189.1 315.2 198.7 297.3C212.6 330.4 236.2 358.6 266.3 378.1C296.4 397.6 331.8 407.6 367.7 406.7C398.7 407 429.8 400 457.9 386.2L459.8 385.3C463.7 383 467.5 381.4 471.4 385.3C475.9 390.2 473.2 394.5 470.2 399.3C470 399.5 469.9 399.8 469.8 400V400z\"]\n};\nvar faNapster = {\n prefix: 'fab',\n iconName: 'napster',\n icon: [496, 512, [], \"f3d2\", \"M298.3 373.6c-14.2 13.6-31.3 24.1-50.4 30.5-19-6.4-36.2-16.9-50.3-30.5h100.7zm44-199.6c20-16.9 43.6-29.2 69.6-36.2V299c0 219.4-328 217.6-328 .3V137.7c25.9 6.9 49.6 19.6 69.5 36.4 56.8-40 132.5-39.9 188.9-.1zm-208.8-58.5c64.4-60 164.3-60.1 228.9-.2-7.1 3.5-13.9 7.3-20.6 11.5-58.7-30.5-129.2-30.4-187.9.1-6.3-4-13.9-8.2-20.4-11.4zM43.8 93.2v69.3c-58.4 36.5-58.4 121.1.1 158.3 26.4 245.1 381.7 240.3 407.6 1.5l.3-1.7c58.7-36.3 58.9-121.7.2-158.2V93.2c-17.3.5-34 3-50.1 7.4-82-91.5-225.5-91.5-307.5.1-16.3-4.4-33.1-7-50.6-7.5zM259.2 352s36-.3 61.3-1.5c10.2-.5 21.1-4 25.5-6.5 26.3-15.1 25.4-39.2 26.2-47.4-79.5-.6-99.9-3.9-113 55.4zm-135.5-55.3c.8 8.2-.1 32.3 26.2 47.4 4.4 2.5 15.2 6 25.5 6.5 25.3 1.1 61.3 1.5 61.3 1.5-13.2-59.4-33.7-56.1-113-55.4zm169.1 123.4c-3.2-5.3-6.9-7.3-6.9-7.3-24.8 7.3-52.2 6.9-75.9 0 0 0-2.9 1.5-6.4 6.6-2.8 4.1-3.7 9.6-3.7 9.6 29.1 17.6 67.1 17.6 96.2 0-.1-.1-.3-4-3.3-8.9z\"]\n};\nvar faSquareSnapchat = {\n prefix: 'fab',\n iconName: 'square-snapchat',\n icon: [448, 512, [\"snapchat-square\"], \"f2ad\", \"M384,32H64A64,64,0,0,0,0,96V416a64,64,0,0,0,64,64H384a64,64,0,0,0,64-64V96A64,64,0,0,0,384,32Zm-3.907,319.309-.083.1a32.364,32.364,0,0,1-8.717,6.823,90.26,90.26,0,0,1-20.586,8.2,12.694,12.694,0,0,0-3.852,1.76c-2.158,1.909-2.1,4.64-4.4,8.55a23.137,23.137,0,0,1-6.84,7.471c-6.707,4.632-14.244,4.923-22.23,5.23-7.214.274-15.39.581-24.729,3.669-3.761,1.245-7.753,3.694-12.377,6.533-11.265,6.9-26.68,16.353-52.3,16.353s-40.925-9.4-52.106-16.279c-4.657-2.888-8.675-5.362-12.543-6.64-9.339-3.08-17.516-3.4-24.729-3.67-7.986-.307-15.523-.6-22.231-5.229a23.085,23.085,0,0,1-6.01-6.11c-3.2-4.632-2.855-7.8-5.254-9.895a13.428,13.428,0,0,0-4.1-1.834,89.986,89.986,0,0,1-20.313-8.127,32.905,32.905,0,0,1-8.3-6.284c-6.583-6.757-8.276-14.776-5.686-21.824,3.436-9.338,11.571-12.111,19.4-16.262,14.776-8.027,26.348-18.055,34.433-29.884a68.236,68.236,0,0,0,5.985-10.567c.789-2.158.772-3.329.241-4.416a7.386,7.386,0,0,0-2.208-2.217c-2.532-1.676-5.113-3.353-6.882-4.5-3.27-2.141-5.868-3.818-7.529-4.98-6.267-4.383-10.65-9.04-13.4-14.245a28.4,28.4,0,0,1-1.369-23.584c4.134-10.924,14.469-17.706,26.978-17.706a37.141,37.141,0,0,1,7.845.83c.689.15,1.37.307,2.042.482-.108-7.43.058-15.357.722-23.119,2.358-27.261,11.912-41.589,21.874-52.994a86.836,86.836,0,0,1,22.28-17.931C188.254,100.383,205.312,96,224,96s35.828,4.383,50.944,13.016a87.169,87.169,0,0,1,22.239,17.9c9.961,11.406,19.516,25.709,21.874,52.995a231.194,231.194,0,0,1,.713,23.118c.673-.174,1.362-.332,2.051-.481a37.131,37.131,0,0,1,7.844-.83c12.5,0,22.82,6.782,26.971,17.706a28.37,28.37,0,0,1-1.4,23.559c-2.74,5.2-7.123,9.861-13.39,14.244-1.668,1.187-4.258,2.864-7.529,4.981-1.835,1.187-4.541,2.947-7.164,4.682a6.856,6.856,0,0,0-1.951,2.034c-.506,1.046-.539,2.191.166,4.208a69.015,69.015,0,0,0,6.085,10.792c8.268,12.1,20.188,22.313,35.454,30.407,1.486.772,2.98,1.5,4.441,2.258.722.332,1.569.763,2.491,1.3,4.9,2.723,9.2,6.01,11.455,12.153C387.821,336.915,386.269,344.7,380.093,351.309Zm-16.719-18.461c-50.313-24.314-58.332-61.918-58.689-64.749-.431-3.379-.921-6.035,2.806-9.472,3.594-3.328,19.541-13.19,23.965-16.278,7.33-5.114,10.534-10.219,8.16-16.495-1.66-4.316-5.686-5.976-9.961-5.976a18.5,18.5,0,0,0-3.993.448c-8.035,1.743-15.838,5.769-20.354,6.857a7.1,7.1,0,0,1-1.66.224c-2.408,0-3.279-1.071-3.088-3.968.564-8.783,1.759-25.925.373-41.937-1.884-22.032-8.99-32.948-17.432-42.6-4.051-4.624-23.135-24.654-59.536-24.654S168.53,134.359,164.479,139c-8.434,9.654-15.531,20.57-17.432,42.6-1.386,16.013-.141,33.147.373,41.937.166,2.756-.68,3.968-3.088,3.968a7.1,7.1,0,0,1-1.66-.224c-4.507-1.087-12.31-5.113-20.346-6.856a18.494,18.494,0,0,0-3.993-.449c-4.25,0-8.3,1.636-9.961,5.977-2.374,6.276.847,11.381,8.168,16.494,4.425,3.088,20.371,12.958,23.966,16.279,3.719,3.437,3.237,6.093,2.805,9.471-.356,2.79-8.384,40.394-58.689,64.749-2.946,1.428-7.96,4.45.88,9.331,13.88,7.628,23.111,6.807,30.3,11.43,6.093,3.927,2.5,12.394,6.923,15.449,5.454,3.76,21.583-.266,42.335,6.6,17.433,5.744,28.116,22.015,58.963,22.015s41.788-16.3,58.938-21.973c20.795-6.865,36.89-2.839,42.336-6.6,4.433-3.055.822-11.522,6.923-15.448,7.181-4.624,16.411-3.8,30.3-11.472C371.36,337.355,366.346,334.333,363.374,332.848Z\"]\n};\nvar faSnapchatSquare = faSquareSnapchat;\nvar faGooglePlusG = {\n prefix: 'fab',\n iconName: 'google-plus-g',\n icon: [640, 512, [], \"f0d5\", \"M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z\"]\n};\nvar faArtstation = {\n prefix: 'fab',\n iconName: 'artstation',\n icon: [512, 512, [], \"f77a\", \"M2 377.4l43 74.3A51.35 51.35 0 0 0 90.9 480h285.4l-59.2-102.6zM501.8 350L335.6 59.3A51.38 51.38 0 0 0 290.2 32h-88.4l257.3 447.6 40.7-70.5c1.9-3.2 21-29.7 2-59.1zM275 304.5l-115.5-200L44 304.5z\"]\n};\nvar faMarkdown = {\n prefix: 'fab',\n iconName: 'markdown',\n icon: [640, 512, [], \"f60f\", \"M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z\"]\n};\nvar faSourcetree = {\n prefix: 'fab',\n iconName: 'sourcetree',\n icon: [448, 512, [], \"f7d3\", \"M427.2 203c0-112.1-90.9-203-203-203C112.1-.2 21.2 90.6 21 202.6A202.86 202.86 0 0 0 161.5 396v101.7a14.3 14.3 0 0 0 14.3 14.3h96.4a14.3 14.3 0 0 0 14.3-14.3V396.1A203.18 203.18 0 0 0 427.2 203zm-271.6 0c0-90.8 137.3-90.8 137.3 0-.1 89.9-137.3 91-137.3 0z\"]\n};\nvar faGooglePlus = {\n prefix: 'fab',\n iconName: 'google-plus',\n icon: [512, 512, [], \"f2b3\", \"M256,8C119.1,8,8,119.1,8,256S119.1,504,256,504,504,392.9,504,256,392.9,8,256,8ZM185.3,380a124,124,0,0,1,0-248c31.3,0,60.1,11,83,32.3l-33.6,32.6c-13.2-12.9-31.3-19.1-49.4-19.1-42.9,0-77.2,35.5-77.2,78.1S142.3,334,185.3,334c32.6,0,64.9-19.1,70.1-53.3H185.3V238.1H302.2a109.2,109.2,0,0,1,1.9,20.7c0,70.8-47.5,121.2-118.8,121.2ZM415.5,273.8v35.5H380V273.8H344.5V238.3H380V202.8h35.5v35.5h35.2v35.5Z\"]\n};\nvar faDiaspora = {\n prefix: 'fab',\n iconName: 'diaspora',\n icon: [512, 512, [], \"f791\", \"M251.64 354.55c-1.4 0-88 119.9-88.7 119.9S76.34 414 76 413.25s86.6-125.7 86.6-127.4c0-2.2-129.6-44-137.6-47.1-1.3-.5 31.4-101.8 31.7-102.1.6-.7 144.4 47 145.5 47 .4 0 .9-.6 1-1.3.4-2 1-148.6 1.7-149.6.8-1.2 104.5-.7 105.1-.3 1.5 1 3.5 156.1 6.1 156.1 1.4 0 138.7-47 139.3-46.3.8.9 31.9 102.2 31.5 102.6-.9.9-140.2 47.1-140.6 48.8-.3 1.4 82.8 122.1 82.5 122.9s-85.5 63.5-86.3 63.5c-1-.2-89-125.5-90.9-125.5z\"]\n};\nvar faFoursquare = {\n prefix: 'fab',\n iconName: 'foursquare',\n icon: [368, 512, [], \"f180\", \"M323.1 3H49.9C12.4 3 0 31.3 0 49.1v433.8c0 20.3 12.1 27.7 18.2 30.1 6.2 2.5 22.8 4.6 32.9-7.1C180 356.5 182.2 354 182.2 354c3.1-3.4 3.4-3.1 6.8-3.1h83.4c35.1 0 40.6-25.2 44.3-39.7l48.6-243C373.8 25.8 363.1 3 323.1 3zm-16.3 73.8l-11.4 59.7c-1.2 6.5-9.5 13.2-16.9 13.2H172.1c-12 0-20.6 8.3-20.6 20.3v13c0 12 8.6 20.6 20.6 20.6h90.4c8.3 0 16.6 9.2 14.8 18.2-1.8 8.9-10.5 53.8-11.4 58.8-.9 4.9-6.8 13.5-16.9 13.5h-73.5c-13.5 0-17.2 1.8-26.5 12.6 0 0-8.9 11.4-89.5 108.3-.9.9-1.8.6-1.8-.3V75.9c0-7.7 6.8-16.6 16.6-16.6h219c8.2 0 15.6 7.7 13.5 17.5z\"]\n};\nvar faStackOverflow = {\n prefix: 'fab',\n iconName: 'stack-overflow',\n icon: [384, 512, [], \"f16c\", \"M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z\"]\n};\nvar faGithubAlt = {\n prefix: 'fab',\n iconName: 'github-alt',\n icon: [480, 512, [], \"f113\", \"M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z\"]\n};\nvar faPhoenixSquadron = {\n prefix: 'fab',\n iconName: 'phoenix-squadron',\n icon: [512, 512, [], \"f511\", \"M96 63.38C142.49 27.25 201.55 7.31 260.51 8.81c29.58-.38 59.11 5.37 86.91 15.33-24.13-4.63-49-6.34-73.38-2.45C231.17 27 191 48.84 162.21 80.87c5.67-1 10.78-3.67 16-5.86 18.14-7.87 37.49-13.26 57.23-14.83 19.74-2.13 39.64-.43 59.28 1.92-14.42 2.79-29.12 4.57-43 9.59-34.43 11.07-65.27 33.16-86.3 62.63-13.8 19.71-23.63 42.86-24.67 67.13-.35 16.49 5.22 34.81 19.83 44a53.27 53.27 0 0 0 37.52 6.74c15.45-2.46 30.07-8.64 43.6-16.33 11.52-6.82 22.67-14.55 32-24.25 3.79-3.22 2.53-8.45 2.62-12.79-2.12-.34-4.38-1.11-6.3.3a203 203 0 0 1-35.82 15.37c-20 6.17-42.16 8.46-62.1.78 12.79 1.73 26.06.31 37.74-5.44 20.23-9.72 36.81-25.2 54.44-38.77a526.57 526.57 0 0 1 88.9-55.31c25.71-12 52.94-22.78 81.57-24.12-15.63 13.72-32.15 26.52-46.78 41.38-14.51 14-27.46 29.5-40.11 45.18-3.52 4.6-8.95 6.94-13.58 10.16a150.7 150.7 0 0 0-51.89 60.1c-9.33 19.68-14.5 41.85-11.77 63.65 1.94 13.69 8.71 27.59 20.9 34.91 12.9 8 29.05 8.07 43.48 5.1 32.8-7.45 61.43-28.89 81-55.84 20.44-27.52 30.52-62.2 29.16-96.35-.52-7.5-1.57-15-1.66-22.49 8 19.48 14.82 39.71 16.65 60.83 2 14.28.75 28.76-1.62 42.9-1.91 11-5.67 21.51-7.78 32.43a165 165 0 0 0 39.34-81.07 183.64 183.64 0 0 0-14.21-104.64c20.78 32 32.34 69.58 35.71 107.48.49 12.73.49 25.51 0 38.23A243.21 243.21 0 0 1 482 371.34c-26.12 47.34-68 85.63-117.19 108-78.29 36.23-174.68 31.32-248-14.68A248.34 248.34 0 0 1 25.36 366 238.34 238.34 0 0 1 0 273.08v-31.34C3.93 172 40.87 105.82 96 63.38m222 80.33a79.13 79.13 0 0 0 16-4.48c5-1.77 9.24-5.94 10.32-11.22-8.96 4.99-17.98 9.92-26.32 15.7z\"]\n};\nvar faPagelines = {\n prefix: 'fab',\n iconName: 'pagelines',\n icon: [384, 512, [], \"f18c\", \"M384 312.7c-55.1 136.7-187.1 54-187.1 54-40.5 81.8-107.4 134.4-184.6 134.7-16.1 0-16.6-24.4 0-24.4 64.4-.3 120.5-42.7 157.2-110.1-41.1 15.9-118.6 27.9-161.6-82.2 109-44.9 159.1 11.2 178.3 45.5 9.9-24.4 17-50.9 21.6-79.7 0 0-139.7 21.9-149.5-98.1 119.1-47.9 152.6 76.7 152.6 76.7 1.6-16.7 3.3-52.6 3.3-53.4 0 0-106.3-73.7-38.1-165.2 124.6 43 61.4 162.4 61.4 162.4.5 1.6.5 23.8 0 33.4 0 0 45.2-89 136.4-57.5-4.2 134-141.9 106.4-141.9 106.4-4.4 27.4-11.2 53.4-20 77.5 0 0 83-91.8 172-20z\"]\n};\nvar faAlgolia = {\n prefix: 'fab',\n iconName: 'algolia',\n icon: [512, 512, [], \"f36c\", \"M256 0C116.1 0 2 112.7 0 252.1C-2 393.6 112.9 510.8 254.5 511.6c43.7 .3 85.9-10.4 123.3-30.7c3.6-2 4.2-7 1.1-9.7l-24-21.2c-4.9-4.3-11.8-5.5-17.8-3c-26.1 11.1-54.5 16.8-83.7 16.4C139 461.9 46.5 366.8 48.3 252.4C50.1 139.5 142.6 48.2 256 48.2H463.7V417.2L345.9 312.5c-3.8-3.4-9.7-2.7-12.7 1.3c-18.9 25-49.7 40.6-83.9 38.2c-47.5-3.3-85.9-41.5-89.5-88.9c-4.2-56.6 40.6-103.9 96.3-103.9c50.4 0 91.9 38.8 96.2 88c.4 4.4 2.4 8.5 5.7 11.4l30.7 27.2c3.5 3.1 9 1.2 9.9-3.4c2.2-11.8 3-24.2 2.1-36.8c-4.9-72-63.3-130-135.4-134.4c-82.7-5.1-151.8 59.5-154 140.6c-2.1 78.9 62.6 147 141.6 148.7c33 .7 63.6-9.6 88.3-27.6L495 509.4c6.6 5.8 17 1.2 17-7.7V9.7c0-5.4-4.4-9.7-9.7-9.7H256z\"]\n};\nvar faRedRiver = {\n prefix: 'fab',\n iconName: 'red-river',\n icon: [448, 512, [], \"f3e3\", \"M353.2 32H94.8C42.4 32 0 74.4 0 126.8v258.4C0 437.6 42.4 480 94.8 480h258.4c52.4 0 94.8-42.4 94.8-94.8V126.8c0-52.4-42.4-94.8-94.8-94.8zM144.9 200.9v56.3c0 27-21.9 48.9-48.9 48.9V151.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9h-56.3c-12.3-.6-24.6 11.6-24 24zm176.3 72h-56.3c-12.3-.6-24.6 11.6-24 24v56.3c0 27-21.9 48.9-48.9 48.9V247.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9z\"]\n};\nvar faCreativeCommonsSa = {\n prefix: 'fab',\n iconName: 'creative-commons-sa',\n icon: [496, 512, [], \"f4ef\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zM137.7 221c13-83.9 80.5-95.7 108.9-95.7 99.8 0 127.5 82.5 127.5 134.2 0 63.6-41 132.9-128.9 132.9-38.9 0-99.1-20-109.4-97h62.5c1.5 30.1 19.6 45.2 54.5 45.2 23.3 0 58-18.2 58-82.8 0-82.5-49.1-80.6-56.7-80.6-33.1 0-51.7 14.6-55.8 43.8h18.2l-49.2 49.2-49-49.2h19.4z\"]\n};\nvar faSafari = {\n prefix: 'fab',\n iconName: 'safari',\n icon: [512, 512, [], \"f267\", \"M274.69,274.69l-37.38-37.38L166,346ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM411.85,182.79l14.78-6.13A8,8,0,0,1,437.08,181h0a8,8,0,0,1-4.33,10.46L418,197.57a8,8,0,0,1-10.45-4.33h0A8,8,0,0,1,411.85,182.79ZM314.43,94l6.12-14.78A8,8,0,0,1,331,74.92h0a8,8,0,0,1,4.33,10.45l-6.13,14.78a8,8,0,0,1-10.45,4.33h0A8,8,0,0,1,314.43,94ZM256,60h0a8,8,0,0,1,8,8V84a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V68A8,8,0,0,1,256,60ZM181,74.92a8,8,0,0,1,10.46,4.33L197.57,94a8,8,0,1,1-14.78,6.12l-6.13-14.78A8,8,0,0,1,181,74.92Zm-63.58,42.49h0a8,8,0,0,1,11.31,0L140,128.72A8,8,0,0,1,140,140h0a8,8,0,0,1-11.31,0l-11.31-11.31A8,8,0,0,1,117.41,117.41ZM60,256h0a8,8,0,0,1,8-8H84a8,8,0,0,1,8,8h0a8,8,0,0,1-8,8H68A8,8,0,0,1,60,256Zm40.15,73.21-14.78,6.13A8,8,0,0,1,74.92,331h0a8,8,0,0,1,4.33-10.46L94,314.43a8,8,0,0,1,10.45,4.33h0A8,8,0,0,1,100.15,329.21Zm4.33-136h0A8,8,0,0,1,94,197.57l-14.78-6.12A8,8,0,0,1,74.92,181h0a8,8,0,0,1,10.45-4.33l14.78,6.13A8,8,0,0,1,104.48,193.24ZM197.57,418l-6.12,14.78a8,8,0,0,1-14.79-6.12l6.13-14.78A8,8,0,1,1,197.57,418ZM264,444a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V428a8,8,0,0,1,8-8h0a8,8,0,0,1,8,8Zm67-6.92h0a8,8,0,0,1-10.46-4.33L314.43,418a8,8,0,0,1,4.33-10.45h0a8,8,0,0,1,10.45,4.33l6.13,14.78A8,8,0,0,1,331,437.08Zm63.58-42.49h0a8,8,0,0,1-11.31,0L372,383.28A8,8,0,0,1,372,372h0a8,8,0,0,1,11.31,0l11.31,11.31A8,8,0,0,1,394.59,394.59ZM286.25,286.25,110.34,401.66,225.75,225.75,401.66,110.34ZM437.08,331h0a8,8,0,0,1-10.45,4.33l-14.78-6.13a8,8,0,0,1-4.33-10.45h0A8,8,0,0,1,418,314.43l14.78,6.12A8,8,0,0,1,437.08,331ZM444,264H428a8,8,0,0,1-8-8h0a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8h0A8,8,0,0,1,444,264Z\"]\n};\nvar faGoogle = {\n prefix: 'fab',\n iconName: 'google',\n icon: [488, 512, [], \"f1a0\", \"M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z\"]\n};\nvar faSquareFontAwesomeStroke = {\n prefix: 'fab',\n iconName: 'square-font-awesome-stroke',\n icon: [448, 512, [\"font-awesome-alt\"], \"f35c\", \"M201.6,152c-25.4,0-37.4,10.4-57.6,14.4V160c0-8.8-7.2-16-16-16s-16,7.2-16,16v192c0,0.8,0.1,1.6,0.2,2.4 c0.1,0.4,0.1,0.8,0.2,1.2c1.6,7.1,8,12.4,15.6,12.4s14-5.3,15.6-12.4c0.1-0.4,0.2-0.8,0.2-1.2c0.1-0.8,0.2-1.6,0.2-2.4V198.4 c4-0.8,7.7-1.8,11.2-3c14.3-4.7,26-11.4,46.4-11.4c31.4,0,43.2,16,74.6,16c8.9,0,15.9-1.1,24.2-3.5c1.2-0.3,2.4-0.7,3.6-1.1v96 c-10,3.2-17.6,4.6-27.8,4.6c-31.4,0-43.4-16-74.6-16c-10.2,0-18.2,1.8-25.6,4v32c7.4-2.4,15.4-4,25.6-4c31.4,0,43.2,16,74.6,16 c18.6,0,28.2-4.8,59.8-16V152c-31.6,11.2-41.2,16-59.8,16C244.8,168,232.8,152,201.6,152z M384,32H64C28.7,32,0,60.7,0,96v320 c0,35.3,28.7,64,64,64h320c35.3,0,64-28.7,64-64V96C448,60.7,419.3,32,384,32z M416,416c0,17.6-14.4,32-32,32H64 c-17.6,0-32-14.4-32-32V96c0-17.6,14.4-32,32-32h320c17.6,0,32,14.4,32,32V416z\"]\n};\nvar faFontAwesomeAlt = faSquareFontAwesomeStroke;\nvar faAtlassian = {\n prefix: 'fab',\n iconName: 'atlassian',\n icon: [512, 512, [], \"f77b\", \"M152.2 236.4c-7.7-8.2-19.7-7.7-24.8 2.8L1.6 490.2c-5 10 2.4 21.7 13.4 21.7h175c5.8.1 11-3.2 13.4-8.4 37.9-77.8 15.1-196.3-51.2-267.1zM244.4 8.1c-122.3 193.4-8.5 348.6 65 495.5 2.5 5.1 7.7 8.4 13.4 8.4H497c11.2 0 18.4-11.8 13.4-21.7 0 0-234.5-470.6-240.4-482.3-5.3-10.6-18.8-10.8-25.6.1z\"]\n};\nvar faLinkedinIn = {\n prefix: 'fab',\n iconName: 'linkedin-in',\n icon: [448, 512, [], \"f0e1\", \"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z\"]\n};\nvar faDigitalOcean = {\n prefix: 'fab',\n iconName: 'digital-ocean',\n icon: [512, 512, [], \"f391\", \"M87 481.8h73.7v-73.6H87zM25.4 346.6v61.6H87v-61.6zm466.2-169.7c-23-74.2-82.4-133.3-156.6-156.6C164.9-32.8 8 93.7 8 255.9h95.8c0-101.8 101-180.5 208.1-141.7 39.7 14.3 71.5 46.1 85.8 85.7 39.1 107-39.7 207.8-141.4 208v.3h-.3V504c162.6 0 288.8-156.8 235.6-327.1zm-235.3 231v-95.3h-95.6v95.6H256v-.3z\"]\n};\nvar faNimblr = {\n prefix: 'fab',\n iconName: 'nimblr',\n icon: [384, 512, [], \"f5a8\", \"M246.6 299.29c15.57 0 27.15 11.46 27.15 27s-11.62 27-27.15 27c-15.7 0-27.15-11.57-27.15-27s11.55-27 27.15-27zM113 326.25c0-15.61 11.68-27 27.15-27s27.15 11.46 27.15 27-11.47 27-27.15 27c-15.44 0-27.15-11.31-27.15-27M191.76 159C157 159 89.45 178.77 59.25 227L14 0v335.48C14 433.13 93.61 512 191.76 512s177.76-78.95 177.76-176.52S290.13 159 191.76 159zm0 308.12c-73.27 0-132.51-58.9-132.51-131.59s59.24-131.59 132.51-131.59 132.51 58.86 132.51 131.54S265 467.07 191.76 467.07z\"]\n};\nvar faChromecast = {\n prefix: 'fab',\n iconName: 'chromecast',\n icon: [512, 512, [], \"f838\", \"M447.8,64H64c-23.6,0-42.7,19.1-42.7,42.7v63.9H64v-63.9h383.8v298.6H298.6V448H448c23.6,0,42.7-19.1,42.7-42.7V106.7 C490.7,83.1,471.4,64,447.8,64z M21.3,383.6L21.3,383.6l0,63.9h63.9C85.2,412.2,56.6,383.6,21.3,383.6L21.3,383.6z M21.3,298.6V341 c58.9,0,106.6,48.1,106.6,107h42.7C170.7,365.6,103.7,298.7,21.3,298.6z M213.4,448h42.7c-0.5-129.5-105.3-234.3-234.8-234.6l0,42.4 C127.3,255.6,213.3,342,213.4,448z\"]\n};\nvar faEvernote = {\n prefix: 'fab',\n iconName: 'evernote',\n icon: [384, 512, [], \"f839\", \"M120.82 132.21c1.6 22.31-17.55 21.59-21.61 21.59-68.93 0-73.64-1-83.58 3.34-.56.22-.74 0-.37-.37L123.79 46.45c.38-.37.6-.22.38.37-4.35 9.99-3.35 15.09-3.35 85.39zm79 308c-14.68-37.08 13-76.93 52.52-76.62 17.49 0 22.6 23.21 7.95 31.42-6.19 3.3-24.95 1.74-25.14 19.2-.05 17.09 19.67 25 31.2 24.89A45.64 45.64 0 0 0 312 393.45v-.08c0-11.63-7.79-47.22-47.54-55.34-7.72-1.54-65-6.35-68.35-50.52-3.74 16.93-17.4 63.49-43.11 69.09-8.74 1.94-69.68 7.64-112.92-36.77 0 0-18.57-15.23-28.23-57.95-3.38-15.75-9.28-39.7-11.14-62 0-18 11.14-30.45 25.07-32.2 81 0 90 2.32 101-7.8 9.82-9.24 7.8-15.5 7.8-102.78 1-8.3 7.79-30.81 53.41-24.14 6 .86 31.91 4.18 37.48 30.64l64.26 11.15c20.43 3.71 70.94 7 80.6 57.94 22.66 121.09 8.91 238.46 7.8 238.46C362.15 485.53 267.06 480 267.06 480c-18.95-.23-54.25-9.4-67.27-39.83zm80.94-204.84c-1 1.92-2.2 6 .85 7 14.09 4.93 39.75 6.84 45.88 5.53 3.11-.25 3.05-4.43 2.48-6.65-3.53-21.85-40.83-26.5-49.24-5.92z\"]\n};\nvar faHackerNews = {\n prefix: 'fab',\n iconName: 'hacker-news',\n icon: [448, 512, [], \"f1d4\", \"M0 32v448h448V32H0zm21.2 197.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"]\n};\nvar faCreativeCommonsSampling = {\n prefix: 'fab',\n iconName: 'creative-commons-sampling',\n icon: [496, 512, [], \"f4f0\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm3.6 53.2c2.8-.3 11.5 1 11.5 11.5l6.6 107.2 4.9-59.3c0-6 4.7-10.6 10.6-10.6 5.9 0 10.6 4.7 10.6 10.6 0 2.5-.5-5.7 5.7 81.5l5.8-64.2c.3-2.9 2.9-9.3 10.2-9.3 3.8 0 9.9 2.3 10.6 8.9l11.5 96.5 5.3-12.8c1.8-4.4 5.2-6.6 10.2-6.6h58v21.3h-50.9l-18.2 44.3c-3.9 9.9-19.5 9.1-20.8-3.1l-4-31.9-7.5 92.6c-.3 3-3 9.3-10.2 9.3-3 0-9.8-2.1-10.6-9.3 0-1.9.6 5.8-6.2-77.9l-5.3 72.2c-1.1 4.8-4.8 9.3-10.6 9.3-2.9 0-9.8-2-10.6-9.3 0-1.9.5 6.7-5.8-87.7l-5.8 94.8c0 6.3-3.6 12.4-10.6 12.4-5.2 0-10.6-4.1-10.6-12l-5.8-87.7c-5.8 92.5-5.3 84-5.3 85.9-1.1 4.8-4.8 9.3-10.6 9.3-3 0-9.8-2.1-10.6-9.3 0-.7-.4-1.1-.4-2.6l-6.2-88.6L182 348c-.7 6.5-6.7 9.3-10.6 9.3-5.8 0-9.6-4.1-10.6-8.9L149.7 272c-2 4-3.5 8.4-11.1 8.4H87.2v-21.3H132l13.7-27.9c4.4-9.9 18.2-7.2 19.9 2.7l3.1 20.4 8.4-97.9c0-6 4.8-10.6 10.6-10.6.5 0 10.6-.2 10.6 12.4l4.9 69.1 6.6-92.6c0-10.1 9.5-10.6 10.2-10.6.6 0 10.6.7 10.6 10.6l5.3 80.6 6.2-97.9c.1-1.1-.6-10.3 9.9-11.5z\"]\n};\nvar faAdversal = {\n prefix: 'fab',\n iconName: 'adversal',\n icon: [512, 512, [], \"f36a\", \"M482.1 32H28.7C5.8 32 0 37.9 0 60.9v390.2C0 474.4 5.8 480 28.7 480h453.4c24.4 0 29.9-5.2 29.9-29.7V62.2c0-24.6-5.4-30.2-29.9-30.2zM178.4 220.3c-27.5-20.2-72.1-8.7-84.2 23.4-4.3 11.1-9.3 9.5-17.5 8.3-9.7-1.5-17.2-3.2-22.5-5.5-28.8-11.4 8.6-55.3 24.9-64.3 41.1-21.4 83.4-22.2 125.3-4.8 40.9 16.8 34.5 59.2 34.5 128.5 2.7 25.8-4.3 58.3 9.3 88.8 1.9 4.4.4 7.9-2.7 10.7-8.4 6.7-39.3 2.2-46.6-7.4-1.9-2.2-1.8-3.6-3.9-6.2-3.6-3.9-7.3-2.2-11.9 1-57.4 36.4-140.3 21.4-147-43.3-3.1-29.3 12.4-57.1 39.6-71 38.2-19.5 112.2-11.8 114-30.9 1.1-10.2-1.9-20.1-11.3-27.3zm286.7 222c0 15.1-11.1 9.9-17.8 9.9H52.4c-7.4 0-18.2 4.8-17.8-10.7.4-13.9 10.5-9.1 17.1-9.1 132.3-.4 264.5-.4 396.8 0 6.8 0 16.6-4.4 16.6 9.9zm3.8-340.5v291c0 5.7-.7 13.9-8.1 13.9-12.4-.4-27.5 7.1-36.1-5.6-5.8-8.7-7.8-4-12.4-1.2-53.4 29.7-128.1 7.1-144.4-85.2-6.1-33.4-.7-67.1 15.7-100 11.8-23.9 56.9-76.1 136.1-30.5v-71c0-26.2-.1-26.2 26-26.2 3.1 0 6.6.4 9.7 0 10.1-.8 13.6 4.4 13.6 14.3-.1.2-.1.3-.1.5zm-51.5 232.3c-19.5 47.6-72.9 43.3-90 5.2-15.1-33.3-15.5-68.2.4-101.5 16.3-34.1 59.7-35.7 81.5-4.8 20.6 28.8 14.9 84.6 8.1 101.1zm-294.8 35.3c-7.5-1.3-33-3.3-33.7-27.8-.4-13.9 7.8-23 19.8-25.8 24.4-5.9 49.3-9.9 73.7-14.7 8.9-2 7.4 4.4 7.8 9.5 1.4 33-26.1 59.2-67.6 58.8z\"]\n};\nvar faCreativeCommons = {\n prefix: 'fab',\n iconName: 'creative-commons',\n icon: [496, 512, [], \"f25e\", \"M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z\"]\n};\nvar faWatchmanMonitoring = {\n prefix: 'fab',\n iconName: 'watchman-monitoring',\n icon: [512, 512, [], \"e087\", \"M256,16C123.452,16,16,123.452,16,256S123.452,496,256,496,496,388.548,496,256,388.548,16,256,16ZM121.69,429.122C70.056,388.972,36.741,326.322,36.741,256a218.519,218.519,0,0,1,9.587-64.122l102.9-17.895-.121,10.967-13.943,2.013s-.144,12.5-.144,19.549a12.778,12.778,0,0,0,4.887,10.349l9.468,7.4Zm105.692-283.27,8.48-7.618s6.934-5.38-.143-9.344c-7.188-4.024-39.53-34.5-39.53-34.5-5.348-5.477-8.257-7.347-15.46,0,0,0-32.342,30.474-39.529,34.5-7.078,3.964-.144,9.344-.144,9.344l8.481,7.618-.048,4.369L75.982,131.045c39.644-56.938,105.532-94.3,180.018-94.3A218.754,218.754,0,0,1,420.934,111.77l-193.512,37.7Zm34.063,329.269-33.9-250.857,9.467-7.4a12.778,12.778,0,0,0,4.888-10.349c0-7.044-.144-19.549-.144-19.549l-13.943-2.013-.116-10.474,241.711,31.391A218.872,218.872,0,0,1,475.259,256C475.259,375.074,379.831,472.212,261.445,475.121Z\"]\n};\nvar faFonticons = {\n prefix: 'fab',\n iconName: 'fonticons',\n icon: [448, 512, [], \"f280\", \"M0 32v448h448V32zm187 140.9c-18.4 0-19 9.9-19 27.4v23.3c0 2.4-3.5 4.4-.6 4.4h67.4l-11.1 37.3H168v112.9c0 5.8-2 6.7 3.2 7.3l43.5 4.1v25.1H84V389l21.3-2c5.2-.6 6.7-2.3 6.7-7.9V267.7c0-2.3-2.9-2.3-5.8-2.3H84V228h28v-21c0-49.6 26.5-70 77.3-70 34.1 0 64.7 8.2 64.7 52.8l-50.7 6.1c.3-18.7-4.4-23-16.3-23zm74.3 241.8v-25.1l20.4-2.6c5.2-.6 7.6-1.7 7.6-7.3V271.8c0-4.1-2.9-6.7-6.7-7.9l-24.2-6.4 6.7-29.5h80.2v151.7c0 5.8-2.6 6.4 2.9 7.3l15.7 2.6v25.1zm80.8-255.5l9 33.2-7.3 7.3-31.2-16.6-31.2 16.6-7.3-7.3 9-33.2-21.8-24.2 3.5-9.6h27.7l15.5-28h9.3l15.5 28h27.7l3.5 9.6z\"]\n};\nvar faWeixin = {\n prefix: 'fab',\n iconName: 'weixin',\n icon: [576, 512, [], \"f1d7\", \"M385.2 167.6c6.4 0 12.6.3 18.8 1.1C387.4 90.3 303.3 32 207.7 32 100.5 32 13 104.8 13 197.4c0 53.4 29.3 97.5 77.9 131.6l-19.3 58.6 68-34.1c24.4 4.8 43.8 9.7 68.2 9.7 6.2 0 12.1-.3 18.3-.8-4-12.9-6.2-26.6-6.2-40.8-.1-84.9 72.9-154 165.3-154zm-104.5-52.9c14.5 0 24.2 9.7 24.2 24.4 0 14.5-9.7 24.2-24.2 24.2-14.8 0-29.3-9.7-29.3-24.2.1-14.7 14.6-24.4 29.3-24.4zm-136.4 48.6c-14.5 0-29.3-9.7-29.3-24.2 0-14.8 14.8-24.4 29.3-24.4 14.8 0 24.4 9.7 24.4 24.4 0 14.6-9.6 24.2-24.4 24.2zM563 319.4c0-77.9-77.9-141.3-165.4-141.3-92.7 0-165.4 63.4-165.4 141.3S305 460.7 397.6 460.7c19.3 0 38.9-5.1 58.6-9.9l53.4 29.3-14.8-48.6C534 402.1 563 363.2 563 319.4zm-219.1-24.5c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.8 0 24.4 9.7 24.4 19.3 0 10-9.7 19.6-24.4 19.6zm107.1 0c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.5 0 24.4 9.7 24.4 19.3.1 10-9.9 19.6-24.4 19.6z\"]\n};\nvar faShirtsinbulk = {\n prefix: 'fab',\n iconName: 'shirtsinbulk',\n icon: [448, 512, [], \"f214\", \"M100 410.3l30.6 13.4 4.4-9.9-30.6-13.4zm39.4 17.5l30.6 13.4 4.4-9.9-30.6-13.4zm172.1-14l4.4 9.9 30.6-13.4-4.4-9.9zM179.1 445l30.3 13.7 4.4-9.9-30.3-13.4zM60.4 392.8L91 406.2l4.4-9.6-30.6-13.7zm211.4 38.5l4.4 9.9 30.6-13.4-4.4-9.9zm-39.3 17.5l4.4 9.9 30.6-13.7-4.4-9.6zm118.4-52.2l4.4 9.6 30.6-13.4-4.4-9.9zM170 46.6h-33.5v10.5H170zm-47.2 0H89.2v10.5h33.5zm-47.3 0H42.3v10.5h33.3zm141.5 0h-33.2v10.5H217zm94.5 0H278v10.5h33.5zm47.3 0h-33.5v10.5h33.5zm-94.6 0H231v10.5h33.2zm141.5 0h-33.3v10.5h33.3zM52.8 351.1H42v33.5h10.8zm70-215.9H89.2v10.5h33.5zm-70 10.6h22.8v-10.5H42v33.5h10.8zm168.9 228.6c50.5 0 91.3-40.8 91.3-91.3 0-50.2-40.8-91.3-91.3-91.3-50.2 0-91.3 41.1-91.3 91.3 0 50.5 41.1 91.3 91.3 91.3zm-48.2-111.1c0-25.4 29.5-31.8 49.6-31.8 16.9 0 29.2 5.8 44.3 12l-8.8 16.9h-.9c-6.4-9.9-24.8-13.1-35.6-13.1-9 0-29.8 1.8-29.8 14.9 0 21.6 78.5-10.2 78.5 37.9 0 25.4-31.5 31.2-51 31.2-18.1 0-32.4-2.9-47.2-12.2l9-18.4h.9c6.1 12.2 23.6 14.9 35.9 14.9 8.7 0 32.7-1.2 32.7-14.3 0-26.1-77.6 6.3-77.6-38zM52.8 178.4H42V212h10.8zm342.4 206.2H406v-33.5h-10.8zM52.8 307.9H42v33.5h10.8zM0 3.7v406l221.7 98.6L448 409.7V3.7zm418.8 387.1L222 476.5 29.2 390.8V120.7h389.7v270.1zm0-299.3H29.2V32.9h389.7v58.6zm-366 130.1H42v33.5h10.8zm0 43.2H42v33.5h10.8zM170 135.2h-33.5v10.5H170zm225.2 163.1H406v-33.5h-10.8zm0-43.2H406v-33.5h-10.8zM217 135.2h-33.2v10.5H217zM395.2 212H406v-33.5h-10.8zm0 129.5H406V308h-10.8zm-131-206.3H231v10.5h33.2zm47.3 0H278v10.5h33.5zm83.7 33.6H406v-33.5h-33.5v10.5h22.8zm-36.4-33.6h-33.5v10.5h33.5z\"]\n};\nvar faCodepen = {\n prefix: 'fab',\n iconName: 'codepen',\n icon: [512, 512, [], \"f1cb\", \"M502.285 159.704l-234-156c-7.987-4.915-16.511-4.96-24.571 0l-234 156C3.714 163.703 0 170.847 0 177.989v155.999c0 7.143 3.714 14.286 9.715 18.286l234 156.022c7.987 4.915 16.511 4.96 24.571 0l234-156.022c6-3.999 9.715-11.143 9.715-18.286V177.989c-.001-7.142-3.715-14.286-9.716-18.285zM278 63.131l172.286 114.858-76.857 51.429L278 165.703V63.131zm-44 0v102.572l-95.429 63.715-76.857-51.429L234 63.131zM44 219.132l55.143 36.857L44 292.846v-73.714zm190 229.715L61.714 333.989l76.857-51.429L234 346.275v102.572zm22-140.858l-77.715-52 77.715-52 77.715 52-77.715 52zm22 140.858V346.275l95.429-63.715 76.857 51.429L278 448.847zm190-156.001l-55.143-36.857L468 219.132v73.714z\"]\n};\nvar faGitAlt = {\n prefix: 'fab',\n iconName: 'git-alt',\n icon: [448, 512, [], \"f841\", \"M439.55 236.05L244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z\"]\n};\nvar faLyft = {\n prefix: 'fab',\n iconName: 'lyft',\n icon: [512, 512, [], \"f3c3\", \"M0 81.1h77.8v208.7c0 33.1 15 52.8 27.2 61-12.7 11.1-51.2 20.9-80.2-2.8C7.8 334 0 310.7 0 289V81.1zm485.9 173.5v-22h23.8v-76.8h-26.1c-10.1-46.3-51.2-80.7-100.3-80.7-56.6 0-102.7 46-102.7 102.7V357c16 2.3 35.4-.3 51.7-14 17.1-14 24.8-37.2 24.8-59v-6.7h38.8v-76.8h-38.8v-23.3c0-34.6 52.2-34.6 52.2 0v77.1c0 56.6 46 102.7 102.7 102.7v-76.5c-14.5 0-26.1-11.7-26.1-25.9zm-294.3-99v113c0 15.4-23.8 15.4-23.8 0v-113H91v132.7c0 23.8 8 54 45 63.9 37 9.8 58.2-10.6 58.2-10.6-2.1 13.4-14.5 23.3-34.9 25.3-15.5 1.6-35.2-3.6-45-7.8v70.3c25.1 7.5 51.5 9.8 77.6 4.7 47.1-9.1 76.8-48.4 76.8-100.8V155.1h-77.1v.5z\"]\n};\nvar faRev = {\n prefix: 'fab',\n iconName: 'rev',\n icon: [448, 512, [], \"f5b2\", \"M289.67 274.89a65.57 65.57 0 1 1-65.56-65.56 65.64 65.64 0 0 1 65.56 65.56zm139.55-5.05h-.13a204.69 204.69 0 0 0-74.32-153l-45.38 26.2a157.07 157.07 0 0 1 71.81 131.84C381.2 361.5 310.73 432 224.11 432S67 361.5 67 274.88c0-81.88 63-149.27 143-156.43v39.12l108.77-62.79L210 32v38.32c-106.7 7.25-191 96-191 204.57 0 111.59 89.12 202.29 200.06 205v.11h210.16V269.84z\"]\n};\nvar faWindows = {\n prefix: 'fab',\n iconName: 'windows',\n icon: [448, 512, [], \"f17a\", \"M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z\"]\n};\nvar faWizardsOfTheCoast = {\n prefix: 'fab',\n iconName: 'wizards-of-the-coast',\n icon: [640, 512, [], \"f730\", \"M219.19 345.69c-1.9 1.38-11.07 8.44-.26 23.57 4.64 6.42 14.11 12.79 21.73 6.55 6.5-4.88 7.35-12.92.26-23.04-5.47-7.76-14.28-12.88-21.73-7.08zm336.75 75.94c-.34 1.7-.55 1.67.79 0 2.09-4.19 4.19-10.21 4.98-19.9 3.14-38.49-40.33-71.49-101.34-78.03-54.73-6.02-124.38 9.17-188.8 60.49l-.26 1.57c2.62 4.98 4.98 10.74 3.4 21.21l.79.26c63.89-58.4 131.19-77.25 184.35-73.85 58.4 3.67 100.03 34.04 100.03 68.08-.01 9.96-2.63 15.72-3.94 20.17zM392.28 240.42c.79 7.07 4.19 10.21 9.17 10.47 5.5.26 9.43-2.62 10.47-6.55.79-3.4 2.09-29.85 2.09-29.85s-11.26 6.55-14.93 10.47c-3.66 3.68-7.33 8.39-6.8 15.46zm-50.02-151.1C137.75 89.32 13.1 226.8.79 241.2c-1.05.52-1.31.79.79 1.31 60.49 16.5 155.81 81.18 196.13 202.16l1.05.26c55.25-69.92 140.88-128.05 236.99-128.05 80.92 0 130.15 42.16 130.15 80.39 0 18.33-6.55 33.52-22.26 46.35 0 .96-.2.79.79.79 14.66-10.74 27.5-28.8 27.5-48.18 0-22.78-12.05-38.23-12.05-38.23 7.07 7.07 10.74 16.24 10.74 16.24 5.76-40.85 26.97-62.32 26.97-62.32-2.36-9.69-6.81-17.81-6.81-17.81 7.59 8.12 14.4 27.5 14.4 41.37 0 10.47-3.4 22.78-12.57 31.95l.26.52c8.12-4.98 16.5-16.76 16.5-37.97 0-15.71-4.71-25.92-4.71-25.92 5.76-5.24 11.26-9.17 15.97-11.78.79 3.4 2.09 9.69 2.36 14.93 0 1.05.79 1.83 1.05 0 .79-5.76-.26-16.24-.26-16.5 6.02-3.14 9.69-4.45 9.69-4.45C617.74 176 489.43 89.32 342.26 89.32zm-99.24 289.62c-11.06 8.99-24.2 4.08-30.64-4.19-7.45-9.58-6.76-24.09 4.19-32.47 14.85-11.35 27.08-.49 31.16 5.5.28.39 12.13 16.57-4.71 31.16zm2.09-136.43l9.43-17.81 11.78 70.96-12.57 6.02-24.62-28.8 14.14-26.71 3.67 4.45-1.83-8.11zm18.59 117.58l-.26-.26c2.05-4.1-2.5-6.61-17.54-31.69-1.31-2.36-3.14-2.88-4.45-2.62l-.26-.52c7.86-5.76 15.45-10.21 25.4-15.71l.52.26c1.31 1.83 2.09 2.88 3.4 4.71l-.26.52c-1.05-.26-2.36-.79-5.24.26-2.09.79-7.86 3.67-12.31 7.59v1.31c1.57 2.36 3.93 6.55 5.76 9.69h.26c10.05-6.28 7.56-4.55 11.52-7.86h.26c.52 1.83.52 1.83 1.83 5.5l-.26.26c-3.06.61-4.65.34-11.52 5.5v.26c9.46 17.02 11.01 16.75 12.57 15.97l.26.26c-2.34 1.59-6.27 4.21-9.68 6.57zm55.26-32.47c-3.14 1.57-6.02 2.88-9.95 4.98l-.26-.26c1.29-2.59 1.16-2.71-11.78-32.47l-.26-.26c-.15 0-8.9 3.65-9.95 7.33h-.52l-1.05-5.76.26-.52c7.29-4.56 25.53-11.64 27.76-12.57l.52.26 3.14 4.98-.26.52c-3.53-1.76-7.35.76-12.31 2.62v.26c12.31 32.01 12.67 30.64 14.66 30.64v.25zm44.77-16.5c-4.19 1.05-5.24 1.31-9.69 2.88l-.26-.26.52-4.45c-1.05-3.4-3.14-11.52-3.67-13.62l-.26-.26c-3.4.79-8.9 2.62-12.83 3.93l-.26.26c.79 2.62 3.14 9.95 4.19 13.88.79 2.36 1.83 2.88 2.88 3.14v.52c-3.67 1.05-7.07 2.62-10.21 3.93l-.26-.26c1.05-1.31 1.05-2.88.26-4.98-1.05-3.14-8.12-23.83-9.17-27.23-.52-1.83-1.57-3.14-2.62-3.14v-.52c3.14-1.05 6.02-2.09 10.74-3.4l.26.26-.26 4.71c1.31 3.93 2.36 7.59 3.14 9.69h.26c3.93-1.31 9.43-2.88 12.83-3.93l.26-.26-2.62-9.43c-.52-1.83-1.05-3.4-2.62-3.93v-.26c4.45-1.05 7.33-1.83 10.74-2.36l.26.26c-1.05 1.31-1.05 2.88-.52 4.45 1.57 6.28 4.71 20.43 6.28 26.45.54 2.62 1.85 3.41 2.63 3.93zm32.21-6.81l-.26.26c-4.71.52-14.14 2.36-22.52 4.19l-.26-.26.79-4.19c-1.57-7.86-3.4-18.59-4.98-26.19-.26-1.83-.79-2.88-2.62-3.67l.79-.52c9.17-1.57 20.16-2.36 24.88-2.62l.26.26c.52 2.36.79 3.14 1.57 5.5l-.26.26c-1.14-1.14-3.34-3.2-16.24-.79l-.26.26c.26 1.57 1.05 6.55 1.57 9.95l.26.26c9.52-1.68 4.76-.06 10.74-2.36h.26c0 1.57-.26 1.83-.26 5.24h-.26c-4.81-1.03-2.15-.9-10.21 0l-.26.26c.26 2.09 1.57 9.43 2.09 12.57l.26.26c1.15.38 14.21-.65 16.24-4.71h.26c-.53 2.38-1.05 4.21-1.58 6.04zm10.74-44.51c-4.45 2.36-8.12 2.88-11 2.88-.25.02-11.41 1.09-17.54-9.95-6.74-10.79-.98-25.2 5.5-31.69 8.8-8.12 23.35-10.1 28.54-17.02 8.03-10.33-13.04-22.31-29.59-5.76l-2.62-2.88 5.24-16.24c25.59-1.57 45.2-3.04 50.02 16.24.79 3.14 0 9.43-.26 12.05 0 2.62-1.83 18.85-2.09 23.04-.52 4.19-.79 18.33-.79 20.69.26 2.36.52 4.19 1.57 5.5 1.57 1.83 5.76 1.83 5.76 1.83l-.79 4.71c-11.82-1.07-10.28-.59-20.43-1.05-3.22-5.15-2.23-3.28-4.19-7.86 0 .01-4.19 3.94-7.33 5.51zm37.18 21.21c-6.35-10.58-19.82-7.16-21.73 5.5-2.63 17.08 14.3 19.79 20.69 10.21l.26.26c-.52 1.83-1.83 6.02-1.83 6.28l-.52.52c-10.3 6.87-28.5-2.5-25.66-18.59 1.94-10.87 14.44-18.93 28.8-9.95l.26.52c0 1.06-.27 3.41-.27 5.25zm5.77-87.73v-6.55c.69 0 19.65 3.28 27.76 7.33l-1.57 17.54s10.21-9.43 15.45-10.74c5.24-1.57 14.93 7.33 14.93 7.33l-11.26 11.26c-12.07-6.35-19.59-.08-20.69.79-5.29 38.72-8.6 42.17 4.45 46.09l-.52 4.71c-17.55-4.29-18.53-4.5-36.92-7.33l.79-4.71c7.25 0 7.48-5.32 7.59-6.81 0 0 4.98-53.16 4.98-55.25-.02-2.87-4.99-3.66-4.99-3.66zm10.99 114.44c-8.12-2.09-14.14-11-10.74-20.69 3.14-9.43 12.31-12.31 18.85-10.21 9.17 2.62 12.83 11.78 10.74 19.38-2.61 8.9-9.42 13.87-18.85 11.52zm42.16 9.69c-2.36-.52-7.07-2.36-8.64-2.88v-.26l1.57-1.83c.59-8.24.59-7.27.26-7.59-4.82-1.81-6.66-2.36-7.07-2.36-1.31 1.83-2.88 4.45-3.67 5.5l-.79 3.4v.26c-1.31-.26-3.93-1.31-6.02-1.57v-.26l2.62-1.83c3.4-4.71 9.95-14.14 13.88-20.16v-2.09l.52-.26c2.09.79 5.5 2.09 7.59 2.88.48.48.18-1.87-1.05 25.14-.24 1.81.02 2.6.8 3.91zm-4.71-89.82c11.25-18.27 30.76-16.19 34.04-3.4L539.7 198c2.34-6.25-2.82-9.9-4.45-11.26l1.83-3.67c12.22 10.37 16.38 13.97 22.52 20.43-25.91 73.07-30.76 80.81-24.62 84.32l-1.83 4.45c-6.37-3.35-8.9-4.42-17.81-8.64l2.09-6.81c-.26-.26-3.93 3.93-9.69 3.67-19.06-1.3-22.89-31.75-9.67-52.9zm29.33 79.34c0-5.71-6.34-7.89-7.86-5.24-1.31 2.09 1.05 4.98 2.88 8.38 1.57 2.62 2.62 6.28 1.05 9.43-2.64 6.34-12.4 5.31-15.45-.79 0-.7-.27.09 1.83-4.71l.79-.26c-.57 5.66 6.06 9.61 8.38 4.98 1.05-2.09-.52-5.5-2.09-8.38-1.57-2.62-3.67-6.28-1.83-9.69 2.72-5.06 11.25-4.47 14.66 2.36v.52l-2.36 3.4zm21.21 13.36c-1.96-3.27-.91-2.14-4.45-4.71h-.26c-2.36 4.19-5.76 10.47-8.64 16.24-1.31 2.36-1.05 3.4-.79 3.93l-.26.26-5.76-4.45.26-.26 2.09-1.31c3.14-5.76 6.55-12.05 9.17-17.02v-.26c-2.64-1.98-1.22-1.51-6.02-1.83v-.26l3.14-3.4h.26c3.67 2.36 9.95 6.81 12.31 8.9l.26.26-1.31 3.91zm27.23-44.26l-2.88-2.88c.79-2.36 1.83-4.98 2.09-7.59.75-9.74-11.52-11.84-11.52-4.98 0 4.98 7.86 19.38 7.86 27.76 0 10.21-5.76 15.71-13.88 16.5-8.38.79-20.16-10.47-20.16-10.47l4.98-14.4 2.88 2.09c-2.97 17.8 17.68 20.37 13.35 5.24-1.06-4.02-18.75-34.2 2.09-38.23 13.62-2.36 23.04 16.5 23.04 16.5l-7.85 10.46zm35.62-10.21c-11-30.38-60.49-127.53-191.95-129.62-53.42-1.05-94.27 15.45-132.76 37.97l85.63-9.17-91.39 20.69 25.14 19.64-3.93-16.5c7.5-1.71 39.15-8.45 66.77-8.9l-22.26 80.39c13.61-.7 18.97-8.98 19.64-22.78l4.98-1.05.26 26.71c-22.46 3.21-37.3 6.69-49.49 9.95l13.09-43.21-61.54-36.66 2.36 8.12 10.21 4.98c6.28 18.59 19.38 56.56 20.43 58.66 1.95 4.28 3.16 5.78 12.05 4.45l1.05 4.98c-16.08 4.86-23.66 7.61-39.02 14.4l-2.36-4.71c4.4-2.94 8.73-3.94 5.5-12.83-23.7-62.5-21.48-58.14-22.78-59.44l2.36-4.45 33.52 67.3c-3.84-11.87 1.68 1.69-32.99-78.82l-41.9 88.51 4.71-13.88-35.88-42.16 27.76 93.48-11.78 8.38C95 228.58 101.05 231.87 93.23 231.52c-5.5-.26-13.62 5.5-13.62 5.5L74.63 231c30.56-23.53 31.62-24.33 58.4-42.68l4.19 7.07s-5.76 4.19-7.86 7.07c-5.9 9.28 1.67 13.28 61.8 75.68l-18.85-58.92 39.8-10.21 25.66 30.64 4.45-12.31-4.98-24.62 13.09-3.4.52 3.14 3.67-10.47-94.27 29.33 11.26-4.98-13.62-42.42 17.28-9.17 30.11 36.14 28.54-13.09c-1.41-7.47-2.47-14.5-4.71-19.64l17.28 13.88 4.71-2.09-59.18-42.68 23.08 11.5c18.98-6.07 25.23-7.47 32.21-9.69l2.62 11c-12.55 12.55 1.43 16.82 6.55 19.38l-13.62-61.01 12.05 28.28c4.19-1.31 7.33-2.09 7.33-2.09l2.62 8.64s-3.14 1.05-6.28 2.09l8.9 20.95 33.78-65.73-20.69 61.01c42.42-24.09 81.44-36.66 131.98-35.88 67.04 1.05 167.33 40.85 199.8 139.83.78 2.1-.01 2.63-.79.27zM203.48 152.43s1.83-.52 4.19-1.31l9.43 7.59c-.4 0-3.44-.25-11.26 2.36l-2.36-8.64zm143.76 38.5c-1.57-.6-26.46-4.81-33.26 20.69l21.73 17.02 11.53-37.71zM318.43 67.07c-58.4 0-106.05 12.05-114.96 14.4v.79c8.38 2.09 14.4 4.19 21.21 11.78l1.57.26c6.55-1.83 48.97-13.88 110.24-13.88 180.16 0 301.67 116.79 301.67 223.37v9.95c0 1.31.79 2.62 1.05.52.52-2.09.79-8.64.79-19.64.26-83.79-96.63-227.55-321.57-227.55zm211.06 169.68c1.31-5.76 0-12.31-7.33-13.09-9.62-1.13-16.14 23.79-17.02 33.52-.79 5.5-1.31 14.93 6.02 14.93 4.68-.01 9.72-.91 18.33-35.36zm-61.53 42.95c-2.62-.79-9.43-.79-12.57 10.47-1.83 6.81.52 13.35 6.02 14.66 3.67 1.05 8.9.52 11.78-10.74 2.62-9.94-1.83-13.61-5.23-14.39zM491 300.65c1.83.52 3.14 1.05 5.76 1.83 0-1.83.52-8.38.79-12.05-1.05 1.31-5.5 8.12-6.55 9.95v.27z\"]\n};\nvar faSquareViadeo = {\n prefix: 'fab',\n iconName: 'square-viadeo',\n icon: [448, 512, [\"viadeo-square\"], \"f2aa\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM280.7 381.2c-42.4 46.2-120 46.6-162.4 0-68-73.6-19.8-196.1 81.2-196.1 13.3 0 26.6 2.1 39.1 6.7-4.3 8.4-7.3 17.6-8.4 27.1-9.7-4.1-20.2-6-30.7-6-48.8 0-84.6 41.7-84.6 88.9 0 43 28.5 78.7 69.5 85.9 61.5-24 72.9-117.6 72.9-175 0-7.3 0-14.8-.6-22.1-11.2-32.9-26.6-64.6-44.2-94.5 27.1 18.3 41.9 62.5 44.2 94.1v.4c7.7 22.5 11.8 46.2 11.8 70 0 54.1-21.9 99-68.3 128.2l-2.4.2c50 1 86.2-38.6 86.2-87.2 0-12.2-2.1-24.3-6.9-35.7 9.5-1.9 18.5-5.6 26.4-10.5 15.3 36.6 12.6 87.3-22.8 125.6zM309 233.7c-13.3 0-25.1-7.1-34.4-16.1 21.9-12 49.6-30.7 62.3-53 1.5-3 4.1-8.6 4.5-12-12.5 27.9-44.2 49.8-73.9 56.7-4.7-7.3-7.5-15.5-7.5-24.3 0-10.3 5.2-24.1 12.9-31.6 21.6-20.5 53-8.5 72.4-50 32.5 46.2 13.1 130.3-36.3 130.3z\"]\n};\nvar faViadeoSquare = faSquareViadeo;\nvar faMeetup = {\n prefix: 'fab',\n iconName: 'meetup',\n icon: [512, 512, [], \"f2e0\", \"M99 414.3c1.1 5.7-2.3 11.1-8 12.3-5.4 1.1-10.9-2.3-12-8-1.1-5.4 2.3-11.1 7.7-12.3 5.4-1.2 11.1 2.3 12.3 8zm143.1 71.4c-6.3 4.6-8 13.4-3.7 20 4.6 6.6 13.4 8.3 20 3.7 6.3-4.6 8-13.4 3.4-20-4.2-6.5-13.1-8.3-19.7-3.7zm-86-462.3c6.3-1.4 10.3-7.7 8.9-14-1.1-6.6-7.4-10.6-13.7-9.1-6.3 1.4-10.3 7.7-9.1 14 1.4 6.6 7.6 10.6 13.9 9.1zM34.4 226.3c-10-6.9-23.7-4.3-30.6 6-6.9 10-4.3 24 5.7 30.9 10 7.1 23.7 4.6 30.6-5.7 6.9-10.4 4.3-24.1-5.7-31.2zm272-170.9c10.6-6.3 13.7-20 7.7-30.3-6.3-10.6-19.7-14-30-7.7s-13.7 20-7.4 30.6c6 10.3 19.4 13.7 29.7 7.4zm-191.1 58c7.7-5.4 9.4-16 4.3-23.7s-15.7-9.4-23.1-4.3c-7.7 5.4-9.4 16-4.3 23.7 5.1 7.8 15.6 9.5 23.1 4.3zm372.3 156c-7.4 1.7-12.3 9.1-10.6 16.9 1.4 7.4 8.9 12.3 16.3 10.6 7.4-1.4 12.3-8.9 10.6-16.6-1.5-7.4-8.9-12.3-16.3-10.9zm39.7-56.8c-1.1-5.7-6.6-9.1-12-8-5.7 1.1-9.1 6.9-8 12.6 1.1 5.4 6.6 9.1 12.3 8 5.4-1.5 9.1-6.9 7.7-12.6zM447 138.9c-8.6 6-10.6 17.7-4.9 26.3 5.7 8.6 17.4 10.6 26 4.9 8.3-6 10.3-17.7 4.6-26.3-5.7-8.7-17.4-10.9-25.7-4.9zm-6.3 139.4c26.3 43.1 15.1 100-26.3 129.1-17.4 12.3-37.1 17.7-56.9 17.1-12 47.1-69.4 64.6-105.1 32.6-1.1.9-2.6 1.7-3.7 2.9-39.1 27.1-92.3 17.4-119.4-22.3-9.7-14.3-14.6-30.6-15.1-46.9-65.4-10.9-90-94-41.1-139.7-28.3-46.9.6-107.4 53.4-114.9C151.6 70 234.1 38.6 290.1 82c67.4-22.3 136.3 29.4 130.9 101.1 41.1 12.6 52.8 66.9 19.7 95.2zm-70 74.3c-3.1-20.6-40.9-4.6-43.1-27.1-3.1-32 43.7-101.1 40-128-3.4-24-19.4-29.1-33.4-29.4-13.4-.3-16.9 2-21.4 4.6-2.9 1.7-6.6 4.9-11.7-.3-6.3-6-11.1-11.7-19.4-12.9-12.3-2-17.7 2-26.6 9.7-3.4 2.9-12 12.9-20 9.1-3.4-1.7-15.4-7.7-24-11.4-16.3-7.1-40 4.6-48.6 20-12.9 22.9-38 113.1-41.7 125.1-8.6 26.6 10.9 48.6 36.9 47.1 11.1-.6 18.3-4.6 25.4-17.4 4-7.4 41.7-107.7 44.6-112.6 2-3.4 8.9-8 14.6-5.1 5.7 3.1 6.9 9.4 6 15.1-1.1 9.7-28 70.9-28.9 77.7-3.4 22.9 26.9 26.6 38.6 4 3.7-7.1 45.7-92.6 49.4-98.3 4.3-6.3 7.4-8.3 11.7-8 3.1 0 8.3.9 7.1 10.9-1.4 9.4-35.1 72.3-38.9 87.7-4.6 20.6 6.6 41.4 24.9 50.6 11.4 5.7 62.5 15.7 58.5-11.1zm5.7 92.3c-10.3 7.4-12.9 22-5.7 32.6 7.1 10.6 21.4 13.1 32 6 10.6-7.4 13.1-22 6-32.6-7.4-10.6-21.7-13.5-32.3-6z\"]\n};\nvar faCentos = {\n prefix: 'fab',\n iconName: 'centos',\n icon: [448, 512, [], \"f789\", \"M289.6 97.5l31.6 31.7-76.3 76.5V97.5zm-162.4 31.7l76.3 76.5V97.5h-44.7zm41.5-41.6h44.7v127.9l10.8 10.8 10.8-10.8V87.6h44.7L224.2 32zm26.2 168.1l-10.8-10.8H55.5v-44.8L0 255.7l55.5 55.6v-44.8h128.6l10.8-10.8zm79.3-20.7h107.9v-44.8l-31.6-31.7zm173.3 20.7L392 200.1v44.8H264.3l-10.8 10.8 10.8 10.8H392v44.8l55.5-55.6zM65.4 176.2l32.5-31.7 90.3 90.5h15.3v-15.3l-90.3-90.5 31.6-31.7H65.4zm316.7-78.7h-78.5l31.6 31.7-90.3 90.5V235h15.3l90.3-90.5 31.6 31.7zM203.5 413.9V305.8l-76.3 76.5 31.6 31.7h44.7zM65.4 235h108.8l-76.3-76.5-32.5 31.7zm316.7 100.2l-31.6 31.7-90.3-90.5h-15.3v15.3l90.3 90.5-31.6 31.7h78.5zm0-58.8H274.2l76.3 76.5 31.6-31.7zm-60.9 105.8l-76.3-76.5v108.1h44.7zM97.9 352.9l76.3-76.5H65.4v44.8zm181.8 70.9H235V295.9l-10.8-10.8-10.8 10.8v127.9h-44.7l55.5 55.6zm-166.5-41.6l90.3-90.5v-15.3h-15.3l-90.3 90.5-32.5-31.7v78.7h79.4z\"]\n};\nvar faAdn = {\n prefix: 'fab',\n iconName: 'adn',\n icon: [496, 512, [], \"f170\", \"M248 167.5l64.9 98.8H183.1l64.9-98.8zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-99.8 82.7L248 115.5 99.8 338.7h30.4l33.6-51.7h168.6l33.6 51.7h30.2z\"]\n};\nvar faCloudsmith = {\n prefix: 'fab',\n iconName: 'cloudsmith',\n icon: [332, 512, [], \"f384\", \"M332.5 419.9c0 46.4-37.6 84.1-84 84.1s-84-37.7-84-84.1 37.6-84 84-84 84 37.6 84 84zm-84-243.9c46.4 0 80-37.6 80-84s-33.6-84-80-84-88 37.6-88 84-29.6 76-76 76-84 41.6-84 88 37.6 80 84 80 84-33.6 84-80 33.6-80 80-80z\"]\n};\nvar faPiedPiperAlt = {\n prefix: 'fab',\n iconName: 'pied-piper-alt',\n icon: [576, 512, [], \"f1a8\", \"M244 246c-3.2-2-6.3-2.9-10.1-2.9-6.6 0-12.6 3.2-19.3 3.7l1.7 4.9zm135.9 197.9c-19 0-64.1 9.5-79.9 19.8l6.9 45.1c35.7 6.1 70.1 3.6 106-9.8-4.8-10-23.5-55.1-33-55.1zM340.8 177c6.6 2.8 11.5 9.2 22.7 22.1 2-1.4 7.5-5.2 7.5-8.6 0-4.9-11.8-13.2-13.2-23 11.2-5.7 25.2-6 37.6-8.9 68.1-16.4 116.3-52.9 146.8-116.7C548.3 29.3 554 16.1 554.6 2l-2 2.6c-28.4 50-33 63.2-81.3 100-31.9 24.4-69.2 40.2-106.6 54.6l-6.3-.3v-21.8c-19.6 1.6-19.7-14.6-31.6-23-18.7 20.6-31.6 40.8-58.9 51.1-12.7 4.8-19.6 10-25.9 21.8 34.9-16.4 91.2-13.5 98.8-10zM555.5 0l-.6 1.1-.3.9.6-.6zm-59.2 382.1c-33.9-56.9-75.3-118.4-150-115.5l-.3-6c-1.1-13.5 32.8 3.2 35.1-31l-14.4 7.2c-19.8-45.7-8.6-54.3-65.5-54.3-14.7 0-26.7 1.7-41.4 4.6 2.9 18.6 2.2 36.7-10.9 50.3l19.5 5.5c-1.7 3.2-2.9 6.3-2.9 9.8 0 21 42.8 2.9 42.8 33.6 0 18.4-36.8 60.1-54.9 60.1-8 0-53.7-50-53.4-60.1l.3-4.6 52.3-11.5c13-2.6 12.3-22.7-2.9-22.7-3.7 0-43.1 9.2-49.4 10.6-2-5.2-7.5-14.1-13.8-14.1-3.2 0-6.3 3.2-9.5 4-9.2 2.6-31 2.9-21.5 20.1L15.9 298.5c-5.5 1.1-8.9 6.3-8.9 11.8 0 6 5.5 10.9 11.5 10.9 8 0 131.3-28.4 147.4-32.2 2.6 3.2 4.6 6.3 7.8 8.6 20.1 14.4 59.8 85.9 76.4 85.9 24.1 0 58-22.4 71.3-41.9 3.2-4.3 6.9-7.5 12.4-6.9.6 13.8-31.6 34.2-33 43.7-1.4 10.2-1 35.2-.3 41.1 26.7 8.1 52-3.6 77.9-2.9 4.3-21 10.6-41.9 9.8-63.5l-.3-9.5c-1.4-34.2-10.9-38.5-34.8-58.6-1.1-1.1-2.6-2.6-3.7-4 2.2-1.4 1.1-1 4.6-1.7 88.5 0 56.3 183.6 111.5 229.9 33.1-15 72.5-27.9 103.5-47.2-29-25.6-52.6-45.7-72.7-79.9zm-196.2 46.1v27.2l11.8-3.4-2.9-23.8zm-68.7-150.4l24.1 61.2 21-13.8-31.3-50.9zm84.4 154.9l2 12.4c9-1.5 58.4-6.6 58.4-14.1 0-1.4-.6-3.2-.9-4.6-26.8 0-36.9 3.8-59.5 6.3z\"]\n};\nvar faSquareDribbble = {\n prefix: 'fab',\n iconName: 'square-dribbble',\n icon: [448, 512, [\"dribbble-square\"], \"f397\", \"M90.2 228.2c8.9-42.4 37.4-77.7 75.7-95.7 3.6 4.9 28 38.8 50.7 79-64 17-120.3 16.8-126.4 16.7zM314.6 154c-33.6-29.8-79.3-41.1-122.6-30.6 3.8 5.1 28.6 38.9 51 80 48.6-18.3 69.1-45.9 71.6-49.4zM140.1 364c40.5 31.6 93.3 36.7 137.3 18-2-12-10-53.8-29.2-103.6-55.1 18.8-93.8 56.4-108.1 85.6zm98.8-108.2c-3.4-7.8-7.2-15.5-11.1-23.2C159.6 253 93.4 252.2 87.4 252c0 1.4-.1 2.8-.1 4.2 0 35.1 13.3 67.1 35.1 91.4 22.2-37.9 67.1-77.9 116.5-91.8zm34.9 16.3c17.9 49.1 25.1 89.1 26.5 97.4 30.7-20.7 52.5-53.6 58.6-91.6-4.6-1.5-42.3-12.7-85.1-5.8zm-20.3-48.4c4.8 9.8 8.3 17.8 12 26.8 45.5-5.7 90.7 3.4 95.2 4.4-.3-32.3-11.8-61.9-30.9-85.1-2.9 3.9-25.8 33.2-76.3 53.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 176c0-88.2-71.8-160-160-160S64 167.8 64 256s71.8 160 160 160 160-71.8 160-160z\"]\n};\nvar faDribbbleSquare = faSquareDribbble;\nvar faCodiepie = {\n prefix: 'fab',\n iconName: 'codiepie',\n icon: [472, 512, [], \"f284\", \"M422.5 202.9c30.7 0 33.5 53.1-.3 53.1h-10.8v44.3h-26.6v-97.4h37.7zM472 352.6C429.9 444.5 350.4 504 248 504 111 504 0 393 0 256S111 8 248 8c97.4 0 172.8 53.7 218.2 138.4l-186 108.8L472 352.6zm-38.5 12.5l-60.3-30.7c-27.1 44.3-70.4 71.4-122.4 71.4-82.5 0-149.2-66.7-149.2-148.9 0-82.5 66.7-149.2 149.2-149.2 48.4 0 88.9 23.5 116.9 63.4l59.5-34.6c-40.7-62.6-104.7-100-179.2-100-121.2 0-219.5 98.3-219.5 219.5S126.8 475.5 248 475.5c78.6 0 146.5-42.1 185.5-110.4z\"]\n};\nvar faNode = {\n prefix: 'fab',\n iconName: 'node',\n icon: [640, 512, [], \"f419\", \"M316.3 452c-2.1 0-4.2-.6-6.1-1.6L291 439c-2.9-1.6-1.5-2.2-.5-2.5 3.8-1.3 4.6-1.6 8.7-4 .4-.2 1-.1 1.4.1l14.8 8.8c.5.3 1.3.3 1.8 0L375 408c.5-.3.9-.9.9-1.6v-66.7c0-.7-.3-1.3-.9-1.6l-57.8-33.3c-.5-.3-1.2-.3-1.8 0l-57.8 33.3c-.6.3-.9 1-.9 1.6v66.7c0 .6.4 1.2.9 1.5l15.8 9.1c8.6 4.3 13.9-.8 13.9-5.8v-65.9c0-.9.7-1.7 1.7-1.7h7.3c.9 0 1.7.7 1.7 1.7v65.9c0 11.5-6.2 18-17.1 18-3.3 0-6 0-13.3-3.6l-15.2-8.7c-3.7-2.2-6.1-6.2-6.1-10.5v-66.7c0-4.3 2.3-8.4 6.1-10.5l57.8-33.4c3.7-2.1 8.5-2.1 12.1 0l57.8 33.4c3.7 2.2 6.1 6.2 6.1 10.5v66.7c0 4.3-2.3 8.4-6.1 10.5l-57.8 33.4c-1.7 1.1-3.8 1.7-6 1.7zm46.7-65.8c0-12.5-8.4-15.8-26.2-18.2-18-2.4-19.8-3.6-19.8-7.8 0-3.5 1.5-8.1 14.8-8.1 11.9 0 16.3 2.6 18.1 10.6.2.8.8 1.3 1.6 1.3h7.5c.5 0 .9-.2 1.2-.5.3-.4.5-.8.4-1.3-1.2-13.8-10.3-20.2-28.8-20.2-16.5 0-26.3 7-26.3 18.6 0 12.7 9.8 16.1 25.6 17.7 18.9 1.9 20.4 4.6 20.4 8.3 0 6.5-5.2 9.2-17.4 9.2-15.3 0-18.7-3.8-19.8-11.4-.1-.8-.8-1.4-1.7-1.4h-7.5c-.9 0-1.7.7-1.7 1.7 0 9.7 5.3 21.3 30.6 21.3 18.5 0 29-7.2 29-19.8zm54.5-50.1c0 6.1-5 11.1-11.1 11.1s-11.1-5-11.1-11.1c0-6.3 5.2-11.1 11.1-11.1 6-.1 11.1 4.8 11.1 11.1zm-1.8 0c0-5.2-4.2-9.3-9.4-9.3-5.1 0-9.3 4.1-9.3 9.3 0 5.2 4.2 9.4 9.3 9.4 5.2-.1 9.4-4.3 9.4-9.4zm-4.5 6.2h-2.6c-.1-.6-.5-3.8-.5-3.9-.2-.7-.4-1.1-1.3-1.1h-2.2v5h-2.4v-12.5h4.3c1.5 0 4.4 0 4.4 3.3 0 2.3-1.5 2.8-2.4 3.1 1.7.1 1.8 1.2 2.1 2.8.1 1 .3 2.7.6 3.3zm-2.8-8.8c0-1.7-1.2-1.7-1.8-1.7h-2v3.5h1.9c1.6 0 1.9-1.1 1.9-1.8zM137.3 191c0-2.7-1.4-5.1-3.7-6.4l-61.3-35.3c-1-.6-2.2-.9-3.4-1h-.6c-1.2 0-2.3.4-3.4 1L3.7 184.6C1.4 185.9 0 188.4 0 191l.1 95c0 1.3.7 2.5 1.8 3.2 1.1.7 2.5.7 3.7 0L42 268.3c2.3-1.4 3.7-3.8 3.7-6.4v-44.4c0-2.6 1.4-5.1 3.7-6.4l15.5-8.9c1.2-.7 2.4-1 3.7-1 1.3 0 2.6.3 3.7 1l15.5 8.9c2.3 1.3 3.7 3.8 3.7 6.4v44.4c0 2.6 1.4 5.1 3.7 6.4l36.4 20.9c1.1.7 2.6.7 3.7 0 1.1-.6 1.8-1.9 1.8-3.2l.2-95zM472.5 87.3v176.4c0 2.6-1.4 5.1-3.7 6.4l-61.3 35.4c-2.3 1.3-5.1 1.3-7.4 0l-61.3-35.4c-2.3-1.3-3.7-3.8-3.7-6.4v-70.8c0-2.6 1.4-5.1 3.7-6.4l61.3-35.4c2.3-1.3 5.1-1.3 7.4 0l15.3 8.8c1.7 1 3.9-.3 3.9-2.2v-94c0-2.8 3-4.6 5.5-3.2l36.5 20.4c2.3 1.2 3.8 3.7 3.8 6.4zm-46 128.9c0-.7-.4-1.3-.9-1.6l-21-12.2c-.6-.3-1.3-.3-1.9 0l-21 12.2c-.6.3-.9.9-.9 1.6v24.3c0 .7.4 1.3.9 1.6l21 12.1c.6.3 1.3.3 1.8 0l21-12.1c.6-.3.9-.9.9-1.6v-24.3zm209.8-.7c2.3-1.3 3.7-3.8 3.7-6.4V192c0-2.6-1.4-5.1-3.7-6.4l-60.9-35.4c-2.3-1.3-5.1-1.3-7.4 0l-61.3 35.4c-2.3 1.3-3.7 3.8-3.7 6.4v70.8c0 2.7 1.4 5.1 3.7 6.4l60.9 34.7c2.2 1.3 5 1.3 7.3 0l36.8-20.5c2.5-1.4 2.5-5 0-6.4L550 241.6c-1.2-.7-1.9-1.9-1.9-3.2v-22.2c0-1.3.7-2.5 1.9-3.2l19.2-11.1c1.1-.7 2.6-.7 3.7 0l19.2 11.1c1.1.7 1.9 1.9 1.9 3.2v17.4c0 2.8 3.1 4.6 5.6 3.2l36.7-21.3zM559 219c-.4.3-.7.7-.7 1.2v13.6c0 .5.3 1 .7 1.2l11.8 6.8c.4.3 1 .3 1.4 0L584 235c.4-.3.7-.7.7-1.2v-13.6c0-.5-.3-1-.7-1.2l-11.8-6.8c-.4-.3-1-.3-1.4 0L559 219zm-254.2 43.5v-70.4c0-2.6-1.6-5.1-3.9-6.4l-61.1-35.2c-2.1-1.2-5-1.4-7.4 0l-61.1 35.2c-2.3 1.3-3.9 3.7-3.9 6.4v70.4c0 2.8 1.9 5.2 4 6.4l61.2 35.2c2.4 1.4 5.2 1.3 7.4 0l61-35.2c1.8-1 3.1-2.7 3.6-4.7.1-.5.2-1.1.2-1.7zm-74.3-124.9l-.8.5h1.1l-.3-.5zm76.2 130.2l-.4-.7v.9l.4-.2z\"]\n};\nvar faMix = {\n prefix: 'fab',\n iconName: 'mix',\n icon: [448, 512, [], \"f3cb\", \"M0 64v348.9c0 56.2 88 58.1 88 0V174.3c7.9-52.9 88-50.4 88 6.5v175.3c0 57.9 96 58 96 0V240c5.3-54.7 88-52.5 88 4.3v23.8c0 59.9 88 56.6 88 0V64H0z\"]\n};\nvar faSteam = {\n prefix: 'fab',\n iconName: 'steam',\n icon: [496, 512, [], \"f1b6\", \"M496 256c0 137-111.2 248-248.4 248-113.8 0-209.6-76.3-239-180.4l95.2 39.3c6.4 32.1 34.9 56.4 68.9 56.4 39.2 0 71.9-32.4 70.2-73.5l84.5-60.2c52.1 1.3 95.8-40.9 95.8-93.5 0-51.6-42-93.5-93.7-93.5s-93.7 42-93.7 93.5v1.2L176.6 279c-15.5-.9-30.7 3.4-43.5 12.1L0 236.1C10.2 108.4 117.1 8 247.6 8 384.8 8 496 119 496 256zM155.7 384.3l-30.5-12.6a52.79 52.79 0 0 0 27.2 25.8c26.9 11.2 57.8-1.6 69-28.4 5.4-13 5.5-27.3.1-40.3-5.4-13-15.5-23.2-28.5-28.6-12.9-5.4-26.7-5.2-38.9-.6l31.5 13c19.8 8.2 29.2 30.9 20.9 50.7-8.3 19.9-31 29.2-50.8 21zm173.8-129.9c-34.4 0-62.4-28-62.4-62.3s28-62.3 62.4-62.3 62.4 28 62.4 62.3-27.9 62.3-62.4 62.3zm.1-15.6c25.9 0 46.9-21 46.9-46.8 0-25.9-21-46.8-46.9-46.8s-46.9 21-46.9 46.8c.1 25.8 21.1 46.8 46.9 46.8z\"]\n};\nvar faCcApplePay = {\n prefix: 'fab',\n iconName: 'cc-apple-pay',\n icon: [576, 512, [], \"f416\", \"M302.2 218.4c0 17.2-10.5 27.1-29 27.1h-24.3v-54.2h24.4c18.4 0 28.9 9.8 28.9 27.1zm47.5 62.6c0 8.3 7.2 13.7 18.5 13.7 14.4 0 25.2-9.1 25.2-21.9v-7.7l-23.5 1.5c-13.3.9-20.2 5.8-20.2 14.4zM576 79v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM127.8 197.2c8.4.7 16.8-4.2 22.1-10.4 5.2-6.4 8.6-15 7.7-23.7-7.4.3-16.6 4.9-21.9 11.3-4.8 5.5-8.9 14.4-7.9 22.8zm60.6 74.5c-.2-.2-19.6-7.6-19.8-30-.2-18.7 15.3-27.7 16-28.2-8.8-13-22.4-14.4-27.1-14.7-12.2-.7-22.6 6.9-28.4 6.9-5.9 0-14.7-6.6-24.3-6.4-12.5.2-24.2 7.3-30.5 18.6-13.1 22.6-3.4 56 9.3 74.4 6.2 9.1 13.7 19.1 23.5 18.7 9.3-.4 13-6 24.2-6 11.3 0 14.5 6 24.3 5.9 10.2-.2 16.5-9.1 22.8-18.2 6.9-10.4 9.8-20.4 10-21zm135.4-53.4c0-26.6-18.5-44.8-44.9-44.8h-51.2v136.4h21.2v-46.6h29.3c26.8 0 45.6-18.4 45.6-45zm90 23.7c0-19.7-15.8-32.4-40-32.4-22.5 0-39.1 12.9-39.7 30.5h19.1c1.6-8.4 9.4-13.9 20-13.9 13 0 20.2 6 20.2 17.2v7.5l-26.4 1.6c-24.6 1.5-37.9 11.6-37.9 29.1 0 17.7 13.7 29.4 33.4 29.4 13.3 0 25.6-6.7 31.2-17.4h.4V310h19.6v-68zM516 210.9h-21.5l-24.9 80.6h-.4l-24.9-80.6H422l35.9 99.3-1.9 6c-3.2 10.2-8.5 14.2-17.9 14.2-1.7 0-4.9-.2-6.2-.3v16.4c1.2.4 6.5.5 8.1.5 20.7 0 30.4-7.9 38.9-31.8L516 210.9z\"]\n};\nvar faScribd = {\n prefix: 'fab',\n iconName: 'scribd',\n icon: [384, 512, [], \"f28a\", \"M42.3 252.7c-16.1-19-24.7-45.9-24.8-79.9 0-100.4 75.2-153.1 167.2-153.1 98.6-1.6 156.8 49 184.3 70.6l-50.5 72.1-37.3-24.6 26.9-38.6c-36.5-24-79.4-36.5-123-35.8-50.7-.8-111.7 27.2-111.7 76.2 0 18.7 11.2 20.7 28.6 15.6 23.3-5.3 41.9.6 55.8 14 26.4 24.3 23.2 67.6-.7 91.9-29.2 29.5-85.2 27.3-114.8-8.4zm317.7 5.9c-15.5-18.8-38.9-29.4-63.2-28.6-38.1-2-71.1 28-70.5 67.2-.7 16.8 6 33 18.4 44.3 14.1 13.9 33 19.7 56.3 14.4 17.4-5.1 28.6-3.1 28.6 15.6 0 4.3-.5 8.5-1.4 12.7-16.7 40.9-59.5 64.4-121.4 64.4-51.9.2-102.4-16.4-144.1-47.3l33.7-39.4-35.6-27.4L0 406.3l15.4 13.8c52.5 46.8 120.4 72.5 190.7 72.2 51.4 0 94.4-10.5 133.6-44.1 57.1-51.4 54.2-149.2 20.3-189.6z\"]\n};\nvar faOpenid = {\n prefix: 'fab',\n iconName: 'openid',\n icon: [448, 512, [], \"f19b\", \"M271.5 432l-68 32C88.5 453.7 0 392.5 0 318.2c0-71.5 82.5-131 191.7-144.3v43c-71.5 12.5-124 53-124 101.3 0 51 58.5 93.3 135.7 103v-340l68-33.2v384zM448 291l-131.3-28.5 36.8-20.7c-19.5-11.5-43.5-20-70-24.8v-43c46.2 5.5 87.7 19.5 120.3 39.3l35-19.8L448 291z\"]\n};\nvar faInstalod = {\n prefix: 'fab',\n iconName: 'instalod',\n icon: [512, 512, [], \"e081\", \"M153.384,480H387.113L502.554,275.765,204.229,333.211ZM504.726,240.078,387.113,32H155.669L360.23,267.9ZM124.386,48.809,7.274,256,123.236,461.154,225.627,165.561Z\"]\n};\nvar faExpeditedssl = {\n prefix: 'fab',\n iconName: 'expeditedssl',\n icon: [496, 512, [], \"f23e\", \"M248 43.4C130.6 43.4 35.4 138.6 35.4 256S130.6 468.6 248 468.6 460.6 373.4 460.6 256 365.4 43.4 248 43.4zm-97.4 132.9c0-53.7 43.7-97.4 97.4-97.4s97.4 43.7 97.4 97.4v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6c0-82.1-124-82.1-124 0v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6zM389.7 380c0 9.7-8 17.7-17.7 17.7H124c-9.7 0-17.7-8-17.7-17.7V238.3c0-9.7 8-17.7 17.7-17.7h248c9.7 0 17.7 8 17.7 17.7V380zm-248-137.3v132.9c0 2.5-1.9 4.4-4.4 4.4h-8.9c-2.5 0-4.4-1.9-4.4-4.4V242.7c0-2.5 1.9-4.4 4.4-4.4h8.9c2.5 0 4.4 1.9 4.4 4.4zm141.7 48.7c0 13-7.2 24.4-17.7 30.4v31.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-31.6c-10.5-6.1-17.7-17.4-17.7-30.4 0-19.7 15.8-35.4 35.4-35.4s35.5 15.8 35.5 35.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 478.3C121 486.3 17.7 383 17.7 256S121 25.7 248 25.7 478.3 129 478.3 256 375 486.3 248 486.3z\"]\n};\nvar faSellcast = {\n prefix: 'fab',\n iconName: 'sellcast',\n icon: [448, 512, [], \"f2da\", \"M353.4 32H94.7C42.6 32 0 74.6 0 126.6v258.7C0 437.4 42.6 480 94.7 480h258.7c52.1 0 94.7-42.6 94.7-94.6V126.6c0-52-42.6-94.6-94.7-94.6zm-50 316.4c-27.9 48.2-89.9 64.9-138.2 37.2-22.9 39.8-54.9 8.6-42.3-13.2l15.7-27.2c5.9-10.3 19.2-13.9 29.5-7.9 18.6 10.8-.1-.1 18.5 10.7 27.6 15.9 63.4 6.3 79.4-21.3 15.9-27.6 6.3-63.4-21.3-79.4-17.8-10.2-.6-.4-18.6-10.6-24.6-14.2-3.4-51.9 21.6-37.5 18.6 10.8-.1-.1 18.5 10.7 48.4 28 65.1 90.3 37.2 138.5zm21.8-208.8c-17 29.5-16.3 28.8-19 31.5-6.5 6.5-16.3 8.7-26.5 3.6-18.6-10.8.1.1-18.5-10.7-27.6-15.9-63.4-6.3-79.4 21.3s-6.3 63.4 21.3 79.4c0 0 18.5 10.6 18.6 10.6 24.6 14.2 3.4 51.9-21.6 37.5-18.6-10.8.1.1-18.5-10.7-48.2-27.8-64.9-90.1-37.1-138.4 27.9-48.2 89.9-64.9 138.2-37.2l4.8-8.4c14.3-24.9 52-3.3 37.7 21.5z\"]\n};\nvar faSquareTwitter = {\n prefix: 'fab',\n iconName: 'square-twitter',\n icon: [448, 512, [\"twitter-square\"], \"f081\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z\"]\n};\nvar faTwitterSquare = faSquareTwitter;\nvar faRProject = {\n prefix: 'fab',\n iconName: 'r-project',\n icon: [581, 512, [], \"f4f7\", \"M581 226.6C581 119.1 450.9 32 290.5 32S0 119.1 0 226.6C0 322.4 103.3 402 239.4 418.1V480h99.1v-61.5c24.3-2.7 47.6-7.4 69.4-13.9L448 480h112l-67.4-113.7c54.5-35.4 88.4-84.9 88.4-139.7zm-466.8 14.5c0-73.5 98.9-133 220.8-133s211.9 40.7 211.9 133c0 50.1-26.5 85-70.3 106.4-2.4-1.6-4.7-2.9-6.4-3.7-10.2-5.2-27.8-10.5-27.8-10.5s86.6-6.4 86.6-92.7-90.6-87.9-90.6-87.9h-199V361c-74.1-21.5-125.2-67.1-125.2-119.9zm225.1 38.3v-55.6c57.8 0 87.8-6.8 87.8 27.3 0 36.5-38.2 28.3-87.8 28.3zm-.9 72.5H365c10.8 0 18.9 11.7 24 19.2-16.1 1.9-33 2.8-50.6 2.9v-22.1z\"]\n};\nvar faDelicious = {\n prefix: 'fab',\n iconName: 'delicious',\n icon: [448, 512, [], \"f1a5\", \"M446.5 68c-.4-1.5-.9-3-1.4-4.5-.9-2.5-2-4.8-3.3-7.1-1.4-2.4-3-4.8-4.7-6.9-2.1-2.5-4.4-4.8-6.9-6.8-1.1-.9-2.2-1.7-3.3-2.5-1.3-.9-2.6-1.7-4-2.4-1.8-1-3.6-1.8-5.5-2.5-1.7-.7-3.5-1.3-5.4-1.7-3.8-1-7.9-1.5-12-1.5H48C21.5 32 0 53.5 0 80v352c0 4.1.5 8.2 1.5 12 2 7.7 5.8 14.6 11 20.3 1 1.1 2.1 2.2 3.3 3.3 5.7 5.2 12.6 9 20.3 11 3.8 1 7.9 1.5 12 1.5h352c26.5 0 48-21.5 48-48V80c-.1-4.1-.6-8.2-1.6-12zM416 432c0 8.8-7.2 16-16 16H224V256H32V80c0-8.8 7.2-16 16-16h176v192h192z\"]\n};\nvar faFreebsd = {\n prefix: 'fab',\n iconName: 'freebsd',\n icon: [448, 512, [], \"f3a4\", \"M303.7 96.2c11.1-11.1 115.5-77 139.2-53.2 23.7 23.7-42.1 128.1-53.2 139.2-11.1 11.1-39.4.9-63.1-22.9-23.8-23.7-34.1-52-22.9-63.1zM109.9 68.1C73.6 47.5 22 24.6 5.6 41.1c-16.6 16.6 7.1 69.4 27.9 105.7 18.5-32.2 44.8-59.3 76.4-78.7zM406.7 174c3.3 11.3 2.7 20.7-2.7 26.1-20.3 20.3-87.5-27-109.3-70.1-18-32.3-11.1-53.4 14.9-48.7 5.7-3.6 12.3-7.6 19.6-11.6-29.8-15.5-63.6-24.3-99.5-24.3-119.1 0-215.6 96.5-215.6 215.6 0 119 96.5 215.6 215.6 215.6S445.3 380.1 445.3 261c0-38.4-10.1-74.5-27.7-105.8-3.9 7-7.6 13.3-10.9 18.8z\"]\n};\nvar faVuejs = {\n prefix: 'fab',\n iconName: 'vuejs',\n icon: [448, 512, [], \"f41f\", \"M356.9 64.3H280l-56 88.6-48-88.6H0L224 448 448 64.3h-91.1zm-301.2 32h53.8L224 294.5 338.4 96.3h53.8L224 384.5 55.7 96.3z\"]\n};\nvar faAccusoft = {\n prefix: 'fab',\n iconName: 'accusoft',\n icon: [640, 512, [], \"f369\", \"M322.1 252v-1l-51.2-65.8s-12 1.6-25 15.1c-9 9.3-242.1 239.1-243.4 240.9-7 10 1.6 6.8 15.7 1.7.8 0 114.5-36.6 114.5-36.6.5-.6-.1-.1.6-.6-.4-5.1-.8-26.2-1-27.7-.6-5.2 2.2-6.9 7-8.9l92.6-33.8c.6-.8 88.5-81.7 90.2-83.3zm160.1 120.1c13.3 16.1 20.7 13.3 30.8 9.3 3.2-1.2 115.4-47.6 117.8-48.9 8-4.3-1.7-16.7-7.2-23.4-2.1-2.5-205.1-245.6-207.2-248.3-9.7-12.2-14.3-12.9-38.4-12.8-10.2 0-106.8.5-116.5.6-19.2.1-32.9-.3-19.2 16.9C250 75 476.5 365.2 482.2 372.1zm152.7 1.6c-2.3-.3-24.6-4.7-38-7.2 0 0-115 50.4-117.5 51.6-16 7.3-26.9-3.2-36.7-14.6l-57.1-74c-5.4-.9-60.4-9.6-65.3-9.3-3.1.2-9.6.8-14.4 2.9-4.9 2.1-145.2 52.8-150.2 54.7-5.1 2-11.4 3.6-11.1 7.6.2 2.5 2 2.6 4.6 3.5 2.7.8 300.9 67.6 308 69.1 15.6 3.3 38.5 10.5 53.6 1.7 2.1-1.2 123.8-76.4 125.8-77.8 5.4-4 4.3-6.8-1.7-8.2z\"]\n};\nvar faIoxhost = {\n prefix: 'fab',\n iconName: 'ioxhost',\n icon: [640, 512, [], \"f208\", \"M616 160h-67.3C511.2 70.7 422.9 8 320 8 183 8 72 119 72 256c0 16.4 1.6 32.5 4.7 48H24c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h67.3c37.5 89.3 125.8 152 228.7 152 137 0 248-111 248-248 0-16.4-1.6-32.5-4.7-48H616c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24zm-96 96c0 110.5-89.5 200-200 200-75.7 0-141.6-42-175.5-104H424c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24H125.8c-3.8-15.4-5.8-31.4-5.8-48 0-110.5 89.5-200 200-200 75.7 0 141.6 42 175.5 104H216c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h298.2c3.8 15.4 5.8 31.4 5.8 48zm-304-24h208c13.3 0 24 10.7 24 24 0 13.2-10.7 24-24 24H216c-13.3 0-24-10.7-24-24 0-13.2 10.7-24 24-24z\"]\n};\nvar faFonticonsFi = {\n prefix: 'fab',\n iconName: 'fonticons-fi',\n icon: [384, 512, [], \"f3a2\", \"M114.4 224h92.4l-15.2 51.2h-76.4V433c0 8-2.8 9.2 4.4 10l59.6 5.6V483H0v-35.2l29.2-2.8c7.2-.8 9.2-3.2 9.2-10.8V278.4c0-3.2-4-3.2-8-3.2H0V224h38.4v-28.8c0-68 36.4-96 106-96 46.8 0 88.8 11.2 88.8 72.4l-69.6 8.4c.4-25.6-6-31.6-22.4-31.6-25.2 0-26 13.6-26 37.6v32c0 3.2-4.8 6-.8 6zM384 483H243.2v-34.4l28-3.6c7.2-.8 10.4-2.4 10.4-10V287c0-5.6-4-9.2-9.2-10.8l-33.2-8.8 9.2-40.4h110v208c0 8-3.6 8.8 4 10l21.6 3.6V483zm-30-347.2l12.4 45.6-10 10-42.8-22.8-42.8 22.8-10-10 12.4-45.6-30-36.4 4.8-10h38L307.2 51H320l21.2 38.4h38l4.8 13.2-30 33.2z\"]\n};\nvar faAppStore = {\n prefix: 'fab',\n iconName: 'app-store',\n icon: [512, 512, [], \"f36f\", \"M255.9 120.9l9.1-15.7c5.6-9.8 18.1-13.1 27.9-7.5 9.8 5.6 13.1 18.1 7.5 27.9l-87.5 151.5h63.3c20.5 0 32 24.1 23.1 40.8H113.8c-11.3 0-20.4-9.1-20.4-20.4 0-11.3 9.1-20.4 20.4-20.4h52l66.6-115.4-20.8-36.1c-5.6-9.8-2.3-22.2 7.5-27.9 9.8-5.6 22.2-2.3 27.9 7.5l8.9 15.7zm-78.7 218l-19.6 34c-5.6 9.8-18.1 13.1-27.9 7.5-9.8-5.6-13.1-18.1-7.5-27.9l14.6-25.2c16.4-5.1 29.8-1.2 40.4 11.6zm168.9-61.7h53.1c11.3 0 20.4 9.1 20.4 20.4 0 11.3-9.1 20.4-20.4 20.4h-29.5l19.9 34.5c5.6 9.8 2.3 22.2-7.5 27.9-9.8 5.6-22.2 2.3-27.9-7.5-33.5-58.1-58.7-101.6-75.4-130.6-17.1-29.5-4.9-59.1 7.2-69.1 13.4 23 33.4 57.7 60.1 104zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm216 248c0 118.7-96.1 216-216 216-118.7 0-216-96.1-216-216 0-118.7 96.1-216 216-216 118.7 0 216 96.1 216 216z\"]\n};\nvar faCcMastercard = {\n prefix: 'fab',\n iconName: 'cc-mastercard',\n icon: [576, 512, [], \"f1f1\", \"M482.9 410.3c0 6.8-4.6 11.7-11.2 11.7-6.8 0-11.2-5.2-11.2-11.7 0-6.5 4.4-11.7 11.2-11.7 6.6 0 11.2 5.2 11.2 11.7zm-310.8-11.7c-7.1 0-11.2 5.2-11.2 11.7 0 6.5 4.1 11.7 11.2 11.7 6.5 0 10.9-4.9 10.9-11.7-.1-6.5-4.4-11.7-10.9-11.7zm117.5-.3c-5.4 0-8.7 3.5-9.5 8.7h19.1c-.9-5.7-4.4-8.7-9.6-8.7zm107.8.3c-6.8 0-10.9 5.2-10.9 11.7 0 6.5 4.1 11.7 10.9 11.7 6.8 0 11.2-4.9 11.2-11.7 0-6.5-4.4-11.7-11.2-11.7zm105.9 26.1c0 .3.3.5.3 1.1 0 .3-.3.5-.3 1.1-.3.3-.3.5-.5.8-.3.3-.5.5-1.1.5-.3.3-.5.3-1.1.3-.3 0-.5 0-1.1-.3-.3 0-.5-.3-.8-.5-.3-.3-.5-.5-.5-.8-.3-.5-.3-.8-.3-1.1 0-.5 0-.8.3-1.1 0-.5.3-.8.5-1.1.3-.3.5-.3.8-.5.5-.3.8-.3 1.1-.3.5 0 .8 0 1.1.3.5.3.8.3 1.1.5s.2.6.5 1.1zm-2.2 1.4c.5 0 .5-.3.8-.3.3-.3.3-.5.3-.8 0-.3 0-.5-.3-.8-.3 0-.5-.3-1.1-.3h-1.6v3.5h.8V426h.3l1.1 1.4h.8l-1.1-1.3zM576 81v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V81c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM64 220.6c0 76.5 62.1 138.5 138.5 138.5 27.2 0 53.9-8.2 76.5-23.1-72.9-59.3-72.4-171.2 0-230.5-22.6-15-49.3-23.1-76.5-23.1-76.4-.1-138.5 62-138.5 138.2zm224 108.8c70.5-55 70.2-162.2 0-217.5-70.2 55.3-70.5 162.6 0 217.5zm-142.3 76.3c0-8.7-5.7-14.4-14.7-14.7-4.6 0-9.5 1.4-12.8 6.5-2.4-4.1-6.5-6.5-12.2-6.5-3.8 0-7.6 1.4-10.6 5.4V392h-8.2v36.7h8.2c0-18.9-2.5-30.2 9-30.2 10.2 0 8.2 10.2 8.2 30.2h7.9c0-18.3-2.5-30.2 9-30.2 10.2 0 8.2 10 8.2 30.2h8.2v-23zm44.9-13.7h-7.9v4.4c-2.7-3.3-6.5-5.4-11.7-5.4-10.3 0-18.2 8.2-18.2 19.3 0 11.2 7.9 19.3 18.2 19.3 5.2 0 9-1.9 11.7-5.4v4.6h7.9V392zm40.5 25.6c0-15-22.9-8.2-22.9-15.2 0-5.7 11.9-4.8 18.5-1.1l3.3-6.5c-9.4-6.1-30.2-6-30.2 8.2 0 14.3 22.9 8.3 22.9 15 0 6.3-13.5 5.8-20.7.8l-3.5 6.3c11.2 7.6 32.6 6 32.6-7.5zm35.4 9.3l-2.2-6.8c-3.8 2.1-12.2 4.4-12.2-4.1v-16.6h13.1V392h-13.1v-11.2h-8.2V392h-7.6v7.3h7.6V416c0 17.6 17.3 14.4 22.6 10.9zm13.3-13.4h27.5c0-16.2-7.4-22.6-17.4-22.6-10.6 0-18.2 7.9-18.2 19.3 0 20.5 22.6 23.9 33.8 14.2l-3.8-6c-7.8 6.4-19.6 5.8-21.9-4.9zm59.1-21.5c-4.6-2-11.6-1.8-15.2 4.4V392h-8.2v36.7h8.2V408c0-11.6 9.5-10.1 12.8-8.4l2.4-7.6zm10.6 18.3c0-11.4 11.6-15.1 20.7-8.4l3.8-6.5c-11.6-9.1-32.7-4.1-32.7 15 0 19.8 22.4 23.8 32.7 15l-3.8-6.5c-9.2 6.5-20.7 2.6-20.7-8.6zm66.7-18.3H408v4.4c-8.3-11-29.9-4.8-29.9 13.9 0 19.2 22.4 24.7 29.9 13.9v4.6h8.2V392zm33.7 0c-2.4-1.2-11-2.9-15.2 4.4V392h-7.9v36.7h7.9V408c0-11 9-10.3 12.8-8.4l2.4-7.6zm40.3-14.9h-7.9v19.3c-8.2-10.9-29.9-5.1-29.9 13.9 0 19.4 22.5 24.6 29.9 13.9v4.6h7.9v-51.7zm7.6-75.1v4.6h.8V302h1.9v-.8h-4.6v.8h1.9zm6.6 123.8c0-.5 0-1.1-.3-1.6-.3-.3-.5-.8-.8-1.1-.3-.3-.8-.5-1.1-.8-.5 0-1.1-.3-1.6-.3-.3 0-.8.3-1.4.3-.5.3-.8.5-1.1.8-.5.3-.8.8-.8 1.1-.3.5-.3 1.1-.3 1.6 0 .3 0 .8.3 1.4 0 .3.3.8.8 1.1.3.3.5.5 1.1.8.5.3 1.1.3 1.4.3.5 0 1.1 0 1.6-.3.3-.3.8-.5 1.1-.8.3-.3.5-.8.8-1.1.3-.6.3-1.1.3-1.4zm3.2-124.7h-1.4l-1.6 3.5-1.6-3.5h-1.4v5.4h.8v-4.1l1.6 3.5h1.1l1.4-3.5v4.1h1.1v-5.4zm4.4-80.5c0-76.2-62.1-138.3-138.5-138.3-27.2 0-53.9 8.2-76.5 23.1 72.1 59.3 73.2 171.5 0 230.5 22.6 15 49.5 23.1 76.5 23.1 76.4.1 138.5-61.9 138.5-138.4z\"]\n};\nvar faItunesNote = {\n prefix: 'fab',\n iconName: 'itunes-note',\n icon: [384, 512, [], \"f3b5\", \"M381.9 388.2c-6.4 27.4-27.2 42.8-55.1 48-24.5 4.5-44.9 5.6-64.5-10.2-23.9-20.1-24.2-53.4-2.7-74.4 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 6.4-7.2 4.4-4.1 4.4-163.2 0-11.2-5.5-14.3-17-12.3-8.2 1.4-185.7 34.6-185.7 34.6-10.2 2.2-13.4 5.2-13.4 16.7 0 234.7 1.1 223.9-2.5 239.5-4.2 18.2-15.4 31.9-30.2 39.5-16.8 9.3-47.2 13.4-63.4 10.4-43.2-8.1-58.4-58-29.1-86.6 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 10.1-11.5 1.8-256.6 5.2-270.2.8-5.2 3-9.6 7.1-12.9 4.2-3.5 11.8-5.5 13.4-5.5 204-38.2 228.9-43.1 232.4-43.1 11.5-.8 18.1 6 18.1 17.6.2 344.5 1.1 326-1.8 338.5z\"]\n};\nvar faGolang = {\n prefix: 'fab',\n iconName: 'golang',\n icon: [640, 512, [], \"e40f\", \"M400.1 194.8C389.2 197.6 380.2 199.1 371 202.4C363.7 204.3 356.3 206.3 347.8 208.5L347.2 208.6C343 209.8 342.6 209.9 338.7 205.4C334 200.1 330.6 196.7 324.1 193.5C304.4 183.9 285.4 186.7 267.7 198.2C246.5 211.9 235.6 232.2 235.9 257.4C236.2 282.4 253.3 302.9 277.1 306.3C299.1 309.1 316.9 301.7 330.9 285.8C333 283.2 334.9 280.5 337 277.5V277.5L337 277.5C337.8 276.5 338.5 275.4 339.3 274.2H279.2C272.7 274.2 271.1 270.2 273.3 264.9C277.3 255.2 284.8 239 289.2 230.9C290.1 229.1 292.3 225.1 296.1 225.1H397.2C401.7 211.7 409 198.2 418.8 185.4C441.5 155.5 468.1 139.9 506 133.4C537.8 127.8 567.7 130.9 594.9 149.3C619.5 166.1 634.7 188.9 638.8 218.8C644.1 260.9 631.9 295.1 602.1 324.4C582.4 345.3 557.2 358.4 528.2 364.3C522.6 365.3 517.1 365.8 511.7 366.3C508.8 366.5 506 366.8 503.2 367.1C474.9 366.5 449 358.4 427.2 339.7C411.9 326.4 401.3 310.1 396.1 291.2C392.4 298.5 388.1 305.6 382.1 312.3C360.5 341.9 331.2 360.3 294.2 365.2C263.6 369.3 235.3 363.4 210.3 344.7C187.3 327.2 174.2 304.2 170.8 275.5C166.7 241.5 176.7 210.1 197.2 184.2C219.4 155.2 248.7 136.8 284.5 130.3C313.8 124.1 341.8 128.4 367.1 145.6C383.6 156.5 395.4 171.4 403.2 189.5C405.1 192.3 403.8 193.9 400.1 194.8zM48.3 200.4C47.05 200.4 46.74 199.8 47.36 198.8L53.91 190.4C54.53 189.5 56.09 188.9 57.34 188.9H168.6C169.8 188.9 170.1 189.8 169.5 190.7L164.2 198.8C163.6 199.8 162 200.7 161.1 200.7L48.3 200.4zM1.246 229.1C0 229.1-.3116 228.4 .3116 227.5L6.855 219.1C7.479 218.2 9.037 217.5 10.28 217.5H152.4C153.6 217.5 154.2 218.5 153.9 219.4L151.4 226.9C151.1 228.1 149.9 228.8 148.6 228.8L1.246 229.1zM75.72 255.9C75.1 256.8 75.41 257.7 76.65 257.7L144.6 258C145.5 258 146.8 257.1 146.8 255.9L147.4 248.4C147.4 247.1 146.8 246.2 145.5 246.2H83.2C81.95 246.2 80.71 247.1 80.08 248.1L75.72 255.9zM577.2 237.9C577 235.3 576.9 233.1 576.5 230.9C570.9 200.1 542.5 182.6 512.9 189.5C483.9 196 465.2 214.4 458.4 243.7C452.8 268 464.6 292.6 487 302.6C504.2 310.1 521.3 309.2 537.8 300.7C562.4 287.1 575.8 268 577.4 241.2C577.3 240 577.3 238.9 577.2 237.9z\"]\n};\nvar faKickstarter = {\n prefix: 'fab',\n iconName: 'kickstarter',\n icon: [448, 512, [], \"f3bb\", \"M400 480H48c-26.4 0-48-21.6-48-48V80c0-26.4 21.6-48 48-48h352c26.4 0 48 21.6 48 48v352c0 26.4-21.6 48-48 48zM199.6 178.5c0-30.7-17.6-45.1-39.7-45.1-25.8 0-40 19.8-40 44.5v154.8c0 25.8 13.7 45.6 40.5 45.6 21.5 0 39.2-14 39.2-45.6v-41.8l60.6 75.7c12.3 14.9 39 16.8 55.8 0 14.6-15.1 14.8-36.8 4-50.4l-49.1-62.8 40.5-58.7c9.4-13.5 9.5-34.5-5.6-49.1-16.4-15.9-44.6-17.3-61.4 7l-44.8 64.7v-38.8z\"]\n};\nvar faGrav = {\n prefix: 'fab',\n iconName: 'grav',\n icon: [512, 512, [], \"f2d6\", \"M301.1 212c4.4 4.4 4.4 11.9 0 16.3l-9.7 9.7c-4.4 4.7-11.9 4.7-16.6 0l-10.5-10.5c-4.4-4.7-4.4-11.9 0-16.6l9.7-9.7c4.4-4.4 11.9-4.4 16.6 0l10.5 10.8zm-30.2-19.7c3-3 3-7.8 0-10.5-2.8-3-7.5-3-10.5 0-2.8 2.8-2.8 7.5 0 10.5 3.1 2.8 7.8 2.8 10.5 0zm-26 5.3c-3 2.8-3 7.5 0 10.2 2.8 3 7.5 3 10.5 0 2.8-2.8 2.8-7.5 0-10.2-3-3-7.7-3-10.5 0zm72.5-13.3c-19.9-14.4-33.8-43.2-11.9-68.1 21.6-24.9 40.7-17.2 59.8.8 11.9 11.3 29.3 24.9 17.2 48.2-12.5 23.5-45.1 33.2-65.1 19.1zm47.7-44.5c-8.9-10-23.3 6.9-15.5 16.1 7.4 9 32.1 2.4 15.5-16.1zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-66.2 42.6c2.5-16.1-20.2-16.6-25.2-25.7-13.6-24.1-27.7-36.8-54.5-30.4 11.6-8 23.5-6.1 23.5-6.1.3-6.4 0-13-9.4-24.9 3.9-12.5.3-22.4.3-22.4 15.5-8.6 26.8-24.4 29.1-43.2 3.6-31-18.8-59.2-49.8-62.8-22.1-2.5-43.7 7.7-54.3 25.7-23.2 40.1 1.4 70.9 22.4 81.4-14.4-1.4-34.3-11.9-40.1-34.3-6.6-25.7 2.8-49.8 8.9-61.4 0 0-4.4-5.8-8-8.9 0 0-13.8 0-24.6 5.3 11.9-15.2 25.2-14.4 25.2-14.4 0-6.4-.6-14.9-3.6-21.6-5.4-11-23.8-12.9-31.7 2.8.1-.2.3-.4.4-.5-5 11.9-1.1 55.9 16.9 87.2-2.5 1.4-9.1 6.1-13 10-21.6 9.7-56.2 60.3-56.2 60.3-28.2 10.8-77.2 50.9-70.6 79.7.3 3 1.4 5.5 3 7.5-2.8 2.2-5.5 5-8.3 8.3-11.9 13.8-5.3 35.2 17.7 24.4 15.8-7.2 29.6-20.2 36.3-30.4 0 0-5.5-5-16.3-4.4 27.7-6.6 34.3-9.4 46.2-9.1 8 3.9 8-34.3 8-34.3 0-14.7-2.2-31-11.1-41.5 12.5 12.2 29.1 32.7 28 60.6-.8 18.3-15.2 23-15.2 23-9.1 16.6-43.2 65.9-30.4 106 0 0-9.7-14.9-10.2-22.1-17.4 19.4-46.5 52.3-24.6 64.5 26.6 14.7 108.8-88.6 126.2-142.3 34.6-20.8 55.4-47.3 63.9-65 22 43.5 95.3 94.5 101.1 59z\"]\n};\nvar faWeibo = {\n prefix: 'fab',\n iconName: 'weibo',\n icon: [512, 512, [], \"f18a\", \"M407 177.6c7.6-24-13.4-46.8-37.4-41.7-22 4.8-28.8-28.1-7.1-32.8 50.1-10.9 92.3 37.1 76.5 84.8-6.8 21.2-38.8 10.8-32-10.3zM214.8 446.7C108.5 446.7 0 395.3 0 310.4c0-44.3 28-95.4 76.3-143.7C176 67 279.5 65.8 249.9 161c-4 13.1 12.3 5.7 12.3 6 79.5-33.6 140.5-16.8 114 51.4-3.7 9.4 1.1 10.9 8.3 13.1 135.7 42.3 34.8 215.2-169.7 215.2zm143.7-146.3c-5.4-55.7-78.5-94-163.4-85.7-84.8 8.6-148.8 60.3-143.4 116s78.5 94 163.4 85.7c84.8-8.6 148.8-60.3 143.4-116zM347.9 35.1c-25.9 5.6-16.8 43.7 8.3 38.3 72.3-15.2 134.8 52.8 111.7 124-7.4 24.2 29.1 37 37.4 12 31.9-99.8-55.1-195.9-157.4-174.3zm-78.5 311c-17.1 38.8-66.8 60-109.1 46.3-40.8-13.1-58-53.4-40.3-89.7 17.7-35.4 63.1-55.4 103.4-45.1 42 10.8 63.1 50.2 46 88.5zm-86.3-30c-12.9-5.4-30 .3-38 12.9-8.3 12.9-4.3 28 8.6 34 13.1 6 30.8.3 39.1-12.9 8-13.1 3.7-28.3-9.7-34zm32.6-13.4c-5.1-1.7-11.4.6-14.3 5.4-2.9 5.1-1.4 10.6 3.7 12.9 5.1 2 11.7-.3 14.6-5.4 2.8-5.2 1.1-10.9-4-12.9z\"]\n};\nvar faUncharted = {\n prefix: 'fab',\n iconName: 'uncharted',\n icon: [448, 512, [], \"e084\", \"M171.73,232.813A5.381,5.381,0,0,0,176.7,229.5,48.081,48.081,0,0,1,191.6,204.244c1.243-.828,1.657-2.484,1.657-4.141a4.22,4.22,0,0,0-2.071-3.312L74.429,128.473,148.958,85a9.941,9.941,0,0,0,4.968-8.281,9.108,9.108,0,0,0-4.968-8.281L126.6,55.6a9.748,9.748,0,0,0-9.523,0l-100.2,57.966a9.943,9.943,0,0,0-4.969,8.281V236.954a9.109,9.109,0,0,0,4.969,8.281L39.235,258.07a8.829,8.829,0,0,0,4.968,1.242,9.4,9.4,0,0,0,6.625-2.484,10.8,10.8,0,0,0,2.9-7.039V164.5L169.66,232.4A4.5,4.5,0,0,0,171.73,232.813ZM323.272,377.73a12.478,12.478,0,0,0-4.969,1.242l-74.528,43.062V287.882c0-2.9-2.9-5.8-6.211-4.555a53.036,53.036,0,0,1-28.984.414,4.86,4.86,0,0,0-6.21,4.555V421.619l-74.529-43.061a8.83,8.83,0,0,0-4.969-1.242,9.631,9.631,0,0,0-9.523,9.523v26.085a9.107,9.107,0,0,0,4.969,8.281l100.2,57.553A8.829,8.829,0,0,0,223.486,480a11.027,11.027,0,0,0,4.969-1.242l100.2-57.553a9.941,9.941,0,0,0,4.968-8.281V386.839C332.8,382.285,328.24,377.73,323.272,377.73ZM286.007,78a23,23,0,1,0-23-23A23,23,0,0,0,286.007,78Zm63.627-10.086a23,23,0,1,0,23,23A23,23,0,0,0,349.634,67.914ZM412.816,151.6a23,23,0,1,0-23-23A23,23,0,0,0,412.816,151.6Zm-63.182-9.2a23,23,0,1,0,23,23A23,23,0,0,0,349.634,142.4Zm-63.627,83.244a23,23,0,1,0-23-23A23,23,0,0,0,286.007,225.648Zm-62.074,36.358a23,23,0,1,0-23-23A23,23,0,0,0,223.933,262.006Zm188.883-82.358a23,23,0,1,0,23,23A23,23,0,0,0,412.816,179.648Zm0,72.272a23,23,0,1,0,23,23A23,23,0,0,0,412.816,251.92Z\"]\n};\nvar faFirstdraft = {\n prefix: 'fab',\n iconName: 'firstdraft',\n icon: [384, 512, [], \"f3a1\", \"M384 192h-64v128H192v128H0v-25.6h166.4v-128h128v-128H384V192zm-25.6 38.4v128h-128v128H64V512h192V384h128V230.4h-25.6zm25.6 192h-89.6V512H320v-64h64v-25.6zM0 0v384h128V256h128V128h128V0H0z\"]\n};\nvar faSquareYoutube = {\n prefix: 'fab',\n iconName: 'square-youtube',\n icon: [448, 512, [61798, \"youtube-square\"], \"f431\", \"M186.8 202.1l95.2 54.1-95.2 54.1V202.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-42 176.3s0-59.6-7.6-88.2c-4.2-15.8-16.5-28.2-32.2-32.4C337.9 128 224 128 224 128s-113.9 0-142.2 7.7c-15.7 4.2-28 16.6-32.2 32.4-7.6 28.5-7.6 88.2-7.6 88.2s0 59.6 7.6 88.2c4.2 15.8 16.5 27.7 32.2 31.9C110.1 384 224 384 224 384s113.9 0 142.2-7.7c15.7-4.2 28-16.1 32.2-31.9 7.6-28.5 7.6-88.1 7.6-88.1z\"]\n};\nvar faYoutubeSquare = faSquareYoutube;\nvar faWikipediaW = {\n prefix: 'fab',\n iconName: 'wikipedia-w',\n icon: [640, 512, [], \"f266\", \"M640 51.2l-.3 12.2c-28.1.8-45 15.8-55.8 40.3-25 57.8-103.3 240-155.3 358.6H415l-81.9-193.1c-32.5 63.6-68.3 130-99.2 193.1-.3.3-15 0-15-.3C172 352.3 122.8 243.4 75.8 133.4 64.4 106.7 26.4 63.4.2 63.7c0-3.1-.3-10-.3-14.2h161.9v13.9c-19.2 1.1-52.8 13.3-43.3 34.2 21.9 49.7 103.6 240.3 125.6 288.6 15-29.7 57.8-109.2 75.3-142.8-13.9-28.3-58.6-133.9-72.8-160-9.7-17.8-36.1-19.4-55.8-19.7V49.8l142.5.3v13.1c-19.4.6-38.1 7.8-29.4 26.1 18.9 40 30.6 68.1 48.1 104.7 5.6-10.8 34.7-69.4 48.1-100.8 8.9-20.6-3.9-28.6-38.6-29.4.3-3.6 0-10.3.3-13.6 44.4-.3 111.1-.3 123.1-.6v13.6c-22.5.8-45.8 12.8-58.1 31.7l-59.2 122.8c6.4 16.1 63.3 142.8 69.2 156.7L559.2 91.8c-8.6-23.1-36.4-28.1-47.2-28.3V49.6l127.8 1.1.2.5z\"]\n};\nvar faWpressr = {\n prefix: 'fab',\n iconName: 'wpressr',\n icon: [496, 512, [\"rendact\"], \"f3e4\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm171.33 158.6c-15.18 34.51-30.37 69.02-45.63 103.5-2.44 5.51-6.89 8.24-12.97 8.24-23.02-.01-46.03.06-69.05-.05-5.12-.03-8.25 1.89-10.34 6.72-10.19 23.56-20.63 47-30.95 70.5-1.54 3.51-4.06 5.29-7.92 5.29-45.94-.01-91.87-.02-137.81 0-3.13 0-5.63-1.15-7.72-3.45-11.21-12.33-22.46-24.63-33.68-36.94-2.69-2.95-2.79-6.18-1.21-9.73 8.66-19.54 17.27-39.1 25.89-58.66 12.93-29.35 25.89-58.69 38.75-88.08 1.7-3.88 4.28-5.68 8.54-5.65 14.24.1 28.48.02 42.72.05 6.24.01 9.2 4.84 6.66 10.59-13.6 30.77-27.17 61.55-40.74 92.33-5.72 12.99-11.42 25.99-17.09 39-3.91 8.95 7.08 11.97 10.95 5.6.23-.37-1.42 4.18 30.01-67.69 1.36-3.1 3.41-4.4 6.77-4.39 15.21.08 30.43.02 45.64.04 5.56.01 7.91 3.64 5.66 8.75-8.33 18.96-16.71 37.9-24.98 56.89-4.98 11.43 8.08 12.49 11.28 5.33.04-.08 27.89-63.33 32.19-73.16 2.02-4.61 5.44-6.51 10.35-6.5 26.43.05 52.86 0 79.29.05 12.44.02 13.93-13.65 3.9-13.64-25.26.03-50.52.02-75.78.02-6.27 0-7.84-2.47-5.27-8.27 5.78-13.06 11.59-26.11 17.3-39.21 1.73-3.96 4.52-5.79 8.84-5.78 23.09.06 25.98.02 130.78.03 6.08-.01 8.03 2.79 5.62 8.27z\"]\n};\nvar faRendact = faWpressr;\nvar faAngellist = {\n prefix: 'fab',\n iconName: 'angellist',\n icon: [448, 512, [], \"f209\", \"M347.1 215.4c11.7-32.6 45.4-126.9 45.4-157.1 0-26.6-15.7-48.9-43.7-48.9-44.6 0-84.6 131.7-97.1 163.1C242 144 196.6 0 156.6 0c-31.1 0-45.7 22.9-45.7 51.7 0 35.3 34.2 126.8 46.6 162-6.3-2.3-13.1-4.3-20-4.3-23.4 0-48.3 29.1-48.3 52.6 0 8.9 4.9 21.4 8 29.7-36.9 10-51.1 34.6-51.1 71.7C46 435.6 114.4 512 210.6 512c118 0 191.4-88.6 191.4-202.9 0-43.1-6.9-82-54.9-93.7zM311.7 108c4-12.3 21.1-64.3 37.1-64.3 8.6 0 10.9 8.9 10.9 16 0 19.1-38.6 124.6-47.1 148l-34-6 33.1-93.7zM142.3 48.3c0-11.9 14.5-45.7 46.3 47.1l34.6 100.3c-15.6-1.3-27.7-3-35.4 1.4-10.9-28.8-45.5-119.7-45.5-148.8zM140 244c29.3 0 67.1 94.6 67.1 107.4 0 5.1-4.9 11.4-10.6 11.4-20.9 0-76.9-76.9-76.9-97.7.1-7.7 12.7-21.1 20.4-21.1zm184.3 186.3c-29.1 32-66.3 48.6-109.7 48.6-59.4 0-106.3-32.6-128.9-88.3-17.1-43.4 3.8-68.3 20.6-68.3 11.4 0 54.3 60.3 54.3 73.1 0 4.9-7.7 8.3-11.7 8.3-16.1 0-22.4-15.5-51.1-51.4-29.7 29.7 20.5 86.9 58.3 86.9 26.1 0 43.1-24.2 38-42 3.7 0 8.3.3 11.7-.6 1.1 27.1 9.1 59.4 41.7 61.7 0-.9 2-7.1 2-7.4 0-17.4-10.6-32.6-10.6-50.3 0-28.3 21.7-55.7 43.7-71.7 8-6 17.7-9.7 27.1-13.1 9.7-3.7 20-8 27.4-15.4-1.1-11.2-5.7-21.1-16.9-21.1-27.7 0-120.6 4-120.6-39.7 0-6.7.1-13.1 17.4-13.1 32.3 0 114.3 8 138.3 29.1 18.1 16.1 24.3 113.2-31 174.7zm-98.6-126c9.7 3.1 19.7 4 29.7 6-7.4 5.4-14 12-20.3 19.1-2.8-8.5-6.2-16.8-9.4-25.1z\"]\n};\nvar faGalacticRepublic = {\n prefix: 'fab',\n iconName: 'galactic-republic',\n icon: [496, 512, [], \"f50c\", \"M248 504C111.25 504 0 392.75 0 256S111.25 8 248 8s248 111.25 248 248-111.25 248-248 248zm0-479.47C120.37 24.53 16.53 128.37 16.53 256S120.37 487.47 248 487.47 479.47 383.63 479.47 256 375.63 24.53 248 24.53zm27.62 21.81v24.62a185.933 185.933 0 0 1 83.57 34.54l17.39-17.36c-28.75-22.06-63.3-36.89-100.96-41.8zm-55.37.07c-37.64 4.94-72.16 19.8-100.88 41.85l17.28 17.36h.08c24.07-17.84 52.55-30.06 83.52-34.67V46.41zm12.25 50.17v82.87c-10.04 2.03-19.42 5.94-27.67 11.42l-58.62-58.59-21.93 21.93 58.67 58.67c-5.47 8.23-9.45 17.59-11.47 27.62h-82.9v31h82.9c2.02 10.02 6.01 19.31 11.47 27.54l-58.67 58.69 21.93 21.93 58.62-58.62a77.873 77.873 0 0 0 27.67 11.47v82.9h31v-82.9c10.05-2.03 19.37-6.06 27.62-11.55l58.67 58.69 21.93-21.93-58.67-58.69c5.46-8.23 9.47-17.52 11.5-27.54h82.87v-31h-82.87c-2.02-10.02-6.03-19.38-11.5-27.62l58.67-58.67-21.93-21.93-58.67 58.67c-8.25-5.49-17.57-9.47-27.62-11.5V96.58h-31zm183.24 30.72l-17.36 17.36a186.337 186.337 0 0 1 34.67 83.67h24.62c-4.95-37.69-19.83-72.29-41.93-101.03zm-335.55.13c-22.06 28.72-36.91 63.26-41.85 100.91h24.65c4.6-30.96 16.76-59.45 34.59-83.52l-17.39-17.39zM38.34 283.67c4.92 37.64 19.75 72.18 41.8 100.9l17.36-17.39c-17.81-24.07-29.92-52.57-34.51-83.52H38.34zm394.7 0c-4.61 30.99-16.8 59.5-34.67 83.6l17.36 17.36c22.08-28.74 36.98-63.29 41.93-100.96h-24.62zM136.66 406.38l-17.36 17.36c28.73 22.09 63.3 36.98 100.96 41.93v-24.64c-30.99-4.63-59.53-16.79-83.6-34.65zm222.53.05c-24.09 17.84-52.58 30.08-83.57 34.67v24.57c37.67-4.92 72.21-19.79 100.96-41.85l-17.31-17.39h-.08z\"]\n};\nvar faNfcDirectional = {\n prefix: 'fab',\n iconName: 'nfc-directional',\n icon: [512, 512, [], \"e530\", \"M211.8 488.6C213.4 491.1 213.9 494.2 213.2 497.1C212.6 500 210.8 502.6 208.3 504.2C205.7 505.8 202.7 506.3 199.7 505.7C138.3 491.8 84.1 455.8 47.53 404.5C10.97 353.2-5.395 290.3 1.57 227.7C8.536 165 38.34 107.2 85.29 65.21C132.2 23.2 193-.0131 256 0C257.5 0 258.1 .2931 260.3 .8627C261.7 1.432 262.1 2.267 264 3.319C265.1 4.371 265.9 5.619 266.5 6.993C267 8.367 267.3 9.839 267.3 11.32V112.3L291.8 86.39C292.8 85.31 294 84.44 295.4 83.84C296.7 83.23 298.2 82.9 299.7 82.86C301.2 82.81 302.6 83.06 304 83.59C305.4 84.12 306.7 84.92 307.8 85.94C308.8 86.96 309.7 88.18 310.3 89.54C310.9 90.89 311.3 92.35 311.3 93.84C311.3 95.32 311.1 96.8 310.6 98.18C310 99.57 309.2 100.8 308.2 101.9L264.2 148.5C263.1 149.6 261.9 150.5 260.5 151.1C259 151.7 257.5 152 255.1 152C254.5 152 252.9 151.7 251.5 151.1C250.1 150.5 248.8 149.6 247.8 148.5L203.7 101.9C201.7 99.74 200.6 96.83 200.7 93.84C200.7 90.84 202 87.1 204.2 85.94C206.4 83.88 209.3 82.77 212.3 82.86C215.3 82.94 218.1 84.21 220.2 86.39L244.7 112.4V22.89C188.3 25.64 134.9 48.73 94.23 87.87C53.58 127 28.49 179.6 23.61 235.8C18.73 292 34.38 348.1 67.68 393.7C100.1 439.2 149.7 471.2 204.7 483.6C207.6 484.3 210.2 486.1 211.8 488.6L211.8 488.6zM171.4 126.1C170.6 127.4 169.5 128.5 168.3 129.3C147.8 143.2 131.1 161.9 119.5 183.8C107.9 205.7 101.8 230.1 101.8 254.9C101.8 279.7 107.9 304.1 119.5 325.1C131.1 347.9 147.8 366.6 168.3 380.5C170.8 382.2 172.5 384.8 173 387.8C173.6 390.7 172.1 393.8 171.3 396.2C169.6 398.7 166.1 400.4 164 400.1C161.1 401.5 158 400.9 155.6 399.2C132 383.2 112.8 361.7 99.46 336.5C86.15 311.4 79.19 283.4 79.19 254.9C79.19 226.5 86.15 198.4 99.46 173.3C112.8 148.1 132 126.6 155.6 110.6C156.8 109.8 158.2 109.2 159.6 108.8C161.1 108.5 162.6 108.5 164.1 108.8C165.5 109 166.9 109.6 168.2 110.4C169.5 111.2 170.5 112.3 171.4 113.5C172.2 114.7 172.8 116.1 173.1 117.6C173.4 119.1 173.4 120.6 173.1 122C172.8 123.5 172.3 124.9 171.4 126.1H171.4zM340.9 383.5C341.7 382.3 342.8 381.2 343.1 380.4V380.3C364.4 366.3 381.1 347.6 392.7 325.7C404.2 303.9 410.2 279.5 410.2 254.8C410.2 230.1 404.2 205.7 392.7 183.8C381.1 161.1 364.4 143.3 343.1 129.3C342.8 128.5 341.7 127.4 340.9 126.2C340.1 124.9 339.5 123.5 339.3 122.1C338.1 120.6 339 119.1 339.3 117.7C339.6 116.2 340.2 114.8 341 113.6C341.9 112.4 342.1 111.3 344.2 110.5C345.4 109.7 346.8 109.2 348.3 108.9C349.8 108.6 351.2 108.6 352.7 108.9C354.2 109.2 355.5 109.8 356.8 110.7C380.2 126.7 399.5 148.2 412.7 173.3C426 198.4 432.1 226.4 432.1 254.8C432.1 283.3 426 311.3 412.7 336.4C399.5 361.5 380.2 383 356.8 399C355.5 399.9 354.2 400.5 352.7 400.8C351.2 401.1 349.8 401.1 348.3 400.8C346.8 400.5 345.4 399.1 344.2 399.2C342.1 398.4 341.9 397.3 341 396.1C340.2 394.9 339.6 393.5 339.3 392C339 390.6 338.1 389.1 339.3 387.6C339.5 386.2 340.1 384.8 340.9 383.5V383.5zM312.3 6.307C368.5 19.04 418.7 50.28 455 95.01C485.4 132.6 504.6 178 510.3 226C515.9 274 507.9 322.7 487.1 366.3C466.2 409.9 433.5 446.8 392.6 472.6C351.7 498.3 304.4 512 256 512C254.5 512 253.1 511.7 251.7 511.1C250.3 510.6 249.1 509.7 248 508.7C246.1 507.6 246.1 506.4 245.6 505C245 503.6 244.7 502.2 244.7 500.7V401.5L220.2 427.5C218.1 429.7 215.3 430.1 212.3 431.1C209.3 431.2 206.4 430 204.2 427.1C202 425.9 200.7 423.1 200.7 420.1C200.6 417.1 201.7 414.2 203.7 412L247.8 365.4C249.1 363.2 252.9 362 255.1 362C259.1 362 262 363.2 264.2 365.4L308.2 412C310.3 414.2 311.4 417.1 311.3 420.1C311.2 423.1 309.9 425.9 307.8 427.1C305.6 430 302.7 431.2 299.7 431.1C296.7 430.1 293.8 429.7 291.8 427.5L267.3 401.6V489.1C323.7 486.3 377.1 463.3 417.8 424.1C458.5 384.1 483.6 332.4 488.5 276.2C493.3 219.1 477.7 163.9 444.4 118.3C411.1 72.75 362.4 40.79 307.4 28.36C305.9 28.03 304.6 27.42 303.3 26.57C302.1 25.71 301.1 24.63 300.3 23.37C299.5 22.12 298.1 20.72 298.7 19.26C298.5 17.8 298.5 16.3 298.8 14.85C299.2 13.41 299.8 12.04 300.6 10.82C301.5 9.61 302.6 8.577 303.8 7.784C305.1 6.99 306.5 6.451 307.9 6.198C309.4 5.945 310.9 5.982 312.3 6.307L312.3 6.307zM353.1 256.1C353.1 287.5 335.6 317.2 303.8 339.6C301.7 341.1 299 341.9 296.4 341.6C293.7 341.4 291.2 340.3 289.4 338.4L219.3 268.6C217.1 266.5 215.1 263.6 215.9 260.6C215.9 257.6 217.1 254.7 219.2 252.6C221.4 250.5 224.2 249.3 227.2 249.3C230.2 249.3 233.1 250.5 235.2 252.6L298.3 315.4C319.1 298.3 330.5 277.5 330.5 256.1C330.5 232.2 316.4 209.1 290.8 191C288.3 189.3 286.7 186.7 286.2 183.7C285.7 180.8 286.3 177.7 288.1 175.3C289.8 172.8 292.4 171.2 295.4 170.7C298.3 170.2 301.4 170.8 303.8 172.6C335.6 195 353.1 224.7 353.1 256.1V256.1zM216.7 341.5C213.7 342 210.7 341.3 208.2 339.6C176.5 317.2 158.1 287.5 158.1 256.1C158.1 224.7 176.5 195 208.2 172.6C210.4 171 213.1 170.3 215.7 170.5C218.4 170.8 220.8 171.9 222.7 173.8L292.8 243.6C294.9 245.7 296.1 248.6 296.1 251.6C296.1 254.6 294.1 257.4 292.8 259.6C290.7 261.7 287.8 262.9 284.9 262.9C281.9 262.9 278.1 261.7 276.9 259.6L213.8 196.7C192.9 214 181.6 234.7 181.6 256.1C181.6 279.1 195.7 303.1 221.3 321.1C223.7 322.9 225.4 325.5 225.9 328.5C226.4 331.4 225.7 334.4 224 336.9C222.3 339.3 219.6 341 216.7 341.5L216.7 341.5z\"]\n};\nvar faSkype = {\n prefix: 'fab',\n iconName: 'skype',\n icon: [448, 512, [], \"f17e\", \"M424.7 299.8c2.9-14 4.7-28.9 4.7-43.8 0-113.5-91.9-205.3-205.3-205.3-14.9 0-29.7 1.7-43.8 4.7C161.3 40.7 137.7 32 112 32 50.2 32 0 82.2 0 144c0 25.7 8.7 49.3 23.3 68.2-2.9 14-4.7 28.9-4.7 43.8 0 113.5 91.9 205.3 205.3 205.3 14.9 0 29.7-1.7 43.8-4.7 19 14.6 42.6 23.3 68.2 23.3 61.8 0 112-50.2 112-112 .1-25.6-8.6-49.2-23.2-68.1zm-194.6 91.5c-65.6 0-120.5-29.2-120.5-65 0-16 9-30.6 29.5-30.6 31.2 0 34.1 44.9 88.1 44.9 25.7 0 42.3-11.4 42.3-26.3 0-18.7-16-21.6-42-28-62.5-15.4-117.8-22-117.8-87.2 0-59.2 58.6-81.1 109.1-81.1 55.1 0 110.8 21.9 110.8 55.4 0 16.9-11.4 31.8-30.3 31.8-28.3 0-29.2-33.5-75-33.5-25.7 0-42 7-42 22.5 0 19.8 20.8 21.8 69.1 33 41.4 9.3 90.7 26.8 90.7 77.6 0 59.1-57.1 86.5-112 86.5z\"]\n};\nvar faJoget = {\n prefix: 'fab',\n iconName: 'joget',\n icon: [496, 512, [], \"f3b7\", \"M378.1 45C337.6 19.9 292.6 8 248.2 8 165 8 83.8 49.9 36.9 125.9c-71.9 116.6-35.6 269.3 81 341.2s269.3 35.6 341.2-80.9c71.9-116.6 35.6-269.4-81-341.2zm51.8 323.2c-40.4 65.5-110.4 101.5-182 101.5-6.8 0-13.6-.4-20.4-1-9-13.6-19.9-33.3-23.7-42.4-5.7-13.7-27.2-45.6 31.2-67.1 51.7-19.1 176.7-16.5 208.8-17.6-4 9-8.6 17.9-13.9 26.6zm-200.8-86.3c-55.5-1.4-81.7-20.8-58.5-48.2s51.1-40.7 68.9-51.2c17.9-10.5 27.3-33.7-23.6-29.7C87.3 161.5 48.6 252.1 37.6 293c-8.8-49.7-.1-102.7 28.5-149.1C128 43.4 259.6 12.2 360.1 74.1c74.8 46.1 111.2 130.9 99.3 212.7-24.9-.5-179.3-3.6-230.3-4.9zm183.8-54.8c-22.7-6-57 11.3-86.7 27.2-29.7 15.8-31.1 8.2-31.1 8.2s40.2-28.1 50.7-34.5 31.9-14 13.4-24.6c-3.2-1.8-6.7-2.7-10.4-2.7-17.8 0-41.5 18.7-67.5 35.6-31.5 20.5-65.3 31.3-65.3 31.3l169.5-1.6 46.5-23.4s3.6-9.5-19.1-15.5z\"]\n};\nvar faFedora = {\n prefix: 'fab',\n iconName: 'fedora',\n icon: [448, 512, [], \"f798\", \"M.0413 255.8C.1219 132.2 100.3 32 224 32C347.7 32 448 132.3 448 256C448 379.7 347.8 479.9 224.1 480H50.93C22.84 480 .0832 457.3 .0416 429.2H0V255.8H.0413zM342.6 192.7C342.6 153 307 124.2 269.4 124.2C234.5 124.2 203.6 150.5 199.3 184.1C199.1 187.9 198.9 189.1 198.9 192.6C198.8 213.7 198.9 235.4 198.1 257C199 283.1 199.1 309.1 198.1 333.6C198.1 360.7 178.7 379.1 153.4 379.1C128.1 379.1 107.6 358.9 107.6 333.6C108.1 305.9 130.2 288.3 156.1 287.5H156.3L182.6 287.3V250L156.3 250.2C109.2 249.8 71.72 286.7 70.36 333.6C70.36 379.2 107.9 416.5 153.4 416.5C196.4 416.5 232.1 382.9 236 340.9L236.2 287.4L268.8 287.1C294.1 287.3 293.8 249.3 268.6 249.8L236.2 250.1C236.2 243.7 236.3 237.3 236.3 230.9C236.4 218.2 236.4 205.5 236.2 192.7C236.3 176.2 252 161.5 269.4 161.5C286.9 161.5 305.3 170.2 305.3 192.7C305.3 195.9 305.2 197.8 305 199C303.1 209.5 310.2 219.4 320.7 220.9C331.3 222.4 340.9 214.8 341.9 204.3C342.5 200.1 342.6 196.4 342.6 192.7H342.6z\"]\n};\nvar faStripeS = {\n prefix: 'fab',\n iconName: 'stripe-s',\n icon: [384, 512, [], \"f42a\", \"M155.3 154.6c0-22.3 18.6-30.9 48.4-30.9 43.4 0 98.5 13.3 141.9 36.7V26.1C298.3 7.2 251.1 0 203.8 0 88.1 0 11 60.4 11 161.4c0 157.9 216.8 132.3 216.8 200.4 0 26.4-22.9 34.9-54.7 34.9-47.2 0-108.2-19.5-156.1-45.5v128.5a396.09 396.09 0 0 0 156 32.4c118.6 0 200.3-51 200.3-153.6 0-170.2-218-139.7-218-203.9z\"]\n};\nvar faMeta = {\n prefix: 'fab',\n iconName: 'meta',\n icon: [640, 512, [], \"e49b\", \"M640 317.9C640 409.2 600.6 466.4 529.7 466.4C467.1 466.4 433.9 431.8 372.8 329.8L341.4 277.2C333.1 264.7 326.9 253 320.2 242.2C300.1 276 273.1 325.2 273.1 325.2C206.1 441.8 168.5 466.4 116.2 466.4C43.42 466.4 0 409.1 0 320.5C0 177.5 79.78 42.4 183.9 42.4C234.1 42.4 277.7 67.08 328.7 131.9C365.8 81.8 406.8 42.4 459.3 42.4C558.4 42.4 640 168.1 640 317.9H640zM287.4 192.2C244.5 130.1 216.5 111.7 183 111.7C121.1 111.7 69.22 217.8 69.22 321.7C69.22 370.2 87.7 397.4 118.8 397.4C149 397.4 167.8 378.4 222 293.6C222 293.6 246.7 254.5 287.4 192.2V192.2zM531.2 397.4C563.4 397.4 578.1 369.9 578.1 322.5C578.1 198.3 523.8 97.08 454.9 97.08C421.7 97.08 393.8 123 360 175.1C369.4 188.9 379.1 204.1 389.3 220.5L426.8 282.9C485.5 377 500.3 397.4 531.2 397.4L531.2 397.4z\"]\n};\nvar faLaravel = {\n prefix: 'fab',\n iconName: 'laravel',\n icon: [512, 512, [], \"f3bd\", \"M504.4,115.83a5.72,5.72,0,0,0-.28-.68,8.52,8.52,0,0,0-.53-1.25,6,6,0,0,0-.54-.71,9.36,9.36,0,0,0-.72-.94c-.23-.22-.52-.4-.77-.6a8.84,8.84,0,0,0-.9-.68L404.4,55.55a8,8,0,0,0-8,0L300.12,111h0a8.07,8.07,0,0,0-.88.69,7.68,7.68,0,0,0-.78.6,8.23,8.23,0,0,0-.72.93c-.17.24-.39.45-.54.71a9.7,9.7,0,0,0-.52,1.25c-.08.23-.21.44-.28.68a8.08,8.08,0,0,0-.28,2.08V223.18l-80.22,46.19V63.44a7.8,7.8,0,0,0-.28-2.09c-.06-.24-.2-.45-.28-.68a8.35,8.35,0,0,0-.52-1.24c-.14-.26-.37-.47-.54-.72a9.36,9.36,0,0,0-.72-.94,9.46,9.46,0,0,0-.78-.6,9.8,9.8,0,0,0-.88-.68h0L115.61,1.07a8,8,0,0,0-8,0L11.34,56.49h0a6.52,6.52,0,0,0-.88.69,7.81,7.81,0,0,0-.79.6,8.15,8.15,0,0,0-.71.93c-.18.25-.4.46-.55.72a7.88,7.88,0,0,0-.51,1.24,6.46,6.46,0,0,0-.29.67,8.18,8.18,0,0,0-.28,2.1v329.7a8,8,0,0,0,4,6.95l192.5,110.84a8.83,8.83,0,0,0,1.33.54c.21.08.41.2.63.26a7.92,7.92,0,0,0,4.1,0c.2-.05.37-.16.55-.22a8.6,8.6,0,0,0,1.4-.58L404.4,400.09a8,8,0,0,0,4-6.95V287.88l92.24-53.11a8,8,0,0,0,4-7V117.92A8.63,8.63,0,0,0,504.4,115.83ZM111.6,17.28h0l80.19,46.15-80.2,46.18L31.41,63.44Zm88.25,60V278.6l-46.53,26.79-33.69,19.4V123.5l46.53-26.79Zm0,412.78L23.37,388.5V77.32L57.06,96.7l46.52,26.8V338.68a6.94,6.94,0,0,0,.12.9,8,8,0,0,0,.16,1.18h0a5.92,5.92,0,0,0,.38.9,6.38,6.38,0,0,0,.42,1v0a8.54,8.54,0,0,0,.6.78,7.62,7.62,0,0,0,.66.84l0,0c.23.22.52.38.77.58a8.93,8.93,0,0,0,.86.66l0,0,0,0,92.19,52.18Zm8-106.17-80.06-45.32,84.09-48.41,92.26-53.11,80.13,46.13-58.8,33.56Zm184.52,4.57L215.88,490.11V397.8L346.6,323.2l45.77-26.15Zm0-119.13L358.68,250l-46.53-26.79V131.79l33.69,19.4L392.37,178Zm8-105.28-80.2-46.17,80.2-46.16,80.18,46.15Zm8,105.28V178L455,151.19l33.68-19.4v91.39h0Z\"]\n};\nvar faHotjar = {\n prefix: 'fab',\n iconName: 'hotjar',\n icon: [448, 512, [], \"f3b1\", \"M414.9 161.5C340.2 29 121.1 0 121.1 0S222.2 110.4 93 197.7C11.3 252.8-21 324.4 14 402.6c26.8 59.9 83.5 84.3 144.6 93.4-29.2-55.1-6.6-122.4-4.1-129.6 57.1 86.4 165 0 110.8-93.9 71 15.4 81.6 138.6 27.1 215.5 80.5-25.3 134.1-88.9 148.8-145.6 15.5-59.3 3.7-127.9-26.3-180.9z\"]\n};\nvar faBluetoothB = {\n prefix: 'fab',\n iconName: 'bluetooth-b',\n icon: [320, 512, [], \"f294\", \"M196.48 260.023l92.626-103.333L143.125 0v206.33l-86.111-86.111-31.406 31.405 108.061 108.399L25.608 368.422l31.406 31.405 86.111-86.111L145.84 512l148.552-148.644-97.912-103.333zm40.86-102.996l-49.977 49.978-.338-100.295 50.315 50.317zM187.363 313.04l49.977 49.978-50.315 50.316.338-100.294z\"]\n};\nvar faStickerMule = {\n prefix: 'fab',\n iconName: 'sticker-mule',\n icon: [576, 512, [], \"f3f7\", \"M561.7 199.6c-1.3.3.3 0 0 0zm-6.2-77.4c-7.7-22.3-5.1-7.2-13.4-36.9-1.6-6.5-3.6-14.5-6.2-20-4.4-8.7-4.6-7.5-4.6-9.5 0-5.3 30.7-45.3 19-46.9-5.7-.6-12.2 11.6-20.6 17-8.6 4.2-8 5-10.3 5-2.6 0-5.7-3-6.2-5-2-5.7 1.9-25.9-3.6-25.9-3.6 0-12.3 24.8-17 25.8-5.2 1.3-27.9-11.4-75.1 18-25.3 13.2-86.9 65.2-87 65.3-6.7 4.7-20 4.7-35.5 16-44.4 30.1-109.6 9.4-110.7 9-110.6-26.8-128-15.2-159 11.5-20.8 17.9-23.7 36.5-24.2 38.9-4.2 20.4 5.2 48.3 6.7 64.3 1.8 19.3-2.7 17.7 7.7 98.3.5 1 4.1 0 5.1 1.5 0 8.4-3.8 12.1-4.1 13-1.5 4.5-1.5 10.5 0 16 2.3 8.2 8.2 37.2 8.2 46.9 0 41.8.4 44 2.6 49.4 3.9 10 12.5 9.1 17 12 3.1 3.5-.5 8.5 1 12.5.5 2 3.6 4 6.2 5 9.2 3.6 27 .3 29.9-2.5 1.6-1.5.5-4.5 3.1-5 5.1 0 10.8-.5 14.4-2.5 5.1-2.5 4.1-6 1.5-10.5-.4-.8-7-13.3-9.8-16-2.1-2-5.1-3-7.2-4.5-5.8-4.9-10.3-19.4-10.3-19.5-4.6-19.4-10.3-46.3-4.1-66.8 4.6-17.2 39.5-87.7 39.6-87.8 4.1-6.5 17-11.5 27.3-7 6 1.9 19.3 22 65.4 30.9 47.9 8.7 97.4-2 112.2-2 2.8 2-1.9 13-.5 38.9 0 26.4-.4 13.7-4.1 29.9-2.2 9.7 3.4 23.2-1.5 46.9-1.4 9.8-9.9 32.7-8.2 43.4.5 1 1 2 1.5 3.5.5 4.5 1.5 8.5 4.6 10 7.3 3.6 12-3.5 9.8 11.5-.7 3.1-2.6 12 1.5 15 4.4 3.7 30.6 3.4 36.5.5 2.6-1.5 1.6-4.5 6.4-7.4 1.9-.9 11.3-.4 11.3-6.5.3-1.8-9.2-19.9-9.3-20-2.6-3.5-9.2-4.5-11.3-8-6.9-10.1-1.7-52.6.5-59.4 3-11 5.6-22.4 8.7-32.4 11-42.5 10.3-50.6 16.5-68.3.8-1.8 6.4-23.1 10.3-29.9 9.3-17 21.7-32.4 33.5-47.4 18-22.9 34-46.9 52-69.8 6.1-7 8.2-13.7 18-8 10.8 5.7 21.6 7 31.9 17 14.6 12.8 10.2 18.2 11.8 22.9 1.5 5 7.7 10.5 14.9 9.5 10.4-2 13-2.5 13.4-2.5 2.6-.5 5.7-5 7.2-8 3.1-5.5 7.2-9 7.2-16.5 0-7.7-.4-2.8-20.6-52.9z\"]\n};\nvar faCreativeCommonsZero = {\n prefix: 'fab',\n iconName: 'creative-commons-zero',\n icon: [496, 512, [], \"f4f3\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm-.4 60.5c-81.9 0-102.5 77.3-102.5 142.8 0 65.5 20.6 142.8 102.5 142.8S350.5 321.5 350.5 256c0-65.5-20.6-142.8-102.5-142.8zm0 53.9c3.3 0 6.4.5 9.2 1.2 5.9 5.1 8.8 12.1 3.1 21.9l-54.5 100.2c-1.7-12.7-1.9-25.1-1.9-34.4 0-28.8 2-88.9 44.1-88.9zm40.8 46.2c2.9 15.4 3.3 31.4 3.3 42.7 0 28.9-2 88.9-44.1 88.9-13.5 0-32.6-7.7-20.1-26.4l60.9-105.2z\"]\n};\nvar faHips = {\n prefix: 'fab',\n iconName: 'hips',\n icon: [640, 512, [], \"f452\", \"M251.6 157.6c0-1.9-.9-2.8-2.8-2.8h-40.9c-1.6 0-2.7 1.4-2.7 2.8v201.8c0 1.4 1.1 2.8 2.7 2.8h40.9c1.9 0 2.8-.9 2.8-2.8zM156.5 168c-16.1-11.8-36.3-17.9-60.3-18-18.1-.1-34.6 3.7-49.8 11.4V80.2c0-1.8-.9-2.7-2.8-2.7H2.7c-1.8 0-2.7.9-2.7 2.7v279.2c0 1.9.9 2.8 2.7 2.8h41c1.9 0 2.8-.9 2.8-2.8V223.3c0-.8-2.8-27 45.8-27 48.5 0 45.8 26.1 45.8 27v122.6c0 9 7.3 16.3 16.4 16.3h27.3c1.8 0 2.7-.9 2.7-2.8V223.3c0-23.4-9.3-41.8-28-55.3zm478.4 110.1c-6.8-15.7-18.4-27-34.9-34.1l-57.6-25.3c-8.6-3.6-9.2-11.2-2.6-16.1 7.4-5.5 44.3-13.9 84 6.8 1.7 1 4-.3 4-2.4v-44.7c0-1.3-.6-2.1-1.9-2.6-17.7-6.6-36.1-9.9-55.1-9.9-26.5 0-45.3 5.8-58.5 15.4-.5.4-28.4 20-22.7 53.7 3.4 19.6 15.8 34.2 37.2 43.6l53.6 23.5c11.6 5.1 15.2 13.3 12.2 21.2-3.7 9.1-13.2 13.6-36.5 13.6-24.3 0-44.7-8.9-58.4-19.1-2.1-1.4-4.4.2-4.4 2.3v34.4c0 10.4 4.9 17.3 14.6 20.7 15.6 5.5 31.6 8.2 48.2 8.2 12.7 0 25.8-1.2 36.3-4.3.7-.3 36-8.9 45.6-45.8 3.5-13.5 2.4-26.5-3.1-39.1zM376.2 149.8c-31.7 0-104.2 20.1-104.2 103.5v183.5c0 .8.6 2.7 2.7 2.7h40.9c1.9 0 2.8-.9 2.8-2.7V348c16.5 12.7 35.8 19.1 57.7 19.1 60.5 0 108.7-48.5 108.7-108.7.1-60.3-48.2-108.6-108.6-108.6zm0 170.9c-17.2 0-31.9-6.1-44-18.2-12.2-12.2-18.2-26.8-18.2-44 0-34.5 27.6-62.2 62.2-62.2 34.5 0 62.2 27.6 62.2 62.2.1 34.3-27.3 62.2-62.2 62.2zM228.3 72.5c-15.9 0-28.8 12.9-28.9 28.9 0 15.6 12.7 28.9 28.9 28.9s28.9-13.1 28.9-28.9c0-16.2-13-28.9-28.9-28.9z\"]\n};\nvar faBehance = {\n prefix: 'fab',\n iconName: 'behance',\n icon: [576, 512, [], \"f1b4\", \"M232 237.2c31.8-15.2 48.4-38.2 48.4-74 0-70.6-52.6-87.8-113.3-87.8H0v354.4h171.8c64.4 0 124.9-30.9 124.9-102.9 0-44.5-21.1-77.4-64.7-89.7zM77.9 135.9H151c28.1 0 53.4 7.9 53.4 40.5 0 30.1-19.7 42.2-47.5 42.2h-79v-82.7zm83.3 233.7H77.9V272h84.9c34.3 0 56 14.3 56 50.6 0 35.8-25.9 47-57.6 47zm358.5-240.7H376V94h143.7v34.9zM576 305.2c0-75.9-44.4-139.2-124.9-139.2-78.2 0-131.3 58.8-131.3 135.8 0 79.9 50.3 134.7 131.3 134.7 61.3 0 101-27.6 120.1-86.3H509c-6.7 21.9-34.3 33.5-55.7 33.5-41.3 0-63-24.2-63-65.3h185.1c.3-4.2.6-8.7.6-13.2zM390.4 274c2.3-33.7 24.7-54.8 58.5-54.8 35.4 0 53.2 20.8 56.2 54.8H390.4z\"]\n};\nvar faReddit = {\n prefix: 'fab',\n iconName: 'reddit',\n icon: [512, 512, [], \"f1a1\", \"M201.5 305.5c-13.8 0-24.9-11.1-24.9-24.6 0-13.8 11.1-24.9 24.9-24.9 13.6 0 24.6 11.1 24.6 24.9 0 13.6-11.1 24.6-24.6 24.6zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-132.3-41.2c-9.4 0-17.7 3.9-23.8 10-22.4-15.5-52.6-25.5-86.1-26.6l17.4-78.3 55.4 12.5c0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.3 24.9-24.9s-11.1-24.9-24.9-24.9c-9.7 0-18 5.8-22.1 13.8l-61.2-13.6c-3-.8-6.1 1.4-6.9 4.4l-19.1 86.4c-33.2 1.4-63.1 11.3-85.5 26.8-6.1-6.4-14.7-10.2-24.1-10.2-34.9 0-46.3 46.9-14.4 62.8-1.1 5-1.7 10.2-1.7 15.5 0 52.6 59.2 95.2 132 95.2 73.1 0 132.3-42.6 132.3-95.2 0-5.3-.6-10.8-1.9-15.8 31.3-16 19.8-62.5-14.9-62.5zM302.8 331c-18.2 18.2-76.1 17.9-93.6 0-2.2-2.2-6.1-2.2-8.3 0-2.5 2.5-2.5 6.4 0 8.6 22.8 22.8 87.3 22.8 110.2 0 2.5-2.2 2.5-6.1 0-8.6-2.2-2.2-6.1-2.2-8.3 0zm7.7-75c-13.6 0-24.6 11.1-24.6 24.9 0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.1 24.9-24.6 0-13.8-11-24.9-24.9-24.9z\"]\n};\nvar faDiscord = {\n prefix: 'fab',\n iconName: 'discord',\n icon: [640, 512, [], \"f392\", \"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z\"]\n};\nvar faChrome = {\n prefix: 'fab',\n iconName: 'chrome',\n icon: [512, 512, [], \"f268\", \"M0 256C0 209.4 12.47 165.6 34.27 127.1L144.1 318.3C166 357.5 207.9 384 256 384C270.3 384 283.1 381.7 296.8 377.4L220.5 509.6C95.9 492.3 0 385.3 0 256zM365.1 321.6C377.4 302.4 384 279.1 384 256C384 217.8 367.2 183.5 340.7 160H493.4C505.4 189.6 512 222.1 512 256C512 397.4 397.4 511.1 256 512L365.1 321.6zM477.8 128H256C193.1 128 142.3 172.1 130.5 230.7L54.19 98.47C101 38.53 174 0 256 0C350.8 0 433.5 51.48 477.8 128V128zM168 256C168 207.4 207.4 168 256 168C304.6 168 344 207.4 344 256C344 304.6 304.6 344 256 344C207.4 344 168 304.6 168 256z\"]\n};\nvar faAppStoreIos = {\n prefix: 'fab',\n iconName: 'app-store-ios',\n icon: [448, 512, [], \"f370\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM127 384.5c-5.5 9.6-17.8 12.8-27.3 7.3-9.6-5.5-12.8-17.8-7.3-27.3l14.3-24.7c16.1-4.9 29.3-1.1 39.6 11.4L127 384.5zm138.9-53.9H84c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40zm98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52c11 0 20 9 20 20 0 11.1-9 20-20 20z\"]\n};\nvar faCcDiscover = {\n prefix: 'fab',\n iconName: 'cc-discover',\n icon: [576, 512, [], \"f1f2\", \"M520.4 196.1c0-7.9-5.5-12.1-15.6-12.1h-4.9v24.9h4.7c10.3 0 15.8-4.4 15.8-12.8zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-44.1 138.9c22.6 0 52.9-4.1 52.9 24.4 0 12.6-6.6 20.7-18.7 23.2l25.8 34.4h-19.6l-22.2-32.8h-2.2v32.8h-16zm-55.9.1h45.3v14H444v18.2h28.3V217H444v22.2h29.3V253H428zm-68.7 0l21.9 55.2 22.2-55.2h17.5l-35.5 84.2h-8.6l-35-84.2zm-55.9-3c24.7 0 44.6 20 44.6 44.6 0 24.7-20 44.6-44.6 44.6-24.7 0-44.6-20-44.6-44.6 0-24.7 20-44.6 44.6-44.6zm-49.3 6.1v19c-20.1-20.1-46.8-4.7-46.8 19 0 25 27.5 38.5 46.8 19.2v19c-29.7 14.3-63.3-5.7-63.3-38.2 0-31.2 33.1-53 63.3-38zm-97.2 66.3c11.4 0 22.4-15.3-3.3-24.4-15-5.5-20.2-11.4-20.2-22.7 0-23.2 30.6-31.4 49.7-14.3l-8.4 10.8c-10.4-11.6-24.9-6.2-24.9 2.5 0 4.4 2.7 6.9 12.3 10.3 18.2 6.6 23.6 12.5 23.6 25.6 0 29.5-38.8 37.4-56.6 11.3l10.3-9.9c3.7 7.1 9.9 10.8 17.5 10.8zM55.4 253H32v-82h23.4c26.1 0 44.1 17 44.1 41.1 0 18.5-13.2 40.9-44.1 40.9zm67.5 0h-16v-82h16zM544 433c0 8.2-6.8 15-15 15H128c189.6-35.6 382.7-139.2 416-160zM74.1 191.6c-5.2-4.9-11.6-6.6-21.9-6.6H48v54.2h4.2c10.3 0 17-2 21.9-6.4 5.7-5.2 8.9-12.8 8.9-20.7s-3.2-15.5-8.9-20.5z\"]\n};\nvar faWpbeginner = {\n prefix: 'fab',\n iconName: 'wpbeginner',\n icon: [512, 512, [], \"f297\", \"M462.799 322.374C519.01 386.682 466.961 480 370.944 480c-39.602 0-78.824-17.687-100.142-50.04-6.887.356-22.702.356-29.59 0C219.848 462.381 180.588 480 141.069 480c-95.49 0-148.348-92.996-91.855-157.626C-29.925 190.523 80.479 32 256.006 32c175.632 0 285.87 158.626 206.793 290.374zm-339.647-82.972h41.529v-58.075h-41.529v58.075zm217.18 86.072v-23.839c-60.506 20.915-132.355 9.198-187.589-33.971l.246 24.897c51.101 46.367 131.746 57.875 187.343 32.913zm-150.753-86.072h166.058v-58.075H189.579v58.075z\"]\n};\nvar faConfluence = {\n prefix: 'fab',\n iconName: 'confluence',\n icon: [512, 512, [], \"f78d\", \"M2.3 412.2c-4.5 7.6-2.1 17.5 5.5 22.2l105.9 65.2c7.7 4.7 17.7 2.4 22.4-5.3 0-.1.1-.2.1-.2 67.1-112.2 80.5-95.9 280.9-.7 8.1 3.9 17.8.4 21.7-7.7.1-.1.1-.3.2-.4l50.4-114.1c3.6-8.1-.1-17.6-8.1-21.3-22.2-10.4-66.2-31.2-105.9-50.3C127.5 179 44.6 345.3 2.3 412.2zm507.4-312.1c4.5-7.6 2.1-17.5-5.5-22.2L398.4 12.8c-7.5-5-17.6-3.1-22.6 4.4-.2.3-.4.6-.6 1-67.3 112.6-81.1 95.6-280.6.9-8.1-3.9-17.8-.4-21.7 7.7-.1.1-.1.3-.2.4L22.2 141.3c-3.6 8.1.1 17.6 8.1 21.3 22.2 10.4 66.3 31.2 106 50.4 248 120 330.8-45.4 373.4-112.9z\"]\n};\nvar faMdb = {\n prefix: 'fab',\n iconName: 'mdb',\n icon: [576, 512, [], \"f8ca\", \"M17.37 160.41L7 352h43.91l5.59-79.83L84.43 352h44.71l25.54-77.43 4.79 77.43H205l-12.79-191.59H146.7L106 277.74 63.67 160.41zm281 0h-47.9V352h47.9s95 .8 94.2-95.79c-.78-94.21-94.18-95.78-94.18-95.78zm-1.2 146.46V204.78s46 4.27 46.8 50.57-46.78 51.54-46.78 51.54zm238.29-74.24a56.16 56.16 0 0 0 8-38.31c-5.34-35.76-55.08-34.32-55.08-34.32h-51.9v191.58H482s87 4.79 87-63.85c0-43.14-33.52-55.08-33.52-55.08zm-51.9-31.94s13.57-1.59 16 9.59c1.43 6.66-4 12-4 12h-12v-21.57zm-.1 109.46l.1-24.92V267h.08s41.58-4.73 41.19 22.43c-.33 25.65-41.35 20.74-41.35 20.74z\"]\n};\nvar faDochub = {\n prefix: 'fab',\n iconName: 'dochub',\n icon: [416, 512, [], \"f394\", \"M397.9 160H256V19.6L397.9 160zM304 192v130c0 66.8-36.5 100.1-113.3 100.1H96V84.8h94.7c12 0 23.1.8 33.1 2.5v-84C212.9 1.1 201.4 0 189.2 0H0v512h189.2C329.7 512 400 447.4 400 318.1V192h-96z\"]\n};\nvar faAccessibleIcon = {\n prefix: 'fab',\n iconName: 'accessible-icon',\n icon: [448, 512, [62107], \"f368\", \"M423.9 255.8L411 413.1c-3.3 40.7-63.9 35.1-60.6-4.9l10-122.5-41.1 2.3c10.1 20.7 15.8 43.9 15.8 68.5 0 41.2-16.1 78.7-42.3 106.5l-39.3-39.3c57.9-63.7 13.1-167.2-74-167.2-25.9 0-49.5 9.9-67.2 26L73 243.2c22-20.7 50.1-35.1 81.4-40.2l75.3-85.7-42.6-24.8-51.6 46c-30 26.8-70.6-18.5-40.5-45.4l68-60.7c9.8-8.8 24.1-10.2 35.5-3.6 0 0 139.3 80.9 139.5 81.1 16.2 10.1 20.7 36 6.1 52.6L285.7 229l106.1-5.9c18.5-1.1 33.6 14.4 32.1 32.7zm-64.9-154c28.1 0 50.9-22.8 50.9-50.9C409.9 22.8 387.1 0 359 0c-28.1 0-50.9 22.8-50.9 50.9 0 28.1 22.8 50.9 50.9 50.9zM179.6 456.5c-80.6 0-127.4-90.6-82.7-156.1l-39.7-39.7C36.4 287 24 320.3 24 356.4c0 130.7 150.7 201.4 251.4 122.5l-39.7-39.7c-16 10.9-35.3 17.3-56.1 17.3z\"]\n};\nvar faEbay = {\n prefix: 'fab',\n iconName: 'ebay',\n icon: [640, 512, [], \"f4f4\", \"M606 189.5l-54.8 109.9-54.9-109.9h-37.5l10.9 20.6c-11.5-19-35.9-26-63.3-26-31.8 0-67.9 8.7-71.5 43.1h33.7c1.4-13.8 15.7-21.8 35-21.8 26 0 41 9.6 41 33v3.4c-12.7 0-28 .1-41.7.4-42.4.9-69.6 10-76.7 34.4 1-5.2 1.5-10.6 1.5-16.2 0-52.1-39.7-76.2-75.4-76.2-21.3 0-43 5.5-58.7 24.2v-80.6h-32.1v169.5c0 10.3-.6 22.9-1.1 33.1h31.5c.7-6.3 1.1-12.9 1.1-19.5 13.6 16.6 35.4 24.9 58.7 24.9 36.9 0 64.9-21.9 73.3-54.2-.5 2.8-.7 5.8-.7 9 0 24.1 21.1 45 60.6 45 26.6 0 45.8-5.7 61.9-25.5 0 6.6.3 13.3 1.1 20.2h29.8c-.7-8.2-1-17.5-1-26.8v-65.6c0-9.3-1.7-17.2-4.8-23.8l61.5 116.1-28.5 54.1h35.9L640 189.5zM243.7 313.8c-29.6 0-50.2-21.5-50.2-53.8 0-32.4 20.6-53.8 50.2-53.8 29.8 0 50.2 21.4 50.2 53.8 0 32.3-20.4 53.8-50.2 53.8zm200.9-47.3c0 30-17.9 48.4-51.6 48.4-25.1 0-35-13.4-35-25.8 0-19.1 18.1-24.4 47.2-25.3 13.1-.5 27.6-.6 39.4-.6zm-411.9 1.6h128.8v-8.5c0-51.7-33.1-75.4-78.4-75.4-56.8 0-83 30.8-83 77.6 0 42.5 25.3 74 82.5 74 31.4 0 68-11.7 74.4-46.1h-33.1c-12 35.8-87.7 36.7-91.2-21.6zm95-21.4H33.3c6.9-56.6 92.1-54.7 94.4 0z\"]\n};\nvar faAmazon = {\n prefix: 'fab',\n iconName: 'amazon',\n icon: [448, 512, [], \"f270\", \"M257.2 162.7c-48.7 1.8-169.5 15.5-169.5 117.5 0 109.5 138.3 114 183.5 43.2 6.5 10.2 35.4 37.5 45.3 46.8l56.8-56S341 288.9 341 261.4V114.3C341 89 316.5 32 228.7 32 140.7 32 94 87 94 136.3l73.5 6.8c16.3-49.5 54.2-49.5 54.2-49.5 40.7-.1 35.5 29.8 35.5 69.1zm0 86.8c0 80-84.2 68-84.2 17.2 0-47.2 50.5-56.7 84.2-57.8v40.6zm136 163.5c-7.7 10-70 67-174.5 67S34.2 408.5 9.7 379c-6.8-7.7 1-11.3 5.5-8.3C88.5 415.2 203 488.5 387.7 401c7.5-3.7 13.3 2 5.5 12zm39.8 2.2c-6.5 15.8-16 26.8-21.2 31-5.5 4.5-9.5 2.7-6.5-3.8s19.3-46.5 12.7-55c-6.5-8.3-37-4.3-48-3.2-10.8 1-13 2-14-.3-2.3-5.7 21.7-15.5 37.5-17.5 15.7-1.8 41-.8 46 5.7 3.7 5.1 0 27.1-6.5 43.1z\"]\n};\nvar faUnsplash = {\n prefix: 'fab',\n iconName: 'unsplash',\n icon: [448, 512, [], \"e07c\", \"M448,230.17V480H0V230.17H141.13V355.09H306.87V230.17ZM306.87,32H141.13V156.91H306.87Z\"]\n};\nvar faYarn = {\n prefix: 'fab',\n iconName: 'yarn',\n icon: [496, 512, [], \"f7e3\", \"M393.9 345.2c-39 9.3-48.4 32.1-104 47.4 0 0-2.7 4-10.4 5.8-13.4 3.3-63.9 6-68.5 6.1-12.4.1-19.9-3.2-22-8.2-6.4-15.3 9.2-22 9.2-22-8.1-5-9-9.9-9.8-8.1-2.4 5.8-3.6 20.1-10.1 26.5-8.8 8.9-25.5 5.9-35.3.8-10.8-5.7.8-19.2.8-19.2s-5.8 3.4-10.5-3.6c-6-9.3-17.1-37.3 11.5-62-1.3-10.1-4.6-53.7 40.6-85.6 0 0-20.6-22.8-12.9-43.3 5-13.4 7-13.3 8.6-13.9 5.7-2.2 11.3-4.6 15.4-9.1 20.6-22.2 46.8-18 46.8-18s12.4-37.8 23.9-30.4c3.5 2.3 16.3 30.6 16.3 30.6s13.6-7.9 15.1-5c8.2 16 9.2 46.5 5.6 65.1-6.1 30.6-21.4 47.1-27.6 57.5-1.4 2.4 16.5 10 27.8 41.3 10.4 28.6 1.1 52.7 2.8 55.3.8 1.4 13.7.8 36.4-13.2 12.8-7.9 28.1-16.9 45.4-17 16.7-.5 17.6 19.2 4.9 22.2zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-79.3 75.2c-1.7-13.6-13.2-23-28-22.8-22 .3-40.5 11.7-52.8 19.2-4.8 3-8.9 5.2-12.4 6.8 3.1-44.5-22.5-73.1-28.7-79.4 7.8-11.3 18.4-27.8 23.4-53.2 4.3-21.7 3-55.5-6.9-74.5-1.6-3.1-7.4-11.2-21-7.4-9.7-20-13-22.1-15.6-23.8-1.1-.7-23.6-16.4-41.4 28-12.2.9-31.3 5.3-47.5 22.8-2 2.2-5.9 3.8-10.1 5.4h.1c-8.4 3-12.3 9.9-16.9 22.3-6.5 17.4.2 34.6 6.8 45.7-17.8 15.9-37 39.8-35.7 82.5-34 36-11.8 73-5.6 79.6-1.6 11.1 3.7 19.4 12 23.8 12.6 6.7 30.3 9.6 43.9 2.8 4.9 5.2 13.8 10.1 30 10.1 6.8 0 58-2.9 72.6-6.5 6.8-1.6 11.5-4.5 14.6-7.1 9.8-3.1 36.8-12.3 62.2-28.7 18-11.7 24.2-14.2 37.6-17.4 12.9-3.2 21-15.1 19.4-28.2z\"]\n};\nvar faSquareSteam = {\n prefix: 'fab',\n iconName: 'square-steam',\n icon: [448, 512, [\"steam-square\"], \"f1b7\", \"M185.2 356.5c7.7-18.5-1-39.7-19.6-47.4l-29.5-12.2c11.4-4.3 24.3-4.5 36.4.5 12.2 5.1 21.6 14.6 26.7 26.7 5 12.2 5 25.6-.1 37.7-10.5 25.1-39.4 37-64.6 26.5-11.6-4.8-20.4-13.6-25.4-24.2l28.5 11.8c18.6 7.8 39.9-.9 47.6-19.4zM400 32H48C21.5 32 0 53.5 0 80v160.7l116.6 48.1c12-8.2 26.2-12.1 40.7-11.3l55.4-80.2v-1.1c0-48.2 39.3-87.5 87.6-87.5s87.6 39.3 87.6 87.5c0 49.2-40.9 88.7-89.6 87.5l-79 56.3c1.6 38.5-29.1 68.8-65.7 68.8-31.8 0-58.5-22.7-64.5-52.7L0 319.2V432c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-99.7 222.5c-32.2 0-58.4-26.1-58.4-58.3s26.2-58.3 58.4-58.3 58.4 26.2 58.4 58.3-26.2 58.3-58.4 58.3zm.1-14.6c24.2 0 43.9-19.6 43.9-43.8 0-24.2-19.6-43.8-43.9-43.8-24.2 0-43.9 19.6-43.9 43.8 0 24.2 19.7 43.8 43.9 43.8z\"]\n};\nvar faSteamSquare = faSquareSteam;\nvar fa500px = {\n prefix: 'fab',\n iconName: '500px',\n icon: [448, 512, [], \"f26e\", \"M103.3 344.3c-6.5-14.2-6.9-18.3 7.4-23.1 25.6-8 8 9.2 43.2 49.2h.3v-93.9c1.2-50.2 44-92.2 97.7-92.2 53.9 0 97.7 43.5 97.7 96.8 0 63.4-60.8 113.2-128.5 93.3-10.5-4.2-2.1-31.7 8.5-28.6 53 0 89.4-10.1 89.4-64.4 0-61-77.1-89.6-116.9-44.6-23.5 26.4-17.6 42.1-17.6 157.6 50.7 31 118.3 22 160.4-20.1 24.8-24.8 38.5-58 38.5-93 0-35.2-13.8-68.2-38.8-93.3-24.8-24.8-57.8-38.5-93.3-38.5s-68.8 13.8-93.5 38.5c-.3.3-16 16.5-21.2 23.9l-.5.6c-3.3 4.7-6.3 9.1-20.1 6.1-6.9-1.7-14.3-5.8-14.3-11.8V20c0-5 3.9-10.5 10.5-10.5h241.3c8.3 0 8.3 11.6 8.3 15.1 0 3.9 0 15.1-8.3 15.1H130.3v132.9h.3c104.2-109.8 282.8-36 282.8 108.9 0 178.1-244.8 220.3-310.1 62.8zm63.3-260.8c-.5 4.2 4.6 24.5 14.6 20.6C306 56.6 384 144.5 390.6 144.5c4.8 0 22.8-15.3 14.3-22.8-93.2-89-234.5-57-238.3-38.2zM393 414.7C283 524.6 94 475.5 61 310.5c0-12.2-30.4-7.4-28.9 3.3 24 173.4 246 256.9 381.6 121.3 6.9-7.8-12.6-28.4-20.7-20.4zM213.6 306.6c0 4 4.3 7.3 5.5 8.5 3 3 6.1 4.4 8.5 4.4 3.8 0 2.6.2 22.3-19.5 19.6 19.3 19.1 19.5 22.3 19.5 5.4 0 18.5-10.4 10.7-18.2L265.6 284l18.2-18.2c6.3-6.8-10.1-21.8-16.2-15.7L249.7 268c-18.6-18.8-18.4-19.5-21.5-19.5-5 0-18 11.7-12.4 17.3L234 284c-18.1 17.9-20.4 19.2-20.4 22.6z\"]\n};\nvar faSquareVimeo = {\n prefix: 'fab',\n iconName: 'square-vimeo',\n icon: [448, 512, [\"vimeo-square\"], \"f194\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16.2 149.6c-1.4 31.1-23.2 73.8-65.3 127.9-43.5 56.5-80.3 84.8-110.4 84.8-18.7 0-34.4-17.2-47.3-51.6-25.2-92.3-35.9-146.4-56.7-146.4-2.4 0-10.8 5-25.1 15.1L64 192c36.9-32.4 72.1-68.4 94.1-70.4 24.9-2.4 40.2 14.6 46 51.1 20.5 129.6 29.6 149.2 66.8 90.5 13.4-21.2 20.6-37.2 21.5-48.3 3.4-32.8-25.6-30.6-45.2-22.2 15.7-51.5 45.8-76.5 90.1-75.1 32.9 1 48.4 22.4 46.5 64z\"]\n};\nvar faVimeoSquare = faSquareVimeo;\nvar faAsymmetrik = {\n prefix: 'fab',\n iconName: 'asymmetrik',\n icon: [576, 512, [], \"f372\", \"M517.5 309.2c38.8-40 58.1-80 58.5-116.1.8-65.5-59.4-118.2-169.4-135C277.9 38.4 118.1 73.6 0 140.5 52 114 110.6 92.3 170.7 82.3c74.5-20.5 153-25.4 221.3-14.8C544.5 91.3 588.8 195 490.8 299.2c-10.2 10.8-22 21.1-35 30.6L304.9 103.4 114.7 388.9c-65.6-29.4-76.5-90.2-19.1-151.2 20.8-22.2 48.3-41.9 79.5-58.1 20-12.2 39.7-22.6 62-30.7-65.1 20.3-122.7 52.9-161.6 92.9-27.7 28.6-41.4 57.1-41.7 82.9-.5 35.1 23.4 65.1 68.4 83l-34.5 51.7h101.6l22-34.4c22.2 1 45.3 0 68.6-2.7l-22.8 37.1h135.5L340 406.3c18.6-5.3 36.9-11.5 54.5-18.7l45.9 71.8H542L468.6 349c18.5-12.1 35-25.5 48.9-39.8zm-187.6 80.5l-25-40.6-32.7 53.3c-23.4 3.5-46.7 5.1-69.2 4.4l101.9-159.3 78.7 123c-17.2 7.4-35.3 13.9-53.7 19.2z\"]\n};\nvar faFontAwesome = {\n prefix: 'fab',\n iconName: 'font-awesome',\n icon: [448, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", \"M448 48V384C385 407 366 416 329 416C266 416 242 384 179 384C159 384 143 388 128 392V328C143 324 159 320 179 320C242 320 266 352 329 352C349 352 364 349 384 343V135C364 141 349 144 329 144C266 144 242 112 179 112C128 112 104 133 64 141V448C64 466 50 480 32 480S0 466 0 448V64C0 46 14 32 32 32S64 46 64 64V77C104 69 128 48 179 48C242 48 266 80 329 80C366 80 385 71 448 48Z\"]\n};\nvar faFontAwesomeFlag = faFontAwesome;\nvar faFontAwesomeLogoFull = faFontAwesome;\nvar faGratipay = {\n prefix: 'fab',\n iconName: 'gratipay',\n icon: [496, 512, [], \"f184\", \"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm114.6 226.4l-113 152.7-112.7-152.7c-8.7-11.9-19.1-50.4 13.6-72 28.1-18.1 54.6-4.2 68.5 11.9 15.9 17.9 46.6 16.9 61.7 0 13.9-16.1 40.4-30 68.1-11.9 32.9 21.6 22.6 60 13.8 72z\"]\n};\nvar faApple = {\n prefix: 'fab',\n iconName: 'apple',\n icon: [384, 512, [], \"f179\", \"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z\"]\n};\nvar faHive = {\n prefix: 'fab',\n iconName: 'hive',\n icon: [512, 512, [], \"e07f\", \"M260.353,254.878,131.538,33.1a2.208,2.208,0,0,0-3.829.009L.3,254.887A2.234,2.234,0,0,0,.3,257.122L129.116,478.9a2.208,2.208,0,0,0,3.83-.009L260.358,257.113A2.239,2.239,0,0,0,260.353,254.878Zm39.078-25.713a2.19,2.19,0,0,0,1.9,1.111h66.509a2.226,2.226,0,0,0,1.9-3.341L259.115,33.111a2.187,2.187,0,0,0-1.9-1.111H190.707a2.226,2.226,0,0,0-1.9,3.341ZM511.7,254.886,384.9,33.112A2.2,2.2,0,0,0,382.99,32h-66.6a2.226,2.226,0,0,0-1.906,3.34L440.652,256,314.481,476.66a2.226,2.226,0,0,0,1.906,3.34h66.6a2.2,2.2,0,0,0,1.906-1.112L511.7,257.114A2.243,2.243,0,0,0,511.7,254.886ZM366.016,284.917H299.508a2.187,2.187,0,0,0-1.9,1.111l-108.8,190.631a2.226,2.226,0,0,0,1.9,3.341h66.509a2.187,2.187,0,0,0,1.9-1.111l108.8-190.631A2.226,2.226,0,0,0,366.016,284.917Z\"]\n};\nvar faGitkraken = {\n prefix: 'fab',\n iconName: 'gitkraken',\n icon: [592, 512, [], \"f3a6\", \"M565.7 118.1c-2.3-6.1-9.3-9.2-15.3-6.6-5.7 2.4-8.5 8.9-6.3 14.6 10.9 29 16.9 60.5 16.9 93.3 0 134.6-100.3 245.7-230.2 262.7V358.4c7.9-1.5 15.5-3.6 23-6.2v104c106.7-25.9 185.9-122.1 185.9-236.8 0-91.8-50.8-171.8-125.8-213.3-5.7-3.2-13-.9-15.9 5-2.7 5.5-.6 12.2 4.7 15.1 67.9 37.6 113.9 110 113.9 193.2 0 93.3-57.9 173.1-139.8 205.4v-92.2c14.2-4.5 24.9-17.7 24.9-33.5 0-13.1-6.8-24.4-17.3-30.5 8.3-79.5 44.5-58.6 44.5-83.9V170c0-38-87.9-161.8-129-164.7-2.5-.2-5-.2-7.6 0C251.1 8.3 163.2 132 163.2 170v14.8c0 25.3 36.3 4.3 44.5 83.9-10.6 6.1-17.3 17.4-17.3 30.5 0 15.8 10.6 29 24.8 33.5v92.2c-81.9-32.2-139.8-112-139.8-205.4 0-83.1 46-155.5 113.9-193.2 5.4-3 7.4-9.6 4.7-15.1-2.9-5.9-10.1-8.2-15.9-5-75 41.5-125.8 121.5-125.8 213.3 0 114.7 79.2 210.8 185.9 236.8v-104c7.6 2.5 15.1 4.6 23 6.2v123.7C131.4 465.2 31 354.1 31 219.5c0-32.8 6-64.3 16.9-93.3 2.2-5.8-.6-12.2-6.3-14.6-6-2.6-13 .4-15.3 6.6C14.5 149.7 8 183.8 8 219.5c0 155.1 122.6 281.6 276.3 287.8V361.4c6.8.4 15 .5 23.4 0v145.8C461.4 501.1 584 374.6 584 219.5c0-35.7-6.5-69.8-18.3-101.4zM365.9 275.5c13 0 23.7 10.5 23.7 23.7 0 13.1-10.6 23.7-23.7 23.7-13 0-23.7-10.5-23.7-23.7 0-13.1 10.6-23.7 23.7-23.7zm-139.8 47.3c-13.2 0-23.7-10.7-23.7-23.7s10.5-23.7 23.7-23.7c13.1 0 23.7 10.6 23.7 23.7 0 13-10.5 23.7-23.7 23.7z\"]\n};\nvar faKeybase = {\n prefix: 'fab',\n iconName: 'keybase',\n icon: [448, 512, [], \"f4f5\", \"M286.17 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18zm111.92-147.6c-9.5-14.62-39.37-52.45-87.26-73.71q-9.1-4.06-18.38-7.27a78.43 78.43 0 0 0-47.88-104.13c-12.41-4.1-23.33-6-32.41-5.77-.6-2-1.89-11 9.4-35L198.66 32l-5.48 7.56c-8.69 12.06-16.92 23.55-24.34 34.89a51 51 0 0 0-8.29-1.25c-41.53-2.45-39-2.33-41.06-2.33-50.61 0-50.75 52.12-50.75 45.88l-2.36 36.68c-1.61 27 19.75 50.21 47.63 51.85l8.93.54a214 214 0 0 0-46.29 35.54C14 304.66 14 374 14 429.77v33.64l23.32-29.8a148.6 148.6 0 0 0 14.56 37.56c5.78 10.13 14.87 9.45 19.64 7.33 4.21-1.87 10-6.92 3.75-20.11a178.29 178.29 0 0 1-15.76-53.13l46.82-59.83-24.66 74.11c58.23-42.4 157.38-61.76 236.25-38.59 34.2 10.05 67.45.69 84.74-23.84.72-1 1.2-2.16 1.85-3.22a156.09 156.09 0 0 1 2.8 28.43c0 23.3-3.69 52.93-14.88 81.64-2.52 6.46 1.76 14.5 8.6 15.74 7.42 1.57 15.33-3.1 18.37-11.15C429 443 434 414 434 382.32c0-38.58-13-77.46-35.91-110.92zM142.37 128.58l-15.7-.93-1.39 21.79 13.13.78a93 93 0 0 0 .32 19.57l-22.38-1.34a12.28 12.28 0 0 1-11.76-12.79L107 119c1-12.17 13.87-11.27 13.26-11.32l29.11 1.73a144.35 144.35 0 0 0-7 19.17zm148.42 172.18a10.51 10.51 0 0 1-14.35-1.39l-9.68-11.49-34.42 27a8.09 8.09 0 0 1-11.13-1.08l-15.78-18.64a7.38 7.38 0 0 1 1.34-10.34l34.57-27.18-14.14-16.74-17.09 13.45a7.75 7.75 0 0 1-10.59-1s-3.72-4.42-3.8-4.53a7.38 7.38 0 0 1 1.37-10.34L214 225.19s-18.51-22-18.6-22.14a9.56 9.56 0 0 1 1.74-13.42 10.38 10.38 0 0 1 14.3 1.37l81.09 96.32a9.58 9.58 0 0 1-1.74 13.44zM187.44 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18z\"]\n};\nvar faApplePay = {\n prefix: 'fab',\n iconName: 'apple-pay',\n icon: [640, 512, [], \"f415\", \"M116.9 158.5c-7.5 8.9-19.5 15.9-31.5 14.9-1.5-12 4.4-24.8 11.3-32.6 7.5-9.1 20.6-15.6 31.3-16.1 1.2 12.4-3.7 24.7-11.1 33.8m10.9 17.2c-17.4-1-32.3 9.9-40.5 9.9-8.4 0-21-9.4-34.8-9.1-17.9.3-34.5 10.4-43.6 26.5-18.8 32.3-4.9 80 13.3 106.3 8.9 13 19.5 27.3 33.5 26.8 13.3-.5 18.5-8.6 34.5-8.6 16.1 0 20.8 8.6 34.8 8.4 14.5-.3 23.6-13 32.5-26 10.1-14.8 14.3-29.1 14.5-29.9-.3-.3-28-10.9-28.3-42.9-.3-26.8 21.9-39.5 22.9-40.3-12.5-18.6-32-20.6-38.8-21.1m100.4-36.2v194.9h30.3v-66.6h41.9c38.3 0 65.1-26.3 65.1-64.3s-26.4-64-64.1-64h-73.2zm30.3 25.5h34.9c26.3 0 41.3 14 41.3 38.6s-15 38.8-41.4 38.8h-34.8V165zm162.2 170.9c19 0 36.6-9.6 44.6-24.9h.6v23.4h28v-97c0-28.1-22.5-46.3-57.1-46.3-32.1 0-55.9 18.4-56.8 43.6h27.3c2.3-12 13.4-19.9 28.6-19.9 18.5 0 28.9 8.6 28.9 24.5v10.8l-37.8 2.3c-35.1 2.1-54.1 16.5-54.1 41.5.1 25.2 19.7 42 47.8 42zm8.2-23.1c-16.1 0-26.4-7.8-26.4-19.6 0-12.3 9.9-19.4 28.8-20.5l33.6-2.1v11c0 18.2-15.5 31.2-36 31.2zm102.5 74.6c29.5 0 43.4-11.3 55.5-45.4L640 193h-30.8l-35.6 115.1h-.6L537.4 193h-31.6L557 334.9l-2.8 8.6c-4.6 14.6-12.1 20.3-25.5 20.3-2.4 0-7-.3-8.9-.5v23.4c1.8.4 9.3.7 11.6.7z\"]\n};\nvar faPadlet = {\n prefix: 'fab',\n iconName: 'padlet',\n icon: [640, 512, [], \"e4a0\", \"M297.9 0L298 .001C305.6 .1078 312.4 4.72 315.5 11.78L447.5 320.3L447.8 320.2L448 320.6L445.2 330.6L402.3 488.6C398.6 504.8 382.6 514.9 366.5 511.2L298.1 495.6L229.6 511.2C213.5 514.9 197.5 504.8 193.8 488.6L150.9 330.6L148.2 320.6L148.3 320.2L280.4 11.78C283.4 4.797 290.3 .1837 297.9 .0006L297.9 0zM160.1 322.1L291.1 361.2L298 483.7L305.9 362.2L436.5 322.9L436.7 322.8L305.7 347.9L297.1 27.72L291.9 347.9L160.1 322.1zM426 222.6L520.4 181.6H594.2L437.2 429.2L468.8 320.2L426 222.6zM597.5 181.4L638.9 257.6C642.9 265.1 635 273.5 627.3 269.8L579.7 247.1L597.5 181.4zM127.3 318.5L158.7 430L1.61 154.5C-4.292 144.1 7.128 132.5 17.55 138.3L169.4 222.5L127.3 318.5z\"]\n};\nvar faAmazonPay = {\n prefix: 'fab',\n iconName: 'amazon-pay',\n icon: [640, 512, [], \"f42c\", \"M14 325.3c2.3-4.2 5.2-4.9 9.7-2.5 10.4 5.6 20.6 11.4 31.2 16.7a595.88 595.88 0 0 0 127.4 46.3 616.61 616.61 0 0 0 63.2 11.8 603.33 603.33 0 0 0 95 5.2c17.4-.4 34.8-1.8 52.1-3.8a603.66 603.66 0 0 0 163.3-42.8c2.9-1.2 5.9-2 9.1-1.2 6.7 1.8 9 9 4.1 13.9a70 70 0 0 1-9.6 7.4c-30.7 21.1-64.2 36.4-99.6 47.9a473.31 473.31 0 0 1-75.1 17.6 431 431 0 0 1-53.2 4.8 21.3 21.3 0 0 0-2.5.3H308a21.3 21.3 0 0 0-2.5-.3c-3.6-.2-7.2-.3-10.7-.4a426.3 426.3 0 0 1-50.4-5.3A448.4 448.4 0 0 1 164 420a443.33 443.33 0 0 1-145.6-87c-1.8-1.6-3-3.8-4.4-5.7zM172 65.1l-4.3.6a80.92 80.92 0 0 0-38 15.1c-2.4 1.7-4.6 3.5-7.1 5.4a4.29 4.29 0 0 1-.4-1.4c-.4-2.7-.8-5.5-1.3-8.2-.7-4.6-3-6.6-7.6-6.6h-11.5c-6.9 0-8.2 1.3-8.2 8.2v209.3c0 1 0 2 .1 3 .2 3 2 4.9 4.9 5 7 .1 14.1.1 21.1 0 2.9 0 4.7-2 5-5 .1-1 .1-2 .1-3v-72.4c1.1.9 1.7 1.4 2.2 1.9 17.9 14.9 38.5 19.8 61 15.4 20.4-4 34.6-16.5 43.8-34.9 7-13.9 9.9-28.7 10.3-44.1.5-17.1-1.2-33.9-8.1-49.8-8.5-19.6-22.6-32.5-43.9-36.9-3.2-.7-6.5-1-9.8-1.5-2.8-.1-5.5-.1-8.3-.1zM124.6 107a3.48 3.48 0 0 1 1.7-3.3c13.7-9.5 28.8-14.5 45.6-13.2 14.9 1.1 27.1 8.4 33.5 25.9 3.9 10.7 4.9 21.8 4.9 33 0 10.4-.8 20.6-4 30.6-6.8 21.3-22.4 29.4-42.6 28.5-14-.6-26.2-6-37.4-13.9a3.57 3.57 0 0 1-1.7-3.3c.1-14.1 0-28.1 0-42.2s.1-28 0-42.1zm205.7-41.9c-1 .1-2 .3-2.9.4a148 148 0 0 0-28.9 4.1c-6.1 1.6-12 3.8-17.9 5.8-3.6 1.2-5.4 3.8-5.3 7.7.1 3.3-.1 6.6 0 9.9.1 4.8 2.1 6.1 6.8 4.9 7.8-2 15.6-4.2 23.5-5.7 12.3-2.3 24.7-3.3 37.2-1.4 6.5 1 12.6 2.9 16.8 8.4 3.7 4.8 5.1 10.5 5.3 16.4.3 8.3.2 16.6.3 24.9a7.84 7.84 0 0 1-.2 1.4c-.5-.1-.9 0-1.3-.1a180.56 180.56 0 0 0-32-4.9c-11.3-.6-22.5.1-33.3 3.9-12.9 4.5-23.3 12.3-29.4 24.9-4.7 9.8-5.4 20.2-3.9 30.7 2 14 9 24.8 21.4 31.7 11.9 6.6 24.8 7.4 37.9 5.4 15.1-2.3 28.5-8.7 40.3-18.4a7.36 7.36 0 0 1 1.6-1.1c.6 3.8 1.1 7.4 1.8 11 .6 3.1 2.5 5.1 5.4 5.2 5.4.1 10.9.1 16.3 0a4.84 4.84 0 0 0 4.8-4.7 26.2 26.2 0 0 0 .1-2.8v-106a80 80 0 0 0-.9-12.9c-1.9-12.9-7.4-23.5-19-30.4-6.7-4-14.1-6-21.8-7.1-3.6-.5-7.2-.8-10.8-1.3-3.9.1-7.9.1-11.9.1zm35 127.7a3.33 3.33 0 0 1-1.5 3c-11.2 8.1-23.5 13.5-37.4 14.9-5.7.6-11.4.4-16.8-1.8a20.08 20.08 0 0 1-12.4-13.3 32.9 32.9 0 0 1-.1-19.4c2.5-8.3 8.4-13 16.4-15.6a61.33 61.33 0 0 1 24.8-2.2c8.4.7 16.6 2.3 25 3.4 1.6.2 2.1 1 2.1 2.6-.1 4.8 0 9.5 0 14.3s-.2 9.4-.1 14.1zm259.9 129.4c-1-5-4.8-6.9-9.1-8.3a88.42 88.42 0 0 0-21-3.9 147.32 147.32 0 0 0-39.2 1.9c-14.3 2.7-27.9 7.3-40 15.6a13.75 13.75 0 0 0-3.7 3.5 5.11 5.11 0 0 0-.5 4c.4 1.5 2.1 1.9 3.6 1.8a16.2 16.2 0 0 0 2.2-.1c7.8-.8 15.5-1.7 23.3-2.5 11.4-1.1 22.9-1.8 34.3-.9a71.64 71.64 0 0 1 14.4 2.7c5.1 1.4 7.4 5.2 7.6 10.4.4 8-1.4 15.7-3.5 23.3-4.1 15.4-10 30.3-15.8 45.1a17.6 17.6 0 0 0-1 3c-.5 2.9 1.2 4.8 4.1 4.1a10.56 10.56 0 0 0 4.8-2.5 145.91 145.91 0 0 0 12.7-13.4c12.8-16.4 20.3-35.3 24.7-55.6.8-3.6 1.4-7.3 2.1-10.9v-17.3zM493.1 199q-19.35-53.55-38.7-107.2c-2-5.7-4.2-11.3-6.3-16.9-1.1-2.9-3.2-4.8-6.4-4.8-7.6-.1-15.2-.2-22.9-.1-2.5 0-3.7 2-3.2 4.5a43.1 43.1 0 0 0 1.9 6.1q29.4 72.75 59.1 145.5c1.7 4.1 2.1 7.6.2 11.8-3.3 7.3-5.9 15-9.3 22.3-3 6.5-8 11.4-15.2 13.3a42.13 42.13 0 0 1-15.4 1.1c-2.5-.2-5-.8-7.5-1-3.4-.2-5.1 1.3-5.2 4.8q-.15 5 0 9.9c.1 5.5 2 8 7.4 8.9a108.18 108.18 0 0 0 16.9 2c17.1.4 30.7-6.5 39.5-21.4a131.63 131.63 0 0 0 9.2-18.4q35.55-89.7 70.6-179.6a26.62 26.62 0 0 0 1.6-5.5c.4-2.8-.9-4.4-3.7-4.4-6.6-.1-13.3 0-19.9 0a7.54 7.54 0 0 0-7.7 5.2c-.5 1.4-1.1 2.7-1.6 4.1l-34.8 100c-2.5 7.2-5.1 14.5-7.7 22.2-.4-1.1-.6-1.7-.9-2.4z\"]\n};\nvar faSquareGithub = {\n prefix: 'fab',\n iconName: 'square-github',\n icon: [448, 512, [\"github-square\"], \"f092\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM277.3 415.7c-8.4 1.5-11.5-3.7-11.5-8 0-5.4.2-33 .2-55.3 0-15.6-5.2-25.5-11.3-30.7 37-4.1 76-9.2 76-73.1 0-18.2-6.5-27.3-17.1-39 1.7-4.3 7.4-22-1.7-45-13.9-4.3-45.7 17.9-45.7 17.9-13.2-3.7-27.5-5.6-41.6-5.6-14.1 0-28.4 1.9-41.6 5.6 0 0-31.8-22.2-45.7-17.9-9.1 22.9-3.5 40.6-1.7 45-10.6 11.7-15.6 20.8-15.6 39 0 63.6 37.3 69 74.3 73.1-4.8 4.3-9.1 11.7-10.6 22.3-9.5 4.3-33.8 11.7-48.3-13.9-9.1-15.8-25.5-17.1-25.5-17.1-16.2-.2-1.1 10.2-1.1 10.2 10.8 5 18.4 24.2 18.4 24.2 9.7 29.7 56.1 19.7 56.1 19.7 0 13.9.2 36.5.2 40.6 0 4.3-3 9.5-11.5 8-66-22.1-112.2-84.9-112.2-158.3 0-91.8 70.2-161.5 162-161.5S388 165.6 388 257.4c.1 73.4-44.7 136.3-110.7 158.3zm-98.1-61.1c-1.9.4-3.7-.4-3.9-1.7-.2-1.5 1.1-2.8 3-3.2 1.9-.2 3.7.6 3.9 1.9.3 1.3-1 2.6-3 3zm-9.5-.9c0 1.3-1.5 2.4-3.5 2.4-2.2.2-3.7-.9-3.7-2.4 0-1.3 1.5-2.4 3.5-2.4 1.9-.2 3.7.9 3.7 2.4zm-13.7-1.1c-.4 1.3-2.4 1.9-4.1 1.3-1.9-.4-3.2-1.9-2.8-3.2.4-1.3 2.4-1.9 4.1-1.5 2 .6 3.3 2.1 2.8 3.4zm-12.3-5.4c-.9 1.1-2.8.9-4.3-.6-1.5-1.3-1.9-3.2-.9-4.1.9-1.1 2.8-.9 4.3.6 1.3 1.3 1.8 3.3.9 4.1zm-9.1-9.1c-.9.6-2.6 0-3.7-1.5s-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3 1.1 1.5 1.1 3.3 0 4.1zm-6.5-9.7c-.9.9-2.4.4-3.5-.6-1.1-1.3-1.3-2.8-.4-3.5.9-.9 2.4-.4 3.5.6 1.1 1.3 1.3 2.8.4 3.5zm-6.7-7.4c-.4.9-1.7 1.1-2.8.4-1.3-.6-1.9-1.7-1.5-2.6.4-.6 1.5-.9 2.8-.4 1.3.7 1.9 1.8 1.5 2.6z\"]\n};\nvar faGithubSquare = faSquareGithub;\nvar faStumbleupon = {\n prefix: 'fab',\n iconName: 'stumbleupon',\n icon: [512, 512, [], \"f1a4\", \"M502.9 266v69.7c0 62.1-50.3 112.4-112.4 112.4-61.8 0-112.4-49.8-112.4-111.3v-70.2l34.3 16 51.1-15.2V338c0 14.7 12 26.5 26.7 26.5S417 352.7 417 338v-72h85.9zm-224.7-58.2l34.3 16 51.1-15.2V173c0-60.5-51.1-109-112.1-109-60.8 0-112.1 48.2-112.1 108.2v162.4c0 14.9-12 26.7-26.7 26.7S86 349.5 86 334.6V266H0v69.7C0 397.7 50.3 448 112.4 448c61.6 0 112.4-49.5 112.4-110.8V176.9c0-14.7 12-26.7 26.7-26.7s26.7 12 26.7 26.7v30.9z\"]\n};\nvar faFedex = {\n prefix: 'fab',\n iconName: 'fedex',\n icon: [640, 512, [], \"f797\", \"M586 284.5l53.3-59.9h-62.4l-21.7 24.8-22.5-24.8H414v-16h56.1v-48.1H318.9V236h-.5c-9.6-11-21.5-14.8-35.4-14.8-28.4 0-49.8 19.4-57.3 44.9-18-59.4-97.4-57.6-121.9-14v-24.2H49v-26.2h60v-41.1H0V345h49v-77.5h48.9c-1.5 5.7-2.3 11.8-2.3 18.2 0 73.1 102.6 91.4 130.2 23.7h-42c-14.7 20.9-45.8 8.9-45.8-14.6h85.5c3.7 30.5 27.4 56.9 60.1 56.9 14.1 0 27-6.9 34.9-18.6h.5V345h212.2l22.1-25 22.3 25H640l-54-60.5zm-446.7-16.6c6.1-26.3 41.7-25.6 46.5 0h-46.5zm153.4 48.9c-34.6 0-34-62.8 0-62.8 32.6 0 34.5 62.8 0 62.8zm167.8 19.1h-94.4V169.4h95v30.2H405v33.9h55.5v28.1h-56.1v44.7h56.1v29.6zm-45.9-39.8v-24.4h56.1v-44l50.7 57-50.7 57v-45.6h-56.1zm138.6 10.3l-26.1 29.5H489l45.6-51.2-45.6-51.2h39.7l26.6 29.3 25.6-29.3h38.5l-45.4 51 46 51.4h-40.5l-26.3-29.5z\"]\n};\nvar faPhoenixFramework = {\n prefix: 'fab',\n iconName: 'phoenix-framework',\n icon: [640, 512, [], \"f3dc\", \"M212.9 344.3c3.8-.1 22.8-1.4 25.6-2.2-2.4-2.6-43.6-1-68-49.6-4.3-8.6-7.5-17.6-6.4-27.6 2.9-25.5 32.9-30 52-18.5 36 21.6 63.3 91.3 113.7 97.5 37 4.5 84.6-17 108.2-45.4-.6-.1-.8-.2-1-.1-.4.1-.8.2-1.1.3-33.3 12.1-94.3 9.7-134.7-14.8-37.6-22.8-53.1-58.7-51.8-74.6 1.8-21.3 22.9-23.2 35.9-19.6 14.4 3.9 24.4 17.6 38.9 27.4 15.6 10.4 32.9 13.7 51.3 10.3 14.9-2.7 34.4-12.3 36.5-14.5-1.1-.1-1.8-.1-2.5-.2-6.2-.6-12.4-.8-18.5-1.7C279.8 194.5 262.1 47.4 138.5 37.9 94.2 34.5 39.1 46 2.2 72.9c-.8.6-1.5 1.2-2.2 1.8.1.2.1.3.2.5.8 0 1.6-.1 2.4-.2 6.3-1 12.5-.8 18.7.3 23.8 4.3 47.7 23.1 55.9 76.5 5.3 34.3-.7 50.8 8 86.1 19 77.1 91 107.6 127.7 106.4zM75.3 64.9c-.9-1-.9-1.2-1.3-2 12.1-2.6 24.2-4.1 36.6-4.8-1.1 14.7-22.2 21.3-35.3 6.8zm196.9 350.5c-42.8 1.2-92-26.7-123.5-61.4-4.6-5-16.8-20.2-18.6-23.4l.4-.4c6.6 4.1 25.7 18.6 54.8 27 24.2 7 48.1 6.3 71.6-3.3 22.7-9.3 41-.5 43.1 2.9-18.5 3.8-20.1 4.4-24 7.9-5.1 4.4-4.6 11.7 7 17.2 26.2 12.4 63-2.8 97.2 25.4 2.4 2 8.1 7.8 10.1 10.7-.1.2-.3.3-.4.5-4.8-1.5-16.4-7.5-40.2-9.3-24.7-2-46.3 5.3-77.5 6.2zm174.8-252c16.4-5.2 41.3-13.4 66.5-3.3 16.1 6.5 26.2 18.7 32.1 34.6 3.5 9.4 5.1 19.7 5.1 28.7-.2 0-.4 0-.6.1-.2-.4-.4-.9-.5-1.3-5-22-29.9-43.8-67.6-29.9-50.2 18.6-130.4 9.7-176.9-48-.7-.9-2.4-1.7-1.3-3.2.1-.2 2.1.6 3 1.3 18.1 13.4 38.3 21.9 60.3 26.2 30.5 6.1 54.6 2.9 79.9-5.2zm102.7 117.5c-32.4.2-33.8 50.1-103.6 64.4-18.2 3.7-38.7 4.6-44.9 4.2v-.4c2.8-1.5 14.7-2.6 29.7-16.6 7.9-7.3 15.3-15.1 22.8-22.9 19.5-20.2 41.4-42.2 81.9-39 23.1 1.8 29.3 8.2 36.1 12.7.3.2.4.5.7.9-.5 0-.7.1-.9 0-7-2.7-14.3-3.3-21.8-3.3zm-12.3-24.1c-.1.2-.1.4-.2.6-28.9-4.4-48-7.9-68.5 4-17 9.9-31.4 20.5-62 24.4-27.1 3.4-45.1 2.4-66.1-8-.3-.2-.6-.4-1-.6 0-.2.1-.3.1-.5 24.9 3.8 36.4 5.1 55.5-5.8 22.3-12.9 40.1-26.6 71.3-31 29.6-4.1 51.3 2.5 70.9 16.9zM268.6 97.3c-.6-.6-1.1-1.2-2.1-2.3 7.6 0 29.7-1.2 53.4 8.4 19.7 8 32.2 21 50.2 32.9 11.1 7.3 23.4 9.3 36.4 8.1 4.3-.4 8.5-1.2 12.8-1.7.4-.1.9 0 1.5.3-.6.4-1.2.9-1.8 1.2-8.1 4-16.7 6.3-25.6 7.1-26.1 2.6-50.3-3.7-73.4-15.4-19.3-9.9-36.4-22.9-51.4-38.6zM640 335.7c-3.5 3.1-22.7 11.6-42.7 5.3-12.3-3.9-19.5-14.9-31.6-24.1-10-7.6-20.9-7.9-28.1-8.4.6-.8.9-1.2 1.2-1.4 14.8-9.2 30.5-12.2 47.3-6.5 12.5 4.2 19.2 13.5 30.4 24.2 10.8 10.4 21 9.9 23.1 10.5.1-.1.2 0 .4.4zm-212.5 137c2.2 1.2 1.6 1.5 1.5 2-18.5-1.4-33.9-7.6-46.8-22.2-21.8-24.7-41.7-27.9-48.6-29.7.5-.2.8-.4 1.1-.4 13.1.1 26.1.7 38.9 3.9 25.3 6.4 35 25.4 41.6 35.3 3.2 4.8 7.3 8.3 12.3 11.1z\"]\n};\nvar faShopify = {\n prefix: 'fab',\n iconName: 'shopify',\n icon: [448, 512, [], \"e057\", \"M388.32,104.1a4.66,4.66,0,0,0-4.4-4c-2,0-37.23-.8-37.23-.8s-21.61-20.82-29.62-28.83V503.2L442.76,472S388.72,106.5,388.32,104.1ZM288.65,70.47a116.67,116.67,0,0,0-7.21-17.61C271,32.85,255.42,22,237,22a15,15,0,0,0-4,.4c-.4-.8-1.2-1.2-1.6-2C223.4,11.63,213,7.63,200.58,8c-24,.8-48,18-67.25,48.83-13.61,21.62-24,48.84-26.82,70.06-27.62,8.4-46.83,14.41-47.23,14.81-14,4.4-14.41,4.8-16,18-1.2,10-38,291.82-38,291.82L307.86,504V65.67a41.66,41.66,0,0,0-4.4.4S297.86,67.67,288.65,70.47ZM233.41,87.69c-16,4.8-33.63,10.4-50.84,15.61,4.8-18.82,14.41-37.63,25.62-50,4.4-4.4,10.41-9.61,17.21-12.81C232.21,54.86,233.81,74.48,233.41,87.69ZM200.58,24.44A27.49,27.49,0,0,1,215,28c-6.4,3.2-12.81,8.41-18.81,14.41-15.21,16.42-26.82,42-31.62,66.45-14.42,4.41-28.83,8.81-42,12.81C131.33,83.28,163.75,25.24,200.58,24.44ZM154.15,244.61c1.6,25.61,69.25,31.22,73.25,91.66,2.8,47.64-25.22,80.06-65.65,82.47-48.83,3.2-75.65-25.62-75.65-25.62l10.4-44s26.82,20.42,48.44,18.82c14-.8,19.22-12.41,18.81-20.42-2-33.62-57.24-31.62-60.84-86.86-3.2-46.44,27.22-93.27,94.47-97.68,26-1.6,39.23,4.81,39.23,4.81L221.4,225.39s-17.21-8-37.63-6.4C154.15,221,153.75,239.8,154.15,244.61ZM249.42,82.88c0-12-1.6-29.22-7.21-43.63,18.42,3.6,27.22,24,31.23,36.43Q262.63,78.68,249.42,82.88Z\"]\n};\nvar faNeos = {\n prefix: 'fab',\n iconName: 'neos',\n icon: [512, 512, [], \"f612\", \"M415.44 512h-95.11L212.12 357.46v91.1L125.69 512H28V29.82L68.47 0h108.05l123.74 176.13V63.45L386.69 0h97.69v461.5zM38.77 35.27V496l72-52.88V194l215.5 307.64h84.79l52.35-38.17h-78.27L69 13zm82.54 466.61l80-58.78v-101l-79.76-114.4v220.94L49 501.89h72.34zM80.63 10.77l310.6 442.57h82.37V10.77h-79.75v317.56L170.91 10.77zM311 191.65l72 102.81V15.93l-72 53v122.72z\"]\n};\nvar faHackerrank = {\n prefix: 'fab',\n iconName: 'hackerrank',\n icon: [512, 512, [], \"f5f7\", \"M477.5 128C463 103.05 285.13 0 256.16 0S49.25 102.79 34.84 128s-14.49 230.8 0 256 192.38 128 221.32 128S463 409.08 477.49 384s14.51-231 .01-256zM316.13 414.22c-4 0-40.91-35.77-38-38.69.87-.87 6.26-1.48 17.55-1.83 0-26.23.59-68.59.94-86.32 0-2-.44-3.43-.44-5.85h-79.93c0 7.1-.46 36.2 1.37 72.88.23 4.54-1.58 6-5.74 5.94-10.13 0-20.27-.11-30.41-.08-4.1 0-5.87-1.53-5.74-6.11.92-33.44 3-84-.15-212.67v-3.17c-9.67-.35-16.38-1-17.26-1.84-2.92-2.92 34.54-38.69 38.49-38.69s41.17 35.78 38.27 38.69c-.87.87-7.9 1.49-16.77 1.84v3.16c-2.42 25.75-2 79.59-2.63 105.39h80.26c0-4.55.39-34.74-1.2-83.64-.1-3.39.95-5.17 4.21-5.2 11.07-.08 22.15-.13 33.23-.06 3.46 0 4.57 1.72 4.5 5.38C333 354.64 336 341.29 336 373.69c8.87.35 16.82 1 17.69 1.84 2.88 2.91-33.62 38.69-37.58 38.69z\"]\n};\nvar faResearchgate = {\n prefix: 'fab',\n iconName: 'researchgate',\n icon: [448, 512, [], \"f4f8\", \"M0 32v448h448V32H0zm262.2 334.4c-6.6 3-33.2 6-50-14.2-9.2-10.6-25.3-33.3-42.2-63.6-8.9 0-14.7 0-21.4-.6v46.4c0 23.5 6 21.2 25.8 23.9v8.1c-6.9-.3-23.1-.8-35.6-.8-13.1 0-26.1.6-33.6.8v-8.1c15.5-2.9 22-1.3 22-23.9V225c0-22.6-6.4-21-22-23.9V193c25.8 1 53.1-.6 70.9-.6 31.7 0 55.9 14.4 55.9 45.6 0 21.1-16.7 42.2-39.2 47.5 13.6 24.2 30 45.6 42.2 58.9 7.2 7.8 17.2 14.7 27.2 14.7v7.3zm22.9-135c-23.3 0-32.2-15.7-32.2-32.2V167c0-12.2 8.8-30.4 34-30.4s30.4 17.9 30.4 17.9l-10.7 7.2s-5.5-12.5-19.7-12.5c-7.9 0-19.7 7.3-19.7 19.7v26.8c0 13.4 6.6 23.3 17.9 23.3 14.1 0 21.5-10.9 21.5-26.8h-17.9v-10.7h30.4c0 20.5 4.7 49.9-34 49.9zm-116.5 44.7c-9.4 0-13.6-.3-20-.8v-69.7c6.4-.6 15-.6 22.5-.6 23.3 0 37.2 12.2 37.2 34.5 0 21.9-15 36.6-39.7 36.6z\"]\n};\nvar faSwift = {\n prefix: 'fab',\n iconName: 'swift',\n icon: [448, 512, [], \"f8e1\", \"M448 156.09c0-4.51-.08-9-.2-13.52a196.31 196.31 0 0 0-2.58-29.42 99.62 99.62 0 0 0-9.22-28A94.08 94.08 0 0 0 394.84 44a99.17 99.17 0 0 0-28-9.22 195 195 0 0 0-29.43-2.59c-4.51-.12-9-.17-13.52-.2H124.14c-4.51 0-9 .08-13.52.2-2.45.07-4.91.15-7.37.27a171.68 171.68 0 0 0-22.06 2.32 103.06 103.06 0 0 0-21.21 6.1q-3.46 1.45-6.81 3.12a94.66 94.66 0 0 0-18.39 12.32c-1.88 1.61-3.69 3.28-5.43 5A93.86 93.86 0 0 0 12 85.17a99.45 99.45 0 0 0-9.22 28 196.31 196.31 0 0 0-2.54 29.4c-.13 4.51-.18 9-.21 13.52v199.83c0 4.51.08 9 .21 13.51a196.08 196.08 0 0 0 2.58 29.42 99.3 99.3 0 0 0 9.22 28A94.31 94.31 0 0 0 53.17 468a99.47 99.47 0 0 0 28 9.21 195 195 0 0 0 29.43 2.59c4.5.12 9 .17 13.52.2H323.91c4.51 0 9-.08 13.52-.2a196.59 196.59 0 0 0 29.44-2.59 99.57 99.57 0 0 0 28-9.21A94.22 94.22 0 0 0 436 426.84a99.3 99.3 0 0 0 9.22-28 194.79 194.79 0 0 0 2.59-29.42c.12-4.5.17-9 .2-13.51V172.14c-.01-5.35-.01-10.7-.01-16.05zm-69.88 241c-20-38.93-57.23-29.27-76.31-19.47-1.72 1-3.48 2-5.25 3l-.42.25c-39.5 21-92.53 22.54-145.85-.38A234.64 234.64 0 0 1 45 290.12a230.63 230.63 0 0 0 39.17 23.37c56.36 26.4 113 24.49 153 0-57-43.85-104.6-101-141.09-147.22a197.09 197.09 0 0 1-18.78-25.9c43.7 40 112.7 90.22 137.48 104.12-52.57-55.49-98.89-123.94-96.72-121.74 82.79 83.42 159.18 130.59 159.18 130.59 2.88 1.58 5 2.85 6.73 4a127.44 127.44 0 0 0 4.16-12.47c13.22-48.33-1.66-103.58-35.31-149.2C329.61 141.75 375 229.34 356.4 303.42c-.44 1.73-.95 3.4-1.44 5.09 38.52 47.4 28.04 98.17 23.13 88.59z\"]\n};\nvar faAngular = {\n prefix: 'fab',\n iconName: 'angular',\n icon: [448, 512, [], \"f420\", \"M185.7 268.1h76.2l-38.1-91.6-38.1 91.6zM223.8 32L16 106.4l31.8 275.7 176 97.9 176-97.9 31.8-275.7zM354 373.8h-48.6l-26.2-65.4H168.6l-26.2 65.4H93.7L223.8 81.5z\"]\n};\nvar faSpeakap = {\n prefix: 'fab',\n iconName: 'speakap',\n icon: [448, 512, [], \"f3f3\", \"M64 391.78C-15.41 303.59-8 167.42 80.64 87.64s224.8-73 304.21 15.24 72 224.36-16.64 304.14c-18.74 16.87 64 43.09 42 52.26-82.06 34.21-253.91 35-346.23-67.5zm213.31-211.6l38.5-40.86c-9.61-8.89-32-26.83-76.17-27.6-52.33-.91-95.86 28.3-96.77 80-.2 11.33.29 36.72 29.42 54.83 34.46 21.42 86.52 21.51 86 52.26-.37 21.28-26.42 25.81-38.59 25.6-3-.05-30.23-.46-47.61-24.62l-40 42.61c28.16 27 59 32.62 83.49 33.05 10.23.18 96.42.33 97.84-81 .28-15.81-2.07-39.72-28.86-56.59-34.36-21.64-85-19.45-84.43-49.75.41-23.25 31-25.37 37.53-25.26.43 0 26.62.26 39.62 17.37z\"]\n};\nvar faAngrycreative = {\n prefix: 'fab',\n iconName: 'angrycreative',\n icon: [640, 512, [], \"f36e\", \"M640 238.2l-3.2 28.2-34.5 2.3-2 18.1 34.5-2.3-3.2 28.2-34.4 2.2-2.3 20.1 34.4-2.2-3 26.1-64.7 4.1 12.7-113.2L527 365.2l-31.9 2-23.8-117.8 30.3-2 13.6 79.4 31.7-82.4 93.1-6.2zM426.8 371.5l28.3-1.8L468 249.6l-28.4 1.9-12.8 120zM162 388.1l-19.4-36-3.5 37.4-28.2 1.7 2.7-29.1c-11 18-32 34.3-56.9 35.8C23.9 399.9-3 377 .3 339.7c2.6-29.3 26.7-62.8 67.5-65.4 37.7-2.4 47.6 23.2 51.3 28.8l2.8-30.8 38.9-2.5c20.1-1.3 38.7 3.7 42.5 23.7l2.6-26.6 64.8-4.2-2.7 27.9-36.4 2.4-1.7 17.9 36.4-2.3-2.7 27.9-36.4 2.3-1.9 19.9 36.3-2.3-2.1 20.8 55-117.2 23.8-1.6L370.4 369l8.9-85.6-22.3 1.4 2.9-27.9 75-4.9-3 28-24.3 1.6-9.7 91.9-58 3.7-4.3-15.6-39.4 2.5-8 16.3-126.2 7.7zm-44.3-70.2l-26.4 1.7C84.6 307.2 76.9 303 65 303.8c-19 1.2-33.3 17.5-34.6 33.3-1.4 16 7.3 32.5 28.7 31.2 12.8-.8 21.3-8.6 28.9-18.9l27-1.7 2.7-29.8zm56.1-7.7c1.2-12.9-7.6-13.6-26.1-12.4l-2.7 28.5c14.2-.9 27.5-2.1 28.8-16.1zm21.1 70.8l5.8-60c-5 13.5-14.7 21.1-27.9 26.6l22.1 33.4zm135.4-45l-7.9-37.8-15.8 39.3 23.7-1.5zm-170.1-74.6l-4.3-17.5-39.6 2.6-8.1 18.2-31.9 2.1 57-121.9 23.9-1.6 30.7 102 9.9-104.7 27-1.8 37.8 63.6 6.5-66.6 28.5-1.9-4 41.2c7.4-13.5 22.9-44.7 63.6-47.5 40.5-2.8 52.4 29.3 53.4 30.3l3.3-32 39.3-2.7c12.7-.9 27.8.3 36.3 9.7l-4.4-11.9 32.2-2.2 12.9 43.2 23-45.7 31-2.2-43.6 78.4-4.8 44.3-28.4 1.9 4.8-44.3-15.8-43c1 22.3-9.2 40.1-32 49.6l25.2 38.8-36.4 2.4-19.2-36.8-4 38.3-28.4 1.9 3.3-31.5c-6.7 9.3-19.7 35.4-59.6 38-26.2 1.7-45.6-10.3-55.4-39.2l-4 40.3-25 1.6-37.6-63.3-6.3 66.2-56.8 3.7zm276.6-82.1c10.2-.7 17.5-2.1 21.6-4.3 4.5-2.4 7-6.4 7.6-12.1.6-5.3-.6-8.8-3.4-10.4-3.6-2.1-10.6-2.8-22.9-2l-2.9 28.8zM327.7 214c5.6 5.9 12.7 8.5 21.3 7.9 4.7-.3 9.1-1.8 13.3-4.1 5.5-3 10.6-8 15.1-14.3l-34.2 2.3 2.4-23.9 63.1-4.3 1.2-12-31.2 2.1c-4.1-3.7-7.8-6.6-11.1-8.1-4-1.7-8.1-2.8-12.2-2.5-8 .5-15.3 3.6-22 9.2-7.7 6.4-12 14.5-12.9 24.4-1.1 9.6 1.4 17.3 7.2 23.3zm-201.3 8.2l23.8-1.6-8.3-37.6-15.5 39.2z\"]\n};\nvar faYCombinator = {\n prefix: 'fab',\n iconName: 'y-combinator',\n icon: [448, 512, [], \"f23b\", \"M448 32v448H0V32h448zM236 287.5L313.5 142h-32.7L235 233c-4.7 9.3-9 18.3-12.8 26.8L210 233l-45.2-91h-35l76.7 143.8v94.5H236v-92.8z\"]\n};\nvar faEmpire = {\n prefix: 'fab',\n iconName: 'empire',\n icon: [496, 512, [], \"f1d1\", \"M287.6 54.2c-10.8-2.2-22.1-3.3-33.5-3.6V32.4c78.1 2.2 146.1 44 184.6 106.6l-15.8 9.1c-6.1-9.7-12.7-18.8-20.2-27.1l-18 15.5c-26-29.6-61.4-50.7-101.9-58.4l4.8-23.9zM53.4 322.4l23-7.7c-6.4-18.3-10-38.2-10-58.7s3.3-40.4 9.7-58.7l-22.7-7.7c3.6-10.8 8.3-21.3 13.6-31l-15.8-9.1C34 181 24.1 217.5 24.1 256s10 75 27.1 106.6l15.8-9.1c-5.3-10-9.7-20.3-13.6-31.1zM213.1 434c-40.4-8-75.8-29.1-101.9-58.7l-18 15.8c-7.5-8.6-14.4-17.7-20.2-27.4l-16 9.4c38.5 62.3 106.8 104.3 184.9 106.6v-18.3c-11.3-.3-22.7-1.7-33.5-3.6l4.7-23.8zM93.3 120.9l18 15.5c26-29.6 61.4-50.7 101.9-58.4l-4.7-23.8c10.8-2.2 22.1-3.3 33.5-3.6V32.4C163.9 34.6 95.9 76.4 57.4 139l15.8 9.1c6-9.7 12.6-18.9 20.1-27.2zm309.4 270.2l-18-15.8c-26 29.6-61.4 50.7-101.9 58.7l4.7 23.8c-10.8 1.9-22.1 3.3-33.5 3.6v18.3c78.1-2.2 146.4-44.3 184.9-106.6l-16.1-9.4c-5.7 9.7-12.6 18.8-20.1 27.4zM496 256c0 137-111 248-248 248S0 393 0 256 111 8 248 8s248 111 248 248zm-12.2 0c0-130.1-105.7-235.8-235.8-235.8S12.2 125.9 12.2 256 117.9 491.8 248 491.8 483.8 386.1 483.8 256zm-39-106.6l-15.8 9.1c5.3 9.7 10 20.2 13.6 31l-22.7 7.7c6.4 18.3 9.7 38.2 9.7 58.7s-3.6 40.4-10 58.7l23 7.7c-3.9 10.8-8.3 21-13.6 31l15.8 9.1C462 331 471.9 294.5 471.9 256s-9.9-75-27.1-106.6zm-183 177.7c16.3-3.3 30.4-11.6 40.7-23.5l51.2 44.8c11.9-13.6 21.3-29.3 27.1-46.8l-64.2-22.1c2.5-7.5 3.9-15.2 3.9-23.5s-1.4-16.1-3.9-23.5l64.5-22.1c-6.1-17.4-15.5-33.2-27.4-46.8l-51.2 44.8c-10.2-11.9-24.4-20.5-40.7-23.8l13.3-66.4c-8.6-1.9-17.7-2.8-27.1-2.8-9.4 0-18.5.8-27.1 2.8l13.3 66.4c-16.3 3.3-30.4 11.9-40.7 23.8l-51.2-44.8c-11.9 13.6-21.3 29.3-27.4 46.8l64.5 22.1c-2.5 7.5-3.9 15.2-3.9 23.5s1.4 16.1 3.9 23.5l-64.2 22.1c5.8 17.4 15.2 33.2 27.1 46.8l51.2-44.8c10.2 11.9 24.4 20.2 40.7 23.5l-13.3 66.7c8.6 1.7 17.7 2.8 27.1 2.8 9.4 0 18.5-1.1 27.1-2.8l-13.3-66.7z\"]\n};\nvar faEnvira = {\n prefix: 'fab',\n iconName: 'envira',\n icon: [448, 512, [], \"f299\", \"M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z\"]\n};\nvar faSquareGitlab = {\n prefix: 'fab',\n iconName: 'square-gitlab',\n icon: [448, 512, [\"gitlab-square\"], \"e5ae\", \"M48 32H400C426.5 32 448 53.5 448 80V432C448 458.5 426.5 480 400 480H48C21.5 480 0 458.5 0 432V80C0 53.5 21.5 32 48 32zM382.1 224.9L337.5 108.5C336.6 106.2 334.9 104.2 332.9 102.9C331.3 101.9 329.5 101.3 327.7 101.1C325.9 100.9 324 101.2 322.3 101.8C320.6 102.5 319 103.5 317.8 104.9C316.6 106.3 315.7 107.9 315.2 109.7L285 201.9H162.1L132.9 109.7C132.4 107.9 131.4 106.3 130.2 104.9C128.1 103.6 127.4 102.5 125.7 101.9C123.1 101.2 122.1 100.1 120.3 101.1C118.5 101.3 116.7 101.9 115.1 102.9C113.1 104.2 111.5 106.2 110.6 108.5L65.94 224.9L65.47 226.1C59.05 242.9 58.26 261.3 63.22 278.6C68.18 295.9 78.62 311.1 92.97 321.9L93.14 322L93.52 322.3L161.4 373.2L215.6 414.1C217.1 415.1 220.9 416.9 223.9 416.9C226.9 416.9 229.9 415.1 232.3 414.1L286.4 373.2L354.8 322L355 321.9C369.4 311 379.8 295.8 384.8 278.6C389.7 261.3 388.1 242.9 382.5 226.1L382.1 224.9z\"]\n};\nvar faGitlabSquare = faSquareGitlab;\nvar faStudiovinari = {\n prefix: 'fab',\n iconName: 'studiovinari',\n icon: [512, 512, [], \"f3f8\", \"M480.3 187.7l4.2 28v28l-25.1 44.1-39.8 78.4-56.1 67.5-79.1 37.8-17.7 24.5-7.7 12-9.6 4s17.3-63.6 19.4-63.6c2.1 0 20.3.7 20.3.7l66.7-38.6-92.5 26.1-55.9 36.8-22.8 28-6.6 1.4 20.8-73.6 6.9-5.5 20.7 12.9 88.3-45.2 56.8-51.5 14.8-68.4-125.4 23.3 15.2-18.2-173.4-53.3 81.9-10.5-166-122.9L133.5 108 32.2 0l252.9 126.6-31.5-38L378 163 234.7 64l18.7 38.4-49.6-18.1L158.3 0l194.6 122L310 66.2l108 96.4 12-8.9-21-16.4 4.2-37.8L451 89.1l29.2 24.7 11.5 4.2-7 6.2 8.5 12-13.1 7.4-10.3 20.2 10.5 23.9z\"]\n};\nvar faPiedPiper = {\n prefix: 'fab',\n iconName: 'pied-piper',\n icon: [480, 512, [], \"f2ae\", \"M455.93,23.2C429.23,30,387.79,51.69,341.35,90.66A206,206,0,0,0,240,64C125.13,64,32,157.12,32,272s93.13,208,208,208,208-93.13,208-208a207.25,207.25,0,0,0-58.75-144.81,155.35,155.35,0,0,0-17,27.4A176.16,176.16,0,0,1,417.1,272c0,97.66-79.44,177.11-177.09,177.11a175.81,175.81,0,0,1-87.63-23.4c82.94-107.33,150.79-37.77,184.31-226.65,5.79-32.62,28-94.26,126.23-160.18C471,33.45,465.35,20.8,455.93,23.2ZM125,406.4A176.66,176.66,0,0,1,62.9,272C62.9,174.34,142.35,94.9,240,94.9a174,174,0,0,1,76.63,17.75C250.64,174.76,189.77,265.52,125,406.4Z\"]\n};\nvar faWordpress = {\n prefix: 'fab',\n iconName: 'wordpress',\n icon: [512, 512, [], \"f19a\", \"M61.7 169.4l101.5 278C92.2 413 43.3 340.2 43.3 256c0-30.9 6.6-60.1 18.4-86.6zm337.9 75.9c0-26.3-9.4-44.5-17.5-58.7-10.8-17.5-20.9-32.4-20.9-49.9 0-19.6 14.8-37.8 35.7-37.8.9 0 1.8.1 2.8.2-37.9-34.7-88.3-55.9-143.7-55.9-74.3 0-139.7 38.1-177.8 95.9 5 .2 9.7.3 13.7.3 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l77.5 230.4L249.8 247l-33.1-90.8c-11.5-.7-22.3-2-22.3-2-11.5-.7-10.1-18.2 1.3-17.5 0 0 35.1 2.7 56 2.7 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l76.9 228.7 21.2-70.9c9-29.4 16-50.5 16-68.7zm-139.9 29.3l-63.8 185.5c19.1 5.6 39.2 8.7 60.1 8.7 24.8 0 48.5-4.3 70.6-12.1-.6-.9-1.1-1.9-1.5-2.9l-65.4-179.2zm183-120.7c.9 6.8 1.4 14 1.4 21.9 0 21.6-4 45.8-16.2 76.2l-65 187.9C426.2 403 468.7 334.5 468.7 256c0-37-9.4-71.8-26-102.1zM504 256c0 136.8-111.3 248-248 248C119.2 504 8 392.7 8 256 8 119.2 119.2 8 256 8c136.7 0 248 111.2 248 248zm-11.4 0c0-130.5-106.2-236.6-236.6-236.6C125.5 19.4 19.4 125.5 19.4 256S125.6 492.6 256 492.6c130.5 0 236.6-106.1 236.6-236.6z\"]\n};\nvar faProductHunt = {\n prefix: 'fab',\n iconName: 'product-hunt',\n icon: [512, 512, [], \"f288\", \"M326.3 218.8c0 20.5-16.7 37.2-37.2 37.2h-70.3v-74.4h70.3c20.5 0 37.2 16.7 37.2 37.2zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-128.1-37.2c0-47.9-38.9-86.8-86.8-86.8H169.2v248h49.6v-74.4h70.3c47.9 0 86.8-38.9 86.8-86.8z\"]\n};\nvar faFirefox = {\n prefix: 'fab',\n iconName: 'firefox',\n icon: [512, 512, [], \"f269\", \"M503.52,241.48c-.12-1.56-.24-3.12-.24-4.68v-.12l-.36-4.68v-.12a245.86,245.86,0,0,0-7.32-41.15c0-.12,0-.12-.12-.24l-1.08-4c-.12-.24-.12-.48-.24-.6-.36-1.2-.72-2.52-1.08-3.72-.12-.24-.12-.6-.24-.84-.36-1.2-.72-2.4-1.08-3.48-.12-.36-.24-.6-.36-1-.36-1.2-.72-2.28-1.2-3.48l-.36-1.08c-.36-1.08-.84-2.28-1.2-3.36a8.27,8.27,0,0,0-.36-1c-.48-1.08-.84-2.28-1.32-3.36-.12-.24-.24-.6-.36-.84-.48-1.2-1-2.28-1.44-3.48,0-.12-.12-.24-.12-.36-1.56-3.84-3.24-7.68-5-11.4l-.36-.72c-.48-1-.84-1.8-1.32-2.64-.24-.48-.48-1.08-.72-1.56-.36-.84-.84-1.56-1.2-2.4-.36-.6-.6-1.2-1-1.8s-.84-1.44-1.2-2.28c-.36-.6-.72-1.32-1.08-1.92s-.84-1.44-1.2-2.16a18.07,18.07,0,0,0-1.2-2c-.36-.72-.84-1.32-1.2-2s-.84-1.32-1.2-2-.84-1.32-1.2-1.92-.84-1.44-1.32-2.16a15.63,15.63,0,0,0-1.2-1.8L463.2,119a15.63,15.63,0,0,0-1.2-1.8c-.48-.72-1.08-1.56-1.56-2.28-.36-.48-.72-1.08-1.08-1.56l-1.8-2.52c-.36-.48-.6-.84-1-1.32-1-1.32-1.8-2.52-2.76-3.72a248.76,248.76,0,0,0-23.51-26.64A186.82,186.82,0,0,0,412,62.46c-4-3.48-8.16-6.72-12.48-9.84a162.49,162.49,0,0,0-24.6-15.12c-2.4-1.32-4.8-2.52-7.2-3.72a254,254,0,0,0-55.43-19.56c-1.92-.36-3.84-.84-5.64-1.2h-.12c-1-.12-1.8-.36-2.76-.48a236.35,236.35,0,0,0-38-4H255.14a234.62,234.62,0,0,0-45.48,5c-33.59,7.08-63.23,21.24-82.91,39-1.08,1-1.92,1.68-2.4,2.16l-.48.48H124l-.12.12.12-.12a.12.12,0,0,0,.12-.12l-.12.12a.42.42,0,0,1,.24-.12c14.64-8.76,34.92-16,49.44-19.56l5.88-1.44c.36-.12.84-.12,1.2-.24,1.68-.36,3.36-.72,5.16-1.08.24,0,.6-.12.84-.12C250.94,20.94,319.34,40.14,367,85.61a171.49,171.49,0,0,1,26.88,32.76c30.36,49.2,27.48,111.11,3.84,147.59-34.44,53-111.35,71.27-159,24.84a84.19,84.19,0,0,1-25.56-59,74.05,74.05,0,0,1,6.24-31c1.68-3.84,13.08-25.67,18.24-24.59-13.08-2.76-37.55,2.64-54.71,28.19-15.36,22.92-14.52,58.2-5,83.28a132.85,132.85,0,0,1-12.12-39.24c-12.24-82.55,43.31-153,94.31-170.51-27.48-24-96.47-22.31-147.71,15.36-29.88,22-51.23,53.16-62.51,90.36,1.68-20.88,9.6-52.08,25.8-83.88-17.16,8.88-39,37-49.8,62.88-15.6,37.43-21,82.19-16.08,124.79.36,3.24.72,6.36,1.08,9.6,19.92,117.11,122,206.38,244.78,206.38C392.77,503.42,504,392.19,504,255,503.88,250.48,503.76,245.92,503.52,241.48Z\"]\n};\nvar faLinode = {\n prefix: 'fab',\n iconName: 'linode',\n icon: [448, 512, [], \"f2b8\", \"M366.036,186.867l-59.5,36.871-.838,36.871-29.329-19.273-39.384,24.3c2.238,55.211,2.483,59.271,2.51,59.5l-97.2,65.359L127.214,285.748l108.1-62.01L195.09,197.761l-75.417,38.547L98.723,93.015,227.771,43.574,136.432,0,10.737,39.385,38.39,174.3l41.9,32.681L48.445,222.062,69.394,323.457,98.723,351.11,77.774,363.679l16.76,78.769L160.733,512c-10.8-74.842-11.658-78.641-11.725-78.773l77.925-55.3c16.759-12.57,15.083-10.894,15.083-10.894l.838,24.3,33.519,28.491-.838-77.093,46.927-33.519,26.815-18.435-2.514,36.033,25.139,17.6,6.7-74.579,58.657-43.575Z\"]\n};\nvar faGoodreads = {\n prefix: 'fab',\n iconName: 'goodreads',\n icon: [448, 512, [], \"f3a8\", \"M299.9 191.2c5.1 37.3-4.7 79-35.9 100.7-22.3 15.5-52.8 14.1-70.8 5.7-37.1-17.3-49.5-58.6-46.8-97.2 4.3-60.9 40.9-87.9 75.3-87.5 46.9-.2 71.8 31.8 78.2 78.3zM448 88v336c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V88c0-30.9 25.1-56 56-56h336c30.9 0 56 25.1 56 56zM330 313.2s-.1-34-.1-217.3h-29v40.3c-.8.3-1.2-.5-1.6-1.2-9.6-20.7-35.9-46.3-76-46-51.9.4-87.2 31.2-100.6 77.8-4.3 14.9-5.8 30.1-5.5 45.6 1.7 77.9 45.1 117.8 112.4 115.2 28.9-1.1 54.5-17 69-45.2.5-1 1.1-1.9 1.7-2.9.2.1.4.1.6.2.3 3.8.2 30.7.1 34.5-.2 14.8-2 29.5-7.2 43.5-7.8 21-22.3 34.7-44.5 39.5-17.8 3.9-35.6 3.8-53.2-1.2-21.5-6.1-36.5-19-41.1-41.8-.3-1.6-1.3-1.3-2.3-1.3h-26.8c.8 10.6 3.2 20.3 8.5 29.2 24.2 40.5 82.7 48.5 128.2 37.4 49.9-12.3 67.3-54.9 67.4-106.3z\"]\n};\nvar faSquareOdnoklassniki = {\n prefix: 'fab',\n iconName: 'square-odnoklassniki',\n icon: [448, 512, [\"odnoklassniki-square\"], \"f264\", \"M184.2 177.1c0-22.1 17.9-40 39.8-40s39.8 17.9 39.8 40c0 22-17.9 39.8-39.8 39.8s-39.8-17.9-39.8-39.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-305.1 97.1c0 44.6 36.4 80.9 81.1 80.9s81.1-36.2 81.1-80.9c0-44.8-36.4-81.1-81.1-81.1s-81.1 36.2-81.1 81.1zm174.5 90.7c-4.6-9.1-17.3-16.8-34.1-3.6 0 0-22.7 18-59.3 18s-59.3-18-59.3-18c-16.8-13.2-29.5-5.5-34.1 3.6-7.9 16.1 1.1 23.7 21.4 37 17.3 11.1 41.2 15.2 56.6 16.8l-12.9 12.9c-18.2 18-35.5 35.5-47.7 47.7-17.6 17.6 10.7 45.8 28.4 28.6l47.7-47.9c18.2 18.2 35.7 35.7 47.7 47.9 17.6 17.2 46-10.7 28.6-28.6l-47.7-47.7-13-12.9c15.5-1.6 39.1-5.9 56.2-16.8 20.4-13.3 29.3-21 21.5-37z\"]\n};\nvar faOdnoklassnikiSquare = faSquareOdnoklassniki;\nvar faJsfiddle = {\n prefix: 'fab',\n iconName: 'jsfiddle',\n icon: [576, 512, [], \"f1cc\", \"M510.634 237.462c-4.727-2.621-5.664-5.748-6.381-10.776-2.352-16.488-3.539-33.619-9.097-49.095-35.895-99.957-153.99-143.386-246.849-91.646-27.37 15.25-48.971 36.369-65.493 63.903-3.184-1.508-5.458-2.71-7.824-3.686-30.102-12.421-59.049-10.121-85.331 9.167-25.531 18.737-36.422 44.548-32.676 76.408.355 3.025-1.967 7.621-4.514 9.545-39.712 29.992-56.031 78.065-41.902 124.615 13.831 45.569 57.514 79.796 105.608 81.433 30.291 1.031 60.637.546 90.959.539 84.041-.021 168.09.531 252.12-.48 52.664-.634 96.108-36.873 108.212-87.293 11.54-48.074-11.144-97.3-56.832-122.634zm21.107 156.88c-18.23 22.432-42.343 35.253-71.28 35.65-56.874.781-113.767.23-170.652.23 0 .7-163.028.159-163.728.154-43.861-.332-76.739-19.766-95.175-59.995-18.902-41.245-4.004-90.848 34.186-116.106 9.182-6.073 12.505-11.566 10.096-23.136-5.49-26.361 4.453-47.956 26.42-62.981 22.987-15.723 47.422-16.146 72.034-3.083 10.269 5.45 14.607 11.564 22.198-2.527 14.222-26.399 34.557-46.727 60.671-61.294 97.46-54.366 228.37 7.568 230.24 132.697.122 8.15 2.412 12.428 9.848 15.894 57.56 26.829 74.456 96.122 35.142 144.497zm-87.789-80.499c-5.848 31.157-34.622 55.096-66.666 55.095-16.953-.001-32.058-6.545-44.079-17.705-27.697-25.713-71.141-74.98-95.937-93.387-20.056-14.888-41.99-12.333-60.272 3.782-49.996 44.071 15.859 121.775 67.063 77.188 4.548-3.96 7.84-9.543 12.744-12.844 8.184-5.509 20.766-.884 13.168 10.622-17.358 26.284-49.33 38.197-78.863 29.301-28.897-8.704-48.84-35.968-48.626-70.179 1.225-22.485 12.364-43.06 35.414-55.965 22.575-12.638 46.369-13.146 66.991 2.474C295.68 280.7 320.467 323.97 352.185 343.47c24.558 15.099 54.254 7.363 68.823-17.506 28.83-49.209-34.592-105.016-78.868-63.46-3.989 3.744-6.917 8.932-11.41 11.72-10.975 6.811-17.333-4.113-12.809-10.353 20.703-28.554 50.464-40.44 83.271-28.214 31.429 11.714 49.108 44.366 42.76 78.186z\"]\n};\nvar faSith = {\n prefix: 'fab',\n iconName: 'sith',\n icon: [448, 512, [], \"f512\", \"M0 32l69.71 118.75-58.86-11.52 69.84 91.03a146.741 146.741 0 0 0 0 51.45l-69.84 91.03 58.86-11.52L0 480l118.75-69.71-11.52 58.86 91.03-69.84c17.02 3.04 34.47 3.04 51.48 0l91.03 69.84-11.52-58.86L448 480l-69.71-118.78 58.86 11.52-69.84-91.03c3.03-17.01 3.04-34.44 0-51.45l69.84-91.03-58.86 11.52L448 32l-118.75 69.71 11.52-58.9-91.06 69.87c-8.5-1.52-17.1-2.29-25.71-2.29s-17.21.78-25.71 2.29l-91.06-69.87 11.52 58.9L0 32zm224 99.78c31.8 0 63.6 12.12 87.85 36.37 48.5 48.5 48.49 127.21 0 175.7s-127.2 48.46-175.7-.03c-48.5-48.5-48.49-127.21 0-175.7 24.24-24.25 56.05-36.34 87.85-36.34zm0 36.66c-22.42 0-44.83 8.52-61.92 25.61-34.18 34.18-34.19 89.68 0 123.87s89.65 34.18 123.84 0c34.18-34.18 34.19-89.68 0-123.87-17.09-17.09-39.5-25.61-61.92-25.61z\"]\n};\nvar faThemeisle = {\n prefix: 'fab',\n iconName: 'themeisle',\n icon: [512, 512, [], \"f2b2\", \"M208 88.286c0-10 6.286-21.714 17.715-21.714 11.142 0 17.714 11.714 17.714 21.714 0 10.285-6.572 21.714-17.714 21.714C214.286 110 208 98.571 208 88.286zm304 160c0 36.001-11.429 102.286-36.286 129.714-22.858 24.858-87.428 61.143-120.857 70.572l-1.143.286v32.571c0 16.286-12.572 30.571-29.143 30.571-10 0-19.429-5.714-24.572-14.286-5.427 8.572-14.856 14.286-24.856 14.286-10 0-19.429-5.714-24.858-14.286-5.142 8.572-14.571 14.286-24.57 14.286-10.286 0-19.429-5.714-24.858-14.286-5.143 8.572-14.571 14.286-24.571 14.286-18.857 0-29.429-15.714-29.429-32.857-16.286 12.285-35.715 19.428-56.571 19.428-22 0-43.429-8.285-60.286-22.857 10.285-.286 20.571-2.286 30.285-5.714-20.857-5.714-39.428-18.857-52-36.286 21.37 4.645 46.209 1.673 67.143-11.143-22-22-56.571-58.857-68.572-87.428C1.143 321.714 0 303.714 0 289.429c0-49.714 20.286-160 86.286-160 10.571 0 18.857 4.858 23.143 14.857a158.792 158.792 0 0 1 12-15.428c2-2.572 5.714-5.429 7.143-8.286 7.999-12.571 11.714-21.142 21.714-34C182.571 45.428 232 17.143 285.143 17.143c6 0 12 .285 17.714 1.143C313.714 6.571 328.857 0 344.572 0c14.571 0 29.714 6 40 16.286.857.858 1.428 2.286 1.428 3.428 0 3.714-10.285 13.429-12.857 16.286 4.286 1.429 15.714 6.858 15.714 12 0 2.857-2.857 5.143-4.571 7.143 31.429 27.714 49.429 67.143 56.286 108 4.286-5.143 10.285-8.572 17.143-8.572 10.571 0 20.857 7.144 28.571 14.001C507.143 187.143 512 221.714 512 248.286zM188 89.428c0 18.286 12.571 37.143 32.286 37.143 19.714 0 32.285-18.857 32.285-37.143 0-18-12.571-36.857-32.285-36.857-19.715 0-32.286 18.858-32.286 36.857zM237.714 194c0-19.714 3.714-39.143 8.571-58.286-52.039 79.534-13.531 184.571 68.858 184.571 21.428 0 42.571-7.714 60-20 2-7.429 3.714-14.857 3.714-22.572 0-14.286-6.286-21.428-20.572-21.428-4.571 0-9.143.857-13.429 1.714-63.343 12.668-107.142 3.669-107.142-63.999zm-41.142 254.858c0-11.143-8.858-20.857-20.286-20.857-11.429 0-20 9.715-20 20.857v32.571c0 11.143 8.571 21.142 20 21.142 11.428 0 20.286-9.715 20.286-21.142v-32.571zm49.143 0c0-11.143-8.572-20.857-20-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20-10 20-21.142v-32.571zm49.713 0c0-11.143-8.857-20.857-20.285-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20.285-9.715 20.285-21.142v-32.571zm49.715 0c0-11.143-8.857-20.857-20.286-20.857-11.428 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.858 21.142 20.286 21.142 11.429 0 20.286-10 20.286-21.142v-32.571zM421.714 286c-30.857 59.142-90.285 102.572-158.571 102.572-96.571 0-160.571-84.572-160.571-176.572 0-16.857 2-33.429 6-49.714-20 33.715-29.714 72.572-29.714 111.429 0 60.286 24.857 121.715 71.429 160.857 5.143-9.714 14.857-16.286 26-16.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.571-14.286 24.858-14.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.857-14.286 24.858-14.286 10 0 19.428 5.714 24.857 14.286 5.143-8.571 14.571-14.286 24.572-14.286 10.857 0 20.857 6.572 25.714 16 43.427-36.286 68.569-92 71.426-148.286zm10.572-99.714c0-53.714-34.571-105.714-92.572-105.714-30.285 0-58.571 15.143-78.857 36.857C240.862 183.812 233.41 254 302.286 254c28.805 0 97.357-28.538 84.286 36.857 28.857-26 45.714-65.714 45.714-104.571z\"]\n};\nvar faPage4 = {\n prefix: 'fab',\n iconName: 'page4',\n icon: [496, 512, [], \"f3d7\", \"M248 504C111 504 0 393 0 256S111 8 248 8c20.9 0 41.3 2.6 60.7 7.5L42.3 392H248v112zm0-143.6V146.8L98.6 360.4H248zm96 31.6v92.7c45.7-19.2 84.5-51.7 111.4-92.7H344zm57.4-138.2l-21.2 8.4 21.2 8.3v-16.7zm-20.3 54.5c-6.7 0-8 6.3-8 12.9v7.7h16.2v-10c0-5.9-2.3-10.6-8.2-10.6zM496 256c0 37.3-8.2 72.7-23 104.4H344V27.3C433.3 64.8 496 153.1 496 256zM360.4 143.6h68.2V96h-13.9v32.6h-13.9V99h-13.9v29.6h-12.7V96h-13.9v47.6zm68.1 185.3H402v-11c0-15.4-5.6-25.2-20.9-25.2-15.4 0-20.7 10.6-20.7 25.9v25.3h68.2v-15zm0-103l-68.2 29.7V268l68.2 29.5v-16.6l-14.4-5.7v-26.5l14.4-5.9v-16.9zm-4.8-68.5h-35.6V184H402v-12.2h11c8.6 15.8 1.3 35.3-18.6 35.3-22.5 0-28.3-25.3-15.5-37.7l-11.6-10.6c-16.2 17.5-12.2 63.9 27.1 63.9 34 0 44.7-35.9 29.3-65.3z\"]\n};\nvar faHashnode = {\n prefix: 'fab',\n iconName: 'hashnode',\n icon: [512, 512, [], \"e499\", \"M35.19 171.1C-11.72 217.1-11.72 294 35.19 340.9L171.1 476.8C217.1 523.7 294 523.7 340.9 476.8L476.8 340.9C523.7 294 523.7 217.1 476.8 171.1L340.9 35.19C294-11.72 217.1-11.72 171.1 35.19L35.19 171.1zM315.5 315.5C282.6 348.3 229.4 348.3 196.6 315.5C163.7 282.6 163.7 229.4 196.6 196.6C229.4 163.7 282.6 163.7 315.5 196.6C348.3 229.4 348.3 282.6 315.5 315.5z\"]\n};\nvar faReact = {\n prefix: 'fab',\n iconName: 'react',\n icon: [512, 512, [], \"f41b\", \"M418.2 177.2c-5.4-1.8-10.8-3.5-16.2-5.1.9-3.7 1.7-7.4 2.5-11.1 12.3-59.6 4.2-107.5-23.1-123.3-26.3-15.1-69.2.6-112.6 38.4-4.3 3.7-8.5 7.6-12.5 11.5-2.7-2.6-5.5-5.2-8.3-7.7-45.5-40.4-91.1-57.4-118.4-41.5-26.2 15.2-34 60.3-23 116.7 1.1 5.6 2.3 11.1 3.7 16.7-6.4 1.8-12.7 3.8-18.6 5.9C38.3 196.2 0 225.4 0 255.6c0 31.2 40.8 62.5 96.3 81.5 4.5 1.5 9 3 13.6 4.3-1.5 6-2.8 11.9-4 18-10.5 55.5-2.3 99.5 23.9 114.6 27 15.6 72.4-.4 116.6-39.1 3.5-3.1 7-6.3 10.5-9.7 4.4 4.3 9 8.4 13.6 12.4 42.8 36.8 85.1 51.7 111.2 36.6 27-15.6 35.8-62.9 24.4-120.5-.9-4.4-1.9-8.9-3-13.5 3.2-.9 6.3-1.9 9.4-2.9 57.7-19.1 99.5-50 99.5-81.7 0-30.3-39.4-59.7-93.8-78.4zM282.9 92.3c37.2-32.4 71.9-45.1 87.7-36 16.9 9.7 23.4 48.9 12.8 100.4-.7 3.4-1.4 6.7-2.3 10-22.2-5-44.7-8.6-67.3-10.6-13-18.6-27.2-36.4-42.6-53.1 3.9-3.7 7.7-7.2 11.7-10.7zM167.2 307.5c5.1 8.7 10.3 17.4 15.8 25.9-15.6-1.7-31.1-4.2-46.4-7.5 4.4-14.4 9.9-29.3 16.3-44.5 4.6 8.8 9.3 17.5 14.3 26.1zm-30.3-120.3c14.4-3.2 29.7-5.8 45.6-7.8-5.3 8.3-10.5 16.8-15.4 25.4-4.9 8.5-9.7 17.2-14.2 26-6.3-14.9-11.6-29.5-16-43.6zm27.4 68.9c6.6-13.8 13.8-27.3 21.4-40.6s15.8-26.2 24.4-38.9c15-1.1 30.3-1.7 45.9-1.7s31 .6 45.9 1.7c8.5 12.6 16.6 25.5 24.3 38.7s14.9 26.7 21.7 40.4c-6.7 13.8-13.9 27.4-21.6 40.8-7.6 13.3-15.7 26.2-24.2 39-14.9 1.1-30.4 1.6-46.1 1.6s-30.9-.5-45.6-1.4c-8.7-12.7-16.9-25.7-24.6-39s-14.8-26.8-21.5-40.6zm180.6 51.2c5.1-8.8 9.9-17.7 14.6-26.7 6.4 14.5 12 29.2 16.9 44.3-15.5 3.5-31.2 6.2-47 8 5.4-8.4 10.5-17 15.5-25.6zm14.4-76.5c-4.7-8.8-9.5-17.6-14.5-26.2-4.9-8.5-10-16.9-15.3-25.2 16.1 2 31.5 4.7 45.9 8-4.6 14.8-10 29.2-16.1 43.4zM256.2 118.3c10.5 11.4 20.4 23.4 29.6 35.8-19.8-.9-39.7-.9-59.5 0 9.8-12.9 19.9-24.9 29.9-35.8zM140.2 57c16.8-9.8 54.1 4.2 93.4 39 2.5 2.2 5 4.6 7.6 7-15.5 16.7-29.8 34.5-42.9 53.1-22.6 2-45 5.5-67.2 10.4-1.3-5.1-2.4-10.3-3.5-15.5-9.4-48.4-3.2-84.9 12.6-94zm-24.5 263.6c-4.2-1.2-8.3-2.5-12.4-3.9-21.3-6.7-45.5-17.3-63-31.2-10.1-7-16.9-17.8-18.8-29.9 0-18.3 31.6-41.7 77.2-57.6 5.7-2 11.5-3.8 17.3-5.5 6.8 21.7 15 43 24.5 63.6-9.6 20.9-17.9 42.5-24.8 64.5zm116.6 98c-16.5 15.1-35.6 27.1-56.4 35.3-11.1 5.3-23.9 5.8-35.3 1.3-15.9-9.2-22.5-44.5-13.5-92 1.1-5.6 2.3-11.2 3.7-16.7 22.4 4.8 45 8.1 67.9 9.8 13.2 18.7 27.7 36.6 43.2 53.4-3.2 3.1-6.4 6.1-9.6 8.9zm24.5-24.3c-10.2-11-20.4-23.2-30.3-36.3 9.6.4 19.5.6 29.5.6 10.3 0 20.4-.2 30.4-.7-9.2 12.7-19.1 24.8-29.6 36.4zm130.7 30c-.9 12.2-6.9 23.6-16.5 31.3-15.9 9.2-49.8-2.8-86.4-34.2-4.2-3.6-8.4-7.5-12.7-11.5 15.3-16.9 29.4-34.8 42.2-53.6 22.9-1.9 45.7-5.4 68.2-10.5 1 4.1 1.9 8.2 2.7 12.2 4.9 21.6 5.7 44.1 2.5 66.3zm18.2-107.5c-2.8.9-5.6 1.8-8.5 2.6-7-21.8-15.6-43.1-25.5-63.8 9.6-20.4 17.7-41.4 24.5-62.9 5.2 1.5 10.2 3.1 15 4.7 46.6 16 79.3 39.8 79.3 58 0 19.6-34.9 44.9-84.8 61.4zm-149.7-15c25.3 0 45.8-20.5 45.8-45.8s-20.5-45.8-45.8-45.8c-25.3 0-45.8 20.5-45.8 45.8s20.5 45.8 45.8 45.8z\"]\n};\nvar faCcPaypal = {\n prefix: 'fab',\n iconName: 'cc-paypal',\n icon: [576, 512, [], \"f1f4\", \"M186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zM80.5 209.7h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0H360c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM128.3 215.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7L32 294.2c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H200c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9l63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H484c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7L544 191.2v-.3zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z\"]\n};\nvar faSquarespace = {\n prefix: 'fab',\n iconName: 'squarespace',\n icon: [512, 512, [], \"f5be\", \"M186.12 343.34c-9.65 9.65-9.65 25.29 0 34.94 9.65 9.65 25.29 9.65 34.94 0L378.24 221.1c19.29-19.29 50.57-19.29 69.86 0s19.29 50.57 0 69.86L293.95 445.1c19.27 19.29 50.53 19.31 69.82.04l.04-.04 119.25-119.24c38.59-38.59 38.59-101.14 0-139.72-38.59-38.59-101.15-38.59-139.72 0l-157.22 157.2zm244.53-104.8c-9.65-9.65-25.29-9.65-34.93 0l-157.2 157.18c-19.27 19.29-50.53 19.31-69.82.05l-.05-.05c-9.64-9.64-25.27-9.65-34.92-.01l-.01.01c-9.65 9.64-9.66 25.28-.02 34.93l.02.02c38.58 38.57 101.14 38.57 139.72 0l157.2-157.2c9.65-9.65 9.65-25.29.01-34.93zm-261.99 87.33l157.18-157.18c9.64-9.65 9.64-25.29 0-34.94-9.64-9.64-25.27-9.64-34.91 0L133.72 290.93c-19.28 19.29-50.56 19.3-69.85.01l-.01-.01c-19.29-19.28-19.31-50.54-.03-69.84l.03-.03L218.03 66.89c-19.28-19.29-50.55-19.3-69.85-.02l-.02.02L28.93 186.14c-38.58 38.59-38.58 101.14 0 139.72 38.6 38.59 101.13 38.59 139.73.01zm-87.33-52.4c9.64 9.64 25.27 9.64 34.91 0l157.21-157.19c19.28-19.29 50.55-19.3 69.84-.02l.02.02c9.65 9.65 25.29 9.65 34.93 0 9.65-9.65 9.65-25.29 0-34.93-38.59-38.59-101.13-38.59-139.72 0L81.33 238.54c-9.65 9.64-9.65 25.28-.01 34.93h.01z\"]\n};\nvar faCcStripe = {\n prefix: 'fab',\n iconName: 'cc-stripe',\n icon: [576, 512, [], \"f1f5\", \"M492.4 220.8c-8.9 0-18.7 6.7-18.7 22.7h36.7c0-16-9.3-22.7-18-22.7zM375 223.4c-8.2 0-13.3 2.9-17 7l.2 52.8c3.5 3.7 8.5 6.7 16.8 6.7 13.1 0 21.9-14.3 21.9-33.4 0-18.6-9-33.2-21.9-33.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM122.2 281.1c0 25.6-20.3 40.1-49.9 40.3-12.2 0-25.6-2.4-38.8-8.1v-33.9c12 6.4 27.1 11.3 38.9 11.3 7.9 0 13.6-2.1 13.6-8.7 0-17-54-10.6-54-49.9 0-25.2 19.2-40.2 48-40.2 11.8 0 23.5 1.8 35.3 6.5v33.4c-10.8-5.8-24.5-9.1-35.3-9.1-7.5 0-12.1 2.2-12.1 7.7 0 16 54.3 8.4 54.3 50.7zm68.8-56.6h-27V275c0 20.9 22.5 14.4 27 12.6v28.9c-4.7 2.6-13.3 4.7-24.9 4.7-21.1 0-36.9-15.5-36.9-36.5l.2-113.9 34.7-7.4v30.8H191zm74 2.4c-4.5-1.5-18.7-3.6-27.1 7.4v84.4h-35.5V194.2h30.7l2.2 10.5c8.3-15.3 24.9-12.2 29.6-10.5h.1zm44.1 91.8h-35.7V194.2h35.7zm0-142.9l-35.7 7.6v-28.9l35.7-7.6zm74.1 145.5c-12.4 0-20-5.3-25.1-9l-.1 40.2-35.5 7.5V194.2h31.3l1.8 8.8c4.9-4.5 13.9-11.1 27.8-11.1 24.9 0 48.4 22.5 48.4 63.8 0 45.1-23.2 65.5-48.6 65.6zm160.4-51.5h-69.5c1.6 16.6 13.8 21.5 27.6 21.5 14.1 0 25.2-3 34.9-7.9V312c-9.7 5.3-22.4 9.2-39.4 9.2-34.6 0-58.8-21.7-58.8-64.5 0-36.2 20.5-64.9 54.3-64.9 33.7 0 51.3 28.7 51.3 65.1 0 3.5-.3 10.9-.4 12.9z\"]\n};\nvar faCreativeCommonsShare = {\n prefix: 'fab',\n iconName: 'creative-commons-share',\n icon: [496, 512, [], \"f4f2\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm101 132.4c7.8 0 13.7 6.1 13.7 13.7v182.5c0 7.7-6.1 13.7-13.7 13.7H214.3c-7.7 0-13.7-6-13.7-13.7v-54h-54c-7.8 0-13.7-6-13.7-13.7V131.1c0-8.2 6.6-12.7 12.4-13.7h136.4c7.7 0 13.7 6 13.7 13.7v54h54zM159.9 300.3h40.7V198.9c0-7.4 5.8-12.6 12-13.7h55.8v-40.3H159.9v155.4zm176.2-88.1H227.6v155.4h108.5V212.2z\"]\n};\nvar faBitcoin = {\n prefix: 'fab',\n iconName: 'bitcoin',\n icon: [512, 512, [], \"f379\", \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-141.651-35.33c4.937-32.999-20.191-50.739-54.55-62.573l11.146-44.702-27.213-6.781-10.851 43.524c-7.154-1.783-14.502-3.464-21.803-5.13l10.929-43.81-27.198-6.781-11.153 44.686c-5.922-1.349-11.735-2.682-17.377-4.084l.031-.14-37.53-9.37-7.239 29.062s20.191 4.627 19.765 4.913c11.022 2.751 13.014 10.044 12.68 15.825l-12.696 50.925c.76.194 1.744.473 2.829.907-.907-.225-1.876-.473-2.876-.713l-17.796 71.338c-1.349 3.348-4.767 8.37-12.471 6.464.271.395-19.78-4.937-19.78-4.937l-13.51 31.147 35.414 8.827c6.588 1.651 13.045 3.379 19.4 5.006l-11.262 45.213 27.182 6.781 11.153-44.733a1038.209 1038.209 0 0 0 21.687 5.627l-11.115 44.523 27.213 6.781 11.262-45.128c46.404 8.781 81.299 5.239 95.986-36.727 11.836-33.79-.589-53.281-25.004-65.991 17.78-4.098 31.174-15.792 34.747-39.949zm-62.177 87.179c-8.41 33.79-65.308 15.523-83.755 10.943l14.944-59.899c18.446 4.603 77.6 13.717 68.811 48.956zm8.417-87.667c-7.673 30.736-55.031 15.12-70.393 11.292l13.548-54.327c15.363 3.828 64.836 10.973 56.845 43.035z\"]\n};\nvar faKeycdn = {\n prefix: 'fab',\n iconName: 'keycdn',\n icon: [512, 512, [], \"f3ba\", \"M63.8 409.3l60.5-59c32.1 42.8 71.1 66 126.6 67.4 30.5.7 60.3-7 86.4-22.4 5.1 5.3 18.5 19.5 20.9 22-32.2 20.7-69.6 31.1-108.1 30.2-43.3-1.1-84.6-16.7-117.7-44.4.3-.6-38.2 37.5-38.6 37.9 9.5 29.8-13.1 62.4-46.3 62.4C20.7 503.3 0 481.7 0 454.9c0-34.3 33.1-56.6 63.8-45.6zm354.9-252.4c19.1 31.3 29.6 67.4 28.7 104-1.1 44.8-19 87.5-48.6 121 .3.3 23.8 25.2 24.1 25.5 9.6-1.3 19.2 2 25.9 9.1 11.3 12 10.9 30.9-1.1 42.4-12 11.3-30.9 10.9-42.4-1.1-6.7-7-9.4-16.8-7.6-26.3-24.9-26.6-44.4-47.2-44.4-47.2 42.7-34.1 63.3-79.6 64.4-124.2.7-28.9-7.2-57.2-21.1-82.2l22.1-21zM104 53.1c6.7 7 9.4 16.8 7.6 26.3l45.9 48.1c-4.7 3.8-13.3 10.4-22.8 21.3-25.4 28.5-39.6 64.8-40.7 102.9-.7 28.9 6.1 57.2 20 82.4l-22 21.5C72.7 324 63.1 287.9 64.2 250.9c1-44.6 18.3-87.6 47.5-121.1l-25.3-26.4c-9.6 1.3-19.2-2-25.9-9.1-11.3-12-10.9-30.9 1.1-42.4C73.5 40.7 92.2 41 104 53.1zM464.9 8c26 0 47.1 22.4 47.1 48.3S490.9 104 464.9 104c-6.3.1-14-1.1-15.9-1.8l-62.9 59.7c-32.7-43.6-76.7-65.9-126.9-67.2-30.5-.7-60.3 6.8-86.2 22.4l-21.1-22C184.1 74.3 221.5 64 260 64.9c43.3 1.1 84.6 16.7 117.7 44.6l41.1-38.6c-1.5-4.7-2.2-9.6-2.2-14.5C416.5 29.7 438.9 8 464.9 8zM256.7 113.4c5.5 0 10.9.4 16.4 1.1 78.1 9.8 133.4 81.1 123.8 159.1-9.8 78.1-81.1 133.4-159.1 123.8-78.1-9.8-133.4-81.1-123.8-159.2 9.3-72.4 70.1-124.6 142.7-124.8zm-59 119.4c.6 22.7 12.2 41.8 32.4 52.2l-11 51.7h73.7l-11-51.7c20.1-10.9 32.1-29 32.4-52.2-.4-32.8-25.8-57.5-58.3-58.3-32.1.8-57.3 24.8-58.2 58.3zM256 160\"]\n};\nvar faOpera = {\n prefix: 'fab',\n iconName: 'opera',\n icon: [496, 512, [], \"f26a\", \"M313.9 32.7c-170.2 0-252.6 223.8-147.5 355.1 36.5 45.4 88.6 75.6 147.5 75.6 36.3 0 70.3-11.1 99.4-30.4-43.8 39.2-101.9 63-165.3 63-3.9 0-8 0-11.9-.3C104.6 489.6 0 381.1 0 248 0 111 111 0 248 0h.8c63.1.3 120.7 24.1 164.4 63.1-29-19.4-63.1-30.4-99.3-30.4zm101.8 397.7c-40.9 24.7-90.7 23.6-132-5.8 56.2-20.5 97.7-91.6 97.7-176.6 0-84.7-41.2-155.8-97.4-176.6 41.8-29.2 91.2-30.3 132.9-5 105.9 98.7 105.5 265.7-1.2 364z\"]\n};\nvar faItchIo = {\n prefix: 'fab',\n iconName: 'itch-io',\n icon: [512, 512, [], \"f83a\", \"M71.92 34.77C50.2 47.67 7.4 96.84 7 109.73v21.34c0 27.06 25.29 50.84 48.25 50.84 27.57 0 50.54-22.85 50.54-50 0 27.12 22.18 50 49.76 50s49-22.85 49-50c0 27.12 23.59 50 51.16 50h.5c27.57 0 51.16-22.85 51.16-50 0 27.12 21.47 50 49 50s49.76-22.85 49.76-50c0 27.12 23 50 50.54 50 23 0 48.25-23.78 48.25-50.84v-21.34c-.4-12.9-43.2-62.07-64.92-75C372.56 32.4 325.76 32 256 32S91.14 33.1 71.92 34.77zm132.32 134.39c-22 38.4-77.9 38.71-99.85.25-13.17 23.14-43.17 32.07-56 27.66-3.87 40.15-13.67 237.13 17.73 269.15 80 18.67 302.08 18.12 379.76 0 31.65-32.27 21.32-232 17.75-269.15-12.92 4.44-42.88-4.6-56-27.66-22 38.52-77.85 38.1-99.85-.24-7.1 12.49-23.05 28.94-51.76 28.94a57.54 57.54 0 0 1-51.75-28.94zm-41.58 53.77c16.47 0 31.09 0 49.22 19.78a436.91 436.91 0 0 1 88.18 0C318.22 223 332.85 223 349.31 223c52.33 0 65.22 77.53 83.87 144.45 17.26 62.15-5.52 63.67-33.95 63.73-42.15-1.57-65.49-32.18-65.49-62.79-39.25 6.43-101.93 8.79-155.55 0 0 30.61-23.34 61.22-65.49 62.79-28.42-.06-51.2-1.58-33.94-63.73 18.67-67 31.56-144.45 83.88-144.45zM256 270.79s-44.38 40.77-52.35 55.21l29-1.17v25.32c0 1.55 21.34.16 23.33.16 11.65.54 23.31 1 23.31-.16v-25.28l29 1.17c-8-14.48-52.35-55.24-52.35-55.24z\"]\n};\nvar faUmbraco = {\n prefix: 'fab',\n iconName: 'umbraco',\n icon: [510, 512, [], \"f8e8\", \"M255.35 8C118.36 7.83 7.14 118.72 7 255.68c-.07 137 111 248.2 248 248.27 136.85 0 247.82-110.7 248-247.67S392.34 8.17 255.35 8zm145 266q-1.14 40.68-14 65t-43.51 35q-30.61 10.7-85.45 10.47h-4.6q-54.78.22-85.44-10.47t-43.52-35q-12.85-24.36-14-65a224.81 224.81 0 0 1 0-30.71 418.37 418.37 0 0 1 3.6-43.88c1.88-13.39 3.57-22.58 5.4-32 1-4.88 1.28-6.42 1.82-8.45a5.09 5.09 0 0 1 4.9-3.89h.69l32 5a5.07 5.07 0 0 1 4.16 5 5 5 0 0 1 0 .77l-1.7 8.78q-2.41 13.25-4.84 33.68a380.62 380.62 0 0 0-2.64 42.15q-.28 40.43 8.13 59.83a43.87 43.87 0 0 0 31.31 25.18A243 243 0 0 0 250 340.6h10.25a242.64 242.64 0 0 0 57.27-5.16 43.86 43.86 0 0 0 31.15-25.23q8.53-19.42 8.13-59.78a388 388 0 0 0-2.6-42.15q-2.48-20.38-4.89-33.68l-1.69-8.78a5 5 0 0 1 0-.77 5 5 0 0 1 4.2-5l32-5h.82a5 5 0 0 1 4.9 3.89c.55 2.05.81 3.57 1.83 8.45 1.82 9.62 3.52 18.78 5.39 32a415.71 415.71 0 0 1 3.61 43.88 228.06 228.06 0 0 1-.04 30.73z\"]\n};\nvar faGalacticSenate = {\n prefix: 'fab',\n iconName: 'galactic-senate',\n icon: [512, 512, [], \"f50d\", \"M249.86 33.48v26.07C236.28 80.17 226 168.14 225.39 274.9c11.74-15.62 19.13-33.33 19.13-48.24v-16.88c-.03-5.32.75-10.53 2.19-15.65.65-2.14 1.39-4.08 2.62-5.82 1.23-1.75 3.43-3.79 6.68-3.79 3.24 0 5.45 2.05 6.68 3.79 1.23 1.75 1.97 3.68 2.62 5.82 1.44 5.12 2.22 10.33 2.19 15.65v16.88c0 14.91 7.39 32.62 19.13 48.24-.63-106.76-10.91-194.73-24.49-215.35V33.48h-12.28zm-26.34 147.77c-9.52 2.15-18.7 5.19-27.46 9.08 8.9 16.12 9.76 32.64 1.71 37.29-8 4.62-21.85-4.23-31.36-19.82-11.58 8.79-21.88 19.32-30.56 31.09 14.73 9.62 22.89 22.92 18.32 30.66-4.54 7.7-20.03 7.14-35.47-.96-5.78 13.25-9.75 27.51-11.65 42.42 9.68.18 18.67 2.38 26.18 6.04 17.78-.3 32.77-1.96 40.49-4.22 5.55-26.35 23.02-48.23 46.32-59.51.73-25.55 1.88-49.67 3.48-72.07zm64.96 0c1.59 22.4 2.75 46.52 3.47 72.07 23.29 11.28 40.77 33.16 46.32 59.51 7.72 2.26 22.71 3.92 40.49 4.22 7.51-3.66 16.5-5.85 26.18-6.04-1.9-14.91-5.86-29.17-11.65-42.42-15.44 8.1-30.93 8.66-35.47.96-4.57-7.74 3.6-21.05 18.32-30.66-8.68-11.77-18.98-22.3-30.56-31.09-9.51 15.59-23.36 24.44-31.36 19.82-8.05-4.65-7.19-21.16 1.71-37.29a147.49 147.49 0 0 0-27.45-9.08zm-32.48 8.6c-3.23 0-5.86 8.81-6.09 19.93h-.05v16.88c0 41.42-49.01 95.04-93.49 95.04-52 0-122.75-1.45-156.37 29.17v2.51c9.42 17.12 20.58 33.17 33.18 47.97C45.7 380.26 84.77 360.4 141.2 360c45.68 1.02 79.03 20.33 90.76 40.87.01.01-.01.04 0 .05 7.67 2.14 15.85 3.23 24.04 3.21 8.19.02 16.37-1.07 24.04-3.21.01-.01-.01-.04 0-.05 11.74-20.54 45.08-39.85 90.76-40.87 56.43.39 95.49 20.26 108.02 41.35 12.6-14.8 23.76-30.86 33.18-47.97v-2.51c-33.61-30.62-104.37-29.17-156.37-29.17-44.48 0-93.49-53.62-93.49-95.04v-16.88h-.05c-.23-11.12-2.86-19.93-6.09-19.93zm0 96.59c22.42 0 40.6 18.18 40.6 40.6s-18.18 40.65-40.6 40.65-40.6-18.23-40.6-40.65c0-22.42 18.18-40.6 40.6-40.6zm0 7.64c-18.19 0-32.96 14.77-32.96 32.96S237.81 360 256 360s32.96-14.77 32.96-32.96-14.77-32.96-32.96-32.96zm0 6.14c14.81 0 26.82 12.01 26.82 26.82s-12.01 26.82-26.82 26.82-26.82-12.01-26.82-26.82 12.01-26.82 26.82-26.82zm-114.8 66.67c-10.19.07-21.6.36-30.5 1.66.43 4.42 1.51 18.63 7.11 29.76 9.11-2.56 18.36-3.9 27.62-3.9 41.28.94 71.48 34.35 78.26 74.47l.11 4.7c10.4 1.91 21.19 2.94 32.21 2.94 11.03 0 21.81-1.02 32.21-2.94l.11-4.7c6.78-40.12 36.98-73.53 78.26-74.47 9.26 0 18.51 1.34 27.62 3.9 5.6-11.13 6.68-25.34 7.11-29.76-8.9-1.3-20.32-1.58-30.5-1.66-18.76.42-35.19 4.17-48.61 9.67-12.54 16.03-29.16 30.03-49.58 33.07-.09.02-.17.04-.27.05-.05.01-.11.04-.16.05-5.24 1.07-10.63 1.6-16.19 1.6-5.55 0-10.95-.53-16.19-1.6-.05-.01-.11-.04-.16-.05-.1-.02-.17-.04-.27-.05-20.42-3.03-37.03-17.04-49.58-33.07-13.42-5.49-29.86-9.25-48.61-9.67z\"]\n};\nvar faUbuntu = {\n prefix: 'fab',\n iconName: 'ubuntu',\n icon: [496, 512, [], \"f7df\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm52.7 93c8.8-15.2 28.3-20.5 43.5-11.7 15.3 8.8 20.5 28.3 11.7 43.6-8.8 15.2-28.3 20.5-43.5 11.7-15.3-8.9-20.5-28.4-11.7-43.6zM87.4 287.9c-17.6 0-31.9-14.3-31.9-31.9 0-17.6 14.3-31.9 31.9-31.9 17.6 0 31.9 14.3 31.9 31.9 0 17.6-14.3 31.9-31.9 31.9zm28.1 3.1c22.3-17.9 22.4-51.9 0-69.9 8.6-32.8 29.1-60.7 56.5-79.1l23.7 39.6c-51.5 36.3-51.5 112.5 0 148.8L172 370c-27.4-18.3-47.8-46.3-56.5-79zm228.7 131.7c-15.3 8.8-34.7 3.6-43.5-11.7-8.8-15.3-3.6-34.8 11.7-43.6 15.2-8.8 34.7-3.6 43.5 11.7 8.8 15.3 3.6 34.8-11.7 43.6zm.3-69.5c-26.7-10.3-56.1 6.6-60.5 35-5.2 1.4-48.9 14.3-96.7-9.4l22.5-40.3c57 26.5 123.4-11.7 128.9-74.4l46.1.7c-2.3 34.5-17.3 65.5-40.3 88.4zm-5.9-105.3c-5.4-62-71.3-101.2-128.9-74.4l-22.5-40.3c47.9-23.7 91.5-10.8 96.7-9.4 4.4 28.3 33.8 45.3 60.5 35 23.1 22.9 38 53.9 40.2 88.5l-46 .6z\"]\n};\nvar faDraft2digital = {\n prefix: 'fab',\n iconName: 'draft2digital',\n icon: [480, 512, [], \"f396\", \"M480 398.1l-144-82.2v64.7h-91.3c30.8-35 81.8-95.9 111.8-149.3 35.2-62.6 16.1-123.4-12.8-153.3-4.4-4.6-62.2-62.9-166-41.2-59.1 12.4-89.4 43.4-104.3 67.3-13.1 20.9-17 39.8-18.2 47.7-5.5 33 19.4 67.1 56.7 67.1 31.7 0 57.3-25.7 57.3-57.4 0-27.1-19.7-52.1-48-56.8 1.8-7.3 17.7-21.1 26.3-24.7 41.1-17.3 78 5.2 83.3 33.5 8.3 44.3-37.1 90.4-69.7 127.6C84.5 328.1 18.3 396.8 0 415.9l336-.1V480zM369.9 371l47.1 27.2-47.1 27.2zM134.2 161.4c0 12.4-10 22.4-22.4 22.4s-22.4-10-22.4-22.4 10-22.4 22.4-22.4 22.4 10.1 22.4 22.4zM82.5 380.5c25.6-27.4 97.7-104.7 150.8-169.9 35.1-43.1 40.3-82.4 28.4-112.7-7.4-18.8-17.5-30.2-24.3-35.7 45.3 2.1 68 23.4 82.2 38.3 0 0 42.4 48.2 5.8 113.3-37 65.9-110.9 147.5-128.5 166.7z\"]\n};\nvar faStripe = {\n prefix: 'fab',\n iconName: 'stripe',\n icon: [640, 512, [], \"f429\", \"M165 144.7l-43.3 9.2-.2 142.4c0 26.3 19.8 43.3 46.1 43.3 14.6 0 25.3-2.7 31.2-5.9v-33.8c-5.7 2.3-33.7 10.5-33.7-15.7V221h33.7v-37.8h-33.7zm89.1 51.6l-2.7-13.1H213v153.2h44.3V233.3c10.5-13.8 28.2-11.1 33.9-9.3v-40.8c-6-2.1-26.7-6-37.1 13.1zm92.3-72.3l-44.6 9.5v36.2l44.6-9.5zM44.9 228.3c0-6.9 5.8-9.6 15.1-9.7 13.5 0 30.7 4.1 44.2 11.4v-41.8c-14.7-5.8-29.4-8.1-44.1-8.1-36 0-60 18.8-60 50.2 0 49.2 67.5 41.2 67.5 62.4 0 8.2-7.1 10.9-17 10.9-14.7 0-33.7-6.1-48.6-14.2v40c16.5 7.1 33.2 10.1 48.5 10.1 36.9 0 62.3-15.8 62.3-47.8 0-52.9-67.9-43.4-67.9-63.4zM640 261.6c0-45.5-22-81.4-64.2-81.4s-67.9 35.9-67.9 81.1c0 53.5 30.3 78.2 73.5 78.2 21.2 0 37.1-4.8 49.2-11.5v-33.4c-12.1 6.1-26 9.8-43.6 9.8-17.3 0-32.5-6.1-34.5-26.9h86.9c.2-2.3.6-11.6.6-15.9zm-87.9-16.8c0-20 12.3-28.4 23.4-28.4 10.9 0 22.5 8.4 22.5 28.4zm-112.9-64.6c-17.4 0-28.6 8.2-34.8 13.9l-2.3-11H363v204.8l44.4-9.4.1-50.2c6.4 4.7 15.9 11.2 31.4 11.2 31.8 0 60.8-23.2 60.8-79.6.1-51.6-29.3-79.7-60.5-79.7zm-10.6 122.5c-10.4 0-16.6-3.8-20.9-8.4l-.3-66c4.6-5.1 11-8.8 21.2-8.8 16.2 0 27.4 18.2 27.4 41.4.1 23.9-10.9 41.8-27.4 41.8zm-126.7 33.7h44.6V183.2h-44.6z\"]\n};\nvar faHouzz = {\n prefix: 'fab',\n iconName: 'houzz',\n icon: [448, 512, [], \"f27c\", \"M275.9 330.7H171.3V480H17V32h109.5v104.5l305.1 85.6V480H275.9z\"]\n};\nvar faGg = {\n prefix: 'fab',\n iconName: 'gg',\n icon: [512, 512, [], \"f260\", \"M179.2 230.4l102.4 102.4-102.4 102.4L0 256 179.2 76.8l44.8 44.8-25.6 25.6-19.2-19.2-128 128 128 128 51.5-51.5-77.1-76.5 25.6-25.6zM332.8 76.8L230.4 179.2l102.4 102.4 25.6-25.6-77.1-76.5 51.5-51.5 128 128-128 128-19.2-19.2-25.6 25.6 44.8 44.8L512 256 332.8 76.8z\"]\n};\nvar faDhl = {\n prefix: 'fab',\n iconName: 'dhl',\n icon: [640, 512, [], \"f790\", \"M238 301.2h58.7L319 271h-58.7L238 301.2zM0 282.9v6.4h81.8l4.7-6.4H0zM172.9 271c-8.7 0-6-3.6-4.6-5.5 2.8-3.8 7.6-10.4 10.4-14.1 2.8-3.7 2.8-5.9-2.8-5.9h-51l-41.1 55.8h100.1c33.1 0 51.5-22.5 57.2-30.3h-68.2zm317.5-6.9l39.3-53.4h-62.2l-39.3 53.4h62.2zM95.3 271H0v6.4h90.6l4.7-6.4zm111-26.6c-2.8 3.8-7.5 10.4-10.3 14.2-1.4 2-4.1 5.5 4.6 5.5h45.6s7.3-10 13.5-18.4c8.4-11.4.7-35-29.2-35H112.6l-20.4 27.8h111.4c5.6 0 5.5 2.2 2.7 5.9zM0 301.2h73.1l4.7-6.4H0v6.4zm323 0h58.7L404 271h-58.7c-.1 0-22.3 30.2-22.3 30.2zm222 .1h95v-6.4h-90.3l-4.7 6.4zm22.3-30.3l-4.7 6.4H640V271h-72.7zm-13.5 18.3H640v-6.4h-81.5l-4.7 6.4zm-164.2-78.6l-22.5 30.6h-26.2l22.5-30.6h-58.7l-39.3 53.4H409l39.3-53.4h-58.7zm33.5 60.3s-4.3 5.9-6.4 8.7c-7.4 10-.9 21.6 23.2 21.6h94.3l22.3-30.3H423.1z\"]\n};\nvar faSquarePinterest = {\n prefix: 'fab',\n iconName: 'square-pinterest',\n icon: [448, 512, [\"pinterest-square\"], \"f0d3\", \"M448 80v352c0 26.5-21.5 48-48 48H154.4c9.8-16.4 22.4-40 27.4-59.3 3-11.5 15.3-58.4 15.3-58.4 8 15.3 31.4 28.2 56.3 28.2 74.1 0 127.4-68.1 127.4-152.7 0-81.1-66.2-141.8-151.4-141.8-106 0-162.2 71.1-162.2 148.6 0 36 19.2 80.8 49.8 95.1 4.7 2.2 7.1 1.2 8.2-3.3.8-3.4 5-20.1 6.8-27.8.6-2.5.3-4.6-1.7-7-10.1-12.3-18.3-34.9-18.3-56 0-54.2 41-106.6 110.9-106.6 60.3 0 102.6 41.1 102.6 99.9 0 66.4-33.5 112.4-77.2 112.4-24.1 0-42.1-19.9-36.4-44.4 6.9-29.2 20.3-60.7 20.3-81.8 0-53-75.5-45.7-75.5 25 0 21.7 7.3 36.5 7.3 36.5-31.4 132.8-36.1 134.5-29.6 192.6l2.2.8H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48z\"]\n};\nvar faPinterestSquare = faSquarePinterest;\nvar faXing = {\n prefix: 'fab',\n iconName: 'xing',\n icon: [384, 512, [], \"f168\", \"M162.7 210c-1.8 3.3-25.2 44.4-70.1 123.5-4.9 8.3-10.8 12.5-17.7 12.5H9.8c-7.7 0-12.1-7.5-8.5-14.4l69-121.3c.2 0 .2-.1 0-.3l-43.9-75.6c-4.3-7.8.3-14.1 8.5-14.1H100c7.3 0 13.3 4.1 18 12.2l44.7 77.5zM382.6 46.1l-144 253v.3L330.2 466c3.9 7.1.2 14.1-8.5 14.1h-65.2c-7.6 0-13.6-4-18-12.2l-92.4-168.5c3.3-5.8 51.5-90.8 144.8-255.2 4.6-8.1 10.4-12.2 17.5-12.2h65.7c8 0 12.3 6.7 8.5 14.1z\"]\n};\nvar faBlackberry = {\n prefix: 'fab',\n iconName: 'blackberry',\n icon: [512, 512, [], \"f37b\", \"M166 116.9c0 23.4-16.4 49.1-72.5 49.1H23.4l21-88.8h67.8c42.1 0 53.8 23.3 53.8 39.7zm126.2-39.7h-67.8L205.7 166h70.1c53.8 0 70.1-25.7 70.1-49.1.1-16.4-11.6-39.7-53.7-39.7zM88.8 208.1H21L0 296.9h70.1c56.1 0 72.5-23.4 72.5-49.1 0-16.3-11.7-39.7-53.8-39.7zm180.1 0h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1 0-16.3-11.7-39.7-53.7-39.7zm189.3-53.8h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7zm-28 137.9h-67.8L343.7 381h70.1c56.1 0 70.1-23.4 70.1-49.1 0-16.3-11.6-39.7-53.7-39.7zM240.8 346H173l-18.7 88.8h70.1c56.1 0 70.1-25.7 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7z\"]\n};\nvar faCreativeCommonsPd = {\n prefix: 'fab',\n iconName: 'creative-commons-pd',\n icon: [496, 512, [], \"f4ec\", \"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm0 449.5c-139.2 0-235.8-138-190.2-267.9l78.8 35.1c-2.1 10.5-3.3 21.5-3.3 32.9 0 99 73.9 126.9 120.4 126.9 22.9 0 53.5-6.7 79.4-29.5L297 311.1c-5.5 6.3-17.6 16.7-36.3 16.7-37.8 0-53.7-39.9-53.9-71.9 230.4 102.6 216.5 96.5 217.9 96.8-34.3 62.4-100.6 104.8-176.7 104.8zm194.2-150l-224-100c18.8-34 54.9-30.7 74.7-11l40.4-41.6c-27.1-23.3-58-27.5-78.1-27.5-47.4 0-80.9 20.5-100.7 51.6l-74.9-33.4c36.1-54.9 98.1-91.2 168.5-91.2 111.1 0 201.5 90.4 201.5 201.5 0 18-2.4 35.4-6.8 52-.3-.1-.4-.2-.6-.4z\"]\n};\nvar faPlaystation = {\n prefix: 'fab',\n iconName: 'playstation',\n icon: [576, 512, [], \"f3df\", \"M570.9 372.3c-11.3 14.2-38.8 24.3-38.8 24.3L327 470.2v-54.3l150.9-53.8c17.1-6.1 19.8-14.8 5.8-19.4-13.9-4.6-39.1-3.3-56.2 2.9L327 381.1v-56.4c23.2-7.8 47.1-13.6 75.7-16.8 40.9-4.5 90.9.6 130.2 15.5 44.2 14 49.2 34.7 38 48.9zm-224.4-92.5v-139c0-16.3-3-31.3-18.3-35.6-11.7-3.8-19 7.1-19 23.4v347.9l-93.8-29.8V32c39.9 7.4 98 24.9 129.2 35.4C424.1 94.7 451 128.7 451 205.2c0 74.5-46 102.8-104.5 74.6zM43.2 410.2c-45.4-12.8-53-39.5-32.3-54.8 19.1-14.2 51.7-24.9 51.7-24.9l134.5-47.8v54.5l-96.8 34.6c-17.1 6.1-19.7 14.8-5.8 19.4 13.9 4.6 39.1 3.3 56.2-2.9l46.4-16.9v48.8c-51.6 9.3-101.4 7.3-153.9-10z\"]\n};\nvar faQuinscape = {\n prefix: 'fab',\n iconName: 'quinscape',\n icon: [512, 512, [], \"f459\", \"M313.6 474.6h-1a158.1 158.1 0 0 1 0-316.2c94.9 0 168.2 83.1 157 176.6 4 5.1 8.2 9.6 11.2 15.3 13.4-30.3 20.3-62.4 20.3-97.7C501.1 117.5 391.6 8 256.5 8S12 117.5 12 252.6s109.5 244.6 244.5 244.6a237.36 237.36 0 0 0 70.4-10.1c-5.2-3.5-8.9-8.1-13.3-12.5zm-.1-.1l.4.1zm78.4-168.9a99.2 99.2 0 1 0 99.2 99.2 99.18 99.18 0 0 0-99.2-99.2z\"]\n};\nvar faLess = {\n prefix: 'fab',\n iconName: 'less',\n icon: [640, 512, [], \"f41d\", \"M612.7 219c0-20.5 3.2-32.6 3.2-54.6 0-34.2-12.6-45.2-40.5-45.2h-20.5v24.2h6.3c14.2 0 17.3 4.7 17.3 22.1 0 16.3-1.6 32.6-1.6 51.5 0 24.2 7.9 33.6 23.6 37.3v1.6c-15.8 3.7-23.6 13.1-23.6 37.3 0 18.9 1.6 34.2 1.6 51.5 0 17.9-3.7 22.6-17.3 22.6v.5h-6.3V393h20.5c27.8 0 40.5-11 40.5-45.2 0-22.6-3.2-34.2-3.2-54.6 0-11 6.8-22.6 27.3-23.6v-27.3c-20.5-.7-27.3-12.3-27.3-23.3zm-105.6 32c-15.8-6.3-30.5-10-30.5-20.5 0-7.9 6.3-12.6 17.9-12.6s22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-21 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51s-22.5-41-43-47.8zm-358.9 59.4c-3.7 0-8.4-3.2-8.4-13.1V119.1H65.2c-28.4 0-41 11-41 45.2 0 22.6 3.2 35.2 3.2 54.6 0 11-6.8 22.6-27.3 23.6v27.3c20.5.5 27.3 12.1 27.3 23.1 0 19.4-3.2 31-3.2 53.6 0 34.2 12.6 45.2 40.5 45.2h20.5v-24.2h-6.3c-13.1 0-17.3-5.3-17.3-22.6s1.6-32.1 1.6-51.5c0-24.2-7.9-33.6-23.6-37.3v-1.6c15.8-3.7 23.6-13.1 23.6-37.3 0-18.9-1.6-34.2-1.6-51.5s3.7-22.1 17.3-22.1H93v150.8c0 32.1 11 53.1 43.1 53.1 10 0 17.9-1.6 23.6-3.7l-5.3-34.2c-3.1.8-4.6.8-6.2.8zM379.9 251c-16.3-6.3-31-10-31-20.5 0-7.9 6.3-12.6 17.9-12.6 11.6 0 22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-20.5 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51 .1-28.9-22.5-41-43-47.8zm-155-68.8c-38.4 0-75.1 32.1-74.1 82.5 0 52 34.2 82.5 79.3 82.5 18.9 0 39.9-6.8 56.2-17.9l-15.8-27.8c-11.6 6.8-22.6 10-34.2 10-21 0-37.3-10-41.5-34.2H290c.5-3.7 1.6-11 1.6-19.4.6-42.6-22.6-75.7-66.7-75.7zm-30 66.2c3.2-21 15.8-31 30.5-31 18.9 0 26.3 13.1 26.3 31h-56.8z\"]\n};\nvar faBloggerB = {\n prefix: 'fab',\n iconName: 'blogger-b',\n icon: [448, 512, [], \"f37d\", \"M446.6 222.7c-1.8-8-6.8-15.4-12.5-18.5-1.8-1-13-2.2-25-2.7-20.1-.9-22.3-1.3-28.7-5-10.1-5.9-12.8-12.3-12.9-29.5-.1-33-13.8-63.7-40.9-91.3-19.3-19.7-40.9-33-65.5-40.5-5.9-1.8-19.1-2.4-63.3-2.9-69.4-.8-84.8.6-108.4 10C45.9 59.5 14.7 96.1 3.3 142.9 1.2 151.7.7 165.8.2 246.8c-.6 101.5.1 116.4 6.4 136.5 15.6 49.6 59.9 86.3 104.4 94.3 14.8 2.7 197.3 3.3 216 .8 32.5-4.4 58-17.5 81.9-41.9 17.3-17.7 28.1-36.8 35.2-62.1 4.9-17.6 4.5-142.8 2.5-151.7zm-322.1-63.6c7.8-7.9 10-8.2 58.8-8.2 43.9 0 45.4.1 51.8 3.4 9.3 4.7 13.4 11.3 13.4 21.9 0 9.5-3.8 16.2-12.3 21.6-4.6 2.9-7.3 3.1-50.3 3.3-26.5.2-47.7-.4-50.8-1.2-16.6-4.7-22.8-28.5-10.6-40.8zm191.8 199.8l-14.9 2.4-77.5.9c-68.1.8-87.3-.4-90.9-2-7.1-3.1-13.8-11.7-14.9-19.4-1.1-7.3 2.6-17.3 8.2-22.4 7.1-6.4 10.2-6.6 97.3-6.7 89.6-.1 89.1-.1 97.6 7.8 12.1 11.3 9.5 31.2-4.9 39.4z\"]\n};\nvar faOpencart = {\n prefix: 'fab',\n iconName: 'opencart',\n icon: [640, 512, [], \"f23d\", \"M423.3 440.7c0 25.3-20.3 45.6-45.6 45.6s-45.8-20.3-45.8-45.6 20.6-45.8 45.8-45.8c25.4 0 45.6 20.5 45.6 45.8zm-253.9-45.8c-25.3 0-45.6 20.6-45.6 45.8s20.3 45.6 45.6 45.6 45.8-20.3 45.8-45.6-20.5-45.8-45.8-45.8zm291.7-270C158.9 124.9 81.9 112.1 0 25.7c34.4 51.7 53.3 148.9 373.1 144.2 333.3-5 130 86.1 70.8 188.9 186.7-166.7 319.4-233.9 17.2-233.9z\"]\n};\nvar faVine = {\n prefix: 'fab',\n iconName: 'vine',\n icon: [384, 512, [], \"f1ca\", \"M384 254.7v52.1c-18.4 4.2-36.9 6.1-52.1 6.1-36.9 77.4-103 143.8-125.1 156.2-14 7.9-27.1 8.4-42.7-.8C137 452 34.2 367.7 0 102.7h74.5C93.2 261.8 139 343.4 189.3 404.5c27.9-27.9 54.8-65.1 75.6-106.9-49.8-25.3-80.1-80.9-80.1-145.6 0-65.6 37.7-115.1 102.2-115.1 114.9 0 106.2 127.9 81.6 181.5 0 0-46.4 9.2-63.5-20.5 3.4-11.3 8.2-30.8 8.2-48.5 0-31.3-11.3-46.6-28.4-46.6-18.2 0-30.8 17.1-30.8 50 .1 79.2 59.4 118.7 129.9 101.9z\"]\n};\nvar faPaypal = {\n prefix: 'fab',\n iconName: 'paypal',\n icon: [384, 512, [], \"f1ed\", \"M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z\"]\n};\nvar faGitlab = {\n prefix: 'fab',\n iconName: 'gitlab',\n icon: [512, 512, [], \"f296\", \"M503.5 204.6L502.8 202.8L433.1 21.02C431.7 17.45 429.2 14.43 425.9 12.38C423.5 10.83 420.8 9.865 417.9 9.57C415 9.275 412.2 9.653 409.5 10.68C406.8 11.7 404.4 13.34 402.4 15.46C400.5 17.58 399.1 20.13 398.3 22.9L351.3 166.9H160.8L113.7 22.9C112.9 20.13 111.5 17.59 109.6 15.47C107.6 13.35 105.2 11.72 102.5 10.7C99.86 9.675 96.98 9.295 94.12 9.587C91.26 9.878 88.51 10.83 86.08 12.38C82.84 14.43 80.33 17.45 78.92 21.02L9.267 202.8L8.543 204.6C-1.484 230.8-2.72 259.6 5.023 286.6C12.77 313.5 29.07 337.3 51.47 354.2L51.74 354.4L52.33 354.8L158.3 434.3L210.9 474L242.9 498.2C246.6 500.1 251.2 502.5 255.9 502.5C260.6 502.5 265.2 500.1 268.9 498.2L300.9 474L353.5 434.3L460.2 354.4L460.5 354.1C482.9 337.2 499.2 313.5 506.1 286.6C514.7 259.6 513.5 230.8 503.5 204.6z\"]\n};\nvar faTypo3 = {\n prefix: 'fab',\n iconName: 'typo3',\n icon: [448, 512, [], \"f42b\", \"M178.7 78.4c0-24.7 5.4-32.4 13.9-39.4-69.5 8.5-149.3 34-176.3 66.4-5.4 7.7-9.3 20.8-9.3 37.1C7 246 113.8 480 191.1 480c36.3 0 97.3-59.5 146.7-139-7 2.3-11.6 2.3-18.5 2.3-57.2 0-140.6-198.5-140.6-264.9zM301.5 32c-30.1 0-41.7 5.4-41.7 36.3 0 66.4 53.8 198.5 101.7 198.5 26.3 0 78.8-99.7 78.8-182.3 0-40.9-67-52.5-138.8-52.5z\"]\n};\nvar faRedditAlien = {\n prefix: 'fab',\n iconName: 'reddit-alien',\n icon: [512, 512, [], \"f281\", \"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"]\n};\nvar faYahoo = {\n prefix: 'fab',\n iconName: 'yahoo',\n icon: [512, 512, [], \"f19e\", \"M223.69,141.06,167,284.23,111,141.06H14.93L120.76,390.19,82.19,480h94.17L317.27,141.06Zm105.4,135.79a58.22,58.22,0,1,0,58.22,58.22A58.22,58.22,0,0,0,329.09,276.85ZM394.65,32l-93,223.47H406.44L499.07,32Z\"]\n};\nvar faDailymotion = {\n prefix: 'fab',\n iconName: 'dailymotion',\n icon: [448, 512, [], \"e052\", \"M298.93,267a48.4,48.4,0,0,0-24.36-6.21q-19.83,0-33.44,13.27t-13.61,33.42q0,21.16,13.28,34.6t33.43,13.44q20.5,0,34.11-13.78T322,307.47A47.13,47.13,0,0,0,315.9,284,44.13,44.13,0,0,0,298.93,267ZM0,32V480H448V32ZM374.71,405.26h-53.1V381.37h-.67q-15.79,26.2-55.78,26.2-27.56,0-48.89-13.1a88.29,88.29,0,0,1-32.94-35.77q-11.6-22.68-11.59-50.89,0-27.56,11.76-50.22a89.9,89.9,0,0,1,32.93-35.78q21.18-13.09,47.72-13.1a80.87,80.87,0,0,1,29.74,5.21q13.28,5.21,25,17V153l55.79-12.09Z\"]\n};\nvar faAffiliatetheme = {\n prefix: 'fab',\n iconName: 'affiliatetheme',\n icon: [512, 512, [], \"f36b\", \"M159.7 237.4C108.4 308.3 43.1 348.2 14 326.6-15.2 304.9 2.8 230 54.2 159.1c51.3-70.9 116.6-110.8 145.7-89.2 29.1 21.6 11.1 96.6-40.2 167.5zm351.2-57.3C437.1 303.5 319 367.8 246.4 323.7c-25-15.2-41.3-41.2-49-73.8-33.6 64.8-92.8 113.8-164.1 133.2 49.8 59.3 124.1 96.9 207 96.9 150 0 271.6-123.1 271.6-274.9.1-8.5-.3-16.8-1-25z\"]\n};\nvar faPiedPiperPp = {\n prefix: 'fab',\n iconName: 'pied-piper-pp',\n icon: [448, 512, [], \"f1a7\", \"M205.3 174.6c0 21.1-14.2 38.1-31.7 38.1-7.1 0-12.8-1.2-17.2-3.7v-68c4.4-2.7 10.1-4.2 17.2-4.2 17.5 0 31.7 16.9 31.7 37.8zm52.6 67c-7.1 0-12.8 1.5-17.2 4.2v68c4.4 2.5 10.1 3.7 17.2 3.7 17.4 0 31.7-16.9 31.7-37.8 0-21.1-14.3-38.1-31.7-38.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM185 255.1c41 0 74.2-35.6 74.2-79.6 0-44-33.2-79.6-74.2-79.6-12 0-24.1 3.2-34.6 8.8h-45.7V311l51.8-10.1v-50.6c8.6 3.1 18.1 4.8 28.5 4.8zm158.4 25.3c0-44-33.2-79.6-73.9-79.6-3.2 0-6.4.2-9.6.7-3.7 12.5-10.1 23.8-19.2 33.4-13.8 15-32.2 23.8-51.8 24.8V416l51.8-10.1v-50.6c8.6 3.2 18.2 4.7 28.7 4.7 40.8 0 74-35.6 74-79.6z\"]\n};\nvar faBootstrap = {\n prefix: 'fab',\n iconName: 'bootstrap',\n icon: [576, 512, [], \"f836\", \"M333.5,201.4c0-22.1-15.6-34.3-43-34.3h-50.4v71.2h42.5C315.4,238.2,333.5,225,333.5,201.4z M517,188.6 c-9.5-30.9-10.9-68.8-9.8-98.1c1.1-30.5-22.7-58.5-54.7-58.5H123.7c-32.1,0-55.8,28.1-54.7,58.5c1,29.3-0.3,67.2-9.8,98.1 c-9.6,31-25.7,50.6-52.2,53.1v28.5c26.4,2.5,42.6,22.1,52.2,53.1c9.5,30.9,10.9,68.8,9.8,98.1c-1.1,30.5,22.7,58.5,54.7,58.5h328.7 c32.1,0,55.8-28.1,54.7-58.5c-1-29.3,0.3-67.2,9.8-98.1c9.6-31,25.7-50.6,52.1-53.1v-28.5C542.7,239.2,526.5,219.6,517,188.6z M300.2,375.1h-97.9V136.8h97.4c43.3,0,71.7,23.4,71.7,59.4c0,25.3-19.1,47.9-43.5,51.8v1.3c33.2,3.6,55.5,26.6,55.5,58.3 C383.4,349.7,352.1,375.1,300.2,375.1z M290.2,266.4h-50.1v78.4h52.3c34.2,0,52.3-13.7,52.3-39.5 C344.7,279.6,326.1,266.4,290.2,266.4z\"]\n};\nvar faOdnoklassniki = {\n prefix: 'fab',\n iconName: 'odnoklassniki',\n icon: [320, 512, [], \"f263\", \"M275.1 334c-27.4 17.4-65.1 24.3-90 26.9l20.9 20.6 76.3 76.3c27.9 28.6-17.5 73.3-45.7 45.7-19.1-19.4-47.1-47.4-76.3-76.6L84 503.4c-28.2 27.5-73.6-17.6-45.4-45.7 19.4-19.4 47.1-47.4 76.3-76.3l20.6-20.6c-24.6-2.6-62.9-9.1-90.6-26.9-32.6-21-46.9-33.3-34.3-59 7.4-14.6 27.7-26.9 54.6-5.7 0 0 36.3 28.9 94.9 28.9s94.9-28.9 94.9-28.9c26.9-21.1 47.1-8.9 54.6 5.7 12.4 25.7-1.9 38-34.5 59.1zM30.3 129.7C30.3 58 88.6 0 160 0s129.7 58 129.7 129.7c0 71.4-58.3 129.4-129.7 129.4s-129.7-58-129.7-129.4zm66 0c0 35.1 28.6 63.7 63.7 63.7s63.7-28.6 63.7-63.7c0-35.4-28.6-64-63.7-64s-63.7 28.6-63.7 64z\"]\n};\nvar faNfcSymbol = {\n prefix: 'fab',\n iconName: 'nfc-symbol',\n icon: [576, 512, [], \"e531\", \"M392.9 32.43C400.6 31.1 408.6 32.89 414.1 37.41C498.2 96.14 544 173.7 544 255.1C544 338.2 498.2 415.9 414.1 474.6C409.3 478.6 402.4 480.5 395.5 479.9C388.5 479.3 382 476.3 377.1 471.4L193.7 288.7C188.1 283.2 185 275.7 184.1 267.8C184.1 260 188.1 252.5 193.6 246.9C199.2 241.4 206.7 238.2 214.5 238.2C222.4 238.2 229.9 241.3 235.4 246.8L400.5 411.2C455.1 366.5 484.8 312 484.8 255.1C484.8 193.5 447.9 132.9 380.9 85.76C374.5 81.24 370.1 74.35 368.8 66.62C367.4 58.89 369.2 50.94 373.8 44.53C378.3 38.12 385.2 33.77 392.9 32.43V32.43zM186.9 479.6C179.2 480.9 171.3 479.1 164.8 474.6C81.67 415.9 35.84 338.2 35.84 255.1C35.84 173.7 81.67 96.14 164.8 37.41C170.5 33.4 177.4 31.53 184.4 32.12C191.3 32.71 197.8 35.72 202.7 40.63L386.1 223.3C391.7 228.8 394.8 236.3 394.8 244.2C394.9 251.1 391.8 259.5 386.2 265.1C380.7 270.6 373.2 273.8 365.3 273.8C357.5 273.8 349.1 270.7 344.4 265.2L179.3 100.7C124.7 145.9 95.03 199.9 95.03 255.1C95.03 318.5 131.9 379.1 198.1 426.2C205.4 430.8 209.7 437.6 211.1 445.4C212.4 453.1 210.6 461.1 206.1 467.5C201.6 473.9 194.7 478.2 186.9 479.6V479.6z\"]\n};\nvar faEthereum = {\n prefix: 'fab',\n iconName: 'ethereum',\n icon: [320, 512, [], \"f42e\", \"M311.9 260.8L160 353.6 8 260.8 160 0l151.9 260.8zM160 383.4L8 290.6 160 512l152-221.4-152 92.8z\"]\n};\nvar faSpeakerDeck = {\n prefix: 'fab',\n iconName: 'speaker-deck',\n icon: [512, 512, [], \"f83c\", \"M213.86 296H100a100 100 0 0 1 0-200h132.84a40 40 0 0 1 0 80H98c-26.47 0-26.45 40 0 40h113.82a100 100 0 0 1 0 200H40a40 40 0 0 1 0-80h173.86c26.48 0 26.46-40 0-40zM298 416a120.21 120.21 0 0 0 51.11-80h64.55a19.83 19.83 0 0 0 19.66-20V196a19.83 19.83 0 0 0-19.66-20H296.42a60.77 60.77 0 0 0 0-80h136.93c43.44 0 78.65 35.82 78.65 80v160c0 44.18-35.21 80-78.65 80z\"]\n};\nvar faCreativeCommonsNcEu = {\n prefix: 'fab',\n iconName: 'creative-commons-nc-eu',\n icon: [496, 512, [], \"f4e9\", \"M247.7 8C103.6 8 0 124.8 0 256c0 136.3 111.7 248 247.7 248C377.9 504 496 403.1 496 256 496 117 388.4 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-23.2 3.7-45.2 10.9-66l65.7 29.1h-4.7v29.5h23.3c0 6.2-.4 3.2-.4 19.5h-22.8v29.5h27c11.4 67 67.2 101.3 124.6 101.3 26.6 0 50.6-7.9 64.8-15.8l-10-46.1c-8.7 4.6-28.2 10.8-47.3 10.8-28.2 0-58.1-10.9-67.3-50.2h90.3l128.3 56.8c-1.5 2.1-56.2 104.3-178.8 104.3zm-16.7-190.6l-.5-.4.9.4h-.4zm77.2-19.5h3.7v-29.5h-70.3l-28.6-12.6c2.5-5.5 5.4-10.5 8.8-14.3 12.9-15.8 31.1-22.4 51.1-22.4 18.3 0 35.3 5.4 46.1 10l11.6-47.3c-15-6.6-37-12.4-62.3-12.4-39 0-72.2 15.8-95.9 42.3-5.3 6.1-9.8 12.9-13.9 20.1l-81.6-36.1c64.6-96.8 157.7-93.6 170.7-93.6 113 0 203 90.2 203 203.4 0 18.7-2.1 36.3-6.3 52.9l-136.1-60.5z\"]\n};\nvar faPatreon = {\n prefix: 'fab',\n iconName: 'patreon',\n icon: [512, 512, [], \"f3d9\", \"M512 194.8c0 101.3-82.4 183.8-183.8 183.8-101.7 0-184.4-82.4-184.4-183.8 0-101.6 82.7-184.3 184.4-184.3C429.6 10.5 512 93.2 512 194.8zM0 501.5h90v-491H0v491z\"]\n};\nvar faAvianex = {\n prefix: 'fab',\n iconName: 'avianex',\n icon: [512, 512, [], \"f374\", \"M453.1 32h-312c-38.9 0-76.2 31.2-83.3 69.7L1.2 410.3C-5.9 448.8 19.9 480 58.9 480h312c38.9 0 76.2-31.2 83.3-69.7l56.7-308.5c7-38.6-18.8-69.8-57.8-69.8zm-58.2 347.3l-32 13.5-115.4-110c-14.7 10-29.2 19.5-41.7 27.1l22.1 64.2-17.9 12.7-40.6-61-52.4-48.1 15.7-15.4 58 31.1c9.3-10.5 20.8-22.6 32.8-34.9L203 228.9l-68.8-99.8 18.8-28.9 8.9-4.8L265 207.8l4.9 4.5c19.4-18.8 33.8-32.4 33.8-32.4 7.7-6.5 21.5-2.9 30.7 7.9 9 10.5 10.6 24.7 2.7 31.3-1.8 1.3-15.5 11.4-35.3 25.6l4.5 7.3 94.9 119.4-6.3 7.9z\"]\n};\nvar faEllo = {\n prefix: 'fab',\n iconName: 'ello',\n icon: [496, 512, [], \"f5f1\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm143.84 285.2C375.31 358.51 315.79 404.8 248 404.8s-127.31-46.29-143.84-111.6c-1.65-7.44 2.48-15.71 9.92-17.36 7.44-1.65 15.71 2.48 17.36 9.92 14.05 52.91 62 90.11 116.56 90.11s102.51-37.2 116.56-90.11c1.65-7.44 9.92-12.4 17.36-9.92 7.44 1.65 12.4 9.92 9.92 17.36z\"]\n};\nvar faGofore = {\n prefix: 'fab',\n iconName: 'gofore',\n icon: [400, 512, [], \"f3a7\", \"M324 319.8h-13.2v34.7c-24.5 23.1-56.3 35.8-89.9 35.8-73.2 0-132.4-60.2-132.4-134.4 0-74.1 59.2-134.4 132.4-134.4 35.3 0 68.6 14 93.6 39.4l62.3-63.3C335 55.3 279.7 32 220.7 32 98 32 0 132.6 0 256c0 122.5 97 224 220.7 224 63.2 0 124.5-26.2 171-82.5-2-27.6-13.4-77.7-67.7-77.7zm-12.1-112.5H205.6v89H324c33.5 0 60.5 15.1 76 41.8v-30.6c0-65.2-40.4-100.2-88.1-100.2z\"]\n};\nvar faBimobject = {\n prefix: 'fab',\n iconName: 'bimobject',\n icon: [448, 512, [], \"f378\", \"M416 32H32C14.4 32 0 46.4 0 64v384c0 17.6 14.4 32 32 32h384c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32zm-64 257.4c0 49.4-11.4 82.6-103.8 82.6h-16.9c-44.1 0-62.4-14.9-70.4-38.8h-.9V368H96V136h64v74.7h1.1c4.6-30.5 39.7-38.8 69.7-38.8h17.3c92.4 0 103.8 33.1 103.8 82.5v35zm-64-28.9v22.9c0 21.7-3.4 33.8-38.4 33.8h-45.3c-28.9 0-44.1-6.5-44.1-35.7v-19c0-29.3 15.2-35.7 44.1-35.7h45.3c35-.2 38.4 12 38.4 33.7z\"]\n};\nvar faFacebookF = {\n prefix: 'fab',\n iconName: 'facebook-f',\n icon: [320, 512, [], \"f39e\", \"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"]\n};\nvar faSquareGooglePlus = {\n prefix: 'fab',\n iconName: 'square-google-plus',\n icon: [448, 512, [\"google-plus-square\"], \"f0d4\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM164 356c-55.3 0-100-44.7-100-100s44.7-100 100-100c27 0 49.5 9.8 67 26.2l-27.1 26.1c-7.4-7.1-20.3-15.4-39.8-15.4-34.1 0-61.9 28.2-61.9 63.2 0 34.9 27.8 63.2 61.9 63.2 39.6 0 54.4-28.5 56.8-43.1H164v-34.4h94.4c1 5 1.6 10.1 1.6 16.6 0 57.1-38.3 97.6-96 97.6zm220-81.8h-29v29h-29.2v-29h-29V245h29v-29H355v29h29v29.2z\"]\n};\nvar faGooglePlusSquare = faSquareGooglePlus;\nvar faMandalorian = {\n prefix: 'fab',\n iconName: 'mandalorian',\n icon: [448, 512, [], \"f50f\", \"M232.27 511.89c-1-3.26-1.69-15.83-1.39-24.58.55-15.89 1-24.72 1.4-28.76.64-6.2 2.87-20.72 3.28-21.38.6-1 .4-27.87-.24-33.13-.31-2.58-.63-11.9-.69-20.73-.13-16.47-.53-20.12-2.73-24.76-1.1-2.32-1.23-3.84-1-11.43a92.38 92.38 0 0 0-.34-12.71c-2-13-3.46-27.7-3.25-33.9s.43-7.15 2.06-9.67c3.05-4.71 6.51-14 8.62-23.27 2.26-9.86 3.88-17.18 4.59-20.74a109.54 109.54 0 0 1 4.42-15.05c2.27-6.25 2.49-15.39.37-15.39-.3 0-1.38 1.22-2.41 2.71s-4.76 4.8-8.29 7.36c-8.37 6.08-11.7 9.39-12.66 12.58s-1 7.23-.16 7.76c.34.21 1.29 2.4 2.11 4.88a28.83 28.83 0 0 1 .72 15.36c-.39 1.77-1 5.47-1.46 8.23s-1 6.46-1.25 8.22a9.85 9.85 0 0 1-1.55 4.26c-1 1-1.14.91-2.05-.53a14.87 14.87 0 0 1-1.44-4.75c-.25-1.74-1.63-7.11-3.08-11.93-3.28-10.9-3.52-16.15-1-21a14.24 14.24 0 0 0 1.67-4.61c0-2.39-2.2-5.32-7.41-9.89-7-6.18-8.63-7.92-10.23-11.3-1.71-3.6-3.06-4.06-4.54-1.54-1.78 3-2.6 9.11-3 22l-.34 12.19 2 2.25c3.21 3.7 12.07 16.45 13.78 19.83 3.41 6.74 4.34 11.69 4.41 23.56s.95 22.75 2 24.71c.36.66.51 1.35.34 1.52s.41 2.09 1.29 4.27a38.14 38.14 0 0 1 2.06 9 91 91 0 0 0 1.71 10.37c2.23 9.56 2.77 14.08 2.39 20.14-.2 3.27-.53 11.07-.73 17.32-1.31 41.76-1.85 58-2 61.21-.12 2-.39 11.51-.6 21.07-.36 16.3-1.3 27.37-2.42 28.65-.64.73-8.07-4.91-12.52-9.49-3.75-3.87-4-4.79-2.83-9.95.7-3 2.26-18.29 3.33-32.62.36-4.78.81-10.5 1-12.71.83-9.37 1.66-20.35 2.61-34.78.56-8.46 1.33-16.44 1.72-17.73s.89-9.89 1.13-19.11l.43-16.77-2.26-4.3c-1.72-3.28-4.87-6.94-13.22-15.34-6-6.07-11.84-12.3-12.91-13.85l-1.95-2.81.75-10.9c1.09-15.71 1.1-48.57 0-59.06l-.89-8.7-3.28-4.52c-5.86-8.08-5.8-7.75-6.22-33.27-.1-6.07-.38-11.5-.63-12.06-.83-1.87-3.05-2.66-8.54-3.05-8.86-.62-11-1.9-23.85-14.55-6.15-6-12.34-12-13.75-13.19-2.81-2.42-2.79-2-.56-9.63l1.35-4.65-1.69-3a32.22 32.22 0 0 0-2.59-4.07c-1.33-1.51-5.5-10.89-6-13.49a4.24 4.24 0 0 1 .87-3.9c2.23-2.86 3.4-5.68 4.45-10.73 2.33-11.19 7.74-26.09 10.6-29.22 3.18-3.47 7.7-1 9.41 5 1.34 4.79 1.37 9.79.1 18.55a101.2 101.2 0 0 0-1 11.11c0 4 .19 4.69 2.25 7.39 3.33 4.37 7.73 7.41 15.2 10.52a18.67 18.67 0 0 1 4.72 2.85c11.17 10.72 18.62 16.18 22.95 16.85 5.18.8 8 4.54 10 13.39 1.31 5.65 4 11.14 5.46 11.14a9.38 9.38 0 0 0 3.33-1.39c2-1.22 2.25-1.73 2.25-4.18a132.88 132.88 0 0 0-2-17.84c-.37-1.66-.78-4.06-.93-5.35s-.61-3.85-1-5.69c-2.55-11.16-3.65-15.46-4.1-16-1.55-2-4.08-10.2-4.93-15.92-1.64-11.11-4-14.23-12.91-17.39A43.15 43.15 0 0 1 165.24 78c-1.15-1-4-3.22-6.35-5.06s-4.41-3.53-4.6-3.76a22.7 22.7 0 0 0-2.69-2c-6.24-4.22-8.84-7-11.26-12l-2.44-5-.22-13-.22-13 6.91-6.55c3.95-3.75 8.48-7.35 10.59-8.43 3.31-1.69 4.45-1.89 11.37-2 8.53-.19 10.12 0 11.66 1.56s1.36 6.4-.29 8.5a6.66 6.66 0 0 0-1.34 2.32c0 .58-2.61 4.91-5.42 9a30.39 30.39 0 0 0-2.37 6.82c20.44 13.39 21.55 3.77 14.07 29L194 66.92c3.11-8.66 6.47-17.26 8.61-26.22.29-7.63-12-4.19-15.4-8.68-2.33-5.93 3.13-14.18 6.06-19.2 1.6-2.34 6.62-4.7 8.82-4.15.88.22 4.16-.35 7.37-1.28a45.3 45.3 0 0 1 7.55-1.68 29.57 29.57 0 0 0 6-1.29c3.65-1.11 4.5-1.17 6.35-.4a29.54 29.54 0 0 0 5.82 1.36 18.18 18.18 0 0 1 6 1.91 22.67 22.67 0 0 0 5 2.17c2.51.68 3 .57 7.05-1.67l4.35-2.4L268.32 5c10.44-.4 10.81-.47 15.26-2.68L288.16 0l2.46 1.43c1.76 1 3.14 2.73 4.85 6 2.36 4.51 2.38 4.58 1.37 7.37-.88 2.44-.89 3.3-.1 6.39a35.76 35.76 0 0 0 2.1 5.91 13.55 13.55 0 0 1 1.31 4c.31 4.33 0 5.3-2.41 6.92-2.17 1.47-7 7.91-7 9.34a14.77 14.77 0 0 1-1.07 3c-5 11.51-6.76 13.56-14.26 17-9.2 4.2-12.3 5.19-16.21 5.19-3.1 0-4 .25-4.54 1.26a18.33 18.33 0 0 1-4.09 3.71 13.62 13.62 0 0 0-4.38 4.78 5.89 5.89 0 0 1-2.49 2.91 6.88 6.88 0 0 0-2.45 1.71 67.62 67.62 0 0 1-7 5.38c-3.33 2.34-6.87 5-7.87 6A7.27 7.27 0 0 1 224 100a5.76 5.76 0 0 0-2.13 1.65c-1.31 1.39-1.49 2.11-1.14 4.6a36.45 36.45 0 0 0 1.42 5.88c1.32 3.8 1.31 7.86 0 10.57s-.89 6.65 1.35 9.59c2 2.63 2.16 4.56.71 8.84a33.45 33.45 0 0 0-1.06 8.91c0 4.88.22 6.28 1.46 8.38s1.82 2.48 3.24 2.32c2-.23 2.3-1.05 4.71-12.12 2.18-10 3.71-11.92 13.76-17.08 2.94-1.51 7.46-4 10-5.44s6.79-3.69 9.37-4.91a40.09 40.09 0 0 0 15.22-11.67c7.11-8.79 10-16.22 12.85-33.3a18.37 18.37 0 0 1 2.86-7.73 20.39 20.39 0 0 0 2.89-7.31c1-5.3 2.85-9.08 5.58-11.51 4.7-4.18 6-1.09 4.59 10.87-.46 3.86-1.1 10.33-1.44 14.38l-.61 7.36 4.45 4.09 4.45 4.09.11 8.42c.06 4.63.47 9.53.92 10.89l.82 2.47-6.43 6.28c-8.54 8.33-12.88 13.93-16.76 21.61-1.77 3.49-3.74 7.11-4.38 8-2.18 3.11-6.46 13-8.76 20.26l-2.29 7.22-7 6.49c-3.83 3.57-8 7.25-9.17 8.17-3.05 2.32-4.26 5.15-4.26 10a14.62 14.62 0 0 0 1.59 7.26 42 42 0 0 1 2.09 4.83 9.28 9.28 0 0 0 1.57 2.89c1.4 1.59 1.92 16.12.83 23.22-.68 4.48-3.63 12-4.7 12-1.79 0-4.06 9.27-5.07 20.74-.18 2-.62 5.94-1 8.7s-1 10-1.35 16.05c-.77 12.22-.19 18.77 2 23.15 3.41 6.69.52 12.69-11 22.84l-4 3.49.07 5.19a40.81 40.81 0 0 0 1.14 8.87c4.61 16 4.73 16.92 4.38 37.13-.46 26.4-.26 40.27.63 44.15a61.31 61.31 0 0 1 1.08 7c.17 2 .66 5.33 1.08 7.36.47 2.26.78 11 .79 22.74v19.06l-1.81 2.63c-2.71 3.91-15.11 13.54-15.49 12.29zm29.53-45.11c-.18-.3-.33-6.87-.33-14.59 0-14.06-.89-27.54-2.26-34.45-.4-2-.81-9.7-.9-17.06-.15-11.93-1.4-24.37-2.64-26.38-.66-1.07-3-17.66-3-21.3 0-4.23 1-6 5.28-9.13s4.86-3.14 5.48-.72c.28 1.1 1.45 5.62 2.6 10 3.93 15.12 4.14 16.27 4.05 21.74-.1 5.78-.13 6.13-1.74 17.73-1 7.07-1.17 12.39-1 28.43.17 19.4-.64 35.73-2 41.27-.71 2.78-2.8 5.48-3.43 4.43zm-71-37.58a101 101 0 0 1-1.73-10.79 100.5 100.5 0 0 0-1.73-10.79 37.53 37.53 0 0 1-1-6.49c-.31-3.19-.91-7.46-1.33-9.48-1-4.79-3.35-19.35-3.42-21.07 0-.74-.34-4.05-.7-7.36-.67-6.21-.84-27.67-.22-28.29 1-1 6.63 2.76 11.33 7.43l5.28 5.25-.45 6.47c-.25 3.56-.6 10.23-.78 14.83s-.49 9.87-.67 11.71-.61 9.36-.94 16.72c-.79 17.41-1.94 31.29-2.65 32a.62.62 0 0 1-1-.14zm-87.18-266.59c21.07 12.79 17.84 14.15 28.49 17.66 13 4.29 18.87 7.13 23.15 16.87C111.6 233.28 86.25 255 78.55 268c-31 52-6 101.59 62.75 87.21-14.18 29.23-78 28.63-98.68-4.9-24.68-39.95-22.09-118.3 61-187.66zm210.79 179c56.66 6.88 82.32-37.74 46.54-89.23 0 0-26.87-29.34-64.28-68 3-15.45 9.49-32.12 30.57-53.82 89.2 63.51 92 141.61 92.46 149.36 4.3 70.64-78.7 91.18-105.29 61.71z\"]\n};\nvar faFirstOrderAlt = {\n prefix: 'fab',\n iconName: 'first-order-alt',\n icon: [496, 512, [], \"f50a\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 488.21C115.34 496.21 7.79 388.66 7.79 256S115.34 15.79 248 15.79 488.21 123.34 488.21 256 380.66 496.21 248 496.21zm0-459.92C126.66 36.29 28.29 134.66 28.29 256S126.66 475.71 248 475.71 467.71 377.34 467.71 256 369.34 36.29 248 36.29zm0 431.22c-116.81 0-211.51-94.69-211.51-211.51S131.19 44.49 248 44.49 459.51 139.19 459.51 256 364.81 467.51 248 467.51zm186.23-162.98a191.613 191.613 0 0 1-20.13 48.69l-74.13-35.88 61.48 54.82a193.515 193.515 0 0 1-37.2 37.29l-54.8-61.57 35.88 74.27a190.944 190.944 0 0 1-48.63 20.23l-27.29-78.47 4.79 82.93c-8.61 1.18-17.4 1.8-26.33 1.8s-17.72-.62-26.33-1.8l4.76-82.46-27.15 78.03a191.365 191.365 0 0 1-48.65-20.2l35.93-74.34-54.87 61.64a193.85 193.85 0 0 1-37.22-37.28l61.59-54.9-74.26 35.93a191.638 191.638 0 0 1-20.14-48.69l77.84-27.11-82.23 4.76c-1.16-8.57-1.78-17.32-1.78-26.21 0-9 .63-17.84 1.82-26.51l82.38 4.77-77.94-27.16a191.726 191.726 0 0 1 20.23-48.67l74.22 35.92-61.52-54.86a193.85 193.85 0 0 1 37.28-37.22l54.76 61.53-35.83-74.17a191.49 191.49 0 0 1 48.65-20.13l26.87 77.25-4.71-81.61c8.61-1.18 17.39-1.8 26.32-1.8s17.71.62 26.32 1.8l-4.74 82.16 27.05-77.76c17.27 4.5 33.6 11.35 48.63 20.17l-35.82 74.12 54.72-61.47a193.13 193.13 0 0 1 37.24 37.23l-61.45 54.77 74.12-35.86a191.515 191.515 0 0 1 20.2 48.65l-77.81 27.1 82.24-4.75c1.19 8.66 1.82 17.5 1.82 26.49 0 8.88-.61 17.63-1.78 26.19l-82.12-4.75 77.72 27.09z\"]\n};\nvar faOsi = {\n prefix: 'fab',\n iconName: 'osi',\n icon: [512, 512, [], \"f41a\", \"M8 266.44C10.3 130.64 105.4 34 221.8 18.34c138.8-18.6 255.6 75.8 278 201.1 21.3 118.8-44 230-151.6 274-9.3 3.8-14.4 1.7-18-7.7q-26.7-69.45-53.4-139c-3.1-8.1-1-13.2 7-16.8 24.2-11 39.3-29.4 43.3-55.8a71.47 71.47 0 0 0-64.5-82.2c-39-3.4-71.8 23.7-77.5 59.7-5.2 33 11.1 63.7 41.9 77.7 9.6 4.4 11.5 8.6 7.8 18.4q-26.85 69.9-53.7 139.9c-2.6 6.9-8.3 9.3-15.5 6.5-52.6-20.3-101.4-61-130.8-119-24.9-49.2-25.2-87.7-26.8-108.7zm20.9-1.9c.4 6.6.6 14.3 1.3 22.1 6.3 71.9 49.6 143.5 131 183.1 3.2 1.5 4.4.8 5.6-2.3q22.35-58.65 45-117.3c1.3-3.3.6-4.8-2.4-6.7-31.6-19.9-47.3-48.5-45.6-86 1-21.6 9.3-40.5 23.8-56.3 30-32.7 77-39.8 115.5-17.6a91.64 91.64 0 0 1 45.2 90.4c-3.6 30.6-19.3 53.9-45.7 69.8-2.7 1.6-3.5 2.9-2.3 6q22.8 58.8 45.2 117.7c1.2 3.1 2.4 3.8 5.6 2.3 35.5-16.6 65.2-40.3 88.1-72 34.8-48.2 49.1-101.9 42.3-161-13.7-117.5-119.4-214.8-255.5-198-106.1 13-195.3 102.5-197.1 225.8z\"]\n};\nvar faGoogleWallet = {\n prefix: 'fab',\n iconName: 'google-wallet',\n icon: [448, 512, [], \"f1ee\", \"M156.8 126.8c37.6 60.6 64.2 113.1 84.3 162.5-8.3 33.8-18.8 66.5-31.3 98.3-13.2-52.3-26.5-101.3-56-148.5 6.5-36.4 2.3-73.6 3-112.3zM109.3 200H16.1c-6.5 0-10.5 7.5-6.5 12.7C51.8 267 81.3 330.5 101.3 400h103.5c-16.2-69.7-38.7-133.7-82.5-193.5-3-4-8-6.5-13-6.5zm47.8-88c68.5 108 130 234.5 138.2 368H409c-12-138-68.4-265-143.2-368H157.1zm251.8-68.5c-1.8-6.8-8.2-11.5-15.2-11.5h-88.3c-5.3 0-9 5-7.8 10.3 13.2 46.5 22.3 95.5 26.5 146 48.2 86.2 79.7 178.3 90.6 270.8 15.8-60.5 25.3-133.5 25.3-203 0-73.6-12.1-145.1-31.1-212.6z\"]\n};\nvar faDAndDBeyond = {\n prefix: 'fab',\n iconName: 'd-and-d-beyond',\n icon: [640, 512, [], \"f6ca\", \"M313.8 241.5c13.8 0 21-10.1 24.8-17.9-1-1.1-5-4.2-7.4-6.6-2.4 4.3-8.2 10.7-13.9 10.7-10.2 0-15.4-14.7-3.2-26.6-.5-.2-4.3-1.8-8 2.4 0-3 1-5.1 2.1-6.6-3.5 1.3-9.8 5.6-11.4 7.9.2-5.8 1.6-7.5.6-9l-.2-.2s-8.5 5.6-9.3 14.7c0 0 1.1-1.6 2.1-1.9.6-.3 1.3 0 .6 1.9-.2.6-5.8 15.7 5.1 26-.6-1.6-1.9-7.6 2.4-1.9-.3.1 5.8 7.1 15.7 7.1zm52.4-21.1c0-4-4.9-4.4-5.6-4.5 2 3.9.9 7.5.2 9 2.5-.4 5.4-1.6 5.4-4.5zm10.3 5.2c0-6.4-6.2-11.4-13.5-10.7 8 1.3 5.6 13.8-5 11.4 3.7-2.6 3.2-9.9-1.3-12.5 1.4 4.2-3 8.2-7.4 4.6-2.4-1.9-8-6.6-10.6-8.6-2.4-2.1-5.5-1-6.6-1.8-1.3-1.1-.5-3.8-2.2-5-1.6-.8-3-.3-4.8-1-1.6-.6-2.7-1.9-2.6-3.5-2.5 4.4 3.4 6.3 4.5 8.5 1 1.9-.8 4.8 4 8.5 14.8 11.6 9.1 8 10.4 18.1.6 4.3 4.2 6.7 6.4 7.4-2.1-1.9-2.9-6.4 0-9.3 0 13.9 19.2 13.3 23.1 6.4-2.4 1.1-7-.2-9-1.9 7.7 1 14.2-4.1 14.6-10.6zm-39.4-18.4c2 .8 1.6.7 6.4 4.5 10.2-24.5 21.7-15.7 22-15.5 2.2-1.9 9.8-3.8 13.8-2.7-2.4-2.7-7.5-6.2-13.3-6.2-4.7 0-7.4 2.2-8 1.3-.8-1.4 3.2-3.4 3.2-3.4-5.4.2-9.6 6.7-11.2 5.9-1.1-.5 1.4-3.7 1.4-3.7-5.1 2.9-9.3 9.1-10.2 13 4.6-5.8 13.8-9.8 19.7-9-10.5.5-19.5 9.7-23.8 15.8zm242.5 51.9c-20.7 0-40 1.3-50.3 2.1l7.4 8.2v77.2l-7.4 8.2c10.4.8 30.9 2.1 51.6 2.1 42.1 0 59.1-20.7 59.1-48.9 0-29.3-23.2-48.9-60.4-48.9zm-15.1 75.6v-53.3c30.1-3.3 46.8 3.8 46.8 26.3 0 25.6-21.4 30.2-46.8 27zM301.6 181c-1-3.4-.2-6.9 1.1-9.4 1 3 2.6 6.4 7.5 9-.5-2.4-.2-5.6.5-8-1.4-5.4 2.1-9.9 6.4-9.9 6.9 0 8.5 8.8 4.7 14.4 2.1 3.2 5.5 5.6 7.7 7.8 3.2-3.7 5.5-9.5 5.5-13.8 0-8.2-5.5-15.9-16.7-16.5-20-.9-20.2 16.6-20 18.9.5 5.2 3.4 7.8 3.3 7.5zm-.4 6c-.5 1.8-7 3.7-10.2 6.9 4.8-1 7-.2 7.8 1.8.5 1.4-.2 3.4-.5 5.6 1.6-1.8 7-5.5 11-6.2-1-.3-3.4-.8-4.3-.8 2.9-3.4 9.3-4.5 12.8-3.7-2.2-.2-6.7 1.1-8.5 2.6 1.6.3 3 .6 4.3 1.1-2.1.8-4.8 3.4-5.8 6.1 7-5 13.1 5.2 7 8.2.8.2 2.7 0 3.5-.5-.3 1.1-1.9 3-3 3.4 2.9 0 7-1.9 8.2-4.6 0 0-1.8.6-2.6-.2s.3-4.3.3-4.3c-2.3 2.9-3.4-1.3-1.3-4.2-1-.3-3.5-.6-4.6-.5 3.2-1.1 10.4-1.8 11.2-.3.6 1.1-1 3.4-1 3.4 4-.5 8.3 1.1 6.7 5.1 2.9-1.4 5.5-5.9 4.8-10.4-.3 1-1.6 2.4-2.9 2.7.2-1.4-1-2.2-1.9-2.6 1.7-9.6-14.6-14.2-14.1-23.9-1 1.3-1.8 5-.8 7.1 2.7 3.2 8.7 6.7 10.1 12.2-2.6-6.4-15.1-11.4-14.6-20.2-1.6 1.6-2.6 7.8-1.3 11 2.4 1.4 4.5 3.8 4.8 6.1-2.2-5.1-11.4-6.1-13.9-12.2-.6 2.2-.3 5 1 6.7 0 0-2.2-.8-7-.6 1.7.6 5.1 3.5 4.8 5.2zm25.9 7.4c-2.7 0-3.5-2.1-4.2-4.3 3.3 1.3 4.2 4.3 4.2 4.3zm38.9 3.7l-1-.6c-1.1-1-2.9-1.4-4.7-1.4-2.9 0-5.8 1.3-7.5 3.4-.8.8-1.4 1.8-2.1 2.6v15.7c3.5 2.6 7.1-2.9 3-7.2 1.5.3 4.6 2.7 5.1 3.2 0 0 2.6-.5 5-.5 2.1 0 3.9.3 5.6 1.1V196c-1.1.5-2.2 1-2.7 1.4zM79.9 305.9c17.2-4.6 16.2-18 16.2-19.9 0-20.6-24.1-25-37-25H3l8.3 8.6v29.5H0l11.4 14.6V346L3 354.6c61.7 0 73.8 1.5 86.4-5.9 6.7-4 9.9-9.8 9.9-17.6 0-5.1 2.6-18.8-19.4-25.2zm-41.3-27.5c20 0 29.6-.8 29.6 9.1v3c0 12.1-19 8.8-29.6 8.8zm0 59.2V315c12.2 0 32.7-2.3 32.7 8.8v4.5h.2c0 11.2-12.5 9.3-32.9 9.3zm101.2-19.3l23.1.2v-.2l14.1-21.2h-37.2v-14.9h52.4l-14.1-21v-.2l-73.5.2 7.4 8.2v77.1l-7.4 8.2h81.2l14.1-21.2-60.1.2zm214.7-60.1c-73.9 0-77.5 99.3-.3 99.3 77.9 0 74.1-99.3.3-99.3zm-.3 77.5c-37.4 0-36.9-55.3.2-55.3 36.8.1 38.8 55.3-.2 55.3zm-91.3-8.3l44.1-66.2h-41.7l6.1 7.2-20.5 37.2h-.3l-21-37.2 6.4-7.2h-44.9l44.1 65.8.2 19.4-7.7 8.2h42.6l-7.2-8.2zm-28.4-151.3c1.6 1.3 2.9 2.4 2.9 6.6v38.8c0 4.2-.8 5.3-2.7 6.4-.1.1-7.5 4.5-7.9 4.6h35.1c10 0 17.4-1.5 26-8.6-.6-5 .2-9.5.8-12 0-.2-1.8 1.4-2.7 3.5 0-5.7 1.6-15.4 9.6-20.5-.1 0-3.7-.8-9 1.1 2-3.1 10-7.9 10.4-7.9-8.2-26-38-22.9-32.2-22.9-30.9 0-32.6.3-39.9-4 .1.8.5 8.2 9.6 14.9zm21.5 5.5c4.6 0 23.1-3.3 23.1 17.3 0 20.7-18.4 17.3-23.1 17.3zm228.9 79.6l7 8.3V312h-.3c-5.4-14.4-42.3-41.5-45.2-50.9h-31.6l7.4 8.5v76.9l-7.2 8.3h39l-7.4-8.2v-47.4h.3c3.7 10.6 44.5 42.9 48.5 55.6h21.3v-85.2l7.4-8.3zm-106.7-96.1c-32.2 0-32.8.2-39.9-4 .1.7.5 8.3 9.6 14.9 3.1 2 2.9 4.3 2.9 9.5 1.8-1.1 3.8-2.2 6.1-3-1.1 1.1-2.7 2.7-3.5 4.5 1-1.1 7.5-5.1 14.6-3.5-1.6.3-4 1.1-6.1 2.9.1 0 2.1-1.1 7.5-.3v-4.3c4.7 0 23.1-3.4 23.1 17.3 0 20.5-18.5 17.3-19.7 17.3 5.7 4.4 5.8 12 2.2 16.3h.3c33.4 0 36.7-27.3 36.7-34 0-3.8-1.1-32-33.8-33.6z\"]\n};\nvar faPeriscope = {\n prefix: 'fab',\n iconName: 'periscope',\n icon: [448, 512, [], \"f3da\", \"M370 63.6C331.4 22.6 280.5 0 226.6 0 111.9 0 18.5 96.2 18.5 214.4c0 75.1 57.8 159.8 82.7 192.7C137.8 455.5 192.6 512 226.6 512c41.6 0 112.9-94.2 120.9-105 24.6-33.1 82-118.3 82-192.6 0-56.5-21.1-110.1-59.5-150.8zM226.6 493.9c-42.5 0-190-167.3-190-279.4 0-107.4 83.9-196.3 190-196.3 100.8 0 184.7 89 184.7 196.3.1 112.1-147.4 279.4-184.7 279.4zM338 206.8c0 59.1-51.1 109.7-110.8 109.7-100.6 0-150.7-108.2-92.9-181.8v.4c0 24.5 20.1 44.4 44.8 44.4 24.7 0 44.8-19.9 44.8-44.4 0-18.2-11.1-33.8-26.9-40.7 76.6-19.2 141 39.3 141 112.4z\"]\n};\nvar faFulcrum = {\n prefix: 'fab',\n iconName: 'fulcrum',\n icon: [320, 512, [], \"f50b\", \"M95.75 164.14l-35.38 43.55L25 164.14l35.38-43.55zM144.23 0l-20.54 198.18L72.72 256l51 57.82L144.23 512V300.89L103.15 256l41.08-44.89zm79.67 164.14l35.38 43.55 35.38-43.55-35.38-43.55zm-48.48 47L216.5 256l-41.08 44.89V512L196 313.82 247 256l-51-57.82L175.42 0z\"]\n};\nvar faCloudscale = {\n prefix: 'fab',\n iconName: 'cloudscale',\n icon: [448, 512, [], \"f383\", \"M318.1 154l-9.4 7.6c-22.5-19.3-51.5-33.6-83.3-33.6C153.8 128 96 188.8 96 260.3c0 6.6.4 13.1 1.4 19.4-2-56 41.8-97.4 92.6-97.4 24.2 0 46.2 9.4 62.6 24.7l-25.2 20.4c-8.3-.9-16.8 1.8-23.1 8.1-11.1 11-11.1 28.9 0 40 11.1 11 28.9 11 40 0 6.3-6.3 9-14.9 8.1-23.1l75.2-88.8c6.3-6.5-3.3-15.9-9.5-9.6zm-83.8 111.5c-5.6 5.5-14.6 5.5-20.2 0-5.6-5.6-5.6-14.6 0-20.2s14.6-5.6 20.2 0 5.6 14.7 0 20.2zM224 32C100.5 32 0 132.5 0 256s100.5 224 224 224 224-100.5 224-224S347.5 32 224 32zm0 384c-88.2 0-160-71.8-160-160S135.8 96 224 96s160 71.8 160 160-71.8 160-160 160z\"]\n};\nvar faForumbee = {\n prefix: 'fab',\n iconName: 'forumbee',\n icon: [448, 512, [], \"f211\", \"M5.8 309.7C2 292.7 0 275.5 0 258.3 0 135 99.8 35 223.1 35c16.6 0 33.3 2 49.3 5.5C149 87.5 51.9 186 5.8 309.7zm392.9-189.2C385 103 369 87.8 350.9 75.2c-149.6 44.3-266.3 162.1-309.7 312 12.5 18.1 28 35.6 45.2 49 43.1-151.3 161.2-271.7 312.3-315.7zm15.8 252.7c15.2-25.1 25.4-53.7 29.5-82.8-79.4 42.9-145 110.6-187.6 190.3 30-4.4 58.9-15.3 84.6-31.3 35 13.1 70.9 24.3 107 33.6-9.3-36.5-20.4-74.5-33.5-109.8zm29.7-145.5c-2.6-19.5-7.9-38.7-15.8-56.8C290.5 216.7 182 327.5 137.1 466c18.1 7.6 37 12.5 56.6 15.2C240 367.1 330.5 274.4 444.2 227.7z\"]\n};\nvar faMizuni = {\n prefix: 'fab',\n iconName: 'mizuni',\n icon: [496, 512, [], \"f3cc\", \"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm-80 351.9c-31.4 10.6-58.8 27.3-80 48.2V136c0-22.1 17.9-40 40-40s40 17.9 40 40v223.9zm120-9.9c-12.9-2-26.2-3.1-39.8-3.1-13.8 0-27.2 1.1-40.2 3.1V136c0-22.1 17.9-40 40-40s40 17.9 40 40v214zm120 57.7c-21.2-20.8-48.6-37.4-80-48V136c0-22.1 17.9-40 40-40s40 17.9 40 40v271.7z\"]\n};\nvar faSchlix = {\n prefix: 'fab',\n iconName: 'schlix',\n icon: [448, 512, [], \"f3ea\", \"M350.5 157.7l-54.2-46.1 73.4-39 78.3 44.2-97.5 40.9zM192 122.1l45.7-28.2 34.7 34.6-55.4 29-25-35.4zm-65.1 6.6l31.9-22.1L176 135l-36.7 22.5-12.4-28.8zm-23.3 88.2l-8.8-34.8 29.6-18.3 13.1 35.3-33.9 17.8zm-21.2-83.7l23.9-18.1 8.9 24-26.7 18.3-6.1-24.2zM59 206.5l-3.6-28.4 22.3-15.5 6.1 28.7L59 206.5zm-30.6 16.6l20.8-12.8 3.3 33.4-22.9 12-1.2-32.6zM1.4 268l19.2-10.2.4 38.2-21 8.8L1.4 268zm59.1 59.3l-28.3 8.3-1.6-46.8 25.1-10.7 4.8 49.2zM99 263.2l-31.1 13-5.2-40.8L90.1 221l8.9 42.2zM123.2 377l-41.6 5.9-8.1-63.5 35.2-10.8 14.5 68.4zm28.5-139.9l21.2 57.1-46.2 13.6-13.7-54.1 38.7-16.6zm85.7 230.5l-70.9-3.3-24.3-95.8 55.2-8.6 40 107.7zm-84.9-279.7l42.2-22.4 28 45.9-50.8 21.3-19.4-44.8zm41 94.9l61.3-18.7 52.8 86.6-79.8 11.3-34.3-79.2zm51.4-85.6l67.3-28.8 65.5 65.4-88.6 26.2-44.2-62.8z\"]\n};\nvar faSquareXing = {\n prefix: 'fab',\n iconName: 'square-xing',\n icon: [448, 512, [\"xing-square\"], \"f169\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM140.4 320.2H93.8c-5.5 0-8.7-5.3-6-10.3l49.3-86.7c.1 0 .1-.1 0-.2l-31.4-54c-3-5.6.2-10.1 6-10.1h46.6c5.2 0 9.5 2.9 12.9 8.7l31.9 55.3c-1.3 2.3-18 31.7-50.1 88.2-3.5 6.2-7.7 9.1-12.6 9.1zm219.7-214.1L257.3 286.8v.2l65.5 119c2.8 5.1.1 10.1-6 10.1h-46.6c-5.5 0-9.7-2.9-12.9-8.7l-66-120.3c2.3-4.1 36.8-64.9 103.4-182.3 3.3-5.8 7.4-8.7 12.5-8.7h46.9c5.7-.1 8.8 4.7 6 10z\"]\n};\nvar faXingSquare = faSquareXing;\nvar faBandcamp = {\n prefix: 'fab',\n iconName: 'bandcamp',\n icon: [512, 512, [], \"f2d5\", \"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm48.2,326.1h-181L207.9,178h181Z\"]\n};\nvar faWpforms = {\n prefix: 'fab',\n iconName: 'wpforms',\n icon: [448, 512, [], \"f298\", \"M448 75.2v361.7c0 24.3-19 43.2-43.2 43.2H43.2C19.3 480 0 461.4 0 436.8V75.2C0 51.1 18.8 32 43.2 32h361.7c24 0 43.1 18.8 43.1 43.2zm-37.3 361.6V75.2c0-3-2.6-5.8-5.8-5.8h-9.3L285.3 144 224 94.1 162.8 144 52.5 69.3h-9.3c-3.2 0-5.8 2.8-5.8 5.8v361.7c0 3 2.6 5.8 5.8 5.8h361.7c3.2.1 5.8-2.7 5.8-5.8zM150.2 186v37H76.7v-37h73.5zm0 74.4v37.3H76.7v-37.3h73.5zm11.1-147.3l54-43.7H96.8l64.5 43.7zm210 72.9v37h-196v-37h196zm0 74.4v37.3h-196v-37.3h196zm-84.6-147.3l64.5-43.7H232.8l53.9 43.7zM371.3 335v37.3h-99.4V335h99.4z\"]\n};\nvar faCloudversify = {\n prefix: 'fab',\n iconName: 'cloudversify',\n icon: [616, 512, [], \"f385\", \"M148.6 304c8.2 68.5 67.4 115.5 146 111.3 51.2 43.3 136.8 45.8 186.4-5.6 69.2 1.1 118.5-44.6 131.5-99.5 14.8-62.5-18.2-132.5-92.1-155.1-33-88.1-131.4-101.5-186.5-85-57.3 17.3-84.3 53.2-99.3 109.7-7.8 2.7-26.5 8.9-45 24.1 11.7 0 15.2 8.9 15.2 19.5v20.4c0 10.7-8.7 19.5-19.5 19.5h-20.2c-10.7 0-19.5-6-19.5-16.7V240H98.8C95 240 88 244.3 88 251.9v40.4c0 6.4 5.3 11.8 11.7 11.8h48.9zm227.4 8c-10.7 46.3 21.7 72.4 55.3 86.8C324.1 432.6 259.7 348 296 288c-33.2 21.6-33.7 71.2-29.2 92.9-17.9-12.4-53.8-32.4-57.4-79.8-3-39.9 21.5-75.7 57-93.9C297 191.4 369.9 198.7 400 248c-14.1-48-53.8-70.1-101.8-74.8 30.9-30.7 64.4-50.3 114.2-43.7 69.8 9.3 133.2 82.8 67.7 150.5 35-16.3 48.7-54.4 47.5-76.9l10.5 19.6c11.8 22 15.2 47.6 9.4 72-9.2 39-40.6 68.8-79.7 76.5-32.1 6.3-83.1-5.1-91.8-59.2zM128 208H88.2c-8.9 0-16.2-7.3-16.2-16.2v-39.6c0-8.9 7.3-16.2 16.2-16.2H128c8.9 0 16.2 7.3 16.2 16.2v39.6c0 8.9-7.3 16.2-16.2 16.2zM10.1 168C4.5 168 0 163.5 0 157.9v-27.8c0-5.6 4.5-10.1 10.1-10.1h27.7c5.5 0 10.1 4.5 10.1 10.1v27.8c0 5.6-4.5 10.1-10.1 10.1H10.1zM168 142.7v-21.4c0-5.1 4.2-9.3 9.3-9.3h21.4c5.1 0 9.3 4.2 9.3 9.3v21.4c0 5.1-4.2 9.3-9.3 9.3h-21.4c-5.1 0-9.3-4.2-9.3-9.3zM56 235.5v25c0 6.3-5.1 11.5-11.4 11.5H19.4C13.1 272 8 266.8 8 260.5v-25c0-6.3 5.1-11.5 11.4-11.5h25.1c6.4 0 11.5 5.2 11.5 11.5z\"]\n};\nvar faUsps = {\n prefix: 'fab',\n iconName: 'usps',\n icon: [576, 512, [], \"f7e1\", \"M460.3 241.7c25.8-41.3 15.2-48.8-11.7-48.8h-27c-.1 0-1.5-1.4-10.9 8-11.2 5.6-37.9 6.3-37.9 8.7 0 4.5 70.3-3.1 88.1 0 9.5 1.5-1.5 20.4-4.4 32-.5 4.5 2.4 2.3 3.8.1zm-112.1 22.6c64-21.3 97.3-23.9 102-26.2 4.4-2.9-4.4-6.6-26.2-5.8-51.7 2.2-137.6 37.1-172.6 53.9l-30.7-93.3h196.6c-2.7-28.2-152.9-22.6-337.9-22.6L27 415.8c196.4-97.3 258.9-130.3 321.2-151.5zM94.7 96c253.3 53.7 330 65.7 332.1 85.2 36.4 0 45.9 0 52.4 6.6 21.1 19.7-14.6 67.7-14.6 67.7-4.4 2.9-406.4 160.2-406.4 160.2h423.1L549 96z\"]\n};\nvar faMegaport = {\n prefix: 'fab',\n iconName: 'megaport',\n icon: [496, 512, [], \"f5a3\", \"M214.5 209.6v66.2l33.5 33.5 33.3-33.3v-66.4l-33.4-33.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm145.1 414.4L367 441.6l-26-19.2v-65.5l-33.4-33.4-33.4 33.4v65.5L248 441.6l-26.1-19.2v-65.5l-33.4-33.4-33.5 33.4v65.5l-26.1 19.2-26.1-19.2v-87l59.5-59.5V188l59.5-59.5V52.9l26.1-19.2L274 52.9v75.6l59.5 59.5v87.6l59.7 59.7v87.1z\"]\n};\nvar faMagento = {\n prefix: 'fab',\n iconName: 'magento',\n icon: [448, 512, [], \"f3c4\", \"M445.7 127.9V384l-63.4 36.5V164.7L223.8 73.1 65.2 164.7l.4 255.9L2.3 384V128.1L224.2 0l221.5 127.9zM255.6 420.5L224 438.9l-31.8-18.2v-256l-63.3 36.6.1 255.9 94.9 54.9 95.1-54.9v-256l-63.4-36.6v255.9z\"]\n};\nvar faSpotify = {\n prefix: 'fab',\n iconName: 'spotify',\n icon: [496, 512, [], \"f1bc\", \"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm100.7 364.9c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4zm26.9-65.6c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm31-76.2c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3z\"]\n};\nvar faOptinMonster = {\n prefix: 'fab',\n iconName: 'optin-monster',\n icon: [576, 512, [], \"f23c\", \"M572.6 421.4c5.6-9.5 4.7-15.2-5.4-11.6-3-4.9-7-9.5-11.1-13.8 2.9-9.7-.7-14.2-10.8-9.2-4.6-3.2-10.3-6.5-15.9-9.2 0-15.1-11.6-11.6-17.6-5.7-10.4-1.5-18.7-.3-26.8 5.7.3-6.5.3-13 .3-19.7 12.6 0 40.2-11 45.9-36.2 1.4-6.8 1.6-13.8-.3-21.9-3-13.5-14.3-21.3-25.1-25.7-.8-5.9-7.6-14.3-14.9-15.9s-12.4 4.9-14.1 10.3c-8.5 0-19.2 2.8-21.1 8.4-5.4-.5-11.1-1.4-16.8-1.9 2.7-1.9 5.4-3.5 8.4-4.6 5.4-9.2 14.6-11.4 25.7-11.6V256c19.5-.5 43-5.9 53.8-18.1 12.7-13.8 14.6-37.3 12.4-55.1-2.4-17.3-9.7-37.6-24.6-48.1-8.4-5.9-21.6-.8-22.7 9.5-2.2 19.6 1.2 30-38.6 25.1-10.3-23.8-24.6-44.6-42.7-60C341 49.6 242.9 55.5 166.4 71.7c19.7 4.6 41.1 8.6 59.7 16.5-26.2 2.4-52.7 11.3-76.2 23.2-32.8 17-44 29.9-56.7 42.4 14.9-2.2 28.9-5.1 43.8-3.8-9.7 5.4-18.4 12.2-26.5 20-25.8.9-23.8-5.3-26.2-25.9-1.1-10.5-14.3-15.4-22.7-9.7-28.1 19.9-33.5 79.9-12.2 103.5 10.8 12.2 35.1 17.3 54.9 17.8-.3 1.1-.3 1.9-.3 2.7 10.8.5 19.5 2.7 24.6 11.6 3 1.1 5.7 2.7 8.1 4.6-5.4.5-11.1 1.4-16.5 1.9-3.3-6.6-13.7-8.1-21.1-8.1-1.6-5.7-6.5-12.2-14.1-10.3-6.8 1.9-14.1 10-14.9 15.9-22.5 9.5-30.1 26.8-25.1 47.6 5.3 24.8 33 36.2 45.9 36.2v19.7c-6.6-5-14.3-7.5-26.8-5.7-5.5-5.5-17.3-10.1-17.3 5.7-5.9 2.7-11.4 5.9-15.9 9.2-9.8-4.9-13.6-1.7-11.1 9.2-4.1 4.3-7.8 8.6-11.1 13.8-10.2-3.7-11 2.2-5.4 11.6-1.1 3.5-1.6 7-1.9 10.8-.5 31.6 44.6 64 73.5 65.1 17.3.5 34.6-8.4 43-23.5 113.2 4.9 226.7 4.1 340.2 0 8.1 15.1 25.4 24.3 42.7 23.5 29.2-1.1 74.3-33.5 73.5-65.1.2-3.7-.7-7.2-1.7-10.7zm-73.8-254c1.1-3 2.4-8.4 2.4-14.6 0-5.9 6.8-8.1 14.1-.8 11.1 11.6 14.9 40.5 13.8 51.1-4.1-13.6-13-29-30.3-35.7zm-4.6 6.7c19.5 6.2 28.6 27.6 29.7 48.9-1.1 2.7-3 5.4-4.9 7.6-5.7 5.9-15.4 10-26.2 12.2 4.3-21.3.3-47.3-12.7-63 4.9-.8 10.9-2.4 14.1-5.7zm-24.1 6.8c13.8 11.9 20 39.2 14.1 63.5-4.1.5-8.1.8-11.6.8-1.9-21.9-6.8-44-14.3-64.6 3.7.3 8.1.3 11.8.3zM47.5 203c-1.1-10.5 2.4-39.5 13.8-51.1 7-7.3 14.1-5.1 14.1.8 0 6.2 1.4 11.6 2.4 14.6-17.3 6.8-26.2 22.2-30.3 35.7zm9.7 27.6c-1.9-2.2-3.5-4.9-4.9-7.6 1.4-21.3 10.3-42.7 29.7-48.9 3.2 3.2 9.2 4.9 14.1 5.7-13 15.7-17 41.6-12.7 63-10.8-2.2-20.5-6-26.2-12.2zm47.9 14.6c-4.1 0-8.1-.3-12.7-.8-4.6-18.6-1.9-38.9 5.4-53v.3l12.2-5.1c4.9-1.9 9.7-3.8 14.9-4.9-10.7 19.7-17.4 41.3-19.8 63.5zm184-162.7c41.9 0 76.2 34 76.2 75.9 0 42.2-34.3 76.2-76.2 76.2s-76.2-34-76.2-76.2c0-41.8 34.3-75.9 76.2-75.9zm115.6 174.3c-.3 17.8-7 48.9-23 57-13.2 6.6-6.5-7.5-16.5-58.1 13.3.3 26.6.3 39.5 1.1zm-54-1.6c.8 4.9 3.8 40.3-1.6 41.9-11.6 3.5-40 4.3-51.1-1.1-4.1-3-4.6-35.9-4.3-41.1v.3c18.9-.3 38.1-.3 57 0zM278.3 309c-13 3.5-41.6 4.1-54.6-1.6-6.5-2.7-3.8-42.4-1.9-51.6 19.2-.5 38.4-.5 57.8-.8v.3c1.1 8.3 3.3 51.2-1.3 53.7zm-106.5-51.1c12.2-.8 24.6-1.4 36.8-1.6-2.4 15.4-3 43.5-4.9 52.2-1.1 6.8-4.3 6.8-9.7 4.3-21.9-9.8-27.6-35.2-22.2-54.9zm-35.4 31.3c7.8-1.1 15.7-1.9 23.5-2.7 1.6 6.2 3.8 11.9 7 17.6 10 17 44 35.7 45.1 7 6.2 14.9 40.8 12.2 54.9 10.8 15.7-1.4 23.8-1.4 26.8-14.3 12.4 4.3 30.8 4.1 44 3 11.3-.8 20.8-.5 24.6-8.9 1.1 5.1 1.9 11.6 4.6 16.8 10.8 21.3 37.3 1.4 46.8-31.6 8.6.8 17.6 1.9 26.5 2.7-.4 1.3-3.8 7.3 7.3 11.6-47.6 47-95.7 87.8-163.2 107-63.2-20.8-112.1-59.5-155.9-106.5 9.6-3.4 10.4-8.8 8-12.5zm-21.6 172.5c-3.8 17.8-21.9 29.7-39.7 28.9-19.2-.8-46.5-17-59.2-36.5-2.7-31.1 43.8-61.3 66.2-54.6 14.9 4.3 27.8 30.8 33.5 54 0 3-.3 5.7-.8 8.2zm-8.7-66c-.5-13.5-.5-27-.3-40.5h.3c2.7-1.6 5.7-3.8 7.8-6.5 6.5-1.6 13-5.1 15.1-9.2 3.3-7.1-7-7.5-5.4-12.4 2.7-1.1 5.7-2.2 7.8-3.5 29.2 29.2 58.6 56.5 97.3 77-36.8 11.3-72.4 27.6-105.9 47-1.2-18.6-7.7-35.9-16.7-51.9zm337.6 64.6c-103 3.5-206.2 4.1-309.4 0 0 .3 0 .3-.3.3v-.3h.3c35.1-21.6 72.2-39.2 112.4-50.8 11.6 5.1 23 9.5 34.9 13.2 2.2.8 2.2.8 4.3 0 14.3-4.1 28.4-9.2 42.2-15.4 41.5 11.7 78.8 31.7 115.6 53zm10.5-12.4c-35.9-19.5-73-35.9-111.9-47.6 38.1-20 71.9-47.3 103.5-76.7 2.2 1.4 4.6 2.4 7.6 3.2 0 .8.3 1.9.5 2.4-4.6 2.7-7.8 6.2-5.9 10.3 2.2 3.8 8.6 7.6 15.1 8.9 2.4 2.7 5.1 5.1 8.1 6.8 0 13.8-.3 27.6-.8 41.3l.3-.3c-9.3 15.9-15.5 37-16.5 51.7zm105.9 6.2c-12.7 19.5-40 35.7-59.2 36.5-19.3.9-40.5-13.2-40.5-37 5.7-23.2 18.9-49.7 33.5-54 22.7-6.9 69.2 23.4 66.2 54.5zM372.9 75.2c-3.8-72.1-100.8-79.7-126-23.5 44.6-24.3 90.3-15.7 126 23.5zM74.8 407.1c-15.7 1.6-49.5 25.4-49.5 43.2 0 11.6 15.7 19.5 32.2 14.9 12.2-3.2 31.1-17.6 35.9-27.3 6-11.6-3.7-32.7-18.6-30.8zm215.9-176.2c28.6 0 51.9-21.6 51.9-48.4 0-36.1-40.5-58.1-72.2-44.3 9.5 3 16.5 11.6 16.5 21.6 0 23.3-33.3 32-46.5 11.3-7.3 34.1 19.4 59.8 50.3 59.8zM68 474.1c.5 6.5 12.2 12.7 21.6 9.5 6.8-2.7 14.6-10.5 17.3-16.2 3-7-1.1-20-9.7-18.4-8.9 1.6-29.7 16.7-29.2 25.1zm433.2-67c-14.9-1.9-24.6 19.2-18.9 30.8 4.9 9.7 24.1 24.1 36.2 27.3 16.5 4.6 32.2-3.2 32.2-14.9 0-17.8-33.8-41.6-49.5-43.2zM478.8 449c-8.4-1.6-12.4 11.3-9.5 18.4 2.4 5.7 10.3 13.5 17.3 16.2 9.2 3.2 21.1-3 21.3-9.5.9-8.4-20.2-23.5-29.1-25.1z\"]\n};\nvar faFly = {\n prefix: 'fab',\n iconName: 'fly',\n icon: [384, 512, [], \"f417\", \"M197.8 427.8c12.9 11.7 33.7 33.3 33.2 50.7 0 .8-.1 1.6-.1 2.5-1.8 19.8-18.8 31.1-39.1 31-25-.1-39.9-16.8-38.7-35.8 1-16.2 20.5-36.7 32.4-47.6 2.3-2.1 2.7-2.7 5.6-3.6 3.4 0 3.9.3 6.7 2.8zM331.9 67.3c-16.3-25.7-38.6-40.6-63.3-52.1C243.1 4.5 214-.2 192 0c-44.1 0-71.2 13.2-81.1 17.3C57.3 45.2 26.5 87.2 28 158.6c7.1 82.2 97 176 155.8 233.8 1.7 1.6 4.5 4.5 6.2 5.1l3.3.1c2.1-.7 1.8-.5 3.5-2.1 52.3-49.2 140.7-145.8 155.9-215.7 7-39.2 3.1-72.5-20.8-112.5zM186.8 351.9c-28-51.1-65.2-130.7-69.3-189-3.4-47.5 11.4-131.2 69.3-136.7v325.7zM328.7 180c-16.4 56.8-77.3 128-118.9 170.3C237.6 298.4 275 217 277 158.4c1.6-45.9-9.8-105.8-48-131.4 88.8 18.3 115.5 98.1 99.7 153z\"]\n};\nvar faAviato = {\n prefix: 'fab',\n iconName: 'aviato',\n icon: [640, 512, [], \"f421\", \"M107.2 283.5l-19-41.8H36.1l-19 41.8H0l62.2-131.4 62.2 131.4h-17.2zm-45-98.1l-19.6 42.5h39.2l-19.6-42.5zm112.7 102.4l-62.2-131.4h17.1l45.1 96 45.1-96h17l-62.1 131.4zm80.6-4.3V156.4H271v127.1h-15.5zm209.1-115.6v115.6h-17.3V167.9h-41.2v-11.5h99.6v11.5h-41.1zM640 218.8c0 9.2-1.7 17.8-5.1 25.8-3.4 8-8.2 15.1-14.2 21.1-6 6-13.1 10.8-21.1 14.2-8 3.4-16.6 5.1-25.8 5.1s-17.8-1.7-25.8-5.1c-8-3.4-15.1-8.2-21.1-14.2-6-6-10.8-13-14.2-21.1-3.4-8-5.1-16.6-5.1-25.8s1.7-17.8 5.1-25.8c3.4-8 8.2-15.1 14.2-21.1 6-6 13-8.4 21.1-11.9 8-3.4 16.6-5.1 25.8-5.1s17.8 1.7 25.8 5.1c8 3.4 15.1 5.8 21.1 11.9 6 6 10.7 13.1 14.2 21.1 3.4 8 5.1 16.6 5.1 25.8zm-15.5 0c0-7.3-1.3-14-3.9-20.3-2.6-6.3-6.2-11.7-10.8-16.3-4.6-4.6-10-8.2-16.2-10.9-6.2-2.7-12.8-4-19.8-4s-13.6 1.3-19.8 4c-6.2 2.7-11.6 6.3-16.2 10.9-4.6 4.6-8.2 10-10.8 16.3-2.6 6.3-3.9 13.1-3.9 20.3 0 7.3 1.3 14 3.9 20.3 2.6 6.3 6.2 11.7 10.8 16.3 4.6 4.6 10 8.2 16.2 10.9 6.2 2.7 12.8 4 19.8 4s13.6-1.3 19.8-4c6.2-2.7 11.6-6.3 16.2-10.9 4.6-4.6 8.2-10 10.8-16.3 2.6-6.3 3.9-13.1 3.9-20.3zm-94.8 96.7v-6.3l88.9-10-242.9 13.4c.6-2.2 1.1-4.6 1.4-7.2.3-2 .5-4.2.6-6.5l64.8-8.1-64.9 1.9c0-.4-.1-.7-.1-1.1-2.8-17.2-25.5-23.7-25.5-23.7l-1.1-26.3h23.8l19 41.8h17.1L348.6 152l-62.2 131.4h17.1l19-41.8h23.6L345 268s-22.7 6.5-25.5 23.7c-.1.3-.1.7-.1 1.1l-64.9-1.9 64.8 8.1c.1 2.3.3 4.4.6 6.5.3 2.6.8 5 1.4 7.2L78.4 299.2l88.9 10v6.3c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4 0-6.2-4.6-11.3-10.5-12.2v-5.8l80.3 9v5.4c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-4.9l28.4 3.2v23.7h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9V323l38.3 4.3c8.1 11.4 19 13.6 19 13.6l-.1 6.7-5.1.2-.1 12.1h4.1l.1-5h5.2l.1 5h4.1l-.1-12.1-5.1-.2-.1-6.7s10.9-2.1 19-13.6l38.3-4.3v23.2h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9v-23.7l28.4-3.2v4.9c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-5.4l80.3-9v5.8c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4-.2-6.3-4.7-11.4-10.7-12.3zm-200.8-87.6l19.6-42.5 19.6 42.5h-17.9l-1.7-40.3-1.7 40.3h-17.9z\"]\n};\nvar faItunes = {\n prefix: 'fab',\n iconName: 'itunes',\n icon: [448, 512, [], \"f3b4\", \"M223.6 80.3C129 80.3 52.5 157 52.5 251.5S129 422.8 223.6 422.8s171.2-76.7 171.2-171.2c0-94.6-76.7-171.3-171.2-171.3zm79.4 240c-3.2 13.6-13.5 21.2-27.3 23.8-12.1 2.2-22.2 2.8-31.9-5-11.8-10-12-26.4-1.4-36.8 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 3.2-3.6 2.2-2 2.2-80.8 0-5.6-2.7-7.1-8.4-6.1-4 .7-91.9 17.1-91.9 17.1-5 1.1-6.7 2.6-6.7 8.3 0 116.1.5 110.8-1.2 118.5-2.1 9-7.6 15.8-14.9 19.6-8.3 4.6-23.4 6.6-31.4 5.2-21.4-4-28.9-28.7-14.4-42.9 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 5-5.7.9-127 2.6-133.7.4-2.6 1.5-4.8 3.5-6.4 2.1-1.7 5.8-2.7 6.7-2.7 101-19 113.3-21.4 115.1-21.4 5.7-.4 9 3 9 8.7-.1 170.6.4 161.4-1 167.6zM345.2 32H102.8C45.9 32 0 77.9 0 134.8v242.4C0 434.1 45.9 480 102.8 480h242.4c57 0 102.8-45.9 102.8-102.8V134.8C448 77.9 402.1 32 345.2 32zM223.6 444c-106.3 0-192.5-86.2-192.5-192.5S117.3 59 223.6 59s192.5 86.2 192.5 192.5S329.9 444 223.6 444z\"]\n};\nvar faCuttlefish = {\n prefix: 'fab',\n iconName: 'cuttlefish',\n icon: [440, 512, [], \"f38c\", \"M344 305.5c-17.5 31.6-57.4 54.5-96 54.5-56.6 0-104-47.4-104-104s47.4-104 104-104c38.6 0 78.5 22.9 96 54.5 13.7-50.9 41.7-93.3 87-117.8C385.7 39.1 320.5 8 248 8 111 8 0 119 0 256s111 248 248 248c72.5 0 137.7-31.1 183-80.7-45.3-24.5-73.3-66.9-87-117.8z\"]\n};\nvar faBlogger = {\n prefix: 'fab',\n iconName: 'blogger',\n icon: [448, 512, [], \"f37c\", \"M162.4 196c4.8-4.9 6.2-5.1 36.4-5.1 27.2 0 28.1.1 32.1 2.1 5.8 2.9 8.3 7 8.3 13.6 0 5.9-2.4 10-7.6 13.4-2.8 1.8-4.5 1.9-31.1 2.1-16.4.1-29.5-.2-31.5-.8-10.3-2.9-14.1-17.7-6.6-25.3zm61.4 94.5c-53.9 0-55.8.2-60.2 4.1-3.5 3.1-5.7 9.4-5.1 13.9.7 4.7 4.8 10.1 9.2 12 2.2 1 14.1 1.7 56.3 1.2l47.9-.6 9.2-1.5c9-5.1 10.5-17.4 3.1-24.4-5.3-4.7-5-4.7-60.4-4.7zm223.4 130.1c-3.5 28.4-23 50.4-51.1 57.5-7.2 1.8-9.7 1.9-172.9 1.8-157.8 0-165.9-.1-172-1.8-8.4-2.2-15.6-5.5-22.3-10-5.6-3.8-13.9-11.8-17-16.4-3.8-5.6-8.2-15.3-10-22C.1 423 0 420.3 0 256.3 0 93.2 0 89.7 1.8 82.6 8.1 57.9 27.7 39 53 33.4c7.3-1.6 332.1-1.9 340-.3 21.2 4.3 37.9 17.1 47.6 36.4 7.7 15.3 7-1.5 7.3 180.6.2 115.8 0 164.5-.7 170.5zm-85.4-185.2c-1.1-5-4.2-9.6-7.7-11.5-1.1-.6-8-1.3-15.5-1.7-12.4-.6-13.8-.8-17.8-3.1-6.2-3.6-7.9-7.6-8-18.3 0-20.4-8.5-39.4-25.3-56.5-12-12.2-25.3-20.5-40.6-25.1-3.6-1.1-11.8-1.5-39.2-1.8-42.9-.5-52.5.4-67.1 6.2-27 10.7-46.3 33.4-53.4 62.4-1.3 5.4-1.6 14.2-1.9 64.3-.4 62.8 0 72.1 4 84.5 9.7 30.7 37.1 53.4 64.6 58.4 9.2 1.7 122.2 2.1 133.7.5 20.1-2.7 35.9-10.8 50.7-25.9 10.7-10.9 17.4-22.8 21.8-38.5 3.2-10.9 2.9-88.4 1.7-93.9z\"]\n};\nvar faFlickr = {\n prefix: 'fab',\n iconName: 'flickr',\n icon: [448, 512, [], \"f16e\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM144.5 319c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5zm159 0c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5z\"]\n};\nvar faViber = {\n prefix: 'fab',\n iconName: 'viber',\n icon: [512, 512, [], \"f409\", \"M444 49.9C431.3 38.2 379.9.9 265.3.4c0 0-135.1-8.1-200.9 52.3C27.8 89.3 14.9 143 13.5 209.5c-1.4 66.5-3.1 191.1 117 224.9h.1l-.1 51.6s-.8 20.9 13 25.1c16.6 5.2 26.4-10.7 42.3-27.8 8.7-9.4 20.7-23.2 29.8-33.7 82.2 6.9 145.3-8.9 152.5-11.2 16.6-5.4 110.5-17.4 125.7-142 15.8-128.6-7.6-209.8-49.8-246.5zM457.9 287c-12.9 104-89 110.6-103 115.1-6 1.9-61.5 15.7-131.2 11.2 0 0-52 62.7-68.2 79-5.3 5.3-11.1 4.8-11-5.7 0-6.9.4-85.7.4-85.7-.1 0-.1 0 0 0-101.8-28.2-95.8-134.3-94.7-189.8 1.1-55.5 11.6-101 42.6-131.6 55.7-50.5 170.4-43 170.4-43 96.9.4 143.3 29.6 154.1 39.4 35.7 30.6 53.9 103.8 40.6 211.1zm-139-80.8c.4 8.6-12.5 9.2-12.9.6-1.1-22-11.4-32.7-32.6-33.9-8.6-.5-7.8-13.4.7-12.9 27.9 1.5 43.4 17.5 44.8 46.2zm20.3 11.3c1-42.4-25.5-75.6-75.8-79.3-8.5-.6-7.6-13.5.9-12.9 58 4.2 88.9 44.1 87.8 92.5-.1 8.6-13.1 8.2-12.9-.3zm47 13.4c.1 8.6-12.9 8.7-12.9.1-.6-81.5-54.9-125.9-120.8-126.4-8.5-.1-8.5-12.9 0-12.9 73.7.5 133 51.4 133.7 139.2zM374.9 329v.2c-10.8 19-31 40-51.8 33.3l-.2-.3c-21.1-5.9-70.8-31.5-102.2-56.5-16.2-12.8-31-27.9-42.4-42.4-10.3-12.9-20.7-28.2-30.8-46.6-21.3-38.5-26-55.7-26-55.7-6.7-20.8 14.2-41 33.3-51.8h.2c9.2-4.8 18-3.2 23.9 3.9 0 0 12.4 14.8 17.7 22.1 5 6.8 11.7 17.7 15.2 23.8 6.1 10.9 2.3 22-3.7 26.6l-12 9.6c-6.1 4.9-5.3 14-5.3 14s17.8 67.3 84.3 84.3c0 0 9.1.8 14-5.3l9.6-12c4.6-6 15.7-9.8 26.6-3.7 14.7 8.3 33.4 21.2 45.8 32.9 7 5.7 8.6 14.4 3.8 23.6z\"]\n};\nvar faSoundcloud = {\n prefix: 'fab',\n iconName: 'soundcloud',\n icon: [640, 512, [], \"f1be\", \"M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z\"]\n};\nvar faDigg = {\n prefix: 'fab',\n iconName: 'digg',\n icon: [512, 512, [], \"f1a6\", \"M81.7 172.3H0v174.4h132.7V96h-51v76.3zm0 133.4H50.9v-92.3h30.8v92.3zm297.2-133.4v174.4h81.8v28.5h-81.8V416H512V172.3H378.9zm81.8 133.4h-30.8v-92.3h30.8v92.3zm-235.6 41h82.1v28.5h-82.1V416h133.3V172.3H225.1v174.4zm51.2-133.3h30.8v92.3h-30.8v-92.3zM153.3 96h51.3v51h-51.3V96zm0 76.3h51.3v174.4h-51.3V172.3z\"]\n};\nvar faTencentWeibo = {\n prefix: 'fab',\n iconName: 'tencent-weibo',\n icon: [384, 512, [], \"f1d5\", \"M72.3 495.8c1.4 19.9-27.6 22.2-29.7 2.9C31 368.8 73.7 259.2 144 185.5c-15.6-34 9.2-77.1 50.6-77.1 30.3 0 55.1 24.6 55.1 55.1 0 44-49.5 70.8-86.9 45.1-65.7 71.3-101.4 169.8-90.5 287.2zM192 .1C66.1.1-12.3 134.3 43.7 242.4 52.4 259.8 79 246.9 70 229 23.7 136.4 91 29.8 192 29.8c75.4 0 136.9 61.4 136.9 136.9 0 90.8-86.9 153.9-167.7 133.1-19.1-4.1-25.6 24.4-6.6 29.1 110.7 23.2 204-60 204-162.3C358.6 74.7 284 .1 192 .1z\"]\n};\nvar faSymfony = {\n prefix: 'fab',\n iconName: 'symfony',\n icon: [512, 512, [], \"f83d\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm133.74 143.54c-11.47.41-19.4-6.45-19.77-16.87-.27-9.18 6.68-13.44 6.53-18.85-.23-6.55-10.16-6.82-12.87-6.67-39.78 1.29-48.59 57-58.89 113.85 21.43 3.15 36.65-.72 45.14-6.22 12-7.75-3.34-15.72-1.42-24.56 4-18.16 32.55-19 32 5.3-.36 17.86-25.92 41.81-77.6 35.7-10.76 59.52-18.35 115-58.2 161.72-29 34.46-58.4 39.82-71.58 40.26-24.65.85-41-12.31-41.58-29.84-.56-17 14.45-26.26 24.31-26.59 21.89-.75 30.12 25.67 14.88 34-12.09 9.71.11 12.61 2.05 12.55 10.42-.36 17.34-5.51 22.18-9 24-20 33.24-54.86 45.35-118.35 8.19-49.66 17-78 18.23-82-16.93-12.75-27.08-28.55-49.85-34.72-15.61-4.23-25.12-.63-31.81 7.83-7.92 10-5.29 23 2.37 30.7l12.63 14c15.51 17.93 24 31.87 20.8 50.62-5.06 29.93-40.72 52.9-82.88 39.94-36-11.11-42.7-36.56-38.38-50.62 7.51-24.15 42.36-11.72 34.62 13.6-2.79 8.6-4.92 8.68-6.28 13.07-4.56 14.77 41.85 28.4 51-1.39 4.47-14.52-5.3-21.71-22.25-39.85-28.47-31.75-16-65.49 2.95-79.67C204.23 140.13 251.94 197 262 205.29c37.17-109 100.53-105.46 102.43-105.53 25.16-.81 44.19 10.59 44.83 28.65.25 7.69-4.17 22.59-19.52 23.13z\"]\n};\nvar faMaxcdn = {\n prefix: 'fab',\n iconName: 'maxcdn',\n icon: [512, 512, [], \"f136\", \"M461.1 442.7h-97.4L415.6 200c2.3-10.2.9-19.5-4.4-25.7-5-6.1-13.7-9.6-24.2-9.6h-49.3l-59.5 278h-97.4l59.5-278h-83.4l-59.5 278H0l59.5-278-44.6-95.4H387c39.4 0 75.3 16.3 98.3 44.9 23.3 28.6 31.8 67.4 23.6 105.9l-47.8 222.6z\"]\n};\nvar faEtsy = {\n prefix: 'fab',\n iconName: 'etsy',\n icon: [384, 512, [], \"f2d7\", \"M384 348c-1.75 10.75-13.75 110-15.5 132-117.879-4.299-219.895-4.743-368.5 0v-25.5c45.457-8.948 60.627-8.019 61-35.25 1.793-72.322 3.524-244.143 0-322-1.029-28.46-12.13-26.765-61-36v-25.5c73.886 2.358 255.933 8.551 362.999-3.75-3.5 38.25-7.75 126.5-7.75 126.5H332C320.947 115.665 313.241 68 277.25 68h-137c-10.25 0-10.75 3.5-10.75 9.75V241.5c58 .5 88.5-2.5 88.5-2.5 29.77-.951 27.56-8.502 40.75-65.251h25.75c-4.407 101.351-3.91 61.829-1.75 160.25H257c-9.155-40.086-9.065-61.045-39.501-61.5 0 0-21.5-2-88-2v139c0 26 14.25 38.25 44.25 38.25H263c63.636 0 66.564-24.996 98.751-99.75H384z\"]\n};\nvar faFacebookMessenger = {\n prefix: 'fab',\n iconName: 'facebook-messenger',\n icon: [512, 512, [], \"f39f\", \"M256.55 8C116.52 8 8 110.34 8 248.57c0 72.3 29.71 134.78 78.07 177.94 8.35 7.51 6.63 11.86 8.05 58.23A19.92 19.92 0 0 0 122 502.31c52.91-23.3 53.59-25.14 62.56-22.7C337.85 521.8 504 423.7 504 248.57 504 110.34 396.59 8 256.55 8zm149.24 185.13l-73 115.57a37.37 37.37 0 0 1-53.91 9.93l-58.08-43.47a15 15 0 0 0-18 0l-78.37 59.44c-10.46 7.93-24.16-4.6-17.11-15.67l73-115.57a37.36 37.36 0 0 1 53.91-9.93l58.06 43.46a15 15 0 0 0 18 0l78.41-59.38c10.44-7.98 24.14 4.54 17.09 15.62z\"]\n};\nvar faAudible = {\n prefix: 'fab',\n iconName: 'audible',\n icon: [640, 512, [], \"f373\", \"M640 199.9v54l-320 200L0 254v-54l320 200 320-200.1zm-194.5 72l47.1-29.4c-37.2-55.8-100.7-92.6-172.7-92.6-72 0-135.5 36.7-172.6 92.4h.3c2.5-2.3 5.1-4.5 7.7-6.7 89.7-74.4 219.4-58.1 290.2 36.3zm-220.1 18.8c16.9-11.9 36.5-18.7 57.4-18.7 34.4 0 65.2 18.4 86.4 47.6l45.4-28.4c-20.9-29.9-55.6-49.5-94.8-49.5-38.9 0-73.4 19.4-94.4 49zM103.6 161.1c131.8-104.3 318.2-76.4 417.5 62.1l.7 1 48.8-30.4C517.1 112.1 424.8 58.1 319.9 58.1c-103.5 0-196.6 53.5-250.5 135.6 9.9-10.5 22.7-23.5 34.2-32.6zm467 32.7z\"]\n};\nvar faThinkPeaks = {\n prefix: 'fab',\n iconName: 'think-peaks',\n icon: [576, 512, [], \"f731\", \"M465.4 409.4l87.1-150.2-32-.3-55.1 95L259.2 0 23 407.4l32 .3L259.2 55.6zm-355.3-44.1h32.1l117.4-202.5L463 511.9l32.5.1-235.8-404.6z\"]\n};\nvar faBilibili = {\n prefix: 'fab',\n iconName: 'bilibili',\n icon: [512, 512, [], \"e3d9\", \"M488.6 104.1C505.3 122.2 513 143.8 511.9 169.8V372.2C511.5 398.6 502.7 420.3 485.4 437.3C468.2 454.3 446.3 463.2 419.9 464H92.02C65.57 463.2 43.81 454.2 26.74 436.8C9.682 419.4 .7667 396.5 0 368.2V169.8C.7667 143.8 9.682 122.2 26.74 104.1C43.81 87.75 65.57 78.77 92.02 78H121.4L96.05 52.19C90.3 46.46 87.42 39.19 87.42 30.4C87.42 21.6 90.3 14.34 96.05 8.603C101.8 2.868 109.1 0 117.9 0C126.7 0 134 2.868 139.8 8.603L213.1 78H301.1L375.6 8.603C381.7 2.868 389.2 0 398 0C406.8 0 414.1 2.868 419.9 8.603C425.6 14.34 428.5 21.6 428.5 30.4C428.5 39.19 425.6 46.46 419.9 52.19L394.6 78L423.9 78C450.3 78.77 471.9 87.75 488.6 104.1H488.6zM449.8 173.8C449.4 164.2 446.1 156.4 439.1 150.3C433.9 144.2 425.1 140.9 416.4 140.5H96.05C86.46 140.9 78.6 144.2 72.47 150.3C66.33 156.4 63.07 164.2 62.69 173.8V368.2C62.69 377.4 65.95 385.2 72.47 391.7C78.99 398.2 86.85 401.5 96.05 401.5H416.4C425.6 401.5 433.4 398.2 439.7 391.7C446 385.2 449.4 377.4 449.8 368.2L449.8 173.8zM185.5 216.5C191.8 222.8 195.2 230.6 195.6 239.7V273C195.2 282.2 191.9 289.9 185.8 296.2C179.6 302.5 171.8 305.7 162.2 305.7C152.6 305.7 144.7 302.5 138.6 296.2C132.5 289.9 129.2 282.2 128.8 273V239.7C129.2 230.6 132.6 222.8 138.9 216.5C145.2 210.2 152.1 206.9 162.2 206.5C171.4 206.9 179.2 210.2 185.5 216.5H185.5zM377 216.5C383.3 222.8 386.7 230.6 387.1 239.7V273C386.7 282.2 383.4 289.9 377.3 296.2C371.2 302.5 363.3 305.7 353.7 305.7C344.1 305.7 336.3 302.5 330.1 296.2C323.1 289.9 320.7 282.2 320.4 273V239.7C320.7 230.6 324.1 222.8 330.4 216.5C336.7 210.2 344.5 206.9 353.7 206.5C362.9 206.9 370.7 210.2 377 216.5H377z\"]\n};\nvar faErlang = {\n prefix: 'fab',\n iconName: 'erlang',\n icon: [640, 512, [], \"f39d\", \"M87.2 53.5H0v405h100.4c-49.7-52.6-78.8-125.3-78.7-212.1-.1-76.7 24-142.7 65.5-192.9zm238.2 9.7c-45.9.1-85.1 33.5-89.2 83.2h169.9c-1.1-49.7-34.5-83.1-80.7-83.2zm230.7-9.6h.3l-.1-.1zm.3 0c31.4 42.7 48.7 97.5 46.2 162.7.5 6 .5 11.7 0 24.1H230.2c-.2 109.7 38.9 194.9 138.6 195.3 68.5-.3 118-51 151.9-106.1l96.4 48.2c-17.4 30.9-36.5 57.8-57.9 80.8H640v-405z\"]\n};\nvar faCottonBureau = {\n prefix: 'fab',\n iconName: 'cotton-bureau',\n icon: [512, 512, [], \"f89e\", \"M474.31 330.41c-23.66 91.85-94.23 144.59-201.9 148.35V429.6c0-48 26.41-74.39 74.39-74.39 62 0 99.2-37.2 99.2-99.21 0-61.37-36.53-98.28-97.38-99.06-33-69.32-146.5-64.65-177.24 0C110.52 157.72 74 194.63 74 256c0 62.13 37.27 99.41 99.4 99.41 48 0 74.55 26.23 74.55 74.39V479c-134.43-5-211.1-85.07-211.1-223 0-141.82 81.35-223.2 223.2-223.2 114.77 0 189.84 53.2 214.69 148.81H500C473.88 71.51 388.22 8 259.82 8 105 8 12 101.19 12 255.82 12 411.14 105.19 504.34 259.82 504c128.27 0 213.87-63.81 239.67-173.59zM357 182.33c41.37 3.45 64.2 29 64.2 73.67 0 48-26.43 74.41-74.4 74.41-28.61 0-49.33-9.59-61.59-27.33 83.06-16.55 75.59-99.67 71.79-120.75zm-81.68 97.36c-2.46-10.34-16.33-87 56.23-97 2.27 10.09 16.52 87.11-56.26 97zM260 132c28.61 0 49 9.67 61.44 27.61-28.36 5.48-49.36 20.59-61.59 43.45-12.23-22.86-33.23-38-61.6-43.45 12.41-17.69 33.27-27.35 61.57-27.35zm-71.52 50.72c73.17 10.57 58.91 86.81 56.49 97-72.41-9.84-59-86.95-56.25-97zM173.2 330.41c-48 0-74.4-26.4-74.4-74.41 0-44.36 22.86-70 64.22-73.67-6.75 37.2-1.38 106.53 71.65 120.75-12.14 17.63-32.84 27.3-61.14 27.3zm53.21 12.39A80.8 80.8 0 0 0 260 309.25c7.77 14.49 19.33 25.54 33.82 33.55a80.28 80.28 0 0 0-33.58 33.83c-8-14.5-19.07-26.23-33.56-33.83z\"]\n};\nvar faDashcube = {\n prefix: 'fab',\n iconName: 'dashcube',\n icon: [448, 512, [], \"f210\", \"M326.6 104H110.4c-51.1 0-91.2 43.3-91.2 93.5V427c0 50.5 40.1 85 91.2 85h227.2c51.1 0 91.2-34.5 91.2-85V0L326.6 104zM153.9 416.5c-17.7 0-32.4-15.1-32.4-32.8V240.8c0-17.7 14.7-32.5 32.4-32.5h140.7c17.7 0 32 14.8 32 32.5v123.5l51.1 52.3H153.9z\"]\n};\nvar fa42Group = {\n prefix: 'fab',\n iconName: '42-group',\n icon: [640, 512, [\"innosoft\"], \"e080\", \"M320 96V416C341.011 416 361.818 411.861 381.23 403.821C400.641 395.78 418.28 383.995 433.138 369.138C447.995 354.28 459.78 336.641 467.821 317.23C475.861 297.818 480 277.011 480 256C480 234.989 475.861 214.182 467.821 194.771C459.78 175.359 447.995 157.72 433.138 142.863C418.28 128.005 400.641 116.22 381.23 108.179C361.818 100.139 341.011 96 320 96ZM0 256L160.002 416L320.003 256L160.002 96L0 256ZM480 256C480 277.011 484.138 297.818 492.179 317.23C500.219 336.643 512.005 354.28 526.862 369.138C541.72 383.995 559.357 395.781 578.77 403.821C598.182 411.862 618.989 416 640 416V96C597.565 96 556.869 112.858 526.862 142.863C496.857 172.869 480 213.565 480 256Z\"]\n};\nvar faInnosoft = fa42Group;\nvar faStackExchange = {\n prefix: 'fab',\n iconName: 'stack-exchange',\n icon: [448, 512, [], \"f18d\", \"M17.7 332.3h412.7v22c0 37.7-29.3 68-65.3 68h-19L259.3 512v-89.7H83c-36 0-65.3-30.3-65.3-68v-22zm0-23.6h412.7v-85H17.7v85zm0-109.4h412.7v-85H17.7v85zM365 0H83C47 0 17.7 30.3 17.7 67.7V90h412.7V67.7C430.3 30.3 401 0 365 0z\"]\n};\nvar faElementor = {\n prefix: 'fab',\n iconName: 'elementor',\n icon: [512, 512, [], \"f430\", \"M.361 256C.361 397 114 511 255 511C397 511 511 397 511 256C511 116 397 2.05 255 2.05C114 2.05 .361 116 .361 256zM192 150V363H149V150H192zM234 150H362V193H234V150zM362 235V278H234V235H362zM234 320H362V363H234V320z\"]\n};\nvar faSquarePiedPiper = {\n prefix: 'fab',\n iconName: 'square-pied-piper',\n icon: [448, 512, [\"pied-piper-square\"], \"e01e\", \"M32 419L0 479.2l.8-328C.8 85.3 54 32 120 32h327.2c-93 28.9-189.9 94.2-253.9 168.6C122.7 282 82.6 338 32 419M448 32S305.2 98.8 261.6 199.1c-23.2 53.6-28.9 118.1-71 158.6-28.9 27.8-69.8 38.2-105.3 56.3-23.2 12-66.4 40.5-84.9 66h328.4c66 0 119.3-53.3 119.3-119.2-.1 0-.1-328.8-.1-328.8z\"]\n};\nvar faPiedPiperSquare = faSquarePiedPiper;\nvar faCreativeCommonsNd = {\n prefix: 'fab',\n iconName: 'creative-commons-nd',\n icon: [496, 512, [], \"f4eb\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z\"]\n};\nvar faPalfed = {\n prefix: 'fab',\n iconName: 'palfed',\n icon: [576, 512, [], \"f3d8\", \"M384.9 193.9c0-47.4-55.2-44.2-95.4-29.8-1.3 39.4-2.5 80.7-3 119.8.7 2.8 2.6 6.2 15.1 6.2 36.8 0 83.4-42.8 83.3-96.2zm-194.5 72.2c.2 0 6.5-2.7 11.2-2.7 26.6 0 20.7 44.1-14.4 44.1-21.5 0-37.1-18.1-37.1-43 0-42 42.9-95.6 100.7-126.5 1-12.4 3-22 10.5-28.2 11.2-9 26.6-3.5 29.5 11.1 72.2-22.2 135.2 1 135.2 72 0 77.9-79.3 152.6-140.1 138.2-.1 39.4.9 74.4 2.7 100v.2c.2 3.4.6 12.5-5.3 19.1-9.6 10.6-33.4 10-36.4-22.3-4.1-44.4.2-206.1 1.4-242.5-21.5 15-58.5 50.3-58.5 75.9.2 2.5.4 4 .6 4.6zM8 181.1s-.1 37.4 38.4 37.4h30l22.4 217.2s0 44.3 44.7 44.3h288.9s44.7-.4 44.7-44.3l22.4-217.2h30s38.4 1.2 38.4-37.4c0 0 .1-37.4-38.4-37.4h-30.1c-7.3-25.6-30.2-74.3-119.4-74.3h-28V50.3s-2.7-18.4-21.1-18.4h-85.8s-21.1 0-21.1 18.4v19.1h-28.1s-105 4.2-120.5 74.3h-29S8 142.5 8 181.1z\"]\n};\nvar faSuperpowers = {\n prefix: 'fab',\n iconName: 'superpowers',\n icon: [448, 512, [], \"f2dd\", \"M448 32c-83.3 11-166.8 22-250 33-92 12.5-163.3 86.7-169 180-3.3 55.5 18 109.5 57.8 148.2L0 480c83.3-11 166.5-22 249.8-33 91.8-12.5 163.3-86.8 168.7-179.8 3.5-55.5-18-109.5-57.7-148.2L448 32zm-79.7 232.3c-4.2 79.5-74 139.2-152.8 134.5-79.5-4.7-140.7-71-136.3-151 4.5-79.2 74.3-139.3 153-134.5 79.3 4.7 140.5 71 136.1 151z\"]\n};\nvar faResolving = {\n prefix: 'fab',\n iconName: 'resolving',\n icon: [496, 512, [], \"f3e7\", \"M281.2 278.2c46-13.3 49.6-23.5 44-43.4L314 195.5c-6.1-20.9-18.4-28.1-71.1-12.8L54.7 236.8l28.6 98.6 197.9-57.2zM248.5 8C131.4 8 33.2 88.7 7.2 197.5l221.9-63.9c34.8-10.2 54.2-11.7 79.3-8.2 36.3 6.1 52.7 25 61.4 55.2l10.7 37.8c8.2 28.1 1 50.6-23.5 73.6-19.4 17.4-31.2 24.5-61.4 33.2L203 351.8l220.4 27.1 9.7 34.2-48.1 13.3-286.8-37.3 23 80.2c36.8 22 80.3 34.7 126.3 34.7 137 0 248.5-111.4 248.5-248.3C497 119.4 385.5 8 248.5 8zM38.3 388.6L0 256.8c0 48.5 14.3 93.4 38.3 131.8z\"]\n};\nvar faXbox = {\n prefix: 'fab',\n iconName: 'xbox',\n icon: [512, 512, [], \"f412\", \"M369.9 318.2c44.3 54.3 64.7 98.8 54.4 118.7-7.9 15.1-56.7 44.6-92.6 55.9-29.6 9.3-68.4 13.3-100.4 10.2-38.2-3.7-76.9-17.4-110.1-39C93.3 445.8 87 438.3 87 423.4c0-29.9 32.9-82.3 89.2-142.1 32-33.9 76.5-73.7 81.4-72.6 9.4 2.1 84.3 75.1 112.3 109.5zM188.6 143.8c-29.7-26.9-58.1-53.9-86.4-63.4-15.2-5.1-16.3-4.8-28.7 8.1-29.2 30.4-53.5 79.7-60.3 122.4-5.4 34.2-6.1 43.8-4.2 60.5 5.6 50.5 17.3 85.4 40.5 120.9 9.5 14.6 12.1 17.3 9.3 9.9-4.2-11-.3-37.5 9.5-64 14.3-39 53.9-112.9 120.3-194.4zm311.6 63.5C483.3 127.3 432.7 77 425.6 77c-7.3 0-24.2 6.5-36 13.9-23.3 14.5-41 31.4-64.3 52.8C367.7 197 427.5 283.1 448.2 346c6.8 20.7 9.7 41.1 7.4 52.3-1.7 8.5-1.7 8.5 1.4 4.6 6.1-7.7 19.9-31.3 25.4-43.5 7.4-16.2 15-40.2 18.6-58.7 4.3-22.5 3.9-70.8-.8-93.4zM141.3 43C189 40.5 251 77.5 255.6 78.4c.7.1 10.4-4.2 21.6-9.7 63.9-31.1 94-25.8 107.4-25.2-63.9-39.3-152.7-50-233.9-11.7-23.4 11.1-24 11.9-9.4 11.2z\"]\n};\nvar faSearchengin = {\n prefix: 'fab',\n iconName: 'searchengin',\n icon: [460, 512, [], \"f3eb\", \"M220.6 130.3l-67.2 28.2V43.2L98.7 233.5l54.7-24.2v130.3l67.2-209.3zm-83.2-96.7l-1.3 4.7-15.2 52.9C80.6 106.7 52 145.8 52 191.5c0 52.3 34.3 95.9 83.4 105.5v53.6C57.5 340.1 0 272.4 0 191.6c0-80.5 59.8-147.2 137.4-158zm311.4 447.2c-11.2 11.2-23.1 12.3-28.6 10.5-5.4-1.8-27.1-19.9-60.4-44.4-33.3-24.6-33.6-35.7-43-56.7-9.4-20.9-30.4-42.6-57.5-52.4l-9.7-14.7c-24.7 16.9-53 26.9-81.3 28.7l2.1-6.6 15.9-49.5c46.5-11.9 80.9-54 80.9-104.2 0-54.5-38.4-102.1-96-107.1V32.3C254.4 37.4 320 106.8 320 191.6c0 33.6-11.2 64.7-29 90.4l14.6 9.6c9.8 27.1 31.5 48 52.4 57.4s32.2 9.7 56.8 43c24.6 33.2 42.7 54.9 44.5 60.3s.7 17.3-10.5 28.5zm-9.9-17.9c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8 8-3.6 8-8z\"]\n};\nvar faTiktok = {\n prefix: 'fab',\n iconName: 'tiktok',\n icon: [448, 512, [], \"e07b\", \"M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z\"]\n};\nvar faSquareFacebook = {\n prefix: 'fab',\n iconName: 'square-facebook',\n icon: [448, 512, [\"facebook-square\"], \"f082\", \"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z\"]\n};\nvar faFacebookSquare = faSquareFacebook;\nvar faRenren = {\n prefix: 'fab',\n iconName: 'renren',\n icon: [512, 512, [], \"f18b\", \"M214 169.1c0 110.4-61 205.4-147.6 247.4C30 373.2 8 317.7 8 256.6 8 133.9 97.1 32.2 214 12.5v156.6zM255 504c-42.9 0-83.3-11-118.5-30.4C193.7 437.5 239.9 382.9 255 319c15.5 63.9 61.7 118.5 118.8 154.7C338.7 493 298.3 504 255 504zm190.6-87.5C359 374.5 298 279.6 298 169.1V12.5c116.9 19.7 206 121.4 206 244.1 0 61.1-22 116.6-58.4 159.9z\"]\n};\nvar faLinux = {\n prefix: 'fab',\n iconName: 'linux',\n icon: [448, 512, [], \"f17c\", \"M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z\"]\n};\nvar faGlide = {\n prefix: 'fab',\n iconName: 'glide',\n icon: [448, 512, [], \"f2a5\", \"M252.8 148.6c0 8.8-1.6 17.7-3.4 26.4-5.8 27.8-11.6 55.8-17.3 83.6-1.4 6.3-8.3 4.9-13.7 4.9-23.8 0-30.5-26-30.5-45.5 0-29.3 11.2-68.1 38.5-83.1 4.3-2.5 9.2-4.2 14.1-4.2 11.4 0 12.3 8.3 12.3 17.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 187c0-5.1-20.8-37.7-25.5-39.5-2.2-.9-7.2-2.3-9.6-2.3-23.1 0-38.7 10.5-58.2 21.5l-.5-.5c4.3-29.4 14.6-57.2 14.6-87.4 0-44.6-23.8-62.7-67.5-62.7-71.7 0-108 70.8-108 123.5 0 54.7 32 85 86.3 85 7.5 0 6.9-.6 6.9 2.3-10.5 80.3-56.5 82.9-56.5 58.9 0-24.4 28-36.5 28.3-38-.2-7.6-29.3-17.2-36.7-17.2-21.1 0-32.7 33-32.7 50.6 0 32.3 20.4 54.7 53.3 54.7 48.2 0 83.4-49.7 94.3-91.7 9.4-37.7 7-39.4 12.3-42.1 20-10.1 35.8-16.8 58.4-16.8 11.1 0 19 2.3 36.7 5.2 1.8.1 4.1-1.7 4.1-3.5z\"]\n};\nvar faLinkedin = {\n prefix: 'fab',\n iconName: 'linkedin',\n icon: [448, 512, [], \"f08c\", \"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z\"]\n};\nvar faHubspot = {\n prefix: 'fab',\n iconName: 'hubspot',\n icon: [512, 512, [], \"f3b2\", \"M267.4 211.6c-25.1 23.7-40.8 57.3-40.8 94.6 0 29.3 9.7 56.3 26 78L203.1 434c-4.4-1.6-9.1-2.5-14-2.5-10.8 0-20.9 4.2-28.5 11.8-7.6 7.6-11.8 17.8-11.8 28.6s4.2 20.9 11.8 28.5c7.6 7.6 17.8 11.6 28.5 11.6 10.8 0 20.9-3.9 28.6-11.6 7.6-7.6 11.8-17.8 11.8-28.5 0-4.2-.6-8.2-1.9-12.1l50-50.2c22 16.9 49.4 26.9 79.3 26.9 71.9 0 130-58.3 130-130.2 0-65.2-47.7-119.2-110.2-128.7V116c17.5-7.4 28.2-23.8 28.2-42.9 0-26.1-20.9-47.9-47-47.9S311.2 47 311.2 73.1c0 19.1 10.7 35.5 28.2 42.9v61.2c-15.2 2.1-29.6 6.7-42.7 13.6-27.6-20.9-117.5-85.7-168.9-124.8 1.2-4.4 2-9 2-13.8C129.8 23.4 106.3 0 77.4 0 48.6 0 25.2 23.4 25.2 52.2c0 28.9 23.4 52.3 52.2 52.3 9.8 0 18.9-2.9 26.8-7.6l163.2 114.7zm89.5 163.6c-38.1 0-69-30.9-69-69s30.9-69 69-69 69 30.9 69 69-30.9 69-69 69z\"]\n};\nvar faDeploydog = {\n prefix: 'fab',\n iconName: 'deploydog',\n icon: [512, 512, [], \"f38e\", \"M382.2 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.6 0-33.2 16.4-33.2 32.6zM188.5 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.7 0-33.2 16.4-33.2 32.6zM448 96c17.5 0 32 14.4 32 32v256c0 17.5-14.4 32-32 32H64c-17.5 0-32-14.4-32-32V128c0-17.5 14.4-32 32-32h384m0-32H64C28.8 64 0 92.8 0 128v256c0 35.2 28.8 64 64 64h384c35.2 0 64-28.8 64-64V128c0-35.2-28.8-64-64-64z\"]\n};\nvar faTwitch = {\n prefix: 'fab',\n iconName: 'twitch',\n icon: [512, 512, [], \"f1e8\", \"M391.17,103.47H352.54v109.7h38.63ZM285,103H246.37V212.75H285ZM120.83,0,24.31,91.42V420.58H140.14V512l96.53-91.42h77.25L487.69,256V0ZM449.07,237.75l-77.22,73.12H294.61l-67.6,64v-64H140.14V36.58H449.07Z\"]\n};\nvar faRavelry = {\n prefix: 'fab',\n iconName: 'ravelry',\n icon: [512, 512, [], \"f2d9\", \"M498.252,234.223c-1.208-10.34-1.7-20.826-3.746-31a310.306,310.306,0,0,0-9.622-36.6,184.068,184.068,0,0,0-30.874-57.5,251.154,251.154,0,0,0-18.818-21.689,237.362,237.362,0,0,0-47.113-36.116A240.8,240.8,0,0,0,331.356,26.65c-11.018-3.1-22.272-5.431-33.515-7.615-6.78-1.314-13.749-1.667-20.627-2.482-.316-.036-.6-.358-.9-.553q-16.143.009-32.288.006c-2.41.389-4.808.925-7.236,1.15a179.331,179.331,0,0,0-34.256,7.1,221.5,221.5,0,0,0-39.768,16.355,281.385,281.385,0,0,0-38.08,24.158c-6.167,4.61-12.268,9.36-17.974,14.518C96.539,88.494,86.34,97.72,76.785,107.555a243.878,243.878,0,0,0-33.648,43.95,206.488,206.488,0,0,0-20.494,44.6,198.2,198.2,0,0,0-7.691,34.759A201.13,201.13,0,0,0,13.4,266.385a299.716,299.716,0,0,0,4.425,40.24,226.865,226.865,0,0,0,16.73,53.3,210.543,210.543,0,0,0,24,39.528,213.589,213.589,0,0,0,26.358,28.416A251.313,251.313,0,0,0,126.7,458.455a287.831,287.831,0,0,0,55.9,25.277,269.5,269.5,0,0,0,40.641,9.835c6.071,1.01,12.275,1.253,18.412,1.873a4.149,4.149,0,0,1,1.19.56h32.289c2.507-.389,5-.937,7.527-1.143,16.336-1.332,32.107-5.335,47.489-10.717A219.992,219.992,0,0,0,379.1,460.322c9.749-6.447,19.395-13.077,28.737-20.1,5.785-4.348,10.988-9.5,16.3-14.457,3.964-3.7,7.764-7.578,11.51-11.5a232.162,232.162,0,0,0,31.427-41.639c9.542-16.045,17.355-32.905,22.3-50.926,2.859-10.413,4.947-21.045,7.017-31.652,1.032-5.279,1.251-10.723,1.87-16.087.036-.317.358-.6.552-.9V236.005A9.757,9.757,0,0,1,498.252,234.223Zm-161.117-1.15s-16.572-2.98-28.47-2.98c-27.2,0-33.57,14.9-33.57,37.04V360.8H201.582V170.062H275.1v31.931c8.924-26.822,26.771-36.189,62.04-36.189Z\"]\n};\nvar faMixer = {\n prefix: 'fab',\n iconName: 'mixer',\n icon: [512, 512, [], \"e056\", \"M114.57,76.07a45.71,45.71,0,0,0-67.51-6.41c-17.58,16.18-19,43.52-4.75,62.77l91.78,123L41.76,379.58c-14.23,19.25-13.11,46.59,4.74,62.77A45.71,45.71,0,0,0,114,435.94L242.89,262.7a12.14,12.14,0,0,0,0-14.23ZM470.24,379.58,377.91,255.45l91.78-123c14.22-19.25,12.83-46.59-4.75-62.77a45.71,45.71,0,0,0-67.51,6.41l-128,172.12a12.14,12.14,0,0,0,0,14.23L398,435.94a45.71,45.71,0,0,0,67.51,6.41C483.35,426.17,484.47,398.83,470.24,379.58Z\"]\n};\nvar faSquareLastfm = {\n prefix: 'fab',\n iconName: 'square-lastfm',\n icon: [448, 512, [\"lastfm-square\"], \"f203\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-92.2 312.9c-63.4 0-85.4-28.6-97.1-64.1-16.3-51-21.5-84.3-63-84.3-22.4 0-45.1 16.1-45.1 61.2 0 35.2 18 57.2 43.3 57.2 28.6 0 47.6-21.3 47.6-21.3l11.7 31.9s-19.8 19.4-61.2 19.4c-51.3 0-79.9-30.1-79.9-85.8 0-57.9 28.6-92 82.5-92 73.5 0 80.8 41.4 100.8 101.9 8.8 26.8 24.2 46.2 61.2 46.2 24.9 0 38.1-5.5 38.1-19.1 0-19.9-21.8-22-49.9-28.6-30.4-7.3-42.5-23.1-42.5-48 0-40 32.3-52.4 65.2-52.4 37.4 0 60.1 13.6 63 46.6l-36.7 4.4c-1.5-15.8-11-22.4-28.6-22.4-16.1 0-26 7.3-26 19.8 0 11 4.8 17.6 20.9 21.3 32.7 7.1 71.8 12 71.8 57.5.1 36.7-30.7 50.6-76.1 50.6z\"]\n};\nvar faLastfmSquare = faSquareLastfm;\nvar faVimeo = {\n prefix: 'fab',\n iconName: 'vimeo',\n icon: [448, 512, [], \"f40a\", \"M403.2 32H44.8C20.1 32 0 52.1 0 76.8v358.4C0 459.9 20.1 480 44.8 480h358.4c24.7 0 44.8-20.1 44.8-44.8V76.8c0-24.7-20.1-44.8-44.8-44.8zM377 180.8c-1.4 31.5-23.4 74.7-66 129.4-44 57.2-81.3 85.8-111.7 85.8-18.9 0-34.8-17.4-47.9-52.3-25.5-93.3-36.4-148-57.4-148-2.4 0-10.9 5.1-25.4 15.2l-15.2-19.6c37.3-32.8 72.9-69.2 95.2-71.2 25.2-2.4 40.7 14.8 46.5 51.7 20.7 131.2 29.9 151 67.6 91.6 13.5-21.4 20.8-37.7 21.8-48.9 3.5-33.2-25.9-30.9-45.8-22.4 15.9-52.1 46.3-77.4 91.2-76 33.3.9 49 22.5 47.1 64.7z\"]\n};\nvar faMendeley = {\n prefix: 'fab',\n iconName: 'mendeley',\n icon: [640, 512, [], \"f7b3\", \"M624.6 325.2c-12.3-12.4-29.7-19.2-48.4-17.2-43.3-1-49.7-34.9-37.5-98.8 22.8-57.5-14.9-131.5-87.4-130.8-77.4.7-81.7 82-130.9 82-48.1 0-54-81.3-130.9-82-72.9-.8-110.1 73.3-87.4 130.8 12.2 63.9 5.8 97.8-37.5 98.8-21.2-2.3-37 6.5-53 22.5-19.9 19.7-19.3 94.8 42.6 102.6 47.1 5.9 81.6-42.9 61.2-87.8-47.3-103.7 185.9-106.1 146.5-8.2-.1.1-.2.2-.3.4-26.8 42.8 6.8 97.4 58.8 95.2 52.1 2.1 85.4-52.6 58.8-95.2-.1-.2-.2-.3-.3-.4-39.4-97.9 193.8-95.5 146.5 8.2-4.6 10-6.7 21.3-5.7 33 4.9 53.4 68.7 74.1 104.9 35.2 17.8-14.8 23.1-65.6 0-88.3zm-303.9-19.1h-.6c-43.4 0-62.8-37.5-62.8-62.8 0-34.7 28.2-62.8 62.8-62.8h.6c34.7 0 62.8 28.1 62.8 62.8 0 25-19.2 62.8-62.8 62.8z\"]\n};\nvar faUniregistry = {\n prefix: 'fab',\n iconName: 'uniregistry',\n icon: [384, 512, [], \"f404\", \"M192 480c39.5 0 76.2-11.8 106.8-32.2H85.3C115.8 468.2 152.5 480 192 480zm-89.1-193.1v-12.4H0v12.4c0 2.5 0 5 .1 7.4h103.1c-.2-2.4-.3-4.9-.3-7.4zm20.5 57H8.5c2.6 8.5 5.8 16.8 9.6 24.8h138.3c-12.9-5.7-24.1-14.2-33-24.8zm-17.7-34.7H1.3c.9 7.6 2.2 15 3.9 22.3h109.7c-4-6.9-7.2-14.4-9.2-22.3zm-2.8-69.3H0v17.3h102.9zm0-173.2H0v4.9h102.9zm0-34.7H0v2.5h102.9zm0 69.3H0v7.4h102.9zm0 104H0v14.8h102.9zm0-69.3H0v9.9h102.9zm0 34.6H0V183h102.9zm166.2 160.9h109.7c1.8-7.3 3.1-14.7 3.9-22.3H278.3c-2.1 7.9-5.2 15.4-9.2 22.3zm12-185.7H384V136H281.1zm0 37.2H384v-12.4H281.1zm0-74.3H384v-7.4H281.1zm0-76.7v2.5H384V32zm-203 410.9h227.7c11.8-8.7 22.7-18.6 32.2-29.7H44.9c9.6 11 21.4 21 33.2 29.7zm203-371.3H384v-4.9H281.1zm0 148.5H384v-14.8H281.1zM38.8 405.7h305.3c6.7-8.5 12.6-17.6 17.8-27.2H23c5.2 9.6 9.2 18.7 15.8 27.2zm188.8-37.1H367c3.7-8 5.8-16.2 8.5-24.8h-115c-8.8 10.7-20.1 19.2-32.9 24.8zm53.5-81.7c0 2.5-.1 5-.4 7.4h103.1c.1-2.5.2-4.9.2-7.4v-12.4H281.1zm0-29.7H384v-17.3H281.1z\"]\n};\nvar faFigma = {\n prefix: 'fab',\n iconName: 'figma',\n icon: [384, 512, [], \"f799\", \"M14 95.7924C14 42.8877 56.8878 0 109.793 0H274.161C327.066 0 369.954 42.8877 369.954 95.7924C369.954 129.292 352.758 158.776 326.711 175.897C352.758 193.019 369.954 222.502 369.954 256.002C369.954 308.907 327.066 351.795 274.161 351.795H272.081C247.279 351.795 224.678 342.369 207.666 326.904V415.167C207.666 468.777 163.657 512 110.309 512C57.5361 512 14 469.243 14 416.207C14 382.709 31.1945 353.227 57.2392 336.105C31.1945 318.983 14 289.5 14 256.002C14 222.502 31.196 193.019 57.2425 175.897C31.196 158.776 14 129.292 14 95.7924ZM176.288 191.587H109.793C74.2172 191.587 45.3778 220.427 45.3778 256.002C45.3778 291.44 73.9948 320.194 109.381 320.416C109.518 320.415 109.655 320.415 109.793 320.415H176.288V191.587ZM207.666 256.002C207.666 291.577 236.505 320.417 272.081 320.417H274.161C309.737 320.417 338.576 291.577 338.576 256.002C338.576 220.427 309.737 191.587 274.161 191.587H272.081C236.505 191.587 207.666 220.427 207.666 256.002ZM109.793 351.795C109.655 351.795 109.518 351.794 109.381 351.794C73.9948 352.015 45.3778 380.769 45.3778 416.207C45.3778 451.652 74.6025 480.622 110.309 480.622C146.591 480.622 176.288 451.186 176.288 415.167V351.795H109.793ZM109.793 31.3778C74.2172 31.3778 45.3778 60.2173 45.3778 95.7924C45.3778 131.368 74.2172 160.207 109.793 160.207H176.288V31.3778H109.793ZM207.666 160.207H274.161C309.737 160.207 338.576 131.368 338.576 95.7924C338.576 60.2173 309.737 31.3778 274.161 31.3778H207.666V160.207Z\"]\n};\nvar faCreativeCommonsRemix = {\n prefix: 'fab',\n iconName: 'creative-commons-remix',\n icon: [496, 512, [], \"f4ee\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm161.7 207.7l4.9 2.2v70c-7.2 3.6-63.4 27.5-67.3 28.8-6.5-1.8-113.7-46.8-137.3-56.2l-64.2 26.6-63.3-27.5v-63.8l59.3-24.8c-.7-.7-.4 5-.4-70.4l67.3-29.7L361 178.5v61.6l49.1 20.3zm-70.4 81.5v-43.8h-.4v-1.8l-113.8-46.5V295l113.8 46.9v-.4l.4.4zm7.5-57.6l39.9-16.4-36.8-15.5-39 16.4 35.9 15.5zm52.3 38.1v-43L355.2 298v43.4l44.3-19z\"]\n};\nvar faCcAmazonPay = {\n prefix: 'fab',\n iconName: 'cc-amazon-pay',\n icon: [576, 512, [], \"f42d\", \"M124.7 201.8c.1-11.8 0-23.5 0-35.3v-35.3c0-1.3.4-2 1.4-2.7 11.5-8 24.1-12.1 38.2-11.1 12.5.9 22.7 7 28.1 21.7 3.3 8.9 4.1 18.2 4.1 27.7 0 8.7-.7 17.3-3.4 25.6-5.7 17.8-18.7 24.7-35.7 23.9-11.7-.5-21.9-5-31.4-11.7-.9-.8-1.4-1.6-1.3-2.8zm154.9 14.6c4.6 1.8 9.3 2 14.1 1.5 11.6-1.2 21.9-5.7 31.3-12.5.9-.6 1.3-1.3 1.3-2.5-.1-3.9 0-7.9 0-11.8 0-4-.1-8 0-12 0-1.4-.4-2-1.8-2.2-7-.9-13.9-2.2-20.9-2.9-7-.6-14-.3-20.8 1.9-6.7 2.2-11.7 6.2-13.7 13.1-1.6 5.4-1.6 10.8.1 16.2 1.6 5.5 5.2 9.2 10.4 11.2zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zm-207.5 23.9c.4 1.7.9 3.4 1.6 5.1 16.5 40.6 32.9 81.3 49.5 121.9 1.4 3.5 1.7 6.4.2 9.9-2.8 6.2-4.9 12.6-7.8 18.7-2.6 5.5-6.7 9.5-12.7 11.2-4.2 1.1-8.5 1.3-12.9.9-2.1-.2-4.2-.7-6.3-.8-2.8-.2-4.2 1.1-4.3 4-.1 2.8-.1 5.6 0 8.3.1 4.6 1.6 6.7 6.2 7.5 4.7.8 9.4 1.6 14.2 1.7 14.3.3 25.7-5.4 33.1-17.9 2.9-4.9 5.6-10.1 7.7-15.4 19.8-50.1 39.5-100.3 59.2-150.5.6-1.5 1.1-3 1.3-4.6.4-2.4-.7-3.6-3.1-3.7-5.6-.1-11.1 0-16.7 0-3.1 0-5.3 1.4-6.4 4.3-.4 1.1-.9 2.3-1.3 3.4l-29.1 83.7c-2.1 6.1-4.2 12.1-6.5 18.6-.4-.9-.6-1.4-.8-1.9-10.8-29.9-21.6-59.9-32.4-89.8-1.7-4.7-3.5-9.5-5.3-14.2-.9-2.5-2.7-4-5.4-4-6.4-.1-12.8-.2-19.2-.1-2.2 0-3.3 1.6-2.8 3.7zM242.4 206c1.7 11.7 7.6 20.8 18 26.6 9.9 5.5 20.7 6.2 31.7 4.6 12.7-1.9 23.9-7.3 33.8-15.5.4-.3.8-.6 1.4-1 .5 3.2.9 6.2 1.5 9.2.5 2.6 2.1 4.3 4.5 4.4 4.6.1 9.1.1 13.7 0 2.3-.1 3.8-1.6 4-3.9.1-.8.1-1.6.1-2.3v-88.8c0-3.6-.2-7.2-.7-10.8-1.6-10.8-6.2-19.7-15.9-25.4-5.6-3.3-11.8-5-18.2-5.9-3-.4-6-.7-9.1-1.1h-10c-.8.1-1.6.3-2.5.3-8.2.4-16.3 1.4-24.2 3.5-5.1 1.3-10 3.2-15 4.9-3 1-4.5 3.2-4.4 6.5.1 2.8-.1 5.6 0 8.3.1 4.1 1.8 5.2 5.7 4.1 6.5-1.7 13.1-3.5 19.7-4.8 10.3-1.9 20.7-2.7 31.1-1.2 5.4.8 10.5 2.4 14.1 7 3.1 4 4.2 8.8 4.4 13.7.3 6.9.2 13.9.3 20.8 0 .4-.1.7-.2 1.2-.4 0-.8 0-1.1-.1-8.8-2.1-17.7-3.6-26.8-4.1-9.5-.5-18.9.1-27.9 3.2-10.8 3.8-19.5 10.3-24.6 20.8-4.1 8.3-4.6 17-3.4 25.8zM98.7 106.9v175.3c0 .8 0 1.7.1 2.5.2 2.5 1.7 4.1 4.1 4.2 5.9.1 11.8.1 17.7 0 2.5 0 4-1.7 4.1-4.1.1-.8.1-1.7.1-2.5v-60.7c.9.7 1.4 1.2 1.9 1.6 15 12.5 32.2 16.6 51.1 12.9 17.1-3.4 28.9-13.9 36.7-29.2 5.8-11.6 8.3-24.1 8.7-37 .5-14.3-1-28.4-6.8-41.7-7.1-16.4-18.9-27.3-36.7-30.9-2.7-.6-5.5-.8-8.2-1.2h-7c-1.2.2-2.4.3-3.6.5-11.7 1.4-22.3 5.8-31.8 12.7-2 1.4-3.9 3-5.9 4.5-.1-.5-.3-.8-.4-1.2-.4-2.3-.7-4.6-1.1-6.9-.6-3.9-2.5-5.5-6.4-5.6h-9.7c-5.9-.1-6.9 1-6.9 6.8zM493.6 339c-2.7-.7-5.1 0-7.6 1-43.9 18.4-89.5 30.2-136.8 35.8-14.5 1.7-29.1 2.8-43.7 3.2-26.6.7-53.2-.8-79.6-4.3-17.8-2.4-35.5-5.7-53-9.9-37-8.9-72.7-21.7-106.7-38.8-8.8-4.4-17.4-9.3-26.1-14-3.8-2.1-6.2-1.5-8.2 2.1v1.7c1.2 1.6 2.2 3.4 3.7 4.8 36 32.2 76.6 56.5 122 72.9 21.9 7.9 44.4 13.7 67.3 17.5 14 2.3 28 3.8 42.2 4.5 3 .1 6 .2 9 .4.7 0 1.4.2 2.1.3h17.7c.7-.1 1.4-.3 2.1-.3 14.9-.4 29.8-1.8 44.6-4 21.4-3.2 42.4-8.1 62.9-14.7 29.6-9.6 57.7-22.4 83.4-40.1 2.8-1.9 5.7-3.8 8-6.2 4.3-4.4 2.3-10.4-3.3-11.9zm50.4-27.7c-.8-4.2-4-5.8-7.6-7-5.7-1.9-11.6-2.8-17.6-3.3-11-.9-22-.4-32.8 1.6-12 2.2-23.4 6.1-33.5 13.1-1.2.8-2.4 1.8-3.1 3-.6.9-.7 2.3-.5 3.4.3 1.3 1.7 1.6 3 1.5.6 0 1.2 0 1.8-.1l19.5-2.1c9.6-.9 19.2-1.5 28.8-.8 4.1.3 8.1 1.2 12 2.2 4.3 1.1 6.2 4.4 6.4 8.7.3 6.7-1.2 13.1-2.9 19.5-3.5 12.9-8.3 25.4-13.3 37.8-.3.8-.7 1.7-.8 2.5-.4 2.5 1 4 3.4 3.5 1.4-.3 3-1.1 4-2.1 3.7-3.6 7.5-7.2 10.6-11.2 10.7-13.8 17-29.6 20.7-46.6.7-3 1.2-6.1 1.7-9.1.2-4.7.2-9.6.2-14.5z\"]\n};\nvar faDropbox = {\n prefix: 'fab',\n iconName: 'dropbox',\n icon: [528, 512, [], \"f16b\", \"M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z\"]\n};\nvar faInstagram = {\n prefix: 'fab',\n iconName: 'instagram',\n icon: [448, 512, [], \"f16d\", \"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z\"]\n};\nvar faCmplid = {\n prefix: 'fab',\n iconName: 'cmplid',\n icon: [640, 512, [], \"e360\", \"M226.119,388.165a3.816,3.816,0,0,0-2.294-3.5,3.946,3.946,0,0,0-1.629-.385L72.6,384.3a19.243,19.243,0,0,1-17.924-26.025L81.585,255.692a35.72,35.72,0,0,1,32.373-26H262.525a7.07,7.07,0,0,0,6.392-5.194l10.769-41.131a3.849,3.849,0,0,0-2.237-4.937,3.755,3.755,0,0,0-1.377-.261c-.063,0-.126,0-.189.005H127.38a106.8,106.8,0,0,0-96.99,77.1L3.483,358.824A57.469,57.469,0,0,0,57.314,436q1.43,0,2.86-.072H208.742a7.131,7.131,0,0,0,6.391-5.193L225.839,389.6A3.82,3.82,0,0,0,226.119,388.165ZM306.658,81.2a3.861,3.861,0,0,0,.251-1.367A3.813,3.813,0,0,0,303.079,76c-.064,0-.128,0-.192,0h-41A7.034,7.034,0,0,0,255.5,81.2l-21.347,80.915h51.131ZM180.364,368.249H231.5L263.452,245.69H212.321ZM511.853,79.723a3.809,3.809,0,0,0-3.8-3.661c-.058,0-.137,0-.23.007h-41a7.1,7.1,0,0,0-6.584,5.129L368.91,430.634a3.54,3.54,0,0,0-.262,1.335,3.873,3.873,0,0,0,3.864,3.863c.056,0,.112,0,.169,0h41a7.068,7.068,0,0,0,6.392-5.193L511.533,81.2A3.624,3.624,0,0,0,511.853,79.723ZM324.649,384.47h-41a7.2,7.2,0,0,0-6.392,5.194L266.52,430.8a3.662,3.662,0,0,0-.268,1.374A3.783,3.783,0,0,0,270.023,436c.06,0,.166,0,.3-.012h40.905a7.036,7.036,0,0,0,6.391-5.193l10.769-41.131a3.75,3.75,0,0,0-3.445-5.208c-.108,0-.217,0-.326.014Zm311.324-308.4h-41a7.066,7.066,0,0,0-6.392,5.129l-91.46,349.436a4.073,4.073,0,0,0-.229,1.347,3.872,3.872,0,0,0,3.863,3.851c.056,0,.112,0,.169,0h40.968a7.1,7.1,0,0,0,6.392-5.193L639.68,81.2a3.624,3.624,0,0,0,.32-1.475,3.841,3.841,0,0,0-3.821-3.564c-.068,0-.137,0-.206.006ZM371.562,225.236l10.8-41.1a4.369,4.369,0,0,0,.227-1.388,3.869,3.869,0,0,0-3.861-3.842c-.057,0-.113,0-.169,0h-41.1a7.292,7.292,0,0,0-6.391,5.226l-10.834,41.1a4.417,4.417,0,0,0-.26,1.493c0,.069,0,.138,0,.206a3.776,3.776,0,0,0,3.757,3.507c.076,0,.18,0,.3-.012h41.129A7.034,7.034,0,0,0,371.562,225.236Z\"]\n};\nvar faFacebook = {\n prefix: 'fab',\n iconName: 'facebook',\n icon: [512, 512, [62000], \"f09a\", \"M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z\"]\n};\nvar faGripfire = {\n prefix: 'fab',\n iconName: 'gripfire',\n icon: [384, 512, [], \"f3ac\", \"M112.5 301.4c0-73.8 105.1-122.5 105.1-203 0-47.1-34-88-39.1-90.4.4 3.3.6 6.7.6 10C179.1 110.1 32 171.9 32 286.6c0 49.8 32.2 79.2 66.5 108.3 65.1 46.7 78.1 71.4 78.1 86.6 0 10.1-4.8 17-4.8 22.3 13.1-16.7 17.4-31.9 17.5-46.4 0-29.6-21.7-56.3-44.2-86.5-16-22.3-32.6-42.6-32.6-69.5zm205.3-39c-12.1-66.8-78-124.4-94.7-130.9l4 7.2c2.4 5.1 3.4 10.9 3.4 17.1 0 44.7-54.2 111.2-56.6 116.7-2.2 5.1-3.2 10.5-3.2 15.8 0 20.1 15.2 42.1 17.9 42.1 2.4 0 56.6-55.4 58.1-87.7 6.4 11.7 9.1 22.6 9.1 33.4 0 41.2-41.8 96.9-41.8 96.9 0 11.6 31.9 53.2 35.5 53.2 1 0 2.2-1.4 3.2-2.4 37.9-39.3 67.3-85 67.3-136.8 0-8-.7-16.2-2.2-24.6z\"]\n};\nvar faJediOrder = {\n prefix: 'fab',\n iconName: 'jedi-order',\n icon: [448, 512, [], \"f50e\", \"M398.5 373.6c95.9-122.1 17.2-233.1 17.2-233.1 45.4 85.8-41.4 170.5-41.4 170.5 105-171.5-60.5-271.5-60.5-271.5 96.9 72.7-10.1 190.7-10.1 190.7 85.8 158.4-68.6 230.1-68.6 230.1s-.4-16.9-2.2-85.7c4.3 4.5 34.5 36.2 34.5 36.2l-24.2-47.4 62.6-9.1-62.6-9.1 20.2-55.5-31.4 45.9c-2.2-87.7-7.8-305.1-7.9-306.9v-2.4 1-1 2.4c0 1-5.6 219-7.9 306.9l-31.4-45.9 20.2 55.5-62.6 9.1 62.6 9.1-24.2 47.4 34.5-36.2c-1.8 68.8-2.2 85.7-2.2 85.7s-154.4-71.7-68.6-230.1c0 0-107-118.1-10.1-190.7 0 0-165.5 99.9-60.5 271.5 0 0-86.8-84.8-41.4-170.5 0 0-78.7 111 17.2 233.1 0 0-26.2-16.1-49.4-77.7 0 0 16.9 183.3 222 185.7h4.1c205-2.4 222-185.7 222-185.7-23.6 61.5-49.9 77.7-49.9 77.7z\"]\n};\nvar faUikit = {\n prefix: 'fab',\n iconName: 'uikit',\n icon: [448, 512, [], \"f403\", \"M443.9 128v256L218 512 0 384V169.7l87.6 45.1v117l133.5 75.5 135.8-75.5v-151l-101.1-57.6 87.6-53.1L443.9 128zM308.6 49.1L223.8 0l-88.6 54.8 86 47.3 87.4-53z\"]\n};\nvar faFortAwesomeAlt = {\n prefix: 'fab',\n iconName: 'fort-awesome-alt',\n icon: [512, 512, [], \"f3a3\", \"M208 237.4h-22.2c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7H208c2.1 0 3.7-1.6 3.7-3.7v-51.7c0-2.1-1.6-3.7-3.7-3.7zm118.2 0H304c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7h22.2c2.1 0 3.7-1.6 3.7-3.7v-51.7c-.1-2.1-1.7-3.7-3.7-3.7zm132-125.1c-2.3-3.2-4.6-6.4-7.1-9.5-9.8-12.5-20.8-24-32.8-34.4-4.5-3.9-9.1-7.6-13.9-11.2-1.6-1.2-3.2-2.3-4.8-3.5C372 34.1 340.3 20 306 13c-16.2-3.3-32.9-5-50-5s-33.9 1.7-50 5c-34.3 7.1-66 21.2-93.3 40.8-1.6 1.1-3.2 2.3-4.8 3.5-4.8 3.6-9.4 7.3-13.9 11.2-3 2.6-5.9 5.3-8.8 8s-5.7 5.5-8.4 8.4c-5.5 5.7-10.7 11.8-15.6 18-2.4 3.1-4.8 6.3-7.1 9.5C25.2 153 8.3 202.5 8.3 256c0 2 .1 4 .1 6 .1.7.1 1.3.1 2 .1 1.3.1 2.7.2 4 0 .8.1 1.5.1 2.3 0 1.3.1 2.5.2 3.7.1.8.1 1.6.2 2.4.1 1.1.2 2.3.3 3.5 0 .8.1 1.6.2 2.4.1 1.2.3 2.4.4 3.6.1.8.2 1.5.3 2.3.1 1.3.3 2.6.5 3.9.1.6.2 1.3.3 1.9l.9 5.7c.1.6.2 1.1.3 1.7.3 1.3.5 2.7.8 4 .2.8.3 1.6.5 2.4.2 1 .5 2.1.7 3.2.2.9.4 1.7.6 2.6.2 1 .4 2 .7 3 .2.9.5 1.8.7 2.7.3 1 .5 1.9.8 2.9.3.9.5 1.8.8 2.7.2.9.5 1.9.8 2.8s.5 1.8.8 2.7c.3 1 .6 1.9.9 2.8.6 1.6 1.1 3.3 1.7 4.9.4 1 .7 1.9 1 2.8.3 1 .7 2 1.1 3 .3.8.6 1.5.9 2.3l1.2 3c.3.7.6 1.5.9 2.2.4 1 .9 2 1.3 3l.9 2.1c.5 1 .9 2 1.4 3 .3.7.6 1.3.9 2 .5 1 1 2.1 1.5 3.1.2.6.5 1.1.8 1.7.6 1.1 1.1 2.2 1.7 3.3.1.2.2.3.3.5 2.2 4.1 4.4 8.2 6.8 12.2.2.4.5.8.7 1.2.7 1.1 1.3 2.2 2 3.3.3.5.6.9.9 1.4.6 1.1 1.3 2.1 2 3.2.3.5.6.9.9 1.4.7 1.1 1.4 2.1 2.1 3.2.2.4.5.8.8 1.2.7 1.1 1.5 2.2 2.3 3.3.2.2.3.5.5.7 37.5 51.7 94.4 88.5 160 99.4.9.1 1.7.3 2.6.4 1 .2 2.1.4 3.1.5s1.9.3 2.8.4c1 .2 2 .3 3 .4.9.1 1.9.2 2.9.3s1.9.2 2.9.3 2.1.2 3.1.3c.9.1 1.8.1 2.7.2 1.1.1 2.3.1 3.4.2.8 0 1.7.1 2.5.1 1.3 0 2.6.1 3.9.1.7.1 1.4.1 2.1.1 2 .1 4 .1 6 .1s4-.1 6-.1c.7 0 1.4-.1 2.1-.1 1.3 0 2.6 0 3.9-.1.8 0 1.7-.1 2.5-.1 1.1-.1 2.3-.1 3.4-.2.9 0 1.8-.1 2.7-.2 1-.1 2.1-.2 3.1-.3s1.9-.2 2.9-.3c.9-.1 1.9-.2 2.9-.3s2-.3 3-.4 1.9-.3 2.8-.4c1-.2 2.1-.3 3.1-.5.9-.1 1.7-.3 2.6-.4 65.6-11 122.5-47.7 160.1-102.4.2-.2.3-.5.5-.7.8-1.1 1.5-2.2 2.3-3.3.2-.4.5-.8.8-1.2.7-1.1 1.4-2.1 2.1-3.2.3-.5.6-.9.9-1.4.6-1.1 1.3-2.1 2-3.2.3-.5.6-.9.9-1.4.7-1.1 1.3-2.2 2-3.3.2-.4.5-.8.7-1.2 2.4-4 4.6-8.1 6.8-12.2.1-.2.2-.3.3-.5.6-1.1 1.1-2.2 1.7-3.3.2-.6.5-1.1.8-1.7.5-1 1-2.1 1.5-3.1.3-.7.6-1.3.9-2 .5-1 1-2 1.4-3l.9-2.1c.5-1 .9-2 1.3-3 .3-.7.6-1.5.9-2.2l1.2-3c.3-.8.6-1.5.9-2.3.4-1 .7-2 1.1-3s.7-1.9 1-2.8c.6-1.6 1.2-3.3 1.7-4.9.3-1 .6-1.9.9-2.8s.5-1.8.8-2.7c.2-.9.5-1.9.8-2.8s.6-1.8.8-2.7c.3-1 .5-1.9.8-2.9.2-.9.5-1.8.7-2.7.2-1 .5-2 .7-3 .2-.9.4-1.7.6-2.6.2-1 .5-2.1.7-3.2.2-.8.3-1.6.5-2.4.3-1.3.6-2.7.8-4 .1-.6.2-1.1.3-1.7l.9-5.7c.1-.6.2-1.3.3-1.9.1-1.3.3-2.6.5-3.9.1-.8.2-1.5.3-2.3.1-1.2.3-2.4.4-3.6 0-.8.1-1.6.2-2.4.1-1.1.2-2.3.3-3.5.1-.8.1-1.6.2-2.4.1 1.7.1.5.2-.7 0-.8.1-1.5.1-2.3.1-1.3.2-2.7.2-4 .1-.7.1-1.3.1-2 .1-2 .1-4 .1-6 0-53.5-16.9-103-45.8-143.7zM448 371.5c-9.4 15.5-20.6 29.9-33.6 42.9-20.6 20.6-44.5 36.7-71.2 48-13.9 5.8-28.2 10.3-42.9 13.2v-75.8c0-58.6-88.6-58.6-88.6 0v75.8c-14.7-2.9-29-7.3-42.9-13.2-26.7-11.3-50.6-27.4-71.2-48-13-13-24.2-27.4-33.6-42.9v-71.3c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7V326h29.6V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7H208c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-4.8 6.5-3.7 9.5-3.7V88.1c-4.4-2-7.4-6.7-7.4-11.5 0-16.8 25.4-16.8 25.4 0 0 4.8-3 9.4-7.4 11.5V92c6.3-1.4 12.7-2.3 19.2-2.3 9.4 0 18.4 3.5 26.3 3.5 7.2 0 15.2-3.5 19.4-3.5 2.1 0 3.7 1.6 3.7 3.7v48.4c0 5.6-18.7 6.5-22.4 6.5-8.6 0-16.6-3.5-25.4-3.5-7 0-14.1 1.2-20.8 2.8v30.7c3 0 9.5-1.1 9.5 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v144h29.5v-25.8c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7z\"]\n};\nvar faPhabricator = {\n prefix: 'fab',\n iconName: 'phabricator',\n icon: [496, 512, [], \"f3db\", \"M323 262.1l-.1-13s21.7-19.8 21.1-21.2l-9.5-20c-.6-1.4-29.5-.5-29.5-.5l-9.4-9.3s.2-28.5-1.2-29.1l-20.1-9.2c-1.4-.6-20.7 21-20.7 21l-13.1-.2s-20.5-21.4-21.9-20.8l-20 8.3c-1.4.5.2 28.9.2 28.9l-9.1 9.1s-29.2-.9-29.7.4l-8.1 19.8c-.6 1.4 21 21 21 21l.1 12.9s-21.7 19.8-21.1 21.2l9.5 20c.6 1.4 29.5.5 29.5.5l9.4 9.3s-.2 31.8 1.2 32.3l20.1 8.3c1.4.6 20.7-23.5 20.7-23.5l13.1.2s20.5 23.8 21.8 23.3l20-7.5c1.4-.6-.2-32.1-.2-32.1l9.1-9.1s29.2.9 29.7-.5l8.1-19.8c.7-1.1-20.9-20.7-20.9-20.7zm-44.9-8.7c.7 17.1-12.8 31.6-30.1 32.4-17.3.8-32.1-12.5-32.8-29.6-.7-17.1 12.8-31.6 30.1-32.3 17.3-.8 32.1 12.5 32.8 29.5zm201.2-37.9l-97-97-.1.1c-75.1-73.3-195.4-72.8-269.8 1.6-50.9 51-27.8 27.9-95.7 95.3-22.3 22.3-22.3 58.7 0 81 69.9 69.4 46.4 46 97.4 97l.1-.1c75.1 73.3 195.4 72.9 269.8-1.6 51-50.9 27.9-27.9 95.3-95.3 22.3-22.3 22.3-58.7 0-81zM140.4 363.8c-59.6-59.5-59.6-156 0-215.5 59.5-59.6 156-59.5 215.6 0 59.5 59.5 59.6 156 0 215.6-59.6 59.5-156 59.4-215.6-.1z\"]\n};\nvar faUssunnah = {\n prefix: 'fab',\n iconName: 'ussunnah',\n icon: [482, 512, [], \"f407\", \"M481.9 268.1A240.9 240.9 0 1 1 .1 268a240.9 240.9 0 1 1 481.9 0zM24.5 268a216.5 216.5 0 1 0 432.9 0A216.5 216.5 0 1 0 24.5 268zm385.9 63.3c-12.7 0-21.6-1.9-26.7-5.9c-5.5-4.3-8.2-12.3-8.2-23.8V205.1c0-6.5-5.2-20.2-15.7-41.2c7 0 17-9.1 30-27.2V284.5c0 11 2.4 19.4 7 25.3c3.7 4.7 10.1 8.9 19 12.6c1.2 .4 2.6 .9 4.1 1.4c2.9 .9 6.3 2.1 10.3 3.5c-1.8 2.7-8.3 4-19.9 4zm-219 0c-1.3 2.4-3.6 5.5-6.8 9.4l-18.5 22.5c-1-6.1-4-13-9.3-20.6s-9.7-11.4-13.4-11.4h-8.3H53.6c3.3-5.3 4.9-8.8 4.9-10.8c0-2-.8-5.3-2.4-9.7c-1.5-4.4-2.4-8.5-2.4-12.4c0-7.4 2.1-13.9 6.3-19.3L80 253.4l-7.1-17.7L89 215.9l6.7 16.8 8-10.3c-1.8 6.4-2.6 12.3-2.6 17.7c0 4.2 2.8 13.3 8.3 27.3l16.2 40.7H135h8 .3c2.8 .4 7.7 5 14.6 13.9c1.8 2.4 4.3 5.8 7.7 10.2c1.4 1.9 2.9 3.9 4.6 6.1c1.3-2.3 2-4.6 2-7.1c0-2-1.3-6.6-4-13.4L163 304.1c-4-10.6-6.1-17.7-6.1-21.3c0-6.3 1.9-12.3 5.8-17.9c.5-.6 1-1.3 1.5-1.9c4.4-5.6 8.8-11.1 13.3-16.5c-1.1 4.6-1.7 8.7-1.7 12c0 3.7 1.7 9.9 5.1 18.8l7.9 20.4c1.9 4.7 3 8.2 3.7 10.3h17.6 8.3l-.9-2.6c-1.4-3.9-4-7-7.7-9.3l15.6-20.1 12.3 32h13.4L245 292.2c-1.5-3.9-4-7-7.7-9.3L253 262.8 270.3 308h13.4l-11.4-29.4c-1.5-3.9-4-7-7.7-9.3l15.6-20L302.6 308h10.3 8.3 7.6c1.5 0 3-1.1 4.5-3.1s2.2-4.1 2.2-6.3V205.1c0-6.5-4.5-20.3-13.7-41.2c5.4 0 14.1-9.1 26.2-27.2V300.2c0 7.2 .6 12 1.7 14.6c1.6 3.4 5.3 6.2 11.1 8.2c-3.9 5.6-8.7 8.5-14.5 8.5H321.1h-8.3H210.5h-19zM93.4 287.3c-2.7-6.7-4-11.7-4-15c-.6 1.2-2.4 3.7-5.4 7.6c-1.4 1.9-2.2 3.7-2.2 5.3c0 2.6 .8 5.7 2.2 9.3l5.6 13.9h0c5 0 9 0 11.9-.1l-8.2-20.9zm13.5-72.4c-3-5.2-7-9.3-11.9-11.9c-3.5-1.9-5.3-4.3-5.3-7.4c0-2.4 4.6-8.6 14-18.3c.2 3.8 1.9 7.6 4.9 11.2c3.1 3.6 4.6 7 4.6 10.1c0 2.6-2.1 8-6.2 16.3zm-27.6 0c-3-5.2-7-9.3-11.9-11.9c-3.5-1.9-5.3-4.3-5.3-7.4c0-2.4 4.6-8.6 14-18.3c.2 3.8 1.9 7.6 4.9 11.2c3.1 3.6 4.6 7 4.6 10.1c0 2.6-2.1 8-6.2 16.3zm87 27.5c-3-5.2-7-9.3-11.9-11.9c-3.5-1.9-5.3-4.3-5.3-7.4c0-2.4 4.6-8.6 14-18.3c.2 3.8 1.9 7.6 4.9 11.2c3.1 3.6 4.6 7 4.6 10.1c0 2.6-2.1 8-6.2 16.3z\"]\n};\nvar faEarlybirds = {\n prefix: 'fab',\n iconName: 'earlybirds',\n icon: [480, 512, [], \"f39a\", \"M313.2 47.5c1.2-13 21.3-14 36.6-8.7.9.3 26.2 9.7 19 15.2-27.9-7.4-56.4 18.2-55.6-6.5zm-201 6.9c30.7-8.1 62 20 61.1-7.1-1.3-14.2-23.4-15.3-40.2-9.6-1 .3-28.7 10.5-20.9 16.7zM319.4 160c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-159.7 0c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm318.5 163.2c-9.9 24-40.7 11-63.9-1.2-13.5 69.1-58.1 111.4-126.3 124.2.3.9-2-.1 24 1 33.6 1.4 63.8-3.1 97.4-8-19.8-13.8-11.4-37.1-9.8-38.1 1.4-.9 14.7 1.7 21.6 11.5 8.6-12.5 28.4-14.8 30.2-13.6 1.6 1.1 6.6 20.9-6.9 34.6 4.7-.9 8.2-1.6 9.8-2.1 2.6-.8 17.7 11.3 3.1 13.3-14.3 2.3-22.6 5.1-47.1 10.8-45.9 10.7-85.9 11.8-117.7 12.8l1 11.6c3.8 18.1-23.4 24.3-27.6 6.2.8 17.9-27.1 21.8-28.4-1l-.5 5.3c-.7 18.4-28.4 17.9-28.3-.6-7.5 13.5-28.1 6.8-26.4-8.5l1.2-12.4c-36.7.9-59.7 3.1-61.8 3.1-20.9 0-20.9-31.6 0-31.6 2.4 0 27.7 1.3 63.2 2.8-61.1-15.5-103.7-55-114.9-118.2-25 12.8-57.5 26.8-68.2.8-10.5-25.4 21.5-42.6 66.8-73.4.7-6.6 1.6-13.3 2.7-19.8-14.4-19.6-11.6-36.3-16.1-60.4-16.8 2.4-23.2-9.1-23.6-23.1.3-7.3 2.1-14.9 2.4-15.4 1.1-1.8 10.1-2 12.7-2.6 6-31.7 50.6-33.2 90.9-34.5 19.7-21.8 45.2-41.5 80.9-48.3C203.3 29 215.2 8.5 216.2 8c1.7-.8 21.2 4.3 26.3 23.2 5.2-8.8 18.3-11.4 19.6-10.7 1.1.6 6.4 15-4.9 25.9 40.3 3.5 72.2 24.7 96 50.7 36.1 1.5 71.8 5.9 77.1 34 2.7.6 11.6.8 12.7 2.6.3.5 2.1 8.1 2.4 15.4-.5 13.9-6.8 25.4-23.6 23.1-3.2 17.3-2.7 32.9-8.7 47.7 2.4 11.7 4 23.8 4.8 36.4 37 25.4 70.3 42.5 60.3 66.9zM207.4 159.9c.9-44-37.9-42.2-78.6-40.3-21.7 1-38.9 1.9-45.5 13.9-11.4 20.9 5.9 92.9 23.2 101.2 9.8 4.7 73.4 7.9 86.3-7.1 8.2-9.4 15-49.4 14.6-67.7zm52 58.3c-4.3-12.4-6-30.1-15.3-32.7-2-.5-9-.5-11 0-10 2.8-10.8 22.1-17 37.2 15.4 0 19.3 9.7 23.7 9.7 4.3 0 6.3-11.3 19.6-14.2zm135.7-84.7c-6.6-12.1-24.8-12.9-46.5-13.9-40.2-1.9-78.2-3.8-77.3 40.3-.5 18.3 5 58.3 13.2 67.8 13 14.9 76.6 11.8 86.3 7.1 15.8-7.6 36.5-78.9 24.3-101.3z\"]\n};\nvar faTradeFederation = {\n prefix: 'fab',\n iconName: 'trade-federation',\n icon: [496, 512, [], \"f513\", \"M248 8.8c-137 0-248 111-248 248s111 248 248 248 248-111 248-248-111-248-248-248zm0 482.8c-129.7 0-234.8-105.1-234.8-234.8S118.3 22 248 22s234.8 105.1 234.8 234.8S377.7 491.6 248 491.6zm155.1-328.5v-46.8H209.3V198H54.2l36.7 46h117.7v196.8h48.8V245h83.3v-47h-83.3v-34.8h145.7zm-73.3 45.1v23.9h-82.9v197.4h-26.8V232.1H96.3l-20.1-23.9h143.9v-80.6h171.8V152h-145v56.2zm-161.3-69l-12.4-20.7 2.1 23.8-23.5 5.4 23.3 5.4-2.1 24 12.3-20.5 22.2 9.5-15.7-18.1 15.8-18.1zm-29.6-19.7l9.3-11.5-12.7 5.9-8-12.4 1.7 13.9-14.3 3.8 13.7 2.7-.8 14.7 6.8-12.2 13.8 5.3zm165.4 145.2l-13.1 5.6-7.3-12.2 1.3 14.2-13.9 3.2 13.9 3.2-1.2 14.2 7.3-12.2 13.1 5.5-9.4-10.7zm106.9-77.2l-20.9 9.1-12-19.6 2.2 22.7-22.3 5.4 22.2 4.9-1.8 22.9 11.5-19.6 21.2 8.8-15.1-17zM248 29.9c-125.3 0-226.9 101.6-226.9 226.9S122.7 483.7 248 483.7s226.9-101.6 226.9-226.9S373.3 29.9 248 29.9zM342.6 196v51h-83.3v195.7h-52.7V245.9H89.9l-40-49.9h157.4v-81.6h197.8v50.7H259.4V196zM248 43.2c60.3 0 114.8 25 153.6 65.2H202.5V190H45.1C73.1 104.8 153.4 43.2 248 43.2zm0 427.1c-117.9 0-213.6-95.6-213.6-213.5 0-21.2 3.1-41.8 8.9-61.1L87.1 252h114.7v196.8h64.6V253h83.3v-62.7h-83.2v-19.2h145.6v-50.8c30.8 37 49.3 84.6 49.3 136.5.1 117.9-95.5 213.5-213.4 213.5zM178.8 275l-11-21.4 1.7 24.5-23.7 3.9 23.8 5.9-3.7 23.8 13-20.9 21.5 10.8-15.8-18.8 16.9-17.1z\"]\n};\nvar faAutoprefixer = {\n prefix: 'fab',\n iconName: 'autoprefixer',\n icon: [640, 512, [], \"f41c\", \"M318.4 16l-161 480h77.5l25.4-81.4h119.5L405 496h77.5L318.4 16zm-40.3 341.9l41.2-130.4h1.5l40.9 130.4h-83.6zM640 405l-10-31.4L462.1 358l19.4 56.5L640 405zm-462.1-47L10 373.7 0 405l158.5 9.4 19.4-56.4z\"]\n};\nvar faWhatsapp = {\n prefix: 'fab',\n iconName: 'whatsapp',\n icon: [448, 512, [], \"f232\", \"M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z\"]\n};\nvar faSlideshare = {\n prefix: 'fab',\n iconName: 'slideshare',\n icon: [512, 512, [], \"f1e7\", \"M187.7 153.7c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7s61.7-26 61.7-57.7c0-32-27.7-57.7-61.7-57.7zm143.4 0c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7 34.3 0 61.7-26 61.7-57.7.1-32-27.4-57.7-61.7-57.7zm156.6 90l-6 4.3V49.7c0-27.4-20.6-49.7-46-49.7H76.6c-25.4 0-46 22.3-46 49.7V248c-2-1.4-4.3-2.9-6.3-4.3-15.1-10.6-25.1 4-16 17.7 18.3 22.6 53.1 50.3 106.3 72C58.3 525.1 252 555.7 248.9 457.5c0-.7.3-56.6.3-96.6 5.1 1.1 9.4 2.3 13.7 3.1 0 39.7.3 92.8.3 93.5-3.1 98.3 190.6 67.7 134.3-124 53.1-21.7 88-49.4 106.3-72 9.1-13.8-.9-28.3-16.1-17.8zm-30.5 19.2c-68.9 37.4-128.3 31.1-160.6 29.7-23.7-.9-32.6 9.1-33.7 24.9-10.3-7.7-18.6-15.5-20.3-17.1-5.1-5.4-13.7-8-27.1-7.7-31.7 1.1-89.7 7.4-157.4-28V72.3c0-34.9 8.9-45.7 40.6-45.7h317.7c30.3 0 40.9 12.9 40.9 45.7v190.6z\"]\n};\nvar faGooglePlay = {\n prefix: 'fab',\n iconName: 'google-play',\n icon: [512, 512, [], \"f3ab\", \"M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z\"]\n};\nvar faViadeo = {\n prefix: 'fab',\n iconName: 'viadeo',\n icon: [448, 512, [], \"f2a9\", \"M276.2 150.5v.7C258.3 98.6 233.6 47.8 205.4 0c43.3 29.2 67 100 70.8 150.5zm32.7 121.7c7.6 18.2 11 37.5 11 57 0 77.7-57.8 141-137.8 139.4l3.8-.3c74.2-46.7 109.3-118.6 109.3-205.1 0-38.1-6.5-75.9-18.9-112 1 11.7 1 23.7 1 35.4 0 91.8-18.1 241.6-116.6 280C95 455.2 49.4 398 49.4 329.2c0-75.6 57.4-142.3 135.4-142.3 16.8 0 33.7 3.1 49.1 9.6 1.7-15.1 6.5-29.9 13.4-43.3-19.9-7.2-41.2-10.7-62.5-10.7-161.5 0-238.7 195.9-129.9 313.7 67.9 74.6 192 73.9 259.8 0 56.6-61.3 60.9-142.4 36.4-201-12.7 8-27.1 13.9-42.2 17zM418.1 11.7c-31 66.5-81.3 47.2-115.8 80.1-12.4 12-20.6 34-20.6 50.5 0 14.1 4.5 27.1 12 38.8 47.4-11 98.3-46 118.2-90.7-.7 5.5-4.8 14.4-7.2 19.2-20.3 35.7-64.6 65.6-99.7 84.9 14.8 14.4 33.7 25.8 55 25.8 79 0 110.1-134.6 58.1-208.6z\"]\n};\nvar faLine = {\n prefix: 'fab',\n iconName: 'line',\n icon: [512, 512, [], \"f3c0\", \"M311 196.8v81.3c0 2.1-1.6 3.7-3.7 3.7h-13c-1.3 0-2.4-.7-3-1.5l-37.3-50.3v48.2c0 2.1-1.6 3.7-3.7 3.7h-13c-2.1 0-3.7-1.6-3.7-3.7V196.9c0-2.1 1.6-3.7 3.7-3.7h12.9c1.1 0 2.4 .6 3 1.6l37.3 50.3V196.9c0-2.1 1.6-3.7 3.7-3.7h13c2.1-.1 3.8 1.6 3.8 3.5zm-93.7-3.7h-13c-2.1 0-3.7 1.6-3.7 3.7v81.3c0 2.1 1.6 3.7 3.7 3.7h13c2.1 0 3.7-1.6 3.7-3.7V196.8c0-1.9-1.6-3.7-3.7-3.7zm-31.4 68.1H150.3V196.8c0-2.1-1.6-3.7-3.7-3.7h-13c-2.1 0-3.7 1.6-3.7 3.7v81.3c0 1 .3 1.8 1 2.5c.7 .6 1.5 1 2.5 1h52.2c2.1 0 3.7-1.6 3.7-3.7v-13c0-1.9-1.6-3.7-3.5-3.7zm193.7-68.1H327.3c-1.9 0-3.7 1.6-3.7 3.7v81.3c0 1.9 1.6 3.7 3.7 3.7h52.2c2.1 0 3.7-1.6 3.7-3.7V265c0-2.1-1.6-3.7-3.7-3.7H344V247.7h35.5c2.1 0 3.7-1.6 3.7-3.7V230.9c0-2.1-1.6-3.7-3.7-3.7H344V213.5h35.5c2.1 0 3.7-1.6 3.7-3.7v-13c-.1-1.9-1.7-3.7-3.7-3.7zM512 93.4V419.4c-.1 51.2-42.1 92.7-93.4 92.6H92.6C41.4 511.9-.1 469.8 0 418.6V92.6C.1 41.4 42.2-.1 93.4 0H419.4c51.2 .1 92.7 42.1 92.6 93.4zM441.6 233.5c0-83.4-83.7-151.3-186.4-151.3s-186.4 67.9-186.4 151.3c0 74.7 66.3 137.4 155.9 149.3c21.8 4.7 19.3 12.7 14.4 42.1c-.8 4.7-3.8 18.4 16.1 10.1s107.3-63.2 146.5-108.2c27-29.7 39.9-59.8 39.9-93.1z\"]\n};\nvar faGoogleDrive = {\n prefix: 'fab',\n iconName: 'google-drive',\n icon: [512, 512, [], \"f3aa\", \"M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z\"]\n};\nvar faServicestack = {\n prefix: 'fab',\n iconName: 'servicestack',\n icon: [496, 512, [], \"f3ec\", \"M88 216c81.7 10.2 273.7 102.3 304 232H0c99.5-8.1 184.5-137 88-232zm32-152c32.3 35.6 47.7 83.9 46.4 133.6C249.3 231.3 373.7 321.3 400 448h96C455.3 231.9 222.8 79.5 120 64z\"]\n};\nvar faSimplybuilt = {\n prefix: 'fab',\n iconName: 'simplybuilt',\n icon: [512, 512, [], \"f215\", \"M481.2 64h-106c-14.5 0-26.6 11.8-26.6 26.3v39.6H163.3V90.3c0-14.5-12-26.3-26.6-26.3h-106C16.1 64 4.3 75.8 4.3 90.3v331.4c0 14.5 11.8 26.3 26.6 26.3h450.4c14.8 0 26.6-11.8 26.6-26.3V90.3c-.2-14.5-12-26.3-26.7-26.3zM149.8 355.8c-36.6 0-66.4-29.7-66.4-66.4 0-36.9 29.7-66.6 66.4-66.6 36.9 0 66.6 29.7 66.6 66.6 0 36.7-29.7 66.4-66.6 66.4zm212.4 0c-36.9 0-66.6-29.7-66.6-66.6 0-36.6 29.7-66.4 66.6-66.4 36.6 0 66.4 29.7 66.4 66.4 0 36.9-29.8 66.6-66.4 66.6z\"]\n};\nvar faBitbucket = {\n prefix: 'fab',\n iconName: 'bitbucket',\n icon: [512, 512, [61810], \"f171\", \"M22.2 32A16 16 0 0 0 6 47.8a26.35 26.35 0 0 0 .2 2.8l67.9 412.1a21.77 21.77 0 0 0 21.3 18.2h325.7a16 16 0 0 0 16-13.4L505 50.7a16 16 0 0 0-13.2-18.3 24.58 24.58 0 0 0-2.8-.2L22.2 32zm285.9 297.8h-104l-28.1-147h157.3l-25.2 147z\"]\n};\nvar faImdb = {\n prefix: 'fab',\n iconName: 'imdb',\n icon: [448, 512, [], \"f2d8\", \"M89.5 323.6H53.93V186.2H89.5V323.6zM156.1 250.5L165.2 186.2H211.5V323.6H180.5V230.9L167.1 323.6H145.8L132.8 232.9L132.7 323.6H101.5V186.2H147.6C148.1 194.5 150.4 204.3 151.9 215.6L156.1 250.5zM223.7 323.6V186.2H250.3C267.3 186.2 277.3 187.1 283.3 188.6C289.4 190.3 294 192.8 297.2 196.5C300.3 199.8 302.3 203.1 303 208.5C303.9 212.9 304.4 221.6 304.4 234.7V282.9C304.4 295.2 303.7 303.4 302.5 307.6C301.4 311.7 299.4 315 296.5 317.3C293.7 319.7 290.1 321.4 285.8 322.3C281.6 323.1 275.2 323.6 266.7 323.6H223.7zM259.2 209.7V299.1C264.3 299.1 267.5 298.1 268.6 296.8C269.7 294.8 270.4 289.2 270.4 280.1V226.8C270.4 220.6 270.3 216.6 269.7 214.8C269.4 213 268.5 211.8 267.1 210.1C265.7 210.1 263 209.7 259.2 209.7V209.7zM316.5 323.6V186.2H350.6V230.1C353.5 227.7 356.7 225.2 360.1 223.5C363.7 222 368.9 221.1 372.9 221.1C377.7 221.1 381.8 221.9 385.2 223.3C388.6 224.8 391.2 226.8 393.2 229.5C394.9 232.1 395.9 234.8 396.3 237.3C396.7 239.9 396.1 245.3 396.1 253.5V292.1C396.1 300.3 396.3 306.4 395.3 310.5C394.2 314.5 391.5 318.1 387.5 320.1C383.4 324 378.6 325.4 372.9 325.4C368.9 325.4 363.7 324.5 360.2 322.9C356.7 321.1 353.5 318.4 350.6 314.9L348.5 323.6L316.5 323.6zM361.6 302.9C362.3 301.1 362.6 296.9 362.6 290.4V255C362.6 249.4 362.3 245.5 361.5 243.8C360.8 241.9 357.8 241.1 355.7 241.1C353.7 241.1 352.3 241.9 351.6 243.4C351 244.9 350.6 248.8 350.6 255V291.4C350.6 297.5 351 301.4 351.8 303C352.4 304.7 353.9 305.5 355.9 305.5C358.1 305.5 360.1 304.7 361.6 302.9L361.6 302.9zM418.4 32.04C434.1 33.27 447.1 47.28 447.1 63.92V448.1C447.1 464.5 435.2 478.5 418.9 479.1C418.6 479.1 418.4 480 418.1 480H29.88C29.6 480 29.32 479.1 29.04 479.9C13.31 478.5 1.093 466.1 0 449.7L.0186 61.78C1.081 45.88 13.82 33.09 30.26 31.1H417.7C417.9 31.1 418.2 32.01 418.4 32.04L418.4 32.04zM30.27 41.26C19 42.01 10.02 51.01 9.257 62.4V449.7C9.63 455.1 11.91 460.2 15.7 464C19.48 467.9 24.51 470.3 29.89 470.7H418.1C429.6 469.7 438.7 459.1 438.7 448.1V63.91C438.7 58.17 436.6 52.65 432.7 48.45C428.8 44.24 423.4 41.67 417.7 41.26L30.27 41.26z\"]\n};\nvar faDeezer = {\n prefix: 'fab',\n iconName: 'deezer',\n icon: [576, 512, [], \"e077\", \"M451.46,244.71H576V172H451.46Zm0-173.89v72.67H576V70.82Zm0,275.06H576V273.2H451.46ZM0,447.09H124.54V374.42H0Zm150.47,0H275V374.42H150.47Zm150.52,0H425.53V374.42H301Zm150.47,0H576V374.42H451.46ZM301,345.88H425.53V273.2H301Zm-150.52,0H275V273.2H150.47Zm0-101.17H275V172H150.47Z\"]\n};\nvar faRaspberryPi = {\n prefix: 'fab',\n iconName: 'raspberry-pi',\n icon: [407, 512, [], \"f7bb\", \"M372 232.5l-3.7-6.5c.1-46.4-21.4-65.3-46.5-79.7 7.6-2 15.4-3.6 17.6-13.2 13.1-3.3 15.8-9.4 17.1-15.8 3.4-2.3 14.8-8.7 13.6-19.7 6.4-4.4 10-10.1 8.1-18.1 6.9-7.5 8.7-13.7 5.8-19.4 8.3-10.3 4.6-15.6 1.1-20.9 6.2-11.2.7-23.2-16.6-21.2-6.9-10.1-21.9-7.8-24.2-7.8-2.6-3.2-6-6-16.5-4.7-6.8-6.1-14.4-5-22.3-2.1-9.3-7.3-15.5-1.4-22.6.8C271.6.6 269 5.5 263.5 7.6c-12.3-2.6-16.1 3-22 8.9l-6.9-.1c-18.6 10.8-27.8 32.8-31.1 44.1-3.3-11.3-12.5-33.3-31.1-44.1l-6.9.1c-5.9-5.9-9.7-11.5-22-8.9-5.6-2-8.1-7-19.4-3.4-4.6-1.4-8.9-4.4-13.9-4.3-2.6.1-5.5 1-8.7 3.5-7.9-3-15.5-4-22.3 2.1-10.5-1.3-14 1.4-16.5 4.7-2.3 0-17.3-2.3-24.2 7.8C21.2 16 15.8 28 22 39.2c-3.5 5.4-7.2 10.7 1.1 20.9-2.9 5.7-1.1 11.9 5.8 19.4-1.8 8 1.8 13.7 8.1 18.1-1.2 11 10.2 17.4 13.6 19.7 1.3 6.4 4 12.4 17.1 15.8 2.2 9.5 10 11.2 17.6 13.2-25.1 14.4-46.6 33.3-46.5 79.7l-3.7 6.5c-28.8 17.2-54.7 72.7-14.2 117.7 2.6 14.1 7.1 24.2 11 35.4 5.9 45.2 44.5 66.3 54.6 68.8 14.9 11.2 30.8 21.8 52.2 29.2C159 504.2 181 512 203 512h1c22.1 0 44-7.8 64.2-28.4 21.5-7.4 37.3-18 52.2-29.2 10.2-2.5 48.7-23.6 54.6-68.8 3.9-11.2 8.4-21.3 11-35.4 40.6-45.1 14.7-100.5-14-117.7zm-22.2-8c-1.5 18.7-98.9-65.1-82.1-67.9 45.7-7.5 83.6 19.2 82.1 67.9zm-43 93.1c-24.5 15.8-59.8 5.6-78.8-22.8s-14.6-64.2 9.9-80c24.5-15.8 59.8-5.6 78.8 22.8s14.6 64.2-9.9 80zM238.9 29.3c.8 4.2 1.8 6.8 2.9 7.6 5.4-5.8 9.8-11.7 16.8-17.3 0 3.3-1.7 6.8 2.5 9.4 3.7-5 8.8-9.5 15.5-13.3-3.2 5.6-.6 7.3 1.2 9.6 5.1-4.4 10-8.8 19.4-12.3-2.6 3.1-6.2 6.2-2.4 9.8 5.3-3.3 10.6-6.6 23.1-8.9-2.8 3.1-8.7 6.3-5.1 9.4 6.6-2.5 14-4.4 22.1-5.4-3.9 3.2-7.1 6.3-3.9 8.8 7.1-2.2 16.9-5.1 26.4-2.6l-6 6.1c-.7.8 14.1.6 23.9.8-3.6 5-7.2 9.7-9.3 18.2 1 1 5.8.4 10.4 0-4.7 9.9-12.8 12.3-14.7 16.6 2.9 2.2 6.8 1.6 11.2.1-3.4 6.9-10.4 11.7-16 17.3 1.4 1 3.9 1.6 9.7.9-5.2 5.5-11.4 10.5-18.8 15 1.3 1.5 5.8 1.5 10 1.6-6.7 6.5-15.3 9.9-23.4 14.2 4 2.7 6.9 2.1 10 2.1-5.7 4.7-15.4 7.1-24.4 10 1.7 2.7 3.4 3.4 7.1 4.1-9.5 5.3-23.2 2.9-27 5.6.9 2.7 3.6 4.4 6.7 5.8-15.4.9-57.3-.6-65.4-32.3 15.7-17.3 44.4-37.5 93.7-62.6-38.4 12.8-73 30-102 53.5-34.3-15.9-10.8-55.9 5.8-71.8zm-34.4 114.6c24.2-.3 54.1 17.8 54 34.7-.1 15-21 27.1-53.8 26.9-32.1-.4-53.7-15.2-53.6-29.8 0-11.9 26.2-32.5 53.4-31.8zm-123-12.8c3.7-.7 5.4-1.5 7.1-4.1-9-2.8-18.7-5.3-24.4-10 3.1 0 6 .7 10-2.1-8.1-4.3-16.7-7.7-23.4-14.2 4.2-.1 8.7 0 10-1.6-7.4-4.5-13.6-9.5-18.8-15 5.8.7 8.3.1 9.7-.9-5.6-5.6-12.7-10.4-16-17.3 4.3 1.5 8.3 2 11.2-.1-1.9-4.2-10-6.7-14.7-16.6 4.6.4 9.4 1 10.4 0-2.1-8.5-5.8-13.3-9.3-18.2 9.8-.1 24.6 0 23.9-.8l-6-6.1c9.5-2.5 19.3.4 26.4 2.6 3.2-2.5-.1-5.6-3.9-8.8 8.1 1.1 15.4 2.9 22.1 5.4 3.5-3.1-2.3-6.3-5.1-9.4 12.5 2.3 17.8 5.6 23.1 8.9 3.8-3.6.2-6.7-2.4-9.8 9.4 3.4 14.3 7.9 19.4 12.3 1.7-2.3 4.4-4 1.2-9.6 6.7 3.8 11.8 8.3 15.5 13.3 4.1-2.6 2.5-6.2 2.5-9.4 7 5.6 11.4 11.5 16.8 17.3 1.1-.8 2-3.4 2.9-7.6 16.6 15.9 40.1 55.9 6 71.8-29-23.5-63.6-40.7-102-53.5 49.3 25 78 45.3 93.7 62.6-8 31.8-50 33.2-65.4 32.3 3.1-1.4 5.8-3.2 6.7-5.8-4-2.8-17.6-.4-27.2-5.6zm60.1 24.1c16.8 2.8-80.6 86.5-82.1 67.9-1.5-48.7 36.5-75.5 82.1-67.9zM38.2 342c-23.7-18.8-31.3-73.7 12.6-98.3 26.5-7 9 107.8-12.6 98.3zm91 98.2c-13.3 7.9-45.8 4.7-68.8-27.9-15.5-27.4-13.5-55.2-2.6-63.4 16.3-9.8 41.5 3.4 60.9 25.6 16.9 20 24.6 55.3 10.5 65.7zm-26.4-119.7c-24.5-15.8-28.9-51.6-9.9-80s54.3-38.6 78.8-22.8 28.9 51.6 9.9 80c-19.1 28.4-54.4 38.6-78.8 22.8zM205 496c-29.4 1.2-58.2-23.7-57.8-32.3-.4-12.7 35.8-22.6 59.3-22 23.7-1 55.6 7.5 55.7 18.9.5 11-28.8 35.9-57.2 35.4zm58.9-124.9c.2 29.7-26.2 53.8-58.8 54-32.6.2-59.2-23.8-59.4-53.4v-.6c-.2-29.7 26.2-53.8 58.8-54 32.6-.2 59.2 23.8 59.4 53.4v.6zm82.2 42.7c-25.3 34.6-59.6 35.9-72.3 26.3-13.3-12.4-3.2-50.9 15.1-72 20.9-23.3 43.3-38.5 58.9-26.6 10.5 10.3 16.7 49.1-1.7 72.3zm22.9-73.2c-21.5 9.4-39-105.3-12.6-98.3 43.9 24.7 36.3 79.6 12.6 98.3z\"]\n};\nvar faJira = {\n prefix: 'fab',\n iconName: 'jira',\n icon: [496, 512, [], \"f7b1\", \"M490 241.7C417.1 169 320.6 71.8 248.5 0 83 164.9 6 241.7 6 241.7c-7.9 7.9-7.9 20.7 0 28.7C138.8 402.7 67.8 331.9 248.5 512c379.4-378 15.7-16.7 241.5-241.7 8-7.9 8-20.7 0-28.6zm-241.5 90l-76-75.7 76-75.7 76 75.7-76 75.7z\"]\n};\nvar faDocker = {\n prefix: 'fab',\n iconName: 'docker',\n icon: [640, 512, [], \"f395\", \"M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z\"]\n};\nvar faScreenpal = {\n prefix: 'fab',\n iconName: 'screenpal',\n icon: [512, 512, [], \"e570\", \"M233.5 22.49C233.5 10.07 243.6 0 256 0C268.4 0 278.5 10.07 278.5 22.49C278.5 34.91 268.4 44.98 256 44.98C243.6 44.98 233.5 34.91 233.5 22.49zM313.4 259C313.4 290.7 287.7 316.4 256 316.4C224.3 316.4 198.6 290.7 198.6 259C198.6 227.3 224.3 201.6 256 201.6C287.7 201.6 313.4 227.3 313.4 259zM337.2 350C359.5 330.1 373.7 302.7 377.1 273H496.6C493.1 334.4 466.2 392.2 421.4 434.4C376.7 476.6 317.5 500.2 256 500.2C194.5 500.2 135.3 476.6 90.56 434.4C45.83 392.2 18.94 334.4 15.39 273H135.1C138.5 302.7 152.7 330.1 175 350C197.3 369.9 226.2 380.9 256.1 380.9C285.1 380.9 314.8 369.9 337.2 350zM73.14 140.3C73.54 152.7 63.81 163.1 51.39 163.5C38.97 163.9 28.59 154.2 28.18 141.8C27.78 129.3 37.52 118.9 49.94 118.5C62.35 118.1 72.74 127.9 73.14 140.3zM438.9 141C438.9 128.6 448.9 118.5 461.4 118.5C473.8 118.5 483.8 128.6 483.8 141C483.8 153.5 473.8 163.5 461.4 163.5C448.9 163.5 438.9 153.5 438.9 141zM317.9 95.27C300.6 109.1 278.7 118.1 256 118.1C233.3 118.1 211.4 109.1 194.1 95.27C176.8 80.55 165.3 60.18 161.7 37.78C176.8 31.37 192.5 26.52 208.6 23.31C208.6 35.88 213.6 47.93 222.5 56.82C231.4 65.7 243.4 70.7 256 70.7C268.6 70.7 280.6 65.7 289.5 56.82C298.4 47.93 303.4 35.88 303.4 23.31C319.5 26.52 335.2 31.37 350.3 37.78C346.7 60.18 335.2 80.55 317.9 95.27H317.9zM82.78 231C61.42 238.6 38.06 238.4 16.86 230.4C18.82 214.1 22.46 198.1 27.71 182.5C33.1 185.6 39.05 187.6 45.22 188.5C51.39 189.3 57.67 188.9 63.68 187.3C69.69 185.6 75.33 182.9 80.27 179.1C85.21 175.3 89.36 170.6 92.47 165.2C95.58 159.8 97.61 153.8 98.42 147.7C99.23 141.5 98.83 135.2 97.22 129.2C95.61 123.2 92.83 117.6 89.04 112.6C85.25 107.7 80.53 103.5 75.14 100.4C85.96 88.11 98.01 76.94 111.1 67.07C128.7 81.42 140.6 101.6 144.7 123.9C148.8 146.2 144.8 169.3 133.5 188.9C122.1 208.5 104.1 223.4 82.78 231V231zM429.2 231.1C407.9 223.5 389.9 208.5 378.5 188.9C367.2 169.3 363.3 146.2 367.4 123.9C371.5 101.7 383.4 81.54 400.9 67.19C414 77.04 426.1 88.21 436.9 100.5C426.2 106.9 418.5 117.2 415.4 129.3C412.2 141.3 413.1 154.1 420.2 164.9C426.4 175.7 436.6 183.6 448.6 186.9C460.6 190.2 473.5 188.6 484.3 182.6C489.6 198.1 493.2 214.2 495.2 230.4C473.1 238.5 450.6 238.7 429.2 231.1L429.2 231.1z\"]\n};\nvar faBluetooth = {\n prefix: 'fab',\n iconName: 'bluetooth',\n icon: [448, 512, [], \"f293\", \"M292.6 171.1L249.7 214l-.3-86 43.2 43.1m-43.2 219.8l43.1-43.1-42.9-42.9-.2 86zM416 259.4C416 465 344.1 512 230.9 512S32 465 32 259.4 115.4 0 228.6 0 416 53.9 416 259.4zm-158.5 0l79.4-88.6L211.8 36.5v176.9L138 139.6l-27 26.9 92.7 93-92.7 93 26.9 26.9 73.8-73.8 2.3 170 127.4-127.5-83.9-88.7z\"]\n};\nvar faGitter = {\n prefix: 'fab',\n iconName: 'gitter',\n icon: [384, 512, [], \"f426\", \"M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z\"]\n};\nvar faDAndD = {\n prefix: 'fab',\n iconName: 'd-and-d',\n icon: [576, 512, [], \"f38d\", \"M82.5 98.9c-.6-17.2 2-33.8 12.7-48.2.3 7.4 1.2 14.5 4.2 21.6 5.9-27.5 19.7-49.3 42.3-65.5-1.9 5.9-3.5 11.8-3 17.7 8.7-7.4 18.8-17.8 44.4-22.7 14.7-2.8 29.7-2 42.1 1 38.5 9.3 61 34.3 69.7 72.3 5.3 23.1.7 45-8.3 66.4-5.2 12.4-12 24.4-20.7 35.1-2-1.9-3.9-3.8-5.8-5.6-42.8-40.8-26.8-25.2-37.4-37.4-1.1-1.2-1-2.2-.1-3.6 8.3-13.5 11.8-28.2 10-44-1.1-9.8-4.3-18.9-11.3-26.2-14.5-15.3-39.2-15-53.5.6-11.4 12.5-14.1 27.4-10.9 43.6.2 1.3.4 2.7 0 3.9-3.4 13.7-4.6 27.6-2.5 41.6.1.5.1 1.1.1 1.6 0 .3-.1.5-.2 1.1-21.8-11-36-28.3-43.2-52.2-8.3 17.8-11.1 35.5-6.6 54.1-15.6-15.2-21.3-34.3-22-55.2zm469.6 123.2c-11.6-11.6-25-20.4-40.1-26.6-12.8-5.2-26-7.9-39.9-7.1-10 .6-19.6 3.1-29 6.4-2.5.9-5.1 1.6-7.7 2.2-4.9 1.2-7.3-3.1-4.7-6.8 3.2-4.6 3.4-4.2 15-12 .6-.4 1.2-.8 2.2-1.5h-2.5c-.6 0-1.2.2-1.9.3-19.3 3.3-30.7 15.5-48.9 29.6-10.4 8.1-13.8 3.8-12-.5 1.4-3.5 3.3-6.7 5.1-10 1-1.8 2.3-3.4 3.5-5.1-.2-.2-.5-.3-.7-.5-27 18.3-46.7 42.4-57.7 73.3.3.3.7.6 1 .9.3-.6.5-1.2.9-1.7 10.4-12.1 22.8-21.8 36.6-29.8 18.2-10.6 37.5-18.3 58.7-20.2 4.3-.4 8.7-.1 13.1-.1-1.8.7-3.5.9-5.3 1.1-18.5 2.4-35.5 9-51.5 18.5-30.2 17.9-54.5 42.2-75.1 70.4-.3.4-.4.9-.7 1.3 14.5 5.3 24 17.3 36.1 25.6.2-.1.3-.2.4-.4l1.2-2.7c12.2-26.9 27-52.3 46.7-74.5 16.7-18.8 38-25.3 62.5-20 5.9 1.3 11.4 4.4 17.2 6.8 2.3-1.4 5.1-3.2 8-4.7 8.4-4.3 17.4-7 26.7-9 14.7-3.1 29.5-4.9 44.5-1.3v-.5c-.5-.4-1.2-.8-1.7-1.4zM316.7 397.6c-39.4-33-22.8-19.5-42.7-35.6-.8.9 0-.2-1.9 3-11.2 19.1-25.5 35.3-44 47.6-10.3 6.8-21.5 11.8-34.1 11.8-21.6 0-38.2-9.5-49.4-27.8-12-19.5-13.3-40.7-8.2-62.6 7.8-33.8 30.1-55.2 38.6-64.3-18.7-6.2-33 1.7-46.4 13.9.8-13.9 4.3-26.2 11.8-37.3-24.3 10.6-45.9 25-64.8 43.9-.3-5.8 5.4-43.7 5.6-44.7.3-2.7-.6-5.3-3-7.4-24.2 24.7-44.5 51.8-56.1 84.6 7.4-5.9 14.9-11.4 23.6-16.2-8.3 22.3-19.6 52.8-7.8 101.1 4.6 19 11.9 36.8 24.1 52.3 2.9 3.7 6.3 6.9 9.5 10.3.2-.2.4-.3.6-.5-1.4-7-2.2-14.1-1.5-21.9 2.2 3.2 3.9 6 5.9 8.6 12.6 16 28.7 27.4 47.2 35.6 25 11.3 51.1 13.3 77.9 8.6 54.9-9.7 90.7-48.6 116-98.8 1-1.8.6-2.9-.9-4.2zm172-46.4c-9.5-3.1-22.2-4.2-28.7-2.9 9.9 4 14.1 6.6 18.8 12 12.6 14.4 10.4 34.7-5.4 45.6-11.7 8.1-24.9 10.5-38.9 9.1-1.2-.1-2.3-.4-3-.6 2.8-3.7 6-7 8.1-10.8 9.4-16.8 5.4-42.1-8.7-56.1-2.1-2.1-4.6-3.9-7-5.9-.3 1.3-.1 2.1.1 2.8 4.2 16.6-8.1 32.4-24.8 31.8-7.6-.3-13.9-3.8-19.6-8.5-19.5-16.1-39.1-32.1-58.5-48.3-5.9-4.9-12.5-8.1-20.1-8.7-4.6-.4-9.3-.6-13.9-.9-5.9-.4-8.8-2.8-10.4-8.4-.9-3.4-1.5-6.8-2.2-10.2-1.5-8.1-6.2-13-14.3-14.2-4.4-.7-8.9-1-13.3-1.5-13-1.4-19.8-7.4-22.6-20.3-5 11-1.6 22.4 7.3 29.9 4.5 3.8 9.3 7.3 13.8 11.2 4.6 3.8 7.4 8.7 7.9 14.8.4 4.7.8 9.5 1.8 14.1 2.2 10.6 8.9 18.4 17 25.1 16.5 13.7 33 27.3 49.5 41.1 17.9 15 13.9 32.8 13 56-.9 22.9 12.2 42.9 33.5 51.2 1 .4 2 .6 3.6 1.1-15.7-18.2-10.1-44.1.7-52.3.3 2.2.4 4.3.9 6.4 9.4 44.1 45.4 64.2 85 56.9 16-2.9 30.6-8.9 42.9-19.8 2-1.8 3.7-4.1 5.9-6.5-19.3 4.6-35.8.1-50.9-10.6.7-.3 1.3-.3 1.9-.3 21.3 1.8 40.6-3.4 57-17.4 19.5-16.6 26.6-42.9 17.4-66-8.3-20.1-23.6-32.3-43.8-38.9zM99.4 179.3c-5.3-9.2-13.2-15.6-22.1-21.3 13.7-.5 26.6.2 39.6 3.7-7-12.2-8.5-24.7-5-38.7 5.3 11.9 13.7 20.1 23.6 26.8 19.7 13.2 35.7 19.6 46.7 30.2 3.4 3.3 6.3 7.1 9.6 10.9-.8-2.1-1.4-4.1-2.2-6-5-10.6-13-18.6-22.6-25-1.8-1.2-2.8-2.5-3.4-4.5-3.3-12.5-3-25.1-.7-37.6 1-5.5 2.8-10.9 4.5-16.3.8-2.4 2.3-4.6 4-6.6.6 6.9 0 25.5 19.6 46 10.8 11.3 22.4 21.9 33.9 32.7 9 8.5 18.3 16.7 25.5 26.8 1.1 1.6 2.2 3.3 3.8 4.7-5-13-14.2-24.1-24.2-33.8-9.6-9.3-19.4-18.4-29.2-27.4-3.3-3-4.6-6.7-5.1-10.9-1.2-10.4 0-20.6 4.3-30.2.5-1 1.1-2 1.9-3.3.5 4.2.6 7.9 1.4 11.6 4.8 23.1 20.4 36.3 49.3 63.5 10 9.4 19.3 19.2 25.6 31.6 4.8 9.3 7.3 19 5.7 29.6-.1.6.5 1.7 1.1 2 6.2 2.6 10 6.9 9.7 14.3 7.7-2.6 12.5-8 16.4-14.5 4.2 20.2-9.1 50.3-27.2 58.7.4-4.5 5-23.4-16.5-27.7-6.8-1.3-12.8-1.3-22.9-2.1 4.7-9 10.4-20.6.5-22.4-24.9-4.6-52.8 1.9-57.8 4.6 8.2.4 16.3 1 23.5 3.3-2 6.5-4 12.7-5.8 18.9-1.9 6.5 2.1 14.6 9.3 9.6 1.2-.9 2.3-1.9 3.3-2.7-3.1 17.9-2.9 15.9-2.8 18.3.3 10.2 9.5 7.8 15.7 7.3-2.5 11.8-29.5 27.3-45.4 25.8 7-4.7 12.7-10.3 15.9-17.9-6.5.8-12.9 1.6-19.2 2.4l-.3-.9c4.7-3.4 8-7.8 10.2-13.1 8.7-21.1-3.6-38-25-39.9-9.1-.8-17.8.8-25.9 5.5 6.2-15.6 17.2-26.6 32.6-34.5-15.2-4.3-8.9-2.7-24.6-6.3 14.6-9.3 30.2-13.2 46.5-14.6-5.2-3.2-48.1-3.6-70.2 20.9 7.9 1.4 15.5 2.8 23.2 4.2-23.8 7-44 19.7-62.4 35.6 1.1-4.8 2.7-9.5 3.3-14.3.6-4.5.8-9.2.1-13.6-1.5-9.4-8.9-15.1-19.7-16.3-7.9-.9-15.6.1-23.3 1.3-.9.1-1.7.3-2.9 0 15.8-14.8 36-21.7 53.1-33.5 6-4.5 6.8-8.2 3-14.9zm128.4 26.8c3.3 16 12.6 25.5 23.8 24.3-4.6-11.3-12.1-19.5-23.8-24.3z\"]\n};\nvar faMicroblog = {\n prefix: 'fab',\n iconName: 'microblog',\n icon: [448, 512, [], \"e01a\", \"M399.36,362.23c29.49-34.69,47.1-78.34,47.1-125.79C446.46,123.49,346.86,32,224,32S1.54,123.49,1.54,236.44,101.14,440.87,224,440.87a239.28,239.28,0,0,0,79.44-13.44,7.18,7.18,0,0,1,8.12,2.56c18.58,25.09,47.61,42.74,79.89,49.92a4.42,4.42,0,0,0,5.22-3.43,4.37,4.37,0,0,0-.85-3.62,87,87,0,0,1,3.69-110.69ZM329.52,212.4l-57.3,43.49L293,324.75a6.5,6.5,0,0,1-9.94,7.22L224,290.92,164.94,332a6.51,6.51,0,0,1-9.95-7.22l20.79-68.86-57.3-43.49a6.5,6.5,0,0,1,3.8-11.68l71.88-1.51,23.66-67.92a6.5,6.5,0,0,1,12.28,0l23.66,67.92,71.88,1.51a6.5,6.5,0,0,1,3.88,11.68Z\"]\n};\nvar faCcDinersClub = {\n prefix: 'fab',\n iconName: 'cc-diners-club',\n icon: [576, 512, [], \"f24c\", \"M239.7 79.9c-96.9 0-175.8 78.6-175.8 175.8 0 96.9 78.9 175.8 175.8 175.8 97.2 0 175.8-78.9 175.8-175.8 0-97.2-78.6-175.8-175.8-175.8zm-39.9 279.6c-41.7-15.9-71.4-56.4-71.4-103.8s29.7-87.9 71.4-104.1v207.9zm79.8.3V151.6c41.7 16.2 71.4 56.7 71.4 104.1s-29.7 87.9-71.4 104.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM329.7 448h-90.3c-106.2 0-193.8-85.5-193.8-190.2C45.6 143.2 133.2 64 239.4 64h90.3c105 0 200.7 79.2 200.7 193.8 0 104.7-95.7 190.2-200.7 190.2z\"]\n};\nvar faGgCircle = {\n prefix: 'fab',\n iconName: 'gg-circle',\n icon: [512, 512, [], \"f261\", \"M257 8C120 8 9 119 9 256s111 248 248 248 248-111 248-248S394 8 257 8zm-49.5 374.8L81.8 257.1l125.7-125.7 35.2 35.4-24.2 24.2-11.1-11.1-77.2 77.2 77.2 77.2 26.6-26.6-53.1-52.9 24.4-24.4 77.2 77.2-75 75.2zm99-2.2l-35.2-35.2 24.1-24.4 11.1 11.1 77.2-77.2-77.2-77.2-26.5 26.5 53.1 52.9-24.4 24.4-77.2-77.2 75-75L432.2 255 306.5 380.6z\"]\n};\nvar faPiedPiperHat = {\n prefix: 'fab',\n iconName: 'pied-piper-hat',\n icon: [640, 512, [], \"f4e5\", \"M640 24.9c-80.8 53.6-89.4 92.5-96.4 104.4-6.7 12.2-11.7 60.3-23.3 83.6-11.7 23.6-54.2 42.2-66.1 50-11.7 7.8-28.3 38.1-41.9 64.2-108.1-4.4-167.4 38.8-259.2 93.6 29.4-9.7 43.3-16.7 43.3-16.7 94.2-36 139.3-68.3 281.1-49.2 1.1 0 1.9.6 2.8.8 3.9 2.2 5.3 6.9 3.1 10.8l-53.9 95.8c-2.5 4.7-7.8 7.2-13.1 6.1-126.8-23.8-226.9 17.3-318.9 18.6C24.1 488 0 453.4 0 451.8c0-1.1.6-1.7 1.7-1.7 0 0 38.3 0 103.1-15.3C178.4 294.5 244 245.4 315.4 245.4c0 0 71.7 0 90.6 61.9 22.8-39.7 28.3-49.2 28.3-49.2 5.3-9.4 35-77.2 86.4-141.4 51.5-64 90.4-79.9 119.3-91.8z\"]\n};\nvar faKickstarterK = {\n prefix: 'fab',\n iconName: 'kickstarter-k',\n icon: [384, 512, [], \"f3bc\", \"M147.3 114.4c0-56.2-32.5-82.4-73.4-82.4C26.2 32 0 68.2 0 113.4v283c0 47.3 25.3 83.4 74.9 83.4 39.8 0 72.4-25.6 72.4-83.4v-76.5l112.1 138.3c22.7 27.2 72.1 30.7 103.2 0 27-27.6 27.3-67.4 7.4-92.2l-90.8-114.8 74.9-107.4c17.4-24.7 17.5-63.1-10.4-89.8-30.3-29-82.4-31.6-113.6 12.8L147.3 185v-70.6z\"]\n};\nvar faYandex = {\n prefix: 'fab',\n iconName: 'yandex',\n icon: [256, 512, [], \"f413\", \"M153.1 315.8L65.7 512H2l96-209.8c-45.1-22.9-75.2-64.4-75.2-141.1C22.7 53.7 90.8 0 171.7 0H254v512h-55.1V315.8h-45.8zm45.8-269.3h-29.4c-44.4 0-87.4 29.4-87.4 114.6 0 82.3 39.4 108.8 87.4 108.8h29.4V46.5z\"]\n};\nvar faReadme = {\n prefix: 'fab',\n iconName: 'readme',\n icon: [576, 512, [], \"f4d5\", \"M528.3 46.5H388.5c-48.1 0-89.9 33.3-100.4 80.3-10.6-47-52.3-80.3-100.4-80.3H48c-26.5 0-48 21.5-48 48v245.8c0 26.5 21.5 48 48 48h89.7c102.2 0 132.7 24.4 147.3 75 .7 2.8 5.2 2.8 6 0 14.7-50.6 45.2-75 147.3-75H528c26.5 0 48-21.5 48-48V94.6c0-26.4-21.3-47.9-47.7-48.1zM242 311.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5V289c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V251zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm259.3 121.7c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5V228c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.8c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V190z\"]\n};\nvar faHtml5 = {\n prefix: 'fab',\n iconName: 'html5',\n icon: [384, 512, [], \"f13b\", \"M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z\"]\n};\nvar faSellsy = {\n prefix: 'fab',\n iconName: 'sellsy',\n icon: [640, 512, [], \"f213\", \"M539.71 237.308c3.064-12.257 4.29-24.821 4.29-37.384C544 107.382 468.618 32 376.076 32c-77.22 0-144.634 53.012-163.02 127.781-15.322-13.176-34.934-20.53-55.157-20.53-46.271 0-83.962 37.69-83.962 83.961 0 7.354.92 15.015 3.065 22.369-42.9 20.225-70.785 63.738-70.785 111.234C6.216 424.843 61.68 480 129.401 480h381.198c67.72 0 123.184-55.157 123.184-123.184.001-56.384-38.916-106.025-94.073-119.508zM199.88 401.554c0 8.274-7.048 15.321-15.321 15.321H153.61c-8.274 0-15.321-7.048-15.321-15.321V290.626c0-8.273 7.048-15.321 15.321-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v110.928zm89.477 0c0 8.274-7.048 15.321-15.322 15.321h-30.949c-8.274 0-15.321-7.048-15.321-15.321V270.096c0-8.274 7.048-15.321 15.321-15.321h30.949c8.274 0 15.322 7.048 15.322 15.321v131.458zm89.477 0c0 8.274-7.047 15.321-15.321 15.321h-30.949c-8.274 0-15.322-7.048-15.322-15.321V238.84c0-8.274 7.048-15.321 15.322-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v162.714zm87.027 0c0 8.274-7.048 15.321-15.322 15.321h-28.497c-8.274 0-15.321-7.048-15.321-15.321V176.941c0-8.579 7.047-15.628 15.321-15.628h28.497c8.274 0 15.322 7.048 15.322 15.628v224.613z\"]\n};\nvar faSass = {\n prefix: 'fab',\n iconName: 'sass',\n icon: [640, 512, [], \"f41e\", \"M301.84 378.92c-.3.6-.6 1.08 0 0zm249.13-87a131.16 131.16 0 0 0-58 13.5c-5.9-11.9-12-22.3-13-30.1-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.3-6.7-24 2.5-25.29 5.9a122.83 122.83 0 0 0-5.3 19.1c-2.3 11.7-25.79 53.5-39.09 75.3-4.4-8.5-8.1-16-8.9-22-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.29-6.7-24 2.5-25.3 5.9-2.7 11.4-5.3 19.1-33.89 77.3-42.08 95.4c-4.2 9.2-7.8 16.6-10.4 21.6-.4.8-.7 1.3-.9 1.7.3-.5.5-1 .5-.8-2.2 4.3-3.5 6.7-3.5 6.7v.1c-1.7 3.2-3.6 6.1-4.5 6.1-.6 0-1.9-8.4.3-19.9 4.7-24.2 15.8-61.8 15.7-63.1-.1-.7 2.1-7.2-7.3-10.7-9.1-3.3-12.4 2.2-13.2 2.2s-1.4 2-1.4 2 10.1-42.4-19.39-42.4c-18.4 0-44 20.2-56.58 38.5-7.9 4.3-25 13.6-43 23.5-6.9 3.8-14 7.7-20.7 11.4-.5-.5-.9-1-1.4-1.5-35.79-38.2-101.87-65.2-99.07-116.5 1-18.7 7.5-67.8 127.07-127.4 98-48.8 176.35-35.4 189.84-5.6 19.4 42.5-41.89 121.6-143.66 133-38.79 4.3-59.18-10.7-64.28-16.3-5.3-5.9-6.1-6.2-8.1-5.1-3.3 1.8-1.2 7 0 10.1 3 7.9 15.5 21.9 36.79 28.9 18.7 6.1 64.18 9.5 119.17-11.8 61.78-23.8 109.87-90.1 95.77-145.6C386.52 18.32 293-.18 204.57 31.22c-52.69 18.7-109.67 48.1-150.66 86.4-48.69 45.6-56.48 85.3-53.28 101.9 11.39 58.9 92.57 97.3 125.06 125.7-1.6.9-3.1 1.7-4.5 2.5-16.29 8.1-78.18 40.5-93.67 74.7-17.5 38.8 2.9 66.6 16.29 70.4 41.79 11.6 84.58-9.3 107.57-43.6s20.2-79.1 9.6-99.5c-.1-.3-.3-.5-.4-.8 4.2-2.5 8.5-5 12.8-7.5 8.29-4.9 16.39-9.4 23.49-13.3-4 10.8-6.9 23.8-8.4 42.6-1.8 22 7.3 50.5 19.1 61.7 5.2 4.9 11.49 5 15.39 5 13.8 0 20-11.4 26.89-25 8.5-16.6 16-35.9 16-35.9s-9.4 52.2 16.3 52.2c9.39 0 18.79-12.1 23-18.3v.1s.2-.4.7-1.2c1-1.5 1.5-2.4 1.5-2.4v-.3c3.8-6.5 12.1-21.4 24.59-46 16.2-31.8 31.69-71.5 31.69-71.5a201.24 201.24 0 0 0 6.2 25.8c2.8 9.5 8.7 19.9 13.4 30-3.8 5.2-6.1 8.2-6.1 8.2a.31.31 0 0 0 .1.2c-3 4-6.4 8.3-9.9 12.5-12.79 15.2-28 32.6-30 37.6-2.4 5.9-1.8 10.3 2.8 13.7 3.4 2.6 9.4 3 15.69 2.5 11.5-.8 19.6-3.6 23.5-5.4a82.2 82.2 0 0 0 20.19-10.6c12.5-9.2 20.1-22.4 19.4-39.8-.4-9.6-3.5-19.2-7.3-28.2 1.1-1.6 2.3-3.3 3.4-5C434.8 301.72 450.1 270 450.1 270a201.24 201.24 0 0 0 6.2 25.8c2.4 8.1 7.09 17 11.39 25.7-18.59 15.1-30.09 32.6-34.09 44.1-7.4 21.3-1.6 30.9 9.3 33.1 4.9 1 11.9-1.3 17.1-3.5a79.46 79.46 0 0 0 21.59-11.1c12.5-9.2 24.59-22.1 23.79-39.6-.3-7.9-2.5-15.8-5.4-23.4 15.7-6.6 36.09-10.2 62.09-7.2 55.68 6.5 66.58 41.3 64.48 55.8s-13.8 22.6-17.7 25-5.1 3.3-4.8 5.1c.5 2.6 2.3 2.5 5.6 1.9 4.6-.8 29.19-11.8 30.29-38.7 1.6-34-31.09-71.4-89-71.1zm-429.18 144.7c-18.39 20.1-44.19 27.7-55.28 21.3C54.61 451 59.31 421.42 82 400c13.8-13 31.59-25 43.39-32.4 2.7-1.6 6.6-4 11.4-6.9.8-.5 1.2-.7 1.2-.7.9-.6 1.9-1.1 2.9-1.7 8.29 30.4.3 57.2-19.1 78.3zm134.36-91.4c-6.4 15.7-19.89 55.7-28.09 53.6-7-1.8-11.3-32.3-1.4-62.3 5-15.1 15.6-33.1 21.9-40.1 10.09-11.3 21.19-14.9 23.79-10.4 3.5 5.9-12.2 49.4-16.2 59.2zm111 53c-2.7 1.4-5.2 2.3-6.4 1.6-.9-.5 1.1-2.4 1.1-2.4s13.9-14.9 19.4-21.7c3.2-4 6.9-8.7 10.89-13.9 0 .5.1 1 .1 1.6-.13 17.9-17.32 30-25.12 34.8zm85.58-19.5c-2-1.4-1.7-6.1 5-20.7 2.6-5.7 8.59-15.3 19-24.5a36.18 36.18 0 0 1 1.9 10.8c-.1 22.5-16.2 30.9-25.89 34.4z\"]\n};\nvar faWirsindhandwerk = {\n prefix: 'fab',\n iconName: 'wirsindhandwerk',\n icon: [512, 512, [\"wsh\"], \"e2d0\", \"M50.77161,479.81213h83.36071V367.84741l-83.36071,47.009Zm329.04675,0h82.35022V414.85645l-82.35022-47.009Zm.00568-448V251.568L256.1759,179.1861,134.50378,251.568V31.81213H50.77161V392.60565L256.1759,270.31909,462.16858,392.60565V31.81213Z\"]\n};\nvar faWsh = faWirsindhandwerk;\nvar faBuromobelexperte = {\n prefix: 'fab',\n iconName: 'buromobelexperte',\n icon: [448, 512, [], \"f37f\", \"M0 32v128h128V32H0zm120 120H8V40h112v112zm40-120v128h128V32H160zm120 120H168V40h112v112zm40-120v128h128V32H320zm120 120H328V40h112v112zM0 192v128h128V192H0zm120 120H8V200h112v112zm40-120v128h128V192H160zm120 120H168V200h112v112zm40-120v128h128V192H320zm120 120H328V200h112v112zM0 352v128h128V352H0zm120 120H8V360h112v112zm40-120v128h128V352H160zm120 120H168V360h112v112zm40-120v128h128V352H320z\"]\n};\nvar faSalesforce = {\n prefix: 'fab',\n iconName: 'salesforce',\n icon: [640, 512, [], \"f83b\", \"M248.89 245.64h-26.35c.69-5.16 3.32-14.12 13.64-14.12 6.75 0 11.97 3.82 12.71 14.12zm136.66-13.88c-.47 0-14.11-1.77-14.11 20s13.63 20 14.11 20c13 0 14.11-13.54 14.11-20 0-21.76-13.66-20-14.11-20zm-243.22 23.76a8.63 8.63 0 0 0-3.29 7.29c0 4.78 2.08 6.05 3.29 7.05 4.7 3.7 15.07 2.12 20.93.95v-16.94c-5.32-1.07-16.73-1.96-20.93 1.65zM640 232c0 87.58-80 154.39-165.36 136.43-18.37 33-70.73 70.75-132.2 41.63-41.16 96.05-177.89 92.18-213.81-5.17C8.91 428.78-50.19 266.52 53.36 205.61 18.61 126.18 76 32 167.67 32a124.24 124.24 0 0 1 98.56 48.7c20.7-21.4 49.4-34.81 81.15-34.81 42.34 0 79 23.52 98.8 58.57C539 63.78 640 132.69 640 232zm-519.55 31.8c0-11.76-11.69-15.17-17.87-17.17-5.27-2.11-13.41-3.51-13.41-8.94 0-9.46 17-6.66 25.17-2.12 0 0 1.17.71 1.64-.47.24-.7 2.36-6.58 2.59-7.29a1.13 1.13 0 0 0-.7-1.41c-12.33-7.63-40.7-8.51-40.7 12.7 0 12.46 11.49 15.44 17.88 17.17 4.72 1.58 13.17 3 13.17 8.7 0 4-3.53 7.06-9.17 7.06a31.76 31.76 0 0 1-19-6.35c-.47-.23-1.42-.71-1.65.71l-2.4 7.47c-.47.94.23 1.18.23 1.41 1.75 1.4 10.3 6.59 22.82 6.59 13.17 0 21.4-7.06 21.4-18.11zm32-42.58c-10.13 0-18.66 3.17-21.4 5.18a1 1 0 0 0-.24 1.41l2.59 7.06a1 1 0 0 0 1.18.7c.65 0 6.8-4 16.93-4 4 0 7.06.71 9.18 2.36 3.6 2.8 3.06 8.29 3.06 10.58-4.79-.3-19.11-3.44-29.41 3.76a16.92 16.92 0 0 0-7.34 14.54c0 5.9 1.51 10.4 6.59 14.35 12.24 8.16 36.28 2 38.1 1.41 1.58-.32 3.53-.66 3.53-1.88v-33.88c.04-4.61.32-21.64-22.78-21.64zM199 200.24a1.11 1.11 0 0 0-1.18-1.18H188a1.11 1.11 0 0 0-1.17 1.18v79a1.11 1.11 0 0 0 1.17 1.18h9.88a1.11 1.11 0 0 0 1.18-1.18zm55.75 28.93c-2.1-2.31-6.79-7.53-17.65-7.53-3.51 0-14.16.23-20.7 8.94-6.35 7.63-6.58 18.11-6.58 21.41 0 3.12.15 14.26 7.06 21.17 2.64 2.91 9.06 8.23 22.81 8.23 10.82 0 16.47-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.35-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.94-16.7h37.17a1.23 1.23 0 0 0 1.17-.94c-.29 0 2.07-14.7-6.09-24.23zm36.69 52.69c13.17 0 21.41-7.06 21.41-18.11 0-11.76-11.7-15.17-17.88-17.17-4.14-1.66-13.41-3.38-13.41-8.94 0-3.76 3.29-6.35 8.47-6.35a38.11 38.11 0 0 1 16.7 4.23s1.18.71 1.65-.47c.23-.7 2.35-6.58 2.58-7.29a1.13 1.13 0 0 0-.7-1.41c-7.91-4.9-16.74-4.94-20.23-4.94-12 0-20.46 7.29-20.46 17.64 0 12.46 11.48 15.44 17.87 17.17 6.11 2 13.17 3.26 13.17 8.7 0 4-3.52 7.06-9.17 7.06a31.8 31.8 0 0 1-19-6.35 1 1 0 0 0-1.65.71l-2.35 7.52c-.47.94.23 1.18.23 1.41 1.72 1.4 10.33 6.59 22.79 6.59zM357.09 224c0-.71-.24-1.18-1.18-1.18h-11.76c0-.14.94-8.94 4.47-12.47 4.16-4.15 11.76-1.64 12-1.64 1.17.47 1.41 0 1.64-.47l2.83-7.77c.7-.94 0-1.17-.24-1.41-5.09-2-17.35-2.87-24.46 4.24-5.48 5.48-7 13.92-8 19.52h-8.47a1.28 1.28 0 0 0-1.17 1.18l-1.42 7.76c0 .7.24 1.17 1.18 1.17h8.23c-8.51 47.9-8.75 50.21-10.35 55.52-1.08 3.62-3.29 6.9-5.88 7.76-.09 0-3.88 1.68-9.64-.24 0 0-.94-.47-1.41.71-.24.71-2.59 6.82-2.83 7.53s0 1.41.47 1.41c5.11 2 13 1.77 17.88 0 6.28-2.28 9.72-7.89 11.53-12.94 2.75-7.71 2.81-9.79 11.76-59.74h12.23a1.29 1.29 0 0 0 1.18-1.18zm53.39 16c-.56-1.68-5.1-18.11-25.17-18.11-15.25 0-23 10-25.16 18.11-1 3-3.18 14 0 23.52.09.3 4.41 18.12 25.16 18.12 14.95 0 22.9-9.61 25.17-18.12 3.21-9.61 1.01-20.52 0-23.52zm45.4-16.7c-5-1.65-16.62-1.9-22.11 5.41v-4.47a1.11 1.11 0 0 0-1.18-1.17h-9.4a1.11 1.11 0 0 0-1.18 1.17v55.28a1.12 1.12 0 0 0 1.18 1.18h9.64a1.12 1.12 0 0 0 1.18-1.18v-27.77c0-2.91.05-11.37 4.46-15.05 4.9-4.9 12-3.36 13.41-3.06a1.57 1.57 0 0 0 1.41-.94 74 74 0 0 0 3.06-8 1.16 1.16 0 0 0-.47-1.41zm46.81 54.1l-2.12-7.29c-.47-1.18-1.41-.71-1.41-.71-4.23 1.82-10.15 1.89-11.29 1.89-4.64 0-17.17-1.13-17.17-19.76 0-6.23 1.85-19.76 16.47-19.76a34.85 34.85 0 0 1 11.52 1.65s.94.47 1.18-.71c.94-2.59 1.64-4.47 2.59-7.53.23-.94-.47-1.17-.71-1.17-11.59-3.87-22.34-2.53-27.76 0-1.59.74-16.23 6.49-16.23 27.52 0 2.9-.58 30.11 28.94 30.11a44.45 44.45 0 0 0 15.52-2.83 1.3 1.3 0 0 0 .47-1.42zm53.87-39.52c-.8-3-5.37-16.23-22.35-16.23-16 0-23.52 10.11-25.64 18.59a38.58 38.58 0 0 0-1.65 11.76c0 25.87 18.84 29.4 29.88 29.4 10.82 0 16.46-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.36-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.93-16.7h37.16a1.25 1.25 0 0 0 1.18-.94c-.24-.01.94-7.07-1.41-15.54zm-23.29-6.35c-10.33 0-13 9-13.64 14.12H546c-.88-11.92-7.62-14.13-12.73-14.13z\"]\n};\nvar faOctopusDeploy = {\n prefix: 'fab',\n iconName: 'octopus-deploy',\n icon: [512, 512, [], \"e082\", \"M455.6,349.2c-45.891-39.09-36.67-77.877-16.095-128.11C475.16,134.04,415.967,34.14,329.93,8.3,237.04-19.6,134.252,24.341,99.677,117.147a180.862,180.862,0,0,0-10.988,73.544c1.733,29.543,14.717,52.97,24.09,80.3,17.2,50.161-28.1,92.743-66.662,117.582-46.806,30.2-36.319,39.857-8.428,41.858,23.378,1.68,44.478-4.548,65.265-15.045,9.2-4.647,40.687-18.931,45.13-28.588C135.9,413.388,111.122,459.5,126.621,488.9c19.1,36.229,67.112-31.77,76.709-45.812,8.591-12.572,42.963-81.279,63.627-46.926,18.865,31.361,8.6,76.391,35.738,104.622,32.854,34.2,51.155-18.312,51.412-44.221.163-16.411-6.1-95.852,29.9-59.944C405.428,418,436.912,467.8,472.568,463.642c38.736-4.516-22.123-67.967-28.262-78.695,5.393,4.279,53.665,34.128,53.818,9.52C498.234,375.678,468.039,359.8,455.6,349.2Z\"]\n};\nvar faMedapps = {\n prefix: 'fab',\n iconName: 'medapps',\n icon: [320, 512, [], \"f3c6\", \"M118.3 238.4c3.5-12.5 6.9-33.6 13.2-33.6 8.3 1.8 9.6 23.4 18.6 36.6 4.6-23.5 5.3-85.1 14.1-86.7 9-.7 19.7 66.5 22 77.5 9.9 4.1 48.9 6.6 48.9 6.6 1.9 7.3-24 7.6-40 7.8-4.6 14.8-5.4 27.7-11.4 28-4.7.2-8.2-28.8-17.5-49.6l-9.4 65.5c-4.4 13-15.5-22.5-21.9-39.3-3.3-.1-62.4-1.6-47.6-7.8l31-5zM228 448c21.2 0 21.2-32 0-32H92c-21.2 0-21.2 32 0 32h136zm-24 64c21.2 0 21.2-32 0-32h-88c-21.2 0-21.2 32 0 32h88zm34.2-141.5c3.2-18.9 5.2-36.4 11.9-48.8 7.9-14.7 16.1-28.1 24-41 24.6-40.4 45.9-75.2 45.9-125.5C320 69.6 248.2 0 160 0S0 69.6 0 155.2c0 50.2 21.3 85.1 45.9 125.5 7.9 12.9 16 26.3 24 41 6.7 12.5 8.7 29.8 11.9 48.9 3.5 21 36.1 15.7 32.6-5.1-3.6-21.7-5.6-40.7-15.3-58.6C66.5 246.5 33 211.3 33 155.2 33 87.3 90 32 160 32s127 55.3 127 123.2c0 56.1-33.5 91.3-66.1 151.6-9.7 18-11.7 37.4-15.3 58.6-3.4 20.6 29 26.4 32.6 5.1z\"]\n};\nvar faNs8 = {\n prefix: 'fab',\n iconName: 'ns8',\n icon: [640, 512, [], \"f3d5\", \"M104.324,269.172h26.067V242.994H104.324Zm52.466-26.178-.055-26.178v-.941a39.325,39.325,0,0,0-78.644.941v.166h26.4v-.166a12.98,12.98,0,0,1,25.956,0v26.178Zm52.356,25.846a91.1,91.1,0,0,1-91.1,91.1h-.609a91.1,91.1,0,0,1-91.1-91.1H0v.166A117.33,117.33,0,0,0,117.44,386.28h.775A117.331,117.331,0,0,0,235.49,268.84V242.828H209.146Zm-157.233,0a65.362,65.362,0,0,0,130.723,0H156.292a39.023,39.023,0,0,1-78.035,0V242.883H51.968v-26.62A65.42,65.42,0,0,1,182.8,217.48v25.293h26.344V217.48a91.761,91.761,0,0,0-183.522,0v25.4H51.913Zm418.4-71.173c13.67,0,24.573,6.642,30.052,18.264l.719,1.549,23.245-11.511-.609-1.439c-8.025-19.26-28.5-31.27-53.407-31.27-23.134,0-43.611,11.4-50.972,28.447-.123,26.876-.158,23.9,0,24.85,4.7,11.013,14.555,19.37,28.668,24.241a102.033,102.033,0,0,0,19.813,3.984c5.479.72,10.626,1.384,15.829,3.1,6.364,2.1,10.46,5.257,12.84,9.851v9.851c-3.708,7.527-13.781,12.342-25.791,12.342-14.334,0-25.956-6.918-31.933-19.039l-.72-1.494L415.026,280.9l.553,1.439c7.915,19.426,29.609,32.044,55.289,32.044,23.632,0,44.608-11.4,52.3-28.447l.166-25.9-.166-.664c-4.87-11.014-15.219-19.647-28.944-24.241-7.693-2.712-14.335-3.6-20.7-4.427a83.777,83.777,0,0,1-14.832-2.878c-6.31-1.937-10.4-5.092-12.619-9.63v-8.412C449.45,202.427,458.969,197.667,470.315,197.667ZM287.568,311.344h26.067v-68.4H287.568Zm352.266-53.3c-2.933-6.254-8.3-12.01-15.441-16.714A37.99,37.99,0,0,0,637.4,226l.166-25.347-.166-.664C630.038,184,610.667,173.26,589.25,173.26S548.461,184,541.1,199.992l-.166,25.347.166.664a39.643,39.643,0,0,0,13.006,15.331c-7.2,4.7-12.508,10.46-15.441,16.714l-.166,28.889.166.72c7.582,15.994,27.893,26.731,50.585,26.731s43.057-10.737,50.584-26.731l.166-28.89Zm-73.22-50.806c3.6-6.31,12.563-10.516,22.58-10.516s19.038,4.206,22.636,10.516v13.725c-3.542,6.2-12.563,10.349-22.636,10.349s-19.094-4.15-22.58-10.349Zm47.319,72.169c-3.764,6.641-13.338,10.9-24.683,10.9-11.125,0-20.976-4.372-24.684-10.9V263.25c3.708-6.309,13.5-10.515,24.684-10.515,11.345,0,20.919,4.15,24.683,10.515ZM376.4,265.962l-59.827-89.713h-29v40.623h26.51v.387l62.539,94.085H402.3V176.249H376.4Z\"]\n};\nvar faPinterestP = {\n prefix: 'fab',\n iconName: 'pinterest-p',\n icon: [384, 512, [], \"f231\", \"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z\"]\n};\nvar faApper = {\n prefix: 'fab',\n iconName: 'apper',\n icon: [640, 512, [], \"f371\", \"M42.1 239.1c22.2 0 29 2.8 33.5 14.6h.8v-22.9c0-11.3-4.8-15.4-17.9-15.4-11.3 0-14.4 2.5-15.1 12.8H4.8c.3-13.9 1.5-19.1 5.8-24.4C17.9 195 29.5 192 56.7 192c33 0 47.1 5 53.9 18.9 2 4.3 4 15.6 4 23.7v76.3H76.3l1.3-19.1h-1c-5.3 15.6-13.6 20.4-35.5 20.4-30.3 0-41.1-10.1-41.1-37.3 0-25.2 12.3-35.8 42.1-35.8zm17.1 48.1c13.1 0 16.9-3 16.9-13.4 0-9.1-4.3-11.6-19.6-11.6-13.1 0-17.9 3-17.9 12.1-.1 10.4 3.7 12.9 20.6 12.9zm77.8-94.9h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.2 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3H137v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm57.9-60.7h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.3 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3h-39.5v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm53.8-3.8c0-25.4 3.3-37.8 12.3-45.8 8.8-8.1 22.2-11.3 45.1-11.3 42.8 0 55.7 12.8 55.7 55.7v11.1h-75.3c-.3 2-.3 4-.3 4.8 0 16.9 4.5 21.9 20.1 21.9 13.9 0 17.9-3 17.9-13.9h37.5v2.3c0 9.8-2.5 18.9-6.8 24.7-7.3 9.8-19.6 13.6-44.3 13.6-27.5 0-41.6-3.3-50.6-12.3-8.5-8.5-11.3-21.3-11.3-50.8zm76.4-11.6c-.3-1.8-.3-3.3-.3-3.8 0-12.3-3.3-14.6-19.6-14.6-14.4 0-17.1 3-18.1 15.1l-.3 3.3h38.3zm55.6-45.3h38.3l-1.8 19.9h.7c6.8-14.9 14.4-20.2 29.7-20.2 10.8 0 19.1 3.3 23.4 9.3 5.3 7.3 6.8 14.4 6.8 34 0 1.5 0 5 .2 9.3h-35c.3-1.8.3-3.3.3-4 0-15.4-2-19.4-10.3-19.4-6.3 0-10.8 3.3-13.1 9.3-1 3-1 4.3-1 12.3v68h-38.3V192.3z\"]\n};\nvar faFortAwesome = {\n prefix: 'fab',\n iconName: 'fort-awesome',\n icon: [512, 512, [], \"f286\", \"M489.2 287.9h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6V146.2c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-6-8-4.6-11.7-4.6v-38c8.3-2 17.1-3.4 25.7-3.4 10.9 0 20.9 4.3 31.4 4.3 4.6 0 27.7-1.1 27.7-8v-60c0-2.6-2-4.6-4.6-4.6-5.1 0-15.1 4.3-24 4.3-9.7 0-20.9-4.3-32.6-4.3-8 0-16 1.1-23.7 2.9v-4.9c5.4-2.6 9.1-8.3 9.1-14.3 0-20.7-31.4-20.8-31.4 0 0 6 3.7 11.7 9.1 14.3v111.7c-3.7 0-11.7-1.4-11.7 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32H128v-32c0-2.6-2-4.6-4.6-4.6H96c-2.6 0-4.6 2-4.6 4.6v178.3H54.8v-32c0-2.6-2-4.6-4.6-4.6H22.8c-2.6 0-4.6 2-4.6 4.6V512h182.9v-96c0-72.6 109.7-72.6 109.7 0v96h182.9V292.5c.1-2.6-1.9-4.6-4.5-4.6zm-288.1-4.5c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64zm146.4 0c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64z\"]\n};\nvar faWaze = {\n prefix: 'fab',\n iconName: 'waze',\n icon: [512, 512, [], \"f83f\", \"M502.17 201.67C516.69 287.53 471.23 369.59 389 409.8c13 34.1-12.4 70.2-48.32 70.2a51.68 51.68 0 0 1-51.57-49c-6.44.19-64.2 0-76.33-.64A51.69 51.69 0 0 1 159 479.92c-33.86-1.36-57.95-34.84-47-67.92-37.21-13.11-72.54-34.87-99.62-70.8-13-17.28-.48-41.8 20.84-41.8 46.31 0 32.22-54.17 43.15-110.26C94.8 95.2 193.12 32 288.09 32c102.48 0 197.15 70.67 214.08 169.67zM373.51 388.28c42-19.18 81.33-56.71 96.29-102.14 40.48-123.09-64.15-228-181.71-228-83.45 0-170.32 55.42-186.07 136-9.53 48.91 5 131.35-68.75 131.35C58.21 358.6 91.6 378.11 127 389.54c24.66-21.8 63.87-15.47 79.83 14.34 14.22 1 79.19 1.18 87.9.82a51.69 51.69 0 0 1 78.78-16.42zM205.12 187.13c0-34.74 50.84-34.75 50.84 0s-50.84 34.74-50.84 0zm116.57 0c0-34.74 50.86-34.75 50.86 0s-50.86 34.75-50.86 0zm-122.61 70.69c-3.44-16.94 22.18-22.18 25.62-5.21l.06.28c4.14 21.42 29.85 44 64.12 43.07 35.68-.94 59.25-22.21 64.11-42.77 4.46-16.05 28.6-10.36 25.47 6-5.23 22.18-31.21 62-91.46 62.9-42.55 0-80.88-27.84-87.9-64.25z\"]\n};\nvar faCcJcb = {\n prefix: 'fab',\n iconName: 'cc-jcb',\n icon: [576, 512, [], \"f24b\", \"M431.5 244.3V212c41.2 0 38.5.2 38.5.2 7.3 1.3 13.3 7.3 13.3 16 0 8.8-6 14.5-13.3 15.8-1.2.4-3.3.3-38.5.3zm42.8 20.2c-2.8-.7-3.3-.5-42.8-.5v35c39.6 0 40 .2 42.8-.5 7.5-1.5 13.5-8 13.5-17 0-8.7-6-15.5-13.5-17zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM182 192.3h-57c0 67.1 10.7 109.7-35.8 109.7-19.5 0-38.8-5.7-57.2-14.8v28c30 8.3 68 8.3 68 8.3 97.9 0 82-47.7 82-131.2zm178.5 4.5c-63.4-16-165-14.9-165 59.3 0 77.1 108.2 73.6 165 59.2V287C312.9 311.7 253 309 253 256s59.8-55.6 107.5-31.2v-28zM544 286.5c0-18.5-16.5-30.5-38-32v-.8c19.5-2.7 30.3-15.5 30.3-30.2 0-19-15.7-30-37-31 0 0 6.3-.3-120.3-.3v127.5h122.7c24.3.1 42.3-12.9 42.3-33.2z\"]\n};\nvar faSnapchat = {\n prefix: 'fab',\n iconName: 'snapchat',\n icon: [512, 512, [62124, \"snapchat-ghost\"], \"f2ab\", \"M496.926,366.6c-3.373-9.176-9.8-14.086-17.112-18.153-1.376-.806-2.641-1.451-3.72-1.947-2.182-1.128-4.414-2.22-6.634-3.373-22.8-12.09-40.609-27.341-52.959-45.42a102.889,102.889,0,0,1-9.089-16.12c-1.054-3.013-1-4.724-.248-6.287a10.221,10.221,0,0,1,2.914-3.038c3.918-2.591,7.96-5.22,10.7-6.993,4.885-3.162,8.754-5.667,11.246-7.44,9.362-6.547,15.909-13.5,20-21.278a42.371,42.371,0,0,0,2.1-35.191c-6.2-16.318-21.613-26.449-40.287-26.449a55.543,55.543,0,0,0-11.718,1.24c-1.029.224-2.059.459-3.063.72.174-11.16-.074-22.94-1.066-34.534-3.522-40.758-17.794-62.123-32.674-79.16A130.167,130.167,0,0,0,332.1,36.443C309.515,23.547,283.91,17,256,17S202.6,23.547,180,36.443a129.735,129.735,0,0,0-33.281,26.783c-14.88,17.038-29.152,38.44-32.673,79.161-.992,11.594-1.24,23.435-1.079,34.533-1-.26-2.021-.5-3.051-.719a55.461,55.461,0,0,0-11.717-1.24c-18.687,0-34.125,10.131-40.3,26.449a42.423,42.423,0,0,0,2.046,35.228c4.105,7.774,10.652,14.731,20.014,21.278,2.48,1.736,6.361,4.24,11.246,7.44,2.641,1.711,6.5,4.216,10.28,6.72a11.054,11.054,0,0,1,3.3,3.311c.794,1.624.818,3.373-.36,6.6a102.02,102.02,0,0,1-8.94,15.785c-12.077,17.669-29.363,32.648-51.434,44.639C32.355,348.608,20.2,352.75,15.069,366.7c-3.868,10.528-1.339,22.506,8.494,32.6a49.137,49.137,0,0,0,12.4,9.387,134.337,134.337,0,0,0,30.342,12.139,20.024,20.024,0,0,1,6.126,2.741c3.583,3.137,3.075,7.861,7.849,14.78a34.468,34.468,0,0,0,8.977,9.127c10.019,6.919,21.278,7.353,33.207,7.811,10.776.41,22.989.881,36.939,5.481,5.778,1.91,11.78,5.605,18.736,9.92C194.842,480.951,217.707,495,255.973,495s61.292-14.123,78.118-24.428c6.907-4.24,12.872-7.9,18.489-9.758,13.949-4.613,26.163-5.072,36.939-5.481,11.928-.459,23.187-.893,33.206-7.812a34.584,34.584,0,0,0,10.218-11.16c3.434-5.84,3.348-9.919,6.572-12.771a18.971,18.971,0,0,1,5.753-2.629A134.893,134.893,0,0,0,476.02,408.71a48.344,48.344,0,0,0,13.019-10.193l.124-.149C498.389,388.5,500.708,376.867,496.926,366.6Zm-34.013,18.277c-20.745,11.458-34.533,10.23-45.259,17.137-9.114,5.865-3.72,18.513-10.342,23.076-8.134,5.617-32.177-.4-63.239,9.858-25.618,8.469-41.961,32.822-88.038,32.822s-62.036-24.3-88.076-32.884c-31-10.255-55.092-4.241-63.239-9.858-6.609-4.563-1.24-17.211-10.341-23.076-10.739-6.907-24.527-5.679-45.26-17.075-13.206-7.291-5.716-11.8-1.314-13.937,75.143-36.381,87.133-92.552,87.666-96.719.645-5.046,1.364-9.014-4.191-14.148-5.369-4.96-29.189-19.7-35.8-24.316-10.937-7.638-15.748-15.264-12.2-24.638,2.48-6.485,8.531-8.928,14.879-8.928a27.643,27.643,0,0,1,5.965.67c12,2.6,23.659,8.617,30.392,10.242a10.749,10.749,0,0,0,2.48.335c3.6,0,4.86-1.811,4.612-5.927-.768-13.132-2.628-38.725-.558-62.644,2.84-32.909,13.442-49.215,26.04-63.636,6.051-6.932,34.484-36.976,88.857-36.976s82.88,29.92,88.931,36.827c12.611,14.421,23.225,30.727,26.04,63.636,2.071,23.919.285,49.525-.558,62.644-.285,4.327,1.017,5.927,4.613,5.927a10.648,10.648,0,0,0,2.48-.335c6.745-1.624,18.4-7.638,30.4-10.242a27.641,27.641,0,0,1,5.964-.67c6.386,0,12.4,2.48,14.88,8.928,3.546,9.374-1.24,17-12.189,24.639-6.609,4.612-30.429,19.343-35.8,24.315-5.568,5.134-4.836,9.1-4.191,14.149.533,4.228,12.511,60.4,87.666,96.718C468.629,373.011,476.119,377.524,462.913,384.877Z\"]\n};\nvar faSnapchatGhost = faSnapchat;\nvar faFantasyFlightGames = {\n prefix: 'fab',\n iconName: 'fantasy-flight-games',\n icon: [512, 512, [], \"f6dc\", \"M256 32.86L32.86 256 256 479.14 479.14 256 256 32.86zM88.34 255.83c1.96-2 11.92-12.3 96.49-97.48 41.45-41.75 86.19-43.77 119.77-18.69 24.63 18.4 62.06 58.9 62.15 59 .68.74 1.07 2.86.58 3.38-11.27 11.84-22.68 23.54-33.5 34.69-34.21-32.31-40.52-38.24-48.51-43.95-17.77-12.69-41.4-10.13-56.98 5.1-2.17 2.13-1.79 3.43.12 5.35 2.94 2.95 28.1 28.33 35.09 35.78-11.95 11.6-23.66 22.97-35.69 34.66-12.02-12.54-24.48-25.53-36.54-38.11-21.39 21.09-41.69 41.11-61.85 60.99zm234.82 101.6c-35.49 35.43-78.09 38.14-106.99 20.47-22.08-13.5-39.38-32.08-72.93-66.84 12.05-12.37 23.79-24.42 35.37-36.31 33.02 31.91 37.06 36.01 44.68 42.09 18.48 14.74 42.52 13.67 59.32-1.8 3.68-3.39 3.69-3.64.14-7.24-10.59-10.73-21.19-21.44-31.77-32.18-1.32-1.34-3.03-2.48-.8-4.69 10.79-10.71 21.48-21.52 32.21-32.29.26-.26.65-.38 1.91-1.07 12.37 12.87 24.92 25.92 37.25 38.75 21.01-20.73 41.24-40.68 61.25-60.42 13.68 13.4 27.13 26.58 40.86 40.03-20.17 20.86-81.68 82.71-100.5 101.5zM256 0L0 256l256 256 256-256L256 0zM16 256L256 16l240 240-240 240L16 256z\"]\n};\nvar faRust = {\n prefix: 'fab',\n iconName: 'rust',\n icon: [512, 512, [], \"e07a\", \"M508.52,249.75,486.7,236.24c-.17-2-.34-3.93-.55-5.88l18.72-17.5a7.35,7.35,0,0,0-2.44-12.25l-24-9c-.54-1.88-1.08-3.78-1.67-5.64l15-20.83a7.35,7.35,0,0,0-4.79-11.54l-25.42-4.15c-.9-1.73-1.79-3.45-2.73-5.15l10.68-23.42a7.35,7.35,0,0,0-6.95-10.39l-25.82.91q-1.79-2.22-3.61-4.4L439,81.84A7.36,7.36,0,0,0,430.16,73L405,78.93q-2.17-1.83-4.4-3.61l.91-25.82a7.35,7.35,0,0,0-10.39-7L367.7,53.23c-1.7-.94-3.43-1.84-5.15-2.73L358.4,25.08a7.35,7.35,0,0,0-11.54-4.79L326,35.26c-1.86-.59-3.75-1.13-5.64-1.67l-9-24a7.35,7.35,0,0,0-12.25-2.44l-17.5,18.72c-1.95-.21-3.91-.38-5.88-.55L262.25,3.48a7.35,7.35,0,0,0-12.5,0L236.24,25.3c-2,.17-3.93.34-5.88.55L212.86,7.13a7.35,7.35,0,0,0-12.25,2.44l-9,24c-1.89.55-3.79,1.08-5.66,1.68l-20.82-15a7.35,7.35,0,0,0-11.54,4.79l-4.15,25.41c-1.73.9-3.45,1.79-5.16,2.73L120.88,42.55a7.35,7.35,0,0,0-10.39,7l.92,25.81c-1.49,1.19-3,2.39-4.42,3.61L81.84,73A7.36,7.36,0,0,0,73,81.84L78.93,107c-1.23,1.45-2.43,2.93-3.62,4.41l-25.81-.91a7.42,7.42,0,0,0-6.37,3.26,7.35,7.35,0,0,0-.57,7.13l10.66,23.41c-.94,1.7-1.83,3.43-2.73,5.16L25.08,153.6a7.35,7.35,0,0,0-4.79,11.54l15,20.82c-.59,1.87-1.13,3.77-1.68,5.66l-24,9a7.35,7.35,0,0,0-2.44,12.25l18.72,17.5c-.21,1.95-.38,3.91-.55,5.88L3.48,249.75a7.35,7.35,0,0,0,0,12.5L25.3,275.76c.17,2,.34,3.92.55,5.87L7.13,299.13a7.35,7.35,0,0,0,2.44,12.25l24,9c.55,1.89,1.08,3.78,1.68,5.65l-15,20.83a7.35,7.35,0,0,0,4.79,11.54l25.42,4.15c.9,1.72,1.79,3.45,2.73,5.14L42.56,391.12a7.35,7.35,0,0,0,.57,7.13,7.13,7.13,0,0,0,6.37,3.26l25.83-.91q1.77,2.22,3.6,4.4L73,430.16A7.36,7.36,0,0,0,81.84,439L107,433.07q2.18,1.83,4.41,3.61l-.92,25.82a7.35,7.35,0,0,0,10.39,6.95l23.43-10.68c1.69.94,3.42,1.83,5.14,2.73l4.15,25.42a7.34,7.34,0,0,0,11.54,4.78l20.83-15c1.86.6,3.76,1.13,5.65,1.68l9,24a7.36,7.36,0,0,0,12.25,2.44l17.5-18.72c1.95.21,3.92.38,5.88.55l13.51,21.82a7.35,7.35,0,0,0,12.5,0l13.51-21.82c2-.17,3.93-.34,5.88-.56l17.5,18.73a7.36,7.36,0,0,0,12.25-2.44l9-24c1.89-.55,3.78-1.08,5.65-1.68l20.82,15a7.34,7.34,0,0,0,11.54-4.78l4.15-25.42c1.72-.9,3.45-1.79,5.15-2.73l23.42,10.68a7.35,7.35,0,0,0,10.39-6.95l-.91-25.82q2.22-1.79,4.4-3.61L430.16,439a7.36,7.36,0,0,0,8.84-8.84L433.07,405q1.83-2.17,3.61-4.4l25.82.91a7.23,7.23,0,0,0,6.37-3.26,7.35,7.35,0,0,0,.58-7.13L458.77,367.7c.94-1.7,1.83-3.43,2.73-5.15l25.42-4.15a7.35,7.35,0,0,0,4.79-11.54l-15-20.83c.59-1.87,1.13-3.76,1.67-5.65l24-9a7.35,7.35,0,0,0,2.44-12.25l-18.72-17.5c.21-1.95.38-3.91.55-5.87l21.82-13.51a7.35,7.35,0,0,0,0-12.5Zm-151,129.08A13.91,13.91,0,0,0,341,389.51l-7.64,35.67A187.51,187.51,0,0,1,177,424.44l-7.64-35.66a13.87,13.87,0,0,0-16.46-10.68l-31.51,6.76a187.38,187.38,0,0,1-16.26-19.21H258.3c1.72,0,2.89-.29,2.89-1.91V309.55c0-1.57-1.17-1.91-2.89-1.91H213.47l.05-34.35H262c4.41,0,23.66,1.28,29.79,25.87,1.91,7.55,6.17,32.14,9.06,40,2.89,8.82,14.6,26.46,27.1,26.46H407a187.3,187.3,0,0,1-17.34,20.09Zm25.77,34.49A15.24,15.24,0,1,1,368,398.08h.44A15.23,15.23,0,0,1,383.24,413.32Zm-225.62-.68a15.24,15.24,0,1,1-15.25-15.25h.45A15.25,15.25,0,0,1,157.62,412.64ZM69.57,234.15l32.83-14.6a13.88,13.88,0,0,0,7.06-18.33L102.69,186h26.56V305.73H75.65A187.65,187.65,0,0,1,69.57,234.15ZM58.31,198.09a15.24,15.24,0,0,1,15.23-15.25H74a15.24,15.24,0,1,1-15.67,15.24Zm155.16,24.49.05-35.32h63.26c3.28,0,23.07,3.77,23.07,18.62,0,12.29-15.19,16.7-27.68,16.7ZM399,306.71c-9.8,1.13-20.63-4.12-22-10.09-5.78-32.49-15.39-39.4-30.57-51.4,18.86-11.95,38.46-29.64,38.46-53.26,0-25.52-17.49-41.59-29.4-49.48-16.76-11-35.28-13.23-40.27-13.23H116.32A187.49,187.49,0,0,1,221.21,70.06l23.47,24.6a13.82,13.82,0,0,0,19.6.44l26.26-25a187.51,187.51,0,0,1,128.37,91.43l-18,40.57A14,14,0,0,0,408,220.43l34.59,15.33a187.12,187.12,0,0,1,.4,32.54H423.71c-1.91,0-2.69,1.27-2.69,3.13v8.82C421,301,409.31,305.58,399,306.71ZM240,60.21A15.24,15.24,0,0,1,255.21,45h.45A15.24,15.24,0,1,1,240,60.21ZM436.84,214a15.24,15.24,0,1,1,0-30.48h.44a15.24,15.24,0,0,1-.44,30.48Z\"]\n};\nvar faWix = {\n prefix: 'fab',\n iconName: 'wix',\n icon: [640, 512, [], \"f5cf\", \"M393.38 131.69c0 13.03 2.08 32.69-28.68 43.83-9.52 3.45-15.95 9.66-15.95 9.66 0-31 4.72-42.22 17.4-48.86 9.75-5.11 27.23-4.63 27.23-4.63zm-115.8 35.54l-34.24 132.66-28.48-108.57c-7.69-31.99-20.81-48.53-48.43-48.53-27.37 0-40.66 16.18-48.43 48.53L89.52 299.89 55.28 167.23C49.73 140.51 23.86 128.96 0 131.96l65.57 247.93s21.63 1.56 32.46-3.96c14.22-7.25 20.98-12.84 29.59-46.57 7.67-30.07 29.11-118.41 31.12-124.7 4.76-14.94 11.09-13.81 15.4 0 1.97 6.3 23.45 94.63 31.12 124.7 8.6 33.73 15.37 39.32 29.59 46.57 10.82 5.52 32.46 3.96 32.46 3.96l65.57-247.93c-24.42-3.07-49.82 8.93-55.3 35.27zm115.78 5.21s-4.1 6.34-13.46 11.57c-6.01 3.36-11.78 5.64-17.97 8.61-15.14 7.26-13.18 13.95-13.18 35.2v152.07s16.55 2.09 27.37-3.43c13.93-7.1 17.13-13.95 17.26-44.78V181.41l-.02.01v-8.98zm163.44 84.08L640 132.78s-35.11-5.98-52.5 9.85c-13.3 12.1-24.41 29.55-54.18 72.47-.47.73-6.25 10.54-13.07 0-29.29-42.23-40.8-60.29-54.18-72.47-17.39-15.83-52.5-9.85-52.5-9.85l83.2 123.74-82.97 123.36s36.57 4.62 53.95-11.21c11.49-10.46 17.58-20.37 52.51-70.72 6.81-10.52 12.57-.77 13.07 0 29.4 42.38 39.23 58.06 53.14 70.72 17.39 15.83 53.32 11.21 53.32 11.21L556.8 256.52z\"]\n};\nvar faSquareBehance = {\n prefix: 'fab',\n iconName: 'square-behance',\n icon: [448, 512, [\"behance-square\"], \"f1b5\", \"M186.5 293c0 19.3-14 25.4-31.2 25.4h-45.1v-52.9h46c18.6.1 30.3 7.8 30.3 27.5zm-7.7-82.3c0-17.7-13.7-21.9-28.9-21.9h-39.6v44.8H153c15.1 0 25.8-6.6 25.8-22.9zm132.3 23.2c-18.3 0-30.5 11.4-31.7 29.7h62.2c-1.7-18.5-11.3-29.7-30.5-29.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM271.7 185h77.8v-18.9h-77.8V185zm-43 110.3c0-24.1-11.4-44.9-35-51.6 17.2-8.2 26.2-17.7 26.2-37 0-38.2-28.5-47.5-61.4-47.5H68v192h93.1c34.9-.2 67.6-16.9 67.6-55.9zM380 280.5c0-41.1-24.1-75.4-67.6-75.4-42.4 0-71.1 31.8-71.1 73.6 0 43.3 27.3 73 71.1 73 33.2 0 54.7-14.9 65.1-46.8h-33.7c-3.7 11.9-18.6 18.1-30.2 18.1-22.4 0-34.1-13.1-34.1-35.3h100.2c.1-2.3.3-4.8.3-7.2z\"]\n};\nvar faBehanceSquare = faSquareBehance;\nvar faSupple = {\n prefix: 'fab',\n iconName: 'supple',\n icon: [640, 512, [], \"f3f9\", \"M640 262.5c0 64.1-109 116.1-243.5 116.1-24.8 0-48.6-1.8-71.1-5 7.7.4 15.5.6 23.4.6 134.5 0 243.5-56.9 243.5-127.1 0-29.4-19.1-56.4-51.2-78 60 21.1 98.9 55.1 98.9 93.4zM47.7 227.9c-.1-70.2 108.8-127.3 243.3-127.6 7.9 0 15.6.2 23.3.5-22.5-3.2-46.3-4.9-71-4.9C108.8 96.3-.1 148.5 0 212.6c.1 38.3 39.1 72.3 99.3 93.3-32.3-21.5-51.5-48.6-51.6-78zm60.2 39.9s10.5 13.2 29.3 13.2c17.9 0 28.4-11.5 28.4-25.1 0-28-40.2-25.1-40.2-39.7 0-5.4 5.3-9.1 12.5-9.1 5.7 0 11.3 2.6 11.3 6.6v3.9h14.2v-7.9c0-12.1-15.4-16.8-25.4-16.8-16.5 0-28.5 10.2-28.5 24.1 0 26.6 40.2 25.4 40.2 39.9 0 6.6-5.8 10.1-12.3 10.1-11.9 0-20.7-10.1-20.7-10.1l-8.8 10.9zm120.8-73.6v54.4c0 11.3-7.1 17.8-17.8 17.8-10.7 0-17.8-6.5-17.8-17.7v-54.5h-15.8v55c0 18.9 13.4 31.9 33.7 31.9 20.1 0 33.4-13 33.4-31.9v-55h-15.7zm34.4 85.4h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.8-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5.1 14.7-14 14.7h-12.6zm57 43h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.7-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5 14.7-14 14.7h-12.6zm57.1 34.8c0 5.8 2.4 8.2 8.2 8.2h37.6c5.8 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-18.6c-1.7 0-2.6-1-2.6-2.6v-61.2c0-5.7-2.4-8.2-8.2-8.2H401v13.4h5.2c1.7 0 2.6 1 2.6 2.6v61.2zm63.4 0c0 5.8 2.4 8.2 8.2 8.2H519c5.7 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-19.7c-1.7 0-2.6-1-2.6-2.6v-20.3h27.7v-13.4H488v-22.4h19.2c1.7 0 2.6 1 2.6 2.6v5.2H524v-13c0-5.7-2.5-8.2-8.2-8.2h-51.6v13.4h7.8v63.9zm58.9-76v5.9h1.6v-5.9h2.7v-1.2h-7v1.2h2.7zm5.7-1.2v7.1h1.5v-5.7l2.3 5.7h1.3l2.3-5.7v5.7h1.5v-7.1h-2.3l-2.1 5.1-2.1-5.1h-2.4z\"]\n};\nvar faRebel = {\n prefix: 'fab',\n iconName: 'rebel',\n icon: [512, 512, [], \"f1d0\", \"M256.5 504C117.2 504 9 387.8 13.2 249.9 16 170.7 56.4 97.7 129.7 49.5c.3 0 1.9-.6 1.1.8-5.8 5.5-111.3 129.8-14.1 226.4 49.8 49.5 90 2.5 90 2.5 38.5-50.1-.6-125.9-.6-125.9-10-24.9-45.7-40.1-45.7-40.1l28.8-31.8c24.4 10.5 43.2 38.7 43.2 38.7.8-29.6-21.9-61.4-21.9-61.4L255.1 8l44.3 50.1c-20.5 28.8-21.9 62.6-21.9 62.6 13.8-23 43.5-39.3 43.5-39.3l28.5 31.8c-27.4 8.9-45.4 39.9-45.4 39.9-15.8 28.5-27.1 89.4.6 127.3 32.4 44.6 87.7-2.8 87.7-2.8 102.7-91.9-10.5-225-10.5-225-6.1-5.5.8-2.8.8-2.8 50.1 36.5 114.6 84.4 116.2 204.8C500.9 400.2 399 504 256.5 504z\"]\n};\nvar faCss3 = {\n prefix: 'fab',\n iconName: 'css3',\n icon: [512, 512, [], \"f13c\", \"M480 32l-64 368-223.3 80L0 400l19.6-94.8h82l-8 40.6L210 390.2l134.1-44.4 18.8-97.1H29.5l16-82h333.7l10.5-52.7H56.3l16.3-82H480z\"]\n};\nvar faStaylinked = {\n prefix: 'fab',\n iconName: 'staylinked',\n icon: [440, 512, [], \"f3f5\", \"M382.7 292.5l2.7 2.7-170-167.3c-3.5-3.5-9.7-3.7-13.8-.5L144.3 171c-4.2 3.2-4.6 8.7-1.1 12.2l68.1 64.3c3.6 3.5 9.9 3.7 14 .5l.1-.1c4.1-3.2 10.4-3 14 .5l84 81.3c3.6 3.5 3.2 9-.9 12.2l-93.2 74c-4.2 3.3-10.5 3.1-14.2-.4L63.2 268c-3.5-3.5-9.7-3.7-13.9-.5L3.5 302.4c-4.2 3.2-4.7 8.7-1.2 12.2L211 510.7s7.4 6.8 17.3-.8l198-163.9c4-3.2 4.4-8.7.7-12.2zm54.5-83.4L226.7 2.5c-1.5-1.2-8-5.5-16.3 1.1L3.6 165.7c-4.2 3.2-4.8 8.7-1.2 12.2l42.3 41.7 171.7 165.1c3.7 3.5 10.1 3.7 14.3.4l50.2-38.8-.3-.3 7.7-6c4.2-3.2 4.6-8.7.9-12.2l-57.1-54.4c-3.6-3.5-10-3.7-14.2-.5l-.1.1c-4.2 3.2-10.5 3.1-14.2-.4L109 180.8c-3.6-3.5-3.1-8.9 1.1-12.2l92.2-71.5c4.1-3.2 10.3-3 13.9.5l160.4 159c3.7 3.5 10 3.7 14.1.5l45.8-35.8c4.1-3.2 4.4-8.7.7-12.2z\"]\n};\nvar faKaggle = {\n prefix: 'fab',\n iconName: 'kaggle',\n icon: [320, 512, [], \"f5fa\", \"M304.2 501.5L158.4 320.3 298.2 185c2.6-2.7 1.7-10.5-5.3-10.5h-69.2c-3.5 0-7 1.8-10.5 5.3L80.9 313.5V7.5q0-7.5-7.5-7.5H21.5Q14 0 14 7.5v497q0 7.5 7.5 7.5h51.9q7.5 0 7.5-7.5v-109l30.8-29.3 110.5 140.6c3 3.5 6.5 5.3 10.5 5.3h66.9q5.25 0 6-3z\"]\n};\nvar faSpaceAwesome = {\n prefix: 'fab',\n iconName: 'space-awesome',\n icon: [512, 512, [], \"e5ac\", \"M96 256H128V512H0V352H32V320H64V288H96V256zM512 352V512H384V256H416V288H448V320H480V352H512zM320 64H352V448H320V416H192V448H160V64H192V32H224V0H288V32H320V64zM288 128H224V192H288V128z\"]\n};\nvar faDeviantart = {\n prefix: 'fab',\n iconName: 'deviantart',\n icon: [320, 512, [], \"f1bd\", \"M320 93.2l-98.2 179.1 7.4 9.5H320v127.7H159.1l-13.5 9.2-43.7 84c-.3 0-8.6 8.6-9.2 9.2H0v-93.2l93.2-179.4-7.4-9.2H0V102.5h156l13.5-9.2 43.7-84c.3 0 8.6-8.6 9.2-9.2H320v93.1z\"]\n};\nvar faCpanel = {\n prefix: 'fab',\n iconName: 'cpanel',\n icon: [640, 512, [], \"f388\", \"M210.3 220.2c-5.6-24.8-26.9-41.2-51-41.2h-37c-7.1 0-12.5 4.5-14.3 10.9L73.1 320l24.7-.1c6.8 0 12.3-4.5 14.2-10.7l25.8-95.7h19.8c8.4 0 16.2 5.6 18.3 14.8 2.5 10.9-5.9 22.6-18.3 22.6h-10.3c-7 0-12.5 4.6-14.3 10.8l-6.4 23.8h32c37.2 0 58.3-36.2 51.7-65.3zm-156.5 28h18.6c6.9 0 12.4-4.4 14.3-10.9l6.2-23.6h-40C30 213.7 9 227.8 1.7 254.8-7 288.6 18.5 320 52 320h12.4l7.1-26.1c1.2-4.4-2.2-8.3-6.4-8.3H53.8c-24.7 0-24.9-37.4 0-37.4zm247.5-34.8h-77.9l-3.5 13.4c-2.4 9.6 4.5 18.5 14.2 18.5h57.5c4 0 2.4 4.3 2.1 5.3l-8.6 31.8c-.4 1.4-.9 5.3-5.5 5.3h-34.9c-5.3 0-5.3-7.9 0-7.9h21.6c6.8 0 12.3-4.6 14.2-10.8l3.5-13.2h-48.4c-39.2 0-43.6 63.8-.7 63.8l57.5.2c11.2 0 20.6-7.2 23.4-17.8l14-51.8c4.8-19.2-9.7-36.8-28.5-36.8zM633.1 179h-18.9c-4.9 0-9.2 3.2-10.4 7.9L568.2 320c20.7 0 39.8-13.8 44.9-34.5l26.5-98.2c1.2-4.3-2-8.3-6.5-8.3zm-236.3 34.7v.1h-48.3l-26.2 98c-1.2 4.4 2.2 8.3 6.4 8.3h18.9c4.8 0 9.2-3 10.4-7.8l17.2-64H395c12.5 0 21.4 11.8 18.1 23.4l-10.6 40c-1.2 4.3 1.9 8.3 6.4 8.3H428c4.6 0 9.1-2.9 10.3-7.8l8.8-33.1c9-33.1-15.9-65.4-50.3-65.4zm98.3 74.6c-3.6 0-6-3.4-5.1-6.7l8-30c.9-3.9 3.7-6 7.8-6h32.9c2.6 0 4.6 2.4 3.9 5.1l-.7 2.6c-.6 2-1.9 3-3.9 3h-21.6c-7 0-12.6 4.6-14.2 10.8l-3.5 13h53.4c10.5 0 20.3-6.6 23.2-17.6l3.2-12c4.9-19.1-9.3-36.8-28.3-36.8h-47.3c-17.9 0-33.8 12-38.6 29.6l-10.8 40c-5 17.7 8.3 36.7 28.3 36.7h66.7c6.8 0 12.3-4.5 14.2-10.7l5.7-21z\"]\n};\nvar faGoodreadsG = {\n prefix: 'fab',\n iconName: 'goodreads-g',\n icon: [384, 512, [], \"f3a9\", \"M42.6 403.3h2.8c12.7 0 25.5 0 38.2.1 1.6 0 3.1-.4 3.6 2.1 7.1 34.9 30 54.6 62.9 63.9 26.9 7.6 54.1 7.8 81.3 1.8 33.8-7.4 56-28.3 68-60.4 8-21.5 10.7-43.8 11-66.5.1-5.8.3-47-.2-52.8l-.9-.3c-.8 1.5-1.7 2.9-2.5 4.4-22.1 43.1-61.3 67.4-105.4 69.1-103 4-169.4-57-172-176.2-.5-23.7 1.8-46.9 8.3-69.7C58.3 47.7 112.3.6 191.6 0c61.3-.4 101.5 38.7 116.2 70.3.5 1.1 1.3 2.3 2.4 1.9V10.6h44.3c0 280.3.1 332.2.1 332.2-.1 78.5-26.7 143.7-103 162.2-69.5 16.9-159 4.8-196-57.2-8-13.5-11.8-28.3-13-44.5zM188.9 36.5c-52.5-.5-108.5 40.7-115 133.8-4.1 59 14.8 122.2 71.5 148.6 27.6 12.9 74.3 15 108.3-8.7 47.6-33.2 62.7-97 54.8-154-9.7-71.1-47.8-120-119.6-119.7z\"]\n};\nvar faSquareGit = {\n prefix: 'fab',\n iconName: 'square-git',\n icon: [448, 512, [\"git-square\"], \"f1d2\", \"M100.59 334.24c48.57 3.31 58.95 2.11 58.95 11.94 0 20-65.55 20.06-65.55 1.52.01-5.09 3.29-9.4 6.6-13.46zm27.95-116.64c-32.29 0-33.75 44.47-.75 44.47 32.51 0 31.71-44.47.75-44.47zM448 80v352a48 48 0 0 1-48 48H48a48 48 0 0 1-48-48V80a48 48 0 0 1 48-48h352a48 48 0 0 1 48 48zm-227 69.31c0 14.49 8.38 22.88 22.86 22.88 14.74 0 23.13-8.39 23.13-22.88S258.62 127 243.88 127c-14.48 0-22.88 7.84-22.88 22.31zM199.18 195h-49.55c-25-6.55-81.56-4.85-81.56 46.75 0 18.8 9.4 32 21.85 38.11C74.23 294.23 66.8 301 66.8 310.6c0 6.87 2.79 13.22 11.18 16.76-8.9 8.4-14 14.48-14 25.92C64 373.35 81.53 385 127.52 385c44.22 0 69.87-16.51 69.87-45.73 0-36.67-28.23-35.32-94.77-39.38l8.38-13.43c17 4.74 74.19 6.23 74.19-42.43 0-11.69-4.83-19.82-9.4-25.67l23.38-1.78zm84.34 109.84l-13-1.78c-3.82-.51-4.07-1-4.07-5.09V192.52h-52.6l-2.79 20.57c15.75 5.55 17 4.86 17 10.17V298c0 5.62-.31 4.58-17 6.87v20.06h72.42zM384 315l-6.87-22.37c-40.93 15.37-37.85-12.41-37.85-16.73v-60.72h37.85v-25.41h-35.82c-2.87 0-2 2.52-2-38.63h-24.18c-2.79 27.7-11.68 38.88-34 41.42v22.62c20.47 0 19.82-.85 19.82 2.54v66.57c0 28.72 11.43 40.91 41.67 40.91 14.45 0 30.45-4.83 41.38-10.2z\"]\n};\nvar faGitSquare = faSquareGit;\nvar faSquareTumblr = {\n prefix: 'fab',\n iconName: 'square-tumblr',\n icon: [448, 512, [\"tumblr-square\"], \"f174\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-82.3 364.2c-8.5 9.1-31.2 19.8-60.9 19.8-75.5 0-91.9-55.5-91.9-87.9v-90h-29.7c-3.4 0-6.2-2.8-6.2-6.2v-42.5c0-4.5 2.8-8.5 7.1-10 38.8-13.7 50.9-47.5 52.7-73.2.5-6.9 4.1-10.2 10-10.2h44.3c3.4 0 6.2 2.8 6.2 6.2v72h51.9c3.4 0 6.2 2.8 6.2 6.2v51.1c0 3.4-2.8 6.2-6.2 6.2h-52.1V321c0 21.4 14.8 33.5 42.5 22.4 3-1.2 5.6-2 8-1.4 2.2.5 3.6 2.1 4.6 4.9l13.8 40.2c1 3.2 2 6.7-.3 9.1z\"]\n};\nvar faTumblrSquare = faSquareTumblr;\nvar faTrello = {\n prefix: 'fab',\n iconName: 'trello',\n icon: [448, 512, [], \"f181\", \"M392.3 32H56.1C25.1 32 0 57.1 0 88c-.1 0 0-4 0 336 0 30.9 25.1 56 56 56h336.2c30.8-.2 55.7-25.2 55.7-56V88c.1-30.8-24.8-55.8-55.6-56zM197 371.3c-.2 14.7-12.1 26.6-26.9 26.6H87.4c-14.8.1-26.9-11.8-27-26.6V117.1c0-14.8 12-26.9 26.9-26.9h82.9c14.8 0 26.9 12 26.9 26.9v254.2zm193.1-112c0 14.8-12 26.9-26.9 26.9h-81c-14.8 0-26.9-12-26.9-26.9V117.2c0-14.8 12-26.9 26.8-26.9h81.1c14.8 0 26.9 12 26.9 26.9v142.1z\"]\n};\nvar faCreativeCommonsNcJp = {\n prefix: 'fab',\n iconName: 'creative-commons-nc-jp',\n icon: [496, 512, [], \"f4ea\", \"M247.7 8C103.6 8 0 124.8 0 256c0 136.4 111.8 248 247.7 248C377.9 504 496 403.2 496 256 496 117.2 388.5 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-21.1 3-41.2 9-60.3l127 56.5h-27.9v38.6h58.1l5.7 11.8v18.7h-63.8V360h63.8v56h61.7v-56h64.2v-35.7l81 36.1c-1.5 2.2-57.1 98.3-175.2 98.3zm87.6-137.3h-57.6v-18.7l2.9-5.6 54.7 24.3zm6.5-51.4v-17.8h-38.6l63-116H301l-43.4 96-23-10.2-39.6-85.7h-65.8l27.3 51-81.9-36.5c27.8-44.1 82.6-98.1 173.7-98.1 112.8 0 203 90 203 203.4 0 21-2.7 40.6-7.9 59l-101-45.1z\"]\n};\nvar faGetPocket = {\n prefix: 'fab',\n iconName: 'get-pocket',\n icon: [448, 512, [], \"f265\", \"M407.6 64h-367C18.5 64 0 82.5 0 104.6v135.2C0 364.5 99.7 464 224.2 464c124 0 223.8-99.5 223.8-224.2V104.6c0-22.4-17.7-40.6-40.4-40.6zm-162 268.5c-12.4 11.8-31.4 11.1-42.4 0C89.5 223.6 88.3 227.4 88.3 209.3c0-16.9 13.8-30.7 30.7-30.7 17 0 16.1 3.8 105.2 89.3 90.6-86.9 88.6-89.3 105.5-89.3 16.9 0 30.7 13.8 30.7 30.7 0 17.8-2.9 15.7-114.8 123.2z\"]\n};\nvar faPerbyte = {\n prefix: 'fab',\n iconName: 'perbyte',\n icon: [448, 512, [], \"e083\", \"M305.314,284.578H246.6V383.3h58.711q24.423,0,38.193-13.77t13.77-36.11q0-21.826-14.032-35.335T305.314,284.578ZM149.435,128.7H90.724v98.723h58.711q24.42,0,38.19-13.773t13.77-36.107q0-21.826-14.029-35.338T149.435,128.7ZM366.647,32H81.353A81.445,81.445,0,0,0,0,113.352V398.647A81.445,81.445,0,0,0,81.353,480H366.647A81.445,81.445,0,0,0,448,398.647V113.352A81.445,81.445,0,0,0,366.647,32Zm63.635,366.647a63.706,63.706,0,0,1-63.635,63.635H81.353a63.706,63.706,0,0,1-63.635-63.635V113.352A63.706,63.706,0,0,1,81.353,49.718H366.647a63.706,63.706,0,0,1,63.635,63.634ZM305.314,128.7H246.6v98.723h58.711q24.423,0,38.193-13.773t13.77-36.107q0-21.826-14.032-35.338T305.314,128.7Z\"]\n};\nvar faGrunt = {\n prefix: 'fab',\n iconName: 'grunt',\n icon: [384, 512, [], \"f3ad\", \"M61.3 189.3c-1.1 10 5.2 19.1 5.2 19.1.7-7.5 2.2-12.8 4-16.6.4 10.3 3.2 23.5 12.8 34.1 6.9 7.6 35.6 23.3 54.9 6.1 1 2.4 2.1 5.3 3 8.5 2.9 10.3-2.7 25.3-2.7 25.3s15.1-17.1 13.9-32.5c10.8-.5 21.4-8.4 21.1-19.5 0 0-18.9 10.4-35.5-8.8-9.7-11.2-40.9-42-83.1-31.8 4.3 1 8.9 2.4 13.5 4.1h-.1c-4.2 2-6.5 7.1-7 12zm28.3-1.8c19.5 11 37.4 25.7 44.9 37-5.7 3.3-21.7 10.4-38-1.7-10.3-7.6-9.8-26.2-6.9-35.3zm142.1 45.8c-1.2 15.5 13.9 32.5 13.9 32.5s-5.6-15-2.7-25.3c.9-3.2 2-6 3-8.5 19.3 17.3 48 1.5 54.8-6.1 9.6-10.6 12.3-23.8 12.8-34.1 1.8 3.8 3.4 9.1 4 16.6 0 0 6.4-9.1 5.2-19.1-.6-5-2.9-10-7-11.8h-.1c4.6-1.8 9.2-3.2 13.5-4.1-42.3-10.2-73.4 20.6-83.1 31.8-16.7 19.2-35.5 8.8-35.5 8.8-.2 10.9 10.4 18.9 21.2 19.3zm62.7-45.8c3 9.1 3.4 27.7-7 35.4-16.3 12.1-32.2 5-37.9 1.6 7.5-11.4 25.4-26 44.9-37zM160 418.5h-29.4c-5.5 0-8.2 1.6-9.5 2.9-1.9 2-2.2 4.7-.9 8.1 3.5 9.1 11.4 16.5 13.7 18.6 3.1 2.7 7.5 4.3 11.8 4.3 4.4 0 8.3-1.7 11-4.6 7.5-8.2 11.9-17.1 13-19.8.6-1.5 1.3-4.5-.9-6.8-1.8-1.8-4.7-2.7-8.8-2.7zm189.2-101.2c-2.4 17.9-13 33.8-24.6 43.7-3.1-22.7-3.7-55.5-3.7-62.4 0-14.7 9.5-24.5 12.2-26.1 2.5-1.5 5.4-3 8.3-4.6 18-9.6 40.4-21.6 40.4-43.7 0-16.2-9.3-23.2-15.4-27.8-.8-.6-1.5-1.1-2.2-1.7-2.1-1.7-3.7-3-4.3-4.4-4.4-9.8-3.6-34.2-1.7-37.6.6-.6 16.7-20.9 11.8-39.2-2-7.4-6.9-13.3-14.1-17-5.3-2.7-11.9-4.2-19.5-4.5-.1-2-.5-3.9-.9-5.9-.6-2.6-1.1-5.3-.9-8.1.4-4.7.8-9 2.2-11.3 8.4-13.3 28.8-17.6 29-17.6l12.3-2.4-8.1-9.5c-.1-.2-17.3-17.5-46.3-17.5-7.9 0-16 1.3-24.1 3.9-24.2 7.8-42.9 30.5-49.4 39.3-3.1-1-6.3-1.9-9.6-2.7-4.2-15.8 9-38.5 9-38.5s-13.6-3-33.7 15.2c-2.6-6.5-8.1-20.5-1.8-37.2C184.6 10.1 177.2 26 175 40.4c-7.6-5.4-6.7-23.1-7.2-27.6-7.5.9-29.2 21.9-28.2 48.3-2 .5-3.9 1.1-5.9 1.7-6.5-8.8-25.1-31.5-49.4-39.3-7.9-2.2-16-3.5-23.9-3.5-29 0-46.1 17.3-46.3 17.5L6 46.9l12.3 2.4c.2 0 20.6 4.3 29 17.6 1.4 2.2 1.8 6.6 2.2 11.3.2 2.8-.4 5.5-.9 8.1-.4 1.9-.8 3.9-.9 5.9-7.7.3-14.2 1.8-19.5 4.5-7.2 3.7-12.1 9.6-14.1 17-5 18.2 11.2 38.5 11.8 39.2 1.9 3.4 2.7 27.8-1.7 37.6-.6 1.4-2.2 2.7-4.3 4.4-.7.5-1.4 1.1-2.2 1.7-6.1 4.6-15.4 11.7-15.4 27.8 0 22.1 22.4 34.1 40.4 43.7 3 1.6 5.8 3.1 8.3 4.6 2.7 1.6 12.2 11.4 12.2 26.1 0 6.9-.6 39.7-3.7 62.4-11.6-9.9-22.2-25.9-24.6-43.8 0 0-29.2 22.6-20.6 70.8 5.2 29.5 23.2 46.1 47 54.7 8.8 19.1 29.4 45.7 67.3 49.6C143 504.3 163 512 192.2 512h.2c29.1 0 49.1-7.7 63.6-19.5 37.9-3.9 58.5-30.5 67.3-49.6 23.8-8.7 41.7-25.2 47-54.7 8.2-48.4-21.1-70.9-21.1-70.9zM305.7 37.7c5.6-1.8 11.6-2.7 17.7-2.7 11 0 19.9 3 24.7 5-3.1 1.4-6.4 3.2-9.7 5.3-2.4-.4-5.6-.8-9.2-.8-10.5 0-20.5 3.1-28.7 8.9-12.3 8.7-18 16.9-20.7 22.4-2.2-1.3-4.5-2.5-7.1-3.7-1.6-.8-3.1-1.5-4.7-2.2 6.1-9.1 19.9-26.5 37.7-32.2zm21 18.2c-.8 1-1.6 2.1-2.3 3.2-3.3 5.2-3.9 11.6-4.4 17.8-.5 6.4-1.1 12.5-4.4 17-4.2.8-8.1 1.7-11.5 2.7-2.3-3.1-5.6-7-10.5-11.2 1.4-4.8 5.5-16.1 13.5-22.5 5.6-4.3 12.2-6.7 19.6-7zM45.6 45.3c-3.3-2.2-6.6-4-9.7-5.3 4.8-2 13.7-5 24.7-5 6.1 0 12 .9 17.7 2.7 17.8 5.8 31.6 23.2 37.7 32.1-1.6.7-3.2 1.4-4.8 2.2-2.5 1.2-4.9 2.5-7.1 3.7-2.6-5.4-8.3-13.7-20.7-22.4-8.3-5.8-18.2-8.9-28.8-8.9-3.4.1-6.6.5-9 .9zm44.7 40.1c-4.9 4.2-8.3 8-10.5 11.2-3.4-.9-7.3-1.9-11.5-2.7C65 89.5 64.5 83.4 64 77c-.5-6.2-1.1-12.6-4.4-17.8-.7-1.1-1.5-2.2-2.3-3.2 7.4.3 14 2.6 19.5 7 8 6.3 12.1 17.6 13.5 22.4zM58.1 259.9c-2.7-1.6-5.6-3.1-8.4-4.6-14.9-8-30.2-16.3-30.2-30.5 0-11.1 4.3-14.6 8.9-18.2l.5-.4c.7-.6 1.4-1.2 2.2-1.8-.9 7.2-1.9 13.3-2.7 14.9 0 0 12.1-15 15.7-44.3 1.4-11.5-1.1-34.3-5.1-43 .2 4.9 0 9.8-.3 14.4-.4-.8-.8-1.6-1.3-2.2-3.2-4-11.8-17.5-9.4-26.6.9-3.5 3.1-6 6.7-7.8 3.8-1.9 8.8-2.9 15.1-2.9 12.3 0 25.9 3.7 32.9 6 25.1 8 55.4 30.9 64.1 37.7.2.2.4.3.4.3l5.6 3.9-3.5-5.8c-.2-.3-19.1-31.4-53.2-46.5 2-2.9 7.4-8.1 21.6-15.1 21.4-10.5 46.5-15.8 74.3-15.8 27.9 0 52.9 5.3 74.3 15.8 14.2 6.9 19.6 12.2 21.6 15.1-34 15.1-52.9 46.2-53.1 46.5l-3.5 5.8 5.6-3.9s.2-.1.4-.3c8.7-6.8 39-29.8 64.1-37.7 7-2.2 20.6-6 32.9-6 6.3 0 11.3 1 15.1 2.9 3.5 1.8 5.7 4.4 6.7 7.8 2.5 9.1-6.1 22.6-9.4 26.6-.5.6-.9 1.3-1.3 2.2-.3-4.6-.5-9.5-.3-14.4-4 8.8-6.5 31.5-5.1 43 3.6 29.3 15.7 44.3 15.7 44.3-.8-1.6-1.8-7.7-2.7-14.9.7.6 1.5 1.2 2.2 1.8l.5.4c4.6 3.7 8.9 7.1 8.9 18.2 0 14.2-15.4 22.5-30.2 30.5-2.9 1.5-5.7 3.1-8.4 4.6-8.7 5-18 16.7-19.1 34.2-.9 14.6.9 49.9 3.4 75.9-12.4 4.8-26.7 6.4-39.7 6.8-2-4.1-3.9-8.5-5.5-13.1-.7-2-19.6-51.1-26.4-62.2 5.5 39 17.5 73.7 23.5 89.6-3.5-.5-7.3-.7-11.7-.7h-117c-4.4 0-8.3.3-11.7.7 6-15.9 18.1-50.6 23.5-89.6-6.8 11.2-25.7 60.3-26.4 62.2-1.6 4.6-3.5 9-5.5 13.1-13-.4-27.2-2-39.7-6.8 2.5-26 4.3-61.2 3.4-75.9-.9-17.4-10.3-29.2-19-34.2zM34.8 404.6c-12.1-20-8.7-54.1-3.7-59.1 10.9 34.4 47.2 44.3 74.4 45.4-2.7 4.2-5.2 7.6-7 10l-1.4 1.4c-7.2 7.8-8.6 18.5-4.1 31.8-22.7-.1-46.3-9.8-58.2-29.5zm45.7 43.5c6 1.1 12.2 1.9 18.6 2.4 3.5 8 7.4 15.9 12.3 23.1-14.4-5.9-24.4-16-30.9-25.5zM192 498.2c-60.6-.1-78.3-45.8-84.9-64.7-3.7-10.5-3.4-18.2.9-23.1 2.9-3.3 9.5-7.2 24.6-7.2h118.8c15.1 0 21.8 3.9 24.6 7.2 4.2 4.8 4.5 12.6.9 23.1-6.6 18.8-24.3 64.6-84.9 64.7zm80.6-24.6c4.9-7.2 8.8-15.1 12.3-23.1 6.4-.5 12.6-1.3 18.6-2.4-6.5 9.5-16.5 19.6-30.9 25.5zm76.6-69c-12 19.7-35.6 29.3-58.1 29.7 4.5-13.3 3.1-24.1-4.1-31.8-.4-.5-.9-1-1.4-1.5-1.8-2.4-4.3-5.8-7-10 27.2-1.2 63.5-11 74.4-45.4 5 5 8.4 39.1-3.8 59zM191.9 187.7h.2c12.7-.1 27.2-17.8 27.2-17.8-9.9 6-18.8 8.1-27.3 8.3-8.5-.2-17.4-2.3-27.3-8.3 0 0 14.5 17.6 27.2 17.8zm61.7 230.7h-29.4c-4.2 0-7.2.9-8.9 2.7-2.2 2.3-1.5 5.2-.9 6.7 1 2.6 5.5 11.3 13 19.3 2.7 2.9 6.6 4.5 11 4.5s8.7-1.6 11.8-4.2c2.3-2 10.2-9.2 13.7-18.1 1.3-3.3 1-6-.9-7.9-1.3-1.3-4-2.9-9.4-3z\"]\n};\nvar faWeebly = {\n prefix: 'fab',\n iconName: 'weebly',\n icon: [512, 512, [], \"f5cc\", \"M425.09 65.83c-39.88 0-73.28 25.73-83.66 64.33-18.16-58.06-65.5-64.33-84.95-64.33-19.78 0-66.8 6.28-85.28 64.33-10.38-38.6-43.45-64.33-83.66-64.33C38.59 65.83 0 99.72 0 143.03c0 28.96 4.18 33.27 77.17 233.48 22.37 60.57 67.77 69.35 92.74 69.35 39.23 0 70.04-19.46 85.93-53.98 15.89 34.83 46.69 54.29 85.93 54.29 24.97 0 70.36-9.1 92.74-69.67 76.55-208.65 77.5-205.58 77.5-227.2.63-48.32-36.01-83.47-86.92-83.47zm26.34 114.81l-65.57 176.44c-7.92 21.49-21.22 37.22-46.24 37.22-23.44 0-37.38-12.41-44.03-33.9l-39.28-117.42h-.95L216.08 360.4c-6.96 21.5-20.9 33.6-44.02 33.6-25.02 0-38.33-15.74-46.24-37.22L60.88 181.55c-5.38-14.83-7.92-23.91-7.92-34.5 0-16.34 15.84-29.36 38.33-29.36 18.69 0 31.99 11.8 36.11 29.05l44.03 139.82h.95l44.66-136.79c6.02-19.67 16.47-32.08 38.96-32.08s32.94 12.11 38.96 32.08l44.66 136.79h.95l44.03-139.82c4.12-17.25 17.42-29.05 36.11-29.05 22.17 0 38.33 13.32 38.33 35.71-.32 7.87-4.12 16.04-7.61 27.24z\"]\n};\nvar faConnectdevelop = {\n prefix: 'fab',\n iconName: 'connectdevelop',\n icon: [576, 512, [], \"f20e\", \"M550.5 241l-50.089-86.786c1.071-2.142 1.875-4.553 1.875-7.232 0-8.036-6.696-14.733-14.732-15.001l-55.447-95.893c.536-1.607 1.071-3.214 1.071-4.821 0-8.571-6.964-15.268-15.268-15.268-4.821 0-8.839 2.143-11.786 5.625H299.518C296.839 18.143 292.821 16 288 16s-8.839 2.143-11.518 5.625H170.411C167.464 18.143 163.447 16 158.625 16c-8.303 0-15.268 6.696-15.268 15.268 0 1.607.536 3.482 1.072 4.821l-55.983 97.233c-5.356 2.41-9.107 7.5-9.107 13.661 0 .535.268 1.071.268 1.607l-53.304 92.143c-7.232 1.339-12.59 7.5-12.59 15 0 7.232 5.089 13.393 12.054 15l55.179 95.358c-.536 1.607-.804 2.946-.804 4.821 0 7.232 5.089 13.393 12.054 14.732l51.697 89.732c-.536 1.607-1.071 3.482-1.071 5.357 0 8.571 6.964 15.268 15.268 15.268 4.821 0 8.839-2.143 11.518-5.357h106.875C279.161 493.857 283.447 496 288 496s8.839-2.143 11.518-5.357h107.143c2.678 2.946 6.696 4.821 10.982 4.821 8.571 0 15.268-6.964 15.268-15.268 0-1.607-.267-2.946-.803-4.285l51.697-90.268c6.964-1.339 12.054-7.5 12.054-14.732 0-1.607-.268-3.214-.804-4.821l54.911-95.358c6.964-1.339 12.322-7.5 12.322-15-.002-7.232-5.092-13.393-11.788-14.732zM153.535 450.732l-43.66-75.803h43.66v75.803zm0-83.839h-43.66c-.268-1.071-.804-2.142-1.339-3.214l44.999-47.41v50.624zm0-62.411l-50.357 53.304c-1.339-.536-2.679-1.34-4.018-1.607L43.447 259.75c.535-1.339.535-2.679.535-4.018s0-2.41-.268-3.482l51.965-90c2.679-.268 5.357-1.072 7.768-2.679l50.089 51.965v92.946zm0-102.322l-45.803-47.41c1.339-2.143 2.143-4.821 2.143-7.767 0-.268-.268-.804-.268-1.072l43.928-15.804v72.053zm0-80.625l-43.66 15.804 43.66-75.536v59.732zm326.519 39.108l.804 1.339L445.5 329.125l-63.75-67.232 98.036-101.518.268.268zM291.75 355.107l11.518 11.786H280.5l11.25-11.786zm-.268-11.25l-83.303-85.446 79.553-84.375 83.036 87.589-79.286 82.232zm5.357 5.893l79.286-82.232 67.5 71.25-5.892 28.125H313.714l-16.875-17.143zM410.411 44.393c1.071.536 2.142 1.072 3.482 1.34l57.857 100.714v.536c0 2.946.803 5.624 2.143 7.767L376.393 256l-83.035-87.589L410.411 44.393zm-9.107-2.143L287.732 162.518l-57.054-60.268 166.339-60h4.287zm-123.483 0c2.678 2.678 6.16 4.285 10.179 4.285s7.5-1.607 10.179-4.285h75L224.786 95.821 173.893 42.25h103.928zm-116.249 5.625l1.071-2.142a33.834 33.834 0 0 0 2.679-.804l51.161 53.84-54.911 19.821V47.875zm0 79.286l60.803-21.964 59.732 63.214-79.553 84.107-40.982-42.053v-83.304zm0 92.678L198 257.607l-36.428 38.304v-76.072zm0 87.858l42.053-44.464 82.768 85.982-17.143 17.678H161.572v-59.196zm6.964 162.053c-1.607-1.607-3.482-2.678-5.893-3.482l-1.071-1.607v-89.732h99.91l-91.607 94.821h-1.339zm129.911 0c-2.679-2.41-6.428-4.285-10.447-4.285s-7.767 1.875-10.447 4.285h-96.429l91.607-94.821h38.304l91.607 94.821H298.447zm120-11.786l-4.286 7.5c-1.339.268-2.41.803-3.482 1.339l-89.196-91.875h114.376l-17.412 83.036zm12.856-22.232l12.858-60.803h21.964l-34.822 60.803zm34.822-68.839h-20.357l4.553-21.16 17.143 18.214c-.535.803-1.071 1.874-1.339 2.946zm66.161-107.411l-55.447 96.697c-1.339.535-2.679 1.071-4.018 1.874l-20.625-21.964 34.554-163.928 45.803 79.286c-.267 1.339-.803 2.678-.803 4.285 0 1.339.268 2.411.536 3.75z\"]\n};\nvar faLeanpub = {\n prefix: 'fab',\n iconName: 'leanpub',\n icon: [576, 512, [], \"f212\", \"M386.539 111.485l15.096 248.955-10.979-.275c-36.232-.824-71.64 8.783-102.657 27.997-31.016-19.214-66.424-27.997-102.657-27.997-45.564 0-82.07 10.705-123.516 27.723L93.117 129.6c28.546-11.803 61.484-18.115 92.226-18.115 41.173 0 73.836 13.175 102.657 42.544 27.723-28.271 59.013-41.721 98.539-42.544zM569.07 448c-25.526 0-47.485-5.215-70.542-15.645-34.31-15.645-69.993-24.978-107.871-24.978-38.977 0-74.934 12.901-102.657 40.623-27.723-27.723-63.68-40.623-102.657-40.623-37.878 0-73.561 9.333-107.871 24.978C55.239 442.236 32.731 448 8.303 448H6.93L49.475 98.859C88.726 76.626 136.486 64 181.775 64 218.83 64 256.984 71.685 288 93.095 319.016 71.685 357.17 64 394.225 64c45.289 0 93.049 12.626 132.3 34.859L569.07 448zm-43.368-44.741l-34.036-280.246c-30.742-13.999-67.248-21.41-101.009-21.41-38.428 0-74.385 12.077-102.657 38.702-28.272-26.625-64.228-38.702-102.657-38.702-33.761 0-70.267 7.411-101.009 21.41L50.298 403.259c47.211-19.487 82.894-33.486 135.045-33.486 37.604 0 70.817 9.606 102.657 29.644 31.84-20.038 65.052-29.644 102.657-29.644 52.151 0 87.834 13.999 135.045 33.486z\"]\n};\nvar faBlackTie = {\n prefix: 'fab',\n iconName: 'black-tie',\n icon: [448, 512, [], \"f27e\", \"M0 32v448h448V32H0zm316.5 325.2L224 445.9l-92.5-88.7 64.5-184-64.5-86.6h184.9L252 173.2l64.5 184z\"]\n};\nvar faThemeco = {\n prefix: 'fab',\n iconName: 'themeco',\n icon: [448, 512, [], \"f5c6\", \"M202.9 8.43c9.9-5.73 26-5.82 35.95-.21L430 115.85c10 5.6 18 19.44 18 30.86V364c0 11.44-8.06 25.29-18 31L238.81 503.74c-9.93 5.66-26 5.57-35.85-.21L17.86 395.12C8 389.34 0 375.38 0 364V146.71c0-11.44 8-25.36 17.91-31.08zm-77.4 199.83c-15.94 0-31.89.14-47.83.14v101.45H96.8V280h28.7c49.71 0 49.56-71.74 0-71.74zm140.14 100.29l-30.73-34.64c37-7.51 34.8-65.23-10.87-65.51-16.09 0-32.17-.14-48.26-.14v101.59h19.13v-33.91h18.41l29.56 33.91h22.76zm-41.59-82.32c23.34 0 23.26 32.46 0 32.46h-29.13v-32.46zm-95.56-1.6c21.18 0 21.11 38.85 0 38.85H96.18v-38.84zm192.65-18.25c-68.46 0-71 105.8 0 105.8 69.48-.01 69.41-105.8 0-105.8zm0 17.39c44.12 0 44.8 70.86 0 70.86s-44.43-70.86 0-70.86z\"]\n};\nvar faPython = {\n prefix: 'fab',\n iconName: 'python',\n icon: [448, 512, [], \"f3e2\", \"M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z\"]\n};\nvar faAndroid = {\n prefix: 'fab',\n iconName: 'android',\n icon: [576, 512, [], \"f17b\", \"M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55\"]\n};\nvar faBots = {\n prefix: 'fab',\n iconName: 'bots',\n icon: [640, 512, [], \"e340\", \"M86.344,197.834a51.767,51.767,0,0,0-41.57,20.058V156.018a8.19,8.19,0,0,0-8.19-8.19H8.19A8.19,8.19,0,0,0,0,156.018V333.551a8.189,8.189,0,0,0,8.19,8.189H36.584a8.189,8.189,0,0,0,8.19-8.189v-8.088c11.628,13.373,25.874,19.769,41.573,19.769,34.6,0,61.922-26.164,61.922-73.843C148.266,225.452,121.229,197.834,86.344,197.834ZM71.516,305.691c-9.593,0-21.221-4.942-26.745-12.5V250.164c5.528-7.558,17.152-12.791,26.745-12.791,17.734,0,31.107,13.082,31.107,34.013C102.623,292.609,89.25,305.691,71.516,305.691Zm156.372-59.032a17.4,17.4,0,1,0,17.4,17.4A17.4,17.4,0,0,0,227.888,246.659ZM273.956,156.7V112.039a13.308,13.308,0,1,0-10.237,0V156.7a107.49,107.49,0,1,0,10.237,0Zm85.993,107.367c0,30.531-40.792,55.281-91.112,55.281s-91.111-24.75-91.111-55.281,40.792-55.281,91.111-55.281S359.949,233.532,359.949,264.062Zm-50.163,17.4a17.4,17.4,0,1,0-17.4-17.4h0A17.4,17.4,0,0,0,309.786,281.466ZM580.7,250.455c-14.828-2.617-22.387-3.78-22.387-9.885,0-5.523,7.268-9.884,17.735-9.884a65.56,65.56,0,0,1,34.484,10.1,8.171,8.171,0,0,0,11.288-2.468c.07-.11.138-.221.2-.333l8.611-14.886a8.2,8.2,0,0,0-2.867-11.123,99.863,99.863,0,0,0-52.014-14.138c-38.956,0-60.179,21.514-60.179,46.225,0,36.342,33.725,41.864,57.563,45.642,13.373,2.326,24.13,4.361,24.13,11.048,0,6.4-5.523,10.757-18.9,10.757-13.552,0-30.994-6.222-42.623-13.579a8.206,8.206,0,0,0-11.335,2.491c-.035.054-.069.108-.1.164l-10.2,16.891a8.222,8.222,0,0,0,2.491,11.066c15.224,10.3,37.663,16.692,59.441,16.692,40.409,0,63.957-19.769,63.957-46.515C640,260.63,604.537,254.816,580.7,250.455Zm-95.928,60.787a8.211,8.211,0,0,0-9.521-5.938,23.168,23.168,0,0,1-4.155.387c-7.849,0-12.5-6.106-12.5-14.245V240.28h20.349a8.143,8.143,0,0,0,8.141-8.143V209.466a8.143,8.143,0,0,0-8.141-8.143H458.594V171.091a8.143,8.143,0,0,0-8.143-8.143H422.257a8.143,8.143,0,0,0-8.143,8.143h0v30.232H399a8.143,8.143,0,0,0-8.143,8.143h0v22.671A8.143,8.143,0,0,0,399,240.28h15.115v63.667c0,27.037,15.408,41.282,43.9,41.282,12.183,0,21.383-2.2,27.6-5.446a8.161,8.161,0,0,0,4.145-9.278Z\"]\n};\nvar faFreeCodeCamp = {\n prefix: 'fab',\n iconName: 'free-code-camp',\n icon: [576, 512, [], \"f2c5\", \"M97.22,96.21c10.36-10.65,16-17.12,16-21.9,0-2.76-1.92-5.51-3.83-7.42A14.81,14.81,0,0,0,101,64.05c-8.48,0-20.92,8.79-35.84,25.69C23.68,137,2.51,182.81,3.37,250.34s17.47,117,54.06,161.87C76.22,435.86,90.62,448,100.9,448a13.55,13.55,0,0,0,8.37-3.84c1.91-2.76,3.81-5.63,3.81-8.38,0-5.63-3.86-12.2-13.2-20.55-44.45-42.33-67.32-97-67.48-165C32.25,188.8,54,137.83,97.22,96.21ZM239.47,420.07c.58.37.91.55.91.55Zm93.79.55.17-.13C333.24,420.62,333.17,420.67,333.26,420.62Zm3.13-158.18c-16.24-4.15,50.41-82.89-68.05-177.17,0,0,15.54,49.38-62.83,159.57-74.27,104.35,23.46,168.73,34,175.23-6.73-4.35-47.4-35.7,9.55-128.64,11-18.3,25.53-34.87,43.5-72.16,0,0,15.91,22.45,7.6,71.13C287.7,364,354,342.91,355,343.94c22.75,26.78-17.72,73.51-21.58,76.55,5.49-3.65,117.71-78,33-188.1C360.43,238.4,352.62,266.59,336.39,262.44ZM510.88,89.69C496,72.79,483.52,64,475,64a14.81,14.81,0,0,0-8.39,2.84c-1.91,1.91-3.83,4.66-3.83,7.42,0,4.78,5.6,11.26,16,21.9,43.23,41.61,65,92.59,64.82,154.06-.16,68-23,122.63-67.48,165-9.34,8.35-13.18,14.92-13.2,20.55,0,2.75,1.9,5.62,3.81,8.38A13.61,13.61,0,0,0,475.1,448c10.28,0,24.68-12.13,43.47-35.79,36.59-44.85,53.14-94.38,54.06-161.87S552.32,137,510.88,89.69Z\"]\n};\nvar faHornbill = {\n prefix: 'fab',\n iconName: 'hornbill',\n icon: [512, 512, [], \"f592\", \"M76.38 370.3a37.8 37.8 0 1 1-32.07-32.42c-78.28-111.35 52-190.53 52-190.53-5.86 43-8.24 91.16-8.24 91.16-67.31 41.49.93 64.06 39.81 72.87a140.38 140.38 0 0 0 131.66 91.94c1.92 0 3.77-.21 5.67-.28l.11 18.86c-99.22 1.39-158.7-29.14-188.94-51.6zm108-327.7A37.57 37.57 0 0 0 181 21.45a37.95 37.95 0 1 0-31.17 54.22c-22.55 29.91-53.83 89.57-52.42 190l21.84-.15c0-.9-.14-1.77-.14-2.68A140.42 140.42 0 0 1 207 132.71c8-37.71 30.7-114.3 73.8-44.29 0 0 48.14 2.38 91.18 8.24 0 0-77.84-128-187.59-54.06zm304.19 134.17a37.94 37.94 0 1 0-53.84-28.7C403 126.13 344.89 99 251.28 100.33l.14 22.5c2.7-.15 5.39-.41 8.14-.41a140.37 140.37 0 0 1 130.49 88.76c39.1 9 105.06 31.58 38.46 72.54 0 0-2.34 48.13-8.21 91.16 0 0 133.45-81.16 49-194.61a37.45 37.45 0 0 0 19.31-3.5zM374.06 436.24c21.43-32.46 46.42-89.69 45.14-179.66l-19.52.14c.08 2.06.3 4.07.3 6.15a140.34 140.34 0 0 1-91.39 131.45c-8.85 38.95-31.44 106.66-72.77 39.49 0 0-48.12-2.34-91.19-8.22 0 0 79.92 131.34 191.9 51a37.5 37.5 0 0 0 3.64 14 37.93 37.93 0 1 0 33.89-54.29z\"]\n};\nvar faJs = {\n prefix: 'fab',\n iconName: 'js',\n icon: [448, 512, [], \"f3b8\", \"M0 32v448h448V32H0zm243.8 349.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"]\n};\nvar faIdeal = {\n prefix: 'fab',\n iconName: 'ideal',\n icon: [576, 512, [], \"e013\", \"M125.61,165.48a49.07,49.07,0,1,0,49.06,49.06A49.08,49.08,0,0,0,125.61,165.48ZM86.15,425.84h78.94V285.32H86.15Zm151.46-211.6c0-20-10-22.53-18.74-22.53H204.82V237.5h14.05C228.62,237.5,237.61,234.69,237.61,214.24Zm201.69,46V168.93h22.75V237.5h33.69C486.5,113.08,388.61,86.19,299.67,86.19H204.84V169h14c25.6,0,41.5,17.35,41.5,45.26,0,28.81-15.52,46-41.5,46h-14V425.88h94.83c144.61,0,194.94-67.16,196.72-165.64Zm-109.75,0H273.3V169h54.43v22.73H296v10.58h30V225H296V237.5h33.51Zm74.66,0-5.16-17.67H369.31l-5.18,17.67H340.47L368,168.92h32.35l27.53,91.34ZM299.65,32H32V480H299.65c161.85,0,251-79.73,251-224.52C550.62,172,518,32,299.65,32Zm0,426.92H53.07V53.07H299.65c142.1,0,229.9,64.61,229.9,202.41C529.55,389.57,448.55,458.92,299.65,458.92Zm83.86-264.85L376,219.88H392.4l-7.52-25.81Z\"]\n};\nvar faGit = {\n prefix: 'fab',\n iconName: 'git',\n icon: [512, 512, [], \"f1d3\", \"M216.29 158.39H137C97 147.9 6.51 150.63 6.51 233.18c0 30.09 15 51.23 35 61-25.1 23-37 33.85-37 49.21 0 11 4.47 21.14 17.89 26.81C8.13 383.61 0 393.35 0 411.65c0 32.11 28.05 50.82 101.63 50.82 70.75 0 111.79-26.42 111.79-73.18 0-58.66-45.16-56.5-151.63-63l13.43-21.55c27.27 7.58 118.7 10 118.7-67.89 0-18.7-7.73-31.71-15-41.07l37.41-2.84zm-63.42 241.9c0 32.06-104.89 32.1-104.89 2.43 0-8.14 5.27-15 10.57-21.54 77.71 5.3 94.32 3.37 94.32 19.11zm-50.81-134.58c-52.8 0-50.46-71.16 1.2-71.16 49.54 0 50.82 71.16-1.2 71.16zm133.3 100.51v-32.1c26.75-3.66 27.24-2 27.24-11V203.61c0-8.5-2.05-7.38-27.24-16.26l4.47-32.92H324v168.71c0 6.51.4 7.32 6.51 8.14l20.73 2.84v32.1zm52.45-244.31c-23.17 0-36.59-13.43-36.59-36.61s13.42-35.77 36.59-35.77c23.58 0 37 12.62 37 35.77s-13.42 36.61-37 36.61zM512 350.46c-17.49 8.53-43.1 16.26-66.28 16.26-48.38 0-66.67-19.5-66.67-65.46V194.75c0-5.42 1.05-4.06-31.71-4.06V154.5c35.78-4.07 50-22 54.47-66.27h38.63c0 65.83-1.34 61.81 3.26 61.81H501v40.65h-60.56v97.15c0 6.92-4.92 51.41 60.57 26.84z\"]\n};\nvar faDev = {\n prefix: 'fab',\n iconName: 'dev',\n icon: [448, 512, [], \"f6cc\", \"M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z\"]\n};\nvar faSketch = {\n prefix: 'fab',\n iconName: 'sketch',\n icon: [512, 512, [], \"f7c6\", \"M27.5 162.2L9 187.1h90.5l6.9-130.7-78.9 105.8zM396.3 45.7L267.7 32l135.7 147.2-7.1-133.5zM112.2 218.3l-11.2-22H9.9L234.8 458zm2-31.2h284l-81.5-88.5L256.3 33zm297.3 9.1L277.6 458l224.8-261.7h-90.9zM415.4 69L406 56.4l.9 17.3 6.1 113.4h90.3zM113.5 93.5l-4.6 85.6L244.7 32 116.1 45.7zm287.7 102.7h-290l42.4 82.9L256.3 480l144.9-283.8z\"]\n};\nvar faYandexInternational = {\n prefix: 'fab',\n iconName: 'yandex-international',\n icon: [320, 512, [], \"f414\", \"M129.5 512V345.9L18.5 48h55.8l81.8 229.7L250.2 0h51.3L180.8 347.8V512h-51.3z\"]\n};\nvar faCcAmex = {\n prefix: 'fab',\n iconName: 'cc-amex',\n icon: [576, 512, [], \"f1f3\", \"M48 480C21.49 480 0 458.5 0 432V80C0 53.49 21.49 32 48 32H528C554.5 32 576 53.49 576 80V82.43H500.5L483.5 130L466.6 82.43H369.4V145.6L341.3 82.43H262.7L181 267.1H246.8V430.9H450.5L482.4 395.8L514.3 430.9H576V432C576 458.5 554.5 480 528 480H48zM482.6 364L440.4 410.3H390.5L458 338.6L390.5 266.1H441.9L483.4 312.8L525.4 266.1H576L508 338.2L576 410.3H524.6L482.6 364zM576 296.9V380.2L536.7 338.3L576 296.9zM307.6 377.1H390.6V410.3H268.6V267.1H390.6V300.2H307.6V322.6H388.5V354.9H307.6V377.2V377.1zM537.3 145.7L500.4 246.3H466L429.2 146V246.3H390.5V103H451.7L483.6 192.3L515.8 103H576V246.3H537.3V145.7zM334.5 217.6H268.6L256.7 246.3H213.7L276.1 103H327.3L390.6 246.3H346.5L334.5 217.6zM301.5 138.5L282 185.4H320.9L301.5 138.5z\"]\n};\nvar faUber = {\n prefix: 'fab',\n iconName: 'uber',\n icon: [448, 512, [], \"f402\", \"M414.1 32H33.9C15.2 32 0 47.2 0 65.9V446c0 18.8 15.2 34 33.9 34H414c18.7 0 33.9-15.2 33.9-33.9V65.9C448 47.2 432.8 32 414.1 32zM237.6 391.1C163 398.6 96.4 344.2 88.9 269.6h94.4V290c0 3.7 3 6.8 6.8 6.8H258c3.7 0 6.8-3 6.8-6.8v-67.9c0-3.7-3-6.8-6.8-6.8h-67.9c-3.7 0-6.8 3-6.8 6.8v20.4H88.9c7-69.4 65.4-122.2 135.1-122.2 69.7 0 128.1 52.8 135.1 122.2 7.5 74.5-46.9 141.1-121.5 148.6z\"]\n};\nvar faGithub = {\n prefix: 'fab',\n iconName: 'github',\n icon: [496, 512, [], \"f09b\", \"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\"]\n};\nvar faPhp = {\n prefix: 'fab',\n iconName: 'php',\n icon: [640, 512, [], \"f457\", \"M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z\"]\n};\nvar faAlipay = {\n prefix: 'fab',\n iconName: 'alipay',\n icon: [448, 512, [], \"f642\", \"M377.74 32H70.26C31.41 32 0 63.41 0 102.26v307.48C0 448.59 31.41 480 70.26 480h307.48c38.52 0 69.76-31.08 70.26-69.6-45.96-25.62-110.59-60.34-171.6-88.44-32.07 43.97-84.14 81-148.62 81-70.59 0-93.73-45.3-97.04-76.37-3.97-39.01 14.88-81.5 99.52-81.5 35.38 0 79.35 10.25 127.13 24.96 16.53-30.09 26.45-60.34 26.45-60.34h-178.2v-16.7h92.08v-31.24H88.28v-19.01h109.44V92.34h50.92v50.42h109.44v19.01H248.63v31.24h88.77s-15.21 46.62-38.35 90.92c48.93 16.7 100.01 36.04 148.62 52.74V102.26C447.83 63.57 416.43 32 377.74 32zM47.28 322.95c.99 20.17 10.25 53.73 69.93 53.73 52.07 0 92.58-39.68 117.87-72.9-44.63-18.68-84.48-31.41-109.44-31.41-67.45 0-79.35 33.06-78.36 50.58z\"]\n};\nvar faYoutube = {\n prefix: 'fab',\n iconName: 'youtube',\n icon: [576, 512, [61802], \"f167\", \"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z\"]\n};\nvar faSkyatlas = {\n prefix: 'fab',\n iconName: 'skyatlas',\n icon: [640, 512, [], \"f216\", \"M640 329.3c0 65.9-52.5 114.4-117.5 114.4-165.9 0-196.6-249.7-359.7-249.7-146.9 0-147.1 212.2 5.6 212.2 42.5 0 90.9-17.8 125.3-42.5 5.6-4.1 16.9-16.3 22.8-16.3s10.9 5 10.9 10.9c0 7.8-13.1 19.1-18.7 24.1-40.9 35.6-100.3 61.2-154.7 61.2-83.4.1-154-59-154-144.9s67.5-149.1 152.8-149.1c185.3 0 222.5 245.9 361.9 245.9 99.9 0 94.8-139.7 3.4-139.7-17.5 0-35 11.6-46.9 11.6-8.4 0-15.9-7.2-15.9-15.6 0-11.6 5.3-23.7 5.3-36.3 0-66.6-50.9-114.7-116.9-114.7-53.1 0-80 36.9-88.8 36.9-6.2 0-11.2-5-11.2-11.2 0-5.6 4.1-10.3 7.8-14.4 25.3-28.8 64.7-43.7 102.8-43.7 79.4 0 139.1 58.4 139.1 137.8 0 6.9-.3 13.7-1.2 20.6 11.9-3.1 24.1-4.7 35.9-4.7 60.7 0 111.9 45.3 111.9 107.2z\"]\n};\nvar faFirefoxBrowser = {\n prefix: 'fab',\n iconName: 'firefox-browser',\n icon: [512, 512, [], \"e007\", \"M130.22 127.548C130.38 127.558 130.3 127.558 130.22 127.548V127.548ZM481.64 172.898C471.03 147.398 449.56 119.898 432.7 111.168C446.42 138.058 454.37 165.048 457.4 185.168C457.405 185.306 457.422 185.443 457.45 185.578C429.87 116.828 383.098 89.1089 344.9 28.7479C329.908 5.05792 333.976 3.51792 331.82 4.08792L331.7 4.15792C284.99 30.1109 256.365 82.5289 249.12 126.898C232.503 127.771 216.219 131.895 201.19 139.035C199.838 139.649 198.736 140.706 198.066 142.031C197.396 143.356 197.199 144.87 197.506 146.323C197.7 147.162 198.068 147.951 198.586 148.639C199.103 149.327 199.76 149.899 200.512 150.318C201.264 150.737 202.096 150.993 202.954 151.071C203.811 151.148 204.676 151.045 205.491 150.768L206.011 150.558C221.511 143.255 238.408 139.393 255.541 139.238C318.369 138.669 352.698 183.262 363.161 201.528C350.161 192.378 326.811 183.338 304.341 187.248C392.081 231.108 368.541 381.784 246.951 376.448C187.487 373.838 149.881 325.467 146.421 285.648C146.421 285.648 157.671 243.698 227.041 243.698C234.541 243.698 255.971 222.778 256.371 216.698C256.281 214.698 213.836 197.822 197.281 181.518C188.434 172.805 184.229 168.611 180.511 165.458C178.499 163.75 176.392 162.158 174.201 160.688C168.638 141.231 168.399 120.638 173.51 101.058C148.45 112.468 128.96 130.508 114.8 146.428H114.68C105.01 134.178 105.68 93.7779 106.25 85.3479C106.13 84.8179 99.022 89.0159 98.1 89.6579C89.5342 95.7103 81.5528 102.55 74.26 110.088C57.969 126.688 30.128 160.242 18.76 211.318C14.224 231.701 12 255.739 12 263.618C12 398.318 121.21 507.508 255.92 507.508C376.56 507.508 478.939 420.281 496.35 304.888C507.922 228.192 481.64 173.82 481.64 172.898Z\"]\n};\nvar faReplyd = {\n prefix: 'fab',\n iconName: 'replyd',\n icon: [448, 512, [], \"f3e6\", \"M320 480H128C57.6 480 0 422.4 0 352V160C0 89.6 57.6 32 128 32h192c70.4 0 128 57.6 128 128v192c0 70.4-57.6 128-128 128zM193.4 273.2c-6.1-2-11.6-3.1-16.4-3.1-7.2 0-13.5 1.9-18.9 5.6-5.4 3.7-9.6 9-12.8 15.8h-1.1l-4.2-18.3h-28v138.9h36.1v-89.7c1.5-5.4 4.4-9.8 8.7-13.2 4.3-3.4 9.8-5.1 16.2-5.1 4.6 0 9.8 1 15.6 3.1l4.8-34zm115.2 103.4c-3.2 2.4-7.7 4.8-13.7 7.1-6 2.3-12.8 3.5-20.4 3.5-12.2 0-21.1-3-26.5-8.9-5.5-5.9-8.5-14.7-9-26.4h83.3c.9-4.8 1.6-9.4 2.1-13.9.5-4.4.7-8.6.7-12.5 0-10.7-1.6-19.7-4.7-26.9-3.2-7.2-7.3-13-12.5-17.2-5.2-4.3-11.1-7.3-17.8-9.2-6.7-1.8-13.5-2.8-20.6-2.8-21.1 0-37.5 6.1-49.2 18.3s-17.5 30.5-17.5 55c0 22.8 5.2 40.7 15.6 53.7 10.4 13.1 26.8 19.6 49.2 19.6 10.7 0 20.9-1.5 30.4-4.6 9.5-3.1 17.1-6.8 22.6-11.2l-12-23.6zm-21.8-70.3c3.8 5.4 5.3 13.1 4.6 23.1h-51.7c.9-9.4 3.7-17 8.2-22.6 4.5-5.6 11.5-8.5 21-8.5 8.2-.1 14.1 2.6 17.9 8zm79.9 2.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4s2 11.7 6.1 15.6zm0 100.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4 0 6.6 2 11.7 6.1 15.6z\"]\n};\nvar faSuse = {\n prefix: 'fab',\n iconName: 'suse',\n icon: [640, 512, [], \"f7d6\", \"M471.08 102.66s-.3 18.3-.3 20.3c-9.1-3-74.4-24.1-135.7-26.3-51.9-1.8-122.8-4.3-223 57.3-19.4 12.4-73.9 46.1-99.6 109.7C7 277-.12 307 7 335.06a111 111 0 0 0 16.5 35.7c17.4 25 46.6 41.6 78.1 44.4 44.4 3.9 78.1-16 90-53.3 8.2-25.8 0-63.6-31.5-82.9-25.6-15.7-53.3-12.1-69.2-1.6-13.9 9.2-21.8 23.5-21.6 39.2.3 27.8 24.3 42.6 41.5 42.6a49 49 0 0 0 15.8-2.7c6.5-1.8 13.3-6.5 13.3-14.9 0-12.1-11.6-14.8-16.8-13.9-2.9.5-4.5 2-11.8 2.4-2-.2-12-3.1-12-14V316c.2-12.3 13.2-18 25.5-16.9 32.3 2.8 47.7 40.7 28.5 65.7-18.3 23.7-76.6 23.2-99.7-20.4-26-49.2 12.7-111.2 87-98.4 33.2 5.7 83.6 35.5 102.4 104.3h45.9c-5.7-17.6-8.9-68.3 42.7-68.3 56.7 0 63.9 39.9 79.8 68.3H460c-12.8-18.3-21.7-38.7-18.9-55.8 5.6-33.8 39.7-18.4 82.4-17.4 66.5.4 102.1-27 103.1-28 3.7-3.1 6.5-15.8 7-17.7 1.3-5.1-3.2-2.4-3.2-2.4-8.7 5.2-30.5 15.2-50.9 15.6-25.3.5-76.2-25.4-81.6-28.2-.3-.4.1 1.2-11-25.5 88.4 58.3 118.3 40.5 145.2 21.7.8-.6 4.3-2.9 3.6-5.7-13.8-48.1-22.4-62.7-34.5-69.6-37-21.6-125-34.7-129.2-35.3.1-.1-.9-.3-.9.7zm60.4 72.8a37.54 37.54 0 0 1 38.9-36.3c33.4 1.2 48.8 42.3 24.4 65.2-24.2 22.7-64.4 4.6-63.3-28.9zm38.6-25.3a26.27 26.27 0 1 0 25.4 27.2 26.19 26.19 0 0 0-25.4-27.2zm4.3 28.8c-15.4 0-15.4-15.6 0-15.6s15.4 15.64 0 15.64z\"]\n};\nvar faJenkins = {\n prefix: 'fab',\n iconName: 'jenkins',\n icon: [512, 512, [], \"f3b6\", \"M487.1 425c-1.4-11.2-19-23.1-28.2-31.9-5.1-5-29-23.1-30.4-29.9-1.4-6.6 9.7-21.5 13.3-28.9 5.1-10.7 8.8-23.7 11.3-32.6 18.8-66.1 20.7-156.9-6.2-211.2-10.2-20.6-38.6-49-56.4-62.5-42-31.7-119.6-35.3-170.1-16.6-14.1 5.2-27.8 9.8-40.1 17.1-33.1 19.4-68.3 32.5-78.1 71.6-24.2 10.8-31.5 41.8-30.3 77.8.2 7 4.1 15.8 2.7 22.4-.7 3.3-5.2 7.6-6.1 9.8-11.6 27.7-2.3 64 11.1 83.7 8.1 11.9 21.5 22.4 39.2 25.2.7 10.6 3.3 19.7 8.2 30.4 3.1 6.8 14.7 19 10.4 27.7-2.2 4.4-21 13.8-27.3 17.6C89 407.2 73.7 415 54.2 429c-12.6 9-32.3 10.2-29.2 31.1 2.1 14.1 10.1 31.6 14.7 45.8.7 2 1.4 4.1 2.1 6h422c4.9-15.3 9.7-30.9 14.6-47.2 3.4-11.4 10.2-27.8 8.7-39.7zM205.9 33.7c1.8-.5 3.4.7 4.9 2.4-.2 5.2-5.4 5.1-8.9 6.8-5.4 6.7-13.4 9.8-20 17.2-6.8 7.5-14.4 27.7-23.4 30-4.5 1.1-9.7-.8-13.6-.5-10.4.7-17.7 6-28.3 7.5 13.6-29.9 56.1-54 89.3-63.4zm-104.8 93.6c13.5-14.9 32.1-24.1 54.8-25.9 11.7 29.7-8.4 65-.9 97.6 2.3 9.9 10.2 25.4-2.4 25.7.3-28.3-34.8-46.3-61.3-29.6-1.8-21.5-4.9-51.7 9.8-67.8zm36.7 200.2c-1-4.1-2.7-12.9-2.3-15.1 1.6-8.7 17.1-12.5 11-24.7-11.3-.1-13.8 10.2-24.1 11.3-26.7 2.6-45.6-35.4-44.4-58.4 1-19.5 17.6-38.2 40.1-35.8 16 1.8 21.4 19.2 24.5 34.7 9.2.5 22.5-.4 26.9-7.6-.6-17.5-8.8-31.6-8.2-47.7 1-30.3 17.5-57.6 4.8-87.4 13.6-30.9 53.5-55.3 83.1-70 36.6-18.3 94.9-3.7 129.3 15.8 19.7 11.1 34.4 32.7 48.3 50.7-19.5-5.8-36.1 4.2-33.1 20.3 16.3-14.9 44.2-.2 52.5 16.4 7.9 15.8 7.8 39.3 9 62.8 2.9 57-10.4 115.9-39.1 157.1-7.7 11-14.1 23-24.9 30.6-26 18.2-65.4 34.7-99.2 23.4-44.7-15-65-44.8-89.5-78.8.7 18.7 13.8 34.1 26.8 48.4 11.3 12.5 25 26.6 39.7 32.4-12.3-2.9-31.1-3.8-36.2 7.2-28.6-1.9-55.1-4.8-68.7-24.2-10.6-15.4-21.4-41.4-26.3-61.4zm222 124.1c4.1-3 11.1-2.9 17.4-3.6-5.4-2.7-13-3.7-19.3-2.2-.1-4.2-2-6.8-3.2-10.2 10.6-3.8 35.5-28.5 49.6-20.3 6.7 3.9 9.5 26.2 10.1 37 .4 9-.8 18-4.5 22.8-18.8-.6-35.8-2.8-50.7-7 .9-6.1-1-12.1.6-16.5zm-17.2-20c-16.8.8-26-1.2-38.3-10.8.2-.8 1.4-.5 1.5-1.4 18 8 40.8-3.3 59-4.9-7.9 5.1-14.6 11.6-22.2 17.1zm-12.1 33.2c-1.6-9.4-3.5-12-2.8-20.2 25-16.6 29.7 28.6 2.8 20.2zM226 438.6c-11.6-.7-48.1-14-38.5-23.7 9.4 6.5 27.5 4.9 41.3 7.3.8 4.4-2.8 10.2-2.8 16.4zM57.7 497.1c-4.3-12.7-9.2-25.1-14.8-36.9 30.8-23.8 65.3-48.9 102.2-63.5 2.8-1.1 23.2 25.4 26.2 27.6 16.5 11.7 37 21 56.2 30.2 1.2 8.8 3.9 20.2 8.7 35.5.7 2.3 1.4 4.7 2.2 7.2H57.7zm240.6 5.7h-.8c.3-.2.5-.4.8-.5v.5zm7.5-5.7c2.1-1.4 4.3-2.8 6.4-4.3 1.1 1.4 2.2 2.8 3.2 4.3h-9.6zm15.1-24.7c-10.8 7.3-20.6 18.3-33.3 25.2-6 3.3-27 11.7-33.4 10.2-3.6-.8-3.9-5.3-5.4-9.5-3.1-9-10.1-23.4-10.8-37-.8-17.2-2.5-46 16-42.4 14.9 2.9 32.3 9.7 43.9 16.1 7.1 3.9 11.1 8.6 21.9 9.5-.1 1.4-.1 2.8-.2 4.3-5.9 3.9-15.3 3.8-21.8 7.1 9.5.4 17 2.7 23.5 5.9-.1 3.4-.3 7-.4 10.6zm53.4 24.7h-14c-.1-3.2-2.8-5.8-6.1-5.8s-5.9 2.6-6.1 5.8h-17.4c-2.8-4.4-5.7-8.6-8.9-12.5 2.1-2.2 4-4.7 6-6.9 9 3.7 14.8-4.9 21.7-4.2 7.9.8 14.2 11.7 25.4 11l-.6 12.6zm8.7 0c.2-4 .4-7.8.6-11.5 15.6-7.3 29 1.3 35.7 11.5H383zm83.4-37c-2.3 11.2-5.8 24-9.9 37.1-.2-.1-.4-.1-.6-.1H428c.6-1.1 1.2-2.2 1.9-3.3-2.6-6.1-9-8.7-10.9-15.5 12.1-22.7 6.5-93.4-24.2-78.5 4.3-6.3 15.6-11.5 20.8-19.3 13 10.4 20.8 20.3 33.2 31.4 6.8 6 20 13.3 21.4 23.1.8 5.5-2.6 18.9-3.8 25.1zM222.2 130.5c5.4-14.9 27.2-34.7 45-32 7.7 1.2 18 8.2 12.2 17.7-30.2-7-45.2 12.6-54.4 33.1-8.1-2-4.9-13.1-2.8-18.8zm184.1 63.1c8.2-3.6 22.4-.7 29.6-5.3-4.2-11.5-10.3-21.4-9.3-37.7.5 0 1 0 1.4.1 6.8 14.2 12.7 29.2 21.4 41.7-5.7 13.5-43.6 25.4-43.1 1.2zm20.4-43zm-117.2 45.7c-6.8-10.9-19-32.5-14.5-45.3 6.5 11.9 8.6 24.4 17.8 33.3 4.1 4 12.2 9 8.2 20.2-.9 2.7-7.8 8.6-11.7 9.7-14.4 4.3-47.9.9-36.6-17.1 11.9.7 27.9 7.8 36.8-.8zm27.3 70c3.8 6.6 1.4 18.7 12.1 20.6 20.2 3.4 43.6-12.3 58.1-17.8 9-15.2-.8-20.7-8.9-30.5-16.6-20-38.8-44.8-38-74.7 6.7-4.9 7.3 7.4 8.2 9.7 8.7 20.3 30.4 46.2 46.3 63.5 3.9 4.3 10.3 8.4 11 11.2 2.1 8.2-5.4 18-4.5 23.5-21.7 13.9-45.8 29.1-81.4 25.6-7.4-6.7-10.3-21.4-2.9-31.1zm-201.3-9.2c-6.8-3.9-8.4-21-16.4-21.4-11.4-.7-9.3 22.2-9.3 35.5-7.8-7.1-9.2-29.1-3.5-40.3-6.6-3.2-9.5 3.6-13.1 5.9 4.7-34.1 49.8-15.8 42.3 20.3zm299.6 28.8c-10.1 19.2-24.4 40.4-54 41-.6-6.2-1.1-15.6 0-19.4 22.7-2.2 36.6-13.7 54-21.6zm-141.9 12.4c18.9 9.9 53.6 11 79.3 10.2 1.4 5.6 1.3 12.6 1.4 19.4-33 1.8-72-6.4-80.7-29.6zm92.2 46.7c-1.7 4.3-5.3 9.3-9.8 11.1-12.1 4.9-45.6 8.7-62.4-.3-10.7-5.7-17.5-18.5-23.4-26-2.8-3.6-16.9-12.9-.2-12.9 13.1 32.7 58 29 95.8 28.1z\"]\n};\nvar faTwitter = {\n prefix: 'fab',\n iconName: 'twitter',\n icon: [512, 512, [], \"f099\", \"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z\"]\n};\nvar faRockrms = {\n prefix: 'fab',\n iconName: 'rockrms',\n icon: [496, 512, [], \"f3e9\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm157.4 419.5h-90l-112-131.3c-17.9-20.4-3.9-56.1 26.6-56.1h75.3l-84.6-99.3-84.3 98.9h-90L193.5 67.2c14.4-18.4 41.3-17.3 54.5 0l157.7 185.1c19 22.8 2 57.2-27.6 56.1-.6 0-74.2.2-74.2.2l101.5 118.9z\"]\n};\nvar faPinterest = {\n prefix: 'fab',\n iconName: 'pinterest',\n icon: [496, 512, [], \"f0d2\", \"M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z\"]\n};\nvar faBuffer = {\n prefix: 'fab',\n iconName: 'buffer',\n icon: [448, 512, [], \"f837\", \"M427.84 380.67l-196.5 97.82a18.6 18.6 0 0 1-14.67 0L20.16 380.67c-4-2-4-5.28 0-7.29L67.22 350a18.65 18.65 0 0 1 14.69 0l134.76 67a18.51 18.51 0 0 0 14.67 0l134.76-67a18.62 18.62 0 0 1 14.68 0l47.06 23.43c4.05 1.96 4.05 5.24 0 7.24zm0-136.53l-47.06-23.43a18.62 18.62 0 0 0-14.68 0l-134.76 67.08a18.68 18.68 0 0 1-14.67 0L81.91 220.71a18.65 18.65 0 0 0-14.69 0l-47.06 23.43c-4 2-4 5.29 0 7.31l196.51 97.8a18.6 18.6 0 0 0 14.67 0l196.5-97.8c4.05-2.02 4.05-5.3 0-7.31zM20.16 130.42l196.5 90.29a20.08 20.08 0 0 0 14.67 0l196.51-90.29c4-1.86 4-4.89 0-6.74L231.33 33.4a19.88 19.88 0 0 0-14.67 0l-196.5 90.28c-4.05 1.85-4.05 4.88 0 6.74z\"]\n};\nvar faNpm = {\n prefix: 'fab',\n iconName: 'npm',\n icon: [576, 512, [], \"f3d4\", \"M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z\"]\n};\nvar faYammer = {\n prefix: 'fab',\n iconName: 'yammer',\n icon: [512, 512, [], \"f840\", \"M500.676,159.486a12.779,12.779,0,0,0-6.4-8.282,13.954,13.954,0,0,0-10.078-1.125L457.8,156.7l-.043-.2-22.3,5.785-1.243.333-.608-2.17A369.037,369.037,0,0,0,347.538,4.289a14.1,14.1,0,0,0-19.784-.463l-102.9,102.747H24.947A24.9,24.9,0,0,0,0,131.417V380.38a24.963,24.963,0,0,0,24.918,24.9H224.986L328.072,508a13.667,13.667,0,0,0,19.327,0c.126-.126.249-.255.37-.385a368.025,368.025,0,0,0,69.577-107.374,403.45,403.45,0,0,0,17.3-50.8v-.028l20.406,5.336.029-.073L483.345,362a20.253,20.253,0,0,0,2.619.5,13.359,13.359,0,0,0,4.139-.072,13.5,13.5,0,0,0,10.515-9.924,415.855,415.855,0,0,0,.058-193.013ZM337.125,24.65l.013.014h-.013Zm-110.2,165.161L174.311,281.1a11.338,11.338,0,0,0-1.489,5.655v46.189a22.04,22.04,0,0,1-22.041,22h-3.4A22.068,22.068,0,0,1,125.3,332.962V287.294a11.532,11.532,0,0,0-1.388-5.51l-51.6-92.2a21.988,21.988,0,0,1,19.264-32.726h3.268a22.059,22.059,0,0,1,19.611,11.916l36.357,70.281,37.515-70.512a22.066,22.066,0,0,1,38.556-.695,21.7,21.7,0,0,1,0,21.967ZM337.145,24.673a348.147,348.147,0,0,1,75.8,141.335l.564,1.952-114.134,29.6V131.417a25.006,25.006,0,0,0-24.947-24.9H255.067Zm60.5,367.305v-.043l-.014.014a347.19,347.19,0,0,1-60.177,95.227l-82.2-81.893h19.177a24.978,24.978,0,0,0,24.947-24.9v-66.2l114.6,29.862A385.191,385.191,0,0,1,397.648,391.978Zm84-52.45.015.014-50.618-13.131L299.379,292.1V219.572l119.746-30.99,4.468-1.157,39.54-10.253,18.511-4.816A393,393,0,0,1,481.644,339.528Z\"]\n};\nvar faBtc = {\n prefix: 'fab',\n iconName: 'btc',\n icon: [384, 512, [], \"f15a\", \"M310.204 242.638c27.73-14.18 45.377-39.39 41.28-81.3-5.358-57.351-52.458-76.573-114.85-81.929V0h-48.528v77.203c-12.605 0-25.525.315-38.444.63V0h-48.528v79.409c-17.842.539-38.622.276-97.37 0v51.678c38.314-.678 58.417-3.14 63.023 21.427v217.429c-2.925 19.492-18.524 16.685-53.255 16.071L3.765 443.68c88.481 0 97.37.315 97.37.315V512h48.528v-67.06c13.234.315 26.154.315 38.444.315V512h48.528v-68.005c81.299-4.412 135.647-24.894 142.895-101.467 5.671-61.446-23.32-88.862-69.326-99.89zM150.608 134.553c27.415 0 113.126-8.507 113.126 48.528 0 54.515-85.71 48.212-113.126 48.212v-96.74zm0 251.776V279.821c32.772 0 133.127-9.138 133.127 53.255-.001 60.186-100.355 53.253-133.127 53.253z\"]\n};\nvar faDribbble = {\n prefix: 'fab',\n iconName: 'dribbble',\n icon: [512, 512, [], \"f17d\", \"M256 8C119.252 8 8 119.252 8 256s111.252 248 248 248 248-111.252 248-248S392.748 8 256 8zm163.97 114.366c29.503 36.046 47.369 81.957 47.835 131.955-6.984-1.477-77.018-15.682-147.502-6.818-5.752-14.041-11.181-26.393-18.617-41.614 78.321-31.977 113.818-77.482 118.284-83.523zM396.421 97.87c-3.81 5.427-35.697 48.286-111.021 76.519-34.712-63.776-73.185-116.168-79.04-124.008 67.176-16.193 137.966 1.27 190.061 47.489zm-230.48-33.25c5.585 7.659 43.438 60.116 78.537 122.509-99.087 26.313-186.36 25.934-195.834 25.809C62.38 147.205 106.678 92.573 165.941 64.62zM44.17 256.323c0-2.166.043-4.322.108-6.473 9.268.19 111.92 1.513 217.706-30.146 6.064 11.868 11.857 23.915 17.174 35.949-76.599 21.575-146.194 83.527-180.531 142.306C64.794 360.405 44.17 310.73 44.17 256.323zm81.807 167.113c22.127-45.233 82.178-103.622 167.579-132.756 29.74 77.283 42.039 142.053 45.189 160.638-68.112 29.013-150.015 21.053-212.768-27.882zm248.38 8.489c-2.171-12.886-13.446-74.897-41.152-151.033 66.38-10.626 124.7 6.768 131.947 9.055-9.442 58.941-43.273 109.844-90.795 141.978z\"]\n};\nvar faStumbleuponCircle = {\n prefix: 'fab',\n iconName: 'stumbleupon-circle',\n icon: [496, 512, [], \"f1a3\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 177.5c-9.8 0-17.8 8-17.8 17.8v106.9c0 40.9-33.9 73.9-74.9 73.9-41.4 0-74.9-33.5-74.9-74.9v-46.5h57.3v45.8c0 10 8 17.8 17.8 17.8s17.8-7.9 17.8-17.8V200.1c0-40 34.2-72.1 74.7-72.1 40.7 0 74.7 32.3 74.7 72.6v23.7l-34.1 10.1-22.9-10.7v-20.6c.1-9.6-7.9-17.6-17.7-17.6zm167.6 123.6c0 41.4-33.5 74.9-74.9 74.9-41.2 0-74.9-33.2-74.9-74.2V263l22.9 10.7 34.1-10.1v47.1c0 9.8 8 17.6 17.8 17.6s17.8-7.9 17.8-17.6v-48h57.3c-.1 45.9-.1 46.4-.1 46.4z\"]\n};\nvar faInternetExplorer = {\n prefix: 'fab',\n iconName: 'internet-explorer',\n icon: [512, 512, [], \"f26b\", \"M483.049 159.706c10.855-24.575 21.424-60.438 21.424-87.871 0-72.722-79.641-98.371-209.673-38.577-107.632-7.181-211.221 73.67-237.098 186.457 30.852-34.862 78.271-82.298 121.977-101.158C125.404 166.85 79.128 228.002 43.992 291.725 23.246 329.651 0 390.94 0 436.747c0 98.575 92.854 86.5 180.251 42.006 31.423 15.43 66.559 15.573 101.695 15.573 97.124 0 184.249-54.294 216.814-146.022H377.927c-52.509 88.593-196.819 52.996-196.819-47.436H509.9c6.407-43.581-1.655-95.715-26.851-141.162zM64.559 346.877c17.711 51.15 53.703 95.871 100.266 123.304-88.741 48.94-173.267 29.096-100.266-123.304zm115.977-108.873c2-55.151 50.276-94.871 103.98-94.871 53.418 0 101.981 39.72 103.981 94.871H180.536zm184.536-187.6c21.425-10.287 48.563-22.003 72.558-22.003 31.422 0 54.274 21.717 54.274 53.722 0 20.003-7.427 49.007-14.569 67.867-26.28-42.292-65.986-81.584-112.263-99.586z\"]\n};\nvar faStubber = {\n prefix: 'fab',\n iconName: 'stubber',\n icon: [448, 512, [], \"e5c7\", \"M136.5 294.2l58.8 22.9c9.1-36.8 25.4-61.1 55-61.1c49.4 0 71.4 63.6 142.4 63.6c15.6 0 35.9-2.8 55.3-13.3V368c0 61.8-50.4 112-112.3 112H0l41.8-56L0 368l41.7-56L0 256.1l41.8-56L0 144.1 41.8 88 0 32H335.7C397.6 32 448 82.3 448 144.1v51.3c-9.2 36.3-25.9 60.6-55 60.6c-49.6 0-71.6-63.5-142.4-63.5c-35.9 0-95.2 14.6-114.1 101.6h0z\"]\n};\nvar faTelegram = {\n prefix: 'fab',\n iconName: 'telegram',\n icon: [496, 512, [62462, \"telegram-plane\"], \"f2c6\", \"M248,8C111.033,8,0,119.033,0,256S111.033,504,248,504,496,392.967,496,256,384.967,8,248,8ZM362.952,176.66c-3.732,39.215-19.881,134.378-28.1,178.3-3.476,18.584-10.322,24.816-16.948,25.425-14.4,1.326-25.338-9.517-39.287-18.661-21.827-14.308-34.158-23.215-55.346-37.177-24.485-16.135-8.612-25,5.342-39.5,3.652-3.793,67.107-61.51,68.335-66.746.153-.655.3-3.1-1.154-4.384s-3.59-.849-5.135-.5q-3.283.746-104.608,69.142-14.845,10.194-26.894,9.934c-8.855-.191-25.888-5.006-38.551-9.123-15.531-5.048-27.875-7.717-26.8-16.291q.84-6.7,18.45-13.7,108.446-47.248,144.628-62.3c68.872-28.647,83.183-33.623,92.511-33.789,2.052-.034,6.639.474,9.61,2.885a10.452,10.452,0,0,1,3.53,6.716A43.765,43.765,0,0,1,362.952,176.66Z\"]\n};\nvar faTelegramPlane = faTelegram;\nvar faOldRepublic = {\n prefix: 'fab',\n iconName: 'old-republic',\n icon: [496, 512, [], \"f510\", \"M235.76 10.23c7.5-.31 15-.28 22.5-.09 3.61.14 7.2.4 10.79.73 4.92.27 9.79 1.03 14.67 1.62 2.93.43 5.83.98 8.75 1.46 7.9 1.33 15.67 3.28 23.39 5.4 12.24 3.47 24.19 7.92 35.76 13.21 26.56 12.24 50.94 29.21 71.63 49.88 20.03 20.09 36.72 43.55 48.89 69.19 1.13 2.59 2.44 5.1 3.47 7.74 2.81 6.43 5.39 12.97 7.58 19.63 4.14 12.33 7.34 24.99 9.42 37.83.57 3.14 1.04 6.3 1.4 9.47.55 3.83.94 7.69 1.18 11.56.83 8.34.84 16.73.77 25.1-.07 4.97-.26 9.94-.75 14.89-.24 3.38-.51 6.76-.98 10.12-.39 2.72-.63 5.46-1.11 8.17-.9 5.15-1.7 10.31-2.87 15.41-4.1 18.5-10.3 36.55-18.51 53.63-15.77 32.83-38.83 62.17-67.12 85.12a246.503 246.503 0 0 1-56.91 34.86c-6.21 2.68-12.46 5.25-18.87 7.41-3.51 1.16-7.01 2.38-10.57 3.39-6.62 1.88-13.29 3.64-20.04 5-4.66.91-9.34 1.73-14.03 2.48-5.25.66-10.5 1.44-15.79 1.74-6.69.66-13.41.84-20.12.81-6.82.03-13.65-.12-20.45-.79-3.29-.23-6.57-.5-9.83-.95-2.72-.39-5.46-.63-8.17-1.11-4.12-.72-8.25-1.37-12.35-2.22-4.25-.94-8.49-1.89-12.69-3.02-8.63-2.17-17.08-5.01-25.41-8.13-10.49-4.12-20.79-8.75-30.64-14.25-2.14-1.15-4.28-2.29-6.35-3.57-11.22-6.58-21.86-14.1-31.92-22.34-34.68-28.41-61.41-66.43-76.35-108.7-3.09-8.74-5.71-17.65-7.8-26.68-1.48-6.16-2.52-12.42-3.58-18.66-.4-2.35-.61-4.73-.95-7.09-.6-3.96-.75-7.96-1.17-11.94-.8-9.47-.71-18.99-.51-28.49.14-3.51.34-7.01.7-10.51.31-3.17.46-6.37.92-9.52.41-2.81.65-5.65 1.16-8.44.7-3.94 1.3-7.9 2.12-11.82 3.43-16.52 8.47-32.73 15.26-48.18 1.15-2.92 2.59-5.72 3.86-8.59 8.05-16.71 17.9-32.56 29.49-47.06 20-25.38 45.1-46.68 73.27-62.47 7.5-4.15 15.16-8.05 23.07-11.37 15.82-6.88 32.41-11.95 49.31-15.38 3.51-.67 7.04-1.24 10.56-1.85 2.62-.47 5.28-.7 7.91-1.08 3.53-.53 7.1-.68 10.65-1.04 2.46-.24 4.91-.36 7.36-.51m8.64 24.41c-9.23.1-18.43.99-27.57 2.23-7.3 1.08-14.53 2.6-21.71 4.3-13.91 3.5-27.48 8.34-40.46 14.42-10.46 4.99-20.59 10.7-30.18 17.22-4.18 2.92-8.4 5.8-12.34 9.03-5.08 3.97-9.98 8.17-14.68 12.59-2.51 2.24-4.81 4.7-7.22 7.06-28.22 28.79-48.44 65.39-57.5 104.69-2.04 8.44-3.54 17.02-4.44 25.65-1.1 8.89-1.44 17.85-1.41 26.8.11 7.14.38 14.28 1.22 21.37.62 7.12 1.87 14.16 3.2 21.18 1.07 4.65 2.03 9.32 3.33 13.91 6.29 23.38 16.5 45.7 30.07 65.75 8.64 12.98 18.78 24.93 29.98 35.77 16.28 15.82 35.05 29.04 55.34 39.22 7.28 3.52 14.66 6.87 22.27 9.63 5.04 1.76 10.06 3.57 15.22 4.98 11.26 3.23 22.77 5.6 34.39 7.06 2.91.29 5.81.61 8.72.9 13.82 1.08 27.74 1 41.54-.43 4.45-.6 8.92-.99 13.35-1.78 3.63-.67 7.28-1.25 10.87-2.1 4.13-.98 8.28-1.91 12.36-3.07 26.5-7.34 51.58-19.71 73.58-36.2 15.78-11.82 29.96-25.76 42.12-41.28 3.26-4.02 6.17-8.31 9.13-12.55 3.39-5.06 6.58-10.25 9.6-15.54 2.4-4.44 4.74-8.91 6.95-13.45 5.69-12.05 10.28-24.62 13.75-37.49 2.59-10.01 4.75-20.16 5.9-30.45 1.77-13.47 1.94-27.1 1.29-40.65-.29-3.89-.67-7.77-1-11.66-2.23-19.08-6.79-37.91-13.82-55.8-5.95-15.13-13.53-29.63-22.61-43.13-12.69-18.8-28.24-35.68-45.97-49.83-25.05-20-54.47-34.55-85.65-42.08-7.78-1.93-15.69-3.34-23.63-4.45-3.91-.59-7.85-.82-11.77-1.24-7.39-.57-14.81-.72-22.22-.58zM139.26 83.53c13.3-8.89 28.08-15.38 43.3-20.18-3.17 1.77-6.44 3.38-9.53 5.29-11.21 6.68-21.52 14.9-30.38 24.49-6.8 7.43-12.76 15.73-17.01 24.89-3.29 6.86-5.64 14.19-6.86 21.71-.93 4.85-1.3 9.81-1.17 14.75.13 13.66 4.44 27.08 11.29 38.82 5.92 10.22 13.63 19.33 22.36 27.26 4.85 4.36 10.24 8.09 14.95 12.6 2.26 2.19 4.49 4.42 6.43 6.91 2.62 3.31 4.89 6.99 5.99 11.1.9 3.02.66 6.2.69 9.31.02 4.1-.04 8.2.03 12.3.14 3.54-.02 7.09.11 10.63.08 2.38.02 4.76.05 7.14.16 5.77.06 11.53.15 17.3.11 2.91.02 5.82.13 8.74.03 1.63.13 3.28-.03 4.91-.91.12-1.82.18-2.73.16-10.99 0-21.88-2.63-31.95-6.93-6-2.7-11.81-5.89-17.09-9.83-5.75-4.19-11.09-8.96-15.79-14.31-6.53-7.24-11.98-15.39-16.62-23.95-1.07-2.03-2.24-4.02-3.18-6.12-1.16-2.64-2.62-5.14-3.67-7.82-4.05-9.68-6.57-19.94-8.08-30.31-.49-4.44-1.09-8.88-1.2-13.35-.7-15.73.84-31.55 4.67-46.82 2.12-8.15 4.77-16.18 8.31-23.83 6.32-14.2 15.34-27.18 26.3-38.19 6.28-6.2 13.13-11.84 20.53-16.67zm175.37-20.12c2.74.74 5.41 1.74 8.09 2.68 6.36 2.33 12.68 4.84 18.71 7.96 13.11 6.44 25.31 14.81 35.82 24.97 10.2 9.95 18.74 21.6 25.14 34.34 1.28 2.75 2.64 5.46 3.81 8.26 6.31 15.1 10 31.26 11.23 47.57.41 4.54.44 9.09.45 13.64.07 11.64-1.49 23.25-4.3 34.53-1.97 7.27-4.35 14.49-7.86 21.18-3.18 6.64-6.68 13.16-10.84 19.24-6.94 10.47-15.6 19.87-25.82 27.22-10.48 7.64-22.64 13.02-35.4 15.38-3.51.69-7.08 1.08-10.66 1.21-1.85.06-3.72.16-5.56-.1-.28-2.15 0-4.31-.01-6.46-.03-3.73.14-7.45.1-11.17.19-7.02.02-14.05.21-21.07.03-2.38-.03-4.76.03-7.14.17-5.07-.04-10.14.14-15.21.1-2.99-.24-6.04.51-8.96.66-2.5 1.78-4.86 3.09-7.08 4.46-7.31 11.06-12.96 17.68-18.26 5.38-4.18 10.47-8.77 15.02-13.84 7.68-8.37 14.17-17.88 18.78-28.27 2.5-5.93 4.52-12.1 5.55-18.46.86-4.37 1.06-8.83 1.01-13.27-.02-7.85-1.4-15.65-3.64-23.17-1.75-5.73-4.27-11.18-7.09-16.45-3.87-6.93-8.65-13.31-13.96-19.2-9.94-10.85-21.75-19.94-34.6-27.1-1.85-1.02-3.84-1.82-5.63-2.97zm-100.8 58.45c.98-1.18 1.99-2.33 3.12-3.38-.61.93-1.27 1.81-1.95 2.68-3.1 3.88-5.54 8.31-7.03 13.06-.87 3.27-1.68 6.6-1.73 10-.07 2.52-.08 5.07.32 7.57 1.13 7.63 4.33 14.85 8.77 21.12 2 2.7 4.25 5.27 6.92 7.33 1.62 1.27 3.53 2.09 5.34 3.05 3.11 1.68 6.32 3.23 9.07 5.48 2.67 2.09 4.55 5.33 4.4 8.79-.01 73.67 0 147.34-.01 221.02 0 1.35-.08 2.7.04 4.04.13 1.48.82 2.83 1.47 4.15.86 1.66 1.78 3.34 3.18 4.62.85.77 1.97 1.4 3.15 1.24 1.5-.2 2.66-1.35 3.45-2.57.96-1.51 1.68-3.16 2.28-4.85.76-2.13.44-4.42.54-6.63.14-4.03-.02-8.06.14-12.09.03-5.89.03-11.77.06-17.66.14-3.62.03-7.24.11-10.86.15-4.03-.02-8.06.14-12.09.03-5.99.03-11.98.07-17.97.14-3.62.02-7.24.11-10.86.14-3.93-.02-7.86.14-11.78.03-5.99.03-11.98.06-17.97.16-3.94-.01-7.88.19-11.82.29 1.44.13 2.92.22 4.38.19 3.61.42 7.23.76 10.84.32 3.44.44 6.89.86 10.32.37 3.1.51 6.22.95 9.31.57 4.09.87 8.21 1.54 12.29 1.46 9.04 2.83 18.11 5.09 26.99 1.13 4.82 2.4 9.61 4 14.3 2.54 7.9 5.72 15.67 10.31 22.62 1.73 2.64 3.87 4.98 6.1 7.21.27.25.55.51.88.71.6.25 1.31-.07 1.7-.57.71-.88 1.17-1.94 1.7-2.93 4.05-7.8 8.18-15.56 12.34-23.31.7-1.31 1.44-2.62 2.56-3.61 1.75-1.57 3.84-2.69 5.98-3.63 2.88-1.22 5.9-2.19 9.03-2.42 6.58-.62 13.11.75 19.56 1.85 3.69.58 7.4 1.17 11.13 1.41 3.74.1 7.48.05 11.21-.28 8.55-.92 16.99-2.96 24.94-6.25 5.3-2.24 10.46-4.83 15.31-7.93 11.46-7.21 21.46-16.57 30.04-27.01 1.17-1.42 2.25-2.9 3.46-4.28-1.2 3.24-2.67 6.37-4.16 9.48-1.25 2.9-2.84 5.61-4.27 8.42-5.16 9.63-11.02 18.91-17.75 27.52-4.03 5.21-8.53 10.05-13.33 14.57-6.64 6.05-14.07 11.37-22.43 14.76-8.21 3.37-17.31 4.63-26.09 3.29-3.56-.58-7.01-1.69-10.41-2.88-2.79-.97-5.39-2.38-8.03-3.69-3.43-1.71-6.64-3.81-9.71-6.08 2.71 3.06 5.69 5.86 8.7 8.61 4.27 3.76 8.74 7.31 13.63 10.23 3.98 2.45 8.29 4.4 12.84 5.51 1.46.37 2.96.46 4.45.6-1.25 1.1-2.63 2.04-3.99 2.98-9.61 6.54-20.01 11.86-30.69 16.43-20.86 8.7-43.17 13.97-65.74 15.34-4.66.24-9.32.36-13.98.36-4.98-.11-9.97-.13-14.92-.65-11.2-.76-22.29-2.73-33.17-5.43-10.35-2.71-20.55-6.12-30.3-10.55-8.71-3.86-17.12-8.42-24.99-13.79-1.83-1.31-3.74-2.53-5.37-4.08 6.6-1.19 13.03-3.39 18.99-6.48 5.74-2.86 10.99-6.66 15.63-11.07 2.24-2.19 4.29-4.59 6.19-7.09-3.43 2.13-6.93 4.15-10.62 5.78-4.41 2.16-9.07 3.77-13.81 5.02-5.73 1.52-11.74 1.73-17.61 1.14-8.13-.95-15.86-4.27-22.51-8.98-4.32-2.94-8.22-6.43-11.96-10.06-9.93-10.16-18.2-21.81-25.66-33.86-3.94-6.27-7.53-12.75-11.12-19.22-1.05-2.04-2.15-4.05-3.18-6.1 2.85 2.92 5.57 5.97 8.43 8.88 8.99 8.97 18.56 17.44 29.16 24.48 7.55 4.9 15.67 9.23 24.56 11.03 3.11.73 6.32.47 9.47.81 2.77.28 5.56.2 8.34.3 5.05.06 10.11.04 15.16-.16 3.65-.16 7.27-.66 10.89-1.09 2.07-.25 4.11-.71 6.14-1.2 3.88-.95 8.11-.96 11.83.61 4.76 1.85 8.44 5.64 11.38 9.71 2.16 3.02 4.06 6.22 5.66 9.58 1.16 2.43 2.46 4.79 3.55 7.26 1 2.24 2.15 4.42 3.42 6.52.67 1.02 1.4 2.15 2.62 2.55 1.06-.75 1.71-1.91 2.28-3.03 2.1-4.16 3.42-8.65 4.89-13.05 2.02-6.59 3.78-13.27 5.19-20.02 2.21-9.25 3.25-18.72 4.54-28.13.56-3.98.83-7.99 1.31-11.97.87-10.64 1.9-21.27 2.24-31.94.08-1.86.24-3.71.25-5.57.01-4.35.25-8.69.22-13.03-.01-2.38-.01-4.76 0-7.13.05-5.07-.2-10.14-.22-15.21-.2-6.61-.71-13.2-1.29-19.78-.73-5.88-1.55-11.78-3.12-17.51-2.05-7.75-5.59-15.03-9.8-21.82-3.16-5.07-6.79-9.88-11.09-14.03-3.88-3.86-8.58-7.08-13.94-8.45-1.5-.41-3.06-.45-4.59-.64.07-2.99.7-5.93 1.26-8.85 1.59-7.71 3.8-15.3 6.76-22.6 1.52-4.03 3.41-7.9 5.39-11.72 3.45-6.56 7.62-12.79 12.46-18.46zm31.27 1.7c.35-.06.71-.12 1.07-.19.19 1.79.09 3.58.1 5.37v38.13c-.01 1.74.13 3.49-.15 5.22-.36-.03-.71-.05-1.06-.05-.95-3.75-1.72-7.55-2.62-11.31-.38-1.53-.58-3.09-1.07-4.59-1.7-.24-3.43-.17-5.15-.2-5.06-.01-10.13 0-15.19-.01-1.66-.01-3.32.09-4.98-.03-.03-.39-.26-.91.16-1.18 1.28-.65 2.72-.88 4.06-1.35 3.43-1.14 6.88-2.16 10.31-3.31 1.39-.48 2.9-.72 4.16-1.54.04-.56.02-1.13-.05-1.68-1.23-.55-2.53-.87-3.81-1.28-3.13-1.03-6.29-1.96-9.41-3.02-1.79-.62-3.67-1-5.41-1.79-.03-.37-.07-.73-.11-1.09 5.09-.19 10.2.06 15.3-.12 3.36-.13 6.73.08 10.09-.07.12-.39.26-.77.37-1.16 1.08-4.94 2.33-9.83 3.39-14.75zm5.97-.2c.36.05.72.12 1.08.2.98 3.85 1.73 7.76 2.71 11.61.36 1.42.56 2.88 1.03 4.27 2.53.18 5.07-.01 7.61.05 5.16.12 10.33.12 15.49.07.76-.01 1.52.03 2.28.08-.04.36-.07.72-.1 1.08-1.82.83-3.78 1.25-5.67 1.89-3.73 1.23-7.48 2.39-11.22 3.57-.57.17-1.12.42-1.67.64-.15.55-.18 1.12-.12 1.69.87.48 1.82.81 2.77 1.09 4.88 1.52 9.73 3.14 14.63 4.6.38.13.78.27 1.13.49.4.27.23.79.15 1.18-1.66.13-3.31.03-4.97.04-5.17.01-10.33-.01-15.5.01-1.61.03-3.22-.02-4.82.21-.52 1.67-.72 3.42-1.17 5.11-.94 3.57-1.52 7.24-2.54 10.78-.36.01-.71.02-1.06.06-.29-1.73-.15-3.48-.15-5.22v-38.13c.02-1.78-.08-3.58.11-5.37zM65.05 168.33c1.12-2.15 2.08-4.4 3.37-6.46-1.82 7.56-2.91 15.27-3.62 23-.8 7.71-.85 15.49-.54 23.23 1.05 19.94 5.54 39.83 14.23 57.88 2.99 5.99 6.35 11.83 10.5 17.11 6.12 7.47 12.53 14.76 19.84 21.09 4.8 4.1 9.99 7.78 15.54 10.8 3.27 1.65 6.51 3.39 9.94 4.68 5.01 2.03 10.19 3.61 15.42 4.94 3.83.96 7.78 1.41 11.52 2.71 5 1.57 9.47 4.61 13.03 8.43 4.93 5.23 8.09 11.87 10.2 18.67.99 2.9 1.59 5.91 2.17 8.92.15.75.22 1.52.16 2.29-6.5 2.78-13.26 5.06-20.26 6.18-4.11.78-8.29.99-12.46 1.08-10.25.24-20.47-1.76-30.12-5.12-3.74-1.42-7.49-2.85-11.03-4.72-8.06-3.84-15.64-8.7-22.46-14.46-2.92-2.55-5.83-5.13-8.4-8.03-9.16-9.83-16.3-21.41-21.79-33.65-2.39-5.55-4.61-11.18-6.37-16.96-1.17-3.94-2.36-7.89-3.26-11.91-.75-2.94-1.22-5.95-1.87-8.92-.46-2.14-.69-4.32-1.03-6.48-.85-5.43-1.28-10.93-1.33-16.43.11-6.18.25-12.37 1.07-18.5.4-2.86.67-5.74 1.15-8.6.98-5.7 2.14-11.37 3.71-16.93 3.09-11.65 7.48-22.95 12.69-33.84zm363.73-6.44c1.1 1.66 1.91 3.48 2.78 5.26 2.1 4.45 4.24 8.9 6.02 13.49 7.61 18.76 12.3 38.79 13.04 59.05.02 1.76.07 3.52.11 5.29.13 9.57-1.27 19.09-3.18 28.45-.73 3.59-1.54 7.17-2.58 10.69-4.04 14.72-10 29-18.41 41.78-8.21 12.57-19.01 23.55-31.84 31.41-5.73 3.59-11.79 6.64-18.05 9.19-5.78 2.19-11.71 4.03-17.8 5.11-6.4 1.05-12.91 1.52-19.4 1.23-7.92-.48-15.78-2.07-23.21-4.85-1.94-.8-3.94-1.46-5.84-2.33-.21-1.51.25-2.99.53-4.46 1.16-5.74 3.03-11.36 5.7-16.58 2.37-4.51 5.52-8.65 9.46-11.9 2.43-2.05 5.24-3.61 8.16-4.83 3.58-1.5 7.47-1.97 11.24-2.83 7.23-1.71 14.37-3.93 21.15-7 10.35-4.65 19.71-11.38 27.65-19.46 1.59-1.61 3.23-3.18 4.74-4.87 3.37-3.76 6.71-7.57 9.85-11.53 7.48-10.07 12.82-21.59 16.71-33.48 1.58-5.3 3.21-10.6 4.21-16.05.63-2.87 1.04-5.78 1.52-8.68.87-6.09 1.59-12.22 1.68-18.38.12-6.65.14-13.32-.53-19.94-.73-7.99-1.87-15.96-3.71-23.78z\"]\n};\nvar faOdysee = {\n prefix: 'fab',\n iconName: 'odysee',\n icon: [512, 512, [], \"e5c6\", \"M406.7 463c-42.3 30.8-94.4 49-150.7 49C144.9 512 50.3 441.2 14.9 342.2c2.4 1.7 5.9 3.6 7.9 4.4c16.3 7.4 40.1-5.4 62.9-28.7c6.9-6.9 14.4-12.4 22.8-17.3c18.3-11.9 37.6-20.8 58.4-27.2c0 0 22.3 34.2 43.1 74.8s-22.3 54-27.2 54c-.3 0-.8 0-1.5-.1c-11-.5-70-3-56 51.1c14.9 57.4 97.5 36.6 139.6 8.9s31.7-118.3 31.7-118.3c41.1-6.4 54 37.1 57.9 59.4c.8 4.6 1.1 9.9 1.4 15.5c1.1 21.2 2.3 45.6 35.3 46.4c5.3 0 10.6-.8 15.5-2zm-95.3-23.7c-2-.5-3.5-2.5-3-5c1-2.5 3-3.5 5-3s3.5 3 3 5s-2.5 3.5-5 3zm-207-95.6c1.5-.5 3.5 1 4 3c0 2-1 4-3 4c-1.5 .5-3.5-1-4-3c-.5-1.5 1-3.5 3-4zM451.8 421C489.3 376.4 512 318.8 512 256c0-67.5-26.1-128.9-68.8-174.7c-.1 23.5-6.1 48.2-16.8 69.2c-11.9 20.3-49 58.9-69.8 78.7c-.7 .3-1.1 .9-1.5 1.4c-.2 .2-.3 .4-.5 .6c-5 6.9-4 16.8 3 21.8c21.3 15.8 56.4 45.6 59.4 72.8c3.5 34.9 27.9 75.6 34.2 86.2l0 0c.8 1.3 1.3 2.1 1.4 2.4c0 2.2-.4 4.3-.8 6.5zM390.7 251c-.5 3 1 5.9 4 6.4s5.9-1 6.4-4s-1-5.9-4-6.4c-3-1-5.9 1-6.4 4zm61.4-60.9l-11.4 5.4-3 12.9-5.4-11.4-12.9-3 11.4-5.4 3-12.9 5.4 11.4 12.9 3zM395.5 41.3c-16.2 8.2-22.1 32.8-29 61.4l0 0c-.3 1.4-.7 2.8-1 4.2c-9.5 38.5-30.6 37.6-41.7 37.2c-1.1 0-2-.1-2.9-.1c-5.1 0-6-4-8.9-17.1c-2.6-12.1-6.9-32-17.9-63.6C271.4-2.5 211.4 13.9 165.9 41.1C110.6 74.2 131.5 143 146.1 190.5c.7 2.2 1.4 4.4 2 6.6c-4 4-13.8 7.5-26 11.9c-12.1 4.3-26.6 9.5-40.3 16.9C47.9 243.9 11.5 274.9 2 288.5C.7 277.8 0 267 0 256C0 114.6 114.6 0 256 0c51.4 0 99.4 15.2 139.5 41.3zM58.9 189.6c-1.5-2-4.5-3-6.4-1.5s-3 4.5-1.5 6.4s4.5 3 6.4 1.5c2.5-1.5 3-4.5 1.5-6.4zM327.3 64.9c2-1.5 5-.5 6.4 1.5c1.5 2.5 1 5.4-1.5 6.4c-2 1.5-5 .5-6.4-1.5s-.5-5 1.5-6.4zM95.1 105c-.5 1.5 .5 3 2 3c1.5 .5 3-.5 3-2c.5-1.5-.5-3-2-3s-3 .5-3 2zm84.7-.5c-3.5-43.1 37.1-54 37.1-54c44.1-15.4 56 5.9 66.4 37.6s3 42.6-38.6 58.9s-61.9-4.5-64.9-42.6zm89.6 14.9h1c2.5 0 5-2 5-5c2-6.9 1-14.4-2-20.8c-1.5-2-4-3.5-6.4-2.5c-3 1-4.5 4-3.5 6.9c2 4.5 3 9.9 1.5 14.9c-.5 3 1.5 5.9 4.5 6.4zm-9.9-41.6c-2 0-4-1-5-3s-2-3.5-3-5c-2-2-2-5.4 0-7.4s5.4-2 7.4 0c2 2.5 3.5 5 5 7.4s.5 5.9-2.5 7.4c-.6 0-1 .2-1.3 .3c-.2 .1-.4 .2-.6 .2z\"]\n};\nvar faSquareWhatsapp = {\n prefix: 'fab',\n iconName: 'square-whatsapp',\n icon: [448, 512, [\"whatsapp-square\"], \"f40c\", \"M224 122.8c-72.7 0-131.8 59.1-131.9 131.8 0 24.9 7 49.2 20.2 70.1l3.1 5-13.3 48.6 49.9-13.1 4.8 2.9c20.2 12 43.4 18.4 67.1 18.4h.1c72.6 0 133.3-59.1 133.3-131.8 0-35.2-15.2-68.3-40.1-93.2-25-25-58-38.7-93.2-38.7zm77.5 188.4c-3.3 9.3-19.1 17.7-26.7 18.8-12.6 1.9-22.4.9-47.5-9.9-39.7-17.2-65.7-57.2-67.7-59.8-2-2.6-16.2-21.5-16.2-41s10.2-29.1 13.9-33.1c3.6-4 7.9-5 10.6-5 2.6 0 5.3 0 7.6.1 2.4.1 5.7-.9 8.9 6.8 3.3 7.9 11.2 27.4 12.2 29.4s1.7 4.3.3 6.9c-7.6 15.2-15.7 14.6-11.6 21.6 15.3 26.3 30.6 35.4 53.9 47.1 4 2 6.3 1.7 8.6-1 2.3-2.6 9.9-11.6 12.5-15.5 2.6-4 5.3-3.3 8.9-2 3.6 1.3 23.1 10.9 27.1 12.9s6.6 3 7.6 4.6c.9 1.9.9 9.9-2.4 19.1zM400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM223.9 413.2c-26.6 0-52.7-6.7-75.8-19.3L64 416l22.5-82.2c-13.9-24-21.2-51.3-21.2-79.3C65.4 167.1 136.5 96 223.9 96c42.4 0 82.2 16.5 112.2 46.5 29.9 30 47.9 69.8 47.9 112.2 0 87.4-72.7 158.5-160.1 158.5z\"]\n};\nvar faWhatsappSquare = faSquareWhatsapp;\nvar faNodeJs = {\n prefix: 'fab',\n iconName: 'node-js',\n icon: [448, 512, [], \"f3d3\", \"M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z\"]\n};\nvar faEdgeLegacy = {\n prefix: 'fab',\n iconName: 'edge-legacy',\n icon: [512, 512, [], \"e078\", \"M25.71,228.16l.35-.48c0,.16,0,.32-.07.48Zm460.58,15.51c0-44-7.76-84.46-28.81-122.4C416.5,47.88,343.91,8,258.89,8,119,7.72,40.62,113.21,26.06,227.68c42.42-61.31,117.07-121.38,220.37-125,0,0,109.67,0,99.42,105H170c6.37-37.39,18.55-59,34.34-78.93-75.05,34.9-121.85,96.1-120.75,188.32.83,71.45,50.13,144.84,120.75,172,83.35,31.84,192.77,7.2,240.13-21.33V363.31C363.6,419.8,173.6,424.23,172.21,295.74H486.29V243.67Z\"]\n};\nvar faSlack = {\n prefix: 'fab',\n iconName: 'slack',\n icon: [448, 512, [62447, \"slack-hash\"], \"f198\", \"M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z\"]\n};\nvar faSlackHash = faSlack;\nvar faMedrt = {\n prefix: 'fab',\n iconName: 'medrt',\n icon: [544, 512, [], \"f3c8\", \"M113.7 256c0 121.8 83.9 222.8 193.5 241.1-18.7 4.5-38.2 6.9-58.2 6.9C111.4 504 0 393 0 256S111.4 8 248.9 8c20.1 0 39.6 2.4 58.2 6.9C197.5 33.2 113.7 134.2 113.7 256m297.4 100.3c-77.7 55.4-179.6 47.5-240.4-14.6 5.5 14.1 12.7 27.7 21.7 40.5 61.6 88.2 182.4 109.3 269.7 47 87.3-62.3 108.1-184.3 46.5-272.6-9-12.9-19.3-24.3-30.5-34.2 37.4 78.8 10.7 178.5-67 233.9m-218.8-244c-1.4 1-2.7 2.1-4 3.1 64.3-17.8 135.9 4 178.9 60.5 35.7 47 42.9 106.6 24.4 158 56.7-56.2 67.6-142.1 22.3-201.8-50-65.5-149.1-74.4-221.6-19.8M296 224c-4.4 0-8-3.6-8-8v-40c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v40c0 4.4-3.6 8-8 8h-40c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h40c4.4 0 8 3.6 8 8v40c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-40z\"]\n};\nvar faUsb = {\n prefix: 'fab',\n iconName: 'usb',\n icon: [640, 512, [], \"f287\", \"M641.5 256c0 3.1-1.7 6.1-4.5 7.5L547.9 317c-1.4.8-2.8 1.4-4.5 1.4-1.4 0-3.1-.3-4.5-1.1-2.8-1.7-4.5-4.5-4.5-7.8v-35.6H295.7c25.3 39.6 40.5 106.9 69.6 106.9H392V354c0-5 3.9-8.9 8.9-8.9H490c5 0 8.9 3.9 8.9 8.9v89.1c0 5-3.9 8.9-8.9 8.9h-89.1c-5 0-8.9-3.9-8.9-8.9v-26.7h-26.7c-75.4 0-81.1-142.5-124.7-142.5H140.3c-8.1 30.6-35.9 53.5-69 53.5C32 327.3 0 295.3 0 256s32-71.3 71.3-71.3c33.1 0 61 22.8 69 53.5 39.1 0 43.9 9.5 74.6-60.4C255 88.7 273 95.7 323.8 95.7c7.5-20.9 27-35.6 50.4-35.6 29.5 0 53.5 23.9 53.5 53.5s-23.9 53.5-53.5 53.5c-23.4 0-42.9-14.8-50.4-35.6H294c-29.1 0-44.3 67.4-69.6 106.9h310.1v-35.6c0-3.3 1.7-6.1 4.5-7.8 2.8-1.7 6.4-1.4 8.9.3l89.1 53.5c2.8 1.1 4.5 4.1 4.5 7.2z\"]\n};\nvar faTumblr = {\n prefix: 'fab',\n iconName: 'tumblr',\n icon: [320, 512, [], \"f173\", \"M309.8 480.3c-13.6 14.5-50 31.7-97.4 31.7-120.8 0-147-88.8-147-140.6v-144H17.9c-5.5 0-10-4.5-10-10v-68c0-7.2 4.5-13.6 11.3-16 62-21.8 81.5-76 84.3-117.1.8-11 6.5-16.3 16.1-16.3h70.9c5.5 0 10 4.5 10 10v115.2h83c5.5 0 10 4.4 10 9.9v81.7c0 5.5-4.5 10-10 10h-83.4V360c0 34.2 23.7 53.6 68 35.8 4.8-1.9 9-3.2 12.7-2.2 3.5.9 5.8 3.4 7.4 7.9l22 64.3c1.8 5 3.3 10.6-.4 14.5z\"]\n};\nvar faVaadin = {\n prefix: 'fab',\n iconName: 'vaadin',\n icon: [448, 512, [], \"f408\", \"M224.5 140.7c1.5-17.6 4.9-52.7 49.8-52.7h98.6c20.7 0 32.1-7.8 32.1-21.6V54.1c0-12.2 9.3-22.1 21.5-22.1S448 41.9 448 54.1v36.5c0 42.9-21.5 62-66.8 62H280.7c-30.1 0-33 14.7-33 27.1 0 1.3-.1 2.5-.2 3.7-.7 12.3-10.9 22.2-23.4 22.2s-22.7-9.8-23.4-22.2c-.1-1.2-.2-2.4-.2-3.7 0-12.3-3-27.1-33-27.1H66.8c-45.3 0-66.8-19.1-66.8-62V54.1C0 41.9 9.4 32 21.6 32s21.5 9.9 21.5 22.1v12.3C43.1 80.2 54.5 88 75.2 88h98.6c44.8 0 48.3 35.1 49.8 52.7h.9zM224 456c11.5 0 21.4-7 25.7-16.3 1.1-1.8 97.1-169.6 98.2-171.4 11.9-19.6-3.2-44.3-27.2-44.3-13.9 0-23.3 6.4-29.8 20.3L224 362l-66.9-117.7c-6.4-13.9-15.9-20.3-29.8-20.3-24 0-39.1 24.6-27.2 44.3 1.1 1.9 97.1 169.6 98.2 171.4 4.3 9.3 14.2 16.3 25.7 16.3z\"]\n};\nvar faQuora = {\n prefix: 'fab',\n iconName: 'quora',\n icon: [448, 512, [], \"f2c4\", \"M440.5 386.7h-29.3c-1.5 13.5-10.5 30.8-33 30.8-20.5 0-35.3-14.2-49.5-35.8 44.2-34.2 74.7-87.5 74.7-153C403.5 111.2 306.8 32 205 32 105.3 32 7.3 111.7 7.3 228.7c0 134.1 131.3 221.6 249 189C276 451.3 302 480 351.5 480c81.8 0 90.8-75.3 89-93.3zM297 329.2C277.5 300 253.3 277 205.5 277c-30.5 0-54.3 10-69 22.8l12.2 24.3c6.2-3 13-4 19.8-4 35.5 0 53.7 30.8 69.2 61.3-10 3-20.7 4.2-32.7 4.2-75 0-107.5-53-107.5-156.7C97.5 124.5 130 71 205 71c76.2 0 108.7 53.5 108.7 157.7.1 41.8-5.4 75.6-16.7 100.5z\"]\n};\nvar faReacteurope = {\n prefix: 'fab',\n iconName: 'reacteurope',\n icon: [576, 512, [], \"f75d\", \"M250.6 211.74l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm63.7 0l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.2-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm-91.3 50.5h-3.4c-4.8 0-3.8 4-3.8 12.1 0 4.7-2.3 6.1-5.8 6.1s-5.8-1.4-5.8-6.1v-36.6c0-4.7 2.3-6.1 5.8-6.1s5.8 1.4 5.8 6.1c0 7.2-.7 10.5 3.8 10.5h3.4c4.7-.1 3.8-3.9 3.8-12.3 0-9.9-6.7-14.1-16.8-14.1h-.2c-10.1 0-16.8 4.2-16.8 14.1V276c0 10.4 6.7 14.1 16.8 14.1h.2c10.1 0 16.8-3.8 16.8-14.1 0-9.86 1.1-13.76-3.8-13.76zm-80.7 17.4h-14.7v-19.3H139c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-11.4v-18.3H142c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-21.7c-2.4-.1-3.7 1.3-3.7 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h21.9c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8zm-42-18.5c4.6-2 7.3-6 7.3-12.4v-11.9c0-10.1-6.7-14.1-16.8-14.1H77.4c-2.5 0-3.8 1.3-3.8 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5 0 3.8-1.3 3.8-3.8v-22.9h5.6l7.4 23.5a4.1 4.1 0 0 0 4.3 3.2h3.3c2.8 0 4-1.8 3.2-4.4zm-3.8-14c0 4.8-2.5 6.1-6.1 6.1h-5.8v-20.9h5.8c3.6 0 6.1 1.3 6.1 6.1zM176 226a3.82 3.82 0 0 0-4.2-3.4h-6.9a3.68 3.68 0 0 0-4 3.4l-11 59.2c-.5 2.7.9 4.1 3.4 4.1h3a3.74 3.74 0 0 0 4.1-3.5l1.8-11.3h12.2l1.8 11.3a3.74 3.74 0 0 0 4.1 3.5h3.5c2.6 0 3.9-1.4 3.4-4.1zm-12.3 39.3l4.7-29.7 4.7 29.7zm89.3 20.2v-53.2h7.5c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-25.8c-2.5 0-3.8 1.3-3.8 3.8v2.1c0 2.5 1.3 3.8 3.8 3.8h7.3v53.2c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5.04 3.8-1.3 3.8-3.76zm248-.8h-19.4V258h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9H501a1.81 1.81 0 0 0 2-1.9v-.8a1.84 1.84 0 0 0-2-1.96zm-93.1-62.9h-.8c-10.1 0-15.3 4.7-15.3 14.1V276c0 9.3 5.2 14.1 15.3 14.1h.8c10.1 0 15.3-4.8 15.3-14.1v-40.1c0-9.36-5.2-14.06-15.3-14.06zm10.2 52.4c-.1 8-3 11.1-10.5 11.1s-10.5-3.1-10.5-11.1v-36.6c0-7.9 3-11.1 10.5-11.1s10.5 3.2 10.5 11.1zm-46.5-14.5c6.1-1.6 9.2-6.1 9.2-13.3v-9.7c0-9.4-5.2-14.1-15.3-14.1h-13.7a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.9h11.6l10.4 27.2a2.32 2.32 0 0 0 2.3 1.5h1.5c1.4 0 2-1 1.5-2.3zm-6.4-3.9H355v-28.5h10.2c7.5 0 10.5 3.1 10.5 11.1v6.4c0 7.84-3 11.04-10.5 11.04zm85.9-33.1h-13.7a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.1h10.6c10.1 0 15.3-4.8 15.3-14.1v-10.5c0-9.4-5.2-14.1-15.3-14.1zm10.2 22.8c0 7.9-3 11.1-10.5 11.1h-10.2v-29.2h10.2c7.5-.1 10.5 3.1 10.5 11zM259.5 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm227.6-136.1a364.42 364.42 0 0 0-35.6-11.3c19.6-78 11.6-134.7-22.3-153.9C394.7-12.66 343.3 11 291 61.94q5.1 4.95 10.2 10.2c82.5-80 119.6-53.5 120.9-52.8 22.4 12.7 36 55.8 15.5 137.8a587.83 587.83 0 0 0-84.6-13C281.1 43.64 212.4 2 170.8 2 140 2 127 23 123.2 29.74c-18.1 32-13.3 84.2.1 133.8-70.5 20.3-120.7 54.1-120.3 95 .5 59.6 103.2 87.8 122.1 92.8-20.5 81.9-10.1 135.6 22.3 153.9 28 15.8 75.1 6 138.2-55.2q-5.1-4.95-10.2-10.2c-82.5 80-119.7 53.5-120.9 52.8-22.3-12.6-36-55.6-15.5-137.9 12.4 2.9 41.8 9.5 84.6 13 71.9 100.4 140.6 142 182.1 142 30.8 0 43.8-21 47.6-27.7 18-31.9 13.3-84.1-.1-133.8 152.3-43.8 156.2-130.2 33.9-176.3zM135.9 36.84c2.9-5.1 11.9-20.3 34.9-20.3 36.8 0 98.8 39.6 163.3 126.2a714 714 0 0 0-93.9.9 547.76 547.76 0 0 1 42.2-52.4Q277.3 86 272.2 81a598.25 598.25 0 0 0-50.7 64.2 569.69 569.69 0 0 0-84.4 14.6c-.2-1.4-24.3-82.2-1.2-123zm304.8 438.3c-2.9 5.1-11.8 20.3-34.9 20.3-36.7 0-98.7-39.4-163.3-126.2a695.38 695.38 0 0 0 93.9-.9 547.76 547.76 0 0 1-42.2 52.4q5.1 5.25 10.2 10.2a588.47 588.47 0 0 0 50.7-64.2c47.3-4.7 80.3-13.5 84.4-14.6 22.7 84.4 4.5 117 1.2 123zm9.1-138.6c-3.6-11.9-7.7-24.1-12.4-36.4a12.67 12.67 0 0 1-10.7-5.7l-.1.1a19.61 19.61 0 0 1-5.4 3.6c5.7 14.3 10.6 28.4 14.7 42.2a535.3 535.3 0 0 1-72 13c3.5-5.3 17.2-26.2 32.2-54.2a24.6 24.6 0 0 1-6-3.2c-1.1 1.2-3.6 4.2-10.9 4.2-6.2 11.2-17.4 30.9-33.9 55.2a711.91 711.91 0 0 1-112.4 1c-7.9-11.2-21.5-31.1-36.8-57.8a21 21 0 0 1-3-1.5c-1.9 1.6-3.9 3.2-12.6 3.2 6.3 11.2 17.5 30.7 33.8 54.6a548.81 548.81 0 0 1-72.2-11.7q5.85-21 14.1-42.9c-3.2 0-5.4.2-8.4-1a17.58 17.58 0 0 1-6.9 1c-4.9 13.4-9.1 26.5-12.7 39.4C-31.7 297-12.1 216 126.7 175.64c3.6 11.9 7.7 24.1 12.4 36.4 10.4 0 12.9 3.4 14.4 5.3a12 12 0 0 1 2.3-2.2c-5.8-14.7-10.9-29.2-15.2-43.3 7-1.8 32.4-8.4 72-13-15.9 24.3-26.7 43.9-32.8 55.3a14.22 14.22 0 0 1 6.4 8 23.42 23.42 0 0 1 10.2-8.4c6.5-11.7 17.9-31.9 34.8-56.9a711.72 711.72 0 0 1 112.4-1c31.5 44.6 28.9 48.1 42.5 64.5a21.42 21.42 0 0 1 10.4-7.4c-6.4-11.4-17.6-31-34.3-55.5 40.4 4.1 65 10 72.2 11.7-4 14.4-8.9 29.2-14.6 44.2a20.74 20.74 0 0 1 6.8 4.3l.1.1a12.72 12.72 0 0 1 8.9-5.6c4.9-13.4 9.2-26.6 12.8-39.5a359.71 359.71 0 0 1 34.5 11c106.1 39.9 74 87.9 72.6 90.4-19.8 35.1-80.1 55.2-105.7 62.5zm-114.4-114h-1.2a1.74 1.74 0 0 0-1.9 1.9v49.8c0 7.9-2.6 11.1-10.1 11.1s-10.1-3.1-10.1-11.1v-49.8a1.69 1.69 0 0 0-1.9-1.9H309a1.81 1.81 0 0 0-2 1.9v51.5c0 9.6 5 14.1 15.1 14.1h.4c10.1 0 15.1-4.6 15.1-14.1v-51.5a2 2 0 0 0-2.2-1.9zM321.7 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm-31.1 7.4l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm5.1-30.8h-19.4v-26.7h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h22.5a1.77 1.77 0 0 0 2-1.9v-.8a1.83 1.83 0 0 0-2-2.06zm-7.4-99.4L286 192l-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1z\"]\n};\nvar faMedium = {\n prefix: 'fab',\n iconName: 'medium',\n icon: [640, 512, [62407, \"medium-m\"], \"f23a\", \"M180.5,74.262C80.813,74.262,0,155.633,0,256S80.819,437.738,180.5,437.738,361,356.373,361,256,280.191,74.262,180.5,74.262Zm288.25,10.646c-49.845,0-90.245,76.619-90.245,171.095s40.406,171.1,90.251,171.1,90.251-76.619,90.251-171.1H559C559,161.5,518.6,84.908,468.752,84.908Zm139.506,17.821c-17.526,0-31.735,68.628-31.735,153.274s14.2,153.274,31.735,153.274S640,340.631,640,256C640,171.351,625.785,102.729,608.258,102.729Z\"]\n};\nvar faMediumM = faMedium;\nvar faAmilia = {\n prefix: 'fab',\n iconName: 'amilia',\n icon: [448, 512, [], \"f36d\", \"M240.1 32c-61.9 0-131.5 16.9-184.2 55.4-5.1 3.1-9.1 9.2-7.2 19.4 1.1 5.1 5.1 27.4 10.2 39.6 4.1 10.2 14.2 10.2 20.3 6.1 32.5-22.3 96.5-47.7 152.3-47.7 57.9 0 58.9 28.4 58.9 73.1v38.5C203 227.7 78.2 251 46.7 264.2 11.2 280.5 16.3 357.7 16.3 376s15.2 104 124.9 104c47.8 0 113.7-20.7 153.3-42.1v25.4c0 3 2.1 8.2 6.1 9.1 3.1 1 50.7 2 59.9 2s62.5.3 66.5-.7c4.1-1 5.1-6.1 5.1-9.1V168c-.1-80.3-57.9-136-192-136zm50.2 348c-21.4 13.2-48.7 24.4-79.1 24.4-52.8 0-58.9-33.5-59-44.7 0-12.2-3-42.7 18.3-52.9 24.3-13.2 75.1-29.4 119.8-33.5z\"]\n};\nvar faMixcloud = {\n prefix: 'fab',\n iconName: 'mixcloud',\n icon: [640, 512, [], \"f289\", \"M212.98 346.566H179.789V195.114L185.973 173.47H175.262L137.127 346.566H76.1069L37.7323 173.47H27.276L33.1913 195.114V346.566H0V165H65.6506L102.248 338.096H110.747L147.329 165H212.98L212.98 346.566ZM544.459 283.589L458.434 345.655V307.534L531.329 255.776L458.434 204.017V165.896L544.459 228.231H553.721L640 165.896V204.017L566.866 255.776L640 307.549V345.655L553.721 283.589H544.459ZM430.157 272.311H248.113V239.255H430.157V272.311Z\"]\n};\nvar faFlipboard = {\n prefix: 'fab',\n iconName: 'flipboard',\n icon: [448, 512, [], \"f44d\", \"M0 32v448h448V32H0zm358.4 179.2h-89.6v89.6h-89.6v89.6H89.6V121.6h268.8v89.6z\"]\n};\nvar faViacoin = {\n prefix: 'fab',\n iconName: 'viacoin',\n icon: [384, 512, [], \"f237\", \"M384 32h-64l-80.7 192h-94.5L64 32H0l48 112H0v48h68.5l13.8 32H0v48h102.8L192 480l89.2-208H384v-48h-82.3l13.8-32H384v-48h-48l48-112zM192 336l-27-64h54l-27 64z\"]\n};\nvar faCriticalRole = {\n prefix: 'fab',\n iconName: 'critical-role',\n icon: [448, 512, [], \"f6c9\", \"M225.82 0c.26.15 216.57 124.51 217.12 124.72 3 1.18 3.7 3.46 3.7 6.56q-.11 125.17 0 250.36a5.88 5.88 0 0 1-3.38 5.78c-21.37 12-207.86 118.29-218.93 124.58h-3C142 466.34 3.08 386.56 2.93 386.48a3.29 3.29 0 0 1-1.88-3.24c0-.87 0-225.94-.05-253.1a5 5 0 0 1 2.93-4.93C27.19 112.11 213.2 6 224.07 0zM215.4 20.42l-.22-.16Q118.06 75.55 21 130.87c0 .12.08.23.13.35l30.86 11.64c-7.71 6-8.32 6-10.65 5.13-.1 0-24.17-9.28-26.8-10v230.43c.88-1.41 64.07-110.91 64.13-111 1.62-2.82 3-1.92 9.12-1.52 1.4.09 1.48.22.78 1.42-41.19 71.33-36.4 63-67.48 116.94-.81 1.4-.61 1.13 1.25 1.13h186.5c1.44 0 1.69-.23 1.7-1.64v-8.88c0-1.34 2.36-.81-18.37-1-7.46-.07-14.14-3.22-21.38-12.7-7.38-9.66-14.62-19.43-21.85-29.21-2.28-3.08-3.45-2.38-16.76-2.38-1.75 0-1.78 0-1.76 1.82.29 26.21.15 25.27 1 32.66.52 4.37 2.16 4.2 9.69 4.81 3.14.26 3.88 4.08.52 4.92-1.57.39-31.6.51-33.67-.1a2.42 2.42 0 0 1 .3-4.73c3.29-.76 6.16.81 6.66-4.44 1.3-13.66 1.17-9 1.1-79.42 0-10.82-.35-12.58-5.36-13.55-1.22-.24-3.54-.16-4.69-.55-2.88-1-2-4.84 1.77-4.85 33.67 0 46.08-1.07 56.06 4.86 7.74 4.61 12 11.48 12.51 20.4.88 14.59-6.51 22.35-15 32.59a1.46 1.46 0 0 0 0 2.22c2.6 3.25 5 6.63 7.71 9.83 27.56 33.23 24.11 30.54 41.28 33.06.89.13 1-.42 1-1.15v-11c0-1 .32-1.43 1.41-1.26a72.37 72.37 0 0 0 23.58-.3c1.08-.15 1.5.2 1.48 1.33 0 .11.88 26.69.87 26.8-.05 1.52.67 1.62 1.89 1.62h186.71Q386.51 304.6 346 234.33c2.26-.66-.4 0 6.69-1.39 2-.39 2.05-.41 3.11 1.44 7.31 12.64 77.31 134 77.37 134.06V138c-1.72.5-103.3 38.72-105.76 39.68-1.08.42-1.55.2-1.91-.88-.63-1.9-1.34-3.76-2.09-5.62-.32-.79-.09-1.13.65-1.39.1 0 95.53-35.85 103-38.77-65.42-37.57-130.56-75-196-112.6l86.82 150.39-.28.33c-9.57-.9-10.46-1.6-11.8-3.94-1-1.69-73.5-127.71-82-142.16-9.1 14.67-83.56 146.21-85.37 146.32-2.93.17-5.88.08-9.25.08q43.25-74.74 86.18-149zm51.93 129.92a37.68 37.68 0 0 0 5.54-.85c1.69-.3 2.53.2 2.6 1.92 0 .11.07 19.06-.86 20.45s-1.88 1.22-2.6-.19c-5-9.69 6.22-9.66-39.12-12-.7 0-1 .23-1 .93 0 .13 3.72 122 3.73 122.11 0 .89.52 1.2 1.21 1.51a83.92 83.92 0 0 1 8.7 4.05c7.31 4.33 11.38 10.84 12.41 19.31 1.44 11.8-2.77 35.77-32.21 37.14-2.75.13-28.26 1.08-34.14-23.25-4.66-19.26 8.26-32.7 19.89-36.4a2.45 2.45 0 0 0 2-2.66c.1-5.63 3-107.1 3.71-121.35.05-1.08-.62-1.16-1.35-1.15-32.35.52-36.75-.34-40.22 8.52-2.42 6.18-4.14 1.32-3.95.23q1.59-9 3.31-18c.4-2.11 1.43-2.61 3.43-1.86 5.59 2.11 6.72 1.7 37.25 1.92 1.73 0 1.78-.08 1.82-1.85.68-27.49.58-22.59 1-29.55a2.69 2.69 0 0 0-1.63-2.8c-5.6-2.91-8.75-7.55-8.9-13.87-.35-14.81 17.72-21.67 27.38-11.51 6.84 7.19 5.8 18.91-2.45 24.15a4.35 4.35 0 0 0-2.22 4.34c0 .59-.11-4.31 1 30.05 0 .9.43 1.12 1.24 1.11.1 0 23-.09 34.47-.37zM68.27 141.7c19.84-4.51 32.68-.56 52.49 1.69 2.76.31 3.74 1.22 3.62 4-.21 5-1.16 22.33-1.24 23.15a2.65 2.65 0 0 1-1.63 2.34c-4.06 1.7-3.61-4.45-4-7.29-3.13-22.43-73.87-32.7-74.63 25.4-.31 23.92 17 53.63 54.08 50.88 27.24-2 19-20.19 24.84-20.47a2.72 2.72 0 0 1 3 3.36c-1.83 10.85-3.42 18.95-3.45 19.15-1.54 9.17-86.7 22.09-93.35-42.06-2.71-25.85 10.44-53.37 40.27-60.15zm80 87.67h-19.49a2.57 2.57 0 0 1-2.66-1.79c2.38-3.75 5.89.92 5.86-6.14-.08-25.75.21-38 .23-40.1 0-3.42-.53-4.65-3.32-4.94-7-.72-3.11-3.37-1.11-3.38 11.84-.1 22.62-.18 30.05.72 8.77 1.07 16.71 12.63 7.93 22.62-2 2.25-4 4.42-6.14 6.73.95 1.15 6.9 8.82 17.28 19.68 2.66 2.78 6.15 3.51 9.88 3.13a2.21 2.21 0 0 0 2.23-2.12c.3-3.42.26 4.73.45-40.58 0-5.65-.34-6.58-3.23-6.83-3.95-.35-4-2.26-.69-3.37l19.09-.09c.32 0 4.49.53 1 3.38 0 .05-.16 0-.24 0-3.61.26-3.94 1-4 4.62-.27 43.93.07 40.23.41 42.82.11.84.27 2.23 5.1 2.14 2.49 0 3.86 3.37 0 3.4-10.37.08-20.74 0-31.11.07-10.67 0-13.47-6.2-24.21-20.82-1.6-2.18-8.31-2.36-8.2-.37.88 16.47 0 17.78 4 17.67 4.75-.1 4.73 3.57.83 3.55zm275-10.15c-1.21 7.13.17 10.38-5.3 10.34-61.55-.42-47.82-.22-50.72-.31a18.4 18.4 0 0 1-3.63-.73c-2.53-.6 1.48-1.23-.38-5.6-1.43-3.37-2.78-6.78-4.11-10.19a1.94 1.94 0 0 0-2-1.44 138 138 0 0 0-14.58.07 2.23 2.23 0 0 0-1.62 1.06c-1.58 3.62-3.07 7.29-4.51 11-1.27 3.23 7.86 1.32 12.19 2.16 3 .57 4.53 3.72.66 3.73H322.9c-2.92 0-3.09-3.15-.74-3.21a6.3 6.3 0 0 0 5.92-3.47c1.5-3 2.8-6 4.11-9.09 18.18-42.14 17.06-40.17 18.42-41.61a1.83 1.83 0 0 1 3 0c2.93 3.34 18.4 44.71 23.62 51.92 2 2.7 5.74 2 6.36 2 3.61.13 4-1.11 4.13-4.29.09-1.87.08 1.17.07-41.24 0-4.46-2.36-3.74-5.55-4.27-.26 0-2.56-.63-.08-3.06.21-.2-.89-.24 21.7-.15 2.32 0 5.32 2.75-1.21 3.45a2.56 2.56 0 0 0-2.66 2.83c-.07 1.63-.19 38.89.29 41.21a3.06 3.06 0 0 0 3.23 2.43c13.25.43 14.92.44 16-3.41 1.67-5.78 4.13-2.52 3.73-.19zm-104.72 64.37c-4.24 0-4.42-3.39-.61-3.41 35.91-.16 28.11.38 37.19-.65 1.68-.19 2.38.24 2.25 1.89-.26 3.39-.64 6.78-1 10.16-.25 2.16-3.2 2.61-3.4-.15-.38-5.31-2.15-4.45-15.63-5.08-1.58-.07-1.64 0-1.64 1.52V304c0 1.65 0 1.6 1.62 1.47 3.12-.25 10.31.34 15.69-1.52.47-.16 3.3-1.79 3.07 1.76 0 .21-.76 10.35-1.18 11.39-.53 1.29-1.88 1.51-2.58.32-1.17-2 0-5.08-3.71-5.3-15.42-.9-12.91-2.55-12.91 6 0 12.25-.76 16.11 3.89 16.24 16.64.48 14.4 0 16.43-5.71.84-2.37 3.5-1.77 3.18.58-.44 3.21-.85 6.43-1.23 9.64 0 .36-.16 2.4-4.66 2.39-37.16-.08-34.54-.19-35.21-.31-2.72-.51-2.2-3 .22-3.45 1.1-.19 4 .54 4.16-2.56 2.44-56.22-.07-51.34-3.91-51.33zm-.41-109.52c2.46.61 3.13 1.76 2.95 4.65-.33 5.3-.34 9-.55 9.69-.66 2.23-3.15 2.12-3.34-.27-.38-4.81-3.05-7.82-7.57-9.15-26.28-7.73-32.81 15.46-27.17 30.22 5.88 15.41 22 15.92 28.86 13.78 5.92-1.85 5.88-6.5 6.91-7.58 1.23-1.3 2.25-1.84 3.12 1.1 0 .1.57 11.89-6 12.75-1.6.21-19.38 3.69-32.68-3.39-21-11.19-16.74-35.47-6.88-45.33 14-14.06 39.91-7.06 42.32-6.47zM289.8 280.14c3.28 0 3.66 3 .16 3.43-2.61.32-5-.42-5 5.46 0 2-.19 29.05.4 41.45.11 2.29 1.15 3.52 3.44 3.65 22 1.21 14.95-1.65 18.79-6.34 1.83-2.24 2.76.84 2.76 1.08.35 13.62-4 12.39-5.19 12.4l-38.16-.19c-1.93-.23-2.06-3-.42-3.38 2-.48 4.94.4 5.13-2.8 1-15.87.57-44.65.34-47.81-.27-3.77-2.8-3.27-5.68-3.71-2.47-.38-2-3.22.34-3.22 1.45-.02 17.97-.03 23.09-.02zm-31.63-57.79c.07 4.08 2.86 3.46 6 3.58 2.61.1 2.53 3.41-.07 3.43-6.48 0-13.7 0-21.61-.06-3.84 0-3.38-3.35 0-3.37 4.49 0 3.24 1.61 3.41-45.54 0-5.08-3.27-3.54-4.72-4.23-2.58-1.23-1.36-3.09.41-3.15 1.29 0 20.19-.41 21.17.21s1.87 1.65-.42 2.86c-1 .52-3.86-.28-4.15 2.47 0 .21-.82 1.63-.07 43.8zm-36.91 274.27a2.93 2.93 0 0 0 3.26 0c17-9.79 182-103.57 197.42-112.51-.14-.43 11.26-.18-181.52-.27-1.22 0-1.57.37-1.53 1.56 0 .1 1.25 44.51 1.22 50.38a28.33 28.33 0 0 1-1.36 7.71c-.55 1.83.38-.5-13.5 32.23-.73 1.72-1 2.21-2-.08-4.19-10.34-8.28-20.72-12.57-31a23.6 23.6 0 0 1-2-10.79c.16-2.46.8-16.12 1.51-48 0-1.95 0-2-2-2h-183c2.58 1.63 178.32 102.57 196 112.76zm-90.9-188.75c0 2.4.36 2.79 2.76 3 11.54 1.17 21 3.74 25.64-7.32 6-14.46 2.66-34.41-12.48-38.84-2-.59-16-2.76-15.94 1.51.05 8.04.01 11.61.02 41.65zm105.75-15.05c0 2.13 1.07 38.68 1.09 39.13.34 9.94-25.58 5.77-25.23-2.59.08-2 1.37-37.42 1.1-39.43-14.1 7.44-14.42 40.21 6.44 48.8a17.9 17.9 0 0 0 22.39-7.07c4.91-7.76 6.84-29.47-5.43-39a2.53 2.53 0 0 1-.36.12zm-12.28-198c-9.83 0-9.73 14.75-.07 14.87s10.1-14.88.07-14.91zm-80.15 103.83c0 1.8.41 2.4 2.17 2.58 13.62 1.39 12.51-11 12.16-13.36-1.69-11.22-14.38-10.2-14.35-7.81.05 4.5-.03 13.68.02 18.59zm212.32 6.4l-6.1-15.84c-2.16 5.48-4.16 10.57-6.23 15.84z\"]\n};\nvar faSitrox = {\n prefix: 'fab',\n iconName: 'sitrox',\n icon: [448, 512, [], \"e44a\", \"M212.439 0.00846128V0H448V128H64C64 57.6008 141.755 0.475338 212.439 0.00846128ZM237.256 192V192.007C307.135 192.475 384 249.6 384 320H210.809V319.995C140.915 319.563 64 262.424 64 192H237.256ZM235.565 511.993C306.251 511.521 384 454.399 384 384H0V512H235.565V511.993Z\"]\n};\nvar faDiscourse = {\n prefix: 'fab',\n iconName: 'discourse',\n icon: [448, 512, [], \"f393\", \"M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z\"]\n};\nvar faJoomla = {\n prefix: 'fab',\n iconName: 'joomla',\n icon: [448, 512, [], \"f1aa\", \"M.6 92.1C.6 58.8 27.4 32 60.4 32c30 0 54.5 21.9 59.2 50.2 32.6-7.6 67.1.6 96.5 30l-44.3 44.3c-20.5-20.5-42.6-16.3-55.4-3.5-14.3 14.3-14.3 37.9 0 52.2l99.5 99.5-44 44.3c-87.7-87.2-49.7-49.7-99.8-99.7-26.8-26.5-35-64.8-24.8-98.9C20.4 144.6.6 120.7.6 92.1zm129.5 116.4l44.3 44.3c10-10 89.7-89.7 99.7-99.8 14.3-14.3 37.6-14.3 51.9 0 12.8 12.8 17 35-3.5 55.4l44 44.3c31.2-31.2 38.5-67.6 28.9-101.2 29.2-4.1 51.9-29.2 51.9-59.5 0-33.2-26.8-60.1-59.8-60.1-30.3 0-55.4 22.5-59.5 51.6-33.8-9.9-71.7-1.5-98.3 25.1-18.3 19.1-71.1 71.5-99.6 99.9zm266.3 152.2c8.2-32.7-.9-68.5-26.3-93.9-11.8-12.2 5 4.7-99.5-99.7l-44.3 44.3 99.7 99.7c14.3 14.3 14.3 37.6 0 51.9-12.8 12.8-35 17-55.4-3.5l-44 44.3c27.6 30.2 68 38.8 102.7 28 5.5 27.4 29.7 48.1 58.9 48.1 33 0 59.8-26.8 59.8-60.1 0-30.2-22.5-55-51.6-59.1zm-84.3-53.1l-44-44.3c-87 86.4-50.4 50.4-99.7 99.8-14.3 14.3-37.6 14.3-51.9 0-13.1-13.4-16.9-35.3 3.2-55.4l-44-44.3c-30.2 30.2-38 65.2-29.5 98.3-26.7 6-46.2 29.9-46.2 58.2C0 453.2 26.8 480 59.8 480c28.6 0 52.5-19.8 58.6-46.7 32.7 8.2 68.5-.6 94.2-26 32.1-32 12.2-12.4 99.5-99.7z\"]\n};\nvar faMastodon = {\n prefix: 'fab',\n iconName: 'mastodon',\n icon: [448, 512, [], \"f4f6\", \"M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z\"]\n};\nvar faAirbnb = {\n prefix: 'fab',\n iconName: 'airbnb',\n icon: [448, 512, [], \"f834\", \"M224 373.12c-25.24-31.67-40.08-59.43-45-83.18-22.55-88 112.61-88 90.06 0-5.45 24.25-20.29 52-45 83.18zm138.15 73.23c-42.06 18.31-83.67-10.88-119.3-50.47 103.9-130.07 46.11-200-18.85-200-54.92 0-85.16 46.51-73.28 100.5 6.93 29.19 25.23 62.39 54.43 99.5-32.53 36.05-60.55 52.69-85.15 54.92-50 7.43-89.11-41.06-71.3-91.09 15.1-39.16 111.72-231.18 115.87-241.56 15.75-30.07 25.56-57.4 59.38-57.4 32.34 0 43.4 25.94 60.37 59.87 36 70.62 89.35 177.48 114.84 239.09 13.17 33.07-1.37 71.29-37.01 86.64zm47-136.12C280.27 35.93 273.13 32 224 32c-45.52 0-64.87 31.67-84.66 72.79C33.18 317.1 22.89 347.19 22 349.81-3.22 419.14 48.74 480 111.63 480c21.71 0 60.61-6.06 112.37-62.4 58.68 63.78 101.26 62.4 112.37 62.4 62.89.05 114.85-60.86 89.61-130.19.02-3.89-16.82-38.9-16.82-39.58z\"]\n};\nvar faWolfPackBattalion = {\n prefix: 'fab',\n iconName: 'wolf-pack-battalion',\n icon: [512, 512, [], \"f514\", \"M267.73 471.53l10.56 15.84 5.28-12.32 5.28 7V512c21.06-7.92 21.11-66.86 25.51-97.21 4.62-31.89-.88-92.81 81.37-149.11-8.88-23.61-12-49.43-2.64-80.05C421 189 447 196.21 456.43 239.73l-30.35 8.36c11.15 23 17 46.76 13.2 72.14L412 313.18l-6.16 33.43-18.47-7-8.8 33.39-19.35-7 26.39 21.11 8.8-28.15L419 364.2l7-35.63 26.39 14.52c.25-20 7-58.06-8.8-84.45l26.39 5.28c4-22.07-2.38-39.21-7.92-56.74l22.43 9.68c-.44-25.07-29.94-56.79-61.58-58.5-20.22-1.09-56.74-25.17-54.1-51.9 2-19.87 17.45-42.62 43.11-49.7-44 36.51-9.68 67.3 5.28 73.46 4.4-11.44 17.54-69.08 0-130.2-40.39 22.87-89.65 65.1-93.2 147.79l-58 38.71-3.52 93.25L369.78 220l7 7-17.59 3.52-44 38.71-15.84-5.28-28.1 49.25-3.52 119.64 21.11 15.84-32.55 15.84-32.55-15.84 21.11-15.84-3.52-119.64-28.15-49.26-15.84 5.28-44-38.71-17.58-3.51 7-7 107.33 59.82-3.52-93.25-58.06-38.71C185 65.1 135.77 22.87 95.3 0c-17.54 61.12-4.4 118.76 0 130.2 15-6.16 49.26-36.95 5.28-73.46 25.66 7.08 41.15 29.83 43.11 49.7 2.63 26.74-33.88 50.81-54.1 51.9-31.65 1.72-61.15 33.44-61.59 58.51l22.43-9.68c-5.54 17.53-11.91 34.67-7.92 56.74l26.39-5.28c-15.76 26.39-9.05 64.43-8.8 84.45l26.39-14.52 7 35.63 24.63-5.28 8.8 28.15L153.35 366 134 373l-8.8-33.43-18.47 7-6.16-33.43-27.27 7c-3.82-25.38 2-49.1 13.2-72.14l-30.35-8.36c9.4-43.52 35.47-50.77 63.34-54.1 9.36 30.62 6.24 56.45-2.64 80.05 82.25 56.3 76.75 117.23 81.37 149.11 4.4 30.35 4.45 89.29 25.51 97.21v-29.83l5.28-7 5.28 12.32 10.56-15.84 11.44 21.11 11.43-21.1zm79.17-95L331.06 366c7.47-4.36 13.76-8.42 19.35-12.32-.6 7.22-.27 13.84-3.51 22.84zm28.15-49.26c-.4 10.94-.9 21.66-1.76 31.67-7.85-1.86-15.57-3.8-21.11-7 8.24-7.94 15.55-16.32 22.87-24.68zm24.63 5.28c0-13.43-2.05-24.21-5.28-33.43a235 235 0 0 1-18.47 27.27zm3.52-80.94c19.44 12.81 27.8 33.66 29.91 56.3-12.32-4.53-24.63-9.31-36.95-10.56 5.06-12 6.65-28.14 7-45.74zm-1.76-45.74c.81 14.3 1.84 28.82 1.76 42.23 19.22-8.11 29.78-9.72 44-14.08-10.61-18.96-27.2-25.53-45.76-28.16zM165.68 376.52L181.52 366c-7.47-4.36-13.76-8.42-19.35-12.32.6 7.26.27 13.88 3.51 22.88zm-28.15-49.26c.4 10.94.9 21.66 1.76 31.67 7.85-1.86 15.57-3.8 21.11-7-8.24-7.93-15.55-16.31-22.87-24.67zm-24.64 5.28c0-13.43 2-24.21 5.28-33.43a235 235 0 0 0 18.47 27.27zm-3.52-80.94c-19.44 12.81-27.8 33.66-29.91 56.3 12.32-4.53 24.63-9.31 37-10.56-5-12-6.65-28.14-7-45.74zm1.76-45.74c-.81 14.3-1.84 28.82-1.76 42.23-19.22-8.11-29.78-9.72-44-14.08 10.63-18.95 27.23-25.52 45.76-28.15z\"]\n};\nvar faBuyNLarge = {\n prefix: 'fab',\n iconName: 'buy-n-large',\n icon: [576, 512, [], \"f8a6\", \"M288 32C133.27 32 7.79 132.32 7.79 256S133.27 480 288 480s280.21-100.32 280.21-224S442.73 32 288 32zm-85.39 357.19L64.1 390.55l77.25-290.74h133.44c63.15 0 84.93 28.65 78 72.84a60.24 60.24 0 0 1-1.5 6.85 77.39 77.39 0 0 0-17.21-1.93c-42.35 0-76.69 33.88-76.69 75.65 0 37.14 27.14 68 62.93 74.45-18.24 37.16-56.16 60.92-117.71 61.52zM358 207.11h32l-22.16 90.31h-35.41l-11.19-35.63-7.83 35.63h-37.83l26.63-90.31h31.34l15 36.75zm145.86 182.08H306.79L322.63 328a78.8 78.8 0 0 0 11.47.83c42.34 0 76.69-33.87 76.69-75.65 0-32.65-21-60.46-50.38-71.06l21.33-82.35h92.5l-53.05 205.36h103.87zM211.7 269.39H187l-13.8 56.47h24.7c16.14 0 32.11-3.18 37.94-26.65 5.56-22.31-7.99-29.82-24.14-29.82zM233 170h-21.34L200 217.71h21.37c18 0 35.38-14.64 39.21-30.14C265.23 168.71 251.07 170 233 170z\"]\n};\nvar faGulp = {\n prefix: 'fab',\n iconName: 'gulp',\n icon: [256, 512, [], \"f3ae\", \"M209.8 391.1l-14.1 24.6-4.6 80.2c0 8.9-28.3 16.1-63.1 16.1s-63.1-7.2-63.1-16.1l-5.8-79.4-14.9-25.4c41.2 17.3 126 16.7 165.6 0zm-196-253.3l13.6 125.5c5.9-20 20.8-47 40-55.2 6.3-2.7 12.7-2.7 18.7.9 5.2 3 9.6 9.3 10.1 11.8 1.2 6.5-2 9.1-4.5 9.1-3 0-5.3-4.6-6.8-7.3-4.1-7.3-10.3-7.6-16.9-2.8-6.9 5-12.9 13.4-17.1 20.7-5.1 8.8-9.4 18.5-12 28.2-1.5 5.6-2.9 14.6-.6 19.9 1 2.2 2.5 3.6 4.9 3.6 5 0 12.3-6.6 15.8-10.1 4.5-4.5 10.3-11.5 12.5-16l5.2-15.5c2.6-6.8 9.9-5.6 9.9 0 0 10.2-3.7 13.6-10 34.7-5.8 19.5-7.6 25.8-7.6 25.8-.7 2.8-3.4 7.5-6.3 7.5-1.2 0-2.1-.4-2.6-1.2-1-1.4-.9-5.3-.8-6.3.2-3.2 6.3-22.2 7.3-25.2-2 2.2-4.1 4.4-6.4 6.6-5.4 5.1-14.1 11.8-21.5 11.8-3.4 0-5.6-.9-7.7-2.4l7.6 79.6c2 5 39.2 17.1 88.2 17.1 49.1 0 86.3-12.2 88.2-17.1l10.9-94.6c-5.7 5.2-12.3 11.6-19.6 14.8-5.4 2.3-17.4 3.8-17.4-5.7 0-5.2 9.1-14.8 14.4-21.5 1.4-1.7 4.7-5.9 4.7-8.1 0-2.9-6-2.2-11.7 2.5-3.2 2.7-6.2 6.3-8.7 9.7-4.3 6-6.6 11.2-8.5 15.5-6.2 14.2-4.1 8.6-9.1 22-5 13.3-4.2 11.8-5.2 14-.9 1.9-2.2 3.5-4 4.5-1.9 1-4.5.9-6.1-.3-.9-.6-1.3-1.9-1.3-3.7 0-.9.1-1.8.3-2.7 1.5-6.1 7.8-18.1 15-34.3 1.6-3.7 1-2.6.8-2.3-6.2 6-10.9 8.9-14.4 10.5-5.8 2.6-13 2.6-14.5-4.1-.1-.4-.1-.8-.2-1.2-11.8 9.2-24.3 11.7-20-8.1-4.6 8.2-12.6 14.9-22.4 14.9-4.1 0-7.1-1.4-8.6-5.1-2.3-5.5 1.3-14.9 4.6-23.8 1.7-4.5 4-9.9 7.1-16.2 1.6-3.4 4.2-5.4 7.6-4.5.6.2 1.1.4 1.6.7 2.6 1.8 1.6 4.5.3 7.2-3.8 7.5-7.1 13-9.3 20.8-.9 3.3-2 9 1.5 9 2.4 0 4.7-.8 6.9-2.4 4.6-3.4 8.3-8.5 11.1-13.5 2-3.6 4.4-8.3 5.6-12.3.5-1.7 1.1-3.3 1.8-4.8 1.1-2.5 2.6-5.1 5.2-5.1 1.3 0 2.4.5 3.2 1.5 1.7 2.2 1.3 4.5.4 6.9-2 5.6-4.7 10.6-6.9 16.7-1.3 3.5-2.7 8-2.7 11.7 0 3.4 3.7 2.6 6.8 1.2 2.4-1.1 4.8-2.8 6.8-4.5 1.2-4.9.9-3.8 26.4-68.2 1.3-3.3 3.7-4.7 6.1-4.7 1.2 0 2.2.4 3.2 1.1 1.7 1.3 1.7 4.1 1 6.2-.7 1.9-.6 1.3-4.5 10.5-5.2 12.1-8.6 20.8-13.2 31.9-1.9 4.6-7.7 18.9-8.7 22.3-.6 2.2-1.3 5.8 1 5.8 5.4 0 19.3-13.1 23.1-17 .2-.3.5-.4.9-.6.6-1.9 1.2-3.7 1.7-5.5 1.4-3.8 2.7-8.2 5.3-11.3.8-1 1.7-1.6 2.7-1.6 2.8 0 4.2 1.2 4.2 4 0 1.1-.7 5.1-1.1 6.2 1.4-1.5 2.9-3 4.5-4.5 15-13.9 25.7-6.8 25.7.2 0 7.4-8.9 17.7-13.8 23.4-1.6 1.9-4.9 5.4-5 6.4 0 1.3.9 1.8 2.2 1.8 2 0 6.4-3.5 8-4.7 5-3.9 11.8-9.9 16.6-14.1l14.8-136.8c-30.5 17.1-197.6 17.2-228.3.2zm229.7-8.5c0 21-231.2 21-231.2 0 0-8.8 51.8-15.9 115.6-15.9 9 0 17.8.1 26.3.4l12.6-48.7L228.1.6c1.4-1.4 5.8-.2 9.9 3.5s6.6 7.9 5.3 9.3l-.1.1L185.9 74l-10 40.7c39.9 2.6 67.6 8.1 67.6 14.6zm-69.4 4.6c0-.8-.9-1.5-2.5-2.1l-.2.8c0 1.3-5 2.4-11.1 2.4s-11.1-1.1-11.1-2.4c0-.1 0-.2.1-.3l.2-.7c-1.8.6-3 1.4-3 2.3 0 2.1 6.2 3.7 13.7 3.7 7.7.1 13.9-1.6 13.9-3.7z\"]\n};\nvar faCreativeCommonsSamplingPlus = {\n prefix: 'fab',\n iconName: 'creative-commons-sampling-plus',\n icon: [496, 512, [], \"f4f1\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm107 205.6c-4.7 0-9 2.8-10.7 7.2l-4 9.5-11-92.8c-1.7-13.9-22-13.4-23.1.4l-4.3 51.4-5.2-68.8c-1.1-14.3-22.1-14.2-23.2 0l-3.5 44.9-5.9-94.3c-.9-14.5-22.3-14.4-23.2 0l-5.1 83.7-4.3-66.3c-.9-14.4-22.2-14.4-23.2 0l-5.3 80.2-4.1-57c-1.1-14.3-22-14.3-23.2-.2l-7.7 89.8-1.8-12.2c-1.7-11.4-17.1-13.6-22-3.3l-13.2 27.7H87.5v23.2h51.3c4.4 0 8.4-2.5 10.4-6.4l10.7 73.1c2 13.5 21.9 13 23.1-.7l3.8-43.6 5.7 78.3c1.1 14.4 22.3 14.2 23.2-.1l4.6-70.4 4.8 73.3c.9 14.4 22.3 14.4 23.2-.1l4.9-80.5 4.5 71.8c.9 14.3 22.1 14.5 23.2.2l4.6-58.6 4.9 64.4c1.1 14.3 22 14.2 23.1.1l6.8-83 2.7 22.3c1.4 11.8 17.7 14.1 22.3 3.1l18-43.4h50.5V258l-58.4.3zm-78 5.2h-21.9v21.9c0 4.1-3.3 7.5-7.5 7.5-4.1 0-7.5-3.3-7.5-7.5v-21.9h-21.9c-4.1 0-7.5-3.3-7.5-7.5 0-4.1 3.4-7.5 7.5-7.5h21.9v-21.9c0-4.1 3.4-7.5 7.5-7.5s7.5 3.3 7.5 7.5v21.9h21.9c4.1 0 7.5 3.3 7.5 7.5 0 4.1-3.4 7.5-7.5 7.5z\"]\n};\nvar faStrava = {\n prefix: 'fab',\n iconName: 'strava',\n icon: [384, 512, [], \"f428\", \"M158.4 0L7 292h89.2l62.2-116.1L220.1 292h88.5zm150.2 292l-43.9 88.2-44.6-88.2h-67.6l112.2 220 111.5-220z\"]\n};\nvar faEmber = {\n prefix: 'fab',\n iconName: 'ember',\n icon: [640, 512, [], \"f423\", \"M639.9 254.6c-1.1-10.7-10.7-6.8-10.7-6.8s-15.6 12.1-29.3 10.7c-13.7-1.3-9.4-32-9.4-32s3-28.1-5.1-30.4c-8.1-2.4-18 7.3-18 7.3s-12.4 13.7-18.3 31.2l-1.6.5s1.9-30.6-.3-37.6c-1.6-3.5-16.4-3.2-18.8 3s-14.2 49.2-15 67.2c0 0-23.1 19.6-43.3 22.8s-25-9.4-25-9.4 54.8-15.3 52.9-59.1-44.2-27.6-49-24c-4.6 3.5-29.4 18.4-36.6 59.7-.2 1.4-.7 7.5-.7 7.5s-21.2 14.2-33 18c0 0 33-55.6-7.3-80.9-11.4-6.8-21.3-.5-27.2 5.3 13.6-17.3 46.4-64.2 36.9-105.2-5.8-24.4-18-27.1-29.2-23.1-17 6.7-23.5 16.7-23.5 16.7s-22 32-27.1 79.5-12.6 105.1-12.6 105.1-10.5 10.2-20.2 10.7-5.4-28.7-5.4-28.7 7.5-44.6 7-52.1-1.1-11.6-9.9-14.2c-8.9-2.7-18.5 8.6-18.5 8.6s-25.5 38.7-27.7 44.6l-1.3 2.4-1.3-1.6s18-52.7.8-53.5-28.5 18.8-28.5 18.8-19.6 32.8-20.4 36.5l-1.3-1.6s8.1-38.2 6.4-47.6c-1.6-9.4-10.5-7.5-10.5-7.5s-11.3-1.3-14.2 5.9-13.7 55.3-15 70.7c0 0-28.2 20.2-46.8 20.4-18.5.3-16.7-11.8-16.7-11.8s68-23.3 49.4-69.2c-8.3-11.8-18-15.5-31.7-15.3-13.7.3-30.3 8.6-41.3 33.3-5.3 11.8-6.8 23-7.8 31.5 0 0-12.3 2.4-18.8-2.9s-10 0-10 0-11.2 14-.1 18.3 28.1 6.1 28.1 6.1c1.6 7.5 6.2 19.5 19.6 29.7 20.2 15.3 58.8-1.3 58.8-1.3l15.9-8.8s.5 14.6 12.1 16.7 16.4 1 36.5-47.9c11.8-25 12.6-23.6 12.6-23.6l1.3-.3s-9.1 46.8-5.6 59.7C187.7 319.4 203 318 203 318s8.3 2.4 15-21.2 19.6-49.9 19.6-49.9h1.6s-5.6 48.1 3 63.7 30.9 5.3 30.9 5.3 15.6-7.8 18-10.2c0 0 18.5 15.8 44.6 12.9 58.3-11.5 79.1-25.9 79.1-25.9s10 24.4 41.1 26.7c35.5 2.7 54.8-18.6 54.8-18.6s-.3 13.5 12.1 18.6 20.7-22.8 20.7-22.8l20.7-57.2h1.9s1.1 37.3 21.5 43.2 47-13.7 47-13.7 6.4-3.5 5.3-14.3zm-578 5.3c.8-32 21.8-45.9 29-39 7.3 7 4.6 22-9.1 31.4-13.7 9.5-19.9 7.6-19.9 7.6zm272.8-123.8s19.1-49.7 23.6-25.5-40 96.2-40 96.2c.5-16.2 16.4-70.7 16.4-70.7zm22.8 138.4c-12.6 33-43.3 19.6-43.3 19.6s-3.5-11.8 6.4-44.9 33.3-20.2 33.3-20.2 16.2 12.4 3.6 45.5zm84.6-14.6s-3-10.5 8.1-30.6c11-20.2 19.6-9.1 19.6-9.1s9.4 10.2-1.3 25.5-26.4 14.2-26.4 14.2z\"]\n};\nvar faCanadianMapleLeaf = {\n prefix: 'fab',\n iconName: 'canadian-maple-leaf',\n icon: [512, 512, [], \"f785\", \"M383.8 351.7c2.5-2.5 105.2-92.4 105.2-92.4l-17.5-7.5c-10-4.9-7.4-11.5-5-17.4 2.4-7.6 20.1-67.3 20.1-67.3s-47.7 10-57.7 12.5c-7.5 2.4-10-2.5-12.5-7.5s-15-32.4-15-32.4-52.6 59.9-55.1 62.3c-10 7.5-20.1 0-17.6-10 0-10 27.6-129.6 27.6-129.6s-30.1 17.4-40.1 22.4c-7.5 5-12.6 5-17.6-5C293.5 72.3 255.9 0 255.9 0s-37.5 72.3-42.5 79.8c-5 10-10 10-17.6 5-10-5-40.1-22.4-40.1-22.4S183.3 182 183.3 192c2.5 10-7.5 17.5-17.6 10-2.5-2.5-55.1-62.3-55.1-62.3S98.1 167 95.6 172s-5 9.9-12.5 7.5C73 177 25.4 167 25.4 167s17.6 59.7 20.1 67.3c2.4 6 5 12.5-5 17.4L23 259.3s102.6 89.9 105.2 92.4c5.1 5 10 7.5 5.1 22.5-5.1 15-10.1 35.1-10.1 35.1s95.2-20.1 105.3-22.6c8.7-.9 18.3 2.5 18.3 12.5S241 512 241 512h30s-5.8-102.7-5.8-112.8 9.5-13.4 18.4-12.5c10 2.5 105.2 22.6 105.2 22.6s-5-20.1-10-35.1 0-17.5 5-22.5z\"]\n};\nvar faTeamspeak = {\n prefix: 'fab',\n iconName: 'teamspeak',\n icon: [576, 512, [], \"f4f9\", \"M152.8 37.2c-32.2 38.1-56.1 82.6-69.9 130.5c0 .2-.1 .3-.1 .5C43.5 184.4 16 223 16 268c0 59.6 48.4 108 108 108s108-48.4 108-108c0-53.5-38.9-97.9-90-106.5c15.7-41.8 40.4-79.6 72.3-110.7c1.8-1.6 4-2.6 6.3-3.1c37.2-11.5 76.7-13.3 114.8-5.2C454.7 67.6 534 180.7 517.1 301.3c-8.4 62.6-38.6 112.7-87.7 151.4c-50.1 39.7-107.5 54.3-170.2 52.2l-24-1c12.4 2.8 25 4.9 37.6 6.3c40.7 4.2 81.4 2.1 120.1-12.5c94-35.5 149.3-102.3 162.9-202.5c4.8-52.6-5.8-105.4-30.8-152C454.6 11.3 290.8-38.4 159 32c-2.4 1.4-4.5 3.1-6.3 5.2zM309.4 433.9c-2.1 11.5-4.2 21.9-14.6 31.3c53.2-1 123.2-29.2 161.8-97.1c39.7-69.9 37.6-139.9-6.3-207.8C413.8 105 360.5 77.9 293.7 73.7c1.5 2.3 3.2 4.4 5.2 6.3l5.2 6.3c25.1 31.3 37.6 67.9 42.8 107.5c2.1 15.7-1 30.3-13.6 41.8c-4.2 3.1-5.2 6.3-4.2 10.4l7.3 17.7L365.7 318c5.2 11.5 4.2 19.8-6.3 28.2c-3.2 2.5-6.7 4.6-10.4 6.3l-18.8 8.4 3.1 13.6c3.1 6.3 1 12.5-3.1 17.7c-2.5 2.4-3.8 5.9-3.1 9.4c2.1 11.5-2.1 19.8-12.5 25.1c-2.1 1-4.2 5.2-5.2 7.3zm-133.6-3.1c16.7 11.5 34.5 20.9 53.2 26.1c24 5.2 41.8-6.3 44.9-30.3c1-8.4 5.2-14.6 12.5-17.7c7.3-4.2 8.4-7.3 2.1-13.6l-9.4-8.4 13.6-4.2c6.3-2.1 7.3-5.2 5.2-11.5c-1.4-3-2.4-6.2-3.1-9.4c-3.1-14.6-2.1-15.7 11.5-18.8c8.4-3.1 15.7-6.3 21.9-12.5c3.1-2.1 3.1-4.2 1-8.4l-16.7-30.3c-1-1.9-2.1-3.8-3.1-5.7c-6.4-11.7-13-23.6-15.7-37.1c-2.1-9.4-1-17.7 8.4-24c5.2-4.2 8.4-9.4 8.4-16.7c-.4-10.1-1.5-20.3-3.1-30.3c-6.3-37.6-23-68.9-51.2-95c-5.2-4.2-9.4-6.3-16.7-4.2L203.9 91.5c2 1.2 4 2.4 6 3.6l0 0c6.3 3.7 12.2 7.3 17 12.1c30.3 26.1 41.8 61.6 45.9 100.2c1 8.4 0 16.7-7.3 21.9c-8.4 5.2-10.4 12.5-7.3 20.9c4.9 13.2 10.4 26 16.7 38.6L291.6 318c-6.3 8.4-13.6 11.5-21.9 14.6c-12.5 3.1-14.6 7.3-10.4 20.9c.6 1.5 1.4 2.8 2.1 4.2c2.1 5.2 1 8.4-4.2 10.4l-12.5 3.1 5.2 4.2 4.2 4.2c4.2 5.2 4.2 8.4-2.1 10.4c-7.3 4.2-11.5 9.4-11.5 17.7c0 12.5-7.3 19.8-18.8 24c-3.8 1-7.6 1.5-11.5 1l-34.5-2.1z\"]\n};\nvar faPushed = {\n prefix: 'fab',\n iconName: 'pushed',\n icon: [432, 512, [], \"f3e1\", \"M407 111.9l-98.5-9 14-33.4c10.4-23.5-10.8-40.4-28.7-37L22.5 76.9c-15.1 2.7-26 18.3-21.4 36.6l105.1 348.3c6.5 21.3 36.7 24.2 47.7 7l35.3-80.8 235.2-231.3c16.4-16.8 4.3-42.9-17.4-44.8zM297.6 53.6c5.1-.7 7.5 2.5 5.2 7.4L286 100.9 108.6 84.6l189-31zM22.7 107.9c-3.1-5.1 1-10 6.1-9.1l248.7 22.7-96.9 230.7L22.7 107.9zM136 456.4c-2.6 4-7.9 3.1-9.4-1.2L43.5 179.7l127.7 197.6c-7 15-35.2 79.1-35.2 79.1zm272.8-314.5L210.1 337.3l89.7-213.7 106.4 9.7c4 1.1 5.7 5.3 2.6 8.6z\"]\n};\nvar faWordpressSimple = {\n prefix: 'fab',\n iconName: 'wordpress-simple',\n icon: [512, 512, [], \"f411\", \"M256 8C119.3 8 8 119.2 8 256c0 136.7 111.3 248 248 248s248-111.3 248-248C504 119.2 392.7 8 256 8zM33 256c0-32.3 6.9-63 19.3-90.7l106.4 291.4C84.3 420.5 33 344.2 33 256zm223 223c-21.9 0-43-3.2-63-9.1l66.9-194.4 68.5 187.8c.5 1.1 1 2.1 1.6 3.1-23.1 8.1-48 12.6-74 12.6zm30.7-327.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-21.9 0-58.7-2.8-58.7-2.8-12-.7-13.4 17.7-1.4 18.4 0 0 11.4 1.4 23.4 2.1l34.7 95.2L200.6 393l-81.2-241.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-4.2 0-9.1-.1-14.4-.3C109.6 73 178.1 33 256 33c58 0 110.9 22.2 150.6 58.5-1-.1-1.9-.2-2.9-.2-21.9 0-37.4 19.1-37.4 39.6 0 18.4 10.6 33.9 21.9 52.3 8.5 14.8 18.4 33.9 18.4 61.5 0 19.1-7.3 41.2-17 72.1l-22.2 74.3-80.7-239.6zm81.4 297.2l68.1-196.9c12.7-31.8 17-57.2 17-79.9 0-8.2-.5-15.8-1.5-22.9 17.4 31.8 27.3 68.2 27.3 107 0 82.3-44.6 154.1-110.9 192.7z\"]\n};\nvar faNutritionix = {\n prefix: 'fab',\n iconName: 'nutritionix',\n icon: [400, 512, [], \"f3d6\", \"M88 8.1S221.4-.1 209 112.5c0 0 19.1-74.9 103-40.6 0 0-17.7 74-88 56 0 0 14.6-54.6 66.1-56.6 0 0-39.9-10.3-82.1 48.8 0 0-19.8-94.5-93.6-99.7 0 0 75.2 19.4 77.6 107.5 0 .1-106.4 7-104-119.8zm312 315.6c0 48.5-9.7 95.3-32 132.3-42.2 30.9-105 48-168 48-62.9 0-125.8-17.1-168-48C9.7 419 0 372.2 0 323.7 0 275.3 17.7 229 40 192c42.2-30.9 97.1-48.6 160-48.6 63 0 117.8 17.6 160 48.6 22.3 37 40 83.3 40 131.7zM120 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM192 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM264 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM336 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm24-39.6c-4.8-22.3-7.4-36.9-16-56-38.8-19.9-90.5-32-144-32S94.8 180.1 56 200c-8.8 19.5-11.2 33.9-16 56 42.2-7.9 98.7-14.8 160-14.8s117.8 6.9 160 14.8z\"]\n};\nvar faWodu = {\n prefix: 'fab',\n iconName: 'wodu',\n icon: [640, 512, [], \"e088\", \"M178.414 339.706H141.1L112.166 223.475h-.478L83.228 339.706H45.2L0 168.946H37.548L64.574 285.177h.478L94.707 168.946h35.157l29.178 117.667h.479L187.5 168.946h36.831zM271.4 212.713c38.984 0 64.1 25.828 64.1 65.291 0 39.222-25.111 65.05-64.1 65.05-38.743 0-63.855-25.828-63.855-65.05C207.547 238.541 232.659 212.713 271.4 212.713zm0 104.753c23.2 0 30.133-19.852 30.133-39.462 0-19.852-6.934-39.7-30.133-39.7-27.7 0-29.894 19.85-29.894 39.7C241.508 297.614 248.443 317.466 271.4 317.466zM435.084 323.922h-.478c-7.893 13.392-21.765 19.132-37.548 19.132-37.31 0-55.485-32.045-55.485-66.246 0-33.243 18.415-64.095 54.767-64.095 14.589 0 28.938 6.218 36.831 18.416h.24V168.946h33.96v170.76H435.084zM405.428 238.3c-22.24 0-29.894 19.134-29.894 39.463 0 19.371 8.848 39.7 29.894 39.7 22.482 0 29.178-19.613 29.178-39.94C434.606 257.436 427.432 238.3 405.428 238.3zM592.96 339.706H560.673V322.487h-.718c-8.609 13.87-23.436 20.567-37.786 20.567-36.113 0-45.2-20.328-45.2-50.941V216.061h33.959V285.9c0 20.329 5.979 30.372 21.765 30.372 18.415 0 26.306-10.283 26.306-35.393V216.061H592.96zM602.453 302.876H640v36.83H602.453z\"]\n};\nvar faGooglePay = {\n prefix: 'fab',\n iconName: 'google-pay',\n icon: [640, 512, [], \"e079\", \"M105.72,215v41.25h57.1a49.66,49.66,0,0,1-21.14,32.6c-9.54,6.55-21.72,10.28-36,10.28-27.6,0-50.93-18.91-59.3-44.22a65.61,65.61,0,0,1,0-41l0,0c8.37-25.46,31.7-44.37,59.3-44.37a56.43,56.43,0,0,1,40.51,16.08L176.47,155a101.24,101.24,0,0,0-70.75-27.84,105.55,105.55,0,0,0-94.38,59.11,107.64,107.64,0,0,0,0,96.18v.15a105.41,105.41,0,0,0,94.38,59c28.47,0,52.55-9.53,70-25.91,20-18.61,31.41-46.15,31.41-78.91A133.76,133.76,0,0,0,205.38,215Zm389.41-4c-10.13-9.38-23.93-14.14-41.39-14.14-22.46,0-39.34,8.34-50.5,24.86l20.85,13.26q11.45-17,31.26-17a34.05,34.05,0,0,1,22.75,8.79A28.14,28.14,0,0,1,487.79,248v5.51c-9.1-5.07-20.55-7.75-34.64-7.75-16.44,0-29.65,3.88-39.49,11.77s-14.82,18.31-14.82,31.56a39.74,39.74,0,0,0,13.94,31.27c9.25,8.34,21,12.51,34.79,12.51,16.29,0,29.21-7.3,39-21.89h1v17.72h22.61V250C510.25,233.45,505.26,220.34,495.13,211ZM475.9,300.3a37.32,37.32,0,0,1-26.57,11.16A28.61,28.61,0,0,1,431,305.21a19.41,19.41,0,0,1-7.77-15.63c0-7,3.22-12.81,9.54-17.42s14.53-7,24.07-7C470,265,480.3,268,487.64,273.94,487.64,284.07,483.68,292.85,475.9,300.3Zm-93.65-142A55.71,55.71,0,0,0,341.74,142H279.07V328.74H302.7V253.1h39c16,0,29.5-5.36,40.51-15.93.88-.89,1.76-1.79,2.65-2.68A54.45,54.45,0,0,0,382.25,158.26Zm-16.58,62.23a30.65,30.65,0,0,1-23.34,9.68H302.7V165h39.63a32,32,0,0,1,22.6,9.23A33.18,33.18,0,0,1,365.67,220.49ZM614.31,201,577.77,292.7h-.45L539.9,201H514.21L566,320.55l-29.35,64.32H561L640,201Z\"]\n};\nvar faIntercom = {\n prefix: 'fab',\n iconName: 'intercom',\n icon: [448, 512, [], \"f7af\", \"M392 32H56C25.1 32 0 57.1 0 88v336c0 30.9 25.1 56 56 56h336c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56zm-108.3 82.1c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zm-74.6-7.5c0-19.8 29.9-19.8 29.9 0v216.5c0 19.8-29.9 19.8-29.9 0V106.6zm-74.7 7.5c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zM59.7 144c0-19.8 29.9-19.8 29.9 0v134.3c0 19.8-29.9 19.8-29.9 0V144zm323.4 227.8c-72.8 63-241.7 65.4-318.1 0-15-12.8 4.4-35.5 19.4-22.7 65.9 55.3 216.1 53.9 279.3 0 14.9-12.9 34.3 9.8 19.4 22.7zm5.2-93.5c0 19.8-29.9 19.8-29.9 0V144c0-19.8 29.9-19.8 29.9 0v134.3z\"]\n};\nvar faZhihu = {\n prefix: 'fab',\n iconName: 'zhihu',\n icon: [640, 512, [], \"f63f\", \"M170.54 148.13v217.54l23.43.01 7.71 26.37 42.01-26.37h49.53V148.13H170.54zm97.75 193.93h-27.94l-27.9 17.51-5.08-17.47-11.9-.04V171.75h72.82v170.31zm-118.46-94.39H97.5c1.74-27.1 2.2-51.59 2.2-73.46h51.16s1.97-22.56-8.58-22.31h-88.5c3.49-13.12 7.87-26.66 13.12-40.67 0 0-24.07 0-32.27 21.57-3.39 8.9-13.21 43.14-30.7 78.12 5.89-.64 25.37-1.18 36.84-22.21 2.11-5.89 2.51-6.66 5.14-14.53h28.87c0 10.5-1.2 66.88-1.68 73.44H20.83c-11.74 0-15.56 23.62-15.56 23.62h65.58C66.45 321.1 42.83 363.12 0 396.34c20.49 5.85 40.91-.93 51-9.9 0 0 22.98-20.9 35.59-69.25l53.96 64.94s7.91-26.89-1.24-39.99c-7.58-8.92-28.06-33.06-36.79-41.81L87.9 311.95c4.36-13.98 6.99-27.55 7.87-40.67h61.65s-.09-23.62-7.59-23.62v.01zm412.02-1.6c20.83-25.64 44.98-58.57 44.98-58.57s-18.65-14.8-27.38-4.06c-6 8.15-36.83 48.2-36.83 48.2l19.23 14.43zm-150.09-59.09c-9.01-8.25-25.91 2.13-25.91 2.13s39.52 55.04 41.12 57.45l19.46-13.73s-25.67-37.61-34.66-45.86h-.01zM640 258.35c-19.78 0-130.91.93-131.06.93v-101c4.81 0 12.42-.4 22.85-1.2 40.88-2.41 70.13-4 87.77-4.81 0 0 12.22-27.19-.59-33.44-3.07-1.18-23.17 4.58-23.17 4.58s-165.22 16.49-232.36 18.05c1.6 8.82 7.62 17.08 15.78 19.55 13.31 3.48 22.69 1.7 49.15.89 24.83-1.6 43.68-2.43 56.51-2.43v99.81H351.41s2.82 22.31 25.51 22.85h107.94v70.92c0 13.97-11.19 21.99-24.48 21.12-14.08.11-26.08-1.15-41.69-1.81 1.99 3.97 6.33 14.39 19.31 21.84 9.88 4.81 16.17 6.57 26.02 6.57 29.56 0 45.67-17.28 44.89-45.31v-73.32h122.36c9.68 0 8.7-23.78 8.7-23.78l.03-.01z\"]\n};\nvar faKorvue = {\n prefix: 'fab',\n iconName: 'korvue',\n icon: [446, 512, [], \"f42f\", \"M386.5 34h-327C26.8 34 0 60.8 0 93.5v327.1C0 453.2 26.8 480 59.5 480h327.1c33 0 59.5-26.8 59.5-59.5v-327C446 60.8 419.2 34 386.5 34zM87.1 120.8h96v116l61.8-116h110.9l-81.2 132H87.1v-132zm161.8 272.1l-65.7-113.6v113.6h-96V262.1h191.5l88.6 130.8H248.9z\"]\n};\nvar faPix = {\n prefix: 'fab',\n iconName: 'pix',\n icon: [512, 512, [], \"e43a\", \"M242.4 292.5C247.8 287.1 257.1 287.1 262.5 292.5L339.5 369.5C353.7 383.7 372.6 391.5 392.6 391.5H407.7L310.6 488.6C280.3 518.1 231.1 518.1 200.8 488.6L103.3 391.2H112.6C132.6 391.2 151.5 383.4 165.7 369.2L242.4 292.5zM262.5 218.9C256.1 224.4 247.9 224.5 242.4 218.9L165.7 142.2C151.5 127.1 132.6 120.2 112.6 120.2H103.3L200.7 22.76C231.1-7.586 280.3-7.586 310.6 22.76L407.8 119.9H392.6C372.6 119.9 353.7 127.7 339.5 141.9L262.5 218.9zM112.6 142.7C126.4 142.7 139.1 148.3 149.7 158.1L226.4 234.8C233.6 241.1 243 245.6 252.5 245.6C261.9 245.6 271.3 241.1 278.5 234.8L355.5 157.8C365.3 148.1 378.8 142.5 392.6 142.5H430.3L488.6 200.8C518.9 231.1 518.9 280.3 488.6 310.6L430.3 368.9H392.6C378.8 368.9 365.3 363.3 355.5 353.5L278.5 276.5C264.6 262.6 240.3 262.6 226.4 276.6L149.7 353.2C139.1 363 126.4 368.6 112.6 368.6H80.78L22.76 310.6C-7.586 280.3-7.586 231.1 22.76 200.8L80.78 142.7H112.6z\"]\n};\nvar faSteamSymbol = {\n prefix: 'fab',\n iconName: 'steam-symbol',\n icon: [448, 512, [], \"f3f6\", \"M395.5 177.5c0 33.8-27.5 61-61 61-33.8 0-61-27.3-61-61s27.3-61 61-61c33.5 0 61 27.2 61 61zm52.5.2c0 63-51 113.8-113.7 113.8L225 371.3c-4 43-40.5 76.8-84.5 76.8-40.5 0-74.7-28.8-83-67L0 358V250.7L97.2 290c15.1-9.2 32.2-13.3 52-11.5l71-101.7c.5-62.3 51.5-112.8 114-112.8C397 64 448 115 448 177.7zM203 363c0-34.7-27.8-62.5-62.5-62.5-4.5 0-9 .5-13.5 1.5l26 10.5c25.5 10.2 38 39 27.7 64.5-10.2 25.5-39.2 38-64.7 27.5-10.2-4-20.5-8.3-30.7-12.2 10.5 19.7 31.2 33.2 55.2 33.2 34.7 0 62.5-27.8 62.5-62.5zm207.5-185.3c0-42-34.3-76.2-76.2-76.2-42.3 0-76.5 34.2-76.5 76.2 0 42.2 34.3 76.2 76.5 76.2 41.9.1 76.2-33.9 76.2-76.2z\"]\n};\nvar icons = {\n faMonero: faMonero,\n faHooli: faHooli,\n faYelp: faYelp,\n faCcVisa: faCcVisa,\n faLastfm: faLastfm,\n faShopware: faShopware,\n faCreativeCommonsNc: faCreativeCommonsNc,\n faAws: faAws,\n faRedhat: faRedhat,\n faYoast: faYoast,\n faCloudflare: faCloudflare,\n faUps: faUps,\n faWpexplorer: faWpexplorer,\n faDyalog: faDyalog,\n faBity: faBity,\n faStackpath: faStackpath,\n faBuysellads: faBuysellads,\n faFirstOrder: faFirstOrder,\n faModx: faModx,\n faGuilded: faGuilded,\n faVnv: faVnv,\n faSquareJs: faSquareJs,\n faJsSquare: faJsSquare,\n faMicrosoft: faMicrosoft,\n faQq: faQq,\n faOrcid: faOrcid,\n faJava: faJava,\n faInvision: faInvision,\n faCreativeCommonsPdAlt: faCreativeCommonsPdAlt,\n faCentercode: faCentercode,\n faGlideG: faGlideG,\n faDrupal: faDrupal,\n faHireAHelper: faHireAHelper,\n faCreativeCommonsBy: faCreativeCommonsBy,\n faUnity: faUnity,\n faWhmcs: faWhmcs,\n faRocketchat: faRocketchat,\n faVk: faVk,\n faUntappd: faUntappd,\n faMailchimp: faMailchimp,\n faCss3Alt: faCss3Alt,\n faSquareReddit: faSquareReddit,\n faRedditSquare: faRedditSquare,\n faVimeoV: faVimeoV,\n faContao: faContao,\n faSquareFontAwesome: faSquareFontAwesome,\n faDeskpro: faDeskpro,\n faSistrix: faSistrix,\n faSquareInstagram: faSquareInstagram,\n faInstagramSquare: faInstagramSquare,\n faBattleNet: faBattleNet,\n faTheRedYeti: faTheRedYeti,\n faSquareHackerNews: faSquareHackerNews,\n faHackerNewsSquare: faHackerNewsSquare,\n faEdge: faEdge,\n faNapster: faNapster,\n faSquareSnapchat: faSquareSnapchat,\n faSnapchatSquare: faSnapchatSquare,\n faGooglePlusG: faGooglePlusG,\n faArtstation: faArtstation,\n faMarkdown: faMarkdown,\n faSourcetree: faSourcetree,\n faGooglePlus: faGooglePlus,\n faDiaspora: faDiaspora,\n faFoursquare: faFoursquare,\n faStackOverflow: faStackOverflow,\n faGithubAlt: faGithubAlt,\n faPhoenixSquadron: faPhoenixSquadron,\n faPagelines: faPagelines,\n faAlgolia: faAlgolia,\n faRedRiver: faRedRiver,\n faCreativeCommonsSa: faCreativeCommonsSa,\n faSafari: faSafari,\n faGoogle: faGoogle,\n faSquareFontAwesomeStroke: faSquareFontAwesomeStroke,\n faFontAwesomeAlt: faFontAwesomeAlt,\n faAtlassian: faAtlassian,\n faLinkedinIn: faLinkedinIn,\n faDigitalOcean: faDigitalOcean,\n faNimblr: faNimblr,\n faChromecast: faChromecast,\n faEvernote: faEvernote,\n faHackerNews: faHackerNews,\n faCreativeCommonsSampling: faCreativeCommonsSampling,\n faAdversal: faAdversal,\n faCreativeCommons: faCreativeCommons,\n faWatchmanMonitoring: faWatchmanMonitoring,\n faFonticons: faFonticons,\n faWeixin: faWeixin,\n faShirtsinbulk: faShirtsinbulk,\n faCodepen: faCodepen,\n faGitAlt: faGitAlt,\n faLyft: faLyft,\n faRev: faRev,\n faWindows: faWindows,\n faWizardsOfTheCoast: faWizardsOfTheCoast,\n faSquareViadeo: faSquareViadeo,\n faViadeoSquare: faViadeoSquare,\n faMeetup: faMeetup,\n faCentos: faCentos,\n faAdn: faAdn,\n faCloudsmith: faCloudsmith,\n faPiedPiperAlt: faPiedPiperAlt,\n faSquareDribbble: faSquareDribbble,\n faDribbbleSquare: faDribbbleSquare,\n faCodiepie: faCodiepie,\n faNode: faNode,\n faMix: faMix,\n faSteam: faSteam,\n faCcApplePay: faCcApplePay,\n faScribd: faScribd,\n faOpenid: faOpenid,\n faInstalod: faInstalod,\n faExpeditedssl: faExpeditedssl,\n faSellcast: faSellcast,\n faSquareTwitter: faSquareTwitter,\n faTwitterSquare: faTwitterSquare,\n faRProject: faRProject,\n faDelicious: faDelicious,\n faFreebsd: faFreebsd,\n faVuejs: faVuejs,\n faAccusoft: faAccusoft,\n faIoxhost: faIoxhost,\n faFonticonsFi: faFonticonsFi,\n faAppStore: faAppStore,\n faCcMastercard: faCcMastercard,\n faItunesNote: faItunesNote,\n faGolang: faGolang,\n faKickstarter: faKickstarter,\n faGrav: faGrav,\n faWeibo: faWeibo,\n faUncharted: faUncharted,\n faFirstdraft: faFirstdraft,\n faSquareYoutube: faSquareYoutube,\n faYoutubeSquare: faYoutubeSquare,\n faWikipediaW: faWikipediaW,\n faWpressr: faWpressr,\n faRendact: faRendact,\n faAngellist: faAngellist,\n faGalacticRepublic: faGalacticRepublic,\n faNfcDirectional: faNfcDirectional,\n faSkype: faSkype,\n faJoget: faJoget,\n faFedora: faFedora,\n faStripeS: faStripeS,\n faMeta: faMeta,\n faLaravel: faLaravel,\n faHotjar: faHotjar,\n faBluetoothB: faBluetoothB,\n faStickerMule: faStickerMule,\n faCreativeCommonsZero: faCreativeCommonsZero,\n faHips: faHips,\n faBehance: faBehance,\n faReddit: faReddit,\n faDiscord: faDiscord,\n faChrome: faChrome,\n faAppStoreIos: faAppStoreIos,\n faCcDiscover: faCcDiscover,\n faWpbeginner: faWpbeginner,\n faConfluence: faConfluence,\n faMdb: faMdb,\n faDochub: faDochub,\n faAccessibleIcon: faAccessibleIcon,\n faEbay: faEbay,\n faAmazon: faAmazon,\n faUnsplash: faUnsplash,\n faYarn: faYarn,\n faSquareSteam: faSquareSteam,\n faSteamSquare: faSteamSquare,\n fa500px: fa500px,\n faSquareVimeo: faSquareVimeo,\n faVimeoSquare: faVimeoSquare,\n faAsymmetrik: faAsymmetrik,\n faFontAwesome: faFontAwesome,\n faFontAwesomeFlag: faFontAwesomeFlag,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faGratipay: faGratipay,\n faApple: faApple,\n faHive: faHive,\n faGitkraken: faGitkraken,\n faKeybase: faKeybase,\n faApplePay: faApplePay,\n faPadlet: faPadlet,\n faAmazonPay: faAmazonPay,\n faSquareGithub: faSquareGithub,\n faGithubSquare: faGithubSquare,\n faStumbleupon: faStumbleupon,\n faFedex: faFedex,\n faPhoenixFramework: faPhoenixFramework,\n faShopify: faShopify,\n faNeos: faNeos,\n faHackerrank: faHackerrank,\n faResearchgate: faResearchgate,\n faSwift: faSwift,\n faAngular: faAngular,\n faSpeakap: faSpeakap,\n faAngrycreative: faAngrycreative,\n faYCombinator: faYCombinator,\n faEmpire: faEmpire,\n faEnvira: faEnvira,\n faSquareGitlab: faSquareGitlab,\n faGitlabSquare: faGitlabSquare,\n faStudiovinari: faStudiovinari,\n faPiedPiper: faPiedPiper,\n faWordpress: faWordpress,\n faProductHunt: faProductHunt,\n faFirefox: faFirefox,\n faLinode: faLinode,\n faGoodreads: faGoodreads,\n faSquareOdnoklassniki: faSquareOdnoklassniki,\n faOdnoklassnikiSquare: faOdnoklassnikiSquare,\n faJsfiddle: faJsfiddle,\n faSith: faSith,\n faThemeisle: faThemeisle,\n faPage4: faPage4,\n faHashnode: faHashnode,\n faReact: faReact,\n faCcPaypal: faCcPaypal,\n faSquarespace: faSquarespace,\n faCcStripe: faCcStripe,\n faCreativeCommonsShare: faCreativeCommonsShare,\n faBitcoin: faBitcoin,\n faKeycdn: faKeycdn,\n faOpera: faOpera,\n faItchIo: faItchIo,\n faUmbraco: faUmbraco,\n faGalacticSenate: faGalacticSenate,\n faUbuntu: faUbuntu,\n faDraft2digital: faDraft2digital,\n faStripe: faStripe,\n faHouzz: faHouzz,\n faGg: faGg,\n faDhl: faDhl,\n faSquarePinterest: faSquarePinterest,\n faPinterestSquare: faPinterestSquare,\n faXing: faXing,\n faBlackberry: faBlackberry,\n faCreativeCommonsPd: faCreativeCommonsPd,\n faPlaystation: faPlaystation,\n faQuinscape: faQuinscape,\n faLess: faLess,\n faBloggerB: faBloggerB,\n faOpencart: faOpencart,\n faVine: faVine,\n faPaypal: faPaypal,\n faGitlab: faGitlab,\n faTypo3: faTypo3,\n faRedditAlien: faRedditAlien,\n faYahoo: faYahoo,\n faDailymotion: faDailymotion,\n faAffiliatetheme: faAffiliatetheme,\n faPiedPiperPp: faPiedPiperPp,\n faBootstrap: faBootstrap,\n faOdnoklassniki: faOdnoklassniki,\n faNfcSymbol: faNfcSymbol,\n faEthereum: faEthereum,\n faSpeakerDeck: faSpeakerDeck,\n faCreativeCommonsNcEu: faCreativeCommonsNcEu,\n faPatreon: faPatreon,\n faAvianex: faAvianex,\n faEllo: faEllo,\n faGofore: faGofore,\n faBimobject: faBimobject,\n faFacebookF: faFacebookF,\n faSquareGooglePlus: faSquareGooglePlus,\n faGooglePlusSquare: faGooglePlusSquare,\n faMandalorian: faMandalorian,\n faFirstOrderAlt: faFirstOrderAlt,\n faOsi: faOsi,\n faGoogleWallet: faGoogleWallet,\n faDAndDBeyond: faDAndDBeyond,\n faPeriscope: faPeriscope,\n faFulcrum: faFulcrum,\n faCloudscale: faCloudscale,\n faForumbee: faForumbee,\n faMizuni: faMizuni,\n faSchlix: faSchlix,\n faSquareXing: faSquareXing,\n faXingSquare: faXingSquare,\n faBandcamp: faBandcamp,\n faWpforms: faWpforms,\n faCloudversify: faCloudversify,\n faUsps: faUsps,\n faMegaport: faMegaport,\n faMagento: faMagento,\n faSpotify: faSpotify,\n faOptinMonster: faOptinMonster,\n faFly: faFly,\n faAviato: faAviato,\n faItunes: faItunes,\n faCuttlefish: faCuttlefish,\n faBlogger: faBlogger,\n faFlickr: faFlickr,\n faViber: faViber,\n faSoundcloud: faSoundcloud,\n faDigg: faDigg,\n faTencentWeibo: faTencentWeibo,\n faSymfony: faSymfony,\n faMaxcdn: faMaxcdn,\n faEtsy: faEtsy,\n faFacebookMessenger: faFacebookMessenger,\n faAudible: faAudible,\n faThinkPeaks: faThinkPeaks,\n faBilibili: faBilibili,\n faErlang: faErlang,\n faCottonBureau: faCottonBureau,\n faDashcube: faDashcube,\n fa42Group: fa42Group,\n faInnosoft: faInnosoft,\n faStackExchange: faStackExchange,\n faElementor: faElementor,\n faSquarePiedPiper: faSquarePiedPiper,\n faPiedPiperSquare: faPiedPiperSquare,\n faCreativeCommonsNd: faCreativeCommonsNd,\n faPalfed: faPalfed,\n faSuperpowers: faSuperpowers,\n faResolving: faResolving,\n faXbox: faXbox,\n faSearchengin: faSearchengin,\n faTiktok: faTiktok,\n faSquareFacebook: faSquareFacebook,\n faFacebookSquare: faFacebookSquare,\n faRenren: faRenren,\n faLinux: faLinux,\n faGlide: faGlide,\n faLinkedin: faLinkedin,\n faHubspot: faHubspot,\n faDeploydog: faDeploydog,\n faTwitch: faTwitch,\n faRavelry: faRavelry,\n faMixer: faMixer,\n faSquareLastfm: faSquareLastfm,\n faLastfmSquare: faLastfmSquare,\n faVimeo: faVimeo,\n faMendeley: faMendeley,\n faUniregistry: faUniregistry,\n faFigma: faFigma,\n faCreativeCommonsRemix: faCreativeCommonsRemix,\n faCcAmazonPay: faCcAmazonPay,\n faDropbox: faDropbox,\n faInstagram: faInstagram,\n faCmplid: faCmplid,\n faFacebook: faFacebook,\n faGripfire: faGripfire,\n faJediOrder: faJediOrder,\n faUikit: faUikit,\n faFortAwesomeAlt: faFortAwesomeAlt,\n faPhabricator: faPhabricator,\n faUssunnah: faUssunnah,\n faEarlybirds: faEarlybirds,\n faTradeFederation: faTradeFederation,\n faAutoprefixer: faAutoprefixer,\n faWhatsapp: faWhatsapp,\n faSlideshare: faSlideshare,\n faGooglePlay: faGooglePlay,\n faViadeo: faViadeo,\n faLine: faLine,\n faGoogleDrive: faGoogleDrive,\n faServicestack: faServicestack,\n faSimplybuilt: faSimplybuilt,\n faBitbucket: faBitbucket,\n faImdb: faImdb,\n faDeezer: faDeezer,\n faRaspberryPi: faRaspberryPi,\n faJira: faJira,\n faDocker: faDocker,\n faScreenpal: faScreenpal,\n faBluetooth: faBluetooth,\n faGitter: faGitter,\n faDAndD: faDAndD,\n faMicroblog: faMicroblog,\n faCcDinersClub: faCcDinersClub,\n faGgCircle: faGgCircle,\n faPiedPiperHat: faPiedPiperHat,\n faKickstarterK: faKickstarterK,\n faYandex: faYandex,\n faReadme: faReadme,\n faHtml5: faHtml5,\n faSellsy: faSellsy,\n faSass: faSass,\n faWirsindhandwerk: faWirsindhandwerk,\n faWsh: faWsh,\n faBuromobelexperte: faBuromobelexperte,\n faSalesforce: faSalesforce,\n faOctopusDeploy: faOctopusDeploy,\n faMedapps: faMedapps,\n faNs8: faNs8,\n faPinterestP: faPinterestP,\n faApper: faApper,\n faFortAwesome: faFortAwesome,\n faWaze: faWaze,\n faCcJcb: faCcJcb,\n faSnapchat: faSnapchat,\n faSnapchatGhost: faSnapchatGhost,\n faFantasyFlightGames: faFantasyFlightGames,\n faRust: faRust,\n faWix: faWix,\n faSquareBehance: faSquareBehance,\n faBehanceSquare: faBehanceSquare,\n faSupple: faSupple,\n faRebel: faRebel,\n faCss3: faCss3,\n faStaylinked: faStaylinked,\n faKaggle: faKaggle,\n faSpaceAwesome: faSpaceAwesome,\n faDeviantart: faDeviantart,\n faCpanel: faCpanel,\n faGoodreadsG: faGoodreadsG,\n faSquareGit: faSquareGit,\n faGitSquare: faGitSquare,\n faSquareTumblr: faSquareTumblr,\n faTumblrSquare: faTumblrSquare,\n faTrello: faTrello,\n faCreativeCommonsNcJp: faCreativeCommonsNcJp,\n faGetPocket: faGetPocket,\n faPerbyte: faPerbyte,\n faGrunt: faGrunt,\n faWeebly: faWeebly,\n faConnectdevelop: faConnectdevelop,\n faLeanpub: faLeanpub,\n faBlackTie: faBlackTie,\n faThemeco: faThemeco,\n faPython: faPython,\n faAndroid: faAndroid,\n faBots: faBots,\n faFreeCodeCamp: faFreeCodeCamp,\n faHornbill: faHornbill,\n faJs: faJs,\n faIdeal: faIdeal,\n faGit: faGit,\n faDev: faDev,\n faSketch: faSketch,\n faYandexInternational: faYandexInternational,\n faCcAmex: faCcAmex,\n faUber: faUber,\n faGithub: faGithub,\n faPhp: faPhp,\n faAlipay: faAlipay,\n faYoutube: faYoutube,\n faSkyatlas: faSkyatlas,\n faFirefoxBrowser: faFirefoxBrowser,\n faReplyd: faReplyd,\n faSuse: faSuse,\n faJenkins: faJenkins,\n faTwitter: faTwitter,\n faRockrms: faRockrms,\n faPinterest: faPinterest,\n faBuffer: faBuffer,\n faNpm: faNpm,\n faYammer: faYammer,\n faBtc: faBtc,\n faDribbble: faDribbble,\n faStumbleuponCircle: faStumbleuponCircle,\n faInternetExplorer: faInternetExplorer,\n faStubber: faStubber,\n faTelegram: faTelegram,\n faTelegramPlane: faTelegramPlane,\n faOldRepublic: faOldRepublic,\n faOdysee: faOdysee,\n faSquareWhatsapp: faSquareWhatsapp,\n faWhatsappSquare: faWhatsappSquare,\n faNodeJs: faNodeJs,\n faEdgeLegacy: faEdgeLegacy,\n faSlack: faSlack,\n faSlackHash: faSlackHash,\n faMedrt: faMedrt,\n faUsb: faUsb,\n faTumblr: faTumblr,\n faVaadin: faVaadin,\n faQuora: faQuora,\n faReacteurope: faReacteurope,\n faMedium: faMedium,\n faMediumM: faMediumM,\n faAmilia: faAmilia,\n faMixcloud: faMixcloud,\n faFlipboard: faFlipboard,\n faViacoin: faViacoin,\n faCriticalRole: faCriticalRole,\n faSitrox: faSitrox,\n faDiscourse: faDiscourse,\n faJoomla: faJoomla,\n faMastodon: faMastodon,\n faAirbnb: faAirbnb,\n faWolfPackBattalion: faWolfPackBattalion,\n faBuyNLarge: faBuyNLarge,\n faGulp: faGulp,\n faCreativeCommonsSamplingPlus: faCreativeCommonsSamplingPlus,\n faStrava: faStrava,\n faEmber: faEmber,\n faCanadianMapleLeaf: faCanadianMapleLeaf,\n faTeamspeak: faTeamspeak,\n faPushed: faPushed,\n faWordpressSimple: faWordpressSimple,\n faNutritionix: faNutritionix,\n faWodu: faWodu,\n faGooglePay: faGooglePay,\n faIntercom: faIntercom,\n faZhihu: faZhihu,\n faKorvue: faKorvue,\n faPix: faPix,\n faSteamSymbol: faSteamSymbol\n};\n\n\n\n\n//# sourceURL=webpack://demo/./node_modules/@fortawesome/free-brands-svg-icons/index.mjs?");
/***/ }),
/***/ "./node_modules/@fortawesome/free-regular-svg-icons/index.mjs":
/*!********************************************************************!*\
!*** ./node_modules/@fortawesome/free-regular-svg-icons/index.mjs ***!
\********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ faAddressBook: () => (/* binding */ faAddressBook),\n/* harmony export */ faAddressCard: () => (/* binding */ faAddressCard),\n/* harmony export */ faAngry: () => (/* binding */ faAngry),\n/* harmony export */ faArrowAltCircleDown: () => (/* binding */ faArrowAltCircleDown),\n/* harmony export */ faArrowAltCircleLeft: () => (/* binding */ faArrowAltCircleLeft),\n/* harmony export */ faArrowAltCircleRight: () => (/* binding */ faArrowAltCircleRight),\n/* harmony export */ faArrowAltCircleUp: () => (/* binding */ faArrowAltCircleUp),\n/* harmony export */ faBarChart: () => (/* binding */ faBarChart),\n/* harmony export */ faBell: () => (/* binding */ faBell),\n/* harmony export */ faBellSlash: () => (/* binding */ faBellSlash),\n/* harmony export */ faBookmark: () => (/* binding */ faBookmark),\n/* harmony export */ faBuilding: () => (/* binding */ faBuilding),\n/* harmony export */ faCalendar: () => (/* binding */ faCalendar),\n/* harmony export */ faCalendarAlt: () => (/* binding */ faCalendarAlt),\n/* harmony export */ faCalendarCheck: () => (/* binding */ faCalendarCheck),\n/* harmony export */ faCalendarDays: () => (/* binding */ faCalendarDays),\n/* harmony export */ faCalendarMinus: () => (/* binding */ faCalendarMinus),\n/* harmony export */ faCalendarPlus: () => (/* binding */ faCalendarPlus),\n/* harmony export */ faCalendarTimes: () => (/* binding */ faCalendarTimes),\n/* harmony export */ faCalendarXmark: () => (/* binding */ faCalendarXmark),\n/* harmony export */ faCaretSquareDown: () => (/* binding */ faCaretSquareDown),\n/* harmony export */ faCaretSquareLeft: () => (/* binding */ faCaretSquareLeft),\n/* harmony export */ faCaretSquareRight: () => (/* binding */ faCaretSquareRight),\n/* harmony export */ faCaretSquareUp: () => (/* binding */ faCaretSquareUp),\n/* harmony export */ faChartBar: () => (/* binding */ faChartBar),\n/* harmony export */ faCheckCircle: () => (/* binding */ faCheckCircle),\n/* harmony export */ faCheckSquare: () => (/* binding */ faCheckSquare),\n/* harmony export */ faChessBishop: () => (/* binding */ faChessBishop),\n/* harmony export */ faChessKing: () => (/* binding */ faChessKing),\n/* harmony export */ faChessKnight: () => (/* binding */ faChessKnight),\n/* harmony export */ faChessPawn: () => (/* binding */ faChessPawn),\n/* harmony export */ faChessQueen: () => (/* binding */ faChessQueen),\n/* harmony export */ faChessRook: () => (/* binding */ faChessRook),\n/* harmony export */ faCircle: () => (/* binding */ faCircle),\n/* harmony export */ faCircleCheck: () => (/* binding */ faCircleCheck),\n/* harmony export */ faCircleDot: () => (/* binding */ faCircleDot),\n/* harmony export */ faCircleDown: () => (/* binding */ faCircleDown),\n/* harmony export */ faCircleLeft: () => (/* binding */ faCircleLeft),\n/* harmony export */ faCirclePause: () => (/* binding */ faCirclePause),\n/* harmony export */ faCirclePlay: () => (/* binding */ faCirclePlay),\n/* harmony export */ faCircleQuestion: () => (/* binding */ faCircleQuestion),\n/* harmony export */ faCircleRight: () => (/* binding */ faCircleRight),\n/* harmony export */ faCircleStop: () => (/* binding */ faCircleStop),\n/* harmony export */ faCircleUp: () => (/* binding */ faCircleUp),\n/* harmony export */ faCircleUser: () => (/* binding */ faCircleUser),\n/* harmony export */ faCircleXmark: () => (/* binding */ faCircleXmark),\n/* harmony export */ faClipboard: () => (/* binding */ faClipboard),\n/* harmony export */ faClock: () => (/* binding */ faClock),\n/* harmony export */ faClockFour: () => (/* binding */ faClockFour),\n/* harmony export */ faClone: () => (/* binding */ faClone),\n/* harmony export */ faClosedCaptioning: () => (/* binding */ faClosedCaptioning),\n/* harmony export */ faComment: () => (/* binding */ faComment),\n/* harmony export */ faCommentAlt: () => (/* binding */ faCommentAlt),\n/* harmony export */ faCommentDots: () => (/* binding */ faCommentDots),\n/* harmony export */ faCommenting: () => (/* binding */ faCommenting),\n/* harmony export */ faComments: () => (/* binding */ faComments),\n/* harmony export */ faCompass: () => (/* binding */ faCompass),\n/* harmony export */ faContactBook: () => (/* binding */ faContactBook),\n/* harmony export */ faContactCard: () => (/* binding */ faContactCard),\n/* harmony export */ faCopy: () => (/* binding */ faCopy),\n/* harmony export */ faCopyright: () => (/* binding */ faCopyright),\n/* harmony export */ faCreditCard: () => (/* binding */ faCreditCard),\n/* harmony export */ faCreditCardAlt: () => (/* binding */ faCreditCardAlt),\n/* harmony export */ faDizzy: () => (/* binding */ faDizzy),\n/* harmony export */ faDotCircle: () => (/* binding */ faDotCircle),\n/* harmony export */ faDriversLicense: () => (/* binding */ faDriversLicense),\n/* harmony export */ faEdit: () => (/* binding */ faEdit),\n/* harmony export */ faEnvelope: () => (/* binding */ faEnvelope),\n/* harmony export */ faEnvelopeOpen: () => (/* binding */ faEnvelopeOpen),\n/* harmony export */ faEye: () => (/* binding */ faEye),\n/* harmony export */ faEyeSlash: () => (/* binding */ faEyeSlash),\n/* harmony export */ faFaceAngry: () => (/* binding */ faFaceAngry),\n/* harmony export */ faFaceDizzy: () => (/* binding */ faFaceDizzy),\n/* harmony export */ faFaceFlushed: () => (/* binding */ faFaceFlushed),\n/* harmony export */ faFaceFrown: () => (/* binding */ faFaceFrown),\n/* harmony export */ faFaceFrownOpen: () => (/* binding */ faFaceFrownOpen),\n/* harmony export */ faFaceGrimace: () => (/* binding */ faFaceGrimace),\n/* harmony export */ faFaceGrin: () => (/* binding */ faFaceGrin),\n/* harmony export */ faFaceGrinBeam: () => (/* binding */ faFaceGrinBeam),\n/* harmony export */ faFaceGrinBeamSweat: () => (/* binding */ faFaceGrinBeamSweat),\n/* harmony export */ faFaceGrinHearts: () => (/* binding */ faFaceGrinHearts),\n/* harmony export */ faFaceGrinSquint: () => (/* binding */ faFaceGrinSquint),\n/* harmony export */ faFaceGrinSquintTears: () => (/* binding */ faFaceGrinSquintTears),\n/* harmony export */ faFaceGrinStars: () => (/* binding */ faFaceGrinStars),\n/* harmony export */ faFaceGrinTears: () => (/* binding */ faFaceGrinTears),\n/* harmony export */ faFaceGrinTongue: () => (/* binding */ faFaceGrinTongue),\n/* harmony export */ faFaceGrinTongueSquint: () => (/* binding */ faFaceGrinTongueSquint),\n/* harmony export */ faFaceGrinTongueWink: () => (/* binding */ faFaceGrinTongueWink),\n/* harmony export */ faFaceGrinWide: () => (/* binding */ faFaceGrinWide),\n/* harmony export */ faFaceGrinWink: () => (/* binding */ faFaceGrinWink),\n/* harmony export */ faFaceKiss: () => (/* binding */ faFaceKiss),\n/* harmony export */ faFaceKissBeam: () => (/* binding */ faFaceKissBeam),\n/* harmony export */ faFaceKissWinkHeart: () => (/* binding */ faFaceKissWinkHeart),\n/* harmony export */ faFaceLaugh: () => (/* binding */ faFaceLaugh),\n/* harmony export */ faFaceLaughBeam: () => (/* binding */ faFaceLaughBeam),\n/* harmony export */ faFaceLaughSquint: () => (/* binding */ faFaceLaughSquint),\n/* harmony export */ faFaceLaughWink: () => (/* binding */ faFaceLaughWink),\n/* harmony export */ faFaceMeh: () => (/* binding */ faFaceMeh),\n/* harmony export */ faFaceMehBlank: () => (/* binding */ faFaceMehBlank),\n/* harmony export */ faFaceRollingEyes: () => (/* binding */ faFaceRollingEyes),\n/* harmony export */ faFaceSadCry: () => (/* binding */ faFaceSadCry),\n/* harmony export */ faFaceSadTear: () => (/* binding */ faFaceSadTear),\n/* harmony export */ faFaceSmile: () => (/* binding */ faFaceSmile),\n/* harmony export */ faFaceSmileBeam: () => (/* binding */ faFaceSmileBeam),\n/* harmony export */ faFaceSmileWink: () => (/* binding */ faFaceSmileWink),\n/* harmony export */ faFaceSurprise: () => (/* binding */ faFaceSurprise),\n/* harmony export */ faFaceTired: () => (/* binding */ faFaceTired),\n/* harmony export */ faFile: () => (/* binding */ faFile),\n/* harmony export */ faFileAlt: () => (/* binding */ faFileAlt),\n/* harmony export */ faFileArchive: () => (/* binding */ faFileArchive),\n/* harmony export */ faFileAudio: () => (/* binding */ faFileAudio),\n/* harmony export */ faFileClipboard: () => (/* binding */ faFileClipboard),\n/* harmony export */ faFileCode: () => (/* binding */ faFileCode),\n/* harmony export */ faFileExcel: () => (/* binding */ faFileExcel),\n/* harmony export */ faFileImage: () => (/* binding */ faFileImage),\n/* harmony export */ faFileLines: () => (/* binding */ faFileLines),\n/* harmony export */ faFilePdf: () => (/* binding */ faFilePdf),\n/* harmony export */ faFilePowerpoint: () => (/* binding */ faFilePowerpoint),\n/* harmony export */ faFileText: () => (/* binding */ faFileText),\n/* harmony export */ faFileVideo: () => (/* binding */ faFileVideo),\n/* harmony export */ faFileWord: () => (/* binding */ faFileWord),\n/* harmony export */ faFileZipper: () => (/* binding */ faFileZipper),\n/* harmony export */ faFlag: () => (/* binding */ faFlag),\n/* harmony export */ faFloppyDisk: () => (/* binding */ faFloppyDisk),\n/* harmony export */ faFlushed: () => (/* binding */ faFlushed),\n/* harmony export */ faFolder: () => (/* binding */ faFolder),\n/* harmony export */ faFolderBlank: () => (/* binding */ faFolderBlank),\n/* harmony export */ faFolderClosed: () => (/* binding */ faFolderClosed),\n/* harmony export */ faFolderOpen: () => (/* binding */ faFolderOpen),\n/* harmony export */ faFontAwesome: () => (/* binding */ faFontAwesome),\n/* harmony export */ faFontAwesomeFlag: () => (/* binding */ faFontAwesomeFlag),\n/* harmony export */ faFontAwesomeLogoFull: () => (/* binding */ faFontAwesomeLogoFull),\n/* harmony export */ faFrown: () => (/* binding */ faFrown),\n/* harmony export */ faFrownOpen: () => (/* binding */ faFrownOpen),\n/* harmony export */ faFutbol: () => (/* binding */ faFutbol),\n/* harmony export */ faFutbolBall: () => (/* binding */ faFutbolBall),\n/* harmony export */ faGem: () => (/* binding */ faGem),\n/* harmony export */ faGrimace: () => (/* binding */ faGrimace),\n/* harmony export */ faGrin: () => (/* binding */ faGrin),\n/* harmony export */ faGrinAlt: () => (/* binding */ faGrinAlt),\n/* harmony export */ faGrinBeam: () => (/* binding */ faGrinBeam),\n/* harmony export */ faGrinBeamSweat: () => (/* binding */ faGrinBeamSweat),\n/* harmony export */ faGrinHearts: () => (/* binding */ faGrinHearts),\n/* harmony export */ faGrinSquint: () => (/* binding */ faGrinSquint),\n/* harmony export */ faGrinSquintTears: () => (/* binding */ faGrinSquintTears),\n/* harmony export */ faGrinStars: () => (/* binding */ faGrinStars),\n/* harmony export */ faGrinTears: () => (/* binding */ faGrinTears),\n/* harmony export */ faGrinTongue: () => (/* binding */ faGrinTongue),\n/* harmony export */ faGrinTongueSquint: () => (/* binding */ faGrinTongueSquint),\n/* harmony export */ faGrinTongueWink: () => (/* binding */ faGrinTongueWink),\n/* harmony export */ faGrinWink: () => (/* binding */ faGrinWink),\n/* harmony export */ faHand: () => (/* binding */ faHand),\n/* harmony export */ faHandBackFist: () => (/* binding */ faHandBackFist),\n/* harmony export */ faHandLizard: () => (/* binding */ faHandLizard),\n/* harmony export */ faHandPaper: () => (/* binding */ faHandPaper),\n/* harmony export */ faHandPeace: () => (/* binding */ faHandPeace),\n/* harmony export */ faHandPointDown: () => (/* binding */ faHandPointDown),\n/* harmony export */ faHandPointLeft: () => (/* binding */ faHandPointLeft),\n/* harmony export */ faHandPointRight: () => (/* binding */ faHandPointRight),\n/* harmony export */ faHandPointUp: () => (/* binding */ faHandPointUp),\n/* harmony export */ faHandPointer: () => (/* binding */ faHandPointer),\n/* harmony export */ faHandRock: () => (/* binding */ faHandRock),\n/* harmony export */ faHandScissors: () => (/* binding */ faHandScissors),\n/* harmony export */ faHandSpock: () => (/* binding */ faHandSpock),\n/* harmony export */ faHandshake: () => (/* binding */ faHandshake),\n/* harmony export */ faHardDrive: () => (/* binding */ faHardDrive),\n/* harmony export */ faHdd: () => (/* binding */ faHdd),\n/* harmony export */ faHeart: () => (/* binding */ faHeart),\n/* harmony export */ faHospital: () => (/* binding */ faHospital),\n/* harmony export */ faHospitalAlt: () => (/* binding */ faHospitalAlt),\n/* harmony export */ faHospitalWide: () => (/* binding */ faHospitalWide),\n/* harmony export */ faHourglass: () => (/* binding */ faHourglass),\n/* harmony export */ faHourglass2: () => (/* binding */ faHourglass2),\n/* harmony export */ faHourglassEmpty: () => (/* binding */ faHourglassEmpty),\n/* harmony export */ faHourglassHalf: () => (/* binding */ faHourglassHalf),\n/* harmony export */ faIdBadge: () => (/* binding */ faIdBadge),\n/* harmony export */ faIdCard: () => (/* binding */ faIdCard),\n/* harmony export */ faImage: () => (/* binding */ faImage),\n/* harmony export */ faImages: () => (/* binding */ faImages),\n/* harmony export */ faKeyboard: () => (/* binding */ faKeyboard),\n/* harmony export */ faKiss: () => (/* binding */ faKiss),\n/* harmony export */ faKissBeam: () => (/* binding */ faKissBeam),\n/* harmony export */ faKissWinkHeart: () => (/* binding */ faKissWinkHeart),\n/* harmony export */ faLaugh: () => (/* binding */ faLaugh),\n/* harmony export */ faLaughBeam: () => (/* binding */ faLaughBeam),\n/* harmony export */ faLaughSquint: () => (/* binding */ faLaughSquint),\n/* harmony export */ faLaughWink: () => (/* binding */ faLaughWink),\n/* harmony export */ faLemon: () => (/* binding */ faLemon),\n/* harmony export */ faLifeRing: () => (/* binding */ faLifeRing),\n/* harmony export */ faLightbulb: () => (/* binding */ faLightbulb),\n/* harmony export */ faListAlt: () => (/* binding */ faListAlt),\n/* harmony export */ faMap: () => (/* binding */ faMap),\n/* harmony export */ faMeh: () => (/* binding */ faMeh),\n/* harmony export */ faMehBlank: () => (/* binding */ faMehBlank),\n/* harmony export */ faMehRollingEyes: () => (/* binding */ faMehRollingEyes),\n/* harmony export */ faMessage: () => (/* binding */ faMessage),\n/* harmony export */ faMinusSquare: () => (/* binding */ faMinusSquare),\n/* harmony export */ faMoneyBill1: () => (/* binding */ faMoneyBill1),\n/* harmony export */ faMoneyBillAlt: () => (/* binding */ faMoneyBillAlt),\n/* harmony export */ faMoon: () => (/* binding */ faMoon),\n/* harmony export */ faNewspaper: () => (/* binding */ faNewspaper),\n/* harmony export */ faNoteSticky: () => (/* binding */ faNoteSticky),\n/* harmony export */ faObjectGroup: () => (/* binding */ faObjectGroup),\n/* harmony export */ faObjectUngroup: () => (/* binding */ faObjectUngroup),\n/* harmony export */ faPaperPlane: () => (/* binding */ faPaperPlane),\n/* harmony export */ faPaste: () => (/* binding */ faPaste),\n/* harmony export */ faPauseCircle: () => (/* binding */ faPauseCircle),\n/* harmony export */ faPenToSquare: () => (/* binding */ faPenToSquare),\n/* harmony export */ faPlayCircle: () => (/* binding */ faPlayCircle),\n/* harmony export */ faPlusSquare: () => (/* binding */ faPlusSquare),\n/* harmony export */ faQuestionCircle: () => (/* binding */ faQuestionCircle),\n/* harmony export */ faRectangleList: () => (/* binding */ faRectangleList),\n/* harmony export */ faRectangleTimes: () => (/* binding */ faRectangleTimes),\n/* harmony export */ faRectangleXmark: () => (/* binding */ faRectangleXmark),\n/* harmony export */ faRegistered: () => (/* binding */ faRegistered),\n/* harmony export */ faSadCry: () => (/* binding */ faSadCry),\n/* harmony export */ faSadTear: () => (/* binding */ faSadTear),\n/* harmony export */ faSave: () => (/* binding */ faSave),\n/* harmony export */ faShareFromSquare: () => (/* binding */ faShareFromSquare),\n/* harmony export */ faShareSquare: () => (/* binding */ faShareSquare),\n/* harmony export */ faSmile: () => (/* binding */ faSmile),\n/* harmony export */ faSmileBeam: () => (/* binding */ faSmileBeam),\n/* harmony export */ faSmileWink: () => (/* binding */ faSmileWink),\n/* harmony export */ faSnowflake: () => (/* binding */ faSnowflake),\n/* harmony export */ faSoccerBall: () => (/* binding */ faSoccerBall),\n/* harmony export */ faSquare: () => (/* binding */ faSquare),\n/* harmony export */ faSquareCaretDown: () => (/* binding */ faSquareCaretDown),\n/* harmony export */ faSquareCaretLeft: () => (/* binding */ faSquareCaretLeft),\n/* harmony export */ faSquareCaretRight: () => (/* binding */ faSquareCaretRight),\n/* harmony export */ faSquareCaretUp: () => (/* binding */ faSquareCaretUp),\n/* harmony export */ faSquareCheck: () => (/* binding */ faSquareCheck),\n/* harmony export */ faSquareFull: () => (/* binding */ faSquareFull),\n/* harmony export */ faSquareMinus: () => (/* binding */ faSquareMinus),\n/* harmony export */ faSquarePlus: () => (/* binding */ faSquarePlus),\n/* harmony export */ faStar: () => (/* binding */ faStar),\n/* harmony export */ faStarHalf: () => (/* binding */ faStarHalf),\n/* harmony export */ faStarHalfAlt: () => (/* binding */ faStarHalfAlt),\n/* harmony export */ faStarHalfStroke: () => (/* binding */ faStarHalfStroke),\n/* harmony export */ faStickyNote: () => (/* binding */ faStickyNote),\n/* harmony export */ faStopCircle: () => (/* binding */ faStopCircle),\n/* harmony export */ faSun: () => (/* binding */ faSun),\n/* harmony export */ faSurprise: () => (/* binding */ faSurprise),\n/* harmony export */ faThumbsDown: () => (/* binding */ faThumbsDown),\n/* harmony export */ faThumbsUp: () => (/* binding */ faThumbsUp),\n/* harmony export */ faTimesCircle: () => (/* binding */ faTimesCircle),\n/* harmony export */ faTimesRectangle: () => (/* binding */ faTimesRectangle),\n/* harmony export */ faTired: () => (/* binding */ faTired),\n/* harmony export */ faTrashAlt: () => (/* binding */ faTrashAlt),\n/* harmony export */ faTrashCan: () => (/* binding */ faTrashCan),\n/* harmony export */ faUser: () => (/* binding */ faUser),\n/* harmony export */ faUserCircle: () => (/* binding */ faUserCircle),\n/* harmony export */ faVcard: () => (/* binding */ faVcard),\n/* harmony export */ faWindowClose: () => (/* binding */ faWindowClose),\n/* harmony export */ faWindowMaximize: () => (/* binding */ faWindowMaximize),\n/* harmony export */ faWindowMinimize: () => (/* binding */ faWindowMinimize),\n/* harmony export */ faWindowRestore: () => (/* binding */ faWindowRestore),\n/* harmony export */ faXmarkCircle: () => (/* binding */ faXmarkCircle),\n/* harmony export */ far: () => (/* binding */ icons),\n/* harmony export */ prefix: () => (/* binding */ prefix)\n/* harmony export */ });\nvar prefix = \"far\";\nvar faTrashCan = {\n prefix: 'far',\n iconName: 'trash-can',\n icon: [448, 512, [61460, \"trash-alt\"], \"f2ed\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTrashAlt = faTrashCan;\nvar faMessage = {\n prefix: 'far',\n iconName: 'message',\n icon: [512, 512, [\"comment-alt\"], \"f27a\", \"M160 368c26.5 0 48 21.5 48 48v16l72.5-54.4c8.3-6.2 18.4-9.6 28.8-9.6H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16h96zm48 124l-.2 .2-5.1 3.8-17.1 12.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V474.7v-6.4V468v-4V416H112 64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L208 492z\"]\n};\nvar faCommentAlt = faMessage;\nvar faFileLines = {\n prefix: 'far',\n iconName: 'file-lines',\n icon: [384, 512, [128441, 128462, 61686, \"file-alt\", \"file-text\"], \"f15c\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm56 256c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]\n};\nvar faFileAlt = faFileLines;\nvar faFileText = faFileLines;\nvar faCalendarDays = {\n prefix: 'far',\n iconName: 'calendar-days',\n icon: [448, 512, [\"calendar-alt\"], \"f073\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192h80v56H48V192zm0 104h80v64H48V296zm128 0h96v64H176V296zm144 0h80v64H320V296zm80-48H320V192h80v56zm0 160v40c0 8.8-7.2 16-16 16H320V408h80zm-128 0v56H176V408h96zm-144 0v56H64c-8.8 0-16-7.2-16-16V408h80zM272 248H176V192h96v56z\"]\n};\nvar faCalendarAlt = faCalendarDays;\nvar faHandPointRight = {\n prefix: 'far',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M448 128l-177.6 0c1 5.2 1.6 10.5 1.6 16l0 16 32 0 144 0c8.8 0 16-7.2 16-16s-7.2-16-16-16zM224 144c0-17.7-14.3-32-32-32c0 0 0 0 0 0l-24 0c-66.3 0-120 53.7-120 120l0 48c0 52.5 33.7 97.1 80.7 113.4c-.5-3.1-.7-6.2-.7-9.4c0-20 9.2-37.9 23.6-49.7c-4.9-9-7.6-19.4-7.6-30.3c0-15.1 5.3-29 14-40c-8.8-11-14-24.9-14-40l0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40c0 8.8 7.2 16 16 16s16-7.2 16-16l0-40 0-40zM192 64s0 0 0 0c18 0 34.6 6 48 16l208 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-82 0c1.3 5.1 2 10.5 2 16c0 25.3-14.7 47.2-36 57.6c2.6 7 4 14.5 4 22.4c0 20-9.2 37.9-23.6 49.7c4.9 9 7.6 19.4 7.6 30.3c0 35.3-28.7 64-64 64l-64 0-24 0C75.2 448 0 372.8 0 280l0-48C0 139.2 75.2 64 168 64l24 0zm64 336c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l64 0zm16-176c0 5.5-.7 10.9-2 16l2 0 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0 16zm-24 64l-40 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 16 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-24 0z\"]\n};\nvar faFaceSmileBeam = {\n prefix: 'far',\n iconName: 'face-smile-beam',\n icon: [512, 512, [128522, \"smile-beam\"], \"f5b8\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zm40-89.3l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faSmileBeam = faFaceSmileBeam;\nvar faFaceGrinStars = {\n prefix: 'far',\n iconName: 'face-grin-stars',\n icon: [512, 512, [129321, \"grin-stars\"], \"f587\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM183.2 132.6c-1.3-2.8-4.1-4.6-7.2-4.6s-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L176 240.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L242.4 186c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7zm160 0c-1.3-2.8-4.1-4.6-7.2-4.6s-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L336 240.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L402.4 186c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7zm6.3 175.8c-28.9 6.8-60.5 10.5-93.6 10.5s-64.7-3.7-93.6-10.5c-18.7-4.4-35.9 12-25.5 28.1c24.6 38.1 68.7 63.5 119.1 63.5s94.5-25.4 119.1-63.5c10.4-16.1-6.8-32.5-25.5-28.1z\"]\n};\nvar faGrinStars = faFaceGrinStars;\nvar faAddressBook = {\n prefix: 'far',\n iconName: 'address-book',\n icon: [512, 512, [62138, \"contact-book\"], \"f2b9\", \"M384 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM96 0C60.7 0 32 28.7 32 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H96zM240 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H208zM512 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80zM496 192c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm16 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V336z\"]\n};\nvar faContactBook = faAddressBook;\nvar faComments = {\n prefix: 'far',\n iconName: 'comments',\n icon: [640, 512, [128490, 61670], \"f086\", \"M88.2 309.1c9.8-18.3 6.8-40.8-7.5-55.8C59.4 230.9 48 204 48 176c0-63.5 63.8-128 160-128s160 64.5 160 128s-63.8 128-160 128c-13.1 0-25.8-1.3-37.8-3.6c-10.4-2-21.2-.6-30.7 4.2c-4.1 2.1-8.3 4.1-12.6 6c-16 7.2-32.9 13.5-49.9 18c2.8-4.6 5.4-9.1 7.9-13.6c1.1-1.9 2.2-3.9 3.2-5.9zM0 176c0 41.8 17.2 80.1 45.9 110.3c-.9 1.7-1.9 3.5-2.8 5.1c-10.3 18.4-22.3 36.5-36.6 52.1c-6.6 7-8.3 17.2-4.6 25.9C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7c4.8-2.2 9.6-4.5 14.2-6.8c15.1 3 30.9 4.5 47.1 4.5c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176zM432 480c16.2 0 31.9-1.6 47.1-4.5c4.6 2.3 9.4 4.6 14.2 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5c3.8-8.8 2-19-4.6-25.9c-14.2-15.6-26.2-33.7-36.6-52.1c-.9-1.7-1.9-3.4-2.8-5.1C622.8 384.1 640 345.8 640 304c0-94.4-87.9-171.5-198.2-175.8c4.1 15.2 6.2 31.2 6.2 47.8l0 .6c87.2 6.7 144 67.5 144 127.4c0 28-11.4 54.9-32.7 77.2c-14.3 15-17.3 37.6-7.5 55.8c1.1 2 2.2 4 3.2 5.9c2.5 4.5 5.2 9 7.9 13.6c-17-4.5-33.9-10.7-49.9-18c-4.3-1.9-8.5-3.9-12.6-6c-9.5-4.8-20.3-6.2-30.7-4.2c-12.1 2.4-24.7 3.6-37.8 3.6c-61.7 0-110-26.5-136.8-62.3c-16 5.4-32.8 9.4-50 11.8C279 439.8 350 480 432 480z\"]\n};\nvar faPaste = {\n prefix: 'far',\n iconName: 'paste',\n icon: [512, 512, [\"file-clipboard\"], \"f0ea\", \"M104.6 48H64C28.7 48 0 76.7 0 112V384c0 35.3 28.7 64 64 64h96V400H64c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H80c0 17.7 14.3 32 32 32h72.4C202 108.4 227.6 96 256 96h62c-7.1-27.6-32.2-48-62-48H215.4C211.6 20.9 188.2 0 160 0s-51.6 20.9-55.4 48zM144 56a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM448 464H256c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16l140.1 0L464 243.9V448c0 8.8-7.2 16-16 16zM256 512H448c35.3 0 64-28.7 64-64V243.9c0-12.7-5.1-24.9-14.1-33.9l-67.9-67.9c-9-9-21.2-14.1-33.9-14.1H256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64z\"]\n};\nvar faFileClipboard = faPaste;\nvar faFaceGrinTongueSquint = {\n prefix: 'far',\n iconName: 'face-grin-tongue-squint',\n icon: [512, 512, [128541, \"grin-tongue-squint\"], \"f58a\", \"M464 256c0-114.9-93.1-208-208-208S48 141.1 48 256c0 81.7 47.1 152.4 115.7 186.4c-2.4-8.4-3.7-17.3-3.7-26.4V392.7c-24-17.5-43.1-41.4-54.8-69.2c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19c12.3-3.8 24.3 6.9 19.3 18.7c-11.8 28-31.1 52-55.4 69.6V416c0 9.2-1.3 18-3.7 26.4C416.9 408.4 464 337.7 464 256zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm116-98.9c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm262.5-10.5c7.9-4.2 17.5 1.5 17.5 10.5c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9zM320 416V378.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V416c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGrinTongueSquint = faFaceGrinTongueSquint;\nvar faFaceFlushed = {\n prefix: 'far',\n iconName: 'face-flushed',\n icon: [512, 512, [128563, \"flushed\"], \"f579\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM160.4 248a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM192 336c-13.3 0-24 10.7-24 24s10.7 24 24 24H320c13.3 0 24-10.7 24-24s-10.7-24-24-24H192zM160 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm144-80a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faFlushed = faFaceFlushed;\nvar faSquareCaretRight = {\n prefix: 'far',\n iconName: 'square-caret-right',\n icon: [448, 512, [\"caret-square-right\"], \"f152\", \"M400 96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM320 256c0 6.7-2.8 13-7.7 17.6l-112 104c-7 6.5-17.2 8.2-25.9 4.4s-14.4-12.5-14.4-22l0-208c0-9.5 5.7-18.2 14.4-22s18.9-2.1 25.9 4.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6z\"]\n};\nvar faCaretSquareRight = faSquareCaretRight;\nvar faSquareMinus = {\n prefix: 'far',\n iconName: 'square-minus',\n icon: [448, 512, [61767, \"minus-square\"], \"f146\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM152 232H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMinusSquare = faSquareMinus;\nvar faCompass = {\n prefix: 'far',\n iconName: 'compass',\n icon: [512, 512, [129517], \"f14e\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm306.7 69.1L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSquareCaretDown = {\n prefix: 'far',\n iconName: 'square-caret-down',\n icon: [448, 512, [\"caret-square-down\"], \"f150\", \"M384 432c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0zm64-16c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320zM224 352c-6.7 0-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9s12.5-14.4 22-14.4l208 0c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7z\"]\n};\nvar faCaretSquareDown = faSquareCaretDown;\nvar faFaceKissBeam = {\n prefix: 'far',\n iconName: 'face-kiss-beam',\n icon: [512, 512, [128537, \"kiss-beam\"], \"f597\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm304.7 41.7c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 427.1 257.4 432 240 432c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zm-87.1-68.9l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faKissBeam = faFaceKissBeam;\nvar faLightbulb = {\n prefix: 'far',\n iconName: 'lightbulb',\n icon: [384, 512, [128161], \"f0eb\", \"M297.2 248.9C311.6 228.3 320 203.2 320 176c0-70.7-57.3-128-128-128S64 105.3 64 176c0 27.2 8.4 52.3 22.8 72.9c3.7 5.3 8.1 11.3 12.8 17.7l0 0c12.9 17.7 28.3 38.9 39.8 59.8c10.4 19 15.7 38.8 18.3 57.5H109c-2.2-12-5.9-23.7-11.8-34.5c-9.9-18-22.2-34.9-34.5-51.8l0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C27.6 247.9 16 213.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4l0 0 0 0c-12.3 16.8-24.6 33.7-34.5 51.8c-5.9 10.8-9.6 22.5-11.8 34.5H226.4c2.6-18.7 7.9-38.6 18.3-57.5c11.5-20.9 26.9-42.1 39.8-59.8l0 0 0 0 0 0c4.7-6.4 9-12.4 12.7-17.7zM192 128c-26.5 0-48 21.5-48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16zm0 384c-44.2 0-80-35.8-80-80V416H272v16c0 44.2-35.8 80-80 80z\"]\n};\nvar faFlag = {\n prefix: 'far',\n iconName: 'flag',\n icon: [448, 512, [127988, 61725], \"f024\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24V64 350.5 400v88c0 13.3 10.7 24 24 24s24-10.7 24-24V388l80.3-20.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30V66.1c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L48 52V24zm0 77.5l96.6-24.2c27-6.7 55.5-3.6 80.4 8.8c54.9 27.4 118.7 29.7 175 6.8V334.7l-24.4 9.1c-33.7 12.6-71.2 10.7-103.4-5.4c-48.2-24.1-103.3-30.1-155.6-17.1L48 338.5v-237z\"]\n};\nvar faSquareCheck = {\n prefix: 'far',\n iconName: 'square-check',\n icon: [448, 512, [9745, 9989, 61510, \"check-square\"], \"f14a\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCheckSquare = faSquareCheck;\nvar faCircleDot = {\n prefix: 'far',\n iconName: 'circle-dot',\n icon: [512, 512, [128280, \"dot-circle\"], \"f192\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faDotCircle = faCircleDot;\nvar faFaceDizzy = {\n prefix: 'far',\n iconName: 'face-dizzy',\n icon: [512, 512, [\"dizzy\"], \"f567\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM103 135c9.4-9.4 24.6-9.4 33.9 0l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9zm192 0c9.4-9.4 24.6-9.4 33.9 0l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faDizzy = faFaceDizzy;\nvar faFutbol = {\n prefix: 'far',\n iconName: 'futbol',\n icon: [512, 512, [9917, \"futbol-ball\", \"soccer-ball\"], \"f1e3\", \"M435.4 361.3l-89.7-6c-5.2-.3-10.3 1.1-14.5 4.2s-7.2 7.4-8.4 12.5l-22 87.2c-14.4 3.2-29.4 4.8-44.8 4.8s-30.3-1.7-44.8-4.8l-22-87.2c-1.3-5-4.3-9.4-8.4-12.5s-9.3-4.5-14.5-4.2l-89.7 6C61.7 335.9 51.9 307 49 276.2L125 228.3c4.4-2.8 7.6-7 9.2-11.9s1.4-10.2-.5-15L100.4 118c19.9-22.4 44.6-40.5 72.4-52.7l69.1 57.6c4 3.3 9 5.1 14.1 5.1s10.2-1.8 14.1-5.1l69.1-57.6c27.8 12.2 52.5 30.3 72.4 52.7l-33.4 83.4c-1.9 4.8-2.1 10.1-.5 15s4.9 9.1 9.2 11.9L463 276.2c-3 30.8-12.7 59.7-27.6 85.1zM256 48l.9 0h-1.8l.9 0zM56.7 196.2c.9-3 1.9-6.1 2.9-9.1l-2.9 9.1zM132 423l3.8 2.7c-1.3-.9-2.5-1.8-3.8-2.7zm248.1-.1c-1.3 1-2.7 2-4 2.9l4-2.9zm75.2-226.6l-3-9.2c1.1 3 2.1 6.1 3 9.2zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm14.1-325.7c-8.4-6.1-19.8-6.1-28.2 0L194 221c-8.4 6.1-11.9 16.9-8.7 26.8l18.3 56.3c3.2 9.9 12.4 16.6 22.8 16.6h59.2c10.4 0 19.6-6.7 22.8-16.6l18.3-56.3c3.2-9.9-.3-20.7-8.7-26.8l-47.9-34.8z\"]\n};\nvar faFutbolBall = faFutbol;\nvar faSoccerBall = faFutbol;\nvar faPenToSquare = {\n prefix: 'far',\n iconName: 'pen-to-square',\n icon: [512, 512, [\"edit\"], \"f044\", \"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"]\n};\nvar faEdit = faPenToSquare;\nvar faHourglassHalf = {\n prefix: 'far',\n iconName: 'hourglass-half',\n icon: [384, 512, [\"hourglass-2\"], \"f252\", \"M0 24C0 10.7 10.7 0 24 0H360c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V67c0 40.3-16 79-44.5 107.5L225.9 256l81.5 81.5C336 366 352 404.7 352 445v19h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V445c0-40.3 16-79 44.5-107.5L158.1 256 76.5 174.5C48 146 32 107.3 32 67V48H24C10.7 48 0 37.3 0 24zM110.5 371.5c-3.9 3.9-7.5 8.1-10.7 12.5H284.2c-3.2-4.4-6.8-8.6-10.7-12.5L192 289.9l-81.5 81.5zM284.2 128C297 110.4 304 89 304 67V48H80V67c0 22.1 7 43.4 19.8 61H284.2z\"]\n};\nvar faHourglass2 = faHourglassHalf;\nvar faEyeSlash = {\n prefix: 'far',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z\"]\n};\nvar faHand = {\n prefix: 'far',\n iconName: 'hand',\n icon: [512, 512, [129306, 9995, \"hand-paper\"], \"f256\", \"M256 0c-25.3 0-47.2 14.7-57.6 36c-7-2.6-14.5-4-22.4-4c-35.3 0-64 28.7-64 64V261.5l-2.7-2.7c-25-25-65.5-25-90.5 0s-25 65.5 0 90.5L106.5 437c48 48 113.1 75 181 75H296h8c1.5 0 3-.1 4.5-.4c91.7-6.2 165-79.4 171.1-171.1c.3-1.5 .4-3 .4-4.5V160c0-35.3-28.7-64-64-64c-5.5 0-10.9 .7-16 2V96c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4C303.2 14.7 281.3 0 256 0zM240 96.1c0 0 0-.1 0-.1V64c0-8.8 7.2-16 16-16s16 7.2 16 16V95.9c0 0 0 .1 0 .1V232c0 13.3 10.7 24 24 24s24-10.7 24-24V96c0 0 0 0 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16v55.9c0 0 0 .1 0 .1v80c0 13.3 10.7 24 24 24s24-10.7 24-24V160.1c0 0 0-.1 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16V332.9c-.1 .6-.1 1.3-.2 1.9c-3.4 69.7-59.3 125.6-129 129c-.6 0-1.3 .1-1.9 .2H296h-8.5c-55.2 0-108.1-21.9-147.1-60.9L52.7 315.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L119 336.4c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V96c0-8.8 7.2-16 16-16c8.8 0 16 7.1 16 15.9V232c0 13.3 10.7 24 24 24s24-10.7 24-24V96.1z\"]\n};\nvar faHandPaper = faHand;\nvar faHandSpock = {\n prefix: 'far',\n iconName: 'hand-spock',\n icon: [576, 512, [128406], \"f259\", \"M221.7 25.3L215.6 2.1l6.2 23.2zm48.9 28.4l23.2-6.2v0l-23.2 6.2zM193.3 74.3l-23.2 6.2 0 0 23.2-6.2zm46.5 175.3l-22.1 9.3c4.9 11.6 17.9 17.5 29.9 13.4s18.7-16.7 15.4-28.9l-23.2 6.2zm-51-121.1l-22.1 9.3v0l22.1-9.3zm-52.4-21.3l9.3 22.1h0l-9.3-22.1zm-21.3 52.4L93 168.8h0l22.1-9.3zm5.4 144.9l14.7-18.9h0l-14.7 18.9zm-56.1 7l18.9 14.7 0 0L64.4 311.4zm7 56.1L56.7 386.5h0l14.7-18.9zm92 71.6l-14.7 18.9 14.7-18.9zm300.1-48.5l23.3 5.8-23.3-5.8zm55.2-220.9l23.3 5.8-23.3-5.8zm-29.1-48.5l5.8-23.3-5.8 23.3zm-48.5 29.1l23.3 5.8v0l-23.3-5.8zM415 255l23.3 5.8 0 0L415 255zm-2.6-.5l23.6 4.2 0 0-23.6-4.2zM439.4 103l23.6 4.2v0L439.4 103zM407 56.6l-4.2 23.6L407 56.6zM360.6 89L337 84.8 360.6 89zM331.5 252.6l-23.6-4.2 0 0 23.6 4.2zm-8 .3l23.2-6.2 0 0-23.2 6.2zM336 488l.5-24-.5 24zm-157-138L193.8 331l-14.7 18.9zM227.9 48.5c8.5-2.3 17.3 2.8 19.6 11.4l46.4-12.3c-9.1-34.2-44.1-54.5-78.3-45.4l12.3 46.4zM216.5 68.1c-2.3-8.5 2.8-17.3 11.4-19.6L215.6 2.1c-34.2 9.1-54.5 44.1-45.4 78.3l46.4-12.3zM263 243.4L216.5 68.1 170.1 80.4l46.5 175.3L263 243.4zM166.7 137.8l51 121.1L262 240.2 211 119.2l-44.2 18.6zm-21-8.5c8.1-3.4 17.5 .4 21 8.5L211 119.2C197.3 86.6 159.7 71.3 127.2 85l18.6 44.2zm-8.5 21c-3.4-8.1 .4-17.5 8.5-21L127.2 85C94.6 98.7 79.3 136.3 93 168.8l44.2-18.6zm76.2 181l-76.2-181L93 168.8l76.2 181 44.2-18.6zm-107.6-7.8l58.5 45.5L193.8 331l-58.5-45.5-29.5 37.9zm-22.5 2.8c5.4-7 15.5-8.2 22.5-2.8l29.5-37.9c-27.9-21.7-68.1-16.7-89.8 11.2l37.9 29.5zm2.8 22.5c-7-5.4-8.2-15.5-2.8-22.5L45.5 296.7c-21.7 27.9-16.7 68.1 11.2 89.8l29.5-37.9zm92 71.6l-92-71.6L56.7 386.5l92 71.6 29.5-37.9zM305.9 464c-46.3 0-91.2-15.4-127.7-43.8l-29.5 37.9C193.6 493 248.9 512 305.9 512V464zm30.1 0H305.9v48H336V464zm2.8 0c-.8 0-1.5 0-2.3 0l-1 48c1.1 0 2.2 0 3.3 0V464zm101.5-79.2C428.7 431.3 386.8 464 338.8 464v48c70 0 131.1-47.7 148-115.6l-46.6-11.6zm55.2-220.9L440.3 384.8l46.6 11.6 55.2-220.9-46.6-11.6zm-11.6-19.4c8.6 2.1 13.8 10.8 11.6 19.4l46.6 11.6c8.6-34.3-12.3-69-46.6-77.6l-11.6 46.6zm-19.4 11.6c2.1-8.6 10.8-13.8 19.4-11.6l11.6-46.6c-34.3-8.6-69 12.3-77.6 46.6l46.6 11.6zM438.3 260.8l26.2-104.7-46.6-11.6L391.7 249.2l46.6 11.6zM413.7 280c11.6 0 21.7-7.9 24.6-19.2l-46.6-11.6c2.5-10.1 11.6-17.2 22-17.2v48zm-24.9-29.7c-2.8 15.5 9.2 29.7 24.9 29.7V232c14.1 0 24.8 12.8 22.3 26.7l-47.3-8.4zM415.8 98.8L388.8 250.3l47.3 8.4L463 107.2l-47.3-8.4zm-13-18.6c8.7 1.5 14.5 9.9 13 18.6l47.3 8.4c6.2-34.8-17-68-51.8-74.2l-8.4 47.3zm-18.6 13c1.5-8.7 9.9-14.5 18.6-13L411.2 33c-34.8-6.2-68 17-74.2 51.8l47.3 8.4zM355.2 256.8L384.2 93.2 337 84.8 307.9 248.4l47.3 8.4zM327.5 280c13.6 0 25.3-9.8 27.7-23.2l-47.3-8.4c1.7-9.5 9.9-16.4 19.6-16.4v48zm-27.2-20.9c3.3 12.3 14.4 20.9 27.2 20.9V232c9 0 16.9 6.1 19.2 14.8l-46.4 12.3zM247.5 59.9l52.8 199.2 46.4-12.3L293.9 47.6 247.5 59.9zM360 488c0 13.5-11.1 24.3-24.5 24l1-48c-13.5-.3-24.5 10.5-24.5 24h48zm-24 24c13.3 0 24-10.8 24-24H312c0-13.2 10.7-24 24-24v48zM169.2 349.8c-6.4-15.2 11.6-29 24.6-18.8l-29.5 37.9c26 20.2 61.9-7.3 49.1-37.7l-44.2 18.6z\"]\n};\nvar faFaceKiss = {\n prefix: 'far',\n iconName: 'face-kiss',\n icon: [512, 512, [128535, \"kiss\"], \"f596\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm304.7 25.7c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 411.1 257.4 416 240 416c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.8-.5-.1-.1-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faKiss = faFaceKiss;\nvar faFaceGrinTongue = {\n prefix: 'far',\n iconName: 'face-grin-tongue',\n icon: [512, 512, [128539, \"grin-tongue\"], \"f589\", \"M464 256c0-114.9-93.1-208-208-208S48 141.1 48 256c0 81.7 47.1 152.4 115.7 186.4c-2.4-8.4-3.7-17.3-3.7-26.4V363.6c-8.9-8-16.7-17.1-23.1-27.1c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5c18.7-4.4 35.9 12 25.5 28.1c-6.4 9.9-14.2 19-23 27V416c0 9.2-1.3 18-3.7 26.4C416.9 408.4 464 337.7 464 256zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.4-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 416V378.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V416c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGrinTongue = faFaceGrinTongue;\nvar faChessBishop = {\n prefix: 'far',\n iconName: 'chess-bishop',\n icon: [320, 512, [9821], \"f43a\", \"M104 0C90.7 0 80 10.7 80 24c0 11.2 7.6 20.6 18 23.2c-7.8 8-16.1 17-24.4 27C38.2 116.7 0 178.8 0 250.9c0 44.8 24.6 72.2 48 87.8V352H96V325c0-9-5-17.2-13-21.3c-18-9.3-35-24.7-35-52.7c0-55.5 29.8-106.8 62.4-145.9c16-19.2 32.1-34.8 44.2-45.5c1.9-1.7 3.7-3.2 5.3-4.6c1.7 1.4 3.4 3 5.3 4.6c12.1 10.7 28.2 26.3 44.2 45.5c5.3 6.3 10.5 13 15.5 20L159 191c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57.8-57.8c12.8 25.9 21.2 54.3 21.2 83.8c0 28-17 43.4-35 52.7c-8 4.1-13 12.3-13 21.3v27h48V338.7c23.4-15.6 48-42.9 48-87.8c0-72.1-38.2-134.2-73.6-176.7c-8.3-9.9-16.6-19-24.4-27c10.3-2.7 18-12.1 18-23.2c0-13.3-10.7-24-24-24H160 104zM52.7 464l16.6-32H250.8l16.6 32H52.7zm207.9-80H59.5c-12 0-22.9 6.7-28.4 17.3L4.6 452.5c-3 5.8-4.6 12.2-4.6 18.7C0 493.8 18.2 512 40.8 512H279.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2c-5.5-10.6-16.5-17.3-28.4-17.3z\"]\n};\nvar faFaceGrinWink = {\n prefix: 'far',\n iconName: 'face-grin-wink',\n icon: [512, 512, [\"grin-wink\"], \"f58c\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm165.8 21.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7s-19.9 3.8-25.4 9.7z\"]\n};\nvar faGrinWink = faFaceGrinWink;\nvar faFaceGrinWide = {\n prefix: 'far',\n iconName: 'face-grin-wide',\n icon: [512, 512, [128515, \"grin-alt\"], \"f581\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM224 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64zm96 64c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64z\"]\n};\nvar faGrinAlt = faFaceGrinWide;\nvar faFaceFrownOpen = {\n prefix: 'far',\n iconName: 'face-frown-open',\n icon: [512, 512, [128550, \"frown-open\"], \"f57a\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM182.4 382.5c-12.4 5.2-26.5-4.1-21.1-16.4c16-36.6 52.4-62.1 94.8-62.1s78.8 25.6 94.8 62.1c5.4 12.3-8.7 21.6-21.1 16.4c-22.4-9.5-47.4-14.8-73.7-14.8s-51.3 5.3-73.7 14.8zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faFrownOpen = faFaceFrownOpen;\nvar faHandPointUp = {\n prefix: 'far',\n iconName: 'hand-point-up',\n icon: [384, 512, [9757], \"f0a6\", \"M64 64V241.6c5.2-1 10.5-1.6 16-1.6H96V208 64c0-8.8-7.2-16-16-16s-16 7.2-16 16zM80 288c-17.7 0-32 14.3-32 32c0 0 0 0 0 0v24c0 66.3 53.7 120 120 120h48c52.5 0 97.1-33.7 113.4-80.7c-3.1 .5-6.2 .7-9.4 .7c-20 0-37.9-9.2-49.7-23.6c-9 4.9-19.4 7.6-30.3 7.6c-15.1 0-29-5.3-40-14c-11 8.8-24.9 14-40 14H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h40c8.8 0 16-7.2 16-16s-7.2-16-16-16H120 80zM0 320s0 0 0 0c0-18 6-34.6 16-48V64C16 28.7 44.7 0 80 0s64 28.7 64 64v82c5.1-1.3 10.5-2 16-2c25.3 0 47.2 14.7 57.6 36c7-2.6 14.5-4 22.4-4c20 0 37.9 9.2 49.7 23.6c9-4.9 19.4-7.6 30.3-7.6c35.3 0 64 28.7 64 64v64 24c0 92.8-75.2 168-168 168H168C75.2 512 0 436.8 0 344V320zm336-64c0-8.8-7.2-16-16-16s-16 7.2-16 16v48 16c0 8.8 7.2 16 16 16s16-7.2 16-16V256zM160 240c5.5 0 10.9 .7 16 2v-2V208c0-8.8-7.2-16-16-16s-16 7.2-16 16v32h16zm64 24v40c0 8.8 7.2 16 16 16s16-7.2 16-16V256 240c0-8.8-7.2-16-16-16s-16 7.2-16 16v24z\"]\n};\nvar faBookmark = {\n prefix: 'far',\n iconName: 'bookmark',\n icon: [384, 512, [128278, 61591], \"f02e\", \"M0 48C0 21.5 21.5 0 48 0l0 48V441.4l130.1-92.9c8.3-6 19.6-6 27.9 0L336 441.4V48H48V0H336c26.5 0 48 21.5 48 48V488c0 9-5 17.2-13 21.3s-17.6 3.4-24.9-1.8L192 397.5 37.9 507.5c-7.3 5.2-16.9 5.9-24.9 1.8S0 497 0 488V48z\"]\n};\nvar faHandPointDown = {\n prefix: 'far',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", \"M64 448l0-177.6c5.2 1 10.5 1.6 16 1.6l16 0 0 32 0 144c0 8.8-7.2 16-16 16s-16-7.2-16-16zM80 224c-17.7 0-32-14.3-32-32c0 0 0 0 0 0l0-24c0-66.3 53.7-120 120-120l48 0c52.5 0 97.1 33.7 113.4 80.7c-3.1-.5-6.2-.7-9.4-.7c-20 0-37.9 9.2-49.7 23.6c-9-4.9-19.4-7.6-30.3-7.6c-15.1 0-29 5.3-40 14c-11-8.8-24.9-14-40-14l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-40 0-40 0zM0 192s0 0 0 0c0 18 6 34.6 16 48l0 208c0 35.3 28.7 64 64 64s64-28.7 64-64l0-82c5.1 1.3 10.5 2 16 2c25.3 0 47.2-14.7 57.6-36c7 2.6 14.5 4 22.4 4c20 0 37.9-9.2 49.7-23.6c9 4.9 19.4 7.6 30.3 7.6c35.3 0 64-28.7 64-64l0-64 0-24C384 75.2 308.8 0 216 0L168 0C75.2 0 0 75.2 0 168l0 24zm336 64c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 64zM160 272c5.5 0 10.9-.7 16-2l0 2 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-32 16 0zm64-24l0-40c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 0 16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-24z\"]\n};\nvar faFolder = {\n prefix: 'far',\n iconName: 'folder',\n icon: [512, 512, [128193, 128447, 61716, \"folder-blank\"], \"f07b\", \"M0 96C0 60.7 28.7 32 64 32H196.1c19.1 0 37.4 7.6 50.9 21.1L289.9 96H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16H286.6c-10.6 0-20.8-4.2-28.3-11.7L213.1 87c-4.5-4.5-10.6-7-17-7H64z\"]\n};\nvar faFolderBlank = faFolder;\nvar faUser = {\n prefix: 'far',\n iconName: 'user',\n icon: [448, 512, [128100, 62144], \"f007\", \"M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464H398.7c-8.9-63.3-63.3-112-129-112H178.3c-65.7 0-120.1 48.7-129 112zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3z\"]\n};\nvar faSquareCaretLeft = {\n prefix: 'far',\n iconName: 'square-caret-left',\n icon: [448, 512, [\"caret-square-left\"], \"f191\", \"M48 416c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320zm16 64c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480zm64-224c0-6.7 2.8-13 7.7-17.6l112-104c7-6.5 17.2-8.2 25.9-4.4s14.4 12.5 14.4 22l0 208c0 9.5-5.7 18.2-14.4 22s-18.9 2.1-25.9-4.4l-112-104c-4.9-4.5-7.7-10.9-7.7-17.6z\"]\n};\nvar faCaretSquareLeft = faSquareCaretLeft;\nvar faStar = {\n prefix: 'far',\n iconName: 'star',\n icon: [576, 512, [11088, 61446], \"f005\", \"M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.6 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0zm0 79L235.4 187.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2L384.2 324.1c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1L358.6 200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z\"]\n};\nvar faChessKnight = {\n prefix: 'far',\n iconName: 'chess-knight',\n icon: [448, 512, [9822], \"f441\", \"M226.6 48H117.3l17.1 12.8c6 4.5 9.6 11.6 9.6 19.2s-3.6 14.7-9.6 19.2l-6.5 4.9c-10 7.5-16 19.3-16 31.9l-.3 91c0 10.2 4.9 19.9 13.2 25.8l1.9 1.3c9.9 7.1 23.3 7 33.2-.1l49.9-36.3c10.7-7.8 25.7-5.4 33.5 5.3s5.4 25.7-5.3 33.5l-49.9 36.3-53.8 39.1c-7.3 5.3-13 12.2-16.9 20.1H66.8c5.3-22.1 17.8-41.9 35.9-56.3c-1.3-.8-2.6-1.7-3.8-2.6L97 291.8c-21-15-33.4-39.2-33.3-65l.3-91c.1-19.8 6.7-38.7 18.6-53.9l-.4-.3C70.7 73 64 59.6 64 45.3C64 20.3 84.3 0 109.3 0H226.6C331.2 0 416 84.8 416 189.4c0 11.1-1 22.2-2.9 33.2L390.1 352H341.3l24.5-137.8c1.5-8.2 2.2-16.5 2.2-24.8C368 111.3 304.7 48 226.6 48zM85.2 432L68.7 464H379.3l-16.6-32H85.2zm315.7-30.7l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H56.8C34.2 512 16 493.8 16 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C52.5 390.7 63.5 384 75.5 384h297c12 0 22.9 6.7 28.4 17.3zM172 128a20 20 0 1 1 0 40 20 20 0 1 1 0-40z\"]\n};\nvar faFaceLaughSquint = {\n prefix: 'far',\n iconName: 'face-laugh-squint',\n icon: [512, 512, [\"laugh-squint\"], \"f59b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm130.7 57.9c-4.2-13.6 7.1-25.9 21.3-25.9H364.5c14.2 0 25.5 12.4 21.3 25.9C369 368.4 318.2 408 258.2 408s-110.8-39.6-127.5-94.1zm2.8-183.3l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 141.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faLaughSquint = faFaceLaughSquint;\nvar faFaceLaugh = {\n prefix: 'far',\n iconName: 'face-laugh',\n icon: [512, 512, [\"laugh\"], \"f599\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm130.7 57.9c-4.2-13.6 7.1-25.9 21.3-25.9H364.5c14.2 0 25.5 12.4 21.3 25.9C369 368.4 318.2 408 258.2 408s-110.8-39.6-127.5-94.1zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faLaugh = faFaceLaugh;\nvar faFolderOpen = {\n prefix: 'far',\n iconName: 'folder-open',\n icon: [576, 512, [128194, 128449, 61717], \"f07c\", \"M384 480h48c11.4 0 21.9-6 27.6-15.9l112-192c5.8-9.9 5.8-22.1 .1-32.1S555.5 224 544 224H144c-11.4 0-21.9 6-27.6 15.9L48 357.1V96c0-8.8 7.2-16 16-16H181.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c21 21 49.5 32.8 79.2 32.8H416c8.8 0 16 7.2 16 16v32h48V160c0-35.3-28.7-64-64-64H298.5c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H87.7 384z\"]\n};\nvar faClipboard = {\n prefix: 'far',\n iconName: 'clipboard',\n icon: [384, 512, [128203], \"f328\", \"M280 64h40c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64h40 9.6C121 27.5 153.3 0 192 0s71 27.5 78.4 64H280zM64 112c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H304v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112H64zm128-8a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faChessQueen = {\n prefix: 'far',\n iconName: 'chess-queen',\n icon: [512, 512, [9819], \"f445\", \"M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-95.2-8c-18.1 0-31.3 12.8-35.6 26.9c-8 26.2-32.4 45.2-61.2 45.2c-10 0-19.4-2.3-27.7-6.3c-7.6-3.7-16.7-3.3-24 1.2C.7 162.1-3.1 177.1 3.7 188.9L97.6 352H153l-83-144.1c40.5-2.2 75.3-25.9 93.1-59.8c22 26.8 55.4 43.9 92.8 43.9s70.8-17.1 92.8-43.9c17.8 34 52.6 57.7 93.1 59.8L359 352h55.4l93.9-163.1c6.8-11.7 3-26.7-8.6-33.8c-7.3-4.5-16.4-4.9-24-1.2c-8.4 4-17.7 6.3-27.7 6.3c-28.8 0-53.2-19-61.2-45.2C382.5 100.8 369.3 88 351.2 88c-14.5 0-26.3 8.5-32.4 19.3c-12.4 22-35.9 36.7-62.8 36.7s-50.4-14.8-62.8-36.7C187.1 96.5 175.4 88 160.8 88zM133.2 432H378.8l16.6 32H116.7l16.6-32zm283.7-30.7c-5.5-10.6-16.5-17.3-28.4-17.3h-265c-12 0-22.9 6.7-28.4 17.3L68.6 452.5c-3 5.8-4.6 12.2-4.6 18.7c0 22.5 18.2 40.8 40.8 40.8H407.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2z\"]\n};\nvar faHandBackFist = {\n prefix: 'far',\n iconName: 'hand-back-fist',\n icon: [448, 512, [\"hand-rock\"], \"f255\", \"M144 64c0-8.8 7.2-16 16-16s16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16V264c0 31.3-20 58-48 67.9c-9.6 3.4-16 12.5-16 22.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24V370.2c38-20.1 64-60.1 64-106.2V160c0-35.3-28.7-64-64-64c-2.8 0-5.6 .2-8.3 .5C332.8 77.1 311.9 64 288 64c-2.8 0-5.6 .2-8.3 .5C268.8 45.1 247.9 32 224 32c-2.8 0-5.6 .2-8.3 .5C204.8 13.1 183.9 0 160 0C124.7 0 96 28.7 96 64v64.3c-11.7 7.4-22.5 16.4-32 26.9l17.8 16.1L64 155.2l-9.4 10.5C40 181.8 32 202.8 32 224.6v12.8c0 49.6 24.2 96.1 64.8 124.5l13.8-19.7L96.8 361.9l8.9 6.2c6.9 4.8 14.4 8.6 22.3 11.3V488c0 13.3 10.7 24 24 24s24-10.7 24-24V359.9c0-12.6-9.8-23.1-22.4-23.9c-7.3-.5-14.3-2.9-20.3-7.1l-13.1 18.7 13.1-18.7-8.9-6.2C96.6 303.1 80 271.3 80 237.4V224.6c0-9.9 3.7-19.4 10.3-26.8l9.4-10.5c3.8-4.2 7.9-8.1 12.3-11.6V208c0 8.8 7.2 16 16 16s16-7.2 16-16V142.3 128 64z\"]\n};\nvar faHandRock = faHandBackFist;\nvar faSquareCaretUp = {\n prefix: 'far',\n iconName: 'square-caret-up',\n icon: [448, 512, [\"caret-square-up\"], \"f151\", \"M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zM0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm224 64c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4l-208 0c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z\"]\n};\nvar faCaretSquareUp = faSquareCaretUp;\nvar faChartBar = {\n prefix: 'far',\n iconName: 'chart-bar',\n icon: [512, 512, [\"bar-chart\"], \"f080\", \"M24 32c13.3 0 24 10.7 24 24V408c0 13.3 10.7 24 24 24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56C0 42.7 10.7 32 24 32zM128 136c0-13.3 10.7-24 24-24l208 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24zm24 72H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faBarChart = faChartBar;\nvar faWindowRestore = {\n prefix: 'far',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M432 48H208c-17.7 0-32 14.3-32 32V96H128V80c0-44.2 35.8-80 80-80H432c44.2 0 80 35.8 80 80V304c0 44.2-35.8 80-80 80H416V336h16c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32zM48 448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V256H48V448zM64 128H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64z\"]\n};\nvar faSquarePlus = {\n prefix: 'far',\n iconName: 'square-plus',\n icon: [448, 512, [61846, \"plus-square\"], \"f0fe\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM200 344V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlusSquare = faSquarePlus;\nvar faImage = {\n prefix: 'far',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M448 80c8.8 0 16 7.2 16 16V415.8l-5-6.5-136-176c-4.5-5.9-11.6-9.3-19-9.3s-14.4 3.4-19 9.3L202 340.7l-30.5-42.7C167 291.7 159.8 288 152 288s-15 3.7-19.5 10.1l-80 112L48 416.3l0-.3V96c0-8.8 7.2-16 16-16H448zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faFolderClosed = {\n prefix: 'far',\n iconName: 'folder-closed',\n icon: [512, 512, [], \"e185\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16v32H48V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zM48 240H464V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V240zM285.7 93.7L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3z\"]\n};\nvar faLemon = {\n prefix: 'far',\n iconName: 'lemon',\n icon: [448, 512, [127819], \"f094\", \"M368 80c-3.2 0-6.2 .4-8.9 1.3C340 86.8 313 91.9 284.8 84.6C227.4 69.7 160.2 92 110.1 142.1S37.7 259.4 52.6 316.8c7.3 28.2 2.2 55.2-3.3 74.3c-.8 2.8-1.3 5.8-1.3 8.9c0 17.7 14.3 32 32 32c3.2 0 6.2-.4 8.9-1.3c19.1-5.5 46.1-10.7 74.3-3.3c57.4 14.9 124.6-7.4 174.7-57.5s72.4-117.3 57.5-174.7c-7.3-28.2-2.2-55.2 3.3-74.3c.8-2.8 1.3-5.8 1.3-8.9c0-17.7-14.3-32-32-32zm0-48c44.2 0 80 35.8 80 80c0 7.7-1.1 15.2-3.1 22.3c-4.6 15.8-7.1 32.9-3 48.9c20.1 77.6-10.9 161.5-70 220.7s-143.1 90.2-220.7 70c-16-4.1-33-1.6-48.9 3c-7.1 2-14.6 3.1-22.3 3.1c-44.2 0-80-35.8-80-80c0-7.7 1.1-15.2 3.1-22.3c4.6-15.8 7.1-32.9 3-48.9C-14 251.3 17 167.3 76.2 108.2S219.3 18 296.8 38.1c16 4.1 33 1.6 48.9-3c7.1-2 14.6-3.1 22.3-3.1zM246.7 167c-52 15.2-96.5 59.7-111.7 111.7c-3.7 12.7-17.1 20-29.8 16.3s-20-17.1-16.3-29.8c19.8-67.7 76.6-124.5 144.3-144.3c12.7-3.7 26.1 3.6 29.8 16.3s-3.6 26.1-16.3 29.8z\"]\n};\nvar faHandshake = {\n prefix: 'far',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M272.2 64.6l-51.1 51.1c-15.3 4.2-29.5 11.9-41.5 22.5L153 161.9C142.8 171 129.5 176 115.8 176H96V304c20.4 .6 39.8 8.9 54.3 23.4l35.6 35.6 7 7 0 0L219.9 397c6.2 6.2 16.4 6.2 22.6 0c1.7-1.7 3-3.7 3.7-5.8c2.8-7.7 9.3-13.5 17.3-15.3s16.4 .6 22.2 6.5L296.5 393c11.6 11.6 30.4 11.6 41.9 0c5.4-5.4 8.3-12.3 8.6-19.4c.4-8.8 5.6-16.6 13.6-20.4s17.3-3 24.4 2.1c9.4 6.7 22.5 5.8 30.9-2.6c9.4-9.4 9.4-24.6 0-33.9L340.1 243l-35.8 33c-27.3 25.2-69.2 25.6-97 .9c-31.7-28.2-32.4-77.4-1.6-106.5l70.1-66.2C303.2 78.4 339.4 64 377.1 64c36.1 0 71 13.3 97.9 37.2L505.1 128H544h40 40c8.8 0 16 7.2 16 16V352c0 17.7-14.3 32-32 32H576c-11.8 0-22.2-6.4-27.7-16H463.4c-3.4 6.7-7.9 13.1-13.5 18.7c-17.1 17.1-40.8 23.8-63 20.1c-3.6 7.3-8.5 14.1-14.6 20.2c-27.3 27.3-70 30-100.4 8.1c-25.1 20.8-62.5 19.5-86-4.1L159 404l-7-7-35.6-35.6c-5.5-5.5-12.7-8.7-20.4-9.3C96 369.7 81.6 384 64 384H32c-17.7 0-32-14.3-32-32V144c0-8.8 7.2-16 16-16H56 96h19.8c2 0 3.9-.7 5.3-2l26.5-23.6C175.5 77.7 211.4 64 248.7 64H259c4.4 0 8.9 .2 13.2 .6zM544 320V176H496c-5.9 0-11.6-2.2-15.9-6.1l-36.9-32.8c-18.2-16.2-41.7-25.1-66.1-25.1c-25.4 0-49.8 9.7-68.3 27.1l-70.1 66.2c-10.3 9.8-10.1 26.3 .5 35.7c9.3 8.3 23.4 8.1 32.5-.3l71.9-66.4c9.7-9 24.9-8.4 33.9 1.4s8.4 24.9-1.4 33.9l-.8 .8 74.4 74.4c10 10 16.5 22.3 19.4 35.1H544zM64 336a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm528 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faGem = {\n prefix: 'far',\n iconName: 'gem',\n icon: [512, 512, [128142], \"f3a5\", \"M168.5 72L256 165l87.5-93h-175zM383.9 99.1L311.5 176h129L383.9 99.1zm50 124.9H256 78.1L256 420.3 433.9 224zM71.5 176h129L128.1 99.1 71.5 176zm434.3 40.1l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152c4.5-6.1 11.7-9.8 19.3-9.8H376c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4z\"]\n};\nvar faCirclePlay = {\n prefix: 'far',\n iconName: 'circle-play',\n icon: [512, 512, [61469, \"play-circle\"], \"f144\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c7.6-4.2 16.8-4.1 24.3 .5l144 88c7.1 4.4 11.5 12.1 11.5 20.5s-4.4 16.1-11.5 20.5l-144 88c-7.4 4.5-16.7 4.7-24.3 .5s-12.3-12.2-12.3-20.9V168c0-8.7 4.7-16.7 12.3-20.9z\"]\n};\nvar faPlayCircle = faCirclePlay;\nvar faCircleCheck = {\n prefix: 'far',\n iconName: 'circle-check',\n icon: [512, 512, [61533, \"check-circle\"], \"f058\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z\"]\n};\nvar faCheckCircle = faCircleCheck;\nvar faCircleStop = {\n prefix: 'far',\n iconName: 'circle-stop',\n icon: [512, 512, [62094, \"stop-circle\"], \"f28d\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm192-96H320c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\"]\n};\nvar faStopCircle = faCircleStop;\nvar faIdBadge = {\n prefix: 'far',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M256 48V64c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H256zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM160 320h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faFaceLaughBeam = {\n prefix: 'far',\n iconName: 'face-laugh-beam',\n icon: [512, 512, [128513, \"laugh-beam\"], \"f59a\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm130.7 57.9c-4.2-13.6 7.1-25.9 21.3-25.9H364.5c14.2 0 25.5 12.4 21.3 25.9C369 368.4 318.2 408 258.2 408s-110.8-39.6-127.5-94.1zm86.9-85.1l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faLaughBeam = faFaceLaughBeam;\nvar faRegistered = {\n prefix: 'far',\n iconName: 'registered',\n icon: [512, 512, [174], \"f25d\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152V264v96c0 13.3 10.7 24 24 24s24-10.7 24-24V288h60.9l37.2 81.9c5.5 12.1 19.7 17.4 31.8 11.9s17.4-19.7 11.9-31.8L315.7 275c21.8-14.3 36.3-39 36.3-67c0-44.2-35.8-80-80-80H184c-13.3 0-24 10.7-24 24zm48 88V176h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H208z\"]\n};\nvar faAddressCard = {\n prefix: 'far',\n iconName: 'address-card',\n icon: [576, 512, [62140, \"contact-card\", \"vcard\"], \"f2bb\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM208 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H176zM376 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376z\"]\n};\nvar faContactCard = faAddressCard;\nvar faVcard = faAddressCard;\nvar faFaceTired = {\n prefix: 'far',\n iconName: 'face-tired',\n icon: [512, 512, [128555, \"tired\"], \"f5c8\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.5 64.3C196.1 302.1 223.8 288 256 288s59.9 14.1 79.5 32.3C354.5 338.1 368 362 368 384c0 5.4-2.7 10.4-7.2 13.4s-10.2 3.4-15.2 1.3l-17.2-7.5c-22.8-10-47.5-15.1-72.4-15.1s-49.6 5.2-72.4 15.1l-17.2 7.5c-4.9 2.2-10.7 1.7-15.2-1.3s-7.2-8-7.2-13.4c0-22 13.5-45.9 32.5-63.7zm-43-173.6l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faTired = faFaceTired;\nvar faFontAwesome = {\n prefix: 'far',\n iconName: 'font-awesome',\n icon: [448, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V456c0 13.3 10.7 24 24 24s24-10.7 24-24V124.2l12.5-2.4c16.7-3.2 31.5-8.5 44.2-13.1l0 0 0 0c3.7-1.3 7.1-2.6 10.4-3.7c15.2-5.2 30.4-9.1 51.2-9.1c25.6 0 43 6 63.5 13.3l.5 .2c20.9 7.4 44.8 15.9 79.1 15.9c32.4 0 53.7-6.8 90.5-19.6V342.9l-9.5 3.3c-41.5 14.4-55.2 19.2-81 19.2c-25.7 0-43.1-6-63.6-13.3l-.6-.2c-20.8-7.4-44.8-15.8-79-15.8c-16.8 0-31 2-43.9 5c-12.9 3-20.9 16-17.9 28.9s16 20.9 28.9 17.9c9.6-2.2 20.1-3.7 32.9-3.7c25.6 0 43 6 63.5 13.3l.5 .2c20.9 7.4 44.8 15.9 79.1 15.9c34.4 0 56.4-7.7 97.8-22.2c7.5-2.6 15.5-5.4 24.4-8.5l16.2-5.5V360 72 38.4L416.2 49.3c-9.7 3.3-18.2 6.3-25.7 8.9c-41.5 14.4-55.2 19.2-81 19.2c-25.7 0-43.1-6-63.6-13.3l-.6-.2c-20.8-7.4-44.8-15.8-79-15.8c-27.8 0-48.5 5.5-66.6 11.6c-4.9 1.7-9.3 3.3-13.6 4.8c-11.9 4.3-22 7.9-34.7 10.3L48 75.4V56z\"]\n};\nvar faFontAwesomeFlag = faFontAwesome;\nvar faFontAwesomeLogoFull = faFontAwesome;\nvar faFaceSmileWink = {\n prefix: 'far',\n iconName: 'face-smile-wink',\n icon: [512, 512, [128521, \"smile-wink\"], \"f4da\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm165.8 21.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7s-19.9 3.8-25.4 9.7z\"]\n};\nvar faSmileWink = faFaceSmileWink;\nvar faFileWord = {\n prefix: 'far',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm55 241.1c-3.8-12.7-17.2-19.9-29.9-16.1s-19.9 17.2-16.1 29.9l48 160c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l25-83.4 25 83.4c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l48-160c3.8-12.7-3.4-26.1-16.1-29.9s-26.1 3.4-29.9 16.1l-25 83.4-25-83.4c-3-10.2-12.4-17.1-23-17.1s-19.9 7-23 17.1l-25 83.4-25-83.4z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'far',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm72 208c-13.3 0-24 10.7-24 24V336v56c0 13.3 10.7 24 24 24s24-10.7 24-24V360h44c42 0 76-34 76-76s-34-76-76-76H136zm68 104H160V256h44c15.5 0 28 12.5 28 28s-12.5 28-28 28z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'far',\n iconName: 'envelope-open',\n icon: [512, 512, [62135], \"f2b6\", \"M255.4 48.2c.2-.1 .4-.2 .6-.2s.4 .1 .6 .2L460.6 194c2.1 1.5 3.4 3.9 3.4 6.5v13.6L291.5 355.7c-20.7 17-50.4 17-71.1 0L48 214.1V200.5c0-2.6 1.2-5 3.4-6.5L255.4 48.2zM48 276.2L190 392.8c38.4 31.5 93.7 31.5 132 0L464 276.2V456c0 4.4-3.6 8-8 8H56c-4.4 0-8-3.6-8-8V276.2zM256 0c-10.2 0-20.2 3.2-28.5 9.1L23.5 154.9C8.7 165.4 0 182.4 0 200.5V456c0 30.9 25.1 56 56 56H456c30.9 0 56-25.1 56-56V200.5c0-18.1-8.7-35.1-23.4-45.6L284.5 9.1C276.2 3.2 266.2 0 256 0z\"]\n};\nvar faFileZipper = {\n prefix: 'far',\n iconName: 'file-zipper',\n icon: [384, 512, [\"file-archive\"], \"f1c6\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16h48v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm48 112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-8.8 0-16 7.2-16 16zm-6.3 71.8L82.1 335.9c-1.4 5.4-2.1 10.9-2.1 16.4c0 35.2 28.8 63.7 64 63.7s64-28.5 64-63.7c0-5.5-.7-11.1-2.1-16.4l-23.5-88.2c-3.7-14-16.4-23.8-30.9-23.8H136.6c-14.5 0-27.2 9.7-30.9 23.8zM128 336h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFileArchive = faFileZipper;\nvar faSquare = {\n prefix: 'far',\n iconName: 'square',\n icon: [448, 512, [9632, 9723, 9724, 61590], \"f0c8\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faSnowflake = {\n prefix: 'far',\n iconName: 'snowflake',\n icon: [448, 512, [10052, 10054], \"f2dc\", \"M224 0c13.3 0 24 10.7 24 24V70.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-57 57v76.5l66.2-38.2 20.9-77.8c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4L373 142.2l37.1-21.4c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8L397 183.8l31.5 8.4c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-77.8-20.9L272 256l66.2 38.2 77.8-20.9c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4L397 328.2l37.1 21.4c11.5 6.6 15.4 21.3 8.8 32.8s-21.3 15.4-32.8 8.8L373 369.8l8.4 31.5c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-20.9-77.8L248 297.6v76.5l57 57c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V441.9l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57V297.6l-66.2 38.2-20.9 77.8c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4L75 369.8 37.9 391.2c-11.5 6.6-26.2 2.7-32.8-8.8s-2.7-26.2 8.8-32.8L51 328.2l-31.5-8.4c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l77.8 20.9L176 256l-66.2-38.2L31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4L51 183.8 13.9 162.4c-11.5-6.6-15.4-21.3-8.8-32.8s21.3-15.4 32.8-8.8L75 142.2l-8.4-31.5c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l20.9 77.8L200 214.4V137.9L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V24c0-13.3 10.7-24 24-24z\"]\n};\nvar faNewspaper = {\n prefix: 'far',\n iconName: 'newspaper',\n icon: [512, 512, [128240], \"f1ea\", \"M168 80c-13.3 0-24 10.7-24 24V408c0 8.4-1.4 16.5-4.1 24H440c13.3 0 24-10.7 24-24V104c0-13.3-10.7-24-24-24H168zM72 480c-39.8 0-72-32.2-72-72V112C0 98.7 10.7 88 24 88s24 10.7 24 24V408c0 13.3 10.7 24 24 24s24-10.7 24-24V104c0-39.8 32.2-72 72-72H440c39.8 0 72 32.2 72 72V408c0 39.8-32.2 72-72 72H72zM176 136c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V136zm200-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24zM200 272H408c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80H408c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faFaceKissWinkHeart = {\n prefix: 'far',\n iconName: 'face-kiss-wink-heart',\n icon: [512, 512, [128536, \"kiss-wink-heart\"], \"f598\", \"M338.9 446.8c-25.4 11-53.4 17.2-82.9 17.2C141.1 464 48 370.9 48 256S141.1 48 256 48s208 93.1 208 208c0 22.4-3.5 43.9-10.1 64.1c3.1 4.5 5.7 9.4 7.8 14.6c12.7-1.6 25.1 .4 36.2 5c9.1-26.2 14-54.4 14-83.7C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c35.4 0 69.1-7.2 99.7-20.2c-4.8-5.5-8.5-12.2-10.4-19.7l-6.5-25.3zM296 316c0-6.9-3.1-13.2-7.3-18.3c-4.3-5.2-10.1-9.7-16.7-13.4C258.7 276.9 241.4 272 224 272c-3.6 0-6.8 2.5-7.7 6s.6 7.2 3.8 9l0 0 0 0 0 0 .2 .1c.2 .1 .5 .3 .9 .5c.8 .5 2 1.2 3.4 2.1c2.8 1.9 6.5 4.5 10.2 7.6c3.7 3.1 7.2 6.6 9.6 10.1c2.5 3.5 3.5 6.4 3.5 8.6s-1 5-3.5 8.6c-2.5 3.5-5.9 6.9-9.6 10.1c-3.7 3.1-7.4 5.7-10.2 7.6c-1.4 .9-2.6 1.6-3.4 2.1c-.4 .2-.7 .4-.9 .5l-.2 .1 0 0 0 0 0 0 0 0 0 0c-2.5 1.4-4.1 4.1-4.1 7s1.6 5.6 4.1 7l0 0 0 0 0 0 .2 .1c.2 .1 .5 .3 .9 .5c.8 .5 2 1.2 3.4 2.1c2.8 1.9 6.5 4.5 10.2 7.6c3.7 3.1 7.2 6.6 9.6 10.1c2.5 3.5 3.5 6.4 3.5 8.6s-1 5-3.5 8.6c-2.5 3.5-5.9 6.9-9.6 10.1c-3.7 3.1-7.4 5.7-10.2 7.6c-1.4 .9-2.6 1.6-3.4 2.1c-.4 .2-.7 .4-.9 .5l-.2 .1 0 0 0 0 0 0 0 0c-3.2 1.8-4.7 5.5-3.8 9s4.1 6 7.7 6c17.4 0 34.7-4.9 47.9-12.3c6.6-3.7 12.5-8.2 16.7-13.4c4.3-5.1 7.3-11.4 7.3-18.3s-3.1-13.2-7.3-18.3c-4.3-5.2-10.1-9.7-16.7-13.4c-2.7-1.5-5.7-3-8.7-4.3c3.1-1.3 6-2.7 8.7-4.3c6.6-3.7 12.5-8.2 16.7-13.4c4.3-5.1 7.3-11.4 7.3-18.3zM176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm159.3-20c10.6 0 19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C375.7 186.8 355 180 335.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9c5.5-5.8 14.8-9.7 25.4-9.7zM434 352.3c-6-23.2-28.8-37-51.1-30.8s-35.4 30.1-29.5 53.4l22.9 89.3c2.2 8.7 11.2 13.9 19.8 11.4l84.9-23.8c22.2-6.2 35.4-30.1 29.5-53.4s-28.8-37-51.1-30.8l-20.2 5.6-5.4-21z\"]\n};\nvar faKissWinkHeart = faFaceKissWinkHeart;\nvar faStarHalfStroke = {\n prefix: 'far',\n iconName: 'star-half-stroke',\n icon: [640, 512, [\"star-half-alt\"], \"f5c0\", \"M341.5 13.5C337.5 5.2 329.1 0 319.9 0s-17.6 5.2-21.6 13.5L229.7 154.8 76.5 177.5c-9 1.3-16.5 7.6-19.3 16.3s-.5 18.1 5.9 24.5L174.2 328.4 148 483.9c-1.5 9 2.2 18.1 9.7 23.5s17.3 6 25.3 1.7l137-73.2 137 73.2c8.1 4.3 17.9 3.7 25.3-1.7s11.2-14.5 9.7-23.5L465.6 328.4 576.8 218.2c6.5-6.4 8.7-15.9 5.9-24.5s-10.3-14.9-19.3-16.3L410.1 154.8 341.5 13.5zM320 384.7V79.1l52.5 108.1c3.5 7.1 10.2 12.1 18.1 13.3l118.3 17.5L423 303c-5.5 5.5-8.1 13.3-6.8 21l20.2 119.6L331.2 387.5c-3.5-1.9-7.4-2.8-11.2-2.8z\"]\n};\nvar faStarHalfAlt = faStarHalfStroke;\nvar faFileExcel = {\n prefix: 'far',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm90.9 233.3c-8.1-10.5-23.2-12.3-33.7-4.2s-12.3 23.2-4.2 33.7L161.6 320l-44.5 57.3c-8.1 10.5-6.3 25.5 4.2 33.7s25.5 6.3 33.7-4.2L192 359.1l37.1 47.6c8.1 10.5 23.2 12.3 33.7 4.2s12.3-23.2 4.2-33.7L222.4 320l44.5-57.3c8.1-10.5 6.3-25.5-4.2-33.7s-25.5-6.3-33.7 4.2L192 280.9l-37.1-47.6z\"]\n};\nvar faFaceGrinBeam = {\n prefix: 'far',\n iconName: 'face-grin-beam',\n icon: [512, 512, [128516, \"grin-beam\"], \"f582\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM217.6 228.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faGrinBeam = faFaceGrinBeam;\nvar faObjectUngroup = {\n prefix: 'far',\n iconName: 'object-ungroup',\n icon: [640, 512, [], \"f248\", \"M48.2 66.8c-.1-.8-.2-1.7-.2-2.5c0-.1 0-.1 0-.2c0-8.8 7.2-16 16-16c.9 0 1.9 .1 2.8 .2C74.3 49.5 80 56.1 80 64c0 8.8-7.2 16-16 16c-7.9 0-14.5-5.7-15.8-13.2zM0 64c0 26.9 16.5 49.9 40 59.3V228.7C16.5 238.1 0 261.1 0 288c0 35.3 28.7 64 64 64c26.9 0 49.9-16.5 59.3-40H324.7c9.5 23.5 32.5 40 59.3 40c35.3 0 64-28.7 64-64c0-26.9-16.5-49.9-40-59.3V123.3c23.5-9.5 40-32.5 40-59.3c0-35.3-28.7-64-64-64c-26.9 0-49.9 16.5-59.3 40H123.3C113.9 16.5 90.9 0 64 0C28.7 0 0 28.7 0 64zm368 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM324.7 88c6.5 16 19.3 28.9 35.3 35.3V228.7c-16 6.5-28.9 19.3-35.3 35.3H123.3c-6.5-16-19.3-28.9-35.3-35.3V123.3c16-6.5 28.9-19.3 35.3-35.3H324.7zM384 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM80 288c0 7.9-5.7 14.5-13.2 15.8c-.8 .1-1.7 .2-2.5 .2l-.2 0c-8.8 0-16-7.2-16-16c0-.9 .1-1.9 .2-2.8C49.5 277.7 56.1 272 64 272c8.8 0 16 7.2 16 16zm391.3-40h45.4c6.5 16 19.3 28.9 35.3 35.3V388.7c-16 6.5-28.9 19.3-35.3 35.3H315.3c-6.5-16-19.3-28.9-35.3-35.3V352H232v36.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64c26.9 0 49.9-16.5 59.3-40H516.7c9.5 23.5 32.5 40 59.3 40c35.3 0 64-28.7 64-64c0-26.9-16.5-49.9-40-59.3V283.3c23.5-9.5 40-32.5 40-59.3c0-35.3-28.7-64-64-64c-26.9 0-49.9 16.5-59.3 40H448v16.4c9.8 8.8 17.8 19.5 23.3 31.6zm88.9-26.7a16 16 0 1 1 31.5 5.5 16 16 0 1 1 -31.5-5.5zM271.8 450.7a16 16 0 1 1 -31.5-5.5 16 16 0 1 1 31.5 5.5zm301.5 13c-7.5-1.3-13.2-7.9-13.2-15.8c0-8.8 7.2-16 16-16c7.9 0 14.5 5.7 15.8 13.2l0 .1c.1 .9 .2 1.8 .2 2.7c0 8.8-7.2 16-16 16c-.9 0-1.9-.1-2.8-.2z\"]\n};\nvar faCircleRight = {\n prefix: 'far',\n iconName: 'circle-right',\n icon: [512, 512, [61838, \"arrow-alt-circle-right\"], \"f35a\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM294.6 135.1c-4.2-4.5-10.1-7.1-16.3-7.1C266 128 256 138 256 150.3V208H160c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h96v57.7c0 12.3 10 22.3 22.3 22.3c6.2 0 12.1-2.6 16.3-7.1l99.9-107.1c3.5-3.8 5.5-8.7 5.5-13.8s-2-10.1-5.5-13.8L294.6 135.1z\"]\n};\nvar faArrowAltCircleRight = faCircleRight;\nvar faFaceRollingEyes = {\n prefix: 'far',\n iconName: 'face-rolling-eyes',\n icon: [512, 512, [128580, \"meh-rolling-eyes\"], \"f5a5\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM168 376c0 13.3 10.7 24 24 24H320c13.3 0 24-10.7 24-24s-10.7-24-24-24H192c-13.3 0-24 10.7-24 24zm-8-104c-26.5 0-48-21.5-48-48c0-14.3 6.3-27.2 16.2-36c-.2 1.3-.2 2.6-.2 4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1.4-.1-2.7-.2-4c10 8.8 16.2 21.7 16.2 36c0 26.5-21.5 48-48 48zm0 32a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm192-32c-26.5 0-48-21.5-48-48c0-14.3 6.3-27.2 16.2-36c-.2 1.3-.2 2.6-.2 4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1.4-.1-2.7-.2-4c10 8.8 16.2 21.7 16.2 36c0 26.5-21.5 48-48 48zm0 32a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\"]\n};\nvar faMehRollingEyes = faFaceRollingEyes;\nvar faObjectGroup = {\n prefix: 'far',\n iconName: 'object-group',\n icon: [576, 512, [], \"f247\", \"M48 115.8C38.2 107 32 94.2 32 80c0-26.5 21.5-48 48-48c14.2 0 27 6.2 35.8 16H460.2c8.8-9.8 21.6-16 35.8-16c26.5 0 48 21.5 48 48c0 14.2-6.2 27-16 35.8V396.2c9.8 8.8 16 21.6 16 35.8c0 26.5-21.5 48-48 48c-14.2 0-27-6.2-35.8-16H115.8c-8.8 9.8-21.6 16-35.8 16c-26.5 0-48-21.5-48-48c0-14.2 6.2-27 16-35.8V115.8zM125.3 96c-4.8 13.6-15.6 24.4-29.3 29.3V386.7c13.6 4.8 24.4 15.6 29.3 29.3H450.7c4.8-13.6 15.6-24.4 29.3-29.3V125.3c-13.6-4.8-24.4-15.6-29.3-29.3H125.3zm2.7 64c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160zM256 320h32c35.3 0 64-28.7 64-64V224h64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V320z\"]\n};\nvar faHeart = {\n prefix: 'far',\n iconName: 'heart',\n icon: [512, 512, [128153, 128154, 128155, 128156, 128420, 129293, 129294, 129505, 9829, 10084, 61578], \"f004\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9c0 0 0 0 0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 41.9-17.4 81.9-48.1 110.4L288.7 465.9l-2.5 2.3c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM239.1 145c-.4-.3-.7-.7-1-1.1l-17.8-20c0 0-.1-.1-.1-.1c0 0 0 0 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7 431.2 268c20.9-19.4 32.8-46.7 32.8-75.2v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2c0 0 0 0-.1 .1s0 0-.1 .1l-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7z\"]\n};\nvar faFaceSurprise = {\n prefix: 'far',\n iconName: 'face-surprise',\n icon: [512, 512, [128558, \"surprise\"], \"f5c2\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.4-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM256 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faSurprise = faFaceSurprise;\nvar faCirclePause = {\n prefix: 'far',\n iconName: 'circle-pause',\n icon: [512, 512, [62092, \"pause-circle\"], \"f28b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm224-72V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faPauseCircle = faCirclePause;\nvar faCircle = {\n prefix: 'far',\n iconName: 'circle',\n icon: [512, 512, [128308, 128309, 128992, 128993, 128994, 128995, 128996, 9679, 9898, 9899, 11044, 61708, 61915], \"f111\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faCircleUp = {\n prefix: 'far',\n iconName: 'circle-up',\n icon: [512, 512, [61467, \"arrow-alt-circle-up\"], \"f35b\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM135.1 217.4c-4.5 4.2-7.1 10.1-7.1 16.3c0 12.3 10 22.3 22.3 22.3H208v96c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256h57.7c12.3 0 22.3-10 22.3-22.3c0-6.2-2.6-12.1-7.1-16.3L269.8 117.5c-3.8-3.5-8.7-5.5-13.8-5.5s-10.1 2-13.8 5.5L135.1 217.4z\"]\n};\nvar faArrowAltCircleUp = faCircleUp;\nvar faFileAudio = {\n prefix: 'far',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M64 464H320c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM192 272V400c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5L129.4 376H112c-8.8 0-16-7.2-16-16V312c0-8.8 7.2-16 16-16h17.4l35.3-35.3c4.6-4.6 11.5-5.9 17.4-3.5s9.9 8.3 9.9 14.8zm85.8-4c11.6 20 18.2 43.3 18.2 68s-6.6 48-18.2 68c-6.6 11.5-21.3 15.4-32.8 8.8s-15.4-21.3-8.8-32.8c7.5-12.9 11.8-27.9 11.8-44s-4.3-31.1-11.8-44c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8z\"]\n};\nvar faFileImage = {\n prefix: 'far',\n iconName: 'file-image',\n icon: [384, 512, [128443], \"f1c5\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm96 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm69.2 46.9c-3-4.3-7.9-6.9-13.2-6.9s-10.2 2.6-13.2 6.9l-41.3 59.7-11.9-19.1c-2.9-4.7-8.1-7.5-13.6-7.5s-10.6 2.8-13.6 7.5l-40 64c-3.1 4.9-3.2 11.1-.4 16.2s8.2 8.2 14 8.2h48 32 40 72c6 0 11.4-3.3 14.2-8.6s2.4-11.6-1-16.5l-72-104z\"]\n};\nvar faCircleQuestion = {\n prefix: 'far',\n iconName: 'circle-question',\n icon: [512, 512, [62108, \"question-circle\"], \"f059\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm169.8-90.7c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faQuestionCircle = faCircleQuestion;\nvar faFaceMehBlank = {\n prefix: 'far',\n iconName: 'face-meh-blank',\n icon: [512, 512, [128566, \"meh-blank\"], \"f5a4\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zM512 256A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faMehBlank = faFaceMehBlank;\nvar faEye = {\n prefix: 'far',\n iconName: 'eye',\n icon: [576, 512, [128065], \"f06e\", \"M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\"]\n};\nvar faFaceSadCry = {\n prefix: 'far',\n iconName: 'face-sad-cry',\n icon: [512, 512, [128557, \"sad-cry\"], \"f5b3\", \"M400 406.1V288c0-13.3-10.7-24-24-24s-24 10.7-24 24V440.6c-28.7 15-61.4 23.4-96 23.4s-67.3-8.5-96-23.4V288c0-13.3-10.7-24-24-24s-24 10.7-24 24V406.1C72.6 368.2 48 315 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 59-24.6 112.2-64 150.1zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.6 220c10.6 0 19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C199.7 186.8 179 180 159.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9c5.5-5.8 14.8-9.7 25.4-9.7zm166.6 9.7c5.5-5.8 14.8-9.7 25.4-9.7s19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C391.7 186.8 371 180 351.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9zM208 320v32c0 26.5 21.5 48 48 48s48-21.5 48-48V320c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faSadCry = faFaceSadCry;\nvar faFileCode = {\n prefix: 'far',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm97 289c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L79 303c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM257 255c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z\"]\n};\nvar faWindowMaximize = {\n prefix: 'far',\n iconName: 'window-maximize',\n icon: [512, 512, [128470], \"f2d0\", \"M.3 89.5C.1 91.6 0 93.8 0 96V224 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64V224 96c0-35.3-28.7-64-64-64H64c-2.2 0-4.4 .1-6.5 .3c-9.2 .9-17.8 3.8-25.5 8.2C21.8 46.5 13.4 55.1 7.7 65.5c-3.9 7.3-6.5 15.4-7.4 24zM48 224H464l0 192c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-192z\"]\n};\nvar faFaceFrown = {\n prefix: 'far',\n iconName: 'face-frown',\n icon: [512, 512, [9785, \"frown\"], \"f119\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM174.6 384.1c-4.5 12.5-18.2 18.9-30.7 14.4s-18.9-18.2-14.4-30.7C146.9 319.4 198.9 288 256 288s109.1 31.4 126.6 79.9c4.5 12.5-2 26.2-14.4 30.7s-26.2-2-30.7-14.4C328.2 358.5 297.2 336 256 336s-72.2 22.5-81.4 48.1zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faFrown = faFaceFrown;\nvar faFloppyDisk = {\n prefix: 'far',\n iconName: 'floppy-disk',\n icon: [448, 512, [128190, 128426, \"save\"], \"f0c7\", \"M48 96V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V170.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9c12 12 18.7 28.3 18.7 45.3V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5-33.9 33.9L320.8 84.7c-.3-.3-.5-.5-.8-.8V184c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V80H64c-8.8 0-16 7.2-16 16zm80-16v80H272V80H128zm32 240a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faSave = faFloppyDisk;\nvar faCommentDots = {\n prefix: 'far',\n iconName: 'comment-dots',\n icon: [512, 512, [128172, 62075, \"commenting\"], \"f4ad\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM144 272a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm144-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm80 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCommenting = faCommentDots;\nvar faFaceGrinSquint = {\n prefix: 'far',\n iconName: 'face-grin-squint',\n icon: [512, 512, [128518, \"grin-squint\"], \"f585\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zm-216-161.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faGrinSquint = faFaceGrinSquint;\nvar faHandPointer = {\n prefix: 'far',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M160 64c0-8.8 7.2-16 16-16s16 7.2 16 16V200c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c8.8 0 16 7.2 16 16c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c7.8 0 14.3 5.6 15.7 13c1.6 8.2 7.3 15.1 15.1 18s16.7 1.6 23.3-3.6c2.7-2.1 6.1-3.4 9.9-3.4c8.8 0 16 7.2 16 16l0 16V392c0 39.8-32.2 72-72 72H272 212.3h-.9c-37.4 0-72.4-18.7-93.2-49.9L50.7 312.9c-4.9-7.4-2.9-17.3 4.4-22.2s17.3-2.9 22.2 4.4L116 353.2c5.9 8.8 16.8 12.7 26.9 9.7s17-12.4 17-23V320 64zM176 0c-35.3 0-64 28.7-64 64V261.7C91.2 238 55.5 232.8 28.5 250.7C-.9 270.4-8.9 310.1 10.8 339.5L78.3 440.8c29.7 44.5 79.6 71.2 133.1 71.2h.9H272h56c66.3 0 120-53.7 120-120V288l0-16c0-35.3-28.7-64-64-64c-4.5 0-8.8 .5-13 1.3c-11.7-15.4-30.2-25.3-51-25.3c-6.9 0-13.5 1.1-19.7 3.1C288.7 170.7 269.6 160 248 160c-2.7 0-5.4 .2-8 .5V64c0-35.3-28.7-64-64-64zm48 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304zm48-16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304z\"]\n};\nvar faHandScissors = {\n prefix: 'far',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M.2 276.3c-1.2-35.3 26.4-65 61.7-66.2l3.3-.1L57 208.1C22.5 200.5 .7 166.3 8.3 131.8S50.2 75.5 84.7 83.2l173 38.3c2.3-2.9 4.7-5.7 7.1-8.5l18.4-20.3C299.9 74.5 323.5 64 348.3 64l10.2 0c54.1 0 104.1 28.7 131.3 75.4l1.5 2.6c13.6 23.2 20.7 49.7 20.7 76.6L512 344c0 66.3-53.7 120-120 120l-8 0-96 0c-35.3 0-64-28.7-64-64c0-2.8 .2-5.6 .5-8.3c-19.4-11-32.5-31.8-32.5-55.7c0-.8 0-1.6 0-2.4L66.4 338c-35.3 1.2-65-26.4-66.2-61.7zm63.4-18.2c-8.8 .3-15.7 7.7-15.4 16.5s7.7 15.7 16.5 15.4l161.5-5.6c9.8-.3 18.7 5.3 22.7 14.2s2.2 19.3-4.5 26.4c-2.8 2.9-4.4 6.7-4.4 11c0 8.8 7.2 16 16 16c9.1 0 17.4 5.1 21.5 13.3s3.2 17.9-2.3 25.1c-2 2.7-3.2 6-3.2 9.6c0 8.8 7.2 16 16 16l96 0 8 0c39.8 0 72-32.2 72-72l0-125.4c0-18.4-4.9-36.5-14.2-52.4l-1.5-2.6c-18.6-32-52.8-51.6-89.8-51.6l-10.2 0c-11.3 0-22 4.8-29.6 13.1l-17.5-15.9 17.5 15.9-18.4 20.3c-.6 .6-1.1 1.3-1.7 1.9l57 13.2c8.6 2 14 10.6 12 19.2s-10.6 14-19.2 12l-85.6-19.7L74.3 130c-8.6-1.9-17.2 3.5-19.1 12.2s3.5 17.2 12.2 19.1l187.5 41.6c10.2 2.3 17.8 10.9 18.7 21.4l.1 1c.6 6.6-1.5 13.1-5.8 18.1s-10.6 7.9-17.2 8.2L63.6 258.1z\"]\n};\nvar faFaceGrinTears = {\n prefix: 'far',\n iconName: 'face-grin-tears',\n icon: [640, 512, [128514, \"grin-tears\"], \"f588\", \"M516.1 325.5c1 3 2.1 6 3.3 8.9c3.3 8.1 8.4 18.5 16.5 26.6c3.9 3.9 8.2 7.4 12.7 10.3C506.4 454.8 419.9 512 320 512s-186.4-57.2-228.6-140.6c4.5-2.9 8.7-6.3 12.7-10.3c8.1-8.1 13.2-18.6 16.5-26.6c1.2-2.9 2.3-5.9 3.3-8.9C152.5 406.2 229.5 464 320 464s167.5-57.8 196.1-138.5zM320 48c-101.4 0-185.8 72.5-204.3 168.5c-6.7-3.1-14.3-4.3-22.3-3.1c-6.8 .9-16.2 2.4-26.6 4.4C85.3 94.5 191.6 0 320 0S554.7 94.5 573.2 217.7c-10.3-2-19.8-3.5-26.6-4.4c-8-1.2-15.7 .1-22.3 3.1C505.8 120.5 421.4 48 320 48zM78.5 341.1C60 356.7 32 355.5 14.3 337.7c-18.7-18.7-19.1-48.8-.7-67.2c8.6-8.6 30.1-15.1 50.5-19.6c13-2.8 25.5-4.8 33.9-6c5.4-.8 9.9 3.7 9 9c-3.1 21.5-11.4 70.2-25.5 84.4c-.9 1-1.9 1.8-2.9 2.7zm483 0c-.8-.6-1.5-1.3-2.3-2c-.2-.2-.5-.4-.7-.7c-14.1-14.1-22.5-62.9-25.5-84.4c-.8-5.4 3.7-9.9 9-9c1 .1 2.2 .3 3.3 .5c8.2 1.2 19.2 3 30.6 5.5c20.4 4.4 41.9 10.9 50.5 19.6c18.4 18.4 18 48.5-.7 67.2c-17.7 17.7-45.7 19-64.2 3.4zM439 336.5C414.4 374.6 370.3 400 319.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5c18.7-4.4 35.9 12 25.5 28.1zM281.6 228.8l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0zm160 0l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0z\"]\n};\nvar faGrinTears = faFaceGrinTears;\nvar faCalendarXmark = {\n prefix: 'far',\n iconName: 'calendar-xmark',\n icon: [512, 512, [\"calendar-times\"], \"f273\", \"M160 0c13.3 0 24 10.7 24 24V64H328V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V192 144 128c0-35.3 28.7-64 64-64h40V24c0-13.3 10.7-24 24-24zM432 192H80V448c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V192zm-95 89l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCalendarTimes = faCalendarXmark;\nvar faFileVideo = {\n prefix: 'far',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M320 464c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM80 288c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v16l44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3V387.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1L240 368v16c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V288z\"]\n};\nvar faFilePdf = {\n prefix: 'far',\n iconName: 'file-pdf',\n icon: [512, 512, [], \"f1c1\", \"M64 464H96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM176 352h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H192v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H192v48h16zm96-80h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H304c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H320v96h16zm80-112c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V432 368z\"]\n};\nvar faComment = {\n prefix: 'far',\n iconName: 'comment',\n icon: [512, 512, [128489, 61669], \"f075\", \"M123.6 391.3c12.9-9.4 29.6-11.8 44.6-6.4c26.5 9.6 56.2 15.1 87.8 15.1c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 32 12.4 62.8 35.7 89.2c8.6 9.7 12.8 22.5 11.8 35.5c-1.4 18.1-5.7 34.7-11.3 49.4c17-7.9 31.1-16.7 39.4-22.7zM21.2 431.9c1.8-2.7 3.5-5.4 5.1-8.1c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6c-15.1 6.6-32.3 12.6-50.1 16.1c-.8 .2-1.6 .3-2.4 .5c-4.4 .8-8.7 1.5-13.2 1.9c-.2 0-.5 .1-.7 .1c-5.1 .5-10.2 .8-15.3 .8c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c4.1-4.2 7.8-8.7 11.3-13.5c1.7-2.3 3.3-4.6 4.8-6.9c.1-.2 .2-.3 .3-.5z\"]\n};\nvar faEnvelope = {\n prefix: 'far',\n iconName: 'envelope',\n icon: [512, 512, [128386, 9993, 61443], \"f0e0\", \"M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"]\n};\nvar faHourglass = {\n prefix: 'far',\n iconName: 'hourglass',\n icon: [384, 512, [9203, 62032, \"hourglass-empty\"], \"f254\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48h8V67c0 40.3 16 79 44.5 107.5L158.1 256 76.5 337.5C48 366 32 404.7 32 445v19H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V445c0-40.3-16-79-44.5-107.5L225.9 256l81.5-81.5C336 146 352 107.3 352 67V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM192 289.9l81.5 81.5C293 391 304 417.4 304 445v19H80V445c0-27.6 11-54 30.5-73.5L192 289.9zm0-67.9l-81.5-81.5C91 121 80 94.6 80 67V48H304V67c0 27.6-11 54-30.5 73.5L192 222.1z\"]\n};\nvar faHourglassEmpty = faHourglass;\nvar faCalendarCheck = {\n prefix: 'far',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM329 297L217 409c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 95-95c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faHardDrive = {\n prefix: 'far',\n iconName: 'hard-drive',\n icon: [512, 512, [128436, \"hdd\"], \"f0a0\", \"M64 80c-8.8 0-16 7.2-16 16V258c5.1-1.3 10.5-2 16-2H448c5.5 0 10.9 .7 16 2V96c0-8.8-7.2-16-16-16H64zM48 320v96c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V320c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zM0 320V96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V320v96c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320zm280 48a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHdd = faHardDrive;\nvar faFaceGrinSquintTears = {\n prefix: 'far',\n iconName: 'face-grin-squint-tears',\n icon: [512, 512, [129315, \"grin-squint-tears\"], \"f586\", \"M426.8 14.2C446-5 477.5-4.6 497.1 14.9s20 51 .7 70.3c-14.8 14.8-65.7 23.6-88.3 26.7c-5.6 .9-10.3-3.9-9.5-9.5C403.3 79.9 412 29 426.8 14.2zM75 75C158.2-8.3 284.5-22.2 382.2 33.2c-1.5 4.8-2.9 9.6-4.1 14.3c-3.1 12.2-5.5 24.6-7.3 35c-80.8-53.6-190.7-44.8-261.9 26.4C37.7 180.1 28.9 290 82.5 370.8c-10.5 1.8-22.9 4.2-35 7.3c-4.7 1.2-9.5 2.5-14.3 4.1C-22.2 284.5-8.2 158.2 75 75zm389.6 58.9c4.7-1.2 9.5-2.5 14.3-4.1C534.2 227.5 520.2 353.8 437 437c-83.2 83.2-209.5 97.2-307.2 41.8c1.5-4.8 2.8-9.6 4-14.3c3.1-12.2 5.5-24.6 7.3-35c80.8 53.6 190.7 44.8 261.9-26.4c71.2-71.2 80-181.1 26.4-261.9c10.5-1.8 22.9-4.2 35-7.3zm-105.4 93c10.1-16.3 33.9-16.9 37.9 1.9c9.5 44.4-3.7 93.5-39.3 129.1s-84.8 48.8-129.1 39.3c-18.7-4-18.2-27.8-1.9-37.9c25.2-15.7 50.2-35.4 73.6-58.8s43.1-48.4 58.8-73.6zM92 265.3l97.4-29.7c11.6-3.5 22.5 7.3 19 19l-29.7 97.4c-2.6 8.6-13.4 11.3-19.8 4.9c-2-2-3.2-4.6-3.4-7.3l-5.1-56.1-56.1-5.1c-2.8-.3-5.4-1.5-7.3-3.4c-6.3-6.3-3.6-17.2 4.9-19.8zm193-178.2c2 2 3.2 4.6 3.4 7.3l5.1 56.1 56.1 5.1c2.8 .3 5.4 1.5 7.3 3.4c6.3 6.3 3.6 17.2-4.9 19.8l-97.4 29.7c-11.6 3.5-22.5-7.3-19-19L265.3 92c2.6-8.6 13.4-11.3 19.8-4.9zM14.9 497.1c-19.6-19.6-20-51-.7-70.3C29 412 79.8 403.2 102.4 400.1c5.6-.9 10.3 3.9 9.5 9.5c-3.2 22.5-11.9 73.5-26.7 88.3C66 517 34.5 516.6 14.9 497.1z\"]\n};\nvar faGrinSquintTears = faFaceGrinSquintTears;\nvar faRectangleList = {\n prefix: 'far',\n iconName: 'rectangle-list',\n icon: [576, 512, [\"list-alt\"], \"f022\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm104 0c0-13.3 10.7-24 24-24H448c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24H448c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24H448c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm-72-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM96 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faListAlt = faRectangleList;\nvar faCalendarPlus = {\n prefix: 'far',\n iconName: 'calendar-plus',\n icon: [512, 512, [], \"f271\", \"M184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H96c-35.3 0-64 28.7-64 64v16 48V448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H376V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H184V24zM80 192H432V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V192zm176 40c-13.3 0-24 10.7-24 24v48H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v48c0 13.3 10.7 24 24 24s24-10.7 24-24V352h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V256c0-13.3-10.7-24-24-24z\"]\n};\nvar faCircleLeft = {\n prefix: 'far',\n iconName: 'circle-left',\n icon: [512, 512, [61840, \"arrow-alt-circle-left\"], \"f359\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM217.4 376.9c4.2 4.5 10.1 7.1 16.3 7.1c12.3 0 22.3-10 22.3-22.3V304h96c17.7 0 32-14.3 32-32V240c0-17.7-14.3-32-32-32H256V150.3c0-12.3-10-22.3-22.3-22.3c-6.2 0-12.1 2.6-16.3 7.1L117.5 242.2c-3.5 3.8-5.5 8.7-5.5 13.8s2 10.1 5.5 13.8l99.9 107.1z\"]\n};\nvar faArrowAltCircleLeft = faCircleLeft;\nvar faMoneyBill1 = {\n prefix: 'far',\n iconName: 'money-bill-1',\n icon: [576, 512, [\"money-bill-alt\"], \"f3d1\", \"M112 112c0 35.3-28.7 64-64 64V336c35.3 0 64 28.7 64 64H464c0-35.3 28.7-64 64-64V176c-35.3 0-64-28.7-64-64H112zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM176 256a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm80-48c0 8.8 7.2 16 16 16v64h-8c-8.8 0-16 7.2-16 16s7.2 16 16 16h24 24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\"]\n};\nvar faMoneyBillAlt = faMoneyBill1;\nvar faClock = {\n prefix: 'far',\n iconName: 'clock',\n icon: [512, 512, [128339, \"clock-four\"], \"f017\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faClockFour = faClock;\nvar faKeyboard = {\n prefix: 'far',\n iconName: 'keyboard',\n icon: [576, 512, [9000], \"f11c\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM176 320H400c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm-72-72c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H200c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H200c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H280c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H280c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H360c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H360c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H440c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H440c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'far',\n iconName: 'closed-captioning',\n icon: [576, 512, [], \"f20a\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM200 208c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48s21.5-48 48-48zm144 48c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z\"]\n};\nvar faImages = {\n prefix: 'far',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M160 80H512c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16H490.8L388.1 178.9c-4.4-6.8-12-10.9-20.1-10.9s-15.7 4.1-20.1 10.9l-52.2 79.8-12.4-16.9c-4.5-6.2-11.7-9.8-19.4-9.8s-14.8 3.6-19.4 9.8L175.6 336H160c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zM96 96V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120zm208 24a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faFaceGrin = {\n prefix: 'far',\n iconName: 'face-grin',\n icon: [512, 512, [128512, \"grin\"], \"f580\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrin = faFaceGrin;\nvar faFaceMeh = {\n prefix: 'far',\n iconName: 'face-meh',\n icon: [512, 512, [128528, \"meh\"], \"f11a\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM184 328c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faMeh = faFaceMeh;\nvar faIdCard = {\n prefix: 'far',\n iconName: 'id-card',\n icon: [576, 512, [62147, \"drivers-license\"], \"f2c2\", \"M528 160V416c0 8.8-7.2 16-16 16H320c0-44.2-35.8-80-80-80H176c-44.2 0-80 35.8-80 80H64c-8.8 0-16-7.2-16-16V160H528zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM272 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm104-48c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376z\"]\n};\nvar faDriversLicense = faIdCard;\nvar faSun = {\n prefix: 'far',\n iconName: 'sun',\n icon: [512, 512, [9728], \"f185\", \"M375.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L256 61.1 173.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L19.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L61.1 256 4.2 338.5c-4.6 6.7-5.5 15.3-2.4 22.8s9.8 13 17.8 14.4l98.5 18.1 18.1 98.5c1.5 8 6.9 14.7 14.4 17.8s16.1 2.2 22.8-2.4L256 450.9l82.5 56.9c6.7 4.6 15.3 5.5 22.8 2.4s12.9-9.8 14.4-17.8l18.1-98.5 98.5-18.1c8-1.5 14.7-6.9 17.8-14.4s2.2-16.1-2.4-22.8L450.9 256l56.9-82.5c4.6-6.7 5.5-15.3 2.4-22.8s-9.8-12.9-17.8-14.4l-98.5-18.1L375.7 19.7zM269.6 110l65.6-45.2 14.4 78.3c1.8 9.8 9.5 17.5 19.3 19.3l78.3 14.4L402 242.4c-5.7 8.2-5.7 19 0 27.2l45.2 65.6-78.3 14.4c-9.8 1.8-17.5 9.5-19.3 19.3l-14.4 78.3L269.6 402c-8.2-5.7-19-5.7-27.2 0l-65.6 45.2-14.4-78.3c-1.8-9.8-9.5-17.5-19.3-19.3L64.8 335.2 110 269.6c5.7-8.2 5.7-19 0-27.2L64.8 176.8l78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L242.4 110c8.2 5.7 19 5.7 27.2 0zM256 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM192 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faFaceLaughWink = {\n prefix: 'far',\n iconName: 'face-laugh-wink',\n icon: [512, 512, [\"laugh-wink\"], \"f59c\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm130.7 57.9c-4.2-13.6 7.1-25.9 21.3-25.9H364.5c14.2 0 25.5 12.4 21.3 25.9C369 368.4 318.2 408 258.2 408s-110.8-39.6-127.5-94.1zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm165.8 21.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7s-19.9 3.8-25.4 9.7z\"]\n};\nvar faLaughWink = faFaceLaughWink;\nvar faCircleDown = {\n prefix: 'far',\n iconName: 'circle-down',\n icon: [512, 512, [61466, \"arrow-alt-circle-down\"], \"f358\", \"M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM376.9 294.6c4.5-4.2 7.1-10.1 7.1-16.3c0-12.3-10-22.3-22.3-22.3H304V160c0-17.7-14.3-32-32-32l-32 0c-17.7 0-32 14.3-32 32v96H150.3C138 256 128 266 128 278.3c0 6.2 2.6 12.1 7.1 16.3l107.1 99.9c3.8 3.5 8.7 5.5 13.8 5.5s10.1-2 13.8-5.5l107.1-99.9z\"]\n};\nvar faArrowAltCircleDown = faCircleDown;\nvar faThumbsDown = {\n prefix: 'far',\n iconName: 'thumbs-down',\n icon: [512, 512, [128078, 61576], \"f165\", \"M323.8 477.2c-38.2 10.9-78.1-11.2-89-49.4l-5.7-20c-3.7-13-10.4-25-19.5-35l-51.3-56.4c-8.9-9.8-8.2-25 1.6-33.9s25-8.2 33.9 1.6l51.3 56.4c14.1 15.5 24.4 34 30.1 54.1l5.7 20c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7l-5.7-20c-5.7-19.9-14.7-38.7-26.6-55.5c-5.2-7.3-5.8-16.9-1.7-24.9s12.3-13 21.3-13L448 288c8.8 0 16-7.2 16-16c0-6.8-4.3-12.7-10.4-15c-7.4-2.8-13-9-14.9-16.7s.1-15.8 5.3-21.7c2.5-2.8 4-6.5 4-10.6c0-7.8-5.6-14.3-13-15.7c-8.2-1.6-15.1-7.3-18-15.2s-1.6-16.7 3.6-23.3c2.1-2.7 3.4-6.1 3.4-9.9c0-6.7-4.2-12.6-10.2-14.9c-11.5-4.5-17.7-16.9-14.4-28.8c.4-1.3 .6-2.8 .6-4.3c0-8.8-7.2-16-16-16H286.5c-12.6 0-25 3.7-35.5 10.7l-61.7 41.1c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l61.7-41.1c18.4-12.3 40-18.8 62.1-18.8H384c34.7 0 62.9 27.6 64 62c14.6 11.7 24 29.7 24 50c0 4.5-.5 8.8-1.3 13c15.4 11.7 25.3 30.2 25.3 51c0 6.5-1 12.8-2.8 18.7C504.8 238.3 512 254.3 512 272c0 35.3-28.6 64-64 64l-92.3 0c4.7 10.4 8.7 21.2 11.8 32.2l5.7 20c10.9 38.2-11.2 78.1-49.4 89zM32 384c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H32z\"]\n};\nvar faChessPawn = {\n prefix: 'far',\n iconName: 'chess-pawn',\n icon: [320, 512, [9823], \"f443\", \"M232 152A72 72 0 1 0 88 152a72 72 0 1 0 144 0zm24 120H243.4l10.7 80H205.7L195 272H160 125l-10.7 80H65.9l10.7-80H64c-13.3 0-24-10.7-24-24s10.7-24 24-24c-15.1-20.1-24-45-24-72C40 85.7 93.7 32 160 32s120 53.7 120 120c0 27-8.9 51.9-24 72c13.3 0 24 10.7 24 24s-10.7 24-24 24zM52.7 464H267.3l-16.6-32H69.2L52.7 464zm207.9-80c12 0 22.9 6.7 28.4 17.3l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H40.8C18.2 512 0 493.8 0 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C36.5 390.7 47.5 384 59.5 384h201z\"]\n};\nvar faCreditCard = {\n prefix: 'far',\n iconName: 'credit-card',\n icon: [576, 512, [128179, 62083, \"credit-card-alt\"], \"f09d\", \"M512 80c8.8 0 16 7.2 16 16v32H48V96c0-8.8 7.2-16 16-16H512zm16 144V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224H528zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 304c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faCreditCardAlt = faCreditCard;\nvar faBell = {\n prefix: 'far',\n iconName: 'bell',\n icon: [448, 512, [128276, 61602], \"f0f3\", \"M224 0c-17.7 0-32 14.3-32 32V49.9C119.5 61.4 64 124.2 64 200v33.4c0 45.4-15.5 89.5-43.8 124.9L5.3 377c-5.8 7.2-6.9 17.1-2.9 25.4S14.8 416 24 416H424c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C399.5 322.9 384 278.8 384 233.4V200c0-75.8-55.5-138.6-128-150.1V32c0-17.7-14.3-32-32-32zm0 96h8c57.4 0 104 46.6 104 104v33.4c0 47.9 13.9 94.6 39.7 134.6H72.3C98.1 328 112 281.3 112 233.4V200c0-57.4 46.6-104 104-104h8zm64 352H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z\"]\n};\nvar faFile = {\n prefix: 'far',\n iconName: 'file',\n icon: [384, 512, [128196, 128459, 61462], \"f15b\", \"M320 464c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64z\"]\n};\nvar faHospital = {\n prefix: 'far',\n iconName: 'hospital',\n icon: [640, 512, [127973, 62589, \"hospital-alt\", \"hospital-wide\"], \"f0f8\", \"M232 0c-39.8 0-72 32.2-72 72v8H72C32.2 80 0 112.2 0 152V440c0 39.8 32.2 72 72 72h.2 .2 .2 .2 .2H73h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H75h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H77h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H79h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H82h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H85h.2 .2 .2 .2H86h.2 .2 .2 .2H87h.2 .2 .2 .2H88h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H98h.2 .2 .2 .2H99h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2v0H456h8v0H568c39.8 0 72-32.2 72-72V152c0-39.8-32.2-72-72-72H480V72c0-39.8-32.2-72-72-72H232zM480 128h88c13.3 0 24 10.7 24 24v40H536c-13.3 0-24 10.7-24 24s10.7 24 24 24h56v48H536c-13.3 0-24 10.7-24 24s10.7 24 24 24h56V440c0 13.3-10.7 24-24 24H480V336 128zM72 128h88V464h-.1-.2-.2-.2H159h-.2-.2-.2H158h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H154h-.2-.2-.2H153h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H150h-.2-.2-.2H149h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H146h-.2-.2-.2H145h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H142h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H139h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H136h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H133h-.2-.2-.2-.2-.2-.2-.2-.2H131h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H128h-.2-.2-.2-.2-.2-.2-.2-.2H126h-.2-.2-.2-.2-.2-.2-.2-.2H124h-.2-.2-.2-.2-.2-.2-.2-.2H122h-.2-.2-.2-.2-.2-.2-.2-.2H120h-.2-.2-.2-.2-.2-.2-.2-.2H118h-.2-.2-.2-.2-.2-.2-.2-.2H116h-.2-.2-.2-.2-.2-.2-.2-.2H114h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H111h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H108h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H105h-.2-.2-.2-.2H104h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H100h-.2-.2-.2-.2H99h-.2-.2-.2-.2H98h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H88h-.2-.2-.2-.2H87h-.2-.2-.2-.2H86h-.2-.2-.2-.2H85h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H82h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H79h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H77h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H75h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H73h-.2-.2-.2-.2-.2H72c-13.2 0-24-10.7-24-24V336h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V240h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V152c0-13.3 10.7-24 24-24zM208 72c0-13.3 10.7-24 24-24H408c13.3 0 24 10.7 24 24V336 464H368V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H208V72zm88 24v24H272c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168h24c8.8 0 16-7.2 16-16V136c0-8.8-7.2-16-16-16H344V96c0-8.8-7.2-16-16-16H312c-8.8 0-16 7.2-16 16z\"]\n};\nvar faHospitalAlt = faHospital;\nvar faHospitalWide = faHospital;\nvar faChessRook = {\n prefix: 'far',\n iconName: 'chess-rook',\n icon: [448, 512, [9820], \"f447\", \"M80 80V192c0 2.5 1.2 4.9 3.2 6.4l51.2 38.4c6.8 5.1 10.4 13.4 9.5 21.9L133.5 352H85.2l9.4-85L54.4 236.8C40.3 226.2 32 209.6 32 192V72c0-22.1 17.9-40 40-40H376c22.1 0 40 17.9 40 40V192c0 17.6-8.3 34.2-22.4 44.8L353.4 267l9.4 85H314.5l-10.4-93.3c-.9-8.4 2.7-16.8 9.5-21.9l51.2-38.4c2-1.5 3.2-3.9 3.2-6.4V80H304v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V80H192v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V80H80zm4.7 384H363.3l-16.6-32H101.2L84.7 464zm271.9-80c12 0 22.9 6.7 28.4 17.3l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H72.8C50.2 512 32 493.8 32 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C68.5 390.7 79.5 384 91.5 384h265zM208 288c-8.8 0-16-7.2-16-16V224c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 8.8-7.2 16-16 16H208z\"]\n};\nvar faStarHalf = {\n prefix: 'far',\n iconName: 'star-half',\n icon: [576, 512, [61731], \"f089\", \"M293.3 .6c10.9 2.5 18.6 12.2 18.6 23.4V408.7c0 8.9-4.9 17-12.7 21.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5c4.9-10.1 16.1-15.4 27-12.9zM263.9 128.4l-28.6 58.8c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l92.5-49.4V128.4z\"]\n};\nvar faChessKing = {\n prefix: 'far',\n iconName: 'chess-king',\n icon: [448, 512, [9818], \"f43f\", \"M248 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V56H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v40H59.6C26.7 144 0 170.7 0 203.6c0 8.2 1.7 16.3 4.9 23.8L59.1 352h52.3L49 208.2c-.6-1.5-1-3-1-4.6c0-6.4 5.2-11.6 11.6-11.6H224 388.4c6.4 0 11.6 5.2 11.6 11.6c0 1.6-.3 3.2-1 4.6L336.5 352h52.3l54.2-124.6c3.3-7.5 4.9-15.6 4.9-23.8c0-32.9-26.7-59.6-59.6-59.6H248V104h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V24zM101.2 432H346.8l16.6 32H84.7l16.6-32zm283.7-30.7c-5.5-10.6-16.5-17.3-28.4-17.3H91.5c-12 0-22.9 6.7-28.4 17.3L36.6 452.5c-3 5.8-4.6 12.2-4.6 18.7C32 493.8 50.2 512 72.8 512H375.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2z\"]\n};\nvar faCircleUser = {\n prefix: 'far',\n iconName: 'circle-user',\n icon: [512, 512, [62142, \"user-circle\"], \"f2bd\", \"M406.5 399.6C387.4 352.9 341.5 320 288 320H224c-53.5 0-99.4 32.9-118.5 79.6C69.9 362.2 48 311.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 55.7-21.9 106.2-57.5 143.6zm-40.1 32.7C334.4 452.4 296.6 464 256 464s-78.4-11.6-110.5-31.7c7.3-36.7 39.7-64.3 78.5-64.3h64c38.8 0 71.2 27.6 78.5 64.3zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-272a40 40 0 1 1 0-80 40 40 0 1 1 0 80zm-88-40a88 88 0 1 0 176 0 88 88 0 1 0 -176 0z\"]\n};\nvar faUserCircle = faCircleUser;\nvar faCopy = {\n prefix: 'far',\n iconName: 'copy',\n icon: [512, 512, [], \"f0c5\", \"M448 384H256c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64H396.1c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9V320c0 35.3-28.7 64-64 64zM64 128h96v48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H256c8.8 0 16-7.2 16-16V416h48v32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64z\"]\n};\nvar faShareFromSquare = {\n prefix: 'far',\n iconName: 'share-from-square',\n icon: [576, 512, [61509, \"share-square\"], \"f14d\", \"M400 255.4V240 208c0-8.8-7.2-16-16-16H352 336 289.5c-50.9 0-93.9 33.5-108.3 79.6c-3.3-9.4-5.2-19.8-5.2-31.6c0-61.9 50.1-112 112-112h48 16 32c8.8 0 16-7.2 16-16V80 64.6L506 160 400 255.4zM336 240h16v48c0 17.7 14.3 32 32 32h3.7c7.9 0 15.5-2.9 21.4-8.2l139-125.1c7.6-6.8 11.9-16.5 11.9-26.7s-4.3-19.9-11.9-26.7L409.9 8.9C403.5 3.2 395.3 0 386.7 0C367.5 0 352 15.5 352 34.7V80H336 304 288c-88.4 0-160 71.6-160 160c0 60.4 34.6 99.1 63.9 120.9c5.9 4.4 11.5 8.1 16.7 11.2c4.4 2.7 8.5 4.9 11.9 6.6c3.4 1.7 6.2 3 8.2 3.9c2.2 1 4.6 1.4 7.1 1.4h2.5c9.8 0 17.8-8 17.8-17.8c0-7.8-5.3-14.7-11.6-19.5l0 0c-.4-.3-.7-.5-1.1-.8c-1.7-1.1-3.4-2.5-5-4.1c-.8-.8-1.7-1.6-2.5-2.6s-1.6-1.9-2.4-2.9c-1.8-2.5-3.5-5.3-5-8.5c-2.6-6-4.3-13.3-4.3-22.4c0-36.1 29.3-65.5 65.5-65.5H304h32zM72 32C32.2 32 0 64.2 0 104V440c0 39.8 32.2 72 72 72H408c39.8 0 72-32.2 72-72V376c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"]\n};\nvar faShareSquare = faShareFromSquare;\nvar faCopyright = {\n prefix: 'far',\n iconName: 'copyright',\n icon: [512, 512, [169], \"f1f9\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM199.4 312.6c-31.2-31.2-31.2-81.9 0-113.1s81.9-31.2 113.1 0c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9c-50-50-131-50-181 0s-50 131 0 181s131 50 181 0c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0c-31.2 31.2-81.9 31.2-113.1 0z\"]\n};\nvar faMap = {\n prefix: 'far',\n iconName: 'map',\n icon: [576, 512, [128506, 62072], \"f279\", \"M565.6 36.2C572.1 40.7 576 48.1 576 56V392c0 10-6.2 18.9-15.5 22.4l-168 64c-5.2 2-10.9 2.1-16.1 .3L192.5 417.5l-160 61c-7.4 2.8-15.7 1.8-22.2-2.7S0 463.9 0 456V120c0-10 6.1-18.9 15.5-22.4l168-64c5.2-2 10.9-2.1 16.1-.3L383.5 94.5l160-61c7.4-2.8 15.7-1.8 22.2 2.7zM48 136.5V421.2l120-45.7V90.8L48 136.5zM360 422.7V137.3l-144-48V374.7l144 48zm48-1.5l120-45.7V90.8L408 136.5V421.2z\"]\n};\nvar faBellSlash = {\n prefix: 'far',\n iconName: 'bell-slash',\n icon: [640, 512, [128277, 61943], \"f1f6\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L542.6 400c2.7-7.8 1.3-16.5-3.9-23l-14.9-18.6C495.5 322.9 480 278.8 480 233.4V200c0-75.8-55.5-138.6-128-150.1V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V49.9c-43.9 7-81.5 32.7-104.4 68.7L38.8 5.1zM221.7 148.4C239.6 117.1 273.3 96 312 96h8 8c57.4 0 104 46.6 104 104v33.4c0 32.7 6.4 64.8 18.7 94.5L221.7 148.4zM406.2 416l-60.9-48H168.3c21.2-32.8 34.4-70.3 38.4-109.1L160 222.1v11.4c0 45.4-15.5 89.5-43.8 124.9L101.3 377c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6H406.2zM384 448H320 256c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z\"]\n};\nvar faHandLizard = {\n prefix: 'far',\n iconName: 'hand-lizard',\n icon: [512, 512, [], \"f258\", \"M72 112c-13.3 0-24 10.7-24 24s10.7 24 24 24H240c35.3 0 64 28.7 64 64s-28.7 64-64 64H136c-13.3 0-24 10.7-24 24s10.7 24 24 24H288c4.5 0 8.9 1.3 12.7 3.6l64 40c7 4.4 11.3 12.1 11.3 20.4v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V413.3L281.1 384H136c-39.8 0-72-32.2-72-72s32.2-72 72-72H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H72c-39.8 0-72-32.2-72-72S32.2 64 72 64H281.6c46.7 0 90.9 21.5 119.7 58.3l78.4 100.1c20.9 26.7 32.3 59.7 32.3 93.7V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V316.1c0-23.2-7.8-45.8-22.1-64.1L363.5 151.9c-19.7-25.2-49.9-39.9-81.9-39.9H72z\"]\n};\nvar faFaceSmile = {\n prefix: 'far',\n iconName: 'face-smile',\n icon: [512, 512, [128578, \"smile\"], \"f118\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSmile = faFaceSmile;\nvar faHandPeace = {\n prefix: 'far',\n iconName: 'hand-peace',\n icon: [512, 512, [9996], \"f25b\", \"M250.8 1.4c-35.2-3.7-66.6 21.8-70.3 57L174 119 156.7 69.6C145 36.3 108.4 18.8 75.1 30.5S24.2 78.8 35.9 112.1L88.7 262.2C73.5 276.7 64 297.3 64 320v0 24c0 92.8 75.2 168 168 168h48c92.8 0 168-75.2 168-168V272 256 224c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-.7 0-1.5 0-2.2 0l5.9-56.3c3.7-35.2-21.8-66.6-57-70.3zm-.2 155.4C243.9 166.9 240 179 240 192v48c0 .7 0 1.4 0 2c-5.1-1.3-10.5-2-16-2h-7.4l-5.4-15.3 17-161.3c.9-8.8 8.8-15.2 17.6-14.2s15.2 8.8 14.2 17.6l-9.5 90.1zM111.4 85.6L165.7 240H144c-4 0-8 .3-11.9 .9L81.2 96.2c-2.9-8.3 1.5-17.5 9.8-20.4s17.5 1.5 20.4 9.8zM288 192c0-8.8 7.2-16 16-16s16 7.2 16 16v32 16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192zm38.4 108c10.4 21.3 32.3 36 57.6 36c5.5 0 10.9-.7 16-2v10c0 66.3-53.7 120-120 120H232c-66.3 0-120-53.7-120-120l0-24 0 0c0-17.7 14.3-32 32-32h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c35.3 0 64-28.7 64-64c0-.7 0-1.4 0-2c5.1 1.3 10.5 2 16 2c7.9 0 15.4-1.4 22.4-4zM400 272c0 8.8-7.2 16-16 16s-16-7.2-16-16V240 224c0-8.8 7.2-16 16-16s16 7.2 16 16v32 16z\"]\n};\nvar faFaceGrinHearts = {\n prefix: 'far',\n iconName: 'face-grin-hearts',\n icon: [512, 512, [128525, \"grin-hearts\"], \"f584\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM215.3 137.1c17.8 4.8 28.4 23.1 23.6 40.8l-17.4 65c-2.3 8.5-11.1 13.6-19.6 11.3l-65.1-17.4c-17.8-4.8-28.4-23.1-23.6-40.8s23.1-28.4 40.8-23.6l16.1 4.3 4.3-16.1c4.8-17.8 23.1-28.4 40.8-23.6zm122.3 23.6l4.3 16.1 16.1-4.3c17.8-4.8 36.1 5.8 40.8 23.6s-5.8 36.1-23.6 40.8l-65.1 17.4c-8.5 2.3-17.3-2.8-19.6-11.3l-17.4-65c-4.8-17.8 5.8-36.1 23.6-40.8s36.1 5.8 40.9 23.6z\"]\n};\nvar faGrinHearts = faFaceGrinHearts;\nvar faBuilding = {\n prefix: 'far',\n iconName: 'building',\n icon: [384, 512, [127970, 61687], \"f1ad\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16h80V400c0-26.5 21.5-48 48-48s48 21.5 48 48v64h80c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm88 40c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V104zM232 88h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V104c0-8.8 7.2-16 16-16zM88 232c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V232zm144-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V232c0-8.8 7.2-16 16-16z\"]\n};\nvar faFaceGrinBeamSweat = {\n prefix: 'far',\n iconName: 'face-grin-beam-sweat',\n icon: [512, 512, [128517, \"grin-beam-sweat\"], \"f583\", \"M476.8 126.3C497.1 120.8 512 102.7 512 81c0-20-28.6-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0c-9.5 12.6-27.1 37.2-36 57.5c-.3 .7-.6 1.4-.9 2.1C417.8 69.7 416 76 416 81c0 26 21.5 47 48 47c4.4 0 8.7-.6 12.8-1.7zM395.4 41.2C355.3 15.2 307.4 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256c0-35.8-7.3-69.9-20.6-100.8c-8.6 3.1-17.8 4.8-27.4 4.8c-8.9 0-17.6-1.5-25.7-4.2C454.7 185.5 464 219.7 464 256c0 114.9-93.1 208-208 208S48 370.9 48 256S141.1 48 256 48c48.7 0 93.4 16.7 128.9 44.7c-.6-3.8-.9-7.7-.9-11.7c0-11.4 3.8-22.4 7.1-30.5c1.3-3.1 2.7-6.2 4.3-9.3zM375 336.5c10.4-16.1-6.8-32.5-25.5-28.1c-28.9 6.8-60.5 10.5-93.6 10.5s-64.7-3.7-93.6-10.5c-18.7-4.4-35.9 12-25.5 28.1c24.6 38.1 68.7 63.5 119.1 63.5s94.5-25.4 119.1-63.5zM217.6 228.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0z\"]\n};\nvar faGrinBeamSweat = faFaceGrinBeamSweat;\nvar faMoon = {\n prefix: 'far',\n iconName: 'moon',\n icon: [384, 512, [127769, 9214], \"f186\", \"M144.7 98.7c-21 34.1-33.1 74.3-33.1 117.3c0 98 62.8 181.4 150.4 211.7c-12.4 2.8-25.3 4.3-38.6 4.3C126.6 432 48 353.3 48 256c0-68.9 39.4-128.4 96.8-157.3zm62.1-66C91.1 41.2 0 137.9 0 256C0 379.7 100 480 223.5 480c47.8 0 92-15 128.4-40.6c1.9-1.3 3.7-2.7 5.5-4c4.8-3.6 9.4-7.4 13.9-11.4c2.7-2.4 5.3-4.8 7.9-7.3c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-3.7 .6-7.4 1.2-11.1 1.6c-5 .5-10.1 .9-15.3 1c-1.2 0-2.5 0-3.7 0c-.1 0-.2 0-.3 0c-96.8-.2-175.2-78.9-175.2-176c0-54.8 24.9-103.7 64.1-136c1-.9 2.1-1.7 3.2-2.6c4-3.2 8.2-6.2 12.5-9c3.1-2 6.3-4 9.6-5.8c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-3.6-.3-7.1-.5-10.7-.6c-2.7-.1-5.5-.1-8.2-.1c-3.3 0-6.5 .1-9.8 .2c-2.3 .1-4.6 .2-6.9 .4z\"]\n};\nvar faCalendar = {\n prefix: 'far',\n iconName: 'calendar',\n icon: [448, 512, [128197, 128198], \"f133\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192z\"]\n};\nvar faFaceGrinTongueWink = {\n prefix: 'far',\n iconName: 'face-grin-tongue-wink',\n icon: [512, 512, [128540, \"grin-tongue-wink\"], \"f58b\", \"M348.3 442.4c2.4-8.4 3.7-17.3 3.7-26.4V363.5c8.8-8 16.6-17.1 23-27c10.4-16.1-6.8-32.5-25.5-28.1c-28.9 6.8-60.5 10.5-93.6 10.5s-64.7-3.7-93.6-10.5c-18.7-4.4-35.9 12-25.5 28.1c6.5 10 14.3 19.1 23.1 27.1V416c0 9.2 1.3 18 3.7 26.4C95.1 408.4 48 337.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 81.7-47.1 152.4-115.7 186.4zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.6 220c10.6 0 19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C199.7 186.8 179 180 159.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9c5.5-5.8 14.8-9.7 25.4-9.7zm176.7 12a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-.4-72a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM320 416c0 35.3-28.7 64-64 64s-64-28.7-64-64V378.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6V416z\"]\n};\nvar faGrinTongueWink = faFaceGrinTongueWink;\nvar faClone = {\n prefix: 'far',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M64 464H288c8.8 0 16-7.2 16-16V384h48v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h64v48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM224 352c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H224z\"]\n};\nvar faFaceAngry = {\n prefix: 'far',\n iconName: 'face-angry',\n icon: [512, 512, [128544, \"angry\"], \"f556\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm72.4-118.5c9.7-9 10.2-24.2 1.2-33.9C315.3 344.3 290.6 328 256 328s-59.3 16.3-73.5 31.6c-9 9.7-8.5 24.9 1.2 33.9s24.9 8.5 33.9-1.2c7.4-7.9 20-16.4 38.5-16.4s31.1 8.5 38.5 16.4c9 9.7 24.2 10.2 33.9 1.2zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faAngry = faFaceAngry;\nvar faRectangleXmark = {\n prefix: 'far',\n iconName: 'rectangle-xmark',\n icon: [512, 512, [62164, \"rectangle-times\", \"times-rectangle\", \"window-close\"], \"f410\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faRectangleTimes = faRectangleXmark;\nvar faTimesRectangle = faRectangleXmark;\nvar faWindowClose = faRectangleXmark;\nvar faPaperPlane = {\n prefix: 'far',\n iconName: 'paper-plane',\n icon: [512, 512, [61913], \"f1d8\", \"M16.1 260.2c-22.6 12.9-20.5 47.3 3.6 57.3L160 376V479.3c0 18.1 14.6 32.7 32.7 32.7c9.7 0 18.9-4.3 25.1-11.8l62-74.3 123.9 51.6c18.9 7.9 40.8-4.5 43.9-24.7l64-416c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448 256zm52.1 25.5L409.7 90.6 190.1 336l1.2 1L68.2 285.7zM403.3 425.4L236.7 355.9 450.8 116.6 403.3 425.4z\"]\n};\nvar faLifeRing = {\n prefix: 'far',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M385.1 419.1C349.7 447.2 304.8 464 256 464s-93.7-16.8-129.1-44.9l80.4-80.4c14.3 8.4 31 13.3 48.8 13.3s34.5-4.8 48.8-13.3l80.4 80.4zm68.1 .2C489.9 374.9 512 318.1 512 256s-22.1-118.9-58.8-163.3L465 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L419.3 58.8C374.9 22.1 318.1 0 256 0S137.1 22.1 92.7 58.8L81 47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L58.8 92.7C22.1 137.1 0 193.9 0 256s22.1 118.9 58.8 163.3L47 431c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l11.8-11.8C137.1 489.9 193.9 512 256 512s118.9-22.1 163.3-58.8L431 465c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-11.8-11.8zm-34.1-34.1l-80.4-80.4c8.4-14.3 13.3-31 13.3-48.8s-4.8-34.5-13.3-48.8l80.4-80.4C447.2 162.3 464 207.2 464 256s-16.8 93.7-44.9 129.1zM385.1 92.9l-80.4 80.4c-14.3-8.4-31-13.3-48.8-13.3s-34.5 4.8-48.8 13.3L126.9 92.9C162.3 64.8 207.2 48 256 48s93.7 16.8 129.1 44.9zM173.3 304.8L92.9 385.1C64.8 349.7 48 304.8 48 256s16.8-93.7 44.9-129.1l80.4 80.4c-8.4 14.3-13.3 31-13.3 48.8s4.8 34.5 13.3 48.8zM208 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faFaceGrimace = {\n prefix: 'far',\n iconName: 'face-grimace',\n icon: [512, 512, [128556, \"grimace\"], \"f57f\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zM512 256A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM168 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h8V320h-8zm40 48h32V320H208v48zm96 0V320H272v48h32zm32 0h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v48zM168 288H344c30.9 0 56 25.1 56 56s-25.1 56-56 56H168c-30.9 0-56-25.1-56-56s25.1-56 56-56zm-23.6-80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrimace = faFaceGrimace;\nvar faCalendarMinus = {\n prefix: 'far',\n iconName: 'calendar-minus',\n icon: [512, 512, [], \"f272\", \"M160 0c13.3 0 24 10.7 24 24V64H328V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V192 144 128c0-35.3 28.7-64 64-64h40V24c0-13.3 10.7-24 24-24zM432 192H80V448c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V192zM328 352H184c-13.3 0-24-10.7-24-24s10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faCircleXmark = {\n prefix: 'far',\n iconName: 'circle-xmark',\n icon: [512, 512, [61532, \"times-circle\", \"xmark-circle\"], \"f057\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faTimesCircle = faCircleXmark;\nvar faXmarkCircle = faCircleXmark;\nvar faThumbsUp = {\n prefix: 'far',\n iconName: 'thumbs-up',\n icon: [512, 512, [128077, 61575], \"f164\", \"M323.8 34.8c-38.2-10.9-78.1 11.2-89 49.4l-5.7 20c-3.7 13-10.4 25-19.5 35l-51.3 56.4c-8.9 9.8-8.2 25 1.6 33.9s25 8.2 33.9-1.6l51.3-56.4c14.1-15.5 24.4-34 30.1-54.1l5.7-20c3.6-12.7 16.9-20.1 29.7-16.5s20.1 16.9 16.5 29.7l-5.7 20c-5.7 19.9-14.7 38.7-26.6 55.5c-5.2 7.3-5.8 16.9-1.7 24.9s12.3 13 21.3 13L448 224c8.8 0 16 7.2 16 16c0 6.8-4.3 12.7-10.4 15c-7.4 2.8-13 9-14.9 16.7s.1 15.8 5.3 21.7c2.5 2.8 4 6.5 4 10.6c0 7.8-5.6 14.3-13 15.7c-8.2 1.6-15.1 7.3-18 15.1s-1.6 16.7 3.6 23.3c2.1 2.7 3.4 6.1 3.4 9.9c0 6.7-4.2 12.6-10.2 14.9c-11.5 4.5-17.7 16.9-14.4 28.8c.4 1.3 .6 2.8 .6 4.3c0 8.8-7.2 16-16 16H286.5c-12.6 0-25-3.7-35.5-10.7l-61.7-41.1c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l61.7 41.1c18.4 12.3 40 18.8 62.1 18.8H384c34.7 0 62.9-27.6 64-62c14.6-11.7 24-29.7 24-50c0-4.5-.5-8.8-1.3-13c15.4-11.7 25.3-30.2 25.3-51c0-6.5-1-12.8-2.8-18.7C504.8 273.7 512 257.7 512 240c0-35.3-28.6-64-64-64l-92.3 0c4.7-10.4 8.7-21.2 11.8-32.2l5.7-20c10.9-38.2-11.2-78.1-49.4-89zM32 192c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H32z\"]\n};\nvar faWindowMinimize = {\n prefix: 'far',\n iconName: 'window-minimize',\n icon: [512, 512, [128469], \"f2d1\", \"M24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faSquareFull = {\n prefix: 'far',\n iconName: 'square-full',\n icon: [512, 512, [128997, 128998, 128999, 129000, 129001, 129002, 129003, 11035, 11036], \"f45c\", \"M464 48V464H48V48H464zM48 0H0V48 464v48H48 464h48V464 48 0H464 48z\"]\n};\nvar faNoteSticky = {\n prefix: 'far',\n iconName: 'note-sticky',\n icon: [448, 512, [62026, \"sticky-note\"], \"f249\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H288V352c0-17.7 14.3-32 32-32h80V96c0-8.8-7.2-16-16-16H64zM288 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V320v5.5c0 17-6.7 33.3-18.7 45.3l-90.5 90.5c-12 12-28.3 18.7-45.3 18.7H288z\"]\n};\nvar faStickyNote = faNoteSticky;\nvar faFaceSadTear = {\n prefix: 'far',\n iconName: 'face-sad-tear',\n icon: [512, 512, [128546, \"sad-tear\"], \"f5b4\", \"M175.9 448c-35-.1-65.5-22.6-76-54.6C67.6 356.8 48 308.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208s-93.1 208-208 208c-28.4 0-55.5-5.7-80.1-16zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM128 369c0 26 21.5 47 48 47s48-21 48-47c0-20-28.4-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0C156.6 308.6 128 349 128 369zm128-65c-13.3 0-24 10.7-24 24s10.7 24 24 24c30.7 0 58.7 11.5 80 30.6c9.9 8.8 25 8 33.9-1.9s8-25-1.9-33.9C338.3 320.2 299 304 256 304zm47.6-96a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faSadTear = faFaceSadTear;\nvar faHandPointLeft = {\n prefix: 'far',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M64 128l177.6 0c-1 5.2-1.6 10.5-1.6 16l0 16-32 0L64 160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm224 16c0-17.7 14.3-32 32-32c0 0 0 0 0 0l24 0c66.3 0 120 53.7 120 120l0 48c0 52.5-33.7 97.1-80.7 113.4c.5-3.1 .7-6.2 .7-9.4c0-20-9.2-37.9-23.6-49.7c4.9-9 7.6-19.4 7.6-30.3c0-15.1-5.3-29-14-40c8.8-11 14-24.9 14-40l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-40 0-40zm32-80s0 0 0 0c-18 0-34.6 6-48 16L64 80C28.7 80 0 108.7 0 144s28.7 64 64 64l82 0c-1.3 5.1-2 10.5-2 16c0 25.3 14.7 47.2 36 57.6c-2.6 7-4 14.5-4 22.4c0 20 9.2 37.9 23.6 49.7c-4.9 9-7.6 19.4-7.6 30.3c0 35.3 28.7 64 64 64l64 0 24 0c92.8 0 168-75.2 168-168l0-48c0-92.8-75.2-168-168-168l-24 0zM256 400c-8.8 0-16-7.2-16-16s7.2-16 16-16l48 0 16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0zM240 224c0 5.5 .7 10.9 2 16l-2 0-32 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l32 0 0 16zm24 64l40 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0-16 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l24 0z\"]\n};\nvar icons = {\n faTrashCan: faTrashCan,\n faTrashAlt: faTrashAlt,\n faMessage: faMessage,\n faCommentAlt: faCommentAlt,\n faFileLines: faFileLines,\n faFileAlt: faFileAlt,\n faFileText: faFileText,\n faCalendarDays: faCalendarDays,\n faCalendarAlt: faCalendarAlt,\n faHandPointRight: faHandPointRight,\n faFaceSmileBeam: faFaceSmileBeam,\n faSmileBeam: faSmileBeam,\n faFaceGrinStars: faFaceGrinStars,\n faGrinStars: faGrinStars,\n faAddressBook: faAddressBook,\n faContactBook: faContactBook,\n faComments: faComments,\n faPaste: faPaste,\n faFileClipboard: faFileClipboard,\n faFaceGrinTongueSquint: faFaceGrinTongueSquint,\n faGrinTongueSquint: faGrinTongueSquint,\n faFaceFlushed: faFaceFlushed,\n faFlushed: faFlushed,\n faSquareCaretRight: faSquareCaretRight,\n faCaretSquareRight: faCaretSquareRight,\n faSquareMinus: faSquareMinus,\n faMinusSquare: faMinusSquare,\n faCompass: faCompass,\n faSquareCaretDown: faSquareCaretDown,\n faCaretSquareDown: faCaretSquareDown,\n faFaceKissBeam: faFaceKissBeam,\n faKissBeam: faKissBeam,\n faLightbulb: faLightbulb,\n faFlag: faFlag,\n faSquareCheck: faSquareCheck,\n faCheckSquare: faCheckSquare,\n faCircleDot: faCircleDot,\n faDotCircle: faDotCircle,\n faFaceDizzy: faFaceDizzy,\n faDizzy: faDizzy,\n faFutbol: faFutbol,\n faFutbolBall: faFutbolBall,\n faSoccerBall: faSoccerBall,\n faPenToSquare: faPenToSquare,\n faEdit: faEdit,\n faHourglassHalf: faHourglassHalf,\n faHourglass2: faHourglass2,\n faEyeSlash: faEyeSlash,\n faHand: faHand,\n faHandPaper: faHandPaper,\n faHandSpock: faHandSpock,\n faFaceKiss: faFaceKiss,\n faKiss: faKiss,\n faFaceGrinTongue: faFaceGrinTongue,\n faGrinTongue: faGrinTongue,\n faChessBishop: faChessBishop,\n faFaceGrinWink: faFaceGrinWink,\n faGrinWink: faGrinWink,\n faFaceGrinWide: faFaceGrinWide,\n faGrinAlt: faGrinAlt,\n faFaceFrownOpen: faFaceFrownOpen,\n faFrownOpen: faFrownOpen,\n faHandPointUp: faHandPointUp,\n faBookmark: faBookmark,\n faHandPointDown: faHandPointDown,\n faFolder: faFolder,\n faFolderBlank: faFolderBlank,\n faUser: faUser,\n faSquareCaretLeft: faSquareCaretLeft,\n faCaretSquareLeft: faCaretSquareLeft,\n faStar: faStar,\n faChessKnight: faChessKnight,\n faFaceLaughSquint: faFaceLaughSquint,\n faLaughSquint: faLaughSquint,\n faFaceLaugh: faFaceLaugh,\n faLaugh: faLaugh,\n faFolderOpen: faFolderOpen,\n faClipboard: faClipboard,\n faChessQueen: faChessQueen,\n faHandBackFist: faHandBackFist,\n faHandRock: faHandRock,\n faSquareCaretUp: faSquareCaretUp,\n faCaretSquareUp: faCaretSquareUp,\n faChartBar: faChartBar,\n faBarChart: faBarChart,\n faWindowRestore: faWindowRestore,\n faSquarePlus: faSquarePlus,\n faPlusSquare: faPlusSquare,\n faImage: faImage,\n faFolderClosed: faFolderClosed,\n faLemon: faLemon,\n faHandshake: faHandshake,\n faGem: faGem,\n faCirclePlay: faCirclePlay,\n faPlayCircle: faPlayCircle,\n faCircleCheck: faCircleCheck,\n faCheckCircle: faCheckCircle,\n faCircleStop: faCircleStop,\n faStopCircle: faStopCircle,\n faIdBadge: faIdBadge,\n faFaceLaughBeam: faFaceLaughBeam,\n faLaughBeam: faLaughBeam,\n faRegistered: faRegistered,\n faAddressCard: faAddressCard,\n faContactCard: faContactCard,\n faVcard: faVcard,\n faFaceTired: faFaceTired,\n faTired: faTired,\n faFontAwesome: faFontAwesome,\n faFontAwesomeFlag: faFontAwesomeFlag,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFaceSmileWink: faFaceSmileWink,\n faSmileWink: faSmileWink,\n faFileWord: faFileWord,\n faFilePowerpoint: faFilePowerpoint,\n faEnvelopeOpen: faEnvelopeOpen,\n faFileZipper: faFileZipper,\n faFileArchive: faFileArchive,\n faSquare: faSquare,\n faSnowflake: faSnowflake,\n faNewspaper: faNewspaper,\n faFaceKissWinkHeart: faFaceKissWinkHeart,\n faKissWinkHeart: faKissWinkHeart,\n faStarHalfStroke: faStarHalfStroke,\n faStarHalfAlt: faStarHalfAlt,\n faFileExcel: faFileExcel,\n faFaceGrinBeam: faFaceGrinBeam,\n faGrinBeam: faGrinBeam,\n faObjectUngroup: faObjectUngroup,\n faCircleRight: faCircleRight,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faFaceRollingEyes: faFaceRollingEyes,\n faMehRollingEyes: faMehRollingEyes,\n faObjectGroup: faObjectGroup,\n faHeart: faHeart,\n faFaceSurprise: faFaceSurprise,\n faSurprise: faSurprise,\n faCirclePause: faCirclePause,\n faPauseCircle: faPauseCircle,\n faCircle: faCircle,\n faCircleUp: faCircleUp,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faFileAudio: faFileAudio,\n faFileImage: faFileImage,\n faCircleQuestion: faCircleQuestion,\n faQuestionCircle: faQuestionCircle,\n faFaceMehBlank: faFaceMehBlank,\n faMehBlank: faMehBlank,\n faEye: faEye,\n faFaceSadCry: faFaceSadCry,\n faSadCry: faSadCry,\n faFileCode: faFileCode,\n faWindowMaximize: faWindowMaximize,\n faFaceFrown: faFaceFrown,\n faFrown: faFrown,\n faFloppyDisk: faFloppyDisk,\n faSave: faSave,\n faCommentDots: faCommentDots,\n faCommenting: faCommenting,\n faFaceGrinSquint: faFaceGrinSquint,\n faGrinSquint: faGrinSquint,\n faHandPointer: faHandPointer,\n faHandScissors: faHandScissors,\n faFaceGrinTears: faFaceGrinTears,\n faGrinTears: faGrinTears,\n faCalendarXmark: faCalendarXmark,\n faCalendarTimes: faCalendarTimes,\n faFileVideo: faFileVideo,\n faFilePdf: faFilePdf,\n faComment: faComment,\n faEnvelope: faEnvelope,\n faHourglass: faHourglass,\n faHourglassEmpty: faHourglassEmpty,\n faCalendarCheck: faCalendarCheck,\n faHardDrive: faHardDrive,\n faHdd: faHdd,\n faFaceGrinSquintTears: faFaceGrinSquintTears,\n faGrinSquintTears: faGrinSquintTears,\n faRectangleList: faRectangleList,\n faListAlt: faListAlt,\n faCalendarPlus: faCalendarPlus,\n faCircleLeft: faCircleLeft,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faMoneyBill1: faMoneyBill1,\n faMoneyBillAlt: faMoneyBillAlt,\n faClock: faClock,\n faClockFour: faClockFour,\n faKeyboard: faKeyboard,\n faClosedCaptioning: faClosedCaptioning,\n faImages: faImages,\n faFaceGrin: faFaceGrin,\n faGrin: faGrin,\n faFaceMeh: faFaceMeh,\n faMeh: faMeh,\n faIdCard: faIdCard,\n faDriversLicense: faDriversLicense,\n faSun: faSun,\n faFaceLaughWink: faFaceLaughWink,\n faLaughWink: faLaughWink,\n faCircleDown: faCircleDown,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faThumbsDown: faThumbsDown,\n faChessPawn: faChessPawn,\n faCreditCard: faCreditCard,\n faCreditCardAlt: faCreditCardAlt,\n faBell: faBell,\n faFile: faFile,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalWide: faHospitalWide,\n faChessRook: faChessRook,\n faStarHalf: faStarHalf,\n faChessKing: faChessKing,\n faCircleUser: faCircleUser,\n faUserCircle: faUserCircle,\n faCopy: faCopy,\n faShareFromSquare: faShareFromSquare,\n faShareSquare: faShareSquare,\n faCopyright: faCopyright,\n faMap: faMap,\n faBellSlash: faBellSlash,\n faHandLizard: faHandLizard,\n faFaceSmile: faFaceSmile,\n faSmile: faSmile,\n faHandPeace: faHandPeace,\n faFaceGrinHearts: faFaceGrinHearts,\n faGrinHearts: faGrinHearts,\n faBuilding: faBuilding,\n faFaceGrinBeamSweat: faFaceGrinBeamSweat,\n faGrinBeamSweat: faGrinBeamSweat,\n faMoon: faMoon,\n faCalendar: faCalendar,\n faFaceGrinTongueWink: faFaceGrinTongueWink,\n faGrinTongueWink: faGrinTongueWink,\n faClone: faClone,\n faFaceAngry: faFaceAngry,\n faAngry: faAngry,\n faRectangleXmark: faRectangleXmark,\n faRectangleTimes: faRectangleTimes,\n faTimesRectangle: faTimesRectangle,\n faWindowClose: faWindowClose,\n faPaperPlane: faPaperPlane,\n faLifeRing: faLifeRing,\n faFaceGrimace: faFaceGrimace,\n faGrimace: faGrimace,\n faCalendarMinus: faCalendarMinus,\n faCircleXmark: faCircleXmark,\n faTimesCircle: faTimesCircle,\n faXmarkCircle: faXmarkCircle,\n faThumbsUp: faThumbsUp,\n faWindowMinimize: faWindowMinimize,\n faSquareFull: faSquareFull,\n faNoteSticky: faNoteSticky,\n faStickyNote: faStickyNote,\n faFaceSadTear: faFaceSadTear,\n faSadTear: faSadTear,\n faHandPointLeft: faHandPointLeft\n};\n\n\n\n\n//# sourceURL=webpack://demo/./node_modules/@fortawesome/free-regular-svg-icons/index.mjs?");
/***/ }),
/***/ "./node_modules/@fortawesome/free-solid-svg-icons/index.mjs":
/*!******************************************************************!*\
!*** ./node_modules/@fortawesome/free-solid-svg-icons/index.mjs ***!
\******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fa0: () => (/* binding */ fa0),\n/* harmony export */ fa1: () => (/* binding */ fa1),\n/* harmony export */ fa2: () => (/* binding */ fa2),\n/* harmony export */ fa3: () => (/* binding */ fa3),\n/* harmony export */ fa4: () => (/* binding */ fa4),\n/* harmony export */ fa5: () => (/* binding */ fa5),\n/* harmony export */ fa6: () => (/* binding */ fa6),\n/* harmony export */ fa7: () => (/* binding */ fa7),\n/* harmony export */ fa8: () => (/* binding */ fa8),\n/* harmony export */ fa9: () => (/* binding */ fa9),\n/* harmony export */ faA: () => (/* binding */ faA),\n/* harmony export */ faAd: () => (/* binding */ faAd),\n/* harmony export */ faAdd: () => (/* binding */ faAdd),\n/* harmony export */ faAddressBook: () => (/* binding */ faAddressBook),\n/* harmony export */ faAddressCard: () => (/* binding */ faAddressCard),\n/* harmony export */ faAdjust: () => (/* binding */ faAdjust),\n/* harmony export */ faAirFreshener: () => (/* binding */ faAirFreshener),\n/* harmony export */ faAlignCenter: () => (/* binding */ faAlignCenter),\n/* harmony export */ faAlignJustify: () => (/* binding */ faAlignJustify),\n/* harmony export */ faAlignLeft: () => (/* binding */ faAlignLeft),\n/* harmony export */ faAlignRight: () => (/* binding */ faAlignRight),\n/* harmony export */ faAllergies: () => (/* binding */ faAllergies),\n/* harmony export */ faAmbulance: () => (/* binding */ faAmbulance),\n/* harmony export */ faAmericanSignLanguageInterpreting: () => (/* binding */ faAmericanSignLanguageInterpreting),\n/* harmony export */ faAnchor: () => (/* binding */ faAnchor),\n/* harmony export */ faAnchorCircleCheck: () => (/* binding */ faAnchorCircleCheck),\n/* harmony export */ faAnchorCircleExclamation: () => (/* binding */ faAnchorCircleExclamation),\n/* harmony export */ faAnchorCircleXmark: () => (/* binding */ faAnchorCircleXmark),\n/* harmony export */ faAnchorLock: () => (/* binding */ faAnchorLock),\n/* harmony export */ faAngleDoubleDown: () => (/* binding */ faAngleDoubleDown),\n/* harmony export */ faAngleDoubleLeft: () => (/* binding */ faAngleDoubleLeft),\n/* harmony export */ faAngleDoubleRight: () => (/* binding */ faAngleDoubleRight),\n/* harmony export */ faAngleDoubleUp: () => (/* binding */ faAngleDoubleUp),\n/* harmony export */ faAngleDown: () => (/* binding */ faAngleDown),\n/* harmony export */ faAngleLeft: () => (/* binding */ faAngleLeft),\n/* harmony export */ faAngleRight: () => (/* binding */ faAngleRight),\n/* harmony export */ faAngleUp: () => (/* binding */ faAngleUp),\n/* harmony export */ faAnglesDown: () => (/* binding */ faAnglesDown),\n/* harmony export */ faAnglesLeft: () => (/* binding */ faAnglesLeft),\n/* harmony export */ faAnglesRight: () => (/* binding */ faAnglesRight),\n/* harmony export */ faAnglesUp: () => (/* binding */ faAnglesUp),\n/* harmony export */ faAngry: () => (/* binding */ faAngry),\n/* harmony export */ faAnkh: () => (/* binding */ faAnkh),\n/* harmony export */ faAppleAlt: () => (/* binding */ faAppleAlt),\n/* harmony export */ faAppleWhole: () => (/* binding */ faAppleWhole),\n/* harmony export */ faArchive: () => (/* binding */ faArchive),\n/* harmony export */ faArchway: () => (/* binding */ faArchway),\n/* harmony export */ faAreaChart: () => (/* binding */ faAreaChart),\n/* harmony export */ faArrowAltCircleDown: () => (/* binding */ faArrowAltCircleDown),\n/* harmony export */ faArrowAltCircleLeft: () => (/* binding */ faArrowAltCircleLeft),\n/* harmony export */ faArrowAltCircleRight: () => (/* binding */ faArrowAltCircleRight),\n/* harmony export */ faArrowAltCircleUp: () => (/* binding */ faArrowAltCircleUp),\n/* harmony export */ faArrowCircleDown: () => (/* binding */ faArrowCircleDown),\n/* harmony export */ faArrowCircleLeft: () => (/* binding */ faArrowCircleLeft),\n/* harmony export */ faArrowCircleRight: () => (/* binding */ faArrowCircleRight),\n/* harmony export */ faArrowCircleUp: () => (/* binding */ faArrowCircleUp),\n/* harmony export */ faArrowDown: () => (/* binding */ faArrowDown),\n/* harmony export */ faArrowDown19: () => (/* binding */ faArrowDown19),\n/* harmony export */ faArrowDown91: () => (/* binding */ faArrowDown91),\n/* harmony export */ faArrowDownAZ: () => (/* binding */ faArrowDownAZ),\n/* harmony export */ faArrowDownLong: () => (/* binding */ faArrowDownLong),\n/* harmony export */ faArrowDownShortWide: () => (/* binding */ faArrowDownShortWide),\n/* harmony export */ faArrowDownUpAcrossLine: () => (/* binding */ faArrowDownUpAcrossLine),\n/* harmony export */ faArrowDownUpLock: () => (/* binding */ faArrowDownUpLock),\n/* harmony export */ faArrowDownWideShort: () => (/* binding */ faArrowDownWideShort),\n/* harmony export */ faArrowDownZA: () => (/* binding */ faArrowDownZA),\n/* harmony export */ faArrowLeft: () => (/* binding */ faArrowLeft),\n/* harmony export */ faArrowLeftLong: () => (/* binding */ faArrowLeftLong),\n/* harmony export */ faArrowLeftRotate: () => (/* binding */ faArrowLeftRotate),\n/* harmony export */ faArrowPointer: () => (/* binding */ faArrowPointer),\n/* harmony export */ faArrowRight: () => (/* binding */ faArrowRight),\n/* harmony export */ faArrowRightArrowLeft: () => (/* binding */ faArrowRightArrowLeft),\n/* harmony export */ faArrowRightFromBracket: () => (/* binding */ faArrowRightFromBracket),\n/* harmony export */ faArrowRightFromFile: () => (/* binding */ faArrowRightFromFile),\n/* harmony export */ faArrowRightLong: () => (/* binding */ faArrowRightLong),\n/* harmony export */ faArrowRightRotate: () => (/* binding */ faArrowRightRotate),\n/* harmony export */ faArrowRightToBracket: () => (/* binding */ faArrowRightToBracket),\n/* harmony export */ faArrowRightToCity: () => (/* binding */ faArrowRightToCity),\n/* harmony export */ faArrowRightToFile: () => (/* binding */ faArrowRightToFile),\n/* harmony export */ faArrowRotateBack: () => (/* binding */ faArrowRotateBack),\n/* harmony export */ faArrowRotateBackward: () => (/* binding */ faArrowRotateBackward),\n/* harmony export */ faArrowRotateForward: () => (/* binding */ faArrowRotateForward),\n/* harmony export */ faArrowRotateLeft: () => (/* binding */ faArrowRotateLeft),\n/* harmony export */ faArrowRotateRight: () => (/* binding */ faArrowRotateRight),\n/* harmony export */ faArrowTrendDown: () => (/* binding */ faArrowTrendDown),\n/* harmony export */ faArrowTrendUp: () => (/* binding */ faArrowTrendUp),\n/* harmony export */ faArrowTurnDown: () => (/* binding */ faArrowTurnDown),\n/* harmony export */ faArrowTurnRight: () => (/* binding */ faArrowTurnRight),\n/* harmony export */ faArrowTurnUp: () => (/* binding */ faArrowTurnUp),\n/* harmony export */ faArrowUp: () => (/* binding */ faArrowUp),\n/* harmony export */ faArrowUp19: () => (/* binding */ faArrowUp19),\n/* harmony export */ faArrowUp91: () => (/* binding */ faArrowUp91),\n/* harmony export */ faArrowUpAZ: () => (/* binding */ faArrowUpAZ),\n/* harmony export */ faArrowUpFromBracket: () => (/* binding */ faArrowUpFromBracket),\n/* harmony export */ faArrowUpFromGroundWater: () => (/* binding */ faArrowUpFromGroundWater),\n/* harmony export */ faArrowUpFromWaterPump: () => (/* binding */ faArrowUpFromWaterPump),\n/* harmony export */ faArrowUpLong: () => (/* binding */ faArrowUpLong),\n/* harmony export */ faArrowUpRightDots: () => (/* binding */ faArrowUpRightDots),\n/* harmony export */ faArrowUpRightFromSquare: () => (/* binding */ faArrowUpRightFromSquare),\n/* harmony export */ faArrowUpShortWide: () => (/* binding */ faArrowUpShortWide),\n/* harmony export */ faArrowUpWideShort: () => (/* binding */ faArrowUpWideShort),\n/* harmony export */ faArrowUpZA: () => (/* binding */ faArrowUpZA),\n/* harmony export */ faArrows: () => (/* binding */ faArrows),\n/* harmony export */ faArrowsAlt: () => (/* binding */ faArrowsAlt),\n/* harmony export */ faArrowsAltH: () => (/* binding */ faArrowsAltH),\n/* harmony export */ faArrowsAltV: () => (/* binding */ faArrowsAltV),\n/* harmony export */ faArrowsDownToLine: () => (/* binding */ faArrowsDownToLine),\n/* harmony export */ faArrowsDownToPeople: () => (/* binding */ faArrowsDownToPeople),\n/* harmony export */ faArrowsH: () => (/* binding */ faArrowsH),\n/* harmony export */ faArrowsLeftRight: () => (/* binding */ faArrowsLeftRight),\n/* harmony export */ faArrowsLeftRightToLine: () => (/* binding */ faArrowsLeftRightToLine),\n/* harmony export */ faArrowsRotate: () => (/* binding */ faArrowsRotate),\n/* harmony export */ faArrowsSpin: () => (/* binding */ faArrowsSpin),\n/* harmony export */ faArrowsSplitUpAndLeft: () => (/* binding */ faArrowsSplitUpAndLeft),\n/* harmony export */ faArrowsToCircle: () => (/* binding */ faArrowsToCircle),\n/* harmony export */ faArrowsToDot: () => (/* binding */ faArrowsToDot),\n/* harmony export */ faArrowsToEye: () => (/* binding */ faArrowsToEye),\n/* harmony export */ faArrowsTurnRight: () => (/* binding */ faArrowsTurnRight),\n/* harmony export */ faArrowsTurnToDots: () => (/* binding */ faArrowsTurnToDots),\n/* harmony export */ faArrowsUpDown: () => (/* binding */ faArrowsUpDown),\n/* harmony export */ faArrowsUpDownLeftRight: () => (/* binding */ faArrowsUpDownLeftRight),\n/* harmony export */ faArrowsUpToLine: () => (/* binding */ faArrowsUpToLine),\n/* harmony export */ faArrowsV: () => (/* binding */ faArrowsV),\n/* harmony export */ faAslInterpreting: () => (/* binding */ faAslInterpreting),\n/* harmony export */ faAssistiveListeningSystems: () => (/* binding */ faAssistiveListeningSystems),\n/* harmony export */ faAsterisk: () => (/* binding */ faAsterisk),\n/* harmony export */ faAt: () => (/* binding */ faAt),\n/* harmony export */ faAtlas: () => (/* binding */ faAtlas),\n/* harmony export */ faAtom: () => (/* binding */ faAtom),\n/* harmony export */ faAudioDescription: () => (/* binding */ faAudioDescription),\n/* harmony export */ faAustralSign: () => (/* binding */ faAustralSign),\n/* harmony export */ faAutomobile: () => (/* binding */ faAutomobile),\n/* harmony export */ faAward: () => (/* binding */ faAward),\n/* harmony export */ faB: () => (/* binding */ faB),\n/* harmony export */ faBaby: () => (/* binding */ faBaby),\n/* harmony export */ faBabyCarriage: () => (/* binding */ faBabyCarriage),\n/* harmony export */ faBackspace: () => (/* binding */ faBackspace),\n/* harmony export */ faBackward: () => (/* binding */ faBackward),\n/* harmony export */ faBackwardFast: () => (/* binding */ faBackwardFast),\n/* harmony export */ faBackwardStep: () => (/* binding */ faBackwardStep),\n/* harmony export */ faBacon: () => (/* binding */ faBacon),\n/* harmony export */ faBacteria: () => (/* binding */ faBacteria),\n/* harmony export */ faBacterium: () => (/* binding */ faBacterium),\n/* harmony export */ faBagShopping: () => (/* binding */ faBagShopping),\n/* harmony export */ faBahai: () => (/* binding */ faBahai),\n/* harmony export */ faBahtSign: () => (/* binding */ faBahtSign),\n/* harmony export */ faBalanceScale: () => (/* binding */ faBalanceScale),\n/* harmony export */ faBalanceScaleLeft: () => (/* binding */ faBalanceScaleLeft),\n/* harmony export */ faBalanceScaleRight: () => (/* binding */ faBalanceScaleRight),\n/* harmony export */ faBan: () => (/* binding */ faBan),\n/* harmony export */ faBanSmoking: () => (/* binding */ faBanSmoking),\n/* harmony export */ faBandAid: () => (/* binding */ faBandAid),\n/* harmony export */ faBandage: () => (/* binding */ faBandage),\n/* harmony export */ faBangladeshiTakaSign: () => (/* binding */ faBangladeshiTakaSign),\n/* harmony export */ faBank: () => (/* binding */ faBank),\n/* harmony export */ faBarChart: () => (/* binding */ faBarChart),\n/* harmony export */ faBarcode: () => (/* binding */ faBarcode),\n/* harmony export */ faBars: () => (/* binding */ faBars),\n/* harmony export */ faBarsProgress: () => (/* binding */ faBarsProgress),\n/* harmony export */ faBarsStaggered: () => (/* binding */ faBarsStaggered),\n/* harmony export */ faBaseball: () => (/* binding */ faBaseball),\n/* harmony export */ faBaseballBall: () => (/* binding */ faBaseballBall),\n/* harmony export */ faBaseballBatBall: () => (/* binding */ faBaseballBatBall),\n/* harmony export */ faBasketShopping: () => (/* binding */ faBasketShopping),\n/* harmony export */ faBasketball: () => (/* binding */ faBasketball),\n/* harmony export */ faBasketballBall: () => (/* binding */ faBasketballBall),\n/* harmony export */ faBath: () => (/* binding */ faBath),\n/* harmony export */ faBathtub: () => (/* binding */ faBathtub),\n/* harmony export */ faBattery: () => (/* binding */ faBattery),\n/* harmony export */ faBattery0: () => (/* binding */ faBattery0),\n/* harmony export */ faBattery2: () => (/* binding */ faBattery2),\n/* harmony export */ faBattery3: () => (/* binding */ faBattery3),\n/* harmony export */ faBattery4: () => (/* binding */ faBattery4),\n/* harmony export */ faBattery5: () => (/* binding */ faBattery5),\n/* harmony export */ faBatteryCar: () => (/* binding */ faBatteryCar),\n/* harmony export */ faBatteryEmpty: () => (/* binding */ faBatteryEmpty),\n/* harmony export */ faBatteryFull: () => (/* binding */ faBatteryFull),\n/* harmony export */ faBatteryHalf: () => (/* binding */ faBatteryHalf),\n/* harmony export */ faBatteryQuarter: () => (/* binding */ faBatteryQuarter),\n/* harmony export */ faBatteryThreeQuarters: () => (/* binding */ faBatteryThreeQuarters),\n/* harmony export */ faBed: () => (/* binding */ faBed),\n/* harmony export */ faBedPulse: () => (/* binding */ faBedPulse),\n/* harmony export */ faBeer: () => (/* binding */ faBeer),\n/* harmony export */ faBeerMugEmpty: () => (/* binding */ faBeerMugEmpty),\n/* harmony export */ faBell: () => (/* binding */ faBell),\n/* harmony export */ faBellConcierge: () => (/* binding */ faBellConcierge),\n/* harmony export */ faBellSlash: () => (/* binding */ faBellSlash),\n/* harmony export */ faBezierCurve: () => (/* binding */ faBezierCurve),\n/* harmony export */ faBible: () => (/* binding */ faBible),\n/* harmony export */ faBicycle: () => (/* binding */ faBicycle),\n/* harmony export */ faBiking: () => (/* binding */ faBiking),\n/* harmony export */ faBinoculars: () => (/* binding */ faBinoculars),\n/* harmony export */ faBiohazard: () => (/* binding */ faBiohazard),\n/* harmony export */ faBirthdayCake: () => (/* binding */ faBirthdayCake),\n/* harmony export */ faBitcoinSign: () => (/* binding */ faBitcoinSign),\n/* harmony export */ faBlackboard: () => (/* binding */ faBlackboard),\n/* harmony export */ faBlender: () => (/* binding */ faBlender),\n/* harmony export */ faBlenderPhone: () => (/* binding */ faBlenderPhone),\n/* harmony export */ faBlind: () => (/* binding */ faBlind),\n/* harmony export */ faBlog: () => (/* binding */ faBlog),\n/* harmony export */ faBold: () => (/* binding */ faBold),\n/* harmony export */ faBolt: () => (/* binding */ faBolt),\n/* harmony export */ faBoltLightning: () => (/* binding */ faBoltLightning),\n/* harmony export */ faBomb: () => (/* binding */ faBomb),\n/* harmony export */ faBone: () => (/* binding */ faBone),\n/* harmony export */ faBong: () => (/* binding */ faBong),\n/* harmony export */ faBook: () => (/* binding */ faBook),\n/* harmony export */ faBookAtlas: () => (/* binding */ faBookAtlas),\n/* harmony export */ faBookBible: () => (/* binding */ faBookBible),\n/* harmony export */ faBookBookmark: () => (/* binding */ faBookBookmark),\n/* harmony export */ faBookDead: () => (/* binding */ faBookDead),\n/* harmony export */ faBookJournalWhills: () => (/* binding */ faBookJournalWhills),\n/* harmony export */ faBookMedical: () => (/* binding */ faBookMedical),\n/* harmony export */ faBookOpen: () => (/* binding */ faBookOpen),\n/* harmony export */ faBookOpenReader: () => (/* binding */ faBookOpenReader),\n/* harmony export */ faBookQuran: () => (/* binding */ faBookQuran),\n/* harmony export */ faBookReader: () => (/* binding */ faBookReader),\n/* harmony export */ faBookSkull: () => (/* binding */ faBookSkull),\n/* harmony export */ faBookTanakh: () => (/* binding */ faBookTanakh),\n/* harmony export */ faBookmark: () => (/* binding */ faBookmark),\n/* harmony export */ faBorderAll: () => (/* binding */ faBorderAll),\n/* harmony export */ faBorderNone: () => (/* binding */ faBorderNone),\n/* harmony export */ faBorderStyle: () => (/* binding */ faBorderStyle),\n/* harmony export */ faBorderTopLeft: () => (/* binding */ faBorderTopLeft),\n/* harmony export */ faBoreHole: () => (/* binding */ faBoreHole),\n/* harmony export */ faBottleDroplet: () => (/* binding */ faBottleDroplet),\n/* harmony export */ faBottleWater: () => (/* binding */ faBottleWater),\n/* harmony export */ faBowlFood: () => (/* binding */ faBowlFood),\n/* harmony export */ faBowlRice: () => (/* binding */ faBowlRice),\n/* harmony export */ faBowlingBall: () => (/* binding */ faBowlingBall),\n/* harmony export */ faBox: () => (/* binding */ faBox),\n/* harmony export */ faBoxArchive: () => (/* binding */ faBoxArchive),\n/* harmony export */ faBoxOpen: () => (/* binding */ faBoxOpen),\n/* harmony export */ faBoxTissue: () => (/* binding */ faBoxTissue),\n/* harmony export */ faBoxes: () => (/* binding */ faBoxes),\n/* harmony export */ faBoxesAlt: () => (/* binding */ faBoxesAlt),\n/* harmony export */ faBoxesPacking: () => (/* binding */ faBoxesPacking),\n/* harmony export */ faBoxesStacked: () => (/* binding */ faBoxesStacked),\n/* harmony export */ faBraille: () => (/* binding */ faBraille),\n/* harmony export */ faBrain: () => (/* binding */ faBrain),\n/* harmony export */ faBrazilianRealSign: () => (/* binding */ faBrazilianRealSign),\n/* harmony export */ faBreadSlice: () => (/* binding */ faBreadSlice),\n/* harmony export */ faBridge: () => (/* binding */ faBridge),\n/* harmony export */ faBridgeCircleCheck: () => (/* binding */ faBridgeCircleCheck),\n/* harmony export */ faBridgeCircleExclamation: () => (/* binding */ faBridgeCircleExclamation),\n/* harmony export */ faBridgeCircleXmark: () => (/* binding */ faBridgeCircleXmark),\n/* harmony export */ faBridgeLock: () => (/* binding */ faBridgeLock),\n/* harmony export */ faBridgeWater: () => (/* binding */ faBridgeWater),\n/* harmony export */ faBriefcase: () => (/* binding */ faBriefcase),\n/* harmony export */ faBriefcaseClock: () => (/* binding */ faBriefcaseClock),\n/* harmony export */ faBriefcaseMedical: () => (/* binding */ faBriefcaseMedical),\n/* harmony export */ faBroadcastTower: () => (/* binding */ faBroadcastTower),\n/* harmony export */ faBroom: () => (/* binding */ faBroom),\n/* harmony export */ faBroomBall: () => (/* binding */ faBroomBall),\n/* harmony export */ faBrush: () => (/* binding */ faBrush),\n/* harmony export */ faBucket: () => (/* binding */ faBucket),\n/* harmony export */ faBug: () => (/* binding */ faBug),\n/* harmony export */ faBugSlash: () => (/* binding */ faBugSlash),\n/* harmony export */ faBugs: () => (/* binding */ faBugs),\n/* harmony export */ faBuilding: () => (/* binding */ faBuilding),\n/* harmony export */ faBuildingCircleArrowRight: () => (/* binding */ faBuildingCircleArrowRight),\n/* harmony export */ faBuildingCircleCheck: () => (/* binding */ faBuildingCircleCheck),\n/* harmony export */ faBuildingCircleExclamation: () => (/* binding */ faBuildingCircleExclamation),\n/* harmony export */ faBuildingCircleXmark: () => (/* binding */ faBuildingCircleXmark),\n/* harmony export */ faBuildingColumns: () => (/* binding */ faBuildingColumns),\n/* harmony export */ faBuildingFlag: () => (/* binding */ faBuildingFlag),\n/* harmony export */ faBuildingLock: () => (/* binding */ faBuildingLock),\n/* harmony export */ faBuildingNgo: () => (/* binding */ faBuildingNgo),\n/* harmony export */ faBuildingShield: () => (/* binding */ faBuildingShield),\n/* harmony export */ faBuildingUn: () => (/* binding */ faBuildingUn),\n/* harmony export */ faBuildingUser: () => (/* binding */ faBuildingUser),\n/* harmony export */ faBuildingWheat: () => (/* binding */ faBuildingWheat),\n/* harmony export */ faBullhorn: () => (/* binding */ faBullhorn),\n/* harmony export */ faBullseye: () => (/* binding */ faBullseye),\n/* harmony export */ faBurger: () => (/* binding */ faBurger),\n/* harmony export */ faBurn: () => (/* binding */ faBurn),\n/* harmony export */ faBurst: () => (/* binding */ faBurst),\n/* harmony export */ faBus: () => (/* binding */ faBus),\n/* harmony export */ faBusAlt: () => (/* binding */ faBusAlt),\n/* harmony export */ faBusSimple: () => (/* binding */ faBusSimple),\n/* harmony export */ faBusinessTime: () => (/* binding */ faBusinessTime),\n/* harmony export */ faC: () => (/* binding */ faC),\n/* harmony export */ faCab: () => (/* binding */ faCab),\n/* harmony export */ faCableCar: () => (/* binding */ faCableCar),\n/* harmony export */ faCake: () => (/* binding */ faCake),\n/* harmony export */ faCakeCandles: () => (/* binding */ faCakeCandles),\n/* harmony export */ faCalculator: () => (/* binding */ faCalculator),\n/* harmony export */ faCalendar: () => (/* binding */ faCalendar),\n/* harmony export */ faCalendarAlt: () => (/* binding */ faCalendarAlt),\n/* harmony export */ faCalendarCheck: () => (/* binding */ faCalendarCheck),\n/* harmony export */ faCalendarDay: () => (/* binding */ faCalendarDay),\n/* harmony export */ faCalendarDays: () => (/* binding */ faCalendarDays),\n/* harmony export */ faCalendarMinus: () => (/* binding */ faCalendarMinus),\n/* harmony export */ faCalendarPlus: () => (/* binding */ faCalendarPlus),\n/* harmony export */ faCalendarTimes: () => (/* binding */ faCalendarTimes),\n/* harmony export */ faCalendarWeek: () => (/* binding */ faCalendarWeek),\n/* harmony export */ faCalendarXmark: () => (/* binding */ faCalendarXmark),\n/* harmony export */ faCamera: () => (/* binding */ faCamera),\n/* harmony export */ faCameraAlt: () => (/* binding */ faCameraAlt),\n/* harmony export */ faCameraRetro: () => (/* binding */ faCameraRetro),\n/* harmony export */ faCameraRotate: () => (/* binding */ faCameraRotate),\n/* harmony export */ faCampground: () => (/* binding */ faCampground),\n/* harmony export */ faCancel: () => (/* binding */ faCancel),\n/* harmony export */ faCandyCane: () => (/* binding */ faCandyCane),\n/* harmony export */ faCannabis: () => (/* binding */ faCannabis),\n/* harmony export */ faCapsules: () => (/* binding */ faCapsules),\n/* harmony export */ faCar: () => (/* binding */ faCar),\n/* harmony export */ faCarAlt: () => (/* binding */ faCarAlt),\n/* harmony export */ faCarBattery: () => (/* binding */ faCarBattery),\n/* harmony export */ faCarBurst: () => (/* binding */ faCarBurst),\n/* harmony export */ faCarCrash: () => (/* binding */ faCarCrash),\n/* harmony export */ faCarOn: () => (/* binding */ faCarOn),\n/* harmony export */ faCarRear: () => (/* binding */ faCarRear),\n/* harmony export */ faCarSide: () => (/* binding */ faCarSide),\n/* harmony export */ faCarTunnel: () => (/* binding */ faCarTunnel),\n/* harmony export */ faCaravan: () => (/* binding */ faCaravan),\n/* harmony export */ faCaretDown: () => (/* binding */ faCaretDown),\n/* harmony export */ faCaretLeft: () => (/* binding */ faCaretLeft),\n/* harmony export */ faCaretRight: () => (/* binding */ faCaretRight),\n/* harmony export */ faCaretSquareDown: () => (/* binding */ faCaretSquareDown),\n/* harmony export */ faCaretSquareLeft: () => (/* binding */ faCaretSquareLeft),\n/* harmony export */ faCaretSquareRight: () => (/* binding */ faCaretSquareRight),\n/* harmony export */ faCaretSquareUp: () => (/* binding */ faCaretSquareUp),\n/* harmony export */ faCaretUp: () => (/* binding */ faCaretUp),\n/* harmony export */ faCarriageBaby: () => (/* binding */ faCarriageBaby),\n/* harmony export */ faCarrot: () => (/* binding */ faCarrot),\n/* harmony export */ faCartArrowDown: () => (/* binding */ faCartArrowDown),\n/* harmony export */ faCartFlatbed: () => (/* binding */ faCartFlatbed),\n/* harmony export */ faCartFlatbedSuitcase: () => (/* binding */ faCartFlatbedSuitcase),\n/* harmony export */ faCartPlus: () => (/* binding */ faCartPlus),\n/* harmony export */ faCartShopping: () => (/* binding */ faCartShopping),\n/* harmony export */ faCashRegister: () => (/* binding */ faCashRegister),\n/* harmony export */ faCat: () => (/* binding */ faCat),\n/* harmony export */ faCediSign: () => (/* binding */ faCediSign),\n/* harmony export */ faCentSign: () => (/* binding */ faCentSign),\n/* harmony export */ faCertificate: () => (/* binding */ faCertificate),\n/* harmony export */ faChain: () => (/* binding */ faChain),\n/* harmony export */ faChainBroken: () => (/* binding */ faChainBroken),\n/* harmony export */ faChainSlash: () => (/* binding */ faChainSlash),\n/* harmony export */ faChair: () => (/* binding */ faChair),\n/* harmony export */ faChalkboard: () => (/* binding */ faChalkboard),\n/* harmony export */ faChalkboardTeacher: () => (/* binding */ faChalkboardTeacher),\n/* harmony export */ faChalkboardUser: () => (/* binding */ faChalkboardUser),\n/* harmony export */ faChampagneGlasses: () => (/* binding */ faChampagneGlasses),\n/* harmony export */ faChargingStation: () => (/* binding */ faChargingStation),\n/* harmony export */ faChartArea: () => (/* binding */ faChartArea),\n/* harmony export */ faChartBar: () => (/* binding */ faChartBar),\n/* harmony export */ faChartColumn: () => (/* binding */ faChartColumn),\n/* harmony export */ faChartGantt: () => (/* binding */ faChartGantt),\n/* harmony export */ faChartLine: () => (/* binding */ faChartLine),\n/* harmony export */ faChartPie: () => (/* binding */ faChartPie),\n/* harmony export */ faChartSimple: () => (/* binding */ faChartSimple),\n/* harmony export */ faCheck: () => (/* binding */ faCheck),\n/* harmony export */ faCheckCircle: () => (/* binding */ faCheckCircle),\n/* harmony export */ faCheckDouble: () => (/* binding */ faCheckDouble),\n/* harmony export */ faCheckSquare: () => (/* binding */ faCheckSquare),\n/* harmony export */ faCheckToSlot: () => (/* binding */ faCheckToSlot),\n/* harmony export */ faCheese: () => (/* binding */ faCheese),\n/* harmony export */ faChess: () => (/* binding */ faChess),\n/* harmony export */ faChessBishop: () => (/* binding */ faChessBishop),\n/* harmony export */ faChessBoard: () => (/* binding */ faChessBoard),\n/* harmony export */ faChessKing: () => (/* binding */ faChessKing),\n/* harmony export */ faChessKnight: () => (/* binding */ faChessKnight),\n/* harmony export */ faChessPawn: () => (/* binding */ faChessPawn),\n/* harmony export */ faChessQueen: () => (/* binding */ faChessQueen),\n/* harmony export */ faChessRook: () => (/* binding */ faChessRook),\n/* harmony export */ faChevronCircleDown: () => (/* binding */ faChevronCircleDown),\n/* harmony export */ faChevronCircleLeft: () => (/* binding */ faChevronCircleLeft),\n/* harmony export */ faChevronCircleRight: () => (/* binding */ faChevronCircleRight),\n/* harmony export */ faChevronCircleUp: () => (/* binding */ faChevronCircleUp),\n/* harmony export */ faChevronDown: () => (/* binding */ faChevronDown),\n/* harmony export */ faChevronLeft: () => (/* binding */ faChevronLeft),\n/* harmony export */ faChevronRight: () => (/* binding */ faChevronRight),\n/* harmony export */ faChevronUp: () => (/* binding */ faChevronUp),\n/* harmony export */ faChild: () => (/* binding */ faChild),\n/* harmony export */ faChildCombatant: () => (/* binding */ faChildCombatant),\n/* harmony export */ faChildDress: () => (/* binding */ faChildDress),\n/* harmony export */ faChildReaching: () => (/* binding */ faChildReaching),\n/* harmony export */ faChildRifle: () => (/* binding */ faChildRifle),\n/* harmony export */ faChildren: () => (/* binding */ faChildren),\n/* harmony export */ faChurch: () => (/* binding */ faChurch),\n/* harmony export */ faCircle: () => (/* binding */ faCircle),\n/* harmony export */ faCircleArrowDown: () => (/* binding */ faCircleArrowDown),\n/* harmony export */ faCircleArrowLeft: () => (/* binding */ faCircleArrowLeft),\n/* harmony export */ faCircleArrowRight: () => (/* binding */ faCircleArrowRight),\n/* harmony export */ faCircleArrowUp: () => (/* binding */ faCircleArrowUp),\n/* harmony export */ faCircleCheck: () => (/* binding */ faCircleCheck),\n/* harmony export */ faCircleChevronDown: () => (/* binding */ faCircleChevronDown),\n/* harmony export */ faCircleChevronLeft: () => (/* binding */ faCircleChevronLeft),\n/* harmony export */ faCircleChevronRight: () => (/* binding */ faCircleChevronRight),\n/* harmony export */ faCircleChevronUp: () => (/* binding */ faCircleChevronUp),\n/* harmony export */ faCircleDollarToSlot: () => (/* binding */ faCircleDollarToSlot),\n/* harmony export */ faCircleDot: () => (/* binding */ faCircleDot),\n/* harmony export */ faCircleDown: () => (/* binding */ faCircleDown),\n/* harmony export */ faCircleExclamation: () => (/* binding */ faCircleExclamation),\n/* harmony export */ faCircleH: () => (/* binding */ faCircleH),\n/* harmony export */ faCircleHalfStroke: () => (/* binding */ faCircleHalfStroke),\n/* harmony export */ faCircleInfo: () => (/* binding */ faCircleInfo),\n/* harmony export */ faCircleLeft: () => (/* binding */ faCircleLeft),\n/* harmony export */ faCircleMinus: () => (/* binding */ faCircleMinus),\n/* harmony export */ faCircleNodes: () => (/* binding */ faCircleNodes),\n/* harmony export */ faCircleNotch: () => (/* binding */ faCircleNotch),\n/* harmony export */ faCirclePause: () => (/* binding */ faCirclePause),\n/* harmony export */ faCirclePlay: () => (/* binding */ faCirclePlay),\n/* harmony export */ faCirclePlus: () => (/* binding */ faCirclePlus),\n/* harmony export */ faCircleQuestion: () => (/* binding */ faCircleQuestion),\n/* harmony export */ faCircleRadiation: () => (/* binding */ faCircleRadiation),\n/* harmony export */ faCircleRight: () => (/* binding */ faCircleRight),\n/* harmony export */ faCircleStop: () => (/* binding */ faCircleStop),\n/* harmony export */ faCircleUp: () => (/* binding */ faCircleUp),\n/* harmony export */ faCircleUser: () => (/* binding */ faCircleUser),\n/* harmony export */ faCircleXmark: () => (/* binding */ faCircleXmark),\n/* harmony export */ faCity: () => (/* binding */ faCity),\n/* harmony export */ faClapperboard: () => (/* binding */ faClapperboard),\n/* harmony export */ faClinicMedical: () => (/* binding */ faClinicMedical),\n/* harmony export */ faClipboard: () => (/* binding */ faClipboard),\n/* harmony export */ faClipboardCheck: () => (/* binding */ faClipboardCheck),\n/* harmony export */ faClipboardList: () => (/* binding */ faClipboardList),\n/* harmony export */ faClipboardQuestion: () => (/* binding */ faClipboardQuestion),\n/* harmony export */ faClipboardUser: () => (/* binding */ faClipboardUser),\n/* harmony export */ faClock: () => (/* binding */ faClock),\n/* harmony export */ faClockFour: () => (/* binding */ faClockFour),\n/* harmony export */ faClockRotateLeft: () => (/* binding */ faClockRotateLeft),\n/* harmony export */ faClone: () => (/* binding */ faClone),\n/* harmony export */ faClose: () => (/* binding */ faClose),\n/* harmony export */ faClosedCaptioning: () => (/* binding */ faClosedCaptioning),\n/* harmony export */ faCloud: () => (/* binding */ faCloud),\n/* harmony export */ faCloudArrowDown: () => (/* binding */ faCloudArrowDown),\n/* harmony export */ faCloudArrowUp: () => (/* binding */ faCloudArrowUp),\n/* harmony export */ faCloudBolt: () => (/* binding */ faCloudBolt),\n/* harmony export */ faCloudDownload: () => (/* binding */ faCloudDownload),\n/* harmony export */ faCloudDownloadAlt: () => (/* binding */ faCloudDownloadAlt),\n/* harmony export */ faCloudMeatball: () => (/* binding */ faCloudMeatball),\n/* harmony export */ faCloudMoon: () => (/* binding */ faCloudMoon),\n/* harmony export */ faCloudMoonRain: () => (/* binding */ faCloudMoonRain),\n/* harmony export */ faCloudRain: () => (/* binding */ faCloudRain),\n/* harmony export */ faCloudShowersHeavy: () => (/* binding */ faCloudShowersHeavy),\n/* harmony export */ faCloudShowersWater: () => (/* binding */ faCloudShowersWater),\n/* harmony export */ faCloudSun: () => (/* binding */ faCloudSun),\n/* harmony export */ faCloudSunRain: () => (/* binding */ faCloudSunRain),\n/* harmony export */ faCloudUpload: () => (/* binding */ faCloudUpload),\n/* harmony export */ faCloudUploadAlt: () => (/* binding */ faCloudUploadAlt),\n/* harmony export */ faClover: () => (/* binding */ faClover),\n/* harmony export */ faCny: () => (/* binding */ faCny),\n/* harmony export */ faCocktail: () => (/* binding */ faCocktail),\n/* harmony export */ faCode: () => (/* binding */ faCode),\n/* harmony export */ faCodeBranch: () => (/* binding */ faCodeBranch),\n/* harmony export */ faCodeCommit: () => (/* binding */ faCodeCommit),\n/* harmony export */ faCodeCompare: () => (/* binding */ faCodeCompare),\n/* harmony export */ faCodeFork: () => (/* binding */ faCodeFork),\n/* harmony export */ faCodeMerge: () => (/* binding */ faCodeMerge),\n/* harmony export */ faCodePullRequest: () => (/* binding */ faCodePullRequest),\n/* harmony export */ faCoffee: () => (/* binding */ faCoffee),\n/* harmony export */ faCog: () => (/* binding */ faCog),\n/* harmony export */ faCogs: () => (/* binding */ faCogs),\n/* harmony export */ faCoins: () => (/* binding */ faCoins),\n/* harmony export */ faColonSign: () => (/* binding */ faColonSign),\n/* harmony export */ faColumns: () => (/* binding */ faColumns),\n/* harmony export */ faComment: () => (/* binding */ faComment),\n/* harmony export */ faCommentAlt: () => (/* binding */ faCommentAlt),\n/* harmony export */ faCommentDollar: () => (/* binding */ faCommentDollar),\n/* harmony export */ faCommentDots: () => (/* binding */ faCommentDots),\n/* harmony export */ faCommentMedical: () => (/* binding */ faCommentMedical),\n/* harmony export */ faCommentSlash: () => (/* binding */ faCommentSlash),\n/* harmony export */ faCommentSms: () => (/* binding */ faCommentSms),\n/* harmony export */ faCommenting: () => (/* binding */ faCommenting),\n/* harmony export */ faComments: () => (/* binding */ faComments),\n/* harmony export */ faCommentsDollar: () => (/* binding */ faCommentsDollar),\n/* harmony export */ faCompactDisc: () => (/* binding */ faCompactDisc),\n/* harmony export */ faCompass: () => (/* binding */ faCompass),\n/* harmony export */ faCompassDrafting: () => (/* binding */ faCompassDrafting),\n/* harmony export */ faCompress: () => (/* binding */ faCompress),\n/* harmony export */ faCompressAlt: () => (/* binding */ faCompressAlt),\n/* harmony export */ faCompressArrowsAlt: () => (/* binding */ faCompressArrowsAlt),\n/* harmony export */ faComputer: () => (/* binding */ faComputer),\n/* harmony export */ faComputerMouse: () => (/* binding */ faComputerMouse),\n/* harmony export */ faConciergeBell: () => (/* binding */ faConciergeBell),\n/* harmony export */ faContactBook: () => (/* binding */ faContactBook),\n/* harmony export */ faContactCard: () => (/* binding */ faContactCard),\n/* harmony export */ faCookie: () => (/* binding */ faCookie),\n/* harmony export */ faCookieBite: () => (/* binding */ faCookieBite),\n/* harmony export */ faCopy: () => (/* binding */ faCopy),\n/* harmony export */ faCopyright: () => (/* binding */ faCopyright),\n/* harmony export */ faCouch: () => (/* binding */ faCouch),\n/* harmony export */ faCow: () => (/* binding */ faCow),\n/* harmony export */ faCreditCard: () => (/* binding */ faCreditCard),\n/* harmony export */ faCreditCardAlt: () => (/* binding */ faCreditCardAlt),\n/* harmony export */ faCrop: () => (/* binding */ faCrop),\n/* harmony export */ faCropAlt: () => (/* binding */ faCropAlt),\n/* harmony export */ faCropSimple: () => (/* binding */ faCropSimple),\n/* harmony export */ faCross: () => (/* binding */ faCross),\n/* harmony export */ faCrosshairs: () => (/* binding */ faCrosshairs),\n/* harmony export */ faCrow: () => (/* binding */ faCrow),\n/* harmony export */ faCrown: () => (/* binding */ faCrown),\n/* harmony export */ faCrutch: () => (/* binding */ faCrutch),\n/* harmony export */ faCruzeiroSign: () => (/* binding */ faCruzeiroSign),\n/* harmony export */ faCube: () => (/* binding */ faCube),\n/* harmony export */ faCubes: () => (/* binding */ faCubes),\n/* harmony export */ faCubesStacked: () => (/* binding */ faCubesStacked),\n/* harmony export */ faCut: () => (/* binding */ faCut),\n/* harmony export */ faCutlery: () => (/* binding */ faCutlery),\n/* harmony export */ faD: () => (/* binding */ faD),\n/* harmony export */ faDashboard: () => (/* binding */ faDashboard),\n/* harmony export */ faDatabase: () => (/* binding */ faDatabase),\n/* harmony export */ faDeaf: () => (/* binding */ faDeaf),\n/* harmony export */ faDeafness: () => (/* binding */ faDeafness),\n/* harmony export */ faDedent: () => (/* binding */ faDedent),\n/* harmony export */ faDeleteLeft: () => (/* binding */ faDeleteLeft),\n/* harmony export */ faDemocrat: () => (/* binding */ faDemocrat),\n/* harmony export */ faDesktop: () => (/* binding */ faDesktop),\n/* harmony export */ faDesktopAlt: () => (/* binding */ faDesktopAlt),\n/* harmony export */ faDharmachakra: () => (/* binding */ faDharmachakra),\n/* harmony export */ faDiagnoses: () => (/* binding */ faDiagnoses),\n/* harmony export */ faDiagramNext: () => (/* binding */ faDiagramNext),\n/* harmony export */ faDiagramPredecessor: () => (/* binding */ faDiagramPredecessor),\n/* harmony export */ faDiagramProject: () => (/* binding */ faDiagramProject),\n/* harmony export */ faDiagramSuccessor: () => (/* binding */ faDiagramSuccessor),\n/* harmony export */ faDiamond: () => (/* binding */ faDiamond),\n/* harmony export */ faDiamondTurnRight: () => (/* binding */ faDiamondTurnRight),\n/* harmony export */ faDice: () => (/* binding */ faDice),\n/* harmony export */ faDiceD20: () => (/* binding */ faDiceD20),\n/* harmony export */ faDiceD6: () => (/* binding */ faDiceD6),\n/* harmony export */ faDiceFive: () => (/* binding */ faDiceFive),\n/* harmony export */ faDiceFour: () => (/* binding */ faDiceFour),\n/* harmony export */ faDiceOne: () => (/* binding */ faDiceOne),\n/* harmony export */ faDiceSix: () => (/* binding */ faDiceSix),\n/* harmony export */ faDiceThree: () => (/* binding */ faDiceThree),\n/* harmony export */ faDiceTwo: () => (/* binding */ faDiceTwo),\n/* harmony export */ faDigging: () => (/* binding */ faDigging),\n/* harmony export */ faDigitalTachograph: () => (/* binding */ faDigitalTachograph),\n/* harmony export */ faDirections: () => (/* binding */ faDirections),\n/* harmony export */ faDisease: () => (/* binding */ faDisease),\n/* harmony export */ faDisplay: () => (/* binding */ faDisplay),\n/* harmony export */ faDivide: () => (/* binding */ faDivide),\n/* harmony export */ faDizzy: () => (/* binding */ faDizzy),\n/* harmony export */ faDna: () => (/* binding */ faDna),\n/* harmony export */ faDog: () => (/* binding */ faDog),\n/* harmony export */ faDollar: () => (/* binding */ faDollar),\n/* harmony export */ faDollarSign: () => (/* binding */ faDollarSign),\n/* harmony export */ faDolly: () => (/* binding */ faDolly),\n/* harmony export */ faDollyBox: () => (/* binding */ faDollyBox),\n/* harmony export */ faDollyFlatbed: () => (/* binding */ faDollyFlatbed),\n/* harmony export */ faDonate: () => (/* binding */ faDonate),\n/* harmony export */ faDongSign: () => (/* binding */ faDongSign),\n/* harmony export */ faDoorClosed: () => (/* binding */ faDoorClosed),\n/* harmony export */ faDoorOpen: () => (/* binding */ faDoorOpen),\n/* harmony export */ faDotCircle: () => (/* binding */ faDotCircle),\n/* harmony export */ faDove: () => (/* binding */ faDove),\n/* harmony export */ faDownLeftAndUpRightToCenter: () => (/* binding */ faDownLeftAndUpRightToCenter),\n/* harmony export */ faDownLong: () => (/* binding */ faDownLong),\n/* harmony export */ faDownload: () => (/* binding */ faDownload),\n/* harmony export */ faDraftingCompass: () => (/* binding */ faDraftingCompass),\n/* harmony export */ faDragon: () => (/* binding */ faDragon),\n/* harmony export */ faDrawPolygon: () => (/* binding */ faDrawPolygon),\n/* harmony export */ faDriversLicense: () => (/* binding */ faDriversLicense),\n/* harmony export */ faDroplet: () => (/* binding */ faDroplet),\n/* harmony export */ faDropletSlash: () => (/* binding */ faDropletSlash),\n/* harmony export */ faDrum: () => (/* binding */ faDrum),\n/* harmony export */ faDrumSteelpan: () => (/* binding */ faDrumSteelpan),\n/* harmony export */ faDrumstickBite: () => (/* binding */ faDrumstickBite),\n/* harmony export */ faDumbbell: () => (/* binding */ faDumbbell),\n/* harmony export */ faDumpster: () => (/* binding */ faDumpster),\n/* harmony export */ faDumpsterFire: () => (/* binding */ faDumpsterFire),\n/* harmony export */ faDungeon: () => (/* binding */ faDungeon),\n/* harmony export */ faE: () => (/* binding */ faE),\n/* harmony export */ faEarDeaf: () => (/* binding */ faEarDeaf),\n/* harmony export */ faEarListen: () => (/* binding */ faEarListen),\n/* harmony export */ faEarth: () => (/* binding */ faEarth),\n/* harmony export */ faEarthAfrica: () => (/* binding */ faEarthAfrica),\n/* harmony export */ faEarthAmerica: () => (/* binding */ faEarthAmerica),\n/* harmony export */ faEarthAmericas: () => (/* binding */ faEarthAmericas),\n/* harmony export */ faEarthAsia: () => (/* binding */ faEarthAsia),\n/* harmony export */ faEarthEurope: () => (/* binding */ faEarthEurope),\n/* harmony export */ faEarthOceania: () => (/* binding */ faEarthOceania),\n/* harmony export */ faEdit: () => (/* binding */ faEdit),\n/* harmony export */ faEgg: () => (/* binding */ faEgg),\n/* harmony export */ faEject: () => (/* binding */ faEject),\n/* harmony export */ faElevator: () => (/* binding */ faElevator),\n/* harmony export */ faEllipsis: () => (/* binding */ faEllipsis),\n/* harmony export */ faEllipsisH: () => (/* binding */ faEllipsisH),\n/* harmony export */ faEllipsisV: () => (/* binding */ faEllipsisV),\n/* harmony export */ faEllipsisVertical: () => (/* binding */ faEllipsisVertical),\n/* harmony export */ faEnvelope: () => (/* binding */ faEnvelope),\n/* harmony export */ faEnvelopeCircleCheck: () => (/* binding */ faEnvelopeCircleCheck),\n/* harmony export */ faEnvelopeOpen: () => (/* binding */ faEnvelopeOpen),\n/* harmony export */ faEnvelopeOpenText: () => (/* binding */ faEnvelopeOpenText),\n/* harmony export */ faEnvelopeSquare: () => (/* binding */ faEnvelopeSquare),\n/* harmony export */ faEnvelopesBulk: () => (/* binding */ faEnvelopesBulk),\n/* harmony export */ faEquals: () => (/* binding */ faEquals),\n/* harmony export */ faEraser: () => (/* binding */ faEraser),\n/* harmony export */ faEthernet: () => (/* binding */ faEthernet),\n/* harmony export */ faEur: () => (/* binding */ faEur),\n/* harmony export */ faEuro: () => (/* binding */ faEuro),\n/* harmony export */ faEuroSign: () => (/* binding */ faEuroSign),\n/* harmony export */ faExchange: () => (/* binding */ faExchange),\n/* harmony export */ faExchangeAlt: () => (/* binding */ faExchangeAlt),\n/* harmony export */ faExclamation: () => (/* binding */ faExclamation),\n/* harmony export */ faExclamationCircle: () => (/* binding */ faExclamationCircle),\n/* harmony export */ faExclamationTriangle: () => (/* binding */ faExclamationTriangle),\n/* harmony export */ faExpand: () => (/* binding */ faExpand),\n/* harmony export */ faExpandAlt: () => (/* binding */ faExpandAlt),\n/* harmony export */ faExpandArrowsAlt: () => (/* binding */ faExpandArrowsAlt),\n/* harmony export */ faExplosion: () => (/* binding */ faExplosion),\n/* harmony export */ faExternalLink: () => (/* binding */ faExternalLink),\n/* harmony export */ faExternalLinkAlt: () => (/* binding */ faExternalLinkAlt),\n/* harmony export */ faExternalLinkSquare: () => (/* binding */ faExternalLinkSquare),\n/* harmony export */ faExternalLinkSquareAlt: () => (/* binding */ faExternalLinkSquareAlt),\n/* harmony export */ faEye: () => (/* binding */ faEye),\n/* harmony export */ faEyeDropper: () => (/* binding */ faEyeDropper),\n/* harmony export */ faEyeDropperEmpty: () => (/* binding */ faEyeDropperEmpty),\n/* harmony export */ faEyeLowVision: () => (/* binding */ faEyeLowVision),\n/* harmony export */ faEyeSlash: () => (/* binding */ faEyeSlash),\n/* harmony export */ faEyedropper: () => (/* binding */ faEyedropper),\n/* harmony export */ faF: () => (/* binding */ faF),\n/* harmony export */ faFaceAngry: () => (/* binding */ faFaceAngry),\n/* harmony export */ faFaceDizzy: () => (/* binding */ faFaceDizzy),\n/* harmony export */ faFaceFlushed: () => (/* binding */ faFaceFlushed),\n/* harmony export */ faFaceFrown: () => (/* binding */ faFaceFrown),\n/* harmony export */ faFaceFrownOpen: () => (/* binding */ faFaceFrownOpen),\n/* harmony export */ faFaceGrimace: () => (/* binding */ faFaceGrimace),\n/* harmony export */ faFaceGrin: () => (/* binding */ faFaceGrin),\n/* harmony export */ faFaceGrinBeam: () => (/* binding */ faFaceGrinBeam),\n/* harmony export */ faFaceGrinBeamSweat: () => (/* binding */ faFaceGrinBeamSweat),\n/* harmony export */ faFaceGrinHearts: () => (/* binding */ faFaceGrinHearts),\n/* harmony export */ faFaceGrinSquint: () => (/* binding */ faFaceGrinSquint),\n/* harmony export */ faFaceGrinSquintTears: () => (/* binding */ faFaceGrinSquintTears),\n/* harmony export */ faFaceGrinStars: () => (/* binding */ faFaceGrinStars),\n/* harmony export */ faFaceGrinTears: () => (/* binding */ faFaceGrinTears),\n/* harmony export */ faFaceGrinTongue: () => (/* binding */ faFaceGrinTongue),\n/* harmony export */ faFaceGrinTongueSquint: () => (/* binding */ faFaceGrinTongueSquint),\n/* harmony export */ faFaceGrinTongueWink: () => (/* binding */ faFaceGrinTongueWink),\n/* harmony export */ faFaceGrinWide: () => (/* binding */ faFaceGrinWide),\n/* harmony export */ faFaceGrinWink: () => (/* binding */ faFaceGrinWink),\n/* harmony export */ faFaceKiss: () => (/* binding */ faFaceKiss),\n/* harmony export */ faFaceKissBeam: () => (/* binding */ faFaceKissBeam),\n/* harmony export */ faFaceKissWinkHeart: () => (/* binding */ faFaceKissWinkHeart),\n/* harmony export */ faFaceLaugh: () => (/* binding */ faFaceLaugh),\n/* harmony export */ faFaceLaughBeam: () => (/* binding */ faFaceLaughBeam),\n/* harmony export */ faFaceLaughSquint: () => (/* binding */ faFaceLaughSquint),\n/* harmony export */ faFaceLaughWink: () => (/* binding */ faFaceLaughWink),\n/* harmony export */ faFaceMeh: () => (/* binding */ faFaceMeh),\n/* harmony export */ faFaceMehBlank: () => (/* binding */ faFaceMehBlank),\n/* harmony export */ faFaceRollingEyes: () => (/* binding */ faFaceRollingEyes),\n/* harmony export */ faFaceSadCry: () => (/* binding */ faFaceSadCry),\n/* harmony export */ faFaceSadTear: () => (/* binding */ faFaceSadTear),\n/* harmony export */ faFaceSmile: () => (/* binding */ faFaceSmile),\n/* harmony export */ faFaceSmileBeam: () => (/* binding */ faFaceSmileBeam),\n/* harmony export */ faFaceSmileWink: () => (/* binding */ faFaceSmileWink),\n/* harmony export */ faFaceSurprise: () => (/* binding */ faFaceSurprise),\n/* harmony export */ faFaceTired: () => (/* binding */ faFaceTired),\n/* harmony export */ faFan: () => (/* binding */ faFan),\n/* harmony export */ faFastBackward: () => (/* binding */ faFastBackward),\n/* harmony export */ faFastForward: () => (/* binding */ faFastForward),\n/* harmony export */ faFaucet: () => (/* binding */ faFaucet),\n/* harmony export */ faFaucetDrip: () => (/* binding */ faFaucetDrip),\n/* harmony export */ faFax: () => (/* binding */ faFax),\n/* harmony export */ faFeather: () => (/* binding */ faFeather),\n/* harmony export */ faFeatherAlt: () => (/* binding */ faFeatherAlt),\n/* harmony export */ faFeatherPointed: () => (/* binding */ faFeatherPointed),\n/* harmony export */ faFeed: () => (/* binding */ faFeed),\n/* harmony export */ faFemale: () => (/* binding */ faFemale),\n/* harmony export */ faFerry: () => (/* binding */ faFerry),\n/* harmony export */ faFighterJet: () => (/* binding */ faFighterJet),\n/* harmony export */ faFile: () => (/* binding */ faFile),\n/* harmony export */ faFileAlt: () => (/* binding */ faFileAlt),\n/* harmony export */ faFileArchive: () => (/* binding */ faFileArchive),\n/* harmony export */ faFileArrowDown: () => (/* binding */ faFileArrowDown),\n/* harmony export */ faFileArrowUp: () => (/* binding */ faFileArrowUp),\n/* harmony export */ faFileAudio: () => (/* binding */ faFileAudio),\n/* harmony export */ faFileCircleCheck: () => (/* binding */ faFileCircleCheck),\n/* harmony export */ faFileCircleExclamation: () => (/* binding */ faFileCircleExclamation),\n/* harmony export */ faFileCircleMinus: () => (/* binding */ faFileCircleMinus),\n/* harmony export */ faFileCirclePlus: () => (/* binding */ faFileCirclePlus),\n/* harmony export */ faFileCircleQuestion: () => (/* binding */ faFileCircleQuestion),\n/* harmony export */ faFileCircleXmark: () => (/* binding */ faFileCircleXmark),\n/* harmony export */ faFileClipboard: () => (/* binding */ faFileClipboard),\n/* harmony export */ faFileCode: () => (/* binding */ faFileCode),\n/* harmony export */ faFileContract: () => (/* binding */ faFileContract),\n/* harmony export */ faFileCsv: () => (/* binding */ faFileCsv),\n/* harmony export */ faFileDownload: () => (/* binding */ faFileDownload),\n/* harmony export */ faFileEdit: () => (/* binding */ faFileEdit),\n/* harmony export */ faFileExcel: () => (/* binding */ faFileExcel),\n/* harmony export */ faFileExport: () => (/* binding */ faFileExport),\n/* harmony export */ faFileImage: () => (/* binding */ faFileImage),\n/* harmony export */ faFileImport: () => (/* binding */ faFileImport),\n/* harmony export */ faFileInvoice: () => (/* binding */ faFileInvoice),\n/* harmony export */ faFileInvoiceDollar: () => (/* binding */ faFileInvoiceDollar),\n/* harmony export */ faFileLines: () => (/* binding */ faFileLines),\n/* harmony export */ faFileMedical: () => (/* binding */ faFileMedical),\n/* harmony export */ faFileMedicalAlt: () => (/* binding */ faFileMedicalAlt),\n/* harmony export */ faFilePdf: () => (/* binding */ faFilePdf),\n/* harmony export */ faFilePen: () => (/* binding */ faFilePen),\n/* harmony export */ faFilePowerpoint: () => (/* binding */ faFilePowerpoint),\n/* harmony export */ faFilePrescription: () => (/* binding */ faFilePrescription),\n/* harmony export */ faFileShield: () => (/* binding */ faFileShield),\n/* harmony export */ faFileSignature: () => (/* binding */ faFileSignature),\n/* harmony export */ faFileText: () => (/* binding */ faFileText),\n/* harmony export */ faFileUpload: () => (/* binding */ faFileUpload),\n/* harmony export */ faFileVideo: () => (/* binding */ faFileVideo),\n/* harmony export */ faFileWaveform: () => (/* binding */ faFileWaveform),\n/* harmony export */ faFileWord: () => (/* binding */ faFileWord),\n/* harmony export */ faFileZipper: () => (/* binding */ faFileZipper),\n/* harmony export */ faFill: () => (/* binding */ faFill),\n/* harmony export */ faFillDrip: () => (/* binding */ faFillDrip),\n/* harmony export */ faFilm: () => (/* binding */ faFilm),\n/* harmony export */ faFilter: () => (/* binding */ faFilter),\n/* harmony export */ faFilterCircleDollar: () => (/* binding */ faFilterCircleDollar),\n/* harmony export */ faFilterCircleXmark: () => (/* binding */ faFilterCircleXmark),\n/* harmony export */ faFingerprint: () => (/* binding */ faFingerprint),\n/* harmony export */ faFire: () => (/* binding */ faFire),\n/* harmony export */ faFireAlt: () => (/* binding */ faFireAlt),\n/* harmony export */ faFireBurner: () => (/* binding */ faFireBurner),\n/* harmony export */ faFireExtinguisher: () => (/* binding */ faFireExtinguisher),\n/* harmony export */ faFireFlameCurved: () => (/* binding */ faFireFlameCurved),\n/* harmony export */ faFireFlameSimple: () => (/* binding */ faFireFlameSimple),\n/* harmony export */ faFirstAid: () => (/* binding */ faFirstAid),\n/* harmony export */ faFish: () => (/* binding */ faFish),\n/* harmony export */ faFishFins: () => (/* binding */ faFishFins),\n/* harmony export */ faFistRaised: () => (/* binding */ faFistRaised),\n/* harmony export */ faFlag: () => (/* binding */ faFlag),\n/* harmony export */ faFlagCheckered: () => (/* binding */ faFlagCheckered),\n/* harmony export */ faFlagUsa: () => (/* binding */ faFlagUsa),\n/* harmony export */ faFlask: () => (/* binding */ faFlask),\n/* harmony export */ faFlaskVial: () => (/* binding */ faFlaskVial),\n/* harmony export */ faFloppyDisk: () => (/* binding */ faFloppyDisk),\n/* harmony export */ faFlorinSign: () => (/* binding */ faFlorinSign),\n/* harmony export */ faFlushed: () => (/* binding */ faFlushed),\n/* harmony export */ faFolder: () => (/* binding */ faFolder),\n/* harmony export */ faFolderBlank: () => (/* binding */ faFolderBlank),\n/* harmony export */ faFolderClosed: () => (/* binding */ faFolderClosed),\n/* harmony export */ faFolderMinus: () => (/* binding */ faFolderMinus),\n/* harmony export */ faFolderOpen: () => (/* binding */ faFolderOpen),\n/* harmony export */ faFolderPlus: () => (/* binding */ faFolderPlus),\n/* harmony export */ faFolderTree: () => (/* binding */ faFolderTree),\n/* harmony export */ faFont: () => (/* binding */ faFont),\n/* harmony export */ faFontAwesome: () => (/* binding */ faFontAwesome),\n/* harmony export */ faFontAwesomeFlag: () => (/* binding */ faFontAwesomeFlag),\n/* harmony export */ faFontAwesomeLogoFull: () => (/* binding */ faFontAwesomeLogoFull),\n/* harmony export */ faFootball: () => (/* binding */ faFootball),\n/* harmony export */ faFootballBall: () => (/* binding */ faFootballBall),\n/* harmony export */ faForward: () => (/* binding */ faForward),\n/* harmony export */ faForwardFast: () => (/* binding */ faForwardFast),\n/* harmony export */ faForwardStep: () => (/* binding */ faForwardStep),\n/* harmony export */ faFrancSign: () => (/* binding */ faFrancSign),\n/* harmony export */ faFrog: () => (/* binding */ faFrog),\n/* harmony export */ faFrown: () => (/* binding */ faFrown),\n/* harmony export */ faFrownOpen: () => (/* binding */ faFrownOpen),\n/* harmony export */ faFunnelDollar: () => (/* binding */ faFunnelDollar),\n/* harmony export */ faFutbol: () => (/* binding */ faFutbol),\n/* harmony export */ faFutbolBall: () => (/* binding */ faFutbolBall),\n/* harmony export */ faG: () => (/* binding */ faG),\n/* harmony export */ faGamepad: () => (/* binding */ faGamepad),\n/* harmony export */ faGasPump: () => (/* binding */ faGasPump),\n/* harmony export */ faGauge: () => (/* binding */ faGauge),\n/* harmony export */ faGaugeHigh: () => (/* binding */ faGaugeHigh),\n/* harmony export */ faGaugeMed: () => (/* binding */ faGaugeMed),\n/* harmony export */ faGaugeSimple: () => (/* binding */ faGaugeSimple),\n/* harmony export */ faGaugeSimpleHigh: () => (/* binding */ faGaugeSimpleHigh),\n/* harmony export */ faGaugeSimpleMed: () => (/* binding */ faGaugeSimpleMed),\n/* harmony export */ faGavel: () => (/* binding */ faGavel),\n/* harmony export */ faGbp: () => (/* binding */ faGbp),\n/* harmony export */ faGear: () => (/* binding */ faGear),\n/* harmony export */ faGears: () => (/* binding */ faGears),\n/* harmony export */ faGem: () => (/* binding */ faGem),\n/* harmony export */ faGenderless: () => (/* binding */ faGenderless),\n/* harmony export */ faGhost: () => (/* binding */ faGhost),\n/* harmony export */ faGift: () => (/* binding */ faGift),\n/* harmony export */ faGifts: () => (/* binding */ faGifts),\n/* harmony export */ faGlassCheers: () => (/* binding */ faGlassCheers),\n/* harmony export */ faGlassMartini: () => (/* binding */ faGlassMartini),\n/* harmony export */ faGlassMartiniAlt: () => (/* binding */ faGlassMartiniAlt),\n/* harmony export */ faGlassWater: () => (/* binding */ faGlassWater),\n/* harmony export */ faGlassWaterDroplet: () => (/* binding */ faGlassWaterDroplet),\n/* harmony export */ faGlassWhiskey: () => (/* binding */ faGlassWhiskey),\n/* harmony export */ faGlasses: () => (/* binding */ faGlasses),\n/* harmony export */ faGlobe: () => (/* binding */ faGlobe),\n/* harmony export */ faGlobeAfrica: () => (/* binding */ faGlobeAfrica),\n/* harmony export */ faGlobeAmericas: () => (/* binding */ faGlobeAmericas),\n/* harmony export */ faGlobeAsia: () => (/* binding */ faGlobeAsia),\n/* harmony export */ faGlobeEurope: () => (/* binding */ faGlobeEurope),\n/* harmony export */ faGlobeOceania: () => (/* binding */ faGlobeOceania),\n/* harmony export */ faGolfBall: () => (/* binding */ faGolfBall),\n/* harmony export */ faGolfBallTee: () => (/* binding */ faGolfBallTee),\n/* harmony export */ faGopuram: () => (/* binding */ faGopuram),\n/* harmony export */ faGraduationCap: () => (/* binding */ faGraduationCap),\n/* harmony export */ faGreaterThan: () => (/* binding */ faGreaterThan),\n/* harmony export */ faGreaterThanEqual: () => (/* binding */ faGreaterThanEqual),\n/* harmony export */ faGrimace: () => (/* binding */ faGrimace),\n/* harmony export */ faGrin: () => (/* binding */ faGrin),\n/* harmony export */ faGrinAlt: () => (/* binding */ faGrinAlt),\n/* harmony export */ faGrinBeam: () => (/* binding */ faGrinBeam),\n/* harmony export */ faGrinBeamSweat: () => (/* binding */ faGrinBeamSweat),\n/* harmony export */ faGrinHearts: () => (/* binding */ faGrinHearts),\n/* harmony export */ faGrinSquint: () => (/* binding */ faGrinSquint),\n/* harmony export */ faGrinSquintTears: () => (/* binding */ faGrinSquintTears),\n/* harmony export */ faGrinStars: () => (/* binding */ faGrinStars),\n/* harmony export */ faGrinTears: () => (/* binding */ faGrinTears),\n/* harmony export */ faGrinTongue: () => (/* binding */ faGrinTongue),\n/* harmony export */ faGrinTongueSquint: () => (/* binding */ faGrinTongueSquint),\n/* harmony export */ faGrinTongueWink: () => (/* binding */ faGrinTongueWink),\n/* harmony export */ faGrinWink: () => (/* binding */ faGrinWink),\n/* harmony export */ faGrip: () => (/* binding */ faGrip),\n/* harmony export */ faGripHorizontal: () => (/* binding */ faGripHorizontal),\n/* harmony export */ faGripLines: () => (/* binding */ faGripLines),\n/* harmony export */ faGripLinesVertical: () => (/* binding */ faGripLinesVertical),\n/* harmony export */ faGripVertical: () => (/* binding */ faGripVertical),\n/* harmony export */ faGroupArrowsRotate: () => (/* binding */ faGroupArrowsRotate),\n/* harmony export */ faGuaraniSign: () => (/* binding */ faGuaraniSign),\n/* harmony export */ faGuitar: () => (/* binding */ faGuitar),\n/* harmony export */ faGun: () => (/* binding */ faGun),\n/* harmony export */ faH: () => (/* binding */ faH),\n/* harmony export */ faHSquare: () => (/* binding */ faHSquare),\n/* harmony export */ faHamburger: () => (/* binding */ faHamburger),\n/* harmony export */ faHammer: () => (/* binding */ faHammer),\n/* harmony export */ faHamsa: () => (/* binding */ faHamsa),\n/* harmony export */ faHand: () => (/* binding */ faHand),\n/* harmony export */ faHandBackFist: () => (/* binding */ faHandBackFist),\n/* harmony export */ faHandDots: () => (/* binding */ faHandDots),\n/* harmony export */ faHandFist: () => (/* binding */ faHandFist),\n/* harmony export */ faHandHolding: () => (/* binding */ faHandHolding),\n/* harmony export */ faHandHoldingDollar: () => (/* binding */ faHandHoldingDollar),\n/* harmony export */ faHandHoldingDroplet: () => (/* binding */ faHandHoldingDroplet),\n/* harmony export */ faHandHoldingHand: () => (/* binding */ faHandHoldingHand),\n/* harmony export */ faHandHoldingHeart: () => (/* binding */ faHandHoldingHeart),\n/* harmony export */ faHandHoldingMedical: () => (/* binding */ faHandHoldingMedical),\n/* harmony export */ faHandHoldingUsd: () => (/* binding */ faHandHoldingUsd),\n/* harmony export */ faHandHoldingWater: () => (/* binding */ faHandHoldingWater),\n/* harmony export */ faHandLizard: () => (/* binding */ faHandLizard),\n/* harmony export */ faHandMiddleFinger: () => (/* binding */ faHandMiddleFinger),\n/* harmony export */ faHandPaper: () => (/* binding */ faHandPaper),\n/* harmony export */ faHandPeace: () => (/* binding */ faHandPeace),\n/* harmony export */ faHandPointDown: () => (/* binding */ faHandPointDown),\n/* harmony export */ faHandPointLeft: () => (/* binding */ faHandPointLeft),\n/* harmony export */ faHandPointRight: () => (/* binding */ faHandPointRight),\n/* harmony export */ faHandPointUp: () => (/* binding */ faHandPointUp),\n/* harmony export */ faHandPointer: () => (/* binding */ faHandPointer),\n/* harmony export */ faHandRock: () => (/* binding */ faHandRock),\n/* harmony export */ faHandScissors: () => (/* binding */ faHandScissors),\n/* harmony export */ faHandSparkles: () => (/* binding */ faHandSparkles),\n/* harmony export */ faHandSpock: () => (/* binding */ faHandSpock),\n/* harmony export */ faHandcuffs: () => (/* binding */ faHandcuffs),\n/* harmony export */ faHands: () => (/* binding */ faHands),\n/* harmony export */ faHandsAmericanSignLanguageInterpreting: () => (/* binding */ faHandsAmericanSignLanguageInterpreting),\n/* harmony export */ faHandsAslInterpreting: () => (/* binding */ faHandsAslInterpreting),\n/* harmony export */ faHandsBound: () => (/* binding */ faHandsBound),\n/* harmony export */ faHandsBubbles: () => (/* binding */ faHandsBubbles),\n/* harmony export */ faHandsClapping: () => (/* binding */ faHandsClapping),\n/* harmony export */ faHandsHelping: () => (/* binding */ faHandsHelping),\n/* harmony export */ faHandsHolding: () => (/* binding */ faHandsHolding),\n/* harmony export */ faHandsHoldingChild: () => (/* binding */ faHandsHoldingChild),\n/* harmony export */ faHandsHoldingCircle: () => (/* binding */ faHandsHoldingCircle),\n/* harmony export */ faHandsPraying: () => (/* binding */ faHandsPraying),\n/* harmony export */ faHandsWash: () => (/* binding */ faHandsWash),\n/* harmony export */ faHandshake: () => (/* binding */ faHandshake),\n/* harmony export */ faHandshakeAlt: () => (/* binding */ faHandshakeAlt),\n/* harmony export */ faHandshakeAltSlash: () => (/* binding */ faHandshakeAltSlash),\n/* harmony export */ faHandshakeAngle: () => (/* binding */ faHandshakeAngle),\n/* harmony export */ faHandshakeSimple: () => (/* binding */ faHandshakeSimple),\n/* harmony export */ faHandshakeSimpleSlash: () => (/* binding */ faHandshakeSimpleSlash),\n/* harmony export */ faHandshakeSlash: () => (/* binding */ faHandshakeSlash),\n/* harmony export */ faHanukiah: () => (/* binding */ faHanukiah),\n/* harmony export */ faHardDrive: () => (/* binding */ faHardDrive),\n/* harmony export */ faHardHat: () => (/* binding */ faHardHat),\n/* harmony export */ faHardOfHearing: () => (/* binding */ faHardOfHearing),\n/* harmony export */ faHashtag: () => (/* binding */ faHashtag),\n/* harmony export */ faHatCowboy: () => (/* binding */ faHatCowboy),\n/* harmony export */ faHatCowboySide: () => (/* binding */ faHatCowboySide),\n/* harmony export */ faHatHard: () => (/* binding */ faHatHard),\n/* harmony export */ faHatWizard: () => (/* binding */ faHatWizard),\n/* harmony export */ faHaykal: () => (/* binding */ faHaykal),\n/* harmony export */ faHdd: () => (/* binding */ faHdd),\n/* harmony export */ faHeadSideCough: () => (/* binding */ faHeadSideCough),\n/* harmony export */ faHeadSideCoughSlash: () => (/* binding */ faHeadSideCoughSlash),\n/* harmony export */ faHeadSideMask: () => (/* binding */ faHeadSideMask),\n/* harmony export */ faHeadSideVirus: () => (/* binding */ faHeadSideVirus),\n/* harmony export */ faHeader: () => (/* binding */ faHeader),\n/* harmony export */ faHeading: () => (/* binding */ faHeading),\n/* harmony export */ faHeadphones: () => (/* binding */ faHeadphones),\n/* harmony export */ faHeadphonesAlt: () => (/* binding */ faHeadphonesAlt),\n/* harmony export */ faHeadphonesSimple: () => (/* binding */ faHeadphonesSimple),\n/* harmony export */ faHeadset: () => (/* binding */ faHeadset),\n/* harmony export */ faHeart: () => (/* binding */ faHeart),\n/* harmony export */ faHeartBroken: () => (/* binding */ faHeartBroken),\n/* harmony export */ faHeartCircleBolt: () => (/* binding */ faHeartCircleBolt),\n/* harmony export */ faHeartCircleCheck: () => (/* binding */ faHeartCircleCheck),\n/* harmony export */ faHeartCircleExclamation: () => (/* binding */ faHeartCircleExclamation),\n/* harmony export */ faHeartCircleMinus: () => (/* binding */ faHeartCircleMinus),\n/* harmony export */ faHeartCirclePlus: () => (/* binding */ faHeartCirclePlus),\n/* harmony export */ faHeartCircleXmark: () => (/* binding */ faHeartCircleXmark),\n/* harmony export */ faHeartCrack: () => (/* binding */ faHeartCrack),\n/* harmony export */ faHeartMusicCameraBolt: () => (/* binding */ faHeartMusicCameraBolt),\n/* harmony export */ faHeartPulse: () => (/* binding */ faHeartPulse),\n/* harmony export */ faHeartbeat: () => (/* binding */ faHeartbeat),\n/* harmony export */ faHelicopter: () => (/* binding */ faHelicopter),\n/* harmony export */ faHelicopterSymbol: () => (/* binding */ faHelicopterSymbol),\n/* harmony export */ faHelmetSafety: () => (/* binding */ faHelmetSafety),\n/* harmony export */ faHelmetUn: () => (/* binding */ faHelmetUn),\n/* harmony export */ faHighlighter: () => (/* binding */ faHighlighter),\n/* harmony export */ faHiking: () => (/* binding */ faHiking),\n/* harmony export */ faHillAvalanche: () => (/* binding */ faHillAvalanche),\n/* harmony export */ faHillRockslide: () => (/* binding */ faHillRockslide),\n/* harmony export */ faHippo: () => (/* binding */ faHippo),\n/* harmony export */ faHistory: () => (/* binding */ faHistory),\n/* harmony export */ faHockeyPuck: () => (/* binding */ faHockeyPuck),\n/* harmony export */ faHollyBerry: () => (/* binding */ faHollyBerry),\n/* harmony export */ faHome: () => (/* binding */ faHome),\n/* harmony export */ faHomeAlt: () => (/* binding */ faHomeAlt),\n/* harmony export */ faHomeLg: () => (/* binding */ faHomeLg),\n/* harmony export */ faHomeLgAlt: () => (/* binding */ faHomeLgAlt),\n/* harmony export */ faHomeUser: () => (/* binding */ faHomeUser),\n/* harmony export */ faHorse: () => (/* binding */ faHorse),\n/* harmony export */ faHorseHead: () => (/* binding */ faHorseHead),\n/* harmony export */ faHospital: () => (/* binding */ faHospital),\n/* harmony export */ faHospitalAlt: () => (/* binding */ faHospitalAlt),\n/* harmony export */ faHospitalSymbol: () => (/* binding */ faHospitalSymbol),\n/* harmony export */ faHospitalUser: () => (/* binding */ faHospitalUser),\n/* harmony export */ faHospitalWide: () => (/* binding */ faHospitalWide),\n/* harmony export */ faHotTub: () => (/* binding */ faHotTub),\n/* harmony export */ faHotTubPerson: () => (/* binding */ faHotTubPerson),\n/* harmony export */ faHotdog: () => (/* binding */ faHotdog),\n/* harmony export */ faHotel: () => (/* binding */ faHotel),\n/* harmony export */ faHourglass: () => (/* binding */ faHourglass),\n/* harmony export */ faHourglass1: () => (/* binding */ faHourglass1),\n/* harmony export */ faHourglass2: () => (/* binding */ faHourglass2),\n/* harmony export */ faHourglass3: () => (/* binding */ faHourglass3),\n/* harmony export */ faHourglassEmpty: () => (/* binding */ faHourglassEmpty),\n/* harmony export */ faHourglassEnd: () => (/* binding */ faHourglassEnd),\n/* harmony export */ faHourglassHalf: () => (/* binding */ faHourglassHalf),\n/* harmony export */ faHourglassStart: () => (/* binding */ faHourglassStart),\n/* harmony export */ faHouse: () => (/* binding */ faHouse),\n/* harmony export */ faHouseChimney: () => (/* binding */ faHouseChimney),\n/* harmony export */ faHouseChimneyCrack: () => (/* binding */ faHouseChimneyCrack),\n/* harmony export */ faHouseChimneyMedical: () => (/* binding */ faHouseChimneyMedical),\n/* harmony export */ faHouseChimneyUser: () => (/* binding */ faHouseChimneyUser),\n/* harmony export */ faHouseChimneyWindow: () => (/* binding */ faHouseChimneyWindow),\n/* harmony export */ faHouseCircleCheck: () => (/* binding */ faHouseCircleCheck),\n/* harmony export */ faHouseCircleExclamation: () => (/* binding */ faHouseCircleExclamation),\n/* harmony export */ faHouseCircleXmark: () => (/* binding */ faHouseCircleXmark),\n/* harmony export */ faHouseCrack: () => (/* binding */ faHouseCrack),\n/* harmony export */ faHouseDamage: () => (/* binding */ faHouseDamage),\n/* harmony export */ faHouseFire: () => (/* binding */ faHouseFire),\n/* harmony export */ faHouseFlag: () => (/* binding */ faHouseFlag),\n/* harmony export */ faHouseFloodWater: () => (/* binding */ faHouseFloodWater),\n/* harmony export */ faHouseFloodWaterCircleArrowRight: () => (/* binding */ faHouseFloodWaterCircleArrowRight),\n/* harmony export */ faHouseLaptop: () => (/* binding */ faHouseLaptop),\n/* harmony export */ faHouseLock: () => (/* binding */ faHouseLock),\n/* harmony export */ faHouseMedical: () => (/* binding */ faHouseMedical),\n/* harmony export */ faHouseMedicalCircleCheck: () => (/* binding */ faHouseMedicalCircleCheck),\n/* harmony export */ faHouseMedicalCircleExclamation: () => (/* binding */ faHouseMedicalCircleExclamation),\n/* harmony export */ faHouseMedicalCircleXmark: () => (/* binding */ faHouseMedicalCircleXmark),\n/* harmony export */ faHouseMedicalFlag: () => (/* binding */ faHouseMedicalFlag),\n/* harmony export */ faHouseSignal: () => (/* binding */ faHouseSignal),\n/* harmony export */ faHouseTsunami: () => (/* binding */ faHouseTsunami),\n/* harmony export */ faHouseUser: () => (/* binding */ faHouseUser),\n/* harmony export */ faHryvnia: () => (/* binding */ faHryvnia),\n/* harmony export */ faHryvniaSign: () => (/* binding */ faHryvniaSign),\n/* harmony export */ faHurricane: () => (/* binding */ faHurricane),\n/* harmony export */ faI: () => (/* binding */ faI),\n/* harmony export */ faICursor: () => (/* binding */ faICursor),\n/* harmony export */ faIceCream: () => (/* binding */ faIceCream),\n/* harmony export */ faIcicles: () => (/* binding */ faIcicles),\n/* harmony export */ faIcons: () => (/* binding */ faIcons),\n/* harmony export */ faIdBadge: () => (/* binding */ faIdBadge),\n/* harmony export */ faIdCard: () => (/* binding */ faIdCard),\n/* harmony export */ faIdCardAlt: () => (/* binding */ faIdCardAlt),\n/* harmony export */ faIdCardClip: () => (/* binding */ faIdCardClip),\n/* harmony export */ faIgloo: () => (/* binding */ faIgloo),\n/* harmony export */ faIls: () => (/* binding */ faIls),\n/* harmony export */ faImage: () => (/* binding */ faImage),\n/* harmony export */ faImagePortrait: () => (/* binding */ faImagePortrait),\n/* harmony export */ faImages: () => (/* binding */ faImages),\n/* harmony export */ faInbox: () => (/* binding */ faInbox),\n/* harmony export */ faIndent: () => (/* binding */ faIndent),\n/* harmony export */ faIndianRupee: () => (/* binding */ faIndianRupee),\n/* harmony export */ faIndianRupeeSign: () => (/* binding */ faIndianRupeeSign),\n/* harmony export */ faIndustry: () => (/* binding */ faIndustry),\n/* harmony export */ faInfinity: () => (/* binding */ faInfinity),\n/* harmony export */ faInfo: () => (/* binding */ faInfo),\n/* harmony export */ faInfoCircle: () => (/* binding */ faInfoCircle),\n/* harmony export */ faInr: () => (/* binding */ faInr),\n/* harmony export */ faInstitution: () => (/* binding */ faInstitution),\n/* harmony export */ faItalic: () => (/* binding */ faItalic),\n/* harmony export */ faJ: () => (/* binding */ faJ),\n/* harmony export */ faJar: () => (/* binding */ faJar),\n/* harmony export */ faJarWheat: () => (/* binding */ faJarWheat),\n/* harmony export */ faJedi: () => (/* binding */ faJedi),\n/* harmony export */ faJetFighter: () => (/* binding */ faJetFighter),\n/* harmony export */ faJetFighterUp: () => (/* binding */ faJetFighterUp),\n/* harmony export */ faJoint: () => (/* binding */ faJoint),\n/* harmony export */ faJournalWhills: () => (/* binding */ faJournalWhills),\n/* harmony export */ faJpy: () => (/* binding */ faJpy),\n/* harmony export */ faJugDetergent: () => (/* binding */ faJugDetergent),\n/* harmony export */ faK: () => (/* binding */ faK),\n/* harmony export */ faKaaba: () => (/* binding */ faKaaba),\n/* harmony export */ faKey: () => (/* binding */ faKey),\n/* harmony export */ faKeyboard: () => (/* binding */ faKeyboard),\n/* harmony export */ faKhanda: () => (/* binding */ faKhanda),\n/* harmony export */ faKipSign: () => (/* binding */ faKipSign),\n/* harmony export */ faKiss: () => (/* binding */ faKiss),\n/* harmony export */ faKissBeam: () => (/* binding */ faKissBeam),\n/* harmony export */ faKissWinkHeart: () => (/* binding */ faKissWinkHeart),\n/* harmony export */ faKitMedical: () => (/* binding */ faKitMedical),\n/* harmony export */ faKitchenSet: () => (/* binding */ faKitchenSet),\n/* harmony export */ faKiwiBird: () => (/* binding */ faKiwiBird),\n/* harmony export */ faKrw: () => (/* binding */ faKrw),\n/* harmony export */ faL: () => (/* binding */ faL),\n/* harmony export */ faLadderWater: () => (/* binding */ faLadderWater),\n/* harmony export */ faLandMineOn: () => (/* binding */ faLandMineOn),\n/* harmony export */ faLandmark: () => (/* binding */ faLandmark),\n/* harmony export */ faLandmarkAlt: () => (/* binding */ faLandmarkAlt),\n/* harmony export */ faLandmarkDome: () => (/* binding */ faLandmarkDome),\n/* harmony export */ faLandmarkFlag: () => (/* binding */ faLandmarkFlag),\n/* harmony export */ faLanguage: () => (/* binding */ faLanguage),\n/* harmony export */ faLaptop: () => (/* binding */ faLaptop),\n/* harmony export */ faLaptopCode: () => (/* binding */ faLaptopCode),\n/* harmony export */ faLaptopFile: () => (/* binding */ faLaptopFile),\n/* harmony export */ faLaptopHouse: () => (/* binding */ faLaptopHouse),\n/* harmony export */ faLaptopMedical: () => (/* binding */ faLaptopMedical),\n/* harmony export */ faLariSign: () => (/* binding */ faLariSign),\n/* harmony export */ faLaugh: () => (/* binding */ faLaugh),\n/* harmony export */ faLaughBeam: () => (/* binding */ faLaughBeam),\n/* harmony export */ faLaughSquint: () => (/* binding */ faLaughSquint),\n/* harmony export */ faLaughWink: () => (/* binding */ faLaughWink),\n/* harmony export */ faLayerGroup: () => (/* binding */ faLayerGroup),\n/* harmony export */ faLeaf: () => (/* binding */ faLeaf),\n/* harmony export */ faLeftLong: () => (/* binding */ faLeftLong),\n/* harmony export */ faLeftRight: () => (/* binding */ faLeftRight),\n/* harmony export */ faLegal: () => (/* binding */ faLegal),\n/* harmony export */ faLemon: () => (/* binding */ faLemon),\n/* harmony export */ faLessThan: () => (/* binding */ faLessThan),\n/* harmony export */ faLessThanEqual: () => (/* binding */ faLessThanEqual),\n/* harmony export */ faLevelDown: () => (/* binding */ faLevelDown),\n/* harmony export */ faLevelDownAlt: () => (/* binding */ faLevelDownAlt),\n/* harmony export */ faLevelUp: () => (/* binding */ faLevelUp),\n/* harmony export */ faLevelUpAlt: () => (/* binding */ faLevelUpAlt),\n/* harmony export */ faLifeRing: () => (/* binding */ faLifeRing),\n/* harmony export */ faLightbulb: () => (/* binding */ faLightbulb),\n/* harmony export */ faLineChart: () => (/* binding */ faLineChart),\n/* harmony export */ faLinesLeaning: () => (/* binding */ faLinesLeaning),\n/* harmony export */ faLink: () => (/* binding */ faLink),\n/* harmony export */ faLinkSlash: () => (/* binding */ faLinkSlash),\n/* harmony export */ faLiraSign: () => (/* binding */ faLiraSign),\n/* harmony export */ faList: () => (/* binding */ faList),\n/* harmony export */ faList12: () => (/* binding */ faList12),\n/* harmony export */ faListAlt: () => (/* binding */ faListAlt),\n/* harmony export */ faListCheck: () => (/* binding */ faListCheck),\n/* harmony export */ faListDots: () => (/* binding */ faListDots),\n/* harmony export */ faListNumeric: () => (/* binding */ faListNumeric),\n/* harmony export */ faListOl: () => (/* binding */ faListOl),\n/* harmony export */ faListSquares: () => (/* binding */ faListSquares),\n/* harmony export */ faListUl: () => (/* binding */ faListUl),\n/* harmony export */ faLitecoinSign: () => (/* binding */ faLitecoinSign),\n/* harmony export */ faLocation: () => (/* binding */ faLocation),\n/* harmony export */ faLocationArrow: () => (/* binding */ faLocationArrow),\n/* harmony export */ faLocationCrosshairs: () => (/* binding */ faLocationCrosshairs),\n/* harmony export */ faLocationDot: () => (/* binding */ faLocationDot),\n/* harmony export */ faLocationPin: () => (/* binding */ faLocationPin),\n/* harmony export */ faLocationPinLock: () => (/* binding */ faLocationPinLock),\n/* harmony export */ faLock: () => (/* binding */ faLock),\n/* harmony export */ faLockOpen: () => (/* binding */ faLockOpen),\n/* harmony export */ faLocust: () => (/* binding */ faLocust),\n/* harmony export */ faLongArrowAltDown: () => (/* binding */ faLongArrowAltDown),\n/* harmony export */ faLongArrowAltLeft: () => (/* binding */ faLongArrowAltLeft),\n/* harmony export */ faLongArrowAltRight: () => (/* binding */ faLongArrowAltRight),\n/* harmony export */ faLongArrowAltUp: () => (/* binding */ faLongArrowAltUp),\n/* harmony export */ faLongArrowDown: () => (/* binding */ faLongArrowDown),\n/* harmony export */ faLongArrowLeft: () => (/* binding */ faLongArrowLeft),\n/* harmony export */ faLongArrowRight: () => (/* binding */ faLongArrowRight),\n/* harmony export */ faLongArrowUp: () => (/* binding */ faLongArrowUp),\n/* harmony export */ faLowVision: () => (/* binding */ faLowVision),\n/* harmony export */ faLuggageCart: () => (/* binding */ faLuggageCart),\n/* harmony export */ faLungs: () => (/* binding */ faLungs),\n/* harmony export */ faLungsVirus: () => (/* binding */ faLungsVirus),\n/* harmony export */ faM: () => (/* binding */ faM),\n/* harmony export */ faMagic: () => (/* binding */ faMagic),\n/* harmony export */ faMagicWandSparkles: () => (/* binding */ faMagicWandSparkles),\n/* harmony export */ faMagnet: () => (/* binding */ faMagnet),\n/* harmony export */ faMagnifyingGlass: () => (/* binding */ faMagnifyingGlass),\n/* harmony export */ faMagnifyingGlassArrowRight: () => (/* binding */ faMagnifyingGlassArrowRight),\n/* harmony export */ faMagnifyingGlassChart: () => (/* binding */ faMagnifyingGlassChart),\n/* harmony export */ faMagnifyingGlassDollar: () => (/* binding */ faMagnifyingGlassDollar),\n/* harmony export */ faMagnifyingGlassLocation: () => (/* binding */ faMagnifyingGlassLocation),\n/* harmony export */ faMagnifyingGlassMinus: () => (/* binding */ faMagnifyingGlassMinus),\n/* harmony export */ faMagnifyingGlassPlus: () => (/* binding */ faMagnifyingGlassPlus),\n/* harmony export */ faMailBulk: () => (/* binding */ faMailBulk),\n/* harmony export */ faMailForward: () => (/* binding */ faMailForward),\n/* harmony export */ faMailReply: () => (/* binding */ faMailReply),\n/* harmony export */ faMailReplyAll: () => (/* binding */ faMailReplyAll),\n/* harmony export */ faMale: () => (/* binding */ faMale),\n/* harmony export */ faManatSign: () => (/* binding */ faManatSign),\n/* harmony export */ faMap: () => (/* binding */ faMap),\n/* harmony export */ faMapLocation: () => (/* binding */ faMapLocation),\n/* harmony export */ faMapLocationDot: () => (/* binding */ faMapLocationDot),\n/* harmony export */ faMapMarked: () => (/* binding */ faMapMarked),\n/* harmony export */ faMapMarkedAlt: () => (/* binding */ faMapMarkedAlt),\n/* harmony export */ faMapMarker: () => (/* binding */ faMapMarker),\n/* harmony export */ faMapMarkerAlt: () => (/* binding */ faMapMarkerAlt),\n/* harmony export */ faMapPin: () => (/* binding */ faMapPin),\n/* harmony export */ faMapSigns: () => (/* binding */ faMapSigns),\n/* harmony export */ faMarker: () => (/* binding */ faMarker),\n/* harmony export */ faMars: () => (/* binding */ faMars),\n/* harmony export */ faMarsAndVenus: () => (/* binding */ faMarsAndVenus),\n/* harmony export */ faMarsAndVenusBurst: () => (/* binding */ faMarsAndVenusBurst),\n/* harmony export */ faMarsDouble: () => (/* binding */ faMarsDouble),\n/* harmony export */ faMarsStroke: () => (/* binding */ faMarsStroke),\n/* harmony export */ faMarsStrokeH: () => (/* binding */ faMarsStrokeH),\n/* harmony export */ faMarsStrokeRight: () => (/* binding */ faMarsStrokeRight),\n/* harmony export */ faMarsStrokeUp: () => (/* binding */ faMarsStrokeUp),\n/* harmony export */ faMarsStrokeV: () => (/* binding */ faMarsStrokeV),\n/* harmony export */ faMartiniGlass: () => (/* binding */ faMartiniGlass),\n/* harmony export */ faMartiniGlassCitrus: () => (/* binding */ faMartiniGlassCitrus),\n/* harmony export */ faMartiniGlassEmpty: () => (/* binding */ faMartiniGlassEmpty),\n/* harmony export */ faMask: () => (/* binding */ faMask),\n/* harmony export */ faMaskFace: () => (/* binding */ faMaskFace),\n/* harmony export */ faMaskVentilator: () => (/* binding */ faMaskVentilator),\n/* harmony export */ faMasksTheater: () => (/* binding */ faMasksTheater),\n/* harmony export */ faMattressPillow: () => (/* binding */ faMattressPillow),\n/* harmony export */ faMaximize: () => (/* binding */ faMaximize),\n/* harmony export */ faMedal: () => (/* binding */ faMedal),\n/* harmony export */ faMedkit: () => (/* binding */ faMedkit),\n/* harmony export */ faMeh: () => (/* binding */ faMeh),\n/* harmony export */ faMehBlank: () => (/* binding */ faMehBlank),\n/* harmony export */ faMehRollingEyes: () => (/* binding */ faMehRollingEyes),\n/* harmony export */ faMemory: () => (/* binding */ faMemory),\n/* harmony export */ faMenorah: () => (/* binding */ faMenorah),\n/* harmony export */ faMercury: () => (/* binding */ faMercury),\n/* harmony export */ faMessage: () => (/* binding */ faMessage),\n/* harmony export */ faMeteor: () => (/* binding */ faMeteor),\n/* harmony export */ faMicrochip: () => (/* binding */ faMicrochip),\n/* harmony export */ faMicrophone: () => (/* binding */ faMicrophone),\n/* harmony export */ faMicrophoneAlt: () => (/* binding */ faMicrophoneAlt),\n/* harmony export */ faMicrophoneAltSlash: () => (/* binding */ faMicrophoneAltSlash),\n/* harmony export */ faMicrophoneLines: () => (/* binding */ faMicrophoneLines),\n/* harmony export */ faMicrophoneLinesSlash: () => (/* binding */ faMicrophoneLinesSlash),\n/* harmony export */ faMicrophoneSlash: () => (/* binding */ faMicrophoneSlash),\n/* harmony export */ faMicroscope: () => (/* binding */ faMicroscope),\n/* harmony export */ faMillSign: () => (/* binding */ faMillSign),\n/* harmony export */ faMinimize: () => (/* binding */ faMinimize),\n/* harmony export */ faMinus: () => (/* binding */ faMinus),\n/* harmony export */ faMinusCircle: () => (/* binding */ faMinusCircle),\n/* harmony export */ faMinusSquare: () => (/* binding */ faMinusSquare),\n/* harmony export */ faMitten: () => (/* binding */ faMitten),\n/* harmony export */ faMobile: () => (/* binding */ faMobile),\n/* harmony export */ faMobileAlt: () => (/* binding */ faMobileAlt),\n/* harmony export */ faMobileAndroid: () => (/* binding */ faMobileAndroid),\n/* harmony export */ faMobileAndroidAlt: () => (/* binding */ faMobileAndroidAlt),\n/* harmony export */ faMobileButton: () => (/* binding */ faMobileButton),\n/* harmony export */ faMobilePhone: () => (/* binding */ faMobilePhone),\n/* harmony export */ faMobileRetro: () => (/* binding */ faMobileRetro),\n/* harmony export */ faMobileScreen: () => (/* binding */ faMobileScreen),\n/* harmony export */ faMobileScreenButton: () => (/* binding */ faMobileScreenButton),\n/* harmony export */ faMoneyBill: () => (/* binding */ faMoneyBill),\n/* harmony export */ faMoneyBill1: () => (/* binding */ faMoneyBill1),\n/* harmony export */ faMoneyBill1Wave: () => (/* binding */ faMoneyBill1Wave),\n/* harmony export */ faMoneyBillAlt: () => (/* binding */ faMoneyBillAlt),\n/* harmony export */ faMoneyBillTransfer: () => (/* binding */ faMoneyBillTransfer),\n/* harmony export */ faMoneyBillTrendUp: () => (/* binding */ faMoneyBillTrendUp),\n/* harmony export */ faMoneyBillWave: () => (/* binding */ faMoneyBillWave),\n/* harmony export */ faMoneyBillWaveAlt: () => (/* binding */ faMoneyBillWaveAlt),\n/* harmony export */ faMoneyBillWheat: () => (/* binding */ faMoneyBillWheat),\n/* harmony export */ faMoneyBills: () => (/* binding */ faMoneyBills),\n/* harmony export */ faMoneyCheck: () => (/* binding */ faMoneyCheck),\n/* harmony export */ faMoneyCheckAlt: () => (/* binding */ faMoneyCheckAlt),\n/* harmony export */ faMoneyCheckDollar: () => (/* binding */ faMoneyCheckDollar),\n/* harmony export */ faMonument: () => (/* binding */ faMonument),\n/* harmony export */ faMoon: () => (/* binding */ faMoon),\n/* harmony export */ faMortarBoard: () => (/* binding */ faMortarBoard),\n/* harmony export */ faMortarPestle: () => (/* binding */ faMortarPestle),\n/* harmony export */ faMosque: () => (/* binding */ faMosque),\n/* harmony export */ faMosquito: () => (/* binding */ faMosquito),\n/* harmony export */ faMosquitoNet: () => (/* binding */ faMosquitoNet),\n/* harmony export */ faMotorcycle: () => (/* binding */ faMotorcycle),\n/* harmony export */ faMound: () => (/* binding */ faMound),\n/* harmony export */ faMountain: () => (/* binding */ faMountain),\n/* harmony export */ faMountainCity: () => (/* binding */ faMountainCity),\n/* harmony export */ faMountainSun: () => (/* binding */ faMountainSun),\n/* harmony export */ faMouse: () => (/* binding */ faMouse),\n/* harmony export */ faMousePointer: () => (/* binding */ faMousePointer),\n/* harmony export */ faMugHot: () => (/* binding */ faMugHot),\n/* harmony export */ faMugSaucer: () => (/* binding */ faMugSaucer),\n/* harmony export */ faMultiply: () => (/* binding */ faMultiply),\n/* harmony export */ faMuseum: () => (/* binding */ faMuseum),\n/* harmony export */ faMusic: () => (/* binding */ faMusic),\n/* harmony export */ faN: () => (/* binding */ faN),\n/* harmony export */ faNairaSign: () => (/* binding */ faNairaSign),\n/* harmony export */ faNavicon: () => (/* binding */ faNavicon),\n/* harmony export */ faNetworkWired: () => (/* binding */ faNetworkWired),\n/* harmony export */ faNeuter: () => (/* binding */ faNeuter),\n/* harmony export */ faNewspaper: () => (/* binding */ faNewspaper),\n/* harmony export */ faNotEqual: () => (/* binding */ faNotEqual),\n/* harmony export */ faNotdef: () => (/* binding */ faNotdef),\n/* harmony export */ faNoteSticky: () => (/* binding */ faNoteSticky),\n/* harmony export */ faNotesMedical: () => (/* binding */ faNotesMedical),\n/* harmony export */ faO: () => (/* binding */ faO),\n/* harmony export */ faObjectGroup: () => (/* binding */ faObjectGroup),\n/* harmony export */ faObjectUngroup: () => (/* binding */ faObjectUngroup),\n/* harmony export */ faOilCan: () => (/* binding */ faOilCan),\n/* harmony export */ faOilWell: () => (/* binding */ faOilWell),\n/* harmony export */ faOm: () => (/* binding */ faOm),\n/* harmony export */ faOtter: () => (/* binding */ faOtter),\n/* harmony export */ faOutdent: () => (/* binding */ faOutdent),\n/* harmony export */ faP: () => (/* binding */ faP),\n/* harmony export */ faPager: () => (/* binding */ faPager),\n/* harmony export */ faPaintBrush: () => (/* binding */ faPaintBrush),\n/* harmony export */ faPaintRoller: () => (/* binding */ faPaintRoller),\n/* harmony export */ faPaintbrush: () => (/* binding */ faPaintbrush),\n/* harmony export */ faPalette: () => (/* binding */ faPalette),\n/* harmony export */ faPallet: () => (/* binding */ faPallet),\n/* harmony export */ faPanorama: () => (/* binding */ faPanorama),\n/* harmony export */ faPaperPlane: () => (/* binding */ faPaperPlane),\n/* harmony export */ faPaperclip: () => (/* binding */ faPaperclip),\n/* harmony export */ faParachuteBox: () => (/* binding */ faParachuteBox),\n/* harmony export */ faParagraph: () => (/* binding */ faParagraph),\n/* harmony export */ faParking: () => (/* binding */ faParking),\n/* harmony export */ faPassport: () => (/* binding */ faPassport),\n/* harmony export */ faPastafarianism: () => (/* binding */ faPastafarianism),\n/* harmony export */ faPaste: () => (/* binding */ faPaste),\n/* harmony export */ faPause: () => (/* binding */ faPause),\n/* harmony export */ faPauseCircle: () => (/* binding */ faPauseCircle),\n/* harmony export */ faPaw: () => (/* binding */ faPaw),\n/* harmony export */ faPeace: () => (/* binding */ faPeace),\n/* harmony export */ faPen: () => (/* binding */ faPen),\n/* harmony export */ faPenAlt: () => (/* binding */ faPenAlt),\n/* harmony export */ faPenClip: () => (/* binding */ faPenClip),\n/* harmony export */ faPenFancy: () => (/* binding */ faPenFancy),\n/* harmony export */ faPenNib: () => (/* binding */ faPenNib),\n/* harmony export */ faPenRuler: () => (/* binding */ faPenRuler),\n/* harmony export */ faPenSquare: () => (/* binding */ faPenSquare),\n/* harmony export */ faPenToSquare: () => (/* binding */ faPenToSquare),\n/* harmony export */ faPencil: () => (/* binding */ faPencil),\n/* harmony export */ faPencilAlt: () => (/* binding */ faPencilAlt),\n/* harmony export */ faPencilRuler: () => (/* binding */ faPencilRuler),\n/* harmony export */ faPencilSquare: () => (/* binding */ faPencilSquare),\n/* harmony export */ faPeopleArrows: () => (/* binding */ faPeopleArrows),\n/* harmony export */ faPeopleArrowsLeftRight: () => (/* binding */ faPeopleArrowsLeftRight),\n/* harmony export */ faPeopleCarry: () => (/* binding */ faPeopleCarry),\n/* harmony export */ faPeopleCarryBox: () => (/* binding */ faPeopleCarryBox),\n/* harmony export */ faPeopleGroup: () => (/* binding */ faPeopleGroup),\n/* harmony export */ faPeopleLine: () => (/* binding */ faPeopleLine),\n/* harmony export */ faPeoplePulling: () => (/* binding */ faPeoplePulling),\n/* harmony export */ faPeopleRobbery: () => (/* binding */ faPeopleRobbery),\n/* harmony export */ faPeopleRoof: () => (/* binding */ faPeopleRoof),\n/* harmony export */ faPepperHot: () => (/* binding */ faPepperHot),\n/* harmony export */ faPercent: () => (/* binding */ faPercent),\n/* harmony export */ faPercentage: () => (/* binding */ faPercentage),\n/* harmony export */ faPerson: () => (/* binding */ faPerson),\n/* harmony export */ faPersonArrowDownToLine: () => (/* binding */ faPersonArrowDownToLine),\n/* harmony export */ faPersonArrowUpFromLine: () => (/* binding */ faPersonArrowUpFromLine),\n/* harmony export */ faPersonBiking: () => (/* binding */ faPersonBiking),\n/* harmony export */ faPersonBooth: () => (/* binding */ faPersonBooth),\n/* harmony export */ faPersonBreastfeeding: () => (/* binding */ faPersonBreastfeeding),\n/* harmony export */ faPersonBurst: () => (/* binding */ faPersonBurst),\n/* harmony export */ faPersonCane: () => (/* binding */ faPersonCane),\n/* harmony export */ faPersonChalkboard: () => (/* binding */ faPersonChalkboard),\n/* harmony export */ faPersonCircleCheck: () => (/* binding */ faPersonCircleCheck),\n/* harmony export */ faPersonCircleExclamation: () => (/* binding */ faPersonCircleExclamation),\n/* harmony export */ faPersonCircleMinus: () => (/* binding */ faPersonCircleMinus),\n/* harmony export */ faPersonCirclePlus: () => (/* binding */ faPersonCirclePlus),\n/* harmony export */ faPersonCircleQuestion: () => (/* binding */ faPersonCircleQuestion),\n/* harmony export */ faPersonCircleXmark: () => (/* binding */ faPersonCircleXmark),\n/* harmony export */ faPersonDigging: () => (/* binding */ faPersonDigging),\n/* harmony export */ faPersonDotsFromLine: () => (/* binding */ faPersonDotsFromLine),\n/* harmony export */ faPersonDress: () => (/* binding */ faPersonDress),\n/* harmony export */ faPersonDressBurst: () => (/* binding */ faPersonDressBurst),\n/* harmony export */ faPersonDrowning: () => (/* binding */ faPersonDrowning),\n/* harmony export */ faPersonFalling: () => (/* binding */ faPersonFalling),\n/* harmony export */ faPersonFallingBurst: () => (/* binding */ faPersonFallingBurst),\n/* harmony export */ faPersonHalfDress: () => (/* binding */ faPersonHalfDress),\n/* harmony export */ faPersonHarassing: () => (/* binding */ faPersonHarassing),\n/* harmony export */ faPersonHiking: () => (/* binding */ faPersonHiking),\n/* harmony export */ faPersonMilitaryPointing: () => (/* binding */ faPersonMilitaryPointing),\n/* harmony export */ faPersonMilitaryRifle: () => (/* binding */ faPersonMilitaryRifle),\n/* harmony export */ faPersonMilitaryToPerson: () => (/* binding */ faPersonMilitaryToPerson),\n/* harmony export */ faPersonPraying: () => (/* binding */ faPersonPraying),\n/* harmony export */ faPersonPregnant: () => (/* binding */ faPersonPregnant),\n/* harmony export */ faPersonRays: () => (/* binding */ faPersonRays),\n/* harmony export */ faPersonRifle: () => (/* binding */ faPersonRifle),\n/* harmony export */ faPersonRunning: () => (/* binding */ faPersonRunning),\n/* harmony export */ faPersonShelter: () => (/* binding */ faPersonShelter),\n/* harmony export */ faPersonSkating: () => (/* binding */ faPersonSkating),\n/* harmony export */ faPersonSkiing: () => (/* binding */ faPersonSkiing),\n/* harmony export */ faPersonSkiingNordic: () => (/* binding */ faPersonSkiingNordic),\n/* harmony export */ faPersonSnowboarding: () => (/* binding */ faPersonSnowboarding),\n/* harmony export */ faPersonSwimming: () => (/* binding */ faPersonSwimming),\n/* harmony export */ faPersonThroughWindow: () => (/* binding */ faPersonThroughWindow),\n/* harmony export */ faPersonWalking: () => (/* binding */ faPersonWalking),\n/* harmony export */ faPersonWalkingArrowLoopLeft: () => (/* binding */ faPersonWalkingArrowLoopLeft),\n/* harmony export */ faPersonWalkingArrowRight: () => (/* binding */ faPersonWalkingArrowRight),\n/* harmony export */ faPersonWalkingDashedLineArrowRight: () => (/* binding */ faPersonWalkingDashedLineArrowRight),\n/* harmony export */ faPersonWalkingLuggage: () => (/* binding */ faPersonWalkingLuggage),\n/* harmony export */ faPersonWalkingWithCane: () => (/* binding */ faPersonWalkingWithCane),\n/* harmony export */ faPesetaSign: () => (/* binding */ faPesetaSign),\n/* harmony export */ faPesoSign: () => (/* binding */ faPesoSign),\n/* harmony export */ faPhone: () => (/* binding */ faPhone),\n/* harmony export */ faPhoneAlt: () => (/* binding */ faPhoneAlt),\n/* harmony export */ faPhoneFlip: () => (/* binding */ faPhoneFlip),\n/* harmony export */ faPhoneSlash: () => (/* binding */ faPhoneSlash),\n/* harmony export */ faPhoneSquare: () => (/* binding */ faPhoneSquare),\n/* harmony export */ faPhoneSquareAlt: () => (/* binding */ faPhoneSquareAlt),\n/* harmony export */ faPhoneVolume: () => (/* binding */ faPhoneVolume),\n/* harmony export */ faPhotoFilm: () => (/* binding */ faPhotoFilm),\n/* harmony export */ faPhotoVideo: () => (/* binding */ faPhotoVideo),\n/* harmony export */ faPieChart: () => (/* binding */ faPieChart),\n/* harmony export */ faPiggyBank: () => (/* binding */ faPiggyBank),\n/* harmony export */ faPills: () => (/* binding */ faPills),\n/* harmony export */ faPingPongPaddleBall: () => (/* binding */ faPingPongPaddleBall),\n/* harmony export */ faPizzaSlice: () => (/* binding */ faPizzaSlice),\n/* harmony export */ faPlaceOfWorship: () => (/* binding */ faPlaceOfWorship),\n/* harmony export */ faPlane: () => (/* binding */ faPlane),\n/* harmony export */ faPlaneArrival: () => (/* binding */ faPlaneArrival),\n/* harmony export */ faPlaneCircleCheck: () => (/* binding */ faPlaneCircleCheck),\n/* harmony export */ faPlaneCircleExclamation: () => (/* binding */ faPlaneCircleExclamation),\n/* harmony export */ faPlaneCircleXmark: () => (/* binding */ faPlaneCircleXmark),\n/* harmony export */ faPlaneDeparture: () => (/* binding */ faPlaneDeparture),\n/* harmony export */ faPlaneLock: () => (/* binding */ faPlaneLock),\n/* harmony export */ faPlaneSlash: () => (/* binding */ faPlaneSlash),\n/* harmony export */ faPlaneUp: () => (/* binding */ faPlaneUp),\n/* harmony export */ faPlantWilt: () => (/* binding */ faPlantWilt),\n/* harmony export */ faPlateWheat: () => (/* binding */ faPlateWheat),\n/* harmony export */ faPlay: () => (/* binding */ faPlay),\n/* harmony export */ faPlayCircle: () => (/* binding */ faPlayCircle),\n/* harmony export */ faPlug: () => (/* binding */ faPlug),\n/* harmony export */ faPlugCircleBolt: () => (/* binding */ faPlugCircleBolt),\n/* harmony export */ faPlugCircleCheck: () => (/* binding */ faPlugCircleCheck),\n/* harmony export */ faPlugCircleExclamation: () => (/* binding */ faPlugCircleExclamation),\n/* harmony export */ faPlugCircleMinus: () => (/* binding */ faPlugCircleMinus),\n/* harmony export */ faPlugCirclePlus: () => (/* binding */ faPlugCirclePlus),\n/* harmony export */ faPlugCircleXmark: () => (/* binding */ faPlugCircleXmark),\n/* harmony export */ faPlus: () => (/* binding */ faPlus),\n/* harmony export */ faPlusCircle: () => (/* binding */ faPlusCircle),\n/* harmony export */ faPlusMinus: () => (/* binding */ faPlusMinus),\n/* harmony export */ faPlusSquare: () => (/* binding */ faPlusSquare),\n/* harmony export */ faPodcast: () => (/* binding */ faPodcast),\n/* harmony export */ faPoll: () => (/* binding */ faPoll),\n/* harmony export */ faPollH: () => (/* binding */ faPollH),\n/* harmony export */ faPoo: () => (/* binding */ faPoo),\n/* harmony export */ faPooBolt: () => (/* binding */ faPooBolt),\n/* harmony export */ faPooStorm: () => (/* binding */ faPooStorm),\n/* harmony export */ faPoop: () => (/* binding */ faPoop),\n/* harmony export */ faPortrait: () => (/* binding */ faPortrait),\n/* harmony export */ faPoundSign: () => (/* binding */ faPoundSign),\n/* harmony export */ faPowerOff: () => (/* binding */ faPowerOff),\n/* harmony export */ faPray: () => (/* binding */ faPray),\n/* harmony export */ faPrayingHands: () => (/* binding */ faPrayingHands),\n/* harmony export */ faPrescription: () => (/* binding */ faPrescription),\n/* harmony export */ faPrescriptionBottle: () => (/* binding */ faPrescriptionBottle),\n/* harmony export */ faPrescriptionBottleAlt: () => (/* binding */ faPrescriptionBottleAlt),\n/* harmony export */ faPrescriptionBottleMedical: () => (/* binding */ faPrescriptionBottleMedical),\n/* harmony export */ faPrint: () => (/* binding */ faPrint),\n/* harmony export */ faProcedures: () => (/* binding */ faProcedures),\n/* harmony export */ faProjectDiagram: () => (/* binding */ faProjectDiagram),\n/* harmony export */ faPumpMedical: () => (/* binding */ faPumpMedical),\n/* harmony export */ faPumpSoap: () => (/* binding */ faPumpSoap),\n/* harmony export */ faPuzzlePiece: () => (/* binding */ faPuzzlePiece),\n/* harmony export */ faQ: () => (/* binding */ faQ),\n/* harmony export */ faQrcode: () => (/* binding */ faQrcode),\n/* harmony export */ faQuestion: () => (/* binding */ faQuestion),\n/* harmony export */ faQuestionCircle: () => (/* binding */ faQuestionCircle),\n/* harmony export */ faQuidditch: () => (/* binding */ faQuidditch),\n/* harmony export */ faQuidditchBroomBall: () => (/* binding */ faQuidditchBroomBall),\n/* harmony export */ faQuoteLeft: () => (/* binding */ faQuoteLeft),\n/* harmony export */ faQuoteLeftAlt: () => (/* binding */ faQuoteLeftAlt),\n/* harmony export */ faQuoteRight: () => (/* binding */ faQuoteRight),\n/* harmony export */ faQuoteRightAlt: () => (/* binding */ faQuoteRightAlt),\n/* harmony export */ faQuran: () => (/* binding */ faQuran),\n/* harmony export */ faR: () => (/* binding */ faR),\n/* harmony export */ faRadiation: () => (/* binding */ faRadiation),\n/* harmony export */ faRadiationAlt: () => (/* binding */ faRadiationAlt),\n/* harmony export */ faRadio: () => (/* binding */ faRadio),\n/* harmony export */ faRainbow: () => (/* binding */ faRainbow),\n/* harmony export */ faRandom: () => (/* binding */ faRandom),\n/* harmony export */ faRankingStar: () => (/* binding */ faRankingStar),\n/* harmony export */ faReceipt: () => (/* binding */ faReceipt),\n/* harmony export */ faRecordVinyl: () => (/* binding */ faRecordVinyl),\n/* harmony export */ faRectangleAd: () => (/* binding */ faRectangleAd),\n/* harmony export */ faRectangleList: () => (/* binding */ faRectangleList),\n/* harmony export */ faRectangleTimes: () => (/* binding */ faRectangleTimes),\n/* harmony export */ faRectangleXmark: () => (/* binding */ faRectangleXmark),\n/* harmony export */ faRecycle: () => (/* binding */ faRecycle),\n/* harmony export */ faRedo: () => (/* binding */ faRedo),\n/* harmony export */ faRedoAlt: () => (/* binding */ faRedoAlt),\n/* harmony export */ faRefresh: () => (/* binding */ faRefresh),\n/* harmony export */ faRegistered: () => (/* binding */ faRegistered),\n/* harmony export */ faRemove: () => (/* binding */ faRemove),\n/* harmony export */ faRemoveFormat: () => (/* binding */ faRemoveFormat),\n/* harmony export */ faReorder: () => (/* binding */ faReorder),\n/* harmony export */ faRepeat: () => (/* binding */ faRepeat),\n/* harmony export */ faReply: () => (/* binding */ faReply),\n/* harmony export */ faReplyAll: () => (/* binding */ faReplyAll),\n/* harmony export */ faRepublican: () => (/* binding */ faRepublican),\n/* harmony export */ faRestroom: () => (/* binding */ faRestroom),\n/* harmony export */ faRetweet: () => (/* binding */ faRetweet),\n/* harmony export */ faRibbon: () => (/* binding */ faRibbon),\n/* harmony export */ faRightFromBracket: () => (/* binding */ faRightFromBracket),\n/* harmony export */ faRightLeft: () => (/* binding */ faRightLeft),\n/* harmony export */ faRightLong: () => (/* binding */ faRightLong),\n/* harmony export */ faRightToBracket: () => (/* binding */ faRightToBracket),\n/* harmony export */ faRing: () => (/* binding */ faRing),\n/* harmony export */ faRmb: () => (/* binding */ faRmb),\n/* harmony export */ faRoad: () => (/* binding */ faRoad),\n/* harmony export */ faRoadBarrier: () => (/* binding */ faRoadBarrier),\n/* harmony export */ faRoadBridge: () => (/* binding */ faRoadBridge),\n/* harmony export */ faRoadCircleCheck: () => (/* binding */ faRoadCircleCheck),\n/* harmony export */ faRoadCircleExclamation: () => (/* binding */ faRoadCircleExclamation),\n/* harmony export */ faRoadCircleXmark: () => (/* binding */ faRoadCircleXmark),\n/* harmony export */ faRoadLock: () => (/* binding */ faRoadLock),\n/* harmony export */ faRoadSpikes: () => (/* binding */ faRoadSpikes),\n/* harmony export */ faRobot: () => (/* binding */ faRobot),\n/* harmony export */ faRocket: () => (/* binding */ faRocket),\n/* harmony export */ faRodAsclepius: () => (/* binding */ faRodAsclepius),\n/* harmony export */ faRodSnake: () => (/* binding */ faRodSnake),\n/* harmony export */ faRotate: () => (/* binding */ faRotate),\n/* harmony export */ faRotateBack: () => (/* binding */ faRotateBack),\n/* harmony export */ faRotateBackward: () => (/* binding */ faRotateBackward),\n/* harmony export */ faRotateForward: () => (/* binding */ faRotateForward),\n/* harmony export */ faRotateLeft: () => (/* binding */ faRotateLeft),\n/* harmony export */ faRotateRight: () => (/* binding */ faRotateRight),\n/* harmony export */ faRouble: () => (/* binding */ faRouble),\n/* harmony export */ faRoute: () => (/* binding */ faRoute),\n/* harmony export */ faRss: () => (/* binding */ faRss),\n/* harmony export */ faRssSquare: () => (/* binding */ faRssSquare),\n/* harmony export */ faRub: () => (/* binding */ faRub),\n/* harmony export */ faRuble: () => (/* binding */ faRuble),\n/* harmony export */ faRubleSign: () => (/* binding */ faRubleSign),\n/* harmony export */ faRug: () => (/* binding */ faRug),\n/* harmony export */ faRuler: () => (/* binding */ faRuler),\n/* harmony export */ faRulerCombined: () => (/* binding */ faRulerCombined),\n/* harmony export */ faRulerHorizontal: () => (/* binding */ faRulerHorizontal),\n/* harmony export */ faRulerVertical: () => (/* binding */ faRulerVertical),\n/* harmony export */ faRunning: () => (/* binding */ faRunning),\n/* harmony export */ faRupee: () => (/* binding */ faRupee),\n/* harmony export */ faRupeeSign: () => (/* binding */ faRupeeSign),\n/* harmony export */ faRupiahSign: () => (/* binding */ faRupiahSign),\n/* harmony export */ faS: () => (/* binding */ faS),\n/* harmony export */ faSackDollar: () => (/* binding */ faSackDollar),\n/* harmony export */ faSackXmark: () => (/* binding */ faSackXmark),\n/* harmony export */ faSadCry: () => (/* binding */ faSadCry),\n/* harmony export */ faSadTear: () => (/* binding */ faSadTear),\n/* harmony export */ faSailboat: () => (/* binding */ faSailboat),\n/* harmony export */ faSatellite: () => (/* binding */ faSatellite),\n/* harmony export */ faSatelliteDish: () => (/* binding */ faSatelliteDish),\n/* harmony export */ faSave: () => (/* binding */ faSave),\n/* harmony export */ faScaleBalanced: () => (/* binding */ faScaleBalanced),\n/* harmony export */ faScaleUnbalanced: () => (/* binding */ faScaleUnbalanced),\n/* harmony export */ faScaleUnbalancedFlip: () => (/* binding */ faScaleUnbalancedFlip),\n/* harmony export */ faSchool: () => (/* binding */ faSchool),\n/* harmony export */ faSchoolCircleCheck: () => (/* binding */ faSchoolCircleCheck),\n/* harmony export */ faSchoolCircleExclamation: () => (/* binding */ faSchoolCircleExclamation),\n/* harmony export */ faSchoolCircleXmark: () => (/* binding */ faSchoolCircleXmark),\n/* harmony export */ faSchoolFlag: () => (/* binding */ faSchoolFlag),\n/* harmony export */ faSchoolLock: () => (/* binding */ faSchoolLock),\n/* harmony export */ faScissors: () => (/* binding */ faScissors),\n/* harmony export */ faScrewdriver: () => (/* binding */ faScrewdriver),\n/* harmony export */ faScrewdriverWrench: () => (/* binding */ faScrewdriverWrench),\n/* harmony export */ faScroll: () => (/* binding */ faScroll),\n/* harmony export */ faScrollTorah: () => (/* binding */ faScrollTorah),\n/* harmony export */ faSdCard: () => (/* binding */ faSdCard),\n/* harmony export */ faSearch: () => (/* binding */ faSearch),\n/* harmony export */ faSearchDollar: () => (/* binding */ faSearchDollar),\n/* harmony export */ faSearchLocation: () => (/* binding */ faSearchLocation),\n/* harmony export */ faSearchMinus: () => (/* binding */ faSearchMinus),\n/* harmony export */ faSearchPlus: () => (/* binding */ faSearchPlus),\n/* harmony export */ faSection: () => (/* binding */ faSection),\n/* harmony export */ faSeedling: () => (/* binding */ faSeedling),\n/* harmony export */ faServer: () => (/* binding */ faServer),\n/* harmony export */ faShapes: () => (/* binding */ faShapes),\n/* harmony export */ faShare: () => (/* binding */ faShare),\n/* harmony export */ faShareAlt: () => (/* binding */ faShareAlt),\n/* harmony export */ faShareAltSquare: () => (/* binding */ faShareAltSquare),\n/* harmony export */ faShareFromSquare: () => (/* binding */ faShareFromSquare),\n/* harmony export */ faShareNodes: () => (/* binding */ faShareNodes),\n/* harmony export */ faShareSquare: () => (/* binding */ faShareSquare),\n/* harmony export */ faSheetPlastic: () => (/* binding */ faSheetPlastic),\n/* harmony export */ faShekel: () => (/* binding */ faShekel),\n/* harmony export */ faShekelSign: () => (/* binding */ faShekelSign),\n/* harmony export */ faSheqel: () => (/* binding */ faSheqel),\n/* harmony export */ faSheqelSign: () => (/* binding */ faSheqelSign),\n/* harmony export */ faShield: () => (/* binding */ faShield),\n/* harmony export */ faShieldAlt: () => (/* binding */ faShieldAlt),\n/* harmony export */ faShieldBlank: () => (/* binding */ faShieldBlank),\n/* harmony export */ faShieldCat: () => (/* binding */ faShieldCat),\n/* harmony export */ faShieldDog: () => (/* binding */ faShieldDog),\n/* harmony export */ faShieldHalved: () => (/* binding */ faShieldHalved),\n/* harmony export */ faShieldHeart: () => (/* binding */ faShieldHeart),\n/* harmony export */ faShieldVirus: () => (/* binding */ faShieldVirus),\n/* harmony export */ faShip: () => (/* binding */ faShip),\n/* harmony export */ faShippingFast: () => (/* binding */ faShippingFast),\n/* harmony export */ faShirt: () => (/* binding */ faShirt),\n/* harmony export */ faShoePrints: () => (/* binding */ faShoePrints),\n/* harmony export */ faShop: () => (/* binding */ faShop),\n/* harmony export */ faShopLock: () => (/* binding */ faShopLock),\n/* harmony export */ faShopSlash: () => (/* binding */ faShopSlash),\n/* harmony export */ faShoppingBag: () => (/* binding */ faShoppingBag),\n/* harmony export */ faShoppingBasket: () => (/* binding */ faShoppingBasket),\n/* harmony export */ faShoppingCart: () => (/* binding */ faShoppingCart),\n/* harmony export */ faShower: () => (/* binding */ faShower),\n/* harmony export */ faShrimp: () => (/* binding */ faShrimp),\n/* harmony export */ faShuffle: () => (/* binding */ faShuffle),\n/* harmony export */ faShuttleSpace: () => (/* binding */ faShuttleSpace),\n/* harmony export */ faShuttleVan: () => (/* binding */ faShuttleVan),\n/* harmony export */ faSign: () => (/* binding */ faSign),\n/* harmony export */ faSignHanging: () => (/* binding */ faSignHanging),\n/* harmony export */ faSignIn: () => (/* binding */ faSignIn),\n/* harmony export */ faSignInAlt: () => (/* binding */ faSignInAlt),\n/* harmony export */ faSignLanguage: () => (/* binding */ faSignLanguage),\n/* harmony export */ faSignOut: () => (/* binding */ faSignOut),\n/* harmony export */ faSignOutAlt: () => (/* binding */ faSignOutAlt),\n/* harmony export */ faSignal: () => (/* binding */ faSignal),\n/* harmony export */ faSignal5: () => (/* binding */ faSignal5),\n/* harmony export */ faSignalPerfect: () => (/* binding */ faSignalPerfect),\n/* harmony export */ faSignature: () => (/* binding */ faSignature),\n/* harmony export */ faSigning: () => (/* binding */ faSigning),\n/* harmony export */ faSignsPost: () => (/* binding */ faSignsPost),\n/* harmony export */ faSimCard: () => (/* binding */ faSimCard),\n/* harmony export */ faSink: () => (/* binding */ faSink),\n/* harmony export */ faSitemap: () => (/* binding */ faSitemap),\n/* harmony export */ faSkating: () => (/* binding */ faSkating),\n/* harmony export */ faSkiing: () => (/* binding */ faSkiing),\n/* harmony export */ faSkiingNordic: () => (/* binding */ faSkiingNordic),\n/* harmony export */ faSkull: () => (/* binding */ faSkull),\n/* harmony export */ faSkullCrossbones: () => (/* binding */ faSkullCrossbones),\n/* harmony export */ faSlash: () => (/* binding */ faSlash),\n/* harmony export */ faSleigh: () => (/* binding */ faSleigh),\n/* harmony export */ faSliders: () => (/* binding */ faSliders),\n/* harmony export */ faSlidersH: () => (/* binding */ faSlidersH),\n/* harmony export */ faSmile: () => (/* binding */ faSmile),\n/* harmony export */ faSmileBeam: () => (/* binding */ faSmileBeam),\n/* harmony export */ faSmileWink: () => (/* binding */ faSmileWink),\n/* harmony export */ faSmog: () => (/* binding */ faSmog),\n/* harmony export */ faSmoking: () => (/* binding */ faSmoking),\n/* harmony export */ faSmokingBan: () => (/* binding */ faSmokingBan),\n/* harmony export */ faSms: () => (/* binding */ faSms),\n/* harmony export */ faSnowboarding: () => (/* binding */ faSnowboarding),\n/* harmony export */ faSnowflake: () => (/* binding */ faSnowflake),\n/* harmony export */ faSnowman: () => (/* binding */ faSnowman),\n/* harmony export */ faSnowplow: () => (/* binding */ faSnowplow),\n/* harmony export */ faSoap: () => (/* binding */ faSoap),\n/* harmony export */ faSoccerBall: () => (/* binding */ faSoccerBall),\n/* harmony export */ faSocks: () => (/* binding */ faSocks),\n/* harmony export */ faSolarPanel: () => (/* binding */ faSolarPanel),\n/* harmony export */ faSort: () => (/* binding */ faSort),\n/* harmony export */ faSortAlphaAsc: () => (/* binding */ faSortAlphaAsc),\n/* harmony export */ faSortAlphaDesc: () => (/* binding */ faSortAlphaDesc),\n/* harmony export */ faSortAlphaDown: () => (/* binding */ faSortAlphaDown),\n/* harmony export */ faSortAlphaDownAlt: () => (/* binding */ faSortAlphaDownAlt),\n/* harmony export */ faSortAlphaUp: () => (/* binding */ faSortAlphaUp),\n/* harmony export */ faSortAlphaUpAlt: () => (/* binding */ faSortAlphaUpAlt),\n/* harmony export */ faSortAmountAsc: () => (/* binding */ faSortAmountAsc),\n/* harmony export */ faSortAmountDesc: () => (/* binding */ faSortAmountDesc),\n/* harmony export */ faSortAmountDown: () => (/* binding */ faSortAmountDown),\n/* harmony export */ faSortAmountDownAlt: () => (/* binding */ faSortAmountDownAlt),\n/* harmony export */ faSortAmountUp: () => (/* binding */ faSortAmountUp),\n/* harmony export */ faSortAmountUpAlt: () => (/* binding */ faSortAmountUpAlt),\n/* harmony export */ faSortAsc: () => (/* binding */ faSortAsc),\n/* harmony export */ faSortDesc: () => (/* binding */ faSortDesc),\n/* harmony export */ faSortDown: () => (/* binding */ faSortDown),\n/* harmony export */ faSortNumericAsc: () => (/* binding */ faSortNumericAsc),\n/* harmony export */ faSortNumericDesc: () => (/* binding */ faSortNumericDesc),\n/* harmony export */ faSortNumericDown: () => (/* binding */ faSortNumericDown),\n/* harmony export */ faSortNumericDownAlt: () => (/* binding */ faSortNumericDownAlt),\n/* harmony export */ faSortNumericUp: () => (/* binding */ faSortNumericUp),\n/* harmony export */ faSortNumericUpAlt: () => (/* binding */ faSortNumericUpAlt),\n/* harmony export */ faSortUp: () => (/* binding */ faSortUp),\n/* harmony export */ faSpa: () => (/* binding */ faSpa),\n/* harmony export */ faSpaceShuttle: () => (/* binding */ faSpaceShuttle),\n/* harmony export */ faSpaghettiMonsterFlying: () => (/* binding */ faSpaghettiMonsterFlying),\n/* harmony export */ faSpellCheck: () => (/* binding */ faSpellCheck),\n/* harmony export */ faSpider: () => (/* binding */ faSpider),\n/* harmony export */ faSpinner: () => (/* binding */ faSpinner),\n/* harmony export */ faSplotch: () => (/* binding */ faSplotch),\n/* harmony export */ faSpoon: () => (/* binding */ faSpoon),\n/* harmony export */ faSprayCan: () => (/* binding */ faSprayCan),\n/* harmony export */ faSprayCanSparkles: () => (/* binding */ faSprayCanSparkles),\n/* harmony export */ faSprout: () => (/* binding */ faSprout),\n/* harmony export */ faSquare: () => (/* binding */ faSquare),\n/* harmony export */ faSquareArrowUpRight: () => (/* binding */ faSquareArrowUpRight),\n/* harmony export */ faSquareCaretDown: () => (/* binding */ faSquareCaretDown),\n/* harmony export */ faSquareCaretLeft: () => (/* binding */ faSquareCaretLeft),\n/* harmony export */ faSquareCaretRight: () => (/* binding */ faSquareCaretRight),\n/* harmony export */ faSquareCaretUp: () => (/* binding */ faSquareCaretUp),\n/* harmony export */ faSquareCheck: () => (/* binding */ faSquareCheck),\n/* harmony export */ faSquareEnvelope: () => (/* binding */ faSquareEnvelope),\n/* harmony export */ faSquareFull: () => (/* binding */ faSquareFull),\n/* harmony export */ faSquareH: () => (/* binding */ faSquareH),\n/* harmony export */ faSquareMinus: () => (/* binding */ faSquareMinus),\n/* harmony export */ faSquareNfi: () => (/* binding */ faSquareNfi),\n/* harmony export */ faSquareParking: () => (/* binding */ faSquareParking),\n/* harmony export */ faSquarePen: () => (/* binding */ faSquarePen),\n/* harmony export */ faSquarePersonConfined: () => (/* binding */ faSquarePersonConfined),\n/* harmony export */ faSquarePhone: () => (/* binding */ faSquarePhone),\n/* harmony export */ faSquarePhoneFlip: () => (/* binding */ faSquarePhoneFlip),\n/* harmony export */ faSquarePlus: () => (/* binding */ faSquarePlus),\n/* harmony export */ faSquarePollHorizontal: () => (/* binding */ faSquarePollHorizontal),\n/* harmony export */ faSquarePollVertical: () => (/* binding */ faSquarePollVertical),\n/* harmony export */ faSquareRootAlt: () => (/* binding */ faSquareRootAlt),\n/* harmony export */ faSquareRootVariable: () => (/* binding */ faSquareRootVariable),\n/* harmony export */ faSquareRss: () => (/* binding */ faSquareRss),\n/* harmony export */ faSquareShareNodes: () => (/* binding */ faSquareShareNodes),\n/* harmony export */ faSquareUpRight: () => (/* binding */ faSquareUpRight),\n/* harmony export */ faSquareVirus: () => (/* binding */ faSquareVirus),\n/* harmony export */ faSquareXmark: () => (/* binding */ faSquareXmark),\n/* harmony export */ faStaffAesculapius: () => (/* binding */ faStaffAesculapius),\n/* harmony export */ faStaffSnake: () => (/* binding */ faStaffSnake),\n/* harmony export */ faStairs: () => (/* binding */ faStairs),\n/* harmony export */ faStamp: () => (/* binding */ faStamp),\n/* harmony export */ faStapler: () => (/* binding */ faStapler),\n/* harmony export */ faStar: () => (/* binding */ faStar),\n/* harmony export */ faStarAndCrescent: () => (/* binding */ faStarAndCrescent),\n/* harmony export */ faStarHalf: () => (/* binding */ faStarHalf),\n/* harmony export */ faStarHalfAlt: () => (/* binding */ faStarHalfAlt),\n/* harmony export */ faStarHalfStroke: () => (/* binding */ faStarHalfStroke),\n/* harmony export */ faStarOfDavid: () => (/* binding */ faStarOfDavid),\n/* harmony export */ faStarOfLife: () => (/* binding */ faStarOfLife),\n/* harmony export */ faStepBackward: () => (/* binding */ faStepBackward),\n/* harmony export */ faStepForward: () => (/* binding */ faStepForward),\n/* harmony export */ faSterlingSign: () => (/* binding */ faSterlingSign),\n/* harmony export */ faStethoscope: () => (/* binding */ faStethoscope),\n/* harmony export */ faStickyNote: () => (/* binding */ faStickyNote),\n/* harmony export */ faStop: () => (/* binding */ faStop),\n/* harmony export */ faStopCircle: () => (/* binding */ faStopCircle),\n/* harmony export */ faStopwatch: () => (/* binding */ faStopwatch),\n/* harmony export */ faStopwatch20: () => (/* binding */ faStopwatch20),\n/* harmony export */ faStore: () => (/* binding */ faStore),\n/* harmony export */ faStoreAlt: () => (/* binding */ faStoreAlt),\n/* harmony export */ faStoreAltSlash: () => (/* binding */ faStoreAltSlash),\n/* harmony export */ faStoreSlash: () => (/* binding */ faStoreSlash),\n/* harmony export */ faStream: () => (/* binding */ faStream),\n/* harmony export */ faStreetView: () => (/* binding */ faStreetView),\n/* harmony export */ faStrikethrough: () => (/* binding */ faStrikethrough),\n/* harmony export */ faStroopwafel: () => (/* binding */ faStroopwafel),\n/* harmony export */ faSubscript: () => (/* binding */ faSubscript),\n/* harmony export */ faSubtract: () => (/* binding */ faSubtract),\n/* harmony export */ faSubway: () => (/* binding */ faSubway),\n/* harmony export */ faSuitcase: () => (/* binding */ faSuitcase),\n/* harmony export */ faSuitcaseMedical: () => (/* binding */ faSuitcaseMedical),\n/* harmony export */ faSuitcaseRolling: () => (/* binding */ faSuitcaseRolling),\n/* harmony export */ faSun: () => (/* binding */ faSun),\n/* harmony export */ faSunPlantWilt: () => (/* binding */ faSunPlantWilt),\n/* harmony export */ faSuperscript: () => (/* binding */ faSuperscript),\n/* harmony export */ faSurprise: () => (/* binding */ faSurprise),\n/* harmony export */ faSwatchbook: () => (/* binding */ faSwatchbook),\n/* harmony export */ faSwimmer: () => (/* binding */ faSwimmer),\n/* harmony export */ faSwimmingPool: () => (/* binding */ faSwimmingPool),\n/* harmony export */ faSynagogue: () => (/* binding */ faSynagogue),\n/* harmony export */ faSync: () => (/* binding */ faSync),\n/* harmony export */ faSyncAlt: () => (/* binding */ faSyncAlt),\n/* harmony export */ faSyringe: () => (/* binding */ faSyringe),\n/* harmony export */ faT: () => (/* binding */ faT),\n/* harmony export */ faTShirt: () => (/* binding */ faTShirt),\n/* harmony export */ faTable: () => (/* binding */ faTable),\n/* harmony export */ faTableCells: () => (/* binding */ faTableCells),\n/* harmony export */ faTableCellsLarge: () => (/* binding */ faTableCellsLarge),\n/* harmony export */ faTableColumns: () => (/* binding */ faTableColumns),\n/* harmony export */ faTableList: () => (/* binding */ faTableList),\n/* harmony export */ faTableTennis: () => (/* binding */ faTableTennis),\n/* harmony export */ faTableTennisPaddleBall: () => (/* binding */ faTableTennisPaddleBall),\n/* harmony export */ faTablet: () => (/* binding */ faTablet),\n/* harmony export */ faTabletAlt: () => (/* binding */ faTabletAlt),\n/* harmony export */ faTabletAndroid: () => (/* binding */ faTabletAndroid),\n/* harmony export */ faTabletButton: () => (/* binding */ faTabletButton),\n/* harmony export */ faTabletScreenButton: () => (/* binding */ faTabletScreenButton),\n/* harmony export */ faTablets: () => (/* binding */ faTablets),\n/* harmony export */ faTachographDigital: () => (/* binding */ faTachographDigital),\n/* harmony export */ faTachometer: () => (/* binding */ faTachometer),\n/* harmony export */ faTachometerAlt: () => (/* binding */ faTachometerAlt),\n/* harmony export */ faTachometerAltAverage: () => (/* binding */ faTachometerAltAverage),\n/* harmony export */ faTachometerAltFast: () => (/* binding */ faTachometerAltFast),\n/* harmony export */ faTachometerAverage: () => (/* binding */ faTachometerAverage),\n/* harmony export */ faTachometerFast: () => (/* binding */ faTachometerFast),\n/* harmony export */ faTag: () => (/* binding */ faTag),\n/* harmony export */ faTags: () => (/* binding */ faTags),\n/* harmony export */ faTanakh: () => (/* binding */ faTanakh),\n/* harmony export */ faTape: () => (/* binding */ faTape),\n/* harmony export */ faTarp: () => (/* binding */ faTarp),\n/* harmony export */ faTarpDroplet: () => (/* binding */ faTarpDroplet),\n/* harmony export */ faTasks: () => (/* binding */ faTasks),\n/* harmony export */ faTasksAlt: () => (/* binding */ faTasksAlt),\n/* harmony export */ faTaxi: () => (/* binding */ faTaxi),\n/* harmony export */ faTeeth: () => (/* binding */ faTeeth),\n/* harmony export */ faTeethOpen: () => (/* binding */ faTeethOpen),\n/* harmony export */ faTeletype: () => (/* binding */ faTeletype),\n/* harmony export */ faTelevision: () => (/* binding */ faTelevision),\n/* harmony export */ faTemperature0: () => (/* binding */ faTemperature0),\n/* harmony export */ faTemperature1: () => (/* binding */ faTemperature1),\n/* harmony export */ faTemperature2: () => (/* binding */ faTemperature2),\n/* harmony export */ faTemperature3: () => (/* binding */ faTemperature3),\n/* harmony export */ faTemperature4: () => (/* binding */ faTemperature4),\n/* harmony export */ faTemperatureArrowDown: () => (/* binding */ faTemperatureArrowDown),\n/* harmony export */ faTemperatureArrowUp: () => (/* binding */ faTemperatureArrowUp),\n/* harmony export */ faTemperatureDown: () => (/* binding */ faTemperatureDown),\n/* harmony export */ faTemperatureEmpty: () => (/* binding */ faTemperatureEmpty),\n/* harmony export */ faTemperatureFull: () => (/* binding */ faTemperatureFull),\n/* harmony export */ faTemperatureHalf: () => (/* binding */ faTemperatureHalf),\n/* harmony export */ faTemperatureHigh: () => (/* binding */ faTemperatureHigh),\n/* harmony export */ faTemperatureLow: () => (/* binding */ faTemperatureLow),\n/* harmony export */ faTemperatureQuarter: () => (/* binding */ faTemperatureQuarter),\n/* harmony export */ faTemperatureThreeQuarters: () => (/* binding */ faTemperatureThreeQuarters),\n/* harmony export */ faTemperatureUp: () => (/* binding */ faTemperatureUp),\n/* harmony export */ faTenge: () => (/* binding */ faTenge),\n/* harmony export */ faTengeSign: () => (/* binding */ faTengeSign),\n/* harmony export */ faTent: () => (/* binding */ faTent),\n/* harmony export */ faTentArrowDownToLine: () => (/* binding */ faTentArrowDownToLine),\n/* harmony export */ faTentArrowLeftRight: () => (/* binding */ faTentArrowLeftRight),\n/* harmony export */ faTentArrowTurnLeft: () => (/* binding */ faTentArrowTurnLeft),\n/* harmony export */ faTentArrowsDown: () => (/* binding */ faTentArrowsDown),\n/* harmony export */ faTents: () => (/* binding */ faTents),\n/* harmony export */ faTerminal: () => (/* binding */ faTerminal),\n/* harmony export */ faTextHeight: () => (/* binding */ faTextHeight),\n/* harmony export */ faTextSlash: () => (/* binding */ faTextSlash),\n/* harmony export */ faTextWidth: () => (/* binding */ faTextWidth),\n/* harmony export */ faTh: () => (/* binding */ faTh),\n/* harmony export */ faThLarge: () => (/* binding */ faThLarge),\n/* harmony export */ faThList: () => (/* binding */ faThList),\n/* harmony export */ faTheaterMasks: () => (/* binding */ faTheaterMasks),\n/* harmony export */ faThermometer: () => (/* binding */ faThermometer),\n/* harmony export */ faThermometer0: () => (/* binding */ faThermometer0),\n/* harmony export */ faThermometer1: () => (/* binding */ faThermometer1),\n/* harmony export */ faThermometer2: () => (/* binding */ faThermometer2),\n/* harmony export */ faThermometer3: () => (/* binding */ faThermometer3),\n/* harmony export */ faThermometer4: () => (/* binding */ faThermometer4),\n/* harmony export */ faThermometerEmpty: () => (/* binding */ faThermometerEmpty),\n/* harmony export */ faThermometerFull: () => (/* binding */ faThermometerFull),\n/* harmony export */ faThermometerHalf: () => (/* binding */ faThermometerHalf),\n/* harmony export */ faThermometerQuarter: () => (/* binding */ faThermometerQuarter),\n/* harmony export */ faThermometerThreeQuarters: () => (/* binding */ faThermometerThreeQuarters),\n/* harmony export */ faThumbTack: () => (/* binding */ faThumbTack),\n/* harmony export */ faThumbsDown: () => (/* binding */ faThumbsDown),\n/* harmony export */ faThumbsUp: () => (/* binding */ faThumbsUp),\n/* harmony export */ faThumbtack: () => (/* binding */ faThumbtack),\n/* harmony export */ faThunderstorm: () => (/* binding */ faThunderstorm),\n/* harmony export */ faTicket: () => (/* binding */ faTicket),\n/* harmony export */ faTicketAlt: () => (/* binding */ faTicketAlt),\n/* harmony export */ faTicketSimple: () => (/* binding */ faTicketSimple),\n/* harmony export */ faTimeline: () => (/* binding */ faTimeline),\n/* harmony export */ faTimes: () => (/* binding */ faTimes),\n/* harmony export */ faTimesCircle: () => (/* binding */ faTimesCircle),\n/* harmony export */ faTimesRectangle: () => (/* binding */ faTimesRectangle),\n/* harmony export */ faTimesSquare: () => (/* binding */ faTimesSquare),\n/* harmony export */ faTint: () => (/* binding */ faTint),\n/* harmony export */ faTintSlash: () => (/* binding */ faTintSlash),\n/* harmony export */ faTired: () => (/* binding */ faTired),\n/* harmony export */ faToggleOff: () => (/* binding */ faToggleOff),\n/* harmony export */ faToggleOn: () => (/* binding */ faToggleOn),\n/* harmony export */ faToilet: () => (/* binding */ faToilet),\n/* harmony export */ faToiletPaper: () => (/* binding */ faToiletPaper),\n/* harmony export */ faToiletPaperSlash: () => (/* binding */ faToiletPaperSlash),\n/* harmony export */ faToiletPortable: () => (/* binding */ faToiletPortable),\n/* harmony export */ faToiletsPortable: () => (/* binding */ faToiletsPortable),\n/* harmony export */ faToolbox: () => (/* binding */ faToolbox),\n/* harmony export */ faTools: () => (/* binding */ faTools),\n/* harmony export */ faTooth: () => (/* binding */ faTooth),\n/* harmony export */ faTorah: () => (/* binding */ faTorah),\n/* harmony export */ faToriiGate: () => (/* binding */ faToriiGate),\n/* harmony export */ faTornado: () => (/* binding */ faTornado),\n/* harmony export */ faTowerBroadcast: () => (/* binding */ faTowerBroadcast),\n/* harmony export */ faTowerCell: () => (/* binding */ faTowerCell),\n/* harmony export */ faTowerObservation: () => (/* binding */ faTowerObservation),\n/* harmony export */ faTractor: () => (/* binding */ faTractor),\n/* harmony export */ faTrademark: () => (/* binding */ faTrademark),\n/* harmony export */ faTrafficLight: () => (/* binding */ faTrafficLight),\n/* harmony export */ faTrailer: () => (/* binding */ faTrailer),\n/* harmony export */ faTrain: () => (/* binding */ faTrain),\n/* harmony export */ faTrainSubway: () => (/* binding */ faTrainSubway),\n/* harmony export */ faTrainTram: () => (/* binding */ faTrainTram),\n/* harmony export */ faTram: () => (/* binding */ faTram),\n/* harmony export */ faTransgender: () => (/* binding */ faTransgender),\n/* harmony export */ faTransgenderAlt: () => (/* binding */ faTransgenderAlt),\n/* harmony export */ faTrash: () => (/* binding */ faTrash),\n/* harmony export */ faTrashAlt: () => (/* binding */ faTrashAlt),\n/* harmony export */ faTrashArrowUp: () => (/* binding */ faTrashArrowUp),\n/* harmony export */ faTrashCan: () => (/* binding */ faTrashCan),\n/* harmony export */ faTrashCanArrowUp: () => (/* binding */ faTrashCanArrowUp),\n/* harmony export */ faTrashRestore: () => (/* binding */ faTrashRestore),\n/* harmony export */ faTrashRestoreAlt: () => (/* binding */ faTrashRestoreAlt),\n/* harmony export */ faTree: () => (/* binding */ faTree),\n/* harmony export */ faTreeCity: () => (/* binding */ faTreeCity),\n/* harmony export */ faTriangleCircleSquare: () => (/* binding */ faTriangleCircleSquare),\n/* harmony export */ faTriangleExclamation: () => (/* binding */ faTriangleExclamation),\n/* harmony export */ faTrophy: () => (/* binding */ faTrophy),\n/* harmony export */ faTrowel: () => (/* binding */ faTrowel),\n/* harmony export */ faTrowelBricks: () => (/* binding */ faTrowelBricks),\n/* harmony export */ faTruck: () => (/* binding */ faTruck),\n/* harmony export */ faTruckArrowRight: () => (/* binding */ faTruckArrowRight),\n/* harmony export */ faTruckDroplet: () => (/* binding */ faTruckDroplet),\n/* harmony export */ faTruckFast: () => (/* binding */ faTruckFast),\n/* harmony export */ faTruckField: () => (/* binding */ faTruckField),\n/* harmony export */ faTruckFieldUn: () => (/* binding */ faTruckFieldUn),\n/* harmony export */ faTruckFront: () => (/* binding */ faTruckFront),\n/* harmony export */ faTruckLoading: () => (/* binding */ faTruckLoading),\n/* harmony export */ faTruckMedical: () => (/* binding */ faTruckMedical),\n/* harmony export */ faTruckMonster: () => (/* binding */ faTruckMonster),\n/* harmony export */ faTruckMoving: () => (/* binding */ faTruckMoving),\n/* harmony export */ faTruckPickup: () => (/* binding */ faTruckPickup),\n/* harmony export */ faTruckPlane: () => (/* binding */ faTruckPlane),\n/* harmony export */ faTruckRampBox: () => (/* binding */ faTruckRampBox),\n/* harmony export */ faTry: () => (/* binding */ faTry),\n/* harmony export */ faTshirt: () => (/* binding */ faTshirt),\n/* harmony export */ faTty: () => (/* binding */ faTty),\n/* harmony export */ faTurkishLira: () => (/* binding */ faTurkishLira),\n/* harmony export */ faTurkishLiraSign: () => (/* binding */ faTurkishLiraSign),\n/* harmony export */ faTurnDown: () => (/* binding */ faTurnDown),\n/* harmony export */ faTurnUp: () => (/* binding */ faTurnUp),\n/* harmony export */ faTv: () => (/* binding */ faTv),\n/* harmony export */ faTvAlt: () => (/* binding */ faTvAlt),\n/* harmony export */ faU: () => (/* binding */ faU),\n/* harmony export */ faUmbrella: () => (/* binding */ faUmbrella),\n/* harmony export */ faUmbrellaBeach: () => (/* binding */ faUmbrellaBeach),\n/* harmony export */ faUnderline: () => (/* binding */ faUnderline),\n/* harmony export */ faUndo: () => (/* binding */ faUndo),\n/* harmony export */ faUndoAlt: () => (/* binding */ faUndoAlt),\n/* harmony export */ faUniversalAccess: () => (/* binding */ faUniversalAccess),\n/* harmony export */ faUniversity: () => (/* binding */ faUniversity),\n/* harmony export */ faUnlink: () => (/* binding */ faUnlink),\n/* harmony export */ faUnlock: () => (/* binding */ faUnlock),\n/* harmony export */ faUnlockAlt: () => (/* binding */ faUnlockAlt),\n/* harmony export */ faUnlockKeyhole: () => (/* binding */ faUnlockKeyhole),\n/* harmony export */ faUnsorted: () => (/* binding */ faUnsorted),\n/* harmony export */ faUpDown: () => (/* binding */ faUpDown),\n/* harmony export */ faUpDownLeftRight: () => (/* binding */ faUpDownLeftRight),\n/* harmony export */ faUpLong: () => (/* binding */ faUpLong),\n/* harmony export */ faUpRightAndDownLeftFromCenter: () => (/* binding */ faUpRightAndDownLeftFromCenter),\n/* harmony export */ faUpRightFromSquare: () => (/* binding */ faUpRightFromSquare),\n/* harmony export */ faUpload: () => (/* binding */ faUpload),\n/* harmony export */ faUsd: () => (/* binding */ faUsd),\n/* harmony export */ faUser: () => (/* binding */ faUser),\n/* harmony export */ faUserAlt: () => (/* binding */ faUserAlt),\n/* harmony export */ faUserAltSlash: () => (/* binding */ faUserAltSlash),\n/* harmony export */ faUserAstronaut: () => (/* binding */ faUserAstronaut),\n/* harmony export */ faUserCheck: () => (/* binding */ faUserCheck),\n/* harmony export */ faUserCircle: () => (/* binding */ faUserCircle),\n/* harmony export */ faUserClock: () => (/* binding */ faUserClock),\n/* harmony export */ faUserCog: () => (/* binding */ faUserCog),\n/* harmony export */ faUserDoctor: () => (/* binding */ faUserDoctor),\n/* harmony export */ faUserEdit: () => (/* binding */ faUserEdit),\n/* harmony export */ faUserFriends: () => (/* binding */ faUserFriends),\n/* harmony export */ faUserGear: () => (/* binding */ faUserGear),\n/* harmony export */ faUserGraduate: () => (/* binding */ faUserGraduate),\n/* harmony export */ faUserGroup: () => (/* binding */ faUserGroup),\n/* harmony export */ faUserInjured: () => (/* binding */ faUserInjured),\n/* harmony export */ faUserLarge: () => (/* binding */ faUserLarge),\n/* harmony export */ faUserLargeSlash: () => (/* binding */ faUserLargeSlash),\n/* harmony export */ faUserLock: () => (/* binding */ faUserLock),\n/* harmony export */ faUserMd: () => (/* binding */ faUserMd),\n/* harmony export */ faUserMinus: () => (/* binding */ faUserMinus),\n/* harmony export */ faUserNinja: () => (/* binding */ faUserNinja),\n/* harmony export */ faUserNurse: () => (/* binding */ faUserNurse),\n/* harmony export */ faUserPen: () => (/* binding */ faUserPen),\n/* harmony export */ faUserPlus: () => (/* binding */ faUserPlus),\n/* harmony export */ faUserSecret: () => (/* binding */ faUserSecret),\n/* harmony export */ faUserShield: () => (/* binding */ faUserShield),\n/* harmony export */ faUserSlash: () => (/* binding */ faUserSlash),\n/* harmony export */ faUserTag: () => (/* binding */ faUserTag),\n/* harmony export */ faUserTie: () => (/* binding */ faUserTie),\n/* harmony export */ faUserTimes: () => (/* binding */ faUserTimes),\n/* harmony export */ faUserXmark: () => (/* binding */ faUserXmark),\n/* harmony export */ faUsers: () => (/* binding */ faUsers),\n/* harmony export */ faUsersBetweenLines: () => (/* binding */ faUsersBetweenLines),\n/* harmony export */ faUsersCog: () => (/* binding */ faUsersCog),\n/* harmony export */ faUsersGear: () => (/* binding */ faUsersGear),\n/* harmony export */ faUsersLine: () => (/* binding */ faUsersLine),\n/* harmony export */ faUsersRays: () => (/* binding */ faUsersRays),\n/* harmony export */ faUsersRectangle: () => (/* binding */ faUsersRectangle),\n/* harmony export */ faUsersSlash: () => (/* binding */ faUsersSlash),\n/* harmony export */ faUsersViewfinder: () => (/* binding */ faUsersViewfinder),\n/* harmony export */ faUtensilSpoon: () => (/* binding */ faUtensilSpoon),\n/* harmony export */ faUtensils: () => (/* binding */ faUtensils),\n/* harmony export */ faV: () => (/* binding */ faV),\n/* harmony export */ faVanShuttle: () => (/* binding */ faVanShuttle),\n/* harmony export */ faVault: () => (/* binding */ faVault),\n/* harmony export */ faVcard: () => (/* binding */ faVcard),\n/* harmony export */ faVectorSquare: () => (/* binding */ faVectorSquare),\n/* harmony export */ faVenus: () => (/* binding */ faVenus),\n/* harmony export */ faVenusDouble: () => (/* binding */ faVenusDouble),\n/* harmony export */ faVenusMars: () => (/* binding */ faVenusMars),\n/* harmony export */ faVest: () => (/* binding */ faVest),\n/* harmony export */ faVestPatches: () => (/* binding */ faVestPatches),\n/* harmony export */ faVial: () => (/* binding */ faVial),\n/* harmony export */ faVialCircleCheck: () => (/* binding */ faVialCircleCheck),\n/* harmony export */ faVialVirus: () => (/* binding */ faVialVirus),\n/* harmony export */ faVials: () => (/* binding */ faVials),\n/* harmony export */ faVideo: () => (/* binding */ faVideo),\n/* harmony export */ faVideoCamera: () => (/* binding */ faVideoCamera),\n/* harmony export */ faVideoSlash: () => (/* binding */ faVideoSlash),\n/* harmony export */ faVihara: () => (/* binding */ faVihara),\n/* harmony export */ faVirus: () => (/* binding */ faVirus),\n/* harmony export */ faVirusCovid: () => (/* binding */ faVirusCovid),\n/* harmony export */ faVirusCovidSlash: () => (/* binding */ faVirusCovidSlash),\n/* harmony export */ faVirusSlash: () => (/* binding */ faVirusSlash),\n/* harmony export */ faViruses: () => (/* binding */ faViruses),\n/* harmony export */ faVoicemail: () => (/* binding */ faVoicemail),\n/* harmony export */ faVolcano: () => (/* binding */ faVolcano),\n/* harmony export */ faVolleyball: () => (/* binding */ faVolleyball),\n/* harmony export */ faVolleyballBall: () => (/* binding */ faVolleyballBall),\n/* harmony export */ faVolumeControlPhone: () => (/* binding */ faVolumeControlPhone),\n/* harmony export */ faVolumeDown: () => (/* binding */ faVolumeDown),\n/* harmony export */ faVolumeHigh: () => (/* binding */ faVolumeHigh),\n/* harmony export */ faVolumeLow: () => (/* binding */ faVolumeLow),\n/* harmony export */ faVolumeMute: () => (/* binding */ faVolumeMute),\n/* harmony export */ faVolumeOff: () => (/* binding */ faVolumeOff),\n/* harmony export */ faVolumeTimes: () => (/* binding */ faVolumeTimes),\n/* harmony export */ faVolumeUp: () => (/* binding */ faVolumeUp),\n/* harmony export */ faVolumeXmark: () => (/* binding */ faVolumeXmark),\n/* harmony export */ faVoteYea: () => (/* binding */ faVoteYea),\n/* harmony export */ faVrCardboard: () => (/* binding */ faVrCardboard),\n/* harmony export */ faW: () => (/* binding */ faW),\n/* harmony export */ faWalkieTalkie: () => (/* binding */ faWalkieTalkie),\n/* harmony export */ faWalking: () => (/* binding */ faWalking),\n/* harmony export */ faWallet: () => (/* binding */ faWallet),\n/* harmony export */ faWandMagic: () => (/* binding */ faWandMagic),\n/* harmony export */ faWandMagicSparkles: () => (/* binding */ faWandMagicSparkles),\n/* harmony export */ faWandSparkles: () => (/* binding */ faWandSparkles),\n/* harmony export */ faWarehouse: () => (/* binding */ faWarehouse),\n/* harmony export */ faWarning: () => (/* binding */ faWarning),\n/* harmony export */ faWater: () => (/* binding */ faWater),\n/* harmony export */ faWaterLadder: () => (/* binding */ faWaterLadder),\n/* harmony export */ faWaveSquare: () => (/* binding */ faWaveSquare),\n/* harmony export */ faWeight: () => (/* binding */ faWeight),\n/* harmony export */ faWeightHanging: () => (/* binding */ faWeightHanging),\n/* harmony export */ faWeightScale: () => (/* binding */ faWeightScale),\n/* harmony export */ faWheatAlt: () => (/* binding */ faWheatAlt),\n/* harmony export */ faWheatAwn: () => (/* binding */ faWheatAwn),\n/* harmony export */ faWheatAwnCircleExclamation: () => (/* binding */ faWheatAwnCircleExclamation),\n/* harmony export */ faWheelchair: () => (/* binding */ faWheelchair),\n/* harmony export */ faWheelchairAlt: () => (/* binding */ faWheelchairAlt),\n/* harmony export */ faWheelchairMove: () => (/* binding */ faWheelchairMove),\n/* harmony export */ faWhiskeyGlass: () => (/* binding */ faWhiskeyGlass),\n/* harmony export */ faWifi: () => (/* binding */ faWifi),\n/* harmony export */ faWifi3: () => (/* binding */ faWifi3),\n/* harmony export */ faWifiStrong: () => (/* binding */ faWifiStrong),\n/* harmony export */ faWind: () => (/* binding */ faWind),\n/* harmony export */ faWindowClose: () => (/* binding */ faWindowClose),\n/* harmony export */ faWindowMaximize: () => (/* binding */ faWindowMaximize),\n/* harmony export */ faWindowMinimize: () => (/* binding */ faWindowMinimize),\n/* harmony export */ faWindowRestore: () => (/* binding */ faWindowRestore),\n/* harmony export */ faWineBottle: () => (/* binding */ faWineBottle),\n/* harmony export */ faWineGlass: () => (/* binding */ faWineGlass),\n/* harmony export */ faWineGlassAlt: () => (/* binding */ faWineGlassAlt),\n/* harmony export */ faWineGlassEmpty: () => (/* binding */ faWineGlassEmpty),\n/* harmony export */ faWon: () => (/* binding */ faWon),\n/* harmony export */ faWonSign: () => (/* binding */ faWonSign),\n/* harmony export */ faWorm: () => (/* binding */ faWorm),\n/* harmony export */ faWrench: () => (/* binding */ faWrench),\n/* harmony export */ faX: () => (/* binding */ faX),\n/* harmony export */ faXRay: () => (/* binding */ faXRay),\n/* harmony export */ faXmark: () => (/* binding */ faXmark),\n/* harmony export */ faXmarkCircle: () => (/* binding */ faXmarkCircle),\n/* harmony export */ faXmarkSquare: () => (/* binding */ faXmarkSquare),\n/* harmony export */ faXmarksLines: () => (/* binding */ faXmarksLines),\n/* harmony export */ faY: () => (/* binding */ faY),\n/* harmony export */ faYen: () => (/* binding */ faYen),\n/* harmony export */ faYenSign: () => (/* binding */ faYenSign),\n/* harmony export */ faYinYang: () => (/* binding */ faYinYang),\n/* harmony export */ faZ: () => (/* binding */ faZ),\n/* harmony export */ faZap: () => (/* binding */ faZap),\n/* harmony export */ fas: () => (/* binding */ icons),\n/* harmony export */ prefix: () => (/* binding */ prefix)\n/* harmony export */ });\nvar prefix = \"fas\";\nvar fa0 = {\n prefix: 'fas',\n iconName: '0',\n icon: [320, 512, [], \"30\", \"M0 192C0 103.6 71.6 32 160 32s160 71.6 160 160V320c0 88.4-71.6 160-160 160S0 408.4 0 320V192zM160 96c-53 0-96 43-96 96V320c0 53 43 96 96 96s96-43 96-96V192c0-53-43-96-96-96z\"]\n};\nvar fa1 = {\n prefix: 'fas',\n iconName: '1',\n icon: [256, 512, [], \"31\", \"M160 64c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.8 1.6l-96 64C-.5 111.2-4.4 131 5.4 145.8s29.7 18.7 44.4 8.9L96 123.8V416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160V64z\"]\n};\nvar fa2 = {\n prefix: 'fas',\n iconName: '2',\n icon: [320, 512, [], \"32\", \"M142.9 96c-21.5 0-42.2 8.5-57.4 23.8L54.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L40.2 74.5C67.5 47.3 104.4 32 142.9 32C223 32 288 97 288 177.1c0 38.5-15.3 75.4-42.5 102.6L109.3 416H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L200.2 234.5c15.2-15.2 23.8-35.9 23.8-57.4c0-44.8-36.3-81.1-81.1-81.1z\"]\n};\nvar fa3 = {\n prefix: 'fas',\n iconName: '3',\n icon: [320, 512, [], \"33\", \"M0 64C0 46.3 14.3 32 32 32H272c13.2 0 25 8.1 29.8 20.4s1.5 26.3-8.2 35.2L162.3 208H184c75.1 0 136 60.9 136 136s-60.9 136-136 136H105.4C63 480 24.2 456 5.3 418.1l-1.9-3.8c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l1.9 3.8c8.1 16.3 24.8 26.5 42.9 26.5H184c39.8 0 72-32.2 72-72s-32.2-72-72-72H80c-13.2 0-25-8.1-29.8-20.4s-1.5-26.3 8.2-35.2L189.7 96H32C14.3 96 0 81.7 0 64z\"]\n};\nvar fa4 = {\n prefix: 'fas',\n iconName: '4',\n icon: [384, 512, [], \"34\", \"M189 77.6c7.5-16 .7-35.1-15.3-42.6s-35.1-.7-42.6 15.3L3 322.4c-4.7 9.9-3.9 21.5 1.9 30.8S21 368 32 368H256v80c0 17.7 14.3 32 32 32s32-14.3 32-32V368h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V304H82.4L189 77.6z\"]\n};\nvar fa5 = {\n prefix: 'fas',\n iconName: '5',\n icon: [320, 512, [], \"35\", \"M32.5 58.3C35.3 43.1 48.5 32 64 32H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H90.7L70.3 208H184c75.1 0 136 60.9 136 136s-60.9 136-136 136H100.5c-39.4 0-75.4-22.3-93-57.5l-4.1-8.2c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l4.1 8.2c6.8 13.6 20.6 22.1 35.8 22.1H184c39.8 0 72-32.2 72-72s-32.2-72-72-72H32c-9.5 0-18.5-4.2-24.6-11.5s-8.6-16.9-6.9-26.2l32-176z\"]\n};\nvar fa6 = {\n prefix: 'fas',\n iconName: '6',\n icon: [320, 512, [], \"36\", \"M232.4 84.7c11.4-13.5 9.7-33.7-3.8-45.1s-33.7-9.7-45.1 3.8L38.6 214.7C14.7 242.9 1.1 278.4 .1 315.2c0 1.4-.1 2.9-.1 4.3c0 .2 0 .3 0 .5c0 88.4 71.6 160 160 160s160-71.6 160-160c0-85.5-67.1-155.4-151.5-159.8l63.9-75.6zM256 320A96 96 0 1 1 64 320a96 96 0 1 1 192 0z\"]\n};\nvar fa7 = {\n prefix: 'fas',\n iconName: '7',\n icon: [320, 512, [], \"37\", \"M0 64C0 46.3 14.3 32 32 32H288c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-224 384c-8.9 15.3-28.5 20.4-43.8 11.5s-20.4-28.5-11.5-43.8L232.3 96H32C14.3 96 0 81.7 0 64z\"]\n};\nvar fa8 = {\n prefix: 'fas',\n iconName: '8',\n icon: [320, 512, [], \"38\", \"M304 160c0-70.7-57.3-128-128-128H144C73.3 32 16 89.3 16 160c0 34.6 13.7 66 36 89C20.5 272.3 0 309.8 0 352c0 70.7 57.3 128 128 128h64c70.7 0 128-57.3 128-128c0-42.2-20.5-79.7-52-103c22.3-23 36-54.4 36-89zM176.1 288H192c35.3 0 64 28.7 64 64s-28.7 64-64 64H128c-35.3 0-64-28.7-64-64s28.7-64 64-64h15.9c0 0 .1 0 .1 0h32c0 0 .1 0 .1 0zm0-64c0 0 0 0 0 0H144c0 0 0 0 0 0c-35.3 0-64-28.7-64-64c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64c0 35.3-28.6 64-64 64z\"]\n};\nvar fa9 = {\n prefix: 'fas',\n iconName: '9',\n icon: [320, 512, [], \"39\", \"M64 192a96 96 0 1 0 192 0A96 96 0 1 0 64 192zm87.5 159.8C67.1 347.4 0 277.5 0 192C0 103.6 71.6 32 160 32s160 71.6 160 160c0 2.6-.1 5.3-.2 7.9c-1.7 35.7-15.2 70-38.4 97.4l-145 171.4c-11.4 13.5-31.6 15.2-45.1 3.8s-15.2-31.6-3.8-45.1l63.9-75.6z\"]\n};\nvar faFillDrip = {\n prefix: 'fas',\n iconName: 'fill-drip',\n icon: [576, 512, [], \"f576\", \"M41.4 9.4C53.9-3.1 74.1-3.1 86.6 9.4L168 90.7l53.1-53.1c28.1-28.1 73.7-28.1 101.8 0L474.3 189.1c28.1 28.1 28.1 73.7 0 101.8L283.9 481.4c-37.5 37.5-98.3 37.5-135.8 0L30.6 363.9c-37.5-37.5-37.5-98.3 0-135.8L122.7 136 41.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm176 221.3L168 181.3 75.9 273.4c-4.2 4.2-7 9.3-8.4 14.6H386.7l42.3-42.3c3.1-3.1 3.1-8.2 0-11.3L277.7 82.9c-3.1-3.1-8.2-3.1-11.3 0L213.3 136l49.4 49.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0zM512 512c-35.3 0-64-28.7-64-64c0-25.2 32.6-79.6 51.2-108.7c6-9.4 19.5-9.4 25.5 0C543.4 368.4 576 422.8 576 448c0 35.3-28.7 64-64 64z\"]\n};\nvar faArrowsToCircle = {\n prefix: 'fas',\n iconName: 'arrows-to-circle',\n icon: [640, 512, [], \"e4bd\", \"M9.4 9.4C21.9-3.1 42.1-3.1 54.6 9.4L160 114.7V96c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 4.3-.9 8.5-2.4 12.2c-1.6 3.7-3.8 7.3-6.9 10.3l-.1 .1c-3.1 3-6.6 5.3-10.3 6.9c-3.8 1.6-7.9 2.4-12.2 2.4H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h18.7L9.4 54.6C-3.1 42.1-3.1 21.9 9.4 9.4zM256 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM114.7 352H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h96 0l.1 0c8.8 0 16.7 3.6 22.5 9.3l.1 .1c3 3.1 5.3 6.6 6.9 10.3c1.6 3.8 2.4 7.9 2.4 12.2v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L114.7 352zM416 96c0-17.7 14.3-32 32-32s32 14.3 32 32v18.7L585.4 9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 160H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H448c-8.8 0-16.8-3.6-22.6-9.3l-.1-.1c-3-3.1-5.3-6.6-6.9-10.3s-2.4-7.8-2.4-12.2l0-.1v0V96zM525.3 352L630.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L480 397.3V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V320v0c0 0 0-.1 0-.1c0-4.3 .9-8.4 2.4-12.2c1.6-3.8 3.9-7.3 6.9-10.4c5.8-5.8 13.7-9.3 22.5-9.4c0 0 .1 0 .1 0h0 96c17.7 0 32 14.3 32 32s-14.3 32-32 32H525.3z\"]\n};\nvar faCircleChevronRight = {\n prefix: 'fas',\n iconName: 'circle-chevron-right',\n icon: [512, 512, [\"chevron-circle-right\"], \"f138\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM241 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L345 239c9.4 9.4 9.4 24.6 0 33.9L241 377z\"]\n};\nvar faChevronCircleRight = faCircleChevronRight;\nvar faAt = {\n prefix: 'fas',\n iconName: 'at',\n icon: [512, 512, [61946], \"40\", \"M256 64C150 64 64 150 64 256s86 192 192 192c17.7 0 32 14.3 32 32s-14.3 32-32 32C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256v32c0 53-43 96-96 96c-29.3 0-55.6-13.2-73.2-33.9C320 371.1 289.5 384 256 384c-70.7 0-128-57.3-128-128s57.3-128 128-128c27.9 0 53.7 8.9 74.7 24.1c5.7-5 13.1-8.1 21.3-8.1c17.7 0 32 14.3 32 32v80 32c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-106-86-192-192-192zm64 192a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faTrashCan = {\n prefix: 'fas',\n iconName: 'trash-can',\n icon: [448, 512, [61460, \"trash-alt\"], \"f2ed\", \"M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zm96 64c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16z\"]\n};\nvar faTrashAlt = faTrashCan;\nvar faTextHeight = {\n prefix: 'fas',\n iconName: 'text-height',\n icon: [576, 512, [], \"f034\", \"M64 128V96h64l0 320H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H192l0-320h64v32c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-26.5-21.5-48-48-48H160 48C21.5 32 0 53.5 0 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32zM502.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32V352H416c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H512V160h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z\"]\n};\nvar faUserXmark = {\n prefix: 'fas',\n iconName: 'user-xmark',\n icon: [640, 512, [\"user-times\"], \"f235\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM471 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faUserTimes = faUserXmark;\nvar faStethoscope = {\n prefix: 'fas',\n iconName: 'stethoscope',\n icon: [576, 512, [129658], \"f0f1\", \"M142.4 21.9c5.6 16.8-3.5 34.9-20.2 40.5L96 71.1V192c0 53 43 96 96 96s96-43 96-96V71.1l-26.1-8.7c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l26.1 8.7C334.4 19.1 352 43.5 352 71.1V192c0 77.2-54.6 141.6-127.3 156.7C231 404.6 278.4 448 336 448c61.9 0 112-50.1 112-112V265.3c-28.3-12.3-48-40.5-48-73.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V336c0 97.2-78.8 176-176 176c-92.9 0-168.9-71.9-175.5-163.1C87.2 334.2 32 269.6 32 192V71.1c0-27.5 17.6-52 43.8-60.7l26.1-8.7c16.8-5.6 34.9 3.5 40.5 20.2zM480 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faMessage = {\n prefix: 'fas',\n iconName: 'message',\n icon: [512, 512, [\"comment-alt\"], \"f27a\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h96v80c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faCommentAlt = faMessage;\nvar faInfo = {\n prefix: 'fas',\n iconName: 'info',\n icon: [192, 512, [], \"f129\", \"M48 80a48 48 0 1 1 96 0A48 48 0 1 1 48 80zM0 224c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32V448h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64V256H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faDownLeftAndUpRightToCenter = {\n prefix: 'fas',\n iconName: 'down-left-and-up-right-to-center',\n icon: [512, 512, [\"compress-alt\"], \"f422\", \"M439 7c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8H296c-13.3 0-24-10.7-24-24V72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39L439 7zM72 272H216c13.3 0 24 10.7 24 24V440c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39L73 505c-9.4 9.4-24.6 9.4-33.9 0L7 473c-9.4-9.4-9.4-24.6 0-33.9l87-87L55 313c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8z\"]\n};\nvar faCompressAlt = faDownLeftAndUpRightToCenter;\nvar faExplosion = {\n prefix: 'fas',\n iconName: 'explosion',\n icon: [576, 512, [], \"e4e9\", \"M499.6 11.3c6.7-10.7 20.5-14.5 31.7-8.5s15.8 19.5 10.6 31L404.8 338.6c2.2 2.3 4.3 4.7 6.3 7.1l97.2-54.7c10.5-5.9 23.6-3.1 30.9 6.4s6.3 23-2.2 31.5l-87 87H378.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H117.8L42.3 363.7c-9.7-6.7-13.1-19.6-7.9-30.3s17.4-15.9 28.7-12.4l97.2 30.4c3-3.9 6.1-7.7 9.4-11.3L107.4 236.3c-6.1-10.1-3.9-23.1 5.1-30.7s22.2-7.5 31.1 .1L246 293.6c1.5-.4 3-.8 4.5-1.1l13.6-142.7c1.2-12.3 11.5-21.7 23.9-21.7s22.7 9.4 23.9 21.7l13.5 141.9L499.6 11.3zM64 448v0H512v0h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64zM288 0c13.3 0 24 10.7 24 24V72c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24z\"]\n};\nvar faFileLines = {\n prefix: 'fas',\n iconName: 'file-lines',\n icon: [384, 512, [128441, 128462, 61686, \"file-alt\", \"file-text\"], \"f15c\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM112 256H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFileAlt = faFileLines;\nvar faFileText = faFileLines;\nvar faWaveSquare = {\n prefix: 'fas',\n iconName: 'wave-square',\n icon: [640, 512, [], \"f83e\", \"M128 64c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32V416h96V256c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H512V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V96H192V256c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h96V64z\"]\n};\nvar faRing = {\n prefix: 'fas',\n iconName: 'ring',\n icon: [512, 512, [], \"f70b\", \"M64 208c0 7.8 4.4 18.7 17.1 30.3C126.5 214.1 188.9 200 256 200s129.5 14.1 174.9 38.3C443.6 226.7 448 215.8 448 208c0-12.3-10.8-32-47.9-50.6C364.9 139.8 314 128 256 128s-108.9 11.8-144.1 29.4C74.8 176 64 195.7 64 208zm192 40c-47 0-89.3 7.6-122.9 19.7C166.3 280.2 208.8 288 256 288s89.7-7.8 122.9-20.3C345.3 255.6 303 248 256 248zM0 208c0-49.6 39.4-85.8 83.3-107.8C129.1 77.3 190.3 64 256 64s126.9 13.3 172.7 36.2c43.9 22 83.3 58.2 83.3 107.8v96c0 49.6-39.4 85.8-83.3 107.8C382.9 434.7 321.7 448 256 448s-126.9-13.3-172.7-36.2C39.4 389.8 0 353.6 0 304V208z\"]\n};\nvar faBuildingUn = {\n prefix: 'fas',\n iconName: 'building-un',\n icon: [384, 512, [], \"e4d9\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM237.3 71.1l34.7 52V80c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM112 80v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V80c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faDiceThree = {\n prefix: 'fas',\n iconName: 'dice-three',\n icon: [448, 512, [9858], \"f527\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCalendarDays = {\n prefix: 'fas',\n iconName: 'calendar-days',\n icon: [448, 512, [\"calendar-alt\"], \"f073\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm64 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm128 0v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H336zM64 400v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H208zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCalendarAlt = faCalendarDays;\nvar faAnchorCircleCheck = {\n prefix: 'fas',\n iconName: 'anchor-circle-check',\n icon: [640, 512, [], \"e4aa\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2H320V368 240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faBuildingCircleArrowRight = {\n prefix: 'fas',\n iconName: 'building-circle-arrow-right',\n icon: [640, 512, [], \"e4d1\", \"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V232.2c-39.1 32.3-64 81.1-64 135.8c0 49.5 20.4 94.2 53.3 126.2C364.5 505.1 351.1 512 336 512H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zm96 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm140.7-67.3c-6.2 6.2-6.2 16.4 0 22.6L521.4 352H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56-56c6.2-6.2 6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faVolleyball = {\n prefix: 'fas',\n iconName: 'volleyball',\n icon: [512, 512, [127952, \"volleyball-ball\"], \"f45f\", \"M511.8 267.4c-26.1 8.7-53.4 13.8-81 15.1c9.2-105.3-31.5-204.2-103.2-272.4C434.1 41.1 512 139.5 512 256c0 3.8-.1 7.6-.2 11.4zm-3.9 34.7c-5.8 32-17.6 62-34.2 88.7c-97.5 48.5-217.7 42.6-311.9-24.5c23.7-36.2 55.4-67.7 94.5-91.8c79.9 43.2 170.1 50.8 251.6 27.6zm-236-55.5c-2.5-90.9-41.1-172.7-101.9-231.7C196.8 5.2 225.8 0 256 0c2.7 0 5.3 0 7.9 .1c90.8 60.2 145.7 167.2 134.7 282.3c-43.1-2.4-86.4-14.1-126.8-35.9zM138 28.8c20.6 18.3 38.7 39.4 53.7 62.6C95.9 136.1 30.6 220.8 7.3 316.9C2.5 297.4 0 277 0 256C0 157.2 56 71.5 138 28.8zm69.6 90.5c19.5 38.6 31 81.9 32.3 127.7C162.5 294.6 110.9 368.9 90.2 451C66 430.4 45.6 405.4 30.4 377.2c6.7-108.7 71.9-209.9 177.1-257.9zM256 512c-50.7 0-98-14.7-137.8-40.2c5.6-27 14.8-53.1 27.4-77.7C232.2 454.6 338.1 468.8 433 441c-46 44-108.3 71-177 71z\"]\n};\nvar faVolleyballBall = faVolleyball;\nvar faArrowsUpToLine = {\n prefix: 'fas',\n iconName: 'arrows-up-to-line',\n icon: [576, 512, [], \"e4c2\", \"M32 96l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64S14.3 96 32 96zM9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L96 237.3 96 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96zm320 45.3c12.5 12.5 32.8 12.5 45.3 0L416 237.3 416 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3z\"]\n};\nvar faSortDown = {\n prefix: 'fas',\n iconName: 'sort-down',\n icon: [320, 512, [\"sort-desc\"], \"f0dd\", \"M182.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z\"]\n};\nvar faSortDesc = faSortDown;\nvar faCircleMinus = {\n prefix: 'fas',\n iconName: 'circle-minus',\n icon: [512, 512, [\"minus-circle\"], \"f056\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMinusCircle = faCircleMinus;\nvar faDoorOpen = {\n prefix: 'fas',\n iconName: 'door-open',\n icon: [576, 512, [], \"f52b\", \"M320 32c0-9.9-4.5-19.2-12.3-25.2S289.8-1.4 280.2 1l-179.9 45C79 51.3 64 70.5 64 92.5V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96 288h32V480 32zM256 256c0 17.7-10.7 32-24 32s-24-14.3-24-32s10.7-32 24-32s24 14.3 24 32zm96-128h96V480c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H512V128c0-35.3-28.7-64-64-64H352v64z\"]\n};\nvar faRightFromBracket = {\n prefix: 'fas',\n iconName: 'right-from-bracket',\n icon: [512, 512, [\"sign-out-alt\"], \"f2f5\", \"M377.9 105.9L500.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L377.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1-128 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM160 96L96 96c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-53 0-96-43-96-96L0 128C0 75 43 32 96 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nvar faSignOutAlt = faRightFromBracket;\nvar faAtom = {\n prefix: 'fas',\n iconName: 'atom',\n icon: [512, 512, [9883], \"f5d2\", \"M256 398.8c-11.8 5.1-23.4 9.7-34.9 13.5c16.7 33.8 31 35.7 34.9 35.7s18.1-1.9 34.9-35.7c-11.4-3.9-23.1-8.4-34.9-13.5zM446 256c33 45.2 44.3 90.9 23.6 128c-20.2 36.3-62.5 49.3-115.2 43.2c-22 52.1-55.6 84.8-98.4 84.8s-76.4-32.7-98.4-84.8c-52.7 6.1-95-6.8-115.2-43.2C21.7 346.9 33 301.2 66 256c-33-45.2-44.3-90.9-23.6-128c20.2-36.3 62.5-49.3 115.2-43.2C179.6 32.7 213.2 0 256 0s76.4 32.7 98.4 84.8c52.7-6.1 95 6.8 115.2 43.2c20.7 37.1 9.4 82.8-23.6 128zm-65.8 67.4c-1.7 14.2-3.9 28-6.7 41.2c31.8 1.4 38.6-8.7 40.2-11.7c2.3-4.2 7-17.9-11.9-48.1c-6.8 6.3-14 12.5-21.6 18.6zm-6.7-175.9c2.8 13.1 5 26.9 6.7 41.2c7.6 6.1 14.8 12.3 21.6 18.6c18.9-30.2 14.2-44 11.9-48.1c-1.6-2.9-8.4-13-40.2-11.7zM290.9 99.7C274.1 65.9 259.9 64 256 64s-18.1 1.9-34.9 35.7c11.4 3.9 23.1 8.4 34.9 13.5c11.8-5.1 23.4-9.7 34.9-13.5zm-159 88.9c1.7-14.3 3.9-28 6.7-41.2c-31.8-1.4-38.6 8.7-40.2 11.7c-2.3 4.2-7 17.9 11.9 48.1c6.8-6.3 14-12.5 21.6-18.6zM110.2 304.8C91.4 335 96 348.7 98.3 352.9c1.6 2.9 8.4 13 40.2 11.7c-2.8-13.1-5-26.9-6.7-41.2c-7.6-6.1-14.8-12.3-21.6-18.6zM336 256a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm-80-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSoap = {\n prefix: 'fas',\n iconName: 'soap',\n icon: [512, 512, [129532], \"e06e\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM320 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM416 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 160c0 27.6-11.7 52.5-30.4 70.1C422.1 275.7 448 310.8 448 352c0 53-43 96-96 96H160c-53 0-96-43-96-96s43-96 96-96h88.4c-15.2-17-24.4-39.4-24.4-64H96c-53 0-96 43-96 96V416c0 53 43 96 96 96H416c53 0 96-43 96-96V288c0-53-43-96-96-96zM160 288c-35.3 0-64 28.7-64 64s28.7 64 64 64H352c35.3 0 64-28.7 64-64s-28.7-64-64-64H320 160z\"]\n};\nvar faIcons = {\n prefix: 'fas',\n iconName: 'icons',\n icon: [512, 512, [\"heart-music-camera-bolt\"], \"f86d\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32V176c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V71L352 90.2V208c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V64c0-15.3 10.8-28.4 25.7-31.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM74.7 304l11.8-17.8c5.9-8.9 15.9-14.2 26.6-14.2h61.7c10.7 0 20.7 5.3 26.6 14.2L213.3 304H240c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V352c0-26.5 21.5-48 48-48H74.7zM192 408a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM478.7 278.3L440.3 368H496c6.7 0 12.6 4.1 15 10.4s.6 13.3-4.4 17.7l-128 112c-5.6 4.9-13.9 5.3-19.9 .9s-8.2-12.4-5.3-19.2L391.7 400H336c-6.7 0-12.6-4.1-15-10.4s-.6-13.3 4.4-17.7l128-112c5.6-4.9 13.9-5.3 19.9-.9s8.2 12.4 5.3 19.2zm-339-59.2c-6.5 6.5-17 6.5-23 0L19.9 119.2c-28-29-26.5-76.9 5-103.9c27-23.5 68.4-19 93.4 6.5l10 10.5 9.5-10.5c25-25.5 65.9-30 93.9-6.5c31 27 32.5 74.9 4.5 103.9l-96.4 99.9z\"]\n};\nvar faHeartMusicCameraBolt = faIcons;\nvar faMicrophoneLinesSlash = {\n prefix: 'fas',\n iconName: 'microphone-lines-slash',\n icon: [640, 512, [\"microphone-alt-slash\"], \"f539\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v24 16c0 21.2-5.1 41.1-14.2 58.7L416 300.8V256H358.9l-34.5-27c2.9-3.1 7-5 11.6-5h80V192H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V128H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1zm362.5 407l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2z\"]\n};\nvar faMicrophoneAltSlash = faMicrophoneLinesSlash;\nvar faBridgeCircleCheck = {\n prefix: 'fas',\n iconName: 'bridge-circle-check',\n icon: [640, 512, [], \"e4c9\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32h40v64H32V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2V160H536V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM488 96v64H408V96h80zM360 96v64H280V96h80zM232 96v64H152V96h80zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faPumpMedical = {\n prefix: 'fas',\n iconName: 'pump-medical',\n icon: [448, 512, [], \"e06a\", \"M128 32v96H256V96h60.1c4.2 0 8.3 1.7 11.3 4.7l33.9 33.9c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L372.7 55.4c-15-15-35.4-23.4-56.6-23.4H256c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zM117.4 160c-33.3 0-61 25.5-63.8 58.7L35 442.7C31.9 480 61.3 512 98.8 512H285.2c37.4 0 66.9-32 63.8-69.3l-18.7-224c-2.8-33.2-30.5-58.7-63.8-58.7H117.4zM216 280v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V360H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V280c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFingerprint = {\n prefix: 'fas',\n iconName: 'fingerprint',\n icon: [512, 512, [], \"f577\", \"M48 256C48 141.1 141.1 48 256 48c63.1 0 119.6 28.1 157.8 72.5c8.6 10.1 23.8 11.2 33.8 2.6s11.2-23.8 2.6-33.8C403.3 34.6 333.7 0 256 0C114.6 0 0 114.6 0 256v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256c0-18.1-1.9-35.8-5.5-52.9zM256 80c-19 0-37.4 3-54.5 8.6c-15.2 5-18.7 23.7-8.3 35.9c7.1 8.3 18.8 10.8 29.4 7.9c10.6-2.9 21.8-4.4 33.4-4.4c70.7 0 128 57.3 128 128v24.9c0 25.2-1.5 50.3-4.4 75.3c-1.7 14.6 9.4 27.8 24.2 27.8c11.8 0 21.9-8.6 23.3-20.3c3.3-27.4 5-55 5-82.7V256c0-97.2-78.8-176-176-176zM150.7 148.7c-9.1-10.6-25.3-11.4-33.9-.4C93.7 178 80 215.4 80 256v24.9c0 24.2-2.6 48.4-7.8 71.9C68.8 368.4 80.1 384 96.1 384c10.5 0 19.9-7 22.2-17.3c6.4-28.1 9.7-56.8 9.7-85.8V256c0-27.2 8.5-52.4 22.9-73.1c7.2-10.4 8-24.6-.2-34.2zM256 160c-53 0-96 43-96 96v24.9c0 35.9-4.6 71.5-13.8 106.1c-3.8 14.3 6.7 29 21.5 29c9.5 0 17.9-6.2 20.4-15.4c10.5-39 15.9-79.2 15.9-119.7V256c0-28.7 23.3-52 52-52s52 23.3 52 52v24.9c0 36.3-3.5 72.4-10.4 107.9c-2.7 13.9 7.7 27.2 21.8 27.2c10.2 0 19-7 21-17c7.7-38.8 11.6-78.3 11.6-118.1V256c0-53-43-96-96-96zm24 96c0-13.3-10.7-24-24-24s-24 10.7-24 24v24.9c0 59.9-11 119.3-32.5 175.2l-5.9 15.3c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8l5.9-15.3C267.9 411.9 280 346.7 280 280.9V256z\"]\n};\nvar faHandPointRight = {\n prefix: 'fas',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M480 96c17.7 0 32 14.3 32 32s-14.3 32-32 32l-208 0 0-64 208 0zM320 288c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32h64zm64-64c0 17.7-14.3 32-32 32H304c-17.7 0-32-14.3-32-32s14.3-32 32-32h48c17.7 0 32 14.3 32 32zM288 384c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h64zm-88-96l.6 0c-5.4 9.4-8.6 20.3-8.6 32c0 13.2 4 25.4 10.8 35.6C177.9 364.3 160 388.1 160 416c0 11.7 3.1 22.6 8.6 32H160C71.6 448 0 376.4 0 288l0-61.7c0-42.4 16.9-83.1 46.9-113.1l11.6-11.6C82.5 77.5 115.1 64 149 64l27 0c35.3 0 64 28.7 64 64v88c0 22.1-17.9 40-40 40s-40-17.9-40-40V160c0-8.8-7.2-16-16-16s-16 7.2-16 16v56c0 39.8 32.2 72 72 72z\"]\n};\nvar faMagnifyingGlassLocation = {\n prefix: 'fas',\n iconName: 'magnifying-glass-location',\n icon: [512, 512, [\"search-location\"], \"f689\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM288 176c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 48.8 46.5 111.6 68.6 138.6c6 7.3 16.8 7.3 22.7 0c22.1-27 68.6-89.8 68.6-138.6zm-112 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faSearchLocation = faMagnifyingGlassLocation;\nvar faForwardStep = {\n prefix: 'fas',\n iconName: 'forward-step',\n icon: [320, 512, [\"step-forward\"], \"f051\", \"M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4l192 160L256 241V96c0-17.7 14.3-32 32-32s32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V271l-11.5 9.6-192 160z\"]\n};\nvar faStepForward = faForwardStep;\nvar faFaceSmileBeam = {\n prefix: 'fas',\n iconName: 'face-smile-beam',\n icon: [512, 512, [128522, \"smile-beam\"], \"f5b8\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zm53.5-96.7l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faSmileBeam = faFaceSmileBeam;\nvar faFlagCheckered = {\n prefix: 'fas',\n iconName: 'flag-checkered',\n icon: [448, 512, [127937], \"f11e\", \"M32 0C49.7 0 64 14.3 64 32V48l69-17.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1V345.8c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.3-23.7-122.5-13.4L64 384v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V400 334 64 32C0 14.3 14.3 0 32 0zM64 187.1l64-13.9v65.5L64 252.6V318l48.8-12.2c5.1-1.3 10.1-2.4 15.2-3.3V238.7l38.9-8.4c8.3-1.8 16.7-2.5 25.1-2.1l0-64c13.6 .4 27.2 2.6 40.4 6.4l23.6 6.9v66.7l-41.7-12.3c-7.3-2.1-14.8-3.4-22.3-3.8v71.4c21.8 1.9 43.3 6.7 64 14.4V244.2l22.7 6.7c13.5 4 27.3 6.4 41.3 7.4V194c-7.8-.8-15.6-2.3-23.2-4.5l-40.8-12v-62c-13-3.8-25.8-8.8-38.2-15c-8.2-4.1-16.9-7-25.8-8.8v72.4c-13-.4-26 .8-38.7 3.6L128 173.2V98L64 114v73.1zM320 335.7c16.8 1.5 33.9-.7 50-6.8l14-5.2V251.9l-7.9 1.8c-18.4 4.3-37.3 5.7-56.1 4.5v77.4zm64-149.4V115.4c-20.9 6.1-42.4 9.1-64 9.1V194c13.9 1.4 28 .5 41.7-2.6l22.3-5.2z\"]\n};\nvar faFootball = {\n prefix: 'fas',\n iconName: 'football',\n icon: [512, 512, [127944, \"football-ball\"], \"f44e\", \"M247.5 25.4c-13.5 3.3-26.4 7.2-38.6 11.7C142.9 61.6 96.7 103.6 66 153.6c-18.3 29.8-30.9 62.3-39.2 95.4L264.5 486.6c13.5-3.3 26.4-7.2 38.6-11.7c66-24.5 112.2-66.5 142.9-116.5c18.3-29.8 30.9-62.3 39.1-95.3L247.5 25.4zM495.2 205.3c6.1-56.8 1.4-112.2-7.7-156.4c-2.7-12.9-13-22.9-26.1-25.1c-58.2-9.7-109.9-12-155.6-7.9L495.2 205.3zM206.1 496L16.8 306.7c-6.1 56.8-1.4 112.2 7.7 156.4c2.7 12.9 13 22.9 26.1 25.1c58.2 9.7 109.9 12 155.6 7.9zm54.6-331.3c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-48 48c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-48 48c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faFootballBall = faFootball;\nvar faSchoolCircleExclamation = {\n prefix: 'fas',\n iconName: 'school-circle-exclamation',\n icon: [640, 512, [], \"e56c\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H320v0H256V416c0-35.3 28.7-64 64-64l.3 0h.5c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faCrop = {\n prefix: 'fas',\n iconName: 'crop',\n icon: [512, 512, [], \"f125\", \"M448 109.3l54.6-54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L402.7 64 160 64v64l178.7 0L128 338.7V32c0-17.7-14.3-32-32-32S64 14.3 64 32V64H32C14.3 64 0 78.3 0 96s14.3 32 32 32H64V384c0 35.3 28.7 64 64 64H352V384H173.3L384 173.3 384 480c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H448l0-274.7z\"]\n};\nvar faAnglesDown = {\n prefix: 'fas',\n iconName: 'angles-down',\n icon: [448, 512, [\"angle-double-down\"], \"f103\", \"M246.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 402.7 361.4 265.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-160 160zm160-352l-160 160c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 210.7 361.4 73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3z\"]\n};\nvar faAngleDoubleDown = faAnglesDown;\nvar faUsersRectangle = {\n prefix: 'fas',\n iconName: 'users-rectangle',\n icon: [640, 512, [], \"e594\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H544c53 0 96-43 96-96V96c0-53-43-96-96-96H96zM64 96c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96zm159.8 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3C119.9 256 96 279.9 96 309.3zM461.2 336h56.1c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6zM372 289c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-26 4.4-47.3 22.7-55.9 47c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24c-8.6-24.3-29.9-42.6-55.9-47zM512 176a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM320 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faPeopleRoof = {\n prefix: 'fas',\n iconName: 'people-roof',\n icon: [640, 512, [], \"e537\", \"M335.5 4l288 160c15.4 8.6 21 28.1 12.4 43.5s-28.1 21-43.5 12.4L320 68.6 47.5 220c-15.4 8.6-34.9 3-43.5-12.4s-3-34.9 12.4-43.5L304.5 4c9.7-5.4 21.4-5.4 31.1 0zM320 160a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM144 256a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm312 40a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM226.9 491.4L200 441.5V480c0 17.7-14.3 32-32 32H120c-17.7 0-32-14.3-32-32V441.5L61.1 491.4c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l37.9-70.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c16.3 0 31.9 4.5 45.4 12.6l33.6-62.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c32.4 0 62.1 17.8 77.5 46.3l33.6 62.3c13.5-8.1 29.1-12.6 45.4-12.6h19.5c32.4 0 62.1 17.8 77.5 46.3l37.9 70.3c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8L552 441.5V480c0 17.7-14.3 32-32 32H472c-17.7 0-32-14.3-32-32V441.5l-26.9 49.9c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l36.3-67.5c-1.7-1.7-3.2-3.6-4.3-5.8L376 345.5V400c0 17.7-14.3 32-32 32H296c-17.7 0-32-14.3-32-32V345.5l-26.9 49.9c-1.2 2.2-2.6 4.1-4.3 5.8l36.3 67.5c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8z\"]\n};\nvar faPeopleLine = {\n prefix: 'fas',\n iconName: 'people-line',\n icon: [640, 512, [], \"e534\", \"M360 72a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM144 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM496 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM200 313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8L264 217.5V272c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V217.5l26.9 49.9c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L440 313.5V352c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H486.2c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.3-28.5-45.1-46.3-77.5-46.3H310.2c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6H134.2c-32.4 0-62.1 17.8-77.5 46.3L18.9 340.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L88 313.5V352c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V313.5z\"]\n};\nvar faBeerMugEmpty = {\n prefix: 'fas',\n iconName: 'beer-mug-empty',\n icon: [512, 512, [\"beer\"], \"f0fc\", \"M32 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V96h51.2c42.4 0 76.8 34.4 76.8 76.8V274.9c0 30.4-17.9 57.9-45.6 70.2L384 381.7V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM384 311.6l56.4-25.1c4.6-2.1 7.6-6.6 7.6-11.7V172.8c0-7.1-5.7-12.8-12.8-12.8H384V311.6zM160 144c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144z\"]\n};\nvar faBeer = faBeerMugEmpty;\nvar faDiagramPredecessor = {\n prefix: 'fas',\n iconName: 'diagram-predecessor',\n icon: [512, 512, [], \"e477\", \"M448 416l0-64L64 352l0 64 384 0zm0 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64zM288 160c0 35.3-28.7 64-64 64L64 224c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l144 0 16 0 144 0c44.2 0 80 35.8 80 80l0 16 38.1 0c21.4 0 32.1 25.9 17 41L433 239c-9.4 9.4-24.6 9.4-33.9 0L329 169c-15.1-15.1-4.4-41 17-41l38.1 0 0-16c0-8.8-7.2-16-16-16l-80 0 0 64z\"]\n};\nvar faArrowUpLong = {\n prefix: 'fas',\n iconName: 'arrow-up-long',\n icon: [384, 512, [\"long-arrow-up\"], \"f176\", \"M214.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V109.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128z\"]\n};\nvar faLongArrowUp = faArrowUpLong;\nvar faFireFlameSimple = {\n prefix: 'fas',\n iconName: 'fire-flame-simple',\n icon: [384, 512, [\"burn\"], \"f46a\", \"M372.5 256.5l-.7-1.9C337.8 160.8 282 76.5 209.1 8.5l-3.3-3C202.1 2 197.1 0 192 0s-10.1 2-13.8 5.5l-3.3 3C102 76.5 46.2 160.8 12.2 254.6l-.7 1.9C3.9 277.3 0 299.4 0 321.6C0 426.7 86.8 512 192 512s192-85.3 192-190.4c0-22.2-3.9-44.2-11.5-65.1zm-90.8 49.5c4.1 9.3 6.2 19.4 6.2 29.5c0 53-43 96.5-96 96.5s-96-43.5-96-96.5c0-10.1 2.1-20.3 6.2-29.5l1.9-4.3c15.8-35.4 37.9-67.7 65.3-95.1l8.9-8.9c3.6-3.6 8.5-5.6 13.6-5.6s10 2 13.6 5.6l8.9 8.9c27.4 27.4 49.6 59.7 65.3 95.1l1.9 4.3z\"]\n};\nvar faBurn = faFireFlameSimple;\nvar faPerson = {\n prefix: 'fas',\n iconName: 'person',\n icon: [320, 512, [129485, \"male\"], \"f183\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152z\"]\n};\nvar faMale = faPerson;\nvar faLaptop = {\n prefix: 'fas',\n iconName: 'laptop',\n icon: [640, 512, [128187], \"f109\", \"M128 32C92.7 32 64 60.7 64 96V352h64V96H512V352h64V96c0-35.3-28.7-64-64-64H128zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2z\"]\n};\nvar faFileCsv = {\n prefix: 'fas',\n iconName: 'file-csv',\n icon: [512, 512, [], \"f6dd\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V304H176c-35.3 0-64 28.7-64 64V512H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM200 352h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40zm133.1 0H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H333.1c-7.2 0-13.1 5.9-13.1 13.1c0 5.2 3 9.9 7.8 12l37.4 16.6c16.3 7.2 26.8 23.4 26.8 41.2c0 24.9-20.2 45.1-45.1 45.1H304c-8.8 0-16-7.2-16-16s7.2-16 16-16h42.9c7.2 0 13.1-5.9 13.1-13.1c0-5.2-3-9.9-7.8-12l-37.4-16.6c-16.3-7.2-26.8-23.4-26.8-41.2c0-24.9 20.2-45.1 45.1-45.1zm98.9 0c8.8 0 16 7.2 16 16v31.6c0 23 5.5 45.6 16 66c10.5-20.3 16-42.9 16-66V368c0-8.8 7.2-16 16-16s16 7.2 16 16v31.6c0 34.7-10.3 68.7-29.6 97.6l-5.1 7.7c-3 4.5-8 7.1-13.3 7.1s-10.3-2.7-13.3-7.1l-5.1-7.7c-19.3-28.9-29.6-62.9-29.6-97.6V368c0-8.8 7.2-16 16-16z\"]\n};\nvar faMenorah = {\n prefix: 'fas',\n iconName: 'menorah',\n icon: [640, 512, [], \"f676\", \"M20.8 7.4C22.8 2.9 27.1 0 32 0s9.2 2.9 11.2 7.4L61.3 49.7c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32S0 81.7 0 64V62.8c0-4.5 .9-8.9 2.7-13.1L20.8 7.4zm96 0C118.8 2.9 123.1 0 128 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L116.8 7.4zm77.8 42.4L212.8 7.4C214.8 2.9 219.1 0 224 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM308.8 7.4C310.8 2.9 315.1 0 320 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L308.8 7.4zm77.8 42.4L404.8 7.4C406.8 2.9 411.1 0 416 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM500.8 7.4C502.8 2.9 507.1 0 512 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L500.8 7.4zm77.8 42.4L596.8 7.4C598.8 2.9 603.1 0 608 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM32 128c17.7 0 32 14.3 32 32V288c0 17.7 14.3 32 32 32H288V160c0-17.7 14.3-32 32-32s32 14.3 32 32V320H544c17.7 0 32-14.3 32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32V288c0 53-43 96-96 96H352v64H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 160c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V384H96c-53 0-96-43-96-96V160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96 32H96V256 160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96 32H192V256 160c0-17.7 14.3-32 32-32zm192 0c17.7 0 32 14.3 32 32v96 32H384V256 160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96 32H480V256 160c0-17.7 14.3-32 32-32z\"]\n};\nvar faTruckPlane = {\n prefix: 'fas',\n iconName: 'truck-plane',\n icon: [640, 512, [], \"e58f\", \"M200 0c-30.6 0-56 54.7-56 86.1V192.5L7.8 274.3C2.9 277.2 0 282.4 0 288v64c0 5.1 2.4 9.8 6.4 12.8s9.3 3.9 14.1 2.5l123.4-37v81.2l-50 40c-3.8 3-6 7.6-6 12.5v32c0 5.1 2.5 10 6.6 13s9.5 3.8 14.4 2.2L200 480.9 290.4 511c-1.6-4.7-2.4-9.8-2.4-15V463.4c-18.2-10.5-30.7-29.7-31.9-51.8l-.1-.1V408 325.5 184l0-1.1 0 0V86.1C256 54.7 231.5 0 200 0zm88 176V400c0 20.9 13.4 38.7 32 45.3V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V448H544v40c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V445.3c18.6-6.6 32-24.4 32-45.3V176c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48zm79.8 78.7c3.3-8.7 11.2-14.7 20.5-14.7H539.7c9.2 0 17.2 6 20.5 14.7L576 304H352l15.8-49.3zM568 352a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM336 376a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faRecordVinyl = {\n prefix: 'fas',\n iconName: 'record-vinyl',\n icon: [512, 512, [], \"f8d9\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224a128 128 0 1 0 0-256 128 128 0 1 0 0 256zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faFaceGrinStars = {\n prefix: 'fas',\n iconName: 'face-grin-stars',\n icon: [512, 512, [129321, \"grin-stars\"], \"f587\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm407.4 75.5c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c25 59.1 83.2 100.5 151.1 100.5s126.2-41.4 151.1-100.5zM160 120c-3.1 0-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L160 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L226.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7c-1.3-2.8-4.1-4.6-7.2-4.6zm192 0c-3.1 0-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L352 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L418.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7c-1.3-2.8-4.1-4.6-7.2-4.6z\"]\n};\nvar faGrinStars = faFaceGrinStars;\nvar faBong = {\n prefix: 'fas',\n iconName: 'bong',\n icon: [448, 512, [], \"f55c\", \"M160 208.5c0 29.1-15.6 53.9-37.2 67.8c-17.2 11.1-31.5 26.1-41.7 43.7H302.9c-10.2-17.6-24.5-32.6-41.7-43.7c-21.6-13.9-37.2-38.7-37.2-67.8V64H160V208.5zM288 64V208.5c0 5.7 3.1 10.9 7.9 14c11.2 7.2 21.5 15.5 30.9 24.8L366.1 208l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l24 24 24 24c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7-43.3 43.3C374 314.1 384 347.9 384 384c0 39.4-11.9 76.1-32.2 106.5c-9.6 14.4-26.5 21.5-43.8 21.5H76.1c-17.3 0-34.2-7.1-43.8-21.5C11.9 460.1 0 423.4 0 384c0-67.8 35.1-127.3 88.1-161.5c4.8-3.1 7.9-8.3 7.9-14V64C78.3 64 64 49.7 64 32S78.3 0 96 0h16H272h16c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nvar faSpaghettiMonsterFlying = {\n prefix: 'fas',\n iconName: 'spaghetti-monster-flying',\n icon: [640, 512, [\"pastafarianism\"], \"f67b\", \"M208 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 0c0 16.2-6 31.1-16 42.3l15.6 31.2c18.7-6 39.9-9.5 64.4-9.5s45.8 3.5 64.4 9.5L400 106.3C390 95.1 384 80.2 384 64c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c-1.7 0-3.4-.1-5.1-.2L427.8 158c21.1 13.6 37.7 30.2 51.4 46.4c7.1 8.3 13.5 16.6 19.3 24l1.4 1.8c6.3 8.1 11.6 14.8 16.7 20.4C527.3 262.3 532.7 264 536 264c2.5 0 4.3-.6 7.1-3.3c3.7-3.5 7.1-8.8 12.5-17.4l.6-.9c4.6-7.4 11-17.6 19.4-25.7c9.7-9.3 22.9-16.7 40.4-16.7c13.3 0 24 10.7 24 24s-10.7 24-24 24c-2.5 0-4.3 .6-7.1 3.3c-3.7 3.5-7.1 8.8-12.5 17.4l-.6 .9c-4.6 7.4-11 17.6-19.4 25.7c-9.7 9.3-22.9 16.7-40.4 16.7c-18.5 0-32.9-8.5-44.3-18.6c-3.1 4-6.6 8.3-10.5 12.7c1.4 4.3 2.8 8.5 4 12.5c.9 3 1.8 5.8 2.6 8.6c3 9.8 5.5 18.2 8.6 25.9c3.9 9.8 7.4 15.4 10.8 18.5c2.6 2.4 5.9 4.3 12.8 4.3c8.7 0 16.9-4.2 33.7-13.2c15-8 35.7-18.8 62.3-18.8c13.3 0 24 10.7 24 24s-10.7 24-24 24c-13.4 0-24.7 5.2-39.7 13.2c-1 .6-2.1 1.1-3.2 1.7C559.9 414 541.4 424 520 424c-18.4 0-33.6-6.1-45.5-17.2c-11.1-10.3-17.9-23.7-22.7-36c-3.6-9-6.7-19.1-9.5-28.5c-16.4 12.3-36.1 23.6-58.9 31.3c3.6 10.8 8.4 23.5 14.4 36.2c7.5 15.9 16.2 30.4 25.8 40.5C433 460.5 441.2 464 448 464c13.3 0 24 10.7 24 24s-10.7 24-24 24c-25.2 0-45-13.5-59.5-28.8c-14.5-15.4-25.7-34.9-34.2-53c-8-17-14.1-33.8-18.3-46.9c-5.2 .4-10.6 .6-16 .6s-10.8-.2-16-.6c-4.2 13-10.3 29.9-18.3 46.9c-8.5 18.1-19.8 37.6-34.2 53C237 498.5 217.2 512 192 512c-13.3 0-24-10.7-24-24s10.7-24 24-24c6.8 0 15-3.5 24.5-13.7c9.5-10.1 18.3-24.6 25.8-40.5c5.9-12.6 10.7-25.4 14.4-36.2c-22.8-7.7-42.5-19-58.9-31.3c-2.9 9.4-6 19.5-9.5 28.5c-4.8 12.2-11.6 25.6-22.7 36C153.6 417.9 138.4 424 120 424c-21.4 0-39.9-10-53.1-17.1l0 0c-1.1-.6-2.2-1.2-3.2-1.7c-15-8-26.3-13.2-39.7-13.2c-13.3 0-24-10.7-24-24s10.7-24 24-24c26.6 0 47.3 10.8 62.3 18.8c16.8 9 25 13.2 33.7 13.2c6.8 0 10.2-1.9 12.8-4.3c3.4-3.2 7-8.8 10.8-18.5c3-7.7 5.6-16.1 8.6-25.9c.8-2.7 1.7-5.6 2.6-8.6c1.2-4 2.6-8.2 4-12.5c-3.9-4.5-7.4-8.8-10.5-12.7C136.9 303.5 122.5 312 104 312c-17.5 0-30.7-7.4-40.4-16.7c-8.4-8.1-14.8-18.3-19.4-25.7l-.6-.9c-5.4-8.6-8.8-13.9-12.5-17.4c-2.8-2.7-4.6-3.3-7.1-3.3c-13.3 0-24-10.7-24-24s10.7-24 24-24c17.5 0 30.7 7.4 40.4 16.7c8.4 8.1 14.8 18.3 19.4 25.7l.6 .9c5.4 8.6 8.8 13.9 12.5 17.4c2.8 2.7 4.6 3.3 7.1 3.3c3.3 0 8.7-1.7 19.4-13.4c5.1-5.6 10.4-12.3 16.7-20.4l1.4-1.8c5.8-7.4 12.2-15.7 19.3-24c13.8-16.2 30.3-32.8 51.4-46.4l-15.1-30.2c-1.7 .1-3.4 .2-5.1 .2c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zm208 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faPastafarianism = faSpaghettiMonsterFlying;\nvar faArrowDownUpAcrossLine = {\n prefix: 'fas',\n iconName: 'arrow-down-up-across-line',\n icon: [576, 512, [], \"e4af\", \"M137.4 502.6c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7V288H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H448V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L384 109.3V224H192 128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96V402.7L86.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96zM128 192h64V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192zM448 320H384V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320z\"]\n};\nvar faSpoon = {\n prefix: 'fas',\n iconName: 'spoon',\n icon: [512, 512, [129348, 61873, \"utensil-spoon\"], \"f2e5\", \"M245.8 220.9c-14.5-17.6-21.8-39.2-21.8-60.8C224 80 320 0 416 0c53 0 96 43 96 96c0 96-80 192-160.2 192c-21.6 0-43.2-7.3-60.8-21.8L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L245.8 220.9z\"]\n};\nvar faUtensilSpoon = faSpoon;\nvar faJarWheat = {\n prefix: 'fas',\n iconName: 'jar-wheat',\n icon: [320, 512, [], \"e517\", \"M32 32C32 14.3 46.3 0 64 0H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H64C46.3 64 32 49.7 32 32zM0 160c0-35.3 28.7-64 64-64H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zm112 0H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 198 90 224 122.2 224H144h32 21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7zm48 117.7c-11.7-13.3-28.9-21.7-48-21.7H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 294 90 320 122.2 320H144h32 21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7zM112 352H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 390 90 416 122.2 416H144v32c0 8.8 7.2 16 16 16s16-7.2 16-16V416h21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7z\"]\n};\nvar faEnvelopesBulk = {\n prefix: 'fas',\n iconName: 'envelopes-bulk',\n icon: [640, 512, [\"mail-bulk\"], \"f674\", \"M128 0C110.3 0 96 14.3 96 32V224h96V192c0-35.3 28.7-64 64-64H480V32c0-17.7-14.3-32-32-32H128zM256 160c-17.7 0-32 14.3-32 32v32h96c35.3 0 64 28.7 64 64V416H576c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H256zm240 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM64 256c-17.7 0-32 14.3-32 32v13L187.1 415.9c1.4 1 3.1 1.6 4.9 1.6s3.5-.6 4.9-1.6L352 301V288c0-17.7-14.3-32-32-32H64zm288 84.8L216 441.6c-6.9 5.1-15.3 7.9-24 7.9s-17-2.8-24-7.9L32 340.8V480c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V340.8z\"]\n};\nvar faMailBulk = faEnvelopesBulk;\nvar faFileCircleExclamation = {\n prefix: 'fas',\n iconName: 'file-circle-exclamation',\n icon: [576, 512, [], \"e4eb\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faCircleH = {\n prefix: 'fas',\n iconName: 'circle-h',\n icon: [512, 512, [9405, \"hospital-symbol\"], \"f47e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM368 152V256 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H192l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24v80H320V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHospitalSymbol = faCircleH;\nvar faPager = {\n prefix: 'fas',\n iconName: 'pager',\n icon: [512, 512, [128223], \"f815\", \"M0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm64 32v64c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80zm136 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\"]\n};\nvar faAddressBook = {\n prefix: 'fas',\n iconName: 'address-book',\n icon: [512, 512, [62138, \"contact-book\"], \"f2b9\", \"M96 0C60.7 0 32 28.7 32 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H96zM208 288h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM512 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80zM496 192c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm16 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V336z\"]\n};\nvar faContactBook = faAddressBook;\nvar faStrikethrough = {\n prefix: 'fas',\n iconName: 'strikethrough',\n icon: [512, 512, [], \"f0cc\", \"M161.3 144c3.2-17.2 14-30.1 33.7-38.6c21.1-9 51.8-12.3 88.6-6.5c11.9 1.9 48.8 9.1 60.1 12c17.1 4.5 34.6-5.6 39.2-22.7s-5.6-34.6-22.7-39.2c-14.3-3.8-53.6-11.4-66.6-13.4c-44.7-7-88.3-4.2-123.7 10.9c-36.5 15.6-64.4 44.8-71.8 87.3c-.1 .6-.2 1.1-.2 1.7c-2.8 23.9 .5 45.6 10.1 64.6c4.5 9 10.2 16.9 16.7 23.9H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H270.1c-.1 0-.3-.1-.4-.1l-1.1-.3c-36-10.8-65.2-19.6-85.2-33.1c-9.3-6.3-15-12.6-18.2-19.1c-3.1-6.1-5.2-14.6-3.8-27.4zM348.9 337.2c2.7 6.5 4.4 15.8 1.9 30.1c-3 17.6-13.8 30.8-33.9 39.4c-21.1 9-51.7 12.3-88.5 6.5c-18-2.9-49.1-13.5-74.4-22.1c-5.6-1.9-11-3.7-15.9-5.4c-16.8-5.6-34.9 3.5-40.5 20.3s3.5 34.9 20.3 40.5c3.6 1.2 7.9 2.7 12.7 4.3l0 0 0 0c24.9 8.5 63.6 21.7 87.6 25.6l0 0 .2 0c44.7 7 88.3 4.2 123.7-10.9c36.5-15.6 64.4-44.8 71.8-87.3c3.6-21 2.7-40.4-3.1-58.1H335.1c7 5.6 11.4 11.2 13.9 17.2z\"]\n};\nvar faK = {\n prefix: 'fas',\n iconName: 'k',\n icon: [320, 512, [107], \"4b\", \"M311 86.3c12.3-12.7 12-32.9-.7-45.2s-32.9-12-45.2 .7l-155.2 160L64 249V64c0-17.7-14.3-32-32-32S0 46.3 0 64V328 448c0 17.7 14.3 32 32 32s32-14.3 32-32V341l64.7-66.7 133 192c10.1 14.5 30 18.1 44.5 8.1s18.1-30 8.1-44.5L174.1 227.4 311 86.3z\"]\n};\nvar faLandmarkFlag = {\n prefix: 'fas',\n iconName: 'landmark-flag',\n icon: [512, 512, [], \"e51c\", \"M272 0h80c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H272v32H464c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H240V16c0-8.8 7.2-16 16-16h16zM64 224h64V416h40V224h64V416h48V224h64V416h40V224h64V420.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512H32c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1V224z\"]\n};\nvar faPencil = {\n prefix: 'fas',\n iconName: 'pencil',\n icon: [512, 512, [9999, 61504, \"pencil-alt\"], \"f303\", \"M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1v32c0 8.8 7.2 16 16 16h32zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPencilAlt = faPencil;\nvar faBackward = {\n prefix: 'fas',\n iconName: 'backward',\n icon: [512, 512, [9194], \"f04a\", \"M459.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4L288 214.3V256v41.7L459.5 440.6zM256 352V256 128 96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160C4.2 237.5 0 246.5 0 256s4.2 18.5 11.5 24.6l192 160c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V352z\"]\n};\nvar faCaretRight = {\n prefix: 'fas',\n iconName: 'caret-right',\n icon: [256, 512, [], \"f0da\", \"M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z\"]\n};\nvar faComments = {\n prefix: 'fas',\n iconName: 'comments',\n icon: [640, 512, [128490, 61670], \"f086\", \"M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4c-3.5 9.4-8.7 17.7-14.2 24.7c-4.8 6.2-9.7 11-13.3 14.3c-1.8 1.6-3.3 2.9-4.3 3.7c-.5 .4-.9 .7-1.1 .8l-.2 .2 0 0 0 0C1 327.2-1.4 334.4 .8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5c9.2-3.5 17.8-7.4 25.3-11.4C134.1 343.3 169.8 352 208 352zM448 176c0 112.3-99.1 196.9-216.5 207C255.8 457.4 336.4 512 432 512c38.2 0 73.9-8.7 104.7-23.9c7.5 4 16 7.9 25.2 11.4c18.3 6.9 40.3 12.5 62.1 12.5c6.9 0 13.1-4.5 15.2-11.1c2.1-6.6-.2-13.8-5.8-17.9l0 0 0 0-.2-.2c-.2-.2-.6-.4-1.1-.8c-1-.8-2.5-2-4.3-3.7c-3.6-3.3-8.5-8.1-13.3-14.3c-5.5-7-10.7-15.4-14.2-24.7c24.9-29 39.6-64.7 39.6-103.4c0-92.8-84.9-168.9-192.6-175.5c.4 5.1 .6 10.3 .6 15.5z\"]\n};\nvar faPaste = {\n prefix: 'fas',\n iconName: 'paste',\n icon: [512, 512, [\"file-clipboard\"], \"f0ea\", \"M160 0c-23.7 0-44.4 12.9-55.4 32H48C21.5 32 0 53.5 0 80V400c0 26.5 21.5 48 48 48H192V176c0-44.2 35.8-80 80-80h48V80c0-26.5-21.5-48-48-48H215.4C204.4 12.9 183.7 0 160 0zM272 128c-26.5 0-48 21.5-48 48V448v16c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V243.9c0-12.7-5.1-24.9-14.1-33.9l-67.9-67.9c-9-9-21.2-14.1-33.9-14.1H320 272zM160 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faFileClipboard = faPaste;\nvar faCodePullRequest = {\n prefix: 'fas',\n iconName: 'code-pull-request',\n icon: [512, 512, [], \"e13c\", \"M305.8 2.1C314.4 5.9 320 14.5 320 24V64h16c70.7 0 128 57.3 128 128V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V192c0-35.3-28.7-64-64-64H320v40c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1zM104 80A24 24 0 1 0 56 80a24 24 0 1 0 48 0zm8 73.3V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80c0 32.8-19.7 61-48 73.3zM104 432a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm328 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faClipboardList = {\n prefix: 'fas',\n iconName: 'clipboard-list',\n icon: [384, 512, [], \"f46d\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM72 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zM72 368a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 0c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16z\"]\n};\nvar faTruckRampBox = {\n prefix: 'fas',\n iconName: 'truck-ramp-box',\n icon: [640, 512, [\"truck-loading\"], \"f4de\", \"M640 0V400c0 61.9-50.1 112-112 112c-61 0-110.5-48.7-112-109.3L48.4 502.9c-17.1 4.6-34.6-5.4-39.3-22.5s5.4-34.6 22.5-39.3L352 353.8V64c0-35.3 28.7-64 64-64H640zM576 400a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM23.1 207.7c-4.6-17.1 5.6-34.6 22.6-39.2l46.4-12.4 20.7 77.3c2.3 8.5 11.1 13.6 19.6 11.3l30.9-8.3c8.5-2.3 13.6-11.1 11.3-19.6l-20.7-77.3 46.4-12.4c17.1-4.6 34.6 5.6 39.2 22.6l41.4 154.5c4.6 17.1-5.6 34.6-22.6 39.2L103.7 384.9c-17.1 4.6-34.6-5.6-39.2-22.6L23.1 207.7z\"]\n};\nvar faTruckLoading = faTruckRampBox;\nvar faUserCheck = {\n prefix: 'fas',\n iconName: 'user-check',\n icon: [640, 512, [], \"f4fc\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM625 177L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faVialVirus = {\n prefix: 'fas',\n iconName: 'vial-virus',\n icon: [512, 512, [], \"e597\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96V384c0 53 43 96 96 96c28.6 0 54.2-12.5 71.8-32.3c.1-14.2 5.6-28.3 16.4-39.1c.2-.2 .1-.6-.2-.6c-30.9 0-56-25.1-56-56s25.1-56 56-56c.3 0 .4-.4 .2-.6c-21.9-21.9-21.9-57.3 0-79.2c2.4-2.4 5-4.6 7.8-6.5V96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160 96 32zM96 192V96h64v96H96zM216 376c28.8 0 43.2 34.8 22.9 55.2c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0c20.4-20.4 55.2-5.9 55.2 22.9c0 13.3 10.7 24 24 24s24-10.7 24-24c0-28.8 34.8-43.2 55.2-22.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9C444.8 410.8 459.2 376 488 376c13.3 0 24-10.7 24-24s-10.7-24-24-24c-28.8 0-43.2-34.8-22.9-55.2c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0C410.8 259.2 376 244.8 376 216c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 28.8-34.8 43.2-55.2 22.9c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c20.4 20.4 5.9 55.2-22.9 55.2c-13.3 0-24 10.7-24 24s10.7 24 24 24zm104-88a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm40 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faSheetPlastic = {\n prefix: 'fas',\n iconName: 'sheet-plastic',\n icon: [384, 512, [], \"e571\", \"M0 448c0 35.3 28.7 64 64 64H224V384c0-17.7 14.3-32 32-32H384V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448zM171.3 75.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l96-96c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm96 32l-160 160c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l160-160c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM384 384H256V512L384 384z\"]\n};\nvar faBlog = {\n prefix: 'fas',\n iconName: 'blog',\n icon: [512, 512, [], \"f781\", \"M192 32c0 17.7 14.3 32 32 32c123.7 0 224 100.3 224 224c0 17.7 14.3 32 32 32s32-14.3 32-32C512 128.9 383.1 0 224 0c-17.7 0-32 14.3-32 32zm0 96c0 17.7 14.3 32 32 32c70.7 0 128 57.3 128 128c0 17.7 14.3 32 32 32s32-14.3 32-32c0-106-86-192-192-192c-17.7 0-32 14.3-32 32zM96 144c0-26.5-21.5-48-48-48S0 117.5 0 144V368c0 79.5 64.5 144 144 144s144-64.5 144-144s-64.5-144-144-144H128v96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48V144z\"]\n};\nvar faUserNinja = {\n prefix: 'fas',\n iconName: 'user-ninja',\n icon: [448, 512, [129399], \"f504\", \"M224 256c-57.2 0-105.6-37.5-122-89.3c-1.1 1.3-2.2 2.6-3.5 3.8c-15.8 15.8-38.8 20.7-53.6 22.1c-8.1 .8-14.6-5.7-13.8-13.8c1.4-14.7 6.3-37.8 22.1-53.6c5.8-5.8 12.6-10.1 19.6-13.4c-7-3.2-13.8-7.6-19.6-13.4C37.4 82.7 32.6 59.7 31.1 44.9c-.8-8.1 5.7-14.6 13.8-13.8c14.7 1.4 37.8 6.3 53.6 22.1c4.8 4.8 8.7 10.4 11.7 16.1C131.4 28.2 174.4 0 224 0c70.7 0 128 57.3 128 128s-57.3 128-128 128zM0 482.3C0 399.5 56.4 330 132.8 309.9c6-1.6 12.2 .9 15.9 5.8l62.5 83.3c6.4 8.5 19.2 8.5 25.6 0l62.5-83.3c3.7-4.9 9.9-7.4 15.9-5.8C391.6 330 448 399.5 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM160 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H160z\"]\n};\nvar faPersonArrowUpFromLine = {\n prefix: 'fas',\n iconName: 'person-arrow-up-from-line',\n icon: [640, 512, [], \"e539\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 352V352h16v96H184zm-64 0H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H152h80H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H264V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V448zM598.6 121.4l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L464 141.3 464 384c0 17.7 14.3 32 32 32s32-14.3 32-32V141.3l25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z\"]\n};\nvar faScrollTorah = {\n prefix: 'fas',\n iconName: 'scroll-torah',\n icon: [640, 512, [\"torah\"], \"f6a0\", \"M96 480V32C96 14.3 74.5 0 48 0S0 14.3 0 32V480c0 17.7 21.5 32 48 32s48-14.3 48-32zM512 32H128V480H512V32zM592 0c-26.5 0-48 14.3-48 32V480c0 17.7 21.5 32 48 32s48-14.3 48-32V32c0-17.7-21.5-32-48-32zM196 313.7c0-3.2 .9-6.4 2.5-9.2L226.7 256l-28.3-48.5c-1.6-2.8-2.5-6-2.5-9.2c0-10.1 8.2-18.3 18.3-18.3H271l31.4-53.9c3.6-6.3 10.3-10.1 17.6-10.1s13.9 3.8 17.6 10.1L369 180h56.7c10.1 0 18.3 8.2 18.3 18.3c0 3.2-.9 6.4-2.5 9.2L413.3 256l28.3 48.5c1.6 2.8 2.5 6 2.5 9.2c0 10.1-8.2 18.3-18.3 18.3H369l-31.4 53.9c-3.6 6.3-10.3 10.1-17.6 10.1s-13.9-3.8-17.6-10.1L271 332H214.3c-10.1 0-18.3-8.2-18.3-18.3zm124 54.7L341.2 332H298.8L320 368.4zM254.5 256l30.3 52h70.4l30.3-52-30.3-52H284.8l-30.3 52zm144.9 23.8L383 308h32.8l-16.4-28.2zM415.8 204H383l16.4 28.2L415.8 204zM320 143.6L298.8 180h42.4L320 143.6zM224.2 204l16.4 28.2L257 204H224.2zM257 308l-16.4-28.2L224.2 308H257z\"]\n};\nvar faTorah = faScrollTorah;\nvar faBroomBall = {\n prefix: 'fas',\n iconName: 'broom-ball',\n icon: [576, 512, [\"quidditch\", \"quidditch-broom-ball\"], \"f458\", \"M566.6 9.4c12.5 12.5 12.5 32.8 0 45.3l-192 192 34.7 34.7c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H364.3L256 211.7V182.6c0-12.5 10.1-22.6 22.6-22.6c6 0 11.8 2.4 16 6.6l34.7 34.7 192-192c12.5-12.5 32.8-12.5 45.3 0zm-344 225.5L341.1 353.4c3.7 42.7-11.7 85.2-42.3 115.8C271.4 496.6 234.2 512 195.5 512L22.1 512C9.9 512 0 502.1 0 489.9c0-6.3 2.7-12.3 7.3-16.5L133.7 359.7c4.2-3.7-.4-10.4-5.4-7.9L77.2 377.4c-6.1 3-13.2-1.4-13.2-8.2c0-31.5 12.5-61.7 34.8-84l8-8c30.6-30.6 73.1-45.9 115.8-42.3zM464 352a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faQuidditch = faBroomBall;\nvar faQuidditchBroomBall = faBroomBall;\nvar faToggleOff = {\n prefix: 'fas',\n iconName: 'toggle-off',\n icon: [576, 512, [], \"f204\", \"M384 128c70.7 0 128 57.3 128 128s-57.3 128-128 128H192c-70.7 0-128-57.3-128-128s57.3-128 128-128H384zM576 256c0-106-86-192-192-192H192C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192zM192 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faBoxArchive = {\n prefix: 'fas',\n iconName: 'box-archive',\n icon: [512, 512, [\"archive\"], \"f187\", \"M32 32H480c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H32C14.3 128 0 113.7 0 96V64C0 46.3 14.3 32 32 32zm0 128H480V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V160zm128 80c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faArchive = faBoxArchive;\nvar faPersonDrowning = {\n prefix: 'fas',\n iconName: 'person-drowning',\n icon: [576, 512, [], \"e545\", \"M192 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V96.2c0 54.1 23.5 104 62.2 138.3l-21 146.7c7.8 2.1 15.5 3.3 22.8 3.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c12.4 8.5 26.1 14.8 39.7 18l17.7-97.6c10.7-1.2 21.3-3.1 31.9-5.5l105-23.9c17.2-3.9 28-21.1 24.1-38.3s-21.1-28-38.3-24.1L400 216.6c-41 9.3-83.7 7.5-123.7-5.2c-50.2-16-84.3-62.6-84.3-115.3V64zM320 192a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM306.5 389.9c-11.1-7.9-25.9-7.9-37 0C247 405.4 219.5 416 192 416c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 469.7 159 480 192 480c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 405.2 410.9 416 384 416c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nvar faArrowDown91 = {\n prefix: 'fas',\n iconName: 'arrow-down-9-1',\n icon: [576, 512, [\"sort-numeric-desc\", \"sort-numeric-down-alt\"], \"f886\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480zM450.7 294c-8.3-6-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2V416H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H464V320c0-10.3-4.9-19.9-13.3-26zM418.3 91a32 32 0 1 1 27.4 57.9A32 32 0 1 1 418.3 91zM405.1 203.8l-6.8 9.2c-10.5 14.2-7.5 34.2 6.7 44.8s34.2 7.5 44.8-6.7l48.8-65.8c14-18.9 21.5-41.7 21.5-65.2c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 39.2 25.6 72.4 61.1 83.8z\"]\n};\nvar faSortNumericDesc = faArrowDown91;\nvar faSortNumericDownAlt = faArrowDown91;\nvar faFaceGrinTongueSquint = {\n prefix: 'fas',\n iconName: 'face-grin-tongue-squint',\n icon: [512, 512, [128541, \"grin-tongue-squint\"], \"f58a\", \"M0 256C0 368.9 73.1 464.7 174.5 498.8C165.3 484 160 466.6 160 448V400.7c-24-17.5-43.1-41.4-54.8-69.2c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19c12.3-3.8 24.3 6.9 19.3 18.7c-11.8 28-31.1 52-55.4 69.6V448c0 18.6-5.3 36-14.5 50.8C438.9 464.7 512 368.9 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256zM116 141.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm262.5-10.5c7.9-4.2 17.5 1.5 17.5 10.5c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9zM320 448V402.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V448c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGrinTongueSquint = faFaceGrinTongueSquint;\nvar faSprayCan = {\n prefix: 'fas',\n iconName: 'spray-can',\n icon: [512, 512, [], \"f5bd\", \"M128 0h64c17.7 0 32 14.3 32 32v96H96V32c0-17.7 14.3-32 32-32zM0 256c0-53 43-96 96-96H224c53 0 96 43 96 96V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V256zm240 80A80 80 0 1 0 80 336a80 80 0 1 0 160 0zM256 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM384 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM448 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM384 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faTruckMonster = {\n prefix: 'fas',\n iconName: 'truck-monster',\n icon: [640, 512, [], \"f63b\", \"M288 64v64H416L368 64H288zM419.2 25.6L496 128h80c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64H288c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32H224V48c0-26.5 21.5-48 48-48h96c20.1 0 39.1 9.5 51.2 25.6zM152 256h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.7 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.3 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.3 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.8 3.7-14.1 6.8-21.7 9C190.1 503.1 180.1 512 168 512H152c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2L63.8 468.9c-8.6-8.6-9.3-21.9-2.3-31.3c-3.7-6.9-6.8-14.1-9-21.8C40.9 414.1 32 404.1 32 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.3-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9c1.7-11.6 11.7-20.6 23.8-20.6zm8 176a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM448.2 276.6c1.7-11.6 11.7-20.6 23.8-20.6h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.8 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.2 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.2 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.9 3.7-14.1 6.8-21.8 9C510.1 503.1 500.1 512 488 512H472c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2l-11.3-11.3c-8.6-8.6-9.3-21.9-2.2-31.3c-3.7-6.9-6.8-14.1-9-21.8C360.9 414.1 352 404.1 352 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.2-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9zM528 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faW = {\n prefix: 'fas',\n iconName: 'w',\n icon: [576, 512, [119], \"57\", \"M20.8 34c16.5-6.2 35 2.2 41.2 18.7l110.2 294L257.3 55c4-13.7 16.5-23 30.7-23s26.7 9.4 30.7 23l85.1 291.7L514 52.8c6.2-16.5 24.6-24.9 41.2-18.7s24.9 24.7 18.7 41.2l-144 384c-4.8 12.9-17.4 21.3-31.2 20.7s-25.7-9.8-29.5-23L288 178.3 206.7 457c-3.9 13.2-15.8 22.5-29.5 23s-26.3-7.8-31.2-20.7L2 75.2C-4.2 58.7 4.2 40.2 20.8 34z\"]\n};\nvar faEarthAfrica = {\n prefix: 'fas',\n iconName: 'earth-africa',\n icon: [512, 512, [127757, \"globe-africa\"], \"f57c\", \"M177.8 63.2l10 17.4c2.8 4.8 4.2 10.3 4.2 15.9v41.4c0 3.9 1.6 7.7 4.3 10.4c6.2 6.2 16.5 5.7 22-1.2l13.6-17c4.7-5.9 12.9-7.7 19.6-4.3l15.2 7.6c3.4 1.7 7.2 2.6 11 2.6c6.5 0 12.8-2.6 17.4-7.2l3.9-3.9c2.9-2.9 7.3-3.6 11-1.8l29.2 14.6c7.8 3.9 12.6 11.8 12.6 20.5c0 10.5-7.1 19.6-17.3 22.2l-35.4 8.8c-7.4 1.8-15.1 1.5-22.4-.9l-32-10.7c-3.3-1.1-6.7-1.7-10.2-1.7c-7 0-13.8 2.3-19.4 6.5L176 212c-10.1 7.6-16 19.4-16 32v28c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16v48c0 17.7 14.3 32 32 32c10.1 0 19.6-4.7 25.6-12.8l25.6-34.1c8.3-11.1 12.8-24.6 12.8-38.4V318.6c0-3.9 2.6-7.3 6.4-8.2l5.3-1.3c11.9-3 20.3-13.7 20.3-26c0-7.1-2.8-13.9-7.8-18.9l-33.5-33.5c-3.7-3.7-3.7-9.7 0-13.4c5.7-5.7 14.1-7.7 21.8-5.1l14.1 4.7c12.3 4.1 25.7-1.5 31.5-13c3.5-7 11.2-10.8 18.9-9.2l27.4 5.5C432 112.4 351.5 48 256 48c-27.7 0-54 5.4-78.2 15.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faGlobeAfrica = faEarthAfrica;\nvar faRainbow = {\n prefix: 'fas',\n iconName: 'rainbow',\n icon: [640, 512, [127752], \"f75b\", \"M320 96C178.6 96 64 210.6 64 352v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352C0 175.3 143.3 32 320 32s320 143.3 320 320v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352C576 210.6 461.4 96 320 96zm0 192c-35.3 0-64 28.7-64 64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-70.7 57.3-128 128-128s128 57.3 128 128v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-35.3-28.7-64-64-64zM160 352v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-123.7 100.3-224 224-224s224 100.3 224 224v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-88.4-71.6-160-160-160s-160 71.6-160 160z\"]\n};\nvar faCircleNotch = {\n prefix: 'fas',\n iconName: 'circle-notch',\n icon: [512, 512, [], \"f1ce\", \"M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z\"]\n};\nvar faTabletScreenButton = {\n prefix: 'fas',\n iconName: 'tablet-screen-button',\n icon: [448, 512, [\"tablet-alt\"], \"f3fa\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM256 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 64H64V384H384V64z\"]\n};\nvar faTabletAlt = faTabletScreenButton;\nvar faPaw = {\n prefix: 'fas',\n iconName: 'paw',\n icon: [512, 512, [], \"f1b0\", \"M226.5 92.9c14.3 42.9-.3 86.2-32.6 96.8s-70.1-15.6-84.4-58.5s.3-86.2 32.6-96.8s70.1 15.6 84.4 58.5zM100.4 198.6c18.9 32.4 14.3 70.1-10.2 84.1s-59.7-.9-78.5-33.3S-2.7 179.3 21.8 165.3s59.7 .9 78.5 33.3zM69.2 401.2C121.6 259.9 214.7 224 256 224s134.4 35.9 186.8 177.2c3.6 9.7 5.2 20.1 5.2 30.5v1.6c0 25.8-20.9 46.7-46.7 46.7c-11.5 0-22.9-1.4-34-4.2l-88-22c-15.3-3.8-31.3-3.8-46.6 0l-88 22c-11.1 2.8-22.5 4.2-34 4.2C84.9 480 64 459.1 64 433.3v-1.6c0-10.4 1.6-20.8 5.2-30.5zM421.8 282.7c-24.5-14-29.1-51.7-10.2-84.1s54-47.3 78.5-33.3s29.1 51.7 10.2 84.1s-54 47.3-78.5 33.3zM310.1 189.7c-32.3-10.6-46.9-53.9-32.6-96.8s52.1-69.1 84.4-58.5s46.9 53.9 32.6 96.8s-52.1 69.1-84.4 58.5z\"]\n};\nvar faCloud = {\n prefix: 'fas',\n iconName: 'cloud',\n icon: [640, 512, [9729], \"f0c2\", \"M0 336c0 79.5 64.5 144 144 144H512c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z\"]\n};\nvar faTrowelBricks = {\n prefix: 'fas',\n iconName: 'trowel-bricks',\n icon: [512, 512, [], \"e58a\", \"M240.8 4.8C250.3 10.6 256 20.9 256 32v72h89c3.6-13.8 16.1-24 31-24h88c26.5 0 48 21.5 48 48s-21.5 48-48 48H376c-14.9 0-27.4-10.2-31-24H256v72c0 11.1-5.7 21.4-15.2 27.2s-21.2 6.4-31.1 1.4l-192-96C6.8 151.2 0 140.1 0 128s6.8-23.2 17.7-28.6l192-96c9.9-5 21.7-4.4 31.1 1.4zM288 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V256zM32 384h96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32zm192 0H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32z\"]\n};\nvar faFaceFlushed = {\n prefix: 'fas',\n iconName: 'face-flushed',\n icon: [512, 512, [128563, \"flushed\"], \"f579\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM176 384c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16s-7.2-16-16-16H192c-8.8 0-16 7.2-16 16zm-16-88a72 72 0 1 0 0-144 72 72 0 1 0 0 144zm264-72a72 72 0 1 0 -144 0 72 72 0 1 0 144 0zm-288 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm192 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faFlushed = faFaceFlushed;\nvar faHospitalUser = {\n prefix: 'fas',\n iconName: 'hospital-user',\n icon: [576, 512, [], \"f80d\", \"M48 0C21.5 0 0 21.5 0 48V256H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v64H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v80c0 26.5 21.5 48 48 48H265.9c-6.3-10.2-9.9-22.2-9.9-35.1c0-46.9 25.8-87.8 64-109.2V271.8 48c0-26.5-21.5-48-48-48H48zM152 64h16c8.8 0 16 7.2 16 16v24h24c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H184v24c0 8.8-7.2 16-16 16H152c-8.8 0-16-7.2-16-16V152H112c-8.8 0-16-7.2-16-16V120c0-8.8 7.2-16 16-16h24V80c0-8.8 7.2-16 16-16zM512 272a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM288 477.1c0 19.3 15.6 34.9 34.9 34.9H541.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H381.1c-51.4 0-93.1 41.7-93.1 93.1z\"]\n};\nvar faTentArrowLeftRight = {\n prefix: 'fas',\n iconName: 'tent-arrow-left-right',\n icon: [576, 512, [], \"e57f\", \"M488.1 6.2c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9L489.5 72 86.5 72l33.5-30.2c9.9-8.9 10.7-24 1.8-33.9S97.8-2.7 87.9 6.2l-80 72C2.9 82.7 0 89.2 0 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 120l402.9 0-33.5 30.2c-9.9 8.9-10.7 24-1.8 33.9s24 10.7 33.9 1.8l80-72c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-80-72zM307.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S86.7 512 96 512H288V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nvar faGavel = {\n prefix: 'fas',\n iconName: 'gavel',\n icon: [512, 512, [\"legal\"], \"f0e3\", \"M318.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-120 120c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l4-4L325.4 293.4l-4 4c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l120-120c12.5-12.5 12.5-32.8 0-45.3l-16-16c-12.5-12.5-32.8-12.5-45.3 0l-4 4L330.6 74.6l4-4c12.5-12.5 12.5-32.8 0-45.3l-16-16zm-152 288c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l48 48c12.5 12.5 32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-1.4-1.4L272 285.3 226.7 240 168 298.7l-1.4-1.4z\"]\n};\nvar faLegal = faGavel;\nvar faBinoculars = {\n prefix: 'fas',\n iconName: 'binoculars',\n icon: [512, 512, [], \"f1e5\", \"M128 32h32c17.7 0 32 14.3 32 32V96H96V64c0-17.7 14.3-32 32-32zm64 96V448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V388.9c0-34.6 9.4-68.6 27.2-98.3C40.9 267.8 49.7 242.4 53 216L60.5 156c2-16 15.6-28 31.8-28H192zm227.8 0c16.1 0 29.8 12 31.8 28L459 216c3.3 26.4 12.1 51.8 25.8 74.6c17.8 29.7 27.2 63.7 27.2 98.3V448c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V128h99.8zM320 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V96H320V64zm-32 64V288H224V128h64z\"]\n};\nvar faMicrophoneSlash = {\n prefix: 'fas',\n iconName: 'microphone-slash',\n icon: [640, 512, [], \"f131\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 21.2-5.1 41.1-14.2 58.7L416 300.8V96c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1zM344 430.4c20.4-2.8 39.7-9.1 57.3-18.2l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4z\"]\n};\nvar faBoxTissue = {\n prefix: 'fas',\n iconName: 'box-tissue',\n icon: [512, 512, [], \"e05b\", \"M92.5 0H208c40 0 52 24 64 48s24 48 64 48h85.2C436 96 448 108 448 122.8c0 3.4-.7 6.8-1.9 10L409.6 224 384 288H128l-16-64L64.9 35.4c-.6-2.3-.9-4.6-.9-6.9C64 12.8 76.8 0 92.5 0zM79 224l16 64H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h48H384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H418.5l25.6-64H464c26.5 0 48 21.5 48 48V384H0V272c0-26.5 21.5-48 48-48H79zM0 416H512v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V416z\"]\n};\nvar faMotorcycle = {\n prefix: 'fas',\n iconName: 'motorcycle',\n icon: [640, 512, [127949], \"f21c\", \"M280 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h57.7l16.4 30.3L256 192l-45.3-45.3c-12-12-28.3-18.7-45.3-18.7H64c-17.7 0-32 14.3-32 32v32h96c88.4 0 160 71.6 160 160c0 11-1.1 21.7-3.2 32h70.4c-2.1-10.3-3.2-21-3.2-32c0-52.2 25-98.6 63.7-127.8l15.4 28.6C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L418.2 128H480c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H459.6c-7.5 0-14.7 2.6-20.5 7.4L391.7 78.9l-14-26c-7-12.9-20.5-21-35.2-21H280zM462.7 311.2l28.2 52.2c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-28.2-52.2c2.3-.3 4.7-.4 7.1-.4c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-15.5 5.5-29.7 14.7-40.8zM187.3 376c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64s28.7-64 64-64c26.9 0 49.9 16.5 59.3 40h66.4C242.5 268.8 190.5 224 128 224C57.3 224 0 281.3 0 352s57.3 128 128 128c62.5 0 114.5-44.8 125.8-104H187.3zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBellConcierge = {\n prefix: 'fas',\n iconName: 'bell-concierge',\n icon: [512, 512, [128718, \"concierge-bell\"], \"f562\", \"M216 64c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v33.3C119.6 157.2 32 252.4 32 368H480c0-115.6-87.6-210.8-200-222.7V112h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 216zM24 400c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faConciergeBell = faBellConcierge;\nvar faPenRuler = {\n prefix: 'fas',\n iconName: 'pen-ruler',\n icon: [512, 512, [\"pencil-ruler\"], \"f5ae\", \"M469.3 19.3l23.4 23.4c25 25 25 65.5 0 90.5l-56.4 56.4L322.3 75.7l56.4-56.4c25-25 65.5-25 90.5 0zM44.9 353.2L299.7 98.3 413.7 212.3 158.8 467.1c-6.7 6.7-15.1 11.6-24.2 14.2l-104 29.7c-8.4 2.4-17.4 .1-23.6-6.1s-8.5-15.2-6.1-23.6l29.7-104c2.6-9.2 7.5-17.5 14.2-24.2zM249.4 103.4L103.4 249.4 16 161.9c-18.7-18.7-18.7-49.1 0-67.9L94.1 16c18.7-18.7 49.1-18.7 67.9 0l19.8 19.8c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1l45.1 45.1zM408.6 262.6l45.1 45.1c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1L496 350.1c18.7 18.7 18.7 49.1 0 67.9L417.9 496c-18.7 18.7-49.1 18.7-67.9 0l-87.4-87.4L408.6 262.6z\"]\n};\nvar faPencilRuler = faPenRuler;\nvar faPeopleArrows = {\n prefix: 'fas',\n iconName: 'people-arrows',\n icon: [640, 512, [\"people-arrows-left-right\"], \"e068\", \"M64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zM25.9 233.4C29.3 191.9 64 160 105.6 160h44.8c27 0 51 13.4 65.5 34.1c-2.7 1.9-5.2 4-7.5 6.3l-64 64c-21.9 21.9-21.9 57.3 0 79.2L192 391.2V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3zM448 64a64 64 0 1 1 128 0A64 64 0 1 1 448 64zM431.6 200.4c-2.3-2.3-4.9-4.4-7.5-6.3c14.5-20.7 38.6-34.1 65.5-34.1h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V464c0 26.5-21.5 48-48 48H496c-26.5 0-48-21.5-48-48V391.2l47.6-47.6c21.9-21.9 21.9-57.3 0-79.2l-64-64zM272 240v32h96V240c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l64 64c9.4 9.4 9.4 24.6 0 33.9l-64 64c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V336H272v32c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2z\"]\n};\nvar faPeopleArrowsLeftRight = faPeopleArrows;\nvar faMarsAndVenusBurst = {\n prefix: 'fas',\n iconName: 'mars-and-venus-burst',\n icon: [640, 512, [], \"e523\", \"M504 0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l39 39-22.2 22.2C475.9 78.4 439.6 64 400 64c-88.4 0-160 71.6-160 160c0 80.2 59.1 146.7 136.1 158.2c0 .6-.1 1.2-.1 1.8v.4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3H352c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0l24 0H376c0 13.3 10.7 24 24 24s24-10.7 24-24H400l24 0v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V486 486v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V485 485v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V484v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V483v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V481v-.1-.1-.1-.1-.1-.1-.1-.1V480v-.1-.1-.1-.1-.1-.1-.1V479v-.1-.1-.1-.1-.1-.1-.1V478v-.1-.1-.1-.1-.1-.1V477v-.1-.1-.1-.1-.1-.1V476v-.1-.1-.1-.1-.1-.1V475v-.1-.2-.2-.2-.2-.2V474v-.2-.2-.2-.2-.2V473v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V470v-.2-.2-.2-.2-.2V469v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V467v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V463v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V459v-.2-.2-.2-.2-.2-.2-.2-.2V457v-.2-.2-.2-.2V456h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H424v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V403v-.3-.3V402v-.3-.3V401v-.3-.3V400v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.3-.4-.4-.4-.4V393v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V388v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V384c0-.6 0-1.2-.1-1.8c77-11.6 136.1-78 136.1-158.2c0-31.4-9-60.7-24.7-85.4L560 113.9l39 39c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V24c0-13.3-10.7-24-24-24H504zM400 128a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.1 3.8 9.9 5.1 15.2 3.6C223.6 310.8 208 269.2 208 224c0-60.8 28.3-115 72.4-150.2L220.3 92.1l-29.4-74z\"]\n};\nvar faSquareCaretRight = {\n prefix: 'fas',\n iconName: 'square-caret-right',\n icon: [448, 512, [\"caret-square-right\"], \"f152\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM320 256c0 6.7-2.8 13-7.7 17.6l-112 104c-7 6.5-17.2 8.2-25.9 4.4s-14.4-12.5-14.4-22l0-208c0-9.5 5.7-18.2 14.4-22s18.9-2.1 25.9 4.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6z\"]\n};\nvar faCaretSquareRight = faSquareCaretRight;\nvar faScissors = {\n prefix: 'fas',\n iconName: 'scissors',\n icon: [512, 512, [9984, 9986, 9988, \"cut\"], \"f0c4\", \"M256 192l-39.5-39.5c4.9-12.6 7.5-26.2 7.5-40.5C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c14.3 0 27.9-2.7 40.5-7.5L192 256l-39.5 39.5c-12.6-4.9-26.2-7.5-40.5-7.5C50.1 288 0 338.1 0 400s50.1 112 112 112s112-50.1 112-112c0-14.3-2.7-27.9-7.5-40.5L499.2 76.8c7.1-7.1 7.1-18.5 0-25.6c-28.3-28.3-74.1-28.3-102.4 0L256 192zm22.6 150.6L396.8 460.8c28.3 28.3 74.1 28.3 102.4 0c7.1-7.1 7.1-18.5 0-25.6L342.6 278.6l-64 64zM64 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm48 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCut = faScissors;\nvar faSunPlantWilt = {\n prefix: 'fas',\n iconName: 'sun-plant-wilt',\n icon: [640, 512, [], \"e57a\", \"M160 0c-6.3 0-12 3.7-14.6 9.5L120.6 64.9 63.9 43.2c-5.9-2.3-12.6-.8-17 3.6s-5.9 11.1-3.6 17l21.7 56.7L9.5 145.4C3.7 148 0 153.7 0 160s3.7 12 9.5 14.6l55.4 24.8L43.2 256.1c-2.3 5.9-.8 12.6 3.6 17s11.1 5.9 17 3.6l56.7-21.7 24.8 55.4c2.6 5.8 8.3 9.5 14.6 9.5s12-3.7 14.6-9.5l24.8-55.4 56.7 21.7c5.9 2.3 12.6 .8 17-3.6s5.9-11.1 3.6-17l-21.7-56.7 55.4-24.8c5.8-2.6 9.5-8.3 9.5-14.6s-3.7-12-9.5-14.6l-55.4-24.8 21.7-56.7c2.3-5.9 .8-12.6-3.6-17s-11.1-5.9-17-3.6L199.4 64.9 174.6 9.5C172 3.7 166.3 0 160 0zm0 96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm312 16c0-17.7 14.3-32 32-32s32 14.3 32 32v53.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C624 318 640 290.7 640 274c0-21.5-9.2-37-24-44.6V176c0-44.2-35.8-80-80-80s-80 35.8-80 80v22.7c-9.8-4.3-20.6-6.7-32-6.7c-44.2 0-80 35.8-80 80v21.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C400 382 416 354.7 416 338c0-21.5-9.2-37-24-44.6V272c0-17.7 14.3-32 32-32s32 14.3 32 32v8V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H504V280v-8V176z\"]\n};\nvar faToiletsPortable = {\n prefix: 'fas',\n iconName: 'toilets-portable',\n icon: [576, 512, [], \"e584\", \"M32 0H224c17.7 0 32 14.3 32 32V64H0V32C0 14.3 14.3 0 32 0zM0 96H24 232h24v24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H48v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V120 96zM192 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16zM352 0H544c17.7 0 32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32zM320 96h24H552h24v24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H368v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V120 96zM512 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16z\"]\n};\nvar faHockeyPuck = {\n prefix: 'fas',\n iconName: 'hockey-puck',\n icon: [512, 512, [], \"f453\", \"M256 256C114.6 256 0 213 0 160s114.6-96 256-96s256 43 256 96s-114.6 96-256 96zm192.3 1.8c24.7-9.3 46.9-21 63.7-35.6V352c0 53-114.6 96-256 96S0 405 0 352V222.3c16.8 14.6 39 26.3 63.7 35.6C114.5 276.9 182.5 288 256 288s141.5-11.1 192.3-30.2z\"]\n};\nvar faTable = {\n prefix: 'fas',\n iconName: 'table',\n icon: [512, 512, [], \"f0ce\", \"M64 256V160H224v96H64zm0 64H224v96H64V320zm224 96V320H448v96H288zM448 256H288V160H448v96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faMagnifyingGlassArrowRight = {\n prefix: 'fas',\n iconName: 'magnifying-glass-arrow-right',\n icon: [512, 512, [], \"e521\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM241 119c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H238.1l-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72z\"]\n};\nvar faTachographDigital = {\n prefix: 'fas',\n iconName: 'tachograph-digital',\n icon: [640, 512, [\"digital-tachograph\"], \"f566\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm32 64H320c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zM64 368c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm320 0c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16zM80 288a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faDigitalTachograph = faTachographDigital;\nvar faUsersSlash = {\n prefix: 'fas',\n iconName: 'users-slash',\n icon: [640, 512, [], \"e073\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L440.6 320H618.7c11.8 0 21.3-9.6 21.3-21.3C640 239.8 592.2 192 533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 30.2-10.5 58-28 79.9l-25.2-19.7C408.1 267.7 416 246.8 416 224c0-53-43-96-96-96c-31.1 0-58.7 14.8-76.3 37.7l-40.6-31.8c13-14.2 20.9-33.1 20.9-53.9c0-44.2-35.8-80-80-80C116.3 0 91.9 14.1 77.5 35.5L38.8 5.1zM106.7 192C47.8 192 0 239.8 0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-20.6-18.2-35.2-42.8-40.8-70.8L121.8 192H106.7zM261.3 352C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H485.3c10.5 0 19.5-6 23.9-14.8L324.9 352H261.3zM512 160A80 80 0 1 0 512 0a80 80 0 1 0 0 160z\"]\n};\nvar faClover = {\n prefix: 'fas',\n iconName: 'clover',\n icon: [448, 512, [], \"e139\", \"M173.3 32C139.4 32 112 59.4 112 93.3v4.9c0 12 3.3 23.7 9.4 34l18.8 31.3c1.1 1.8 1.2 3.1 1 4.2c-.2 1.2-.8 2.5-2 3.6s-2.4 1.8-3.6 2c-1 .2-2.4 .1-4.2-1l-31.3-18.8c-10.3-6.2-22-9.4-34-9.4H61.3C27.4 144 0 171.4 0 205.3c0 16.2 6.5 31.8 17.9 43.3l1.2 1.2c3.4 3.4 3.4 9 0 12.4l-1.2 1.2C6.5 274.9 0 290.5 0 306.7C0 340.6 27.4 368 61.3 368h4.9c12 0 23.7-3.3 34-9.4l31.3-18.8c1.8-1.1 3.1-1.2 4.2-1c1.2 .2 2.5 .8 3.6 2s1.8 2.4 2 3.6c.2 1 .1 2.4-1 4.2l-18.8 31.3c-6.2 10.3-9.4 22-9.4 34v4.9c0 33.8 27.4 61.3 61.3 61.3c16.2 0 31.8-6.5 43.3-17.9l1.2-1.2c3.4-3.4 9-3.4 12.4 0l1.2 1.2c11.5 11.5 27.1 17.9 43.3 17.9c33.8 0 61.3-27.4 61.3-61.3v-4.9c0-12-3.3-23.7-9.4-34l-18.8-31.3c-1.1-1.8-1.2-3.1-1-4.2c.2-1.2 .8-2.5 2-3.6s2.4-1.8 3.6-2c1-.2 2.4-.1 4.2 1l31.3 18.8c10.3 6.2 22 9.4 34 9.4h4.9c33.8 0 61.3-27.4 61.3-61.3c0-16.2-6.5-31.8-17.9-43.3l-1.2-1.2c-3.4-3.4-3.4-9 0-12.4l1.2-1.2c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3h-4.9c-12 0-23.7 3.3-34 9.4l-31.3 18.8c-1.8 1.1-3.1 1.2-4.2 1c-1.2-.2-2.5-.8-3.6-2s-1.8-2.4-2-3.6c-.2-1-.1-2.4 1-4.2l18.8-31.3c6.2-10.3 9.4-22 9.4-34V93.3C336 59.4 308.6 32 274.7 32c-16.2 0-31.8 6.5-43.3 17.9l-1.2 1.2c-3.4 3.4-9 3.4-12.4 0l-1.2-1.2C205.1 38.5 189.5 32 173.3 32z\"]\n};\nvar faReply = {\n prefix: 'fas',\n iconName: 'reply',\n icon: [512, 512, [61714, \"mail-reply\"], \"f3e5\", \"M205 34.8c11.5 5.1 19 16.6 19 29.2v64H336c97.2 0 176 78.8 176 176c0 113.3-81.5 163.9-100.2 174.1c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-7.5 4.3-14.4 9.8-19.5c9.4-8.8 22.2-26.4 22.2-56.7c0-53-43-96-96-96H224v64c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 225.7 0 217.1 0 208s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4z\"]\n};\nvar faMailReply = faReply;\nvar faStarAndCrescent = {\n prefix: 'fas',\n iconName: 'star-and-crescent',\n icon: [512, 512, [9770], \"f699\", \"M0 256C0 114.6 114.6 0 256 0c33 0 64.6 6.3 93.6 17.7c7.4 2.9 11.5 10.7 9.8 18.4s-8.8 13-16.7 12.4c-4.8-.3-9.7-.5-14.6-.5c-114.9 0-208 93.1-208 208s93.1 208 208 208c4.9 0 9.8-.2 14.6-.5c7.9-.5 15 4.7 16.7 12.4s-2.4 15.5-9.8 18.4C320.6 505.7 289 512 256 512C114.6 512 0 397.4 0 256zM375.4 137.4c3.5-7.1 13.7-7.1 17.2 0l31.5 63.8c1.4 2.8 4.1 4.8 7.2 5.3l70.4 10.2c7.9 1.1 11 10.8 5.3 16.4l-50.9 49.6c-2.3 2.2-3.3 5.4-2.8 8.5l12 70.1c1.3 7.8-6.9 13.8-13.9 10.1l-63-33.1c-2.8-1.5-6.1-1.5-8.9 0l-63 33.1c-7 3.7-15.3-2.3-13.9-10.1l12-70.1c.5-3.1-.5-6.3-2.8-8.5L261 233.1c-5.7-5.6-2.6-15.2 5.3-16.4l70.4-10.2c3.1-.5 5.8-2.4 7.2-5.3l31.5-63.8z\"]\n};\nvar faHouseFire = {\n prefix: 'fas',\n iconName: 'house-fire',\n icon: [640, 512, [], \"e50c\", \"M288 350.1l0 1.9H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L447.3 128.1c-12.3-1-25 3-34.8 11.7c-35.4 31.6-65.6 67.7-87.3 102.8C304.3 276.5 288 314.9 288 350.1zM453.5 163.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C640 440 568.7 512 480 512c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7c3.5 0 7 1.3 9.8 3.8zM530 433c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15z\"]\n};\nvar faSquareMinus = {\n prefix: 'fas',\n iconName: 'square-minus',\n icon: [448, 512, [61767, \"minus-square\"], \"f146\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 200H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMinusSquare = faSquareMinus;\nvar faHelicopter = {\n prefix: 'fas',\n iconName: 'helicopter',\n icon: [640, 512, [128641], \"f533\", \"M128 32c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H384v64h32c88.4 0 160 71.6 160 160v64c0 17.7-14.3 32-32 32H384 320c-20.1 0-39.1-9.5-51.2-25.6l-71.4-95.2c-3.5-4.7-8.3-8.3-13.7-10.5L47.2 198.1c-9.5-3.8-16.7-12-19.2-22L5 83.9C2.4 73.8 10.1 64 20.5 64H48c10.1 0 19.6 4.7 25.6 12.8L112 128H320V64H160c-17.7 0-32-14.3-32-32zM384 320H512V288c0-53-43-96-96-96H384V320zM630.6 425.4c12.5 12.5 12.5 32.8 0 45.3l-3.9 3.9c-24 24-56.6 37.5-90.5 37.5H256c-17.7 0-32-14.3-32-32s14.3-32 32-32H536.2c17 0 33.3-6.7 45.3-18.7l3.9-3.9c12.5-12.5 32.8-12.5 45.3 0z\"]\n};\nvar faCompass = {\n prefix: 'fas',\n iconName: 'compass',\n icon: [512, 512, [129517], \"f14e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm50.7-186.9L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSquareCaretDown = {\n prefix: 'fas',\n iconName: 'square-caret-down',\n icon: [448, 512, [\"caret-square-down\"], \"f150\", \"M384 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0zM224 352c-6.7 0-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9s12.5-14.4 22-14.4l208 0c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7z\"]\n};\nvar faCaretSquareDown = faSquareCaretDown;\nvar faFileCircleQuestion = {\n prefix: 'fas',\n iconName: 'file-circle-question',\n icon: [576, 512, [], \"e4ef\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM368 321.6V328c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.4c0-5.3 4.3-9.6 9.6-9.6h40.5c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2V384c0 8.8 7.2 16 16 16s16-7.2 16-16v-5.1l23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9H409.6c-23 0-41.6 18.6-41.6 41.6z\"]\n};\nvar faLaptopCode = {\n prefix: 'fas',\n iconName: 'laptop-code',\n icon: [640, 512, [], \"f5fc\", \"M64 96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V352H512V96H128V352H64V96zM0 403.2C0 392.6 8.6 384 19.2 384H620.8c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8H76.8C34.4 480 0 445.6 0 403.2zM281 209l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM393 175l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faSwatchbook = {\n prefix: 'fas',\n iconName: 'swatchbook',\n icon: [512, 512, [], \"f5c3\", \"M0 32C0 14.3 14.3 0 32 0H160c17.7 0 32 14.3 32 32V416c0 53-43 96-96 96s-96-43-96-96V32zM223.6 425.9c.3-3.3 .4-6.6 .4-9.9V154l75.4-75.4c12.5-12.5 32.8-12.5 45.3 0l90.5 90.5c12.5 12.5 12.5 32.8 0 45.3L223.6 425.9zM182.8 512l192-192H480c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H182.8zM128 64H64v64h64V64zM64 192v64h64V192H64zM96 440a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPrescriptionBottle = {\n prefix: 'fas',\n iconName: 'prescription-bottle',\n icon: [384, 512, [], \"f485\", \"M0 32C0 14.3 14.3 0 32 0H352c17.7 0 32 14.3 32 32V64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64V32zm32 96H352V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V416H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V320H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V224H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V128z\"]\n};\nvar faBars = {\n prefix: 'fas',\n iconName: 'bars',\n icon: [448, 512, [\"navicon\"], \"f0c9\", \"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"]\n};\nvar faNavicon = faBars;\nvar faPeopleGroup = {\n prefix: 'fas',\n iconName: 'people-group',\n icon: [640, 512, [], \"e533\", \"M72 88a56 56 0 1 1 112 0A56 56 0 1 1 72 88zM64 245.7C54 256.9 48 271.8 48 288s6 31.1 16 42.3V245.7zm144.4-49.3C178.7 222.7 160 261.2 160 304c0 34.3 12 65.8 32 90.5V416c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V389.2C26.2 371.2 0 332.7 0 288c0-61.9 50.1-112 112-112h32c24 0 46.2 7.5 64.4 20.3zM448 416V394.5c20-24.7 32-56.2 32-90.5c0-42.8-18.7-81.3-48.4-107.7C449.8 183.5 472 176 496 176h32c61.9 0 112 50.1 112 112c0 44.7-26.2 83.2-64 101.2V416c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32zm8-328a56 56 0 1 1 112 0A56 56 0 1 1 456 88zM576 245.7v84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM320 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM240 304c0 16.2 6 31 16 42.3V261.7c-10 11.3-16 26.1-16 42.3zm144-42.3v84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM448 304c0 44.7-26.2 83.2-64 101.2V448c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V405.2c-37.8-18-64-56.5-64-101.2c0-61.9 50.1-112 112-112h32c61.9 0 112 50.1 112 112z\"]\n};\nvar faHourglassEnd = {\n prefix: 'fas',\n iconName: 'hourglass-end',\n icon: [384, 512, [8987, \"hourglass-3\"], \"f253\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437v11c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 64 32zM96 75V64H288V75c0 25.5-10.1 49.9-28.1 67.9L192 210.7l-67.9-67.9C106.1 124.9 96 100.4 96 75z\"]\n};\nvar faHourglass3 = faHourglassEnd;\nvar faHeartCrack = {\n prefix: 'fas',\n iconName: 'heart-crack',\n icon: [512, 512, [128148, \"heart-broken\"], \"f7a9\", \"M119.4 44.1c23.3-3.9 46.8-1.9 68.6 5.3l49.8 77.5-75.4 75.4c-1.5 1.5-2.4 3.6-2.3 5.8s1 4.2 2.6 5.7l112 104c2.9 2.7 7.4 2.9 10.5 .3s3.8-7 1.7-10.4l-60.4-98.1 90.7-75.6c2.6-2.1 3.5-5.7 2.4-8.8L296.8 61.8c28.5-16.7 62.4-23.2 95.7-17.6C461.5 55.6 512 115.2 512 185.1v5.8c0 41.5-17.2 81.2-47.6 109.5L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9L47.6 300.4C17.2 272.1 0 232.4 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141z\"]\n};\nvar faHeartBroken = faHeartCrack;\nvar faSquareUpRight = {\n prefix: 'fas',\n iconName: 'square-up-right',\n icon: [448, 512, [8599, \"external-link-square-alt\"], \"f360\", \"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM320 313.4V176c0-8.8-7.2-16-16-16H166.6c-12.5 0-22.6 10.1-22.6 22.6c0 6 2.4 11.8 6.6 16L184 232l-66.3 66.3C114 302 112 306.9 112 312s2 10 5.7 13.7l36.7 36.7c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7L248 296l33.4 33.4c4.2 4.2 10 6.6 16 6.6c12.5 0 22.6-10.1 22.6-22.6z\"]\n};\nvar faExternalLinkSquareAlt = faSquareUpRight;\nvar faFaceKissBeam = {\n prefix: 'fas',\n iconName: 'face-kiss-beam',\n icon: [512, 512, [128537, \"kiss-beam\"], \"f597\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zm-87.1-84.9l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faKissBeam = faFaceKissBeam;\nvar faFilm = {\n prefix: 'fas',\n iconName: 'film',\n icon: [512, 512, [127902], \"f008\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM48 368v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H416zM48 240v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H416zM48 112v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zM416 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H416zM160 128v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zm32 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H192z\"]\n};\nvar faRulerHorizontal = {\n prefix: 'fas',\n iconName: 'ruler-horizontal',\n icon: [640, 512, [], \"f547\", \"M0 336c0 26.5 21.5 48 48 48l544 0c26.5 0 48-21.5 48-48l0-160c0-26.5-21.5-48-48-48l-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0c-26.5 0-48 21.5-48 48L0 336z\"]\n};\nvar faPeopleRobbery = {\n prefix: 'fas',\n iconName: 'people-robbery',\n icon: [576, 512, [], \"e536\", \"M488.2 59.1C478.1 99.6 441.7 128 400 128s-78.1-28.4-88.2-68.9L303 24.2C298.8 7.1 281.4-3.3 264.2 1S236.7 22.6 241 39.8l8.7 34.9c11 44 40.2 79.6 78.3 99.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V174.3c38.1-20 67.3-55.6 78.3-99.6L559 39.8c4.3-17.1-6.1-34.5-23.3-38.8S501.2 7.1 497 24.2l-8.7 34.9zM400 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zm-8 32c-35.3 0-64 28.7-64 64v96l0 .6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352H88V480c0 17.7 14.3 32 32 32s32-14.3 32-32V252.7l13 20.5c5.9 9.2 16.1 14.9 27 14.9h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H209.6l-37.4-58.9C157.6 142 132.1 128 104.7 128H72z\"]\n};\nvar faLightbulb = {\n prefix: 'fas',\n iconName: 'lightbulb',\n icon: [384, 512, [128161], \"f0eb\", \"M272 384c9.6-31.9 29.5-59.1 49.2-86.2l0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0c19.8 27.1 39.7 54.4 49.2 86.2H272zM192 512c44.2 0 80-35.8 80-80V416H112v16c0 44.2 35.8 80 80 80zM112 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80z\"]\n};\nvar faCaretLeft = {\n prefix: 'fas',\n iconName: 'caret-left',\n icon: [256, 512, [], \"f0d9\", \"M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 256c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-128-128z\"]\n};\nvar faCircleExclamation = {\n prefix: 'fas',\n iconName: 'circle-exclamation',\n icon: [512, 512, [\"exclamation-circle\"], \"f06a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faExclamationCircle = faCircleExclamation;\nvar faSchoolCircleXmark = {\n prefix: 'fas',\n iconName: 'school-circle-xmark',\n icon: [640, 512, [], \"e56d\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H320v0H256V416c0-35.3 28.7-64 64-64l.3 0h.5c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm22.6-144l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"]\n};\nvar faArrowRightFromBracket = {\n prefix: 'fas',\n iconName: 'arrow-right-from-bracket',\n icon: [512, 512, [\"sign-out\"], \"f08b\", \"M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 192 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128zM160 96c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 32C43 32 0 75 0 128L0 384c0 53 43 96 96 96l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l64 0z\"]\n};\nvar faSignOut = faArrowRightFromBracket;\nvar faCircleChevronDown = {\n prefix: 'fas',\n iconName: 'circle-chevron-down',\n icon: [512, 512, [\"chevron-circle-down\"], \"f13a\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM135 241c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l87 87 87-87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L273 345c-9.4 9.4-24.6 9.4-33.9 0L135 241z\"]\n};\nvar faChevronCircleDown = faCircleChevronDown;\nvar faUnlockKeyhole = {\n prefix: 'fas',\n iconName: 'unlock-keyhole',\n icon: [448, 512, [\"unlock-alt\"], \"f13e\", \"M224 64c-44.2 0-80 35.8-80 80v48H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80V144C80 64.5 144.5 0 224 0c57.5 0 107 33.7 130.1 82.3c7.6 16 .8 35.1-15.2 42.6s-35.1 .8-42.6-15.2C283.4 82.6 255.9 64 224 64zm32 320c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h64z\"]\n};\nvar faUnlockAlt = faUnlockKeyhole;\nvar faCloudShowersHeavy = {\n prefix: 'fas',\n iconName: 'cloud-showers-heavy',\n icon: [512, 512, [], \"f740\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96zM81.5 353.9c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6S-3.3 490.7 1.9 478.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm120 0c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm244.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6s17.8 19.3 12.6 31.5zM313.5 353.9c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6z\"]\n};\nvar faHeadphonesSimple = {\n prefix: 'fas',\n iconName: 'headphones-simple',\n icon: [512, 512, [\"headphones-alt\"], \"f58f\", \"M256 80C141.1 80 48 173.1 48 288V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288C0 146.6 114.6 32 256 32s256 114.6 256 256V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288c0-114.9-93.1-208-208-208zM80 352c0-35.3 28.7-64 64-64h16c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H144c-35.3 0-64-28.7-64-64V352zm288-64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H352c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h16z\"]\n};\nvar faHeadphonesAlt = faHeadphonesSimple;\nvar faSitemap = {\n prefix: 'fas',\n iconName: 'sitemap',\n icon: [576, 512, [], \"f0e8\", \"M208 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-8v40H464c30.9 0 56 25.1 56 56v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H464c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V288c0-4.4-3.6-8-8-8H312v40h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H256c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V280H112c-4.4 0-8 3.6-8 8v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V288c0-30.9 25.1-56 56-56H264V192h-8c-26.5 0-48-21.5-48-48V80z\"]\n};\nvar faCircleDollarToSlot = {\n prefix: 'fas',\n iconName: 'circle-dollar-to-slot',\n icon: [512, 512, [\"donate\"], \"f4b9\", \"M326.7 403.7c-22.1 8-45.9 12.3-70.7 12.3s-48.7-4.4-70.7-12.3c-.3-.1-.5-.2-.8-.3c-30-11-56.8-28.7-78.6-51.4C70 314.6 48 263.9 48 208C48 93.1 141.1 0 256 0S464 93.1 464 208c0 55.9-22 106.6-57.9 144c-1 1-2 2.1-3 3.1c-21.4 21.4-47.4 38.1-76.3 48.6zM256 91.9c-11.1 0-20.1 9-20.1 20.1v6c-5.6 1.2-10.9 2.9-15.9 5.1c-15 6.8-27.9 19.4-31.1 37.7c-1.8 10.2-.8 20 3.4 29c4.2 8.8 10.7 15 17.3 19.5c11.6 7.9 26.9 12.5 38.6 16l2.2 .7c13.9 4.2 23.4 7.4 29.3 11.7c2.5 1.8 3.4 3.2 3.7 4c.3 .8 .9 2.6 .2 6.7c-.6 3.5-2.5 6.4-8 8.8c-6.1 2.6-16 3.9-28.8 1.9c-6-1-16.7-4.6-26.2-7.9l0 0 0 0 0 0c-2.2-.7-4.3-1.5-6.4-2.1c-10.5-3.5-21.8 2.2-25.3 12.7s2.2 21.8 12.7 25.3c1.2 .4 2.7 .9 4.4 1.5c7.9 2.7 20.3 6.9 29.8 9.1V304c0 11.1 9 20.1 20.1 20.1s20.1-9 20.1-20.1v-5.5c5.3-1 10.5-2.5 15.4-4.6c15.7-6.7 28.4-19.7 31.6-38.7c1.8-10.4 1-20.3-3-29.4c-3.9-9-10.2-15.6-16.9-20.5c-12.2-8.8-28.3-13.7-40.4-17.4l-.8-.2c-14.2-4.3-23.8-7.3-29.9-11.4c-2.6-1.8-3.4-3-3.6-3.5c-.2-.3-.7-1.6-.1-5c.3-1.9 1.9-5.2 8.2-8.1c6.4-2.9 16.4-4.5 28.6-2.6c4.3 .7 17.9 3.3 21.7 4.3c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-4.4-1.2-14.4-3.2-21-4.4V112c0-11.1-9-20.1-20.1-20.1zM48 352H64c19.5 25.9 44 47.7 72.2 64H64v32H256 448V416H375.8c28.2-16.3 52.8-38.1 72.2-64h16c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V400c0-26.5 21.5-48 48-48z\"]\n};\nvar faDonate = faCircleDollarToSlot;\nvar faMemory = {\n prefix: 'fas',\n iconName: 'memory',\n icon: [576, 512, [], \"f538\", \"M64 64C28.7 64 0 92.7 0 128v7.4c0 6.8 4.4 12.6 10.1 16.3C23.3 160.3 32 175.1 32 192s-8.7 31.7-21.9 40.3C4.4 236 0 241.8 0 248.6V320H576V248.6c0-6.8-4.4-12.6-10.1-16.3C552.7 223.7 544 208.9 544 192s8.7-31.7 21.9-40.3c5.7-3.7 10.1-9.5 10.1-16.3V128c0-35.3-28.7-64-64-64H64zM576 352H0v64c0 17.7 14.3 32 32 32H80V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h96V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h96V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h96V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h48c17.7 0 32-14.3 32-32V352zM192 160v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faRoadSpikes = {\n prefix: 'fas',\n iconName: 'road-spikes',\n icon: [640, 512, [], \"e568\", \"M64 116.8c0-15.8 20.5-22 29.3-8.9L192 256V116.8c0-15.8 20.5-22 29.3-8.9L320 256V116.8c0-15.8 20.5-22 29.3-8.9L448 256V116.8c0-15.8 20.5-22 29.3-8.9L606.8 302.2c14.2 21.3-1.1 49.7-26.6 49.7H512 448 384 320 256 192 64V116.8zM32 384H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faFireBurner = {\n prefix: 'fas',\n iconName: 'fire-burner',\n icon: [640, 512, [], \"e4f1\", \"M293.5 3.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C480 280 408.7 352 320 352c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7c3.5 0 7 1.3 9.8 3.8zM370 273c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15zM32 288c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32s-14.3 32-32 32v64H544V320c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32v96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32V288zM320 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM192 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faFlag = {\n prefix: 'fas',\n iconName: 'flag',\n icon: [448, 512, [127988, 61725], \"f024\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V64 368 480c0 17.7 14.3 32 32 32s32-14.3 32-32V352l64.3-16.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30V66.1c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L64 48V32z\"]\n};\nvar faHanukiah = {\n prefix: 'fas',\n iconName: 'hanukiah',\n icon: [640, 512, [128334], \"f6e6\", \"M314.2 3.3C309.1 12.1 296 36.6 296 56c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7C324.6 1.2 322.4 0 320 0s-4.6 1.2-5.8 3.3zm-288 48C21.1 60.1 8 84.6 8 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7C36.6 49.2 34.4 48 32 48s-4.6 1.2-5.8 3.3zM88 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C101.1 60.1 88 84.6 88 104zm82.2-52.7C165.1 60.1 152 84.6 152 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM216 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C229.1 60.1 216 84.6 216 104zM394.2 51.3C389.1 60.1 376 84.6 376 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM440 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C453.1 60.1 440 84.6 440 104zm82.2-52.7C517.1 60.1 504 84.6 504 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM584 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C597.1 60.1 584 84.6 584 104zM112 160c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm160 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zM352 144c0-17.7-14.3-32-32-32s-32 14.3-32 32V320H96c-17.7 0-32-14.3-32-32V192c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 53 43 96 96 96H288v64H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H320 480c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V384H544c53 0 96-43 96-96V192c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H352V144z\"]\n};\nvar faFeather = {\n prefix: 'fas',\n iconName: 'feather',\n icon: [512, 512, [129718], \"f52d\", \"M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57h68c49.7 0 97.9-14.4 139-41c11.1-7.2 5.5-23-7.8-23c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l81-24.3c2.5-.8 4.8-2.1 6.7-4l22.4-22.4c10.1-10.1 2.9-27.3-11.3-27.3l-32.2 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l112-33.6c4-1.2 7.4-3.9 9.3-7.7C506.4 207.6 512 184.1 512 160c0-41-16.3-80.3-45.3-109.3l-5.5-5.5C432.3 16.3 393 0 352 0s-80.3 16.3-109.3 45.3L139 149C91 197 64 262.1 64 330v55.3L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z\"]\n};\nvar faVolumeLow = {\n prefix: 'fas',\n iconName: 'volume-low',\n icon: [448, 512, [128264, \"volume-down\"], \"f027\", \"M301.1 34.8C312.6 40 320 51.4 320 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM412.6 181.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5z\"]\n};\nvar faVolumeDown = faVolumeLow;\nvar faCommentSlash = {\n prefix: 'fas',\n iconName: 'comment-slash',\n icon: [640, 512, [], \"f4b3\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512.9 376.7C552.2 340.2 576 292.3 576 240C576 125.1 461.4 32 320 32c-67.7 0-129.3 21.4-175.1 56.3L38.8 5.1zM64 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c37 0 72.3-6.4 104-17.9L82.9 161.3C70.7 185.6 64 212.2 64 240z\"]\n};\nvar faCloudSunRain = {\n prefix: 'fas',\n iconName: 'cloud-sun-rain',\n icon: [640, 512, [127782], \"f743\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l10.4 62.4c-23.3 10.8-42.9 28.4-56 50.3c-14.6-9-31.8-14.1-50.2-14.1c-53 0-96 43-96 96c0 35.5 19.3 66.6 48 83.2c.8 31.8 13.2 60.7 33.1 82.7l-56 39.2c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM208 144c13.8 0 26.7 4.4 37.1 11.9c-1.2 4.1-2.2 8.3-3 12.6c-37.9 14.6-67.2 46.6-77.8 86.4C151.8 243.1 144 226.5 144 208c0-35.3 28.7-64 64-64zm69.4 276c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm74.5-116.1c0 44.2-35.8 80-80 80H288c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]\n};\nvar faCompress = {\n prefix: 'fas',\n iconName: 'compress',\n icon: [448, 512, [], \"f066\", \"M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V64zM32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H96v64c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-17.7-14.3-32-32-32H32zM352 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V64zM320 320c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320z\"]\n};\nvar faWheatAwn = {\n prefix: 'fas',\n iconName: 'wheat-awn',\n icon: [512, 512, [\"wheat-alt\"], \"e2cd\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L383 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l88-88zM305.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L271.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8L101.8 231c-6.2-6.2-16.4-6.2-22.6 0L67.9 242.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0L486.5 231c6.2-6.2 6.2-16.4 0-22.6L475.2 197c-5.2-5.2-10.6-9.8-16.4-13.9L505 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-59.4 59.4c-20.6-4.4-42-3.7-62.3 2.1c6.1-21.3 6.6-43.8 1.4-65.3L409 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L329.1 52.9c-3.7-5-7.8-9.8-12.4-14.3L305.5 27.3z\"]\n};\nvar faWheatAlt = faWheatAwn;\nvar faAnkh = {\n prefix: 'fas',\n iconName: 'ankh',\n icon: [320, 512, [9765], \"f644\", \"M96 128c0-35.3 28.7-64 64-64s64 28.7 64 64c0 41.6-20.7 76.6-46.6 104.1c-5.9 6.2-11.8 11.8-17.4 16.7c-5.6-4.9-11.5-10.5-17.4-16.7C116.7 204.6 96 169.6 96 128zM160 0C89.3 0 32 57.3 32 128c0 52.4 21.5 95.5 46.8 128H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96V480c0 17.7 14.3 32 32 32s32-14.3 32-32V320h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H241.2c25.4-32.5 46.8-75.6 46.8-128C288 57.3 230.7 0 160 0z\"]\n};\nvar faHandsHoldingChild = {\n prefix: 'fas',\n iconName: 'hands-holding-child',\n icon: [640, 512, [], \"e4fa\", \"M320 0a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm44.7 164.3L375.8 253c1.6 13.2-7.7 25.1-20.8 26.8s-25.1-7.7-26.8-20.8l-4.4-35h-7.6l-4.4 35c-1.6 13.2-13.6 22.5-26.8 20.8s-22.5-13.6-20.8-26.8l11.1-88.8L255.5 181c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l27.9-23.6C271.3 104.8 295.3 96 320 96s48.7 8.8 67.6 24.7l27.9 23.6c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.4-33.8 2.8l-19.8-16.7zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z\"]\n};\nvar faAsterisk = {\n prefix: 'fas',\n iconName: 'asterisk',\n icon: [384, 512, [10033, 61545], \"2a\", \"M192 32c17.7 0 32 14.3 32 32V199.5l111.5-66.9c15.2-9.1 34.8-4.2 43.9 11s4.2 34.8-11 43.9L254.2 256l114.3 68.6c15.2 9.1 20.1 28.7 11 43.9s-28.7 20.1-43.9 11L224 312.5V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V312.5L48.5 379.4c-15.2 9.1-34.8 4.2-43.9-11s-4.2-34.8 11-43.9L129.8 256 15.5 187.4c-15.2-9.1-20.1-28.7-11-43.9s28.7-20.1 43.9-11L160 199.5V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faSquareCheck = {\n prefix: 'fas',\n iconName: 'square-check',\n icon: [448, 512, [9745, 9989, 61510, \"check-square\"], \"f14a\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCheckSquare = faSquareCheck;\nvar faPesetaSign = {\n prefix: 'fas',\n iconName: 'peseta-sign',\n icon: [384, 512, [], \"e221\", \"M64 32C46.3 32 32 46.3 32 64v96c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 96V448c0 17.7 14.3 32 32 32s32-14.3 32-32V352h96c77.4 0 142-55 156.8-128H352c17.7 0 32-14.3 32-32s-14.3-32-32-32h-3.2C334 87 269.4 32 192 32H64zM282.5 160H96V96h96c41.8 0 77.4 26.7 90.5 64zM96 224H282.5c-13.2 37.3-48.7 64-90.5 64H96V224z\"]\n};\nvar faHeading = {\n prefix: 'fas',\n iconName: 'heading',\n icon: [448, 512, [\"header\"], \"f1dc\", \"M0 64C0 46.3 14.3 32 32 32H80h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H112V208H336V96H320c-17.7 0-32-14.3-32-32s14.3-32 32-32h48 48c17.7 0 32 14.3 32 32s-14.3 32-32 32H400V240 416h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H368 320c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V272H112V416h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V240 96H32C14.3 96 0 81.7 0 64z\"]\n};\nvar faHeader = faHeading;\nvar faGhost = {\n prefix: 'fas',\n iconName: 'ghost',\n icon: [384, 512, [128123], \"f6e2\", \"M40.1 467.1l-11.2 9c-3.2 2.5-7.1 3.9-11.1 3.9C8 480 0 472 0 462.2V192C0 86 86 0 192 0S384 86 384 192V462.2c0 9.8-8 17.8-17.8 17.8c-4 0-7.9-1.4-11.1-3.9l-11.2-9c-13.4-10.7-32.8-9-44.1 3.9L269.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6l-26.6-30.5c-12.7-14.6-35.4-14.6-48.2 0L141.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6L84.2 471c-11.3-12.9-30.7-14.6-44.1-3.9zM160 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faList = {\n prefix: 'fas',\n iconName: 'list',\n icon: [512, 512, [\"list-squares\"], \"f03a\", \"M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z\"]\n};\nvar faListSquares = faList;\nvar faSquarePhoneFlip = {\n prefix: 'fas',\n iconName: 'square-phone-flip',\n icon: [448, 512, [\"phone-square-alt\"], \"f87b\", \"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zm-90.7 96.7c-9.7-2.6-19.9 2.3-23.7 11.6l-20 48c-3.4 8.2-1 17.6 5.8 23.2L280 231.7c-16.6 35.2-45.1 63.7-80.3 80.3l-20.2-24.7c-5.6-6.8-15-9.2-23.2-5.8l-48 20c-9.3 3.9-14.2 14-11.6 23.7l12 44C111.1 378 119 384 128 384c123.7 0 224-100.3 224-224c0-9-6-16.9-14.7-19.3l-44-12z\"]\n};\nvar faPhoneSquareAlt = faSquarePhoneFlip;\nvar faCartPlus = {\n prefix: 'fas',\n iconName: 'cart-plus',\n icon: [576, 512, [], \"f217\", \"M0 24C0 10.7 10.7 0 24 0H69.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM252 160c0 11 9 20 20 20h44v44c0 11 9 20 20 20s20-9 20-20V180h44c11 0 20-9 20-20s-9-20-20-20H356V96c0-11-9-20-20-20s-20 9-20 20v44H272c-11 0-20 9-20 20z\"]\n};\nvar faGamepad = {\n prefix: 'fas',\n iconName: 'gamepad',\n icon: [640, 512, [], \"f11b\", \"M192 64C86 64 0 150 0 256S86 448 192 448H448c106 0 192-86 192-192s-86-192-192-192H192zM496 168a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM392 304a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM168 200c0-13.3 10.7-24 24-24s24 10.7 24 24v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V200z\"]\n};\nvar faCircleDot = {\n prefix: 'fas',\n iconName: 'circle-dot',\n icon: [512, 512, [128280, \"dot-circle\"], \"f192\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faDotCircle = faCircleDot;\nvar faFaceDizzy = {\n prefix: 'fas',\n iconName: 'face-dizzy',\n icon: [512, 512, [\"dizzy\"], \"f567\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-224a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM100.7 132.7c6.2-6.2 16.4-6.2 22.6 0L160 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L182.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L137.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6zm192 0c6.2-6.2 16.4-6.2 22.6 0L352 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L374.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faDizzy = faFaceDizzy;\nvar faEgg = {\n prefix: 'fas',\n iconName: 'egg',\n icon: [384, 512, [129370], \"f7fb\", \"M192 496C86 496 0 394 0 288C0 176 64 16 192 16s192 160 192 272c0 106-86 208-192 208zM154.8 134c6.5-6 7-16.1 1-22.6s-16.1-7-22.6-1c-23.9 21.8-41.1 52.7-52.3 84.2C69.7 226.1 64 259.7 64 288c0 8.8 7.2 16 16 16s16-7.2 16-16c0-24.5 5-54.4 15.1-82.8c10.1-28.5 25-54.1 43.7-71.2z\"]\n};\nvar faHouseMedicalCircleXmark = {\n prefix: 'fas',\n iconName: 'house-medical-circle-xmark',\n icon: [640, 512, [], \"e513\", \"M320 368c0 59.5 29.5 112.1 74.8 144H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64H320V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm22.6 144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"]\n};\nvar faCampground = {\n prefix: 'fas',\n iconName: 'campground',\n icon: [576, 512, [9978], \"f6bb\", \"M377 52c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5L288 60.8 249 12c-11-13.8-31.2-16-45-5s-16 31.2-5 45l48 60L12.3 405.4C4.3 415.4 0 427.7 0 440.4V464c0 26.5 21.5 48 48 48H288 528c26.5 0 48-21.5 48-48V440.4c0-12.7-4.3-25.1-12.3-35L329 112l48-60zM288 448H168.5L288 291.7 407.5 448H288z\"]\n};\nvar faFolderPlus = {\n prefix: 'fas',\n iconName: 'folder-plus',\n icon: [512, 512, [], \"f65e\", \"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM232 376c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faFutbol = {\n prefix: 'fas',\n iconName: 'futbol',\n icon: [512, 512, [9917, \"futbol-ball\", \"soccer-ball\"], \"f1e3\", \"M417.3 360.1l-71.6-4.8c-5.2-.3-10.3 1.1-14.5 4.2s-7.2 7.4-8.4 12.5l-17.6 69.6C289.5 445.8 273 448 256 448s-33.5-2.2-49.2-6.4L189.2 372c-1.3-5-4.3-9.4-8.4-12.5s-9.3-4.5-14.5-4.2l-71.6 4.8c-17.6-27.2-28.5-59.2-30.4-93.6L125 228.3c4.4-2.8 7.6-7 9.2-11.9s1.4-10.2-.5-15l-26.7-66.6C128 109.2 155.3 89 186.7 76.9l55.2 46c4 3.3 9 5.1 14.1 5.1s10.2-1.8 14.1-5.1l55.2-46c31.3 12.1 58.7 32.3 79.6 57.9l-26.7 66.6c-1.9 4.8-2.1 10.1-.5 15s4.9 9.1 9.2 11.9l60.7 38.2c-1.9 34.4-12.8 66.4-30.4 93.6zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm14.1-325.7c-8.4-6.1-19.8-6.1-28.2 0L194 221c-8.4 6.1-11.9 16.9-8.7 26.8l18.3 56.3c3.2 9.9 12.4 16.6 22.8 16.6h59.2c10.4 0 19.6-6.7 22.8-16.6l18.3-56.3c3.2-9.9-.3-20.7-8.7-26.8l-47.9-34.8z\"]\n};\nvar faFutbolBall = faFutbol;\nvar faSoccerBall = faFutbol;\nvar faPaintbrush = {\n prefix: 'fas',\n iconName: 'paintbrush',\n icon: [576, 512, [128396, \"paint-brush\"], \"f1fc\", \"M339.3 367.1c27.3-3.9 51.9-19.4 67.2-42.9L568.2 74.1c12.6-19.5 9.4-45.3-7.6-61.2S517.7-4.4 499.1 9.6L262.4 187.2c-24 18-38.2 46.1-38.4 76.1L339.3 367.1zm-19.6 25.4l-116-104.4C143.9 290.3 96 339.6 96 400c0 3.9 .2 7.8 .6 11.6C98.4 429.1 86.4 448 68.8 448H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H208c61.9 0 112-50.1 112-112c0-2.5-.1-5-.2-7.5z\"]\n};\nvar faPaintBrush = faPaintbrush;\nvar faLock = {\n prefix: 'fas',\n iconName: 'lock',\n icon: [448, 512, [128274], \"f023\", \"M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z\"]\n};\nvar faGasPump = {\n prefix: 'fas',\n iconName: 'gas-pump',\n icon: [512, 512, [9981], \"f52f\", \"M32 64C32 28.7 60.7 0 96 0H256c35.3 0 64 28.7 64 64V256h8c48.6 0 88 39.4 88 88v32c0 13.3 10.7 24 24 24s24-10.7 24-24V222c-27.6-7.1-48-32.2-48-62V96L384 64c-8.8-8.8-8.8-23.2 0-32s23.2-8.8 32 0l77.3 77.3c12 12 18.7 28.3 18.7 45.3V168v24 32V376c0 39.8-32.2 72-72 72s-72-32.2-72-72V344c0-22.1-17.9-40-40-40h-8V448c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V64zM96 80v96c0 8.8 7.2 16 16 16H240c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16z\"]\n};\nvar faHotTubPerson = {\n prefix: 'fas',\n iconName: 'hot-tub-person',\n icon: [512, 512, [\"hot-tub\"], \"f593\", \"M272 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v5.2c0 34 14.4 66.4 39.7 89.2l16.4 14.8c15.2 13.7 23.8 33.1 23.8 53.5V200c0 13.3 10.7 24 24 24s24-10.7 24-24V186.8c0-34-14.4-66.4-39.7-89.2L295.8 82.8C280.7 69.1 272 49.7 272 29.2V24zM0 320v16V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H277.3c-13.8 0-27.3-4.5-38.4-12.8l-85.3-64C137 166.7 116.8 160 96 160c-53 0-96 43-96 96v64zm128 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zm80-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm112 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zm80-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM360 0c-13.3 0-24 10.7-24 24v5.2c0 34 14.4 66.4 39.7 89.2l16.4 14.8c15.2 13.7 23.8 33.1 23.8 53.5V200c0 13.3 10.7 24 24 24s24-10.7 24-24V186.8c0-34-14.4-66.4-39.7-89.2L407.8 82.8C392.7 69.1 384 49.7 384 29.2V24c0-13.3-10.7-24-24-24zM64 128A64 64 0 1 0 64 0a64 64 0 1 0 0 128z\"]\n};\nvar faHotTub = faHotTubPerson;\nvar faMapLocation = {\n prefix: 'fas',\n iconName: 'map-location',\n icon: [576, 512, [\"map-marked\"], \"f59f\", \"M302.8 312C334.9 271.9 408 174.6 408 120C408 53.7 354.3 0 288 0S168 53.7 168 120c0 54.6 73.1 151.9 105.2 192c7.7 9.6 22 9.6 29.6 0zM416 503l144.9-58c9.1-3.6 15.1-12.5 15.1-22.3V152c0-17-17.1-28.6-32.9-22.3l-116 46.4c-.5 1.2-1 2.5-1.5 3.7c-2.9 6.8-6.1 13.7-9.6 20.6V503zM15.1 187.3C6 191 0 199.8 0 209.6V480.4c0 17 17.1 28.6 32.9 22.3L160 451.8V200.4c-3.5-6.9-6.7-13.8-9.6-20.6c-5.6-13.2-10.4-27.4-12.8-41.5l-122.6 49zM384 255c-20.5 31.3-42.3 59.6-56.2 77c-20.5 25.6-59.1 25.6-79.6 0c-13.9-17.4-35.7-45.7-56.2-77V449.4l192 54.9V255z\"]\n};\nvar faMapMarked = faMapLocation;\nvar faHouseFloodWater = {\n prefix: 'fas',\n iconName: 'house-flood-water',\n icon: [576, 512, [], \"e50e\", \"M306.8 6.1C295.6-2 280.4-2 269.2 6.1l-176 128c-11.2 8.2-15.9 22.6-11.6 35.8S98.1 192 112 192h16v73c1.7 1 3.3 2 4.9 3.1c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c1.5-1 3-2 4.5-2.9l-.3-73.2H464c13.9 0 26.1-8.9 30.4-22.1s-.4-27.6-11.6-35.8l-176-128zM269.5 309.9C247 325.4 219.5 336 192 336c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 389.7 159 400 192 400c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 325.2 410.9 336 384 336c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448z\"]\n};\nvar faTree = {\n prefix: 'fas',\n iconName: 'tree',\n icon: [448, 512, [127794], \"f1bb\", \"M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320H80L5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5H192v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H424.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320h33.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z\"]\n};\nvar faBridgeLock = {\n prefix: 'fas',\n iconName: 'bridge-lock',\n icon: [640, 512, [], \"e4cc\", \"M32 64c0-17.7 14.3-32 32-32H576c17.7 0 32 14.3 32 32s-14.3 32-32 32H536v64h-8c-61.9 0-112 50.1-112 112v24.6c-9.9 5.8-18.2 14.1-23.8 24.1c-17.6-20-43.4-32.7-72.2-32.7c-53 0-96 43-96 96v64c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V384c0-53-43-96-96-96V160h72V96H64C46.3 96 32 81.7 32 64zM408 96v64h80V96H408zm-48 64V96H280v64h80zM152 96v64h80V96H152zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faSackDollar = {\n prefix: 'fas',\n iconName: 'sack-dollar',\n icon: [512, 512, [128176], \"f81d\", \"M320 96H192L144.6 24.9C137.5 14.2 145.1 0 157.9 0H354.1c12.8 0 20.4 14.2 13.3 24.9L320 96zM192 128H320c3.8 2.5 8.1 5.3 13 8.4C389.7 172.7 512 250.9 512 416c0 53-43 96-96 96H96c-53 0-96-43-96-96C0 250.9 122.3 172.7 179 136.4l0 0 0 0c4.8-3.1 9.2-5.9 13-8.4zm84 88c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V424c0 11 9 20 20 20s20-9 20-20V410.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l0 0-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V216z\"]\n};\nvar faPenToSquare = {\n prefix: 'fas',\n iconName: 'pen-to-square',\n icon: [512, 512, [\"edit\"], \"f044\", \"M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z\"]\n};\nvar faEdit = faPenToSquare;\nvar faCarSide = {\n prefix: 'fas',\n iconName: 'car-side',\n icon: [640, 512, [128663], \"f5e4\", \"M171.3 96H224v96H111.3l30.4-75.9C146.5 104 158.2 96 171.3 96zM272 192V96h81.2c9.7 0 18.9 4.4 25 12l67.2 84H272zm256.2 1L428.2 68c-18.2-22.8-45.8-36-75-36H171.3c-39.3 0-74.6 23.9-89.1 60.3L40.6 196.4C16.8 205.8 0 228.9 0 256V368c0 17.7 14.3 32 32 32H65.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H385.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H608c17.7 0 32-14.3 32-32V320c0-65.2-48.8-119-111.8-127zM434.7 368a48 48 0 1 1 90.5 32 48 48 0 1 1 -90.5-32zM160 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faShareNodes = {\n prefix: 'fas',\n iconName: 'share-nodes',\n icon: [448, 512, [\"share-alt\"], \"f1e0\", \"M352 224c53 0 96-43 96-96s-43-96-96-96s-96 43-96 96c0 4 .2 8 .7 11.9l-94.1 47C145.4 170.2 121.9 160 96 160c-53 0-96 43-96 96s43 96 96 96c25.9 0 49.4-10.2 66.6-26.9l94.1 47c-.5 3.9-.7 7.8-.7 11.9c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-25.9 0-49.4 10.2-66.6 26.9l-94.1-47c.5-3.9 .7-7.8 .7-11.9s-.2-8-.7-11.9l94.1-47C302.6 213.8 326.1 224 352 224z\"]\n};\nvar faShareAlt = faShareNodes;\nvar faHeartCircleMinus = {\n prefix: 'fas',\n iconName: 'heart-circle-minus',\n icon: [576, 512, [], \"e4ff\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"]\n};\nvar faHourglassHalf = {\n prefix: 'fas',\n iconName: 'hourglass-half',\n icon: [384, 512, [\"hourglass-2\"], \"f252\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437v11c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 64 32zM96 75V64H288V75c0 19-5.6 37.4-16 53H112c-10.3-15.6-16-34-16-53zm16 309c3.5-5.3 7.6-10.3 12.1-14.9L192 301.3l67.9 67.9c4.6 4.6 8.6 9.6 12.1 14.9H112z\"]\n};\nvar faHourglass2 = faHourglassHalf;\nvar faMicroscope = {\n prefix: 'fas',\n iconName: 'microscope',\n icon: [512, 512, [128300], \"f610\", \"M160 32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM32 448H320c70.7 0 128-57.3 128-128s-57.3-128-128-128V128c106 0 192 86 192 192c0 49.2-18.5 94-48.9 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm80-64H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSink = {\n prefix: 'fas',\n iconName: 'sink',\n icon: [512, 512, [], \"e06d\", \"M288 96c0-17.7 14.3-32 32-32s32 14.3 32 32s14.3 32 32 32s32-14.3 32-32c0-53-43-96-96-96s-96 43-96 96V288H160V264c0-30.9-25.1-56-56-56H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c4.4 0 8 3.6 8 8v24H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H256 480c17.7 0 32-14.3 32-32s-14.3-32-32-32H400V264c0-4.4 3.6-8 8-8h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H408c-30.9 0-56 25.1-56 56v24H288V96zM480 416V384H32v32c0 53 43 96 96 96H384c53 0 96-43 96-96z\"]\n};\nvar faBagShopping = {\n prefix: 'fas',\n iconName: 'bag-shopping',\n icon: [448, 512, [\"shopping-bag\"], \"f290\", \"M160 112c0-35.3 28.7-64 64-64s64 28.7 64 64v48H160V112zm-48 48H48c-26.5 0-48 21.5-48 48V416c0 53 43 96 96 96H352c53 0 96-43 96-96V208c0-26.5-21.5-48-48-48H336V112C336 50.1 285.9 0 224 0S112 50.1 112 112v48zm24 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm152 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faShoppingBag = faBagShopping;\nvar faArrowDownZA = {\n prefix: 'fas',\n iconName: 'arrow-down-z-a',\n icon: [576, 512, [\"sort-alpha-desc\", \"sort-alpha-down-alt\"], \"f881\", \"M183.6 469.6C177.5 476.2 169 480 160 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L128 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 64c0-17.7 14.3-32 32-32H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 96H352c-17.7 0-32-14.3-32-32zm96 192c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 448H371.8l-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128c5.4-10.8 16.5-17.7 28.6-17.7zM395.8 400h40.4L416 359.6 395.8 400z\"]\n};\nvar faSortAlphaDesc = faArrowDownZA;\nvar faSortAlphaDownAlt = faArrowDownZA;\nvar faMitten = {\n prefix: 'fas',\n iconName: 'mitten',\n icon: [448, 512, [], \"f7b5\", \"M352 384H64L5.4 178.9C1.8 166.4 0 153.4 0 140.3C0 62.8 62.8 0 140.3 0h3.4c66 0 123.5 44.9 139.5 108.9l31.4 125.8 17.6-20.1C344.8 200.2 362.9 192 382 192h2.8c34.9 0 63.3 28.3 63.3 63.3c0 15.9-6 31.2-16.8 42.9L352 384zM32 448c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V448z\"]\n};\nvar faPersonRays = {\n prefix: 'fas',\n iconName: 'person-rays',\n icon: [512, 512, [], \"e54d\", \"M208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9l-28.6 47.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L328 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H248zM7 7C16.4-2.3 31.6-2.3 41 7l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 41C-2.3 31.6-2.3 16.4 7 7zM471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L471 7zM7 505c-9.4-9.4-9.4-24.6 0-33.9l80-80c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L41 505c-9.4 9.4-24.6 9.4-33.9 0zm464 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0z\"]\n};\nvar faUsers = {\n prefix: 'fas',\n iconName: 'users',\n icon: [640, 512, [], \"f0c0\", \"M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z\"]\n};\nvar faEyeSlash = {\n prefix: 'fas',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5L373 389.9z\"]\n};\nvar faFlaskVial = {\n prefix: 'fas',\n iconName: 'flask-vial',\n icon: [640, 512, [], \"e4f3\", \"M175 389.4c-9.8 16-15 34.3-15 53.1c-10 3.5-20.8 5.5-32 5.5c-53 0-96-43-96-96V64C14.3 64 0 49.7 0 32S14.3 0 32 0H96h64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32V309.9l-49 79.6zM96 64v96h64V64H96zM352 0H480h32c17.7 0 32 14.3 32 32s-14.3 32-32 32V214.9L629.7 406.2c6.7 10.9 10.3 23.5 10.3 36.4c0 38.3-31.1 69.4-69.4 69.4H261.4c-38.3 0-69.4-31.1-69.4-69.4c0-12.8 3.6-25.4 10.3-36.4L320 214.9V64c-17.7 0-32-14.3-32-32s14.3-32 32-32h32zm32 64V224c0 5.9-1.6 11.7-4.7 16.8L330.5 320h171l-48.8-79.2c-3.1-5-4.7-10.8-4.7-16.8V64H384z\"]\n};\nvar faHand = {\n prefix: 'fas',\n iconName: 'hand',\n icon: [512, 512, [129306, 9995, \"hand-paper\"], \"f256\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V336c0 1.5 0 3.1 .1 4.6L67.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L124.8 448c43.1 41.1 100.4 64 160 64H304c97.2 0 176-78.8 176-176V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V32z\"]\n};\nvar faHandPaper = faHand;\nvar faOm = {\n prefix: 'fas',\n iconName: 'om',\n icon: [512, 512, [128329], \"f679\", \"M379.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6l-16-16zM115.2 169.6c8-6 17.9-9.6 28.8-9.6c26.5 0 48 21.5 48 48s-21.5 48-48 48H109.8c-7.6 0-13.8 6.2-13.8 13.8c0 1.5 .2 2.9 .7 4.4l8 24c4.4 13.1 16.6 21.9 30.4 21.9H144h16c35.3 0 64 28.7 64 64s-28.7 64-64 64c-50.8 0-82.7-21.5-102.2-42.8c-9.9-10.8-16.6-21.6-20.9-29.7c-2.1-4-3.6-7.3-4.5-9.6c-.5-1.1-.8-2-1-2.5l-.2-.5 0-.1c-2.6-7.8-10.7-12.3-18.7-10.5C4.4 354.2-.9 361.8 .1 370L16 368C.1 370 .1 370 .1 370l0 0 0 0 0 .1 .1 .4c0 .3 .1 .8 .2 1.3c.2 1.1 .4 2.7 .8 4.6c.8 3.9 2 9.4 3.9 15.9c3.8 13 10.3 30.4 21.3 48C48.7 476.2 89.4 512 160 512c70.7 0 128-57.3 128-128c0-23.3-6.2-45.2-17.1-64h22.6c25.5 0 49.9-10.1 67.9-28.1l26.5-26.5c6-6 14.1-9.4 22.6-9.4H416c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32c-25.7 0-41.4-12.5-51.2-25.6c-5-6.7-8.4-13.4-10.5-18.6c-1.1-2.5-1.8-4.6-2.2-6c-.2-.7-.4-1.2-.5-1.5l-.1-.3 0 0c0 0 0 0 0 0c-1.9-7.3-8.6-12.4-16.2-12.1c-7.6 .3-13.9 5.9-15.1 13.4L336 368c-15.8-2.6-15.8-2.6-15.8-2.6l0 0 0 0 0 .1-.1 .3c0 .3-.1 .6-.2 1.1c-.1 .9-.3 2.1-.4 3.6c-.3 3-.6 7.3-.6 12.4c0 10.1 1.1 23.9 5.8 38.1c4.8 14.3 13.4 29.3 28.6 40.7C368.7 473.3 389.3 480 416 480c53 0 96-43 96-96V288c0-53-43-96-96-96h-5.5c-25.5 0-49.9 10.1-67.9 28.1l-26.5 26.5c-6 6-14.1 9.4-22.6 9.4H245.2c6.9-14.5 10.8-30.8 10.8-48c0-61.9-50.1-112-112-112c-25.2 0-48.5 8.3-67.2 22.4c-14.1 10.6-17 30.7-6.4 44.8s30.7 17 44.8 6.4zM280.9 66.7c-6-4-14-3.5-19.5 1.3s-7 12.7-3.7 19.2L272 80c-14.3 7.2-14.3 7.2-14.3 7.2l0 0 0 0 0 .1 .1 .2 .4 .7c.3 .6 .8 1.4 1.4 2.4c1.2 2 2.9 4.8 5.1 8.2c4.4 6.7 11.1 15.5 20 24.4C302.4 141.1 330.3 160 368 160c31.2 0 56.6-10.4 73.9-20.2c8.7-5 15.6-9.9 20.4-13.8c2.4-1.9 4.3-3.6 5.7-4.9c.7-.6 1.3-1.2 1.7-1.6l.6-.5 .2-.2 .1-.1 0 0 0 0c0 0 0 0-22.6-22.6l22.6 22.6c12.5-12.5 12.5-32.8 0-45.3c-12.4-12.4-32.6-12.5-45.1-.2c-.1 .1-.2 .2-.5 .4c-.5 .5-1.5 1.3-2.8 2.4c-2.7 2.2-6.8 5.2-12.1 8.2C399.4 90.4 384.8 96 368 96c-20.8 0-42.4-7-59.5-14.6c-8.4-3.7-15.4-7.5-20.3-10.3c-2.4-1.4-4.3-2.5-5.6-3.3c-.6-.4-1.1-.7-1.4-.9l-.3-.2 0 0 0 0 0 0z\"]\n};\nvar faWorm = {\n prefix: 'fas',\n iconName: 'worm',\n icon: [512, 512, [], \"e599\", \"M256 96c0-53 43-96 96-96h38.4C439.9 0 480 40.1 480 89.6V176v16V376c0 75.1-60.9 136-136 136s-136-60.9-136-136V296c0-22.1-17.9-40-40-40s-40 17.9-40 40V464c0 26.5-21.5 48-48 48s-48-21.5-48-48V296c0-75.1 60.9-136 136-136s136 60.9 136 136v80c0 22.1 17.9 40 40 40s40-17.9 40-40V192H352c-53 0-96-43-96-96zm144-8a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHouseCircleXmark = {\n prefix: 'fas',\n iconName: 'house-circle-xmark',\n icon: [640, 512, [], \"e50b\", \"M320.7 352c8.1-89.7 83.5-160 175.3-160c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64l.7 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPlug = {\n prefix: 'fas',\n iconName: 'plug',\n icon: [384, 512, [128268], \"f1e6\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8C297 398 352 333.4 352 256V224c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faChevronUp = {\n prefix: 'fas',\n iconName: 'chevron-up',\n icon: [512, 512, [], \"f077\", \"M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z\"]\n};\nvar faHandSpock = {\n prefix: 'fas',\n iconName: 'hand-spock',\n icon: [576, 512, [128406], \"f259\", \"M246.9 23.7C242.3 6.6 224.8-3.5 207.7 1.1s-27.2 22.1-22.6 39.2L238 237.8c2.5 9.2-4.5 18.2-14 18.2c-6.4 0-12-4.2-13.9-10.3L166.6 102.7c-5.1-16.9-23-26.4-39.9-21.3s-26.4 23-21.3 39.9l62.8 206.4c2.4 7.9-7.2 13.8-13.2 8.1L99.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L156.8 448c43.1 41.1 100.4 64 160 64h10.9 8.2c.1 0 .1-.1 .1-.1s.1-.1 .1-.1c58.3-3.5 108.6-43.2 125.3-99.7l81.2-275c5-16.9-4.7-34.7-21.6-39.8s-34.7 4.7-39.8 21.6L443.5 247.1c-1.6 5.3-6.4 8.9-12 8.9c-7.9 0-13.8-7.3-12.2-15.1l36-170.3c3.7-17.3-7.4-34.3-24.7-37.9s-34.3 7.4-37.9 24.7L355.1 235.1c-2.6 12.2-13.3 20.9-25.8 20.9c-11.9 0-22.4-8-25.4-19.5l-57-212.8z\"]\n};\nvar faStopwatch = {\n prefix: 'fas',\n iconName: 'stopwatch',\n icon: [448, 512, [9201], \"f2f2\", \"M176 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h16V98.4C92.3 113.8 16 200 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-41.8-12.3-80.7-33.5-113.2l24.1-24.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L355.7 143c-28.1-23-62.2-38.8-99.7-44.6V64h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H224 176zm72 192V320c0 13.3-10.7 24-24 24s-24-10.7-24-24V192c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFaceKiss = {\n prefix: 'fas',\n iconName: 'face-kiss',\n icon: [512, 512, [128535, \"kiss\"], \"f596\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faKiss = faFaceKiss;\nvar faBridgeCircleXmark = {\n prefix: 'fas',\n iconName: 'bridge-circle-xmark',\n icon: [640, 512, [], \"e4cb\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32h40v64H32V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2V160H536V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM488 96v64H408V96h80zM360 96v64H280V96h80zM232 96v64H152V96h80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faFaceGrinTongue = {\n prefix: 'fas',\n iconName: 'face-grin-tongue',\n icon: [512, 512, [128539, \"grin-tongue\"], \"f589\", \"M0 256C0 368.9 73.1 464.7 174.5 498.8C165.3 484 160 466.6 160 448V400.7c-24-17.5-43.1-41.4-54.8-69.2c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19c12.3-3.8 24.3 6.9 19.3 18.7c-11.8 28-31.1 52-55.4 69.6V448c0 18.6-5.3 36-14.5 50.8C438.9 464.7 512 368.9 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256zm176.4-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 448V402.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V448c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGrinTongue = faFaceGrinTongue;\nvar faChessBishop = {\n prefix: 'fas',\n iconName: 'chess-bishop',\n icon: [320, 512, [9821], \"f43a\", \"M128 0C110.3 0 96 14.3 96 32c0 16.1 11.9 29.4 27.4 31.7C78.4 106.8 8 190 8 288c0 47.4 30.8 72.3 56 84.7V400H256V372.7c25.2-12.5 56-37.4 56-84.7c0-37.3-10.2-72.4-25.3-104.1l-99.4 99.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L270.8 154.6c-23.2-38.1-51.8-69.5-74.2-90.9C212.1 61.4 224 48.1 224 32c0-17.7-14.3-32-32-32H128zM48 432L6.6 473.4c-4.2 4.2-6.6 10-6.6 16C0 501.9 10.1 512 22.6 512H297.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L272 432H48z\"]\n};\nvar faFaceGrinWink = {\n prefix: 'fas',\n iconName: 'face-grin-wink',\n icon: [512, 512, [\"grin-wink\"], \"f58c\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zm-16.9-79.2c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrinWink = faFaceGrinWink;\nvar faEarDeaf = {\n prefix: 'fas',\n iconName: 'ear-deaf',\n icon: [512, 512, [\"deaf\", \"deafness\", \"hard-of-hearing\"], \"f2a4\", \"M502.6 54.6l-40 40c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l40-40c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zm-320 320l-128 128c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zM240 128c-57.6 0-105.1 43.6-111.3 99.5c-1.9 17.6-17.8 30.2-35.3 28.3s-30.2-17.8-28.3-35.3C74.8 132.5 149.4 64 240 64c97.2 0 176 78.8 176 176c0 46-17.7 87.9-46.6 119.3c-12 13-17.4 24.8-17.4 34.7V400c0 61.9-50.1 112-112 112c-17.7 0-32-14.3-32-32s14.3-32 32-32c26.5 0 48-21.5 48-48v-6.1c0-32.9 17.4-59.6 34.4-78c18.4-20 29.6-46.6 29.6-75.9c0-61.9-50.1-112-112-112zm0 80c-17.7 0-32 14.3-32 32c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-17.7-14.3-32-32-32z\"]\n};\nvar faDeaf = faEarDeaf;\nvar faDeafness = faEarDeaf;\nvar faHardOfHearing = faEarDeaf;\nvar faRoadCircleCheck = {\n prefix: 'fas',\n iconName: 'road-circle-check',\n icon: [640, 512, [], \"e564\", \"M213.2 32H288V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32h74.8c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32v64H86.6C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faDiceFive = {\n prefix: 'fas',\n iconName: 'dice-five',\n icon: [448, 512, [9860], \"f523\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM96 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSquareRss = {\n prefix: 'fas',\n iconName: 'square-rss',\n icon: [448, 512, [\"rss-square\"], \"f143\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 136c0-13.3 10.7-24 24-24c137 0 248 111 248 248c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-110.5-89.5-200-200-200c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24c83.9 0 152 68.1 152 152c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-57.4-46.6-104-104-104c-13.3 0-24-10.7-24-24zm0 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faRssSquare = faSquareRss;\nvar faLandMineOn = {\n prefix: 'fas',\n iconName: 'land-mine-on',\n icon: [640, 512, [], \"e51b\", \"M344 24V168c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM192 320c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32v32H192V320zm-77.3 90.5c8.1-16.3 24.8-26.5 42.9-26.5H482.3c18.2 0 34.8 10.3 42.9 26.5l27.6 55.2C563.5 487 548 512 524.2 512H115.8c-23.8 0-39.3-25-28.6-46.3l27.6-55.2zM36.3 138.3c7.5-10.9 22.5-13.6 33.4-6.1l104 72c10.9 7.5 13.6 22.5 6.1 33.4s-22.5 13.6-33.4 6.1l-104-72c-10.9-7.5-13.6-22.5-6.1-33.4zm534.1-6.1c10.9-7.5 25.8-4.8 33.4 6.1s4.8 25.8-6.1 33.4l-104 72c-10.9 7.5-25.8 4.8-33.4-6.1s-4.8-25.8 6.1-33.4l104-72z\"]\n};\nvar faICursor = {\n prefix: 'fas',\n iconName: 'i-cursor',\n icon: [256, 512, [], \"f246\", \"M.1 29.3C-1.4 47 11.7 62.4 29.3 63.9l8 .7C70.5 67.3 96 95 96 128.3V224H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H96v95.7c0 33.3-25.5 61-58.7 63.8l-8 .7C11.7 449.6-1.4 465 .1 482.7s16.9 30.7 34.5 29.2l8-.7c34.1-2.8 64.2-18.9 85.4-42.9c21.2 24 51.2 40.1 85.4 42.9l8 .7c17.6 1.5 33.1-11.6 34.5-29.2s-11.6-33.1-29.2-34.5l-8-.7C185.5 444.7 160 417 160 383.7V288h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H160V128.3c0-33.3 25.5-61 58.7-63.8l8-.7c17.6-1.5 30.7-16.9 29.2-34.5S239-1.4 221.3 .1l-8 .7C179.2 3.6 149.2 19.7 128 43.7c-21.2-24-51.2-40-85.4-42.9l-8-.7C17-1.4 1.6 11.7 .1 29.3z\"]\n};\nvar faStamp = {\n prefix: 'fas',\n iconName: 'stamp',\n icon: [512, 512, [], \"f5bf\", \"M312 201.8c0-17.4 9.2-33.2 19.9-47C344.5 138.5 352 118.1 352 96c0-53-43-96-96-96s-96 43-96 96c0 22.1 7.5 42.5 20.1 58.8c10.7 13.8 19.9 29.6 19.9 47c0 29.9-24.3 54.2-54.2 54.2H112C50.1 256 0 306.1 0 368c0 20.9 13.4 38.7 32 45.3V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V413.3c18.6-6.6 32-24.4 32-45.3c0-61.9-50.1-112-112-112H366.2c-29.9 0-54.2-24.3-54.2-54.2zM416 416v32H96V416H416z\"]\n};\nvar faStairs = {\n prefix: 'fas',\n iconName: 'stairs',\n icon: [576, 512, [], \"e289\", \"M384 64c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H448v96c0 17.7-14.3 32-32 32H320v96c0 17.7-14.3 32-32 32H192v96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h96V320c0-17.7 14.3-32 32-32h96V192c0-17.7 14.3-32 32-32h96V64z\"]\n};\nvar faI = {\n prefix: 'fas',\n iconName: 'i',\n icon: [320, 512, [105], \"49\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96h96V416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V96h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160 32z\"]\n};\nvar faHryvniaSign = {\n prefix: 'fas',\n iconName: 'hryvnia-sign',\n icon: [384, 512, [8372, \"hryvnia\"], \"f6f2\", \"M121.9 116.2C138.3 103.1 158.7 96 179.6 96H223c27.1 0 49 21.9 49 49c0 11.5-4 22.4-11.1 31H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H155.5l-50.6 28.9c-1.7 1-3.4 2-5.1 3.1H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H52.3c-2.8 9.9-4.3 20.4-4.3 31c0 62.4 50.6 113 113 113h43.4c35.5 0 70-12.1 97.7-34.3L308 441c13.8-11 16-31.2 5-45s-31.2-16-45-5l-5.9 4.7c-16.4 13.1-36.7 20.2-57.7 20.2H161c-27.1 0-49-21.9-49-49c0-11.5 4-22.4 11.1-31H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H228.5l50.6-28.9c1.7-1 3.4-2 5.1-3.1H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H331.7c2.8-10 4.3-20.4 4.3-31c0-62.4-50.6-113-113-113H179.6c-35.5 0-70 12.1-97.7 34.3L76 71c-13.8 11-16 31.2-5 45s31.2 16 45 5l5.9-4.7z\"]\n};\nvar faHryvnia = faHryvniaSign;\nvar faPills = {\n prefix: 'fas',\n iconName: 'pills',\n icon: [576, 512, [], \"f484\", \"M112 96c-26.5 0-48 21.5-48 48V256h96V144c0-26.5-21.5-48-48-48zM0 144C0 82.1 50.1 32 112 32s112 50.1 112 112V368c0 61.9-50.1 112-112 112S0 429.9 0 368V144zM554.9 399.4c-7.1 12.3-23.7 13.1-33.8 3.1L333.5 214.9c-10-10-9.3-26.7 3.1-33.8C360 167.7 387.1 160 416 160c88.4 0 160 71.6 160 160c0 28.9-7.7 56-21.1 79.4zm-59.5 59.5C472 472.3 444.9 480 416 480c-88.4 0-160-71.6-160-160c0-28.9 7.7-56 21.1-79.4c7.1-12.3 23.7-13.1 33.8-3.1L498.5 425.1c10 10 9.3 26.7-3.1 33.8z\"]\n};\nvar faFaceGrinWide = {\n prefix: 'fas',\n iconName: 'face-grin-wide',\n icon: [512, 512, [128515, \"grin-alt\"], \"f581\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM208 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64zm128 64c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64z\"]\n};\nvar faGrinAlt = faFaceGrinWide;\nvar faTooth = {\n prefix: 'fas',\n iconName: 'tooth',\n icon: [448, 512, [129463], \"f5c9\", \"M186.1 52.1C169.3 39.1 148.7 32 127.5 32C74.7 32 32 74.7 32 127.5v6.2c0 15.8 3.7 31.3 10.7 45.5l23.5 47.1c4.5 8.9 7.6 18.4 9.4 28.2l36.7 205.8c2 11.2 11.6 19.4 22.9 19.8s21.4-7.4 24-18.4l28.9-121.3C192.2 323.7 207 312 224 312s31.8 11.7 35.8 28.3l28.9 121.3c2.6 11.1 12.7 18.8 24 18.4s20.9-8.6 22.9-19.8l36.7-205.8c1.8-9.8 4.9-19.3 9.4-28.2l23.5-47.1c7.1-14.1 10.7-29.7 10.7-45.5v-2.1c0-55-44.6-99.6-99.6-99.6c-24.1 0-47.4 8.8-65.6 24.6l-3.2 2.8 19.5 15.2c7 5.4 8.2 15.5 2.8 22.5s-15.5 8.2-22.5 2.8l-24.4-19-37-28.8z\"]\n};\nvar faV = {\n prefix: 'fas',\n iconName: 'v',\n icon: [384, 512, [118], \"56\", \"M19.7 34.5c16.3-6.8 35 .9 41.8 17.2L192 364.8 322.5 51.7c6.8-16.3 25.5-24 41.8-17.2s24 25.5 17.2 41.8l-160 384c-5 11.9-16.6 19.7-29.5 19.7s-24.6-7.8-29.5-19.7L2.5 76.3c-6.8-16.3 .9-35 17.2-41.8z\"]\n};\nvar faBangladeshiTakaSign = {\n prefix: 'fas',\n iconName: 'bangladeshi-taka-sign',\n icon: [384, 512, [], \"e2e6\", \"M36 32.2C18.4 30.1 2.4 42.5 .2 60S10.5 93.6 28 95.8l7.9 1c16 2 28 15.6 28 31.8V160H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V384c0 53 43 96 96 96h32c106 0 192-86 192-192V256c0-53-43-96-96-96H272c-17.7 0-32 14.3-32 32s14.3 32 32 32h16c17.7 0 32 14.3 32 32v32c0 70.7-57.3 128-128 128H160c-17.7 0-32-14.3-32-32V224h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H128V128.5c0-48.4-36.1-89.3-84.1-95.3l-7.9-1z\"]\n};\nvar faBicycle = {\n prefix: 'fas',\n iconName: 'bicycle',\n icon: [640, 512, [128690], \"f206\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h25.7l34.6 64H222.9l-27.4-38C191 99.7 183.7 96 176 96H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h43.7l22.1 30.7-26.6 53.1c-10-2.5-20.5-3.8-31.2-3.8C57.3 224 0 281.3 0 352s57.3 128 128 128c65.3 0 119.1-48.9 127-112h49c8.5 0 16.3-4.5 20.7-11.8l84.8-143.5 21.7 40.1C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L375.4 48.8C369.8 38.4 359 32 347.2 32H312zM458.6 303.7l32.3 59.7c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-32.3-59.7c3.6-.6 7.4-.9 11.2-.9c39.8 0 72 32.2 72 72s-32.2 72-72 72s-72-32.2-72-72c0-18.6 7-35.5 18.6-48.3zM133.2 368h65c-7.3 32.1-36 56-70.2 56c-39.8 0-72-32.2-72-72s32.2-72 72-72c1.7 0 3.4 .1 5.1 .2l-24.2 48.5c-9 18.1 4.1 39.4 24.3 39.4zm33.7-48l50.7-101.3 72.9 101.2-.1 .1H166.8zm90.6-128H365.9L317 274.8 257.4 192z\"]\n};\nvar faStaffSnake = {\n prefix: 'fas',\n iconName: 'staff-snake',\n icon: [384, 512, [\"rod-asclepius\", \"rod-snake\", \"staff-aesculapius\"], \"e579\", \"M222.6 43.2l-.1 4.8H288c53 0 96 43 96 96s-43 96-96 96H248V160h40c8.8 0 16-7.2 16-16s-7.2-16-16-16H248 220l-4.5 144H256c53 0 96 43 96 96s-43 96-96 96H240V384h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H213l-3.1 99.5L208.5 495l0 1c-.3 8.9-7.6 16-16.5 16s-16.2-7.1-16.5-16l0-1-1-31H136c-22.1 0-40-17.9-40-40s17.9-40 40-40h36l-1-32H152c-53 0-96-43-96-96c0-47.6 34.6-87.1 80-94.7V256c0 8.8 7.2 16 16 16h16.5L164 128H136 122.6c-9 18.9-28.3 32-50.6 32H56c-30.9 0-56-25.1-56-56S25.1 48 56 48h8 8 89.5l-.1-4.8L161 32c0-.7 0-1.3 0-1.9c.5-16.6 14.1-30 31-30s30.5 13.4 31 30c0 .6 0 1.3 0 1.9l-.4 11.2zM64 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faRodAsclepius = faStaffSnake;\nvar faRodSnake = faStaffSnake;\nvar faStaffAesculapius = faStaffSnake;\nvar faHeadSideCoughSlash = {\n prefix: 'fas',\n iconName: 'head-side-cough-slash',\n icon: [640, 512, [], \"e062\", \"M448 325.8l44 34.5c8.1 1.4 14.8 6.8 18 14.1L552.9 408c10.6 .4 19.5 7.6 22.2 17.4l39.1 30.6c.6 0 1.2-.1 1.8-.1c11.1 0 20.4 7.5 23.2 17.8h-3.9c6.2 8.5 6.4 20.4-.4 29c-8.2 10.4-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L89.6 44.9C127 16.7 173.5 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v0 5.8zM0 224.2c0-38.7 9.8-75.1 27.1-106.9L341.8 365.3l-2.5 .3c-11 1.4-19.2 10.7-19.2 21.8c0 11.6 9 21.2 20.6 21.9l62 3.9 43 33.9C439.3 466.2 421.2 480 400 480H320v8c0 13.3-10.7 24-24 24H256v0H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM616 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-64-48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faTruckMedical = {\n prefix: 'fas',\n iconName: 'truck-medical',\n icon: [640, 512, [128657, \"ambulance\"], \"f0f9\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM176 80v48l-48 0c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V192h48c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H240V80c0-8.8-7.2-16-16-16H192c-8.8 0-16 7.2-16 16z\"]\n};\nvar faAmbulance = faTruckMedical;\nvar faWheatAwnCircleExclamation = {\n prefix: 'fas',\n iconName: 'wheat-awn-circle-exclamation',\n icon: [640, 512, [], \"e598\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L383 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l88-88zM305.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L271.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8L101.8 231c-6.2-6.2-16.4-6.2-22.6 0L67.9 242.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c22.5 22.5 53.3 31.5 82.4 27c0-1 0-2.1 0-3.1c0-33.1 9.1-64.1 25-90.6c-15.5-8.7-32.5-13.8-49.8-15.5l31.9-31.9 12.2 12.2c6 6 12.6 11.1 19.7 15.2c27.5-34 67.3-57.5 112.6-63.8c-4.1-3.8-8.4-7.3-12.9-10.5L505 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-59.4 59.4c-20.6-4.4-42-3.7-62.3 2.1c6.1-21.3 6.6-43.8 1.4-65.3L409 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L329.1 52.9c-3.7-5-7.8-9.8-12.4-14.3L305.5 27.3zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faSnowman = {\n prefix: 'fas',\n iconName: 'snowman',\n icon: [512, 512, [9731, 9924], \"f7d0\", \"M341.1 140.6c-2 3.9-1.6 8.6 1.2 12c7 8.5 12.9 18.1 17.2 28.4L408 160.2V120c0-13.3 10.7-24 24-24s24 10.7 24 24v19.6l22.5-9.7c12.2-5.2 26.3 .4 31.5 12.6s-.4 26.3-12.6 31.5l-56 24-73.6 31.5c-.5 9.5-2.1 18.6-4.8 27.3c-1.2 3.8-.1 8 2.8 10.8C396.7 296.9 416 338.2 416 384c0 44.7-18.3 85-47.8 114.1c-9.9 9.7-23.7 13.9-37.5 13.9H181.3c-13.9 0-27.7-4.2-37.5-13.9C114.3 469 96 428.7 96 384c0-45.8 19.3-87.1 50.1-116.3c2.9-2.8 4-6.9 2.8-10.8c-2.7-8.7-4.3-17.9-4.8-27.3L70.5 198.1l-56-24C2.4 168.8-3.3 154.7 1.9 142.5s19.3-17.8 31.5-12.6L56 139.6V120c0-13.3 10.7-24 24-24s24 10.7 24 24v40.2L152.6 181c4.3-10.3 10.1-19.9 17.2-28.4c2.8-3.4 3.3-8.1 1.2-12C164 127.2 160 112.1 160 96c0-53 43-96 96-96s96 43 96 96c0 16.1-4 31.2-10.9 44.6zM224 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM288 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-48 24v3.2c0 3.2 .8 6.3 2.3 9l9 16.9c.9 1.7 2.7 2.8 4.7 2.8s3.8-1.1 4.7-2.8l9-16.9c1.5-2.8 2.3-5.9 2.3-9V120c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faMortarPestle = {\n prefix: 'fas',\n iconName: 'mortar-pestle',\n icon: [512, 512, [], \"f5a7\", \"M504.3 11.1C493.3-1.6 474.5-3.7 461 6.2L252.3 160H397.3L502.6 54.6c11.8-11.8 12.6-30.8 1.6-43.5zM32 192c-17.7 0-32 14.3-32 32s14.3 32 32 32c0 82.5 43.4 147.7 123.9 176.2c-11.1 13.9-19.4 30.3-23.9 48.1C127.6 497.4 142.3 512 160 512H352c17.7 0 32.4-14.6 28.1-31.7c-4.5-17.8-12.8-34.1-23.9-48.1C436.6 403.7 480 338.5 480 256c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faRoadBarrier = {\n prefix: 'fas',\n iconName: 'road-barrier',\n icon: [640, 512, [], \"e562\", \"M32 32C14.3 32 0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V266.3L149.2 96H64V64c0-17.7-14.3-32-32-32zM405.2 96H330.8l-5.4 10.7L234.8 288h74.3l5.4-10.7L405.2 96zM362.8 288h74.3l5.4-10.7L533.2 96H458.8l-5.4 10.7L362.8 288zM202.8 96l-5.4 10.7L106.8 288h74.3l5.4-10.7L277.2 96H202.8zm288 192H576V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v53.7L490.8 288z\"]\n};\nvar faSchool = {\n prefix: 'fas',\n iconName: 'school',\n icon: [640, 512, [127979], \"f549\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM256 416c0-35.3 28.7-64 64-64s64 28.7 64 64v96H256V416zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V208zM96 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V336zM232 176a88 88 0 1 1 176 0 88 88 0 1 1 -176 0zm88-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16z\"]\n};\nvar faIgloo = {\n prefix: 'fas',\n iconName: 'igloo',\n icon: [576, 512, [], \"f7ae\", \"M320 33.8V160H48.5C100.2 82.8 188.1 32 288 32c10.8 0 21.5 .6 32 1.8zM352 160V39.1C424.9 55.7 487.2 99.8 527.5 160H352zM29.9 192H96V320H0c0-46 10.8-89.4 29.9-128zM192 320H128V192H448V320H384v32H576v80c0 26.5-21.5 48-48 48H352V352c0-35.3-28.7-64-64-64s-64 28.7-64 64V480H48c-26.5 0-48-21.5-48-48V352H192V320zm288 0V192h66.1c19.2 38.6 29.9 82 29.9 128H480z\"]\n};\nvar faJoint = {\n prefix: 'fas',\n iconName: 'joint',\n icon: [640, 512, [], \"f595\", \"M448 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43c0 55.2 21.9 108.1 60.9 147.1l21 21c9 9 14.1 21.2 14.1 33.9v11c0 17.7 14.3 32 32 32s32-14.3 32-32V245c0-29.7-11.8-58.2-32.8-79.2l-21-21C463.2 117.8 448 81.2 448 43V32zM576 256c0 17.7 14.3 32 32 32s32-14.3 32-32V245c0-55.2-21.9-108.1-60.9-147.1l-21-21c-9-9-14.1-21.2-14.1-33.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43c0 29.7 11.8 58.2 32.8 79.2l21 21c27 27 42.2 63.6 42.2 101.8v11zM229.8 360c-4.7-2.3-10-2.7-15.2-2c-37.8 5.6-75.2 14.3-106.9 22.8C81.3 388 58.3 395.1 42 400.4c-8.2 2.7-14.7 4.9-19.2 6.5c-2.3 .8-4 1.4-5.2 1.8l-1.3 .5C6.8 412.5 0 421.4 0 432s6.8 19.5 16.3 22.7l1.3 .5c1.2 .4 3 1.1 5.2 1.8c4.5 1.6 11 3.8 19.2 6.5c16.3 5.4 39.2 12.5 65.7 19.6C160.3 497.3 228.8 512 288 512h67.3c4.1 0 6.3-5.1 3.6-8.3L256.5 380.8c-7.4-8.9-16.5-15.9-26.7-20.8zM445 512h19 51.3c4.1 0 6.3-5.1 3.6-8.3L416.5 380.8C401.3 362.5 378.8 352 355 352H336 288c-1.1 0-2.3 0-3.4 0c-4.1 0-6.2 5.1-3.5 8.3L383.5 483.2C398.7 501.5 421.2 512 445 512zm-3.9-151.7L543.5 483.2c14.6 17.5 35.9 27.9 58.6 28.7c21.1-1.1 37.9-18.6 37.9-39.9V392c0-22.1-17.9-40-40-40H444.7c-4.1 0-6.3 5.1-3.6 8.3z\"]\n};\nvar faAngleRight = {\n prefix: 'fas',\n iconName: 'angle-right',\n icon: [320, 512, [8250], \"f105\", \"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"]\n};\nvar faHorse = {\n prefix: 'fas',\n iconName: 'horse',\n icon: [576, 512, [128014], \"f6f0\", \"M448 238.1V160h16l9.8 19.6c12.5 25.1 42.2 36.4 68.3 26c20.5-8.2 33.9-28 33.9-50.1V80c0-19.1-8.4-36.3-21.7-48H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H480 448C377.3 0 320 57.3 320 128H224 203.2 148.8c-30.7 0-57.6 16.3-72.5 40.8C33.2 174.5 0 211.4 0 256v56c0 13.3 10.7 24 24 24s24-10.7 24-24V256c0-13.4 6.6-25.2 16.7-32.5c1.6 13 6.3 25.4 13.6 36.4l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6c-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9h33.7c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7c0-2.3-.1-4.6-.3-6.9l84 24c4.1 1.2 8.2 2.1 12.3 2.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V315.7c19.2-19.2 31.5-45.7 32-75.7h0v-1.9zM496 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faQ = {\n prefix: 'fas',\n iconName: 'q',\n icon: [448, 512, [113], \"51\", \"M64 256c0 88.4 71.6 160 160 160c28.9 0 56-7.7 79.4-21.1l-72-86.4c-11.3-13.6-9.5-33.8 4.1-45.1s33.8-9.5 45.1 4.1l70.9 85.1C371.9 325.8 384 292.3 384 256c0-88.4-71.6-160-160-160S64 167.6 64 256zM344.9 444.6C310 467 268.5 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32s224 100.3 224 224c0 56.1-20.6 107.4-54.7 146.7l47.3 56.8c11.3 13.6 9.5 33.8-4.1 45.1s-33.8 9.5-45.1-4.1l-46.6-55.9z\"]\n};\nvar faG = {\n prefix: 'fas',\n iconName: 'g',\n icon: [448, 512, [103], \"47\", \"M224 96C135.6 96 64 167.6 64 256s71.6 160 160 160c77.4 0 142-55 156.8-128H256c-17.7 0-32-14.3-32-32s14.3-32 32-32H400c25.8 0 49.6 21.4 47.2 50.6C437.8 389.6 341.4 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32c57.4 0 109.7 21.6 149.3 57c13.2 11.8 14.3 32 2.5 45.2s-32 14.3-45.2 2.5C302.3 111.4 265 96 224 96z\"]\n};\nvar faNotesMedical = {\n prefix: 'fas',\n iconName: 'notes-medical',\n icon: [512, 512, [], \"f481\", \"M96 352V96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V293.5c0 17-6.7 33.3-18.7 45.3l-58.5 58.5c-12 12-28.3 18.7-45.3 18.7H160c-35.3 0-64-28.7-64-64zM272 128c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256h48c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H320V144c0-8.8-7.2-16-16-16H272zm24 336c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V152c0-13.3 10.7-24 24-24s24 10.7 24 24l0 224c0 48.6 39.4 88 88 88H296z\"]\n};\nvar faTemperatureHalf = {\n prefix: 'fas',\n iconName: 'temperature-half',\n icon: [320, 512, [127777, \"temperature-2\", \"thermometer-2\", \"thermometer-half\"], \"f2c9\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V208c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature2 = faTemperatureHalf;\nvar faThermometer2 = faTemperatureHalf;\nvar faThermometerHalf = faTemperatureHalf;\nvar faDongSign = {\n prefix: 'fas',\n iconName: 'dong-sign',\n icon: [384, 512, [], \"e169\", \"M288 32c-17.7 0-32 14.3-32 32l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v49.1c-18.8-10.9-40.7-17.1-64-17.1c-70.7 0-128 57.3-128 128s57.3 128 128 128c24.5 0 47.4-6.9 66.8-18.8c5 11.1 16.2 18.8 29.2 18.8c17.7 0 32-14.3 32-32V288 128c17.7 0 32-14.3 32-32s-14.3-32-32-32c0-17.7-14.3-32-32-32zM128 288a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faCapsules = {\n prefix: 'fas',\n iconName: 'capsules',\n icon: [576, 512, [], \"f46b\", \"M64 144c0-26.5 21.5-48 48-48s48 21.5 48 48V256H64V144zM0 144V368c0 61.9 50.1 112 112 112s112-50.1 112-112V189.6c1.8 19.1 8.2 38 19.8 54.8L372.3 431.7c35.5 51.7 105.3 64.3 156 28.1s63-107.5 27.5-159.2L427.3 113.3C391.8 61.5 321.9 49 271.3 85.2c-28 20-44.3 50.8-47.3 83V144c0-61.9-50.1-112-112-112S0 82.1 0 144zm296.6 64.2c-16-23.3-10-55.3 11.9-71c21.2-15.1 50.5-10.3 66 12.2l67 97.6L361.6 303l-65-94.8zM491 407.7c-.8 .6-1.6 1.1-2.4 1.6l4-2.8c-.5 .4-1 .8-1.6 1.2z\"]\n};\nvar faPooStorm = {\n prefix: 'fas',\n iconName: 'poo-storm',\n icon: [448, 512, [\"poo-bolt\"], \"f75a\", \"M236.9 .2c-5.5-.7-11 1.4-14.5 5.7s-4.6 10.1-2.8 15.3c2.8 8.2 4.3 16.9 4.3 26.1c0 21.7-8.5 37.2-21.9 47.6c-13.8 10.8-34 17-57.8 17H128c-35.3 0-64 28.7-64 64c0 12.2 3.4 23.5 9.3 33.2C31.7 216.2 0 252.4 0 296c0 41 28 75.4 65.8 85.2c-5.3-18.5 1-38.5 16.2-50.7l160-128c17.6-14.1 42.6-14 60.2 .2s22.8 38.6 12.8 58.8L285.7 320H304c20.4 0 38.5 12.9 45.3 32.1c3.7 10.6 3.5 21.8 0 31.9H360c48.6 0 88-39.4 88-88c0-43.6-31.7-79.8-73.3-86.8c5.9-9.7 9.3-21.1 9.3-33.2c0-35.3-28.7-64-64-64h-1.4c.9-5.4 1.4-10.9 1.4-16.6c0-48.7-36.1-88.9-83.1-95.2zm45.1 227.4c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L129.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H233.9l52.4-104.8c3.4-6.7 1.6-14.9-4.3-19.6z\"]\n};\nvar faPooBolt = faPooStorm;\nvar faFaceFrownOpen = {\n prefix: 'fas',\n iconName: 'face-frown-open',\n icon: [512, 512, [128550, \"frown-open\"], \"f57a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-122 174.5c-12.4 5.2-26.5-4.1-21.1-16.4c16-36.6 52.4-62.1 94.8-62.1s78.8 25.6 94.8 62.1c5.4 12.3-8.7 21.6-21.1 16.4c-22.4-9.5-47.4-14.8-73.7-14.8s-51.3 5.3-73.7 14.8z\"]\n};\nvar faFrownOpen = faFaceFrownOpen;\nvar faHandPointUp = {\n prefix: 'fas',\n iconName: 'hand-point-up',\n icon: [384, 512, [9757], \"f0a6\", \"M32 32C32 14.3 46.3 0 64 0S96 14.3 96 32V240H32V32zM224 192c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192zm-64-64c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm160 96c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V352c0 88.4-71.6 160-160 160H162.3c-42.4 0-83.1-16.9-113.1-46.9L37.5 453.5C13.5 429.5 0 396.9 0 363V336c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72z\"]\n};\nvar faMoneyBill = {\n prefix: 'fas',\n iconName: 'money-bill',\n icon: [576, 512, [], \"f0d6\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm64 320H64V320c35.3 0 64 28.7 64 64zM64 192V128h64c0 35.3-28.7 64-64 64zM448 384c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM288 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faBookmark = {\n prefix: 'fas',\n iconName: 'bookmark',\n icon: [384, 512, [128278, 61591], \"f02e\", \"M0 48V487.7C0 501.1 10.9 512 24.3 512c5 0 9.9-1.5 14-4.4L192 400 345.7 507.6c4.1 2.9 9 4.4 14 4.4c13.4 0 24.3-10.9 24.3-24.3V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48z\"]\n};\nvar faAlignJustify = {\n prefix: 'fas',\n iconName: 'align-justify',\n icon: [448, 512, [], \"f039\", \"M448 64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32zm0 256c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM0 192c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM448 448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32z\"]\n};\nvar faUmbrellaBeach = {\n prefix: 'fas',\n iconName: 'umbrella-beach',\n icon: [576, 512, [127958], \"f5ca\", \"M346.3 271.8l-60.1-21.9L214 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H282.1l64.1-176.2zm121.1-.2l-3.3 9.1 67.7 24.6c18.1 6.6 38-4.2 39.6-23.4c6.5-78.5-23.9-155.5-80.8-208.5c2 8 3.2 16.3 3.4 24.8l.2 6c1.8 57-7.3 113.8-26.8 167.4zM462 99.1c-1.1-34.4-22.5-64.8-54.4-77.4c-.9-.4-1.9-.7-2.8-1.1c-33-11.7-69.8-2.4-93.1 23.8l-4 4.5C272.4 88.3 245 134.2 226.8 184l-3.3 9.1L434 269.7l3.3-9.1c18.1-49.8 26.6-102.5 24.9-155.5l-.2-6zM107.2 112.9c-11.1 15.7-2.8 36.8 15.3 43.4l71 25.8 3.3-9.1c19.5-53.6 49.1-103 87.1-145.5l4-4.5c6.2-6.9 13.1-13 20.5-18.2c-79.6 2.5-154.7 42.2-201.2 108z\"]\n};\nvar faHelmetUn = {\n prefix: 'fas',\n iconName: 'helmet-un',\n icon: [512, 512, [], \"e503\", \"M479.5 224C471.2 98.9 367.2 0 240 0C107.5 0 0 107.5 0 240v56.3C0 344.8 39.2 384 87.7 384H200h14.9L343.5 505.4c4.5 4.2 10.4 6.6 16.5 6.6h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H369.5l-1.5-1.5V288h80 32c17.7 0 32-14.3 32-32s-14.3-32-32-32h-.5zM320 417.2l-78-73.7L274.4 288H320V417.2zM285.3 103.1l34.7 52V112c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V208c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM160 112v64c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faBullseye = {\n prefix: 'fas',\n iconName: 'bullseye',\n icon: [512, 512, [], \"f140\", \"M448 256A192 192 0 1 0 64 256a192 192 0 1 0 384 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 80a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faBacon = {\n prefix: 'fas',\n iconName: 'bacon',\n icon: [576, 512, [129363], \"f7e5\", \"M439.2 1.2c11.2-3.2 23.2-.1 31.4 8.1L518 56.7l-26.5 7.9c-58 16.6-98.1 39.6-129.6 67.4c-31.2 27.5-53.2 59.1-75.1 90.9l-2.3 3.3C241.6 288.7 195 356.6 72.8 417.7L37.9 435.2 9.4 406.6c-7.3-7.3-10.6-17.6-9-27.8s8.1-18.9 17.3-23.5C136.1 296.2 180.9 231 223.3 169.3l2.3-3.4c21.8-31.8 44.9-64.9 77.7-93.9c33.4-29.5 75.8-53.6 135.9-70.8zM61.8 459l25.4-12.7c129.5-64.7 179.9-138.1 223.8-202l2.2-3.3c22.1-32.1 42.1-60.5 69.9-85.1c27.5-24.3 63.4-45.2 117.3-60.6l0 0 .2-.1 43.1-12.9 23 23c8 8 11.2 19.7 8.3 30.7s-11.3 19.6-22.2 22.7c-51.9 14.8-85.6 34.7-111.1 57.2c-26.1 23-45.1 49.9-67.3 82.1l-2.2 3.2C327.8 365.9 275.5 442 142.3 508.6c-12.3 6.2-27.2 3.7-36.9-6L61.8 459z\"]\n};\nvar faHandPointDown = {\n prefix: 'fas',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", \"M32 480c0 17.7 14.3 32 32 32s32-14.3 32-32V272H32V480zM224 320c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32v64zm-64 64c17.7 0 32-14.3 32-32V304c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 17.7 14.3 32 32 32zm160-96c0 17.7 14.3 32 32 32s32-14.3 32-32V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64zm-96-88l0 .6c9.4-5.4 20.3-8.6 32-8.6c13.2 0 25.4 4 35.6 10.8c8.7-24.9 32.5-42.8 60.4-42.8c11.7 0 22.6 3.1 32 8.6V160C384 71.6 312.4 0 224 0H162.3C119.8 0 79.1 16.9 49.1 46.9L37.5 58.5C13.5 82.5 0 115.1 0 149v27c0 35.3 28.7 64 64 64h88c22.1 0 40-17.9 40-40s-17.9-40-40-40H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h56c39.8 0 72 32.2 72 72z\"]\n};\nvar faArrowUpFromBracket = {\n prefix: 'fas',\n iconName: 'arrow-up-from-bracket',\n icon: [448, 512, [], \"e09a\", \"M246.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 109.3V320c0 17.7 14.3 32 32 32s32-14.3 32-32V109.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 53 43 96 96 96H352c53 0 96-43 96-96V352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V352z\"]\n};\nvar faFolder = {\n prefix: 'fas',\n iconName: 'folder',\n icon: [512, 512, [128193, 128447, 61716, \"folder-blank\"], \"f07b\", \"M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H288c-10.1 0-19.6-4.7-25.6-12.8L243.2 57.6C231.1 41.5 212.1 32 192 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z\"]\n};\nvar faFolderBlank = faFolder;\nvar faFileWaveform = {\n prefix: 'fas',\n iconName: 'file-waveform',\n icon: [448, 512, [\"file-medical-alt\"], \"f478\", \"M96 0C60.7 0 32 28.7 32 64V288H144c6.1 0 11.6 3.4 14.3 8.8L176 332.2l49.7-99.4c2.7-5.4 8.3-8.8 14.3-8.8s11.6 3.4 14.3 8.8L281.9 288H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-6.1 0-11.6-3.4-14.3-8.8L240 275.8l-49.7 99.4c-2.7 5.4-8.3 8.8-14.3 8.8s-11.6-3.4-14.3-8.8L134.1 320H32V448c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V160H288c-17.7 0-32-14.3-32-32V0H96zM288 0V128H416L288 0z\"]\n};\nvar faFileMedicalAlt = faFileWaveform;\nvar faRadiation = {\n prefix: 'fas',\n iconName: 'radiation',\n icon: [512, 512, [], \"f7b9\", \"M216 186.7c-23.9 13.8-40 39.7-40 69.3L32 256C14.3 256-.2 241.6 2 224.1C10.7 154 47.8 92.7 101.3 52c14.1-10.7 33.8-5.3 42.7 10l72 124.7zM256 336c14.6 0 28.2-3.9 40-10.7l72 124.8c8.8 15.3 3.7 35.1-12.6 41.9c-30.6 12.9-64.2 20-99.4 20s-68.9-7.1-99.4-20c-16.3-6.9-21.4-26.6-12.6-41.9l72-124.8c11.8 6.8 25.4 10.7 40 10.7zm224-80l-144 0c0-29.6-16.1-55.5-40-69.3L368 62c8.8-15.3 28.6-20.7 42.7-10c53.6 40.7 90.6 102 99.4 172.1c2.2 17.5-12.4 31.9-30 31.9zM256 208a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faChartSimple = {\n prefix: 'fas',\n iconName: 'chart-simple',\n icon: [448, 512, [], \"e473\", \"M160 80c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V80zM0 272c0-26.5 21.5-48 48-48H80c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V272zM368 96h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z\"]\n};\nvar faMarsStroke = {\n prefix: 'fas',\n iconName: 'mars-stroke',\n icon: [512, 512, [9894], \"f229\", \"M376 0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l33.4 33.4L370.3 96.4 345 71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l25.4 25.4L307.8 159c-28.4-19.5-62.7-31-99.8-31c-97.2 0-176 78.8-176 176s78.8 176 176 176s176-78.8 176-176c0-37-11.4-71.4-31-99.8l28.6-28.6L407 201c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-25.4-25.4 22.1-22.1L471 153c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V24c0-13.3-10.7-24-24-24H376zm88 48h0v0l0 0zM96 304a112 112 0 1 1 224 0A112 112 0 1 1 96 304z\"]\n};\nvar faVial = {\n prefix: 'fas',\n iconName: 'vial',\n icon: [512, 512, [129514], \"f492\", \"M342.6 9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4L28.1 342.6C10.1 360.6 0 385 0 410.5V416c0 53 43 96 96 96h5.5c25.5 0 49.9-10.1 67.9-28.1L448 205.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-32-32-96-96-32-32zM205.3 256L352 109.3 402.7 160l-96 96H205.3z\"]\n};\nvar faGauge = {\n prefix: 'fas',\n iconName: 'gauge',\n icon: [512, 512, [\"dashboard\", \"gauge-med\", \"tachometer-alt-average\"], \"f624\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-26.9-16.5-49.9-40-59.3V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64zM144 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-16 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM400 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faDashboard = faGauge;\nvar faGaugeMed = faGauge;\nvar faTachometerAltAverage = faGauge;\nvar faWandMagicSparkles = {\n prefix: 'fas',\n iconName: 'wand-magic-sparkles',\n icon: [576, 512, [\"magic-wand-sparkles\"], \"e2ca\", \"M234.7 42.7L197 56.8c-3 1.1-5 4-5 7.2s2 6.1 5 7.2l37.7 14.1L248.8 123c1.1 3 4 5 7.2 5s6.1-2 7.2-5l14.1-37.7L315 71.2c3-1.1 5-4 5-7.2s-2-6.1-5-7.2L277.3 42.7 263.2 5c-1.1-3-4-5-7.2-5s-6.1 2-7.2 5L234.7 42.7zM46.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L529.9 116.5c18.7-18.7 18.7-49.1 0-67.9L495.3 14.1c-18.7-18.7-49.1-18.7-67.9 0L46.1 395.4zM484.6 82.6l-105 105-23.3-23.3 105-105 23.3 23.3zM7.5 117.2C3 118.9 0 123.2 0 128s3 9.1 7.5 10.8L64 160l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L128 160l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L128 96 106.8 39.5C105.1 35 100.8 32 96 32s-9.1 3-10.8 7.5L64 96 7.5 117.2zm352 256c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 416l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 416l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 352l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 352l-56.5 21.2z\"]\n};\nvar faMagicWandSparkles = faWandMagicSparkles;\nvar faE = {\n prefix: 'fas',\n iconName: 'e',\n icon: [320, 512, [101], \"45\", \"M64 32C28.7 32 0 60.7 0 96V256 416c0 35.3 28.7 64 64 64H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V288H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64z\"]\n};\nvar faPenClip = {\n prefix: 'fas',\n iconName: 'pen-clip',\n icon: [512, 512, [\"pen-alt\"], \"f305\", \"M453.3 19.3l39.4 39.4c25 25 25 65.5 0 90.5l-52.1 52.1 0 0-1-1 0 0-16-16-96-96-17-17 52.1-52.1c25-25 65.5-25 90.5 0zM241 114.9c-9.4-9.4-24.6-9.4-33.9 0L105 217c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L173.1 81c28.1-28.1 73.7-28.1 101.8 0L288 94.1l17 17 96 96 16 16 1 1-17 17L229.5 412.5c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8L254.1 128 241 114.9z\"]\n};\nvar faPenAlt = faPenClip;\nvar faBridgeCircleExclamation = {\n prefix: 'fas',\n iconName: 'bridge-circle-exclamation',\n icon: [640, 512, [], \"e4ca\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32h40v64H32V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2V160H536V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM488 96v64H408V96h80zM360 96v64H280V96h80zM232 96v64H152V96h80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faUser = {\n prefix: 'fas',\n iconName: 'user',\n icon: [448, 512, [128100, 62144], \"f007\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z\"]\n};\nvar faSchoolCircleCheck = {\n prefix: 'fas',\n iconName: 'school-circle-check',\n icon: [640, 512, [], \"e56b\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H320v0H256V416c0-35.3 28.7-64 64-64l.3 0h.5c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-99.3-43.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7z\"]\n};\nvar faDumpster = {\n prefix: 'fas',\n iconName: 'dumpster',\n icon: [576, 512, [], \"f793\", \"M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94L140.5 32H49.7zM272 160V32H173.1L147.5 160H272zm32 0H428.5L402.9 32H304V160zm157.1 0h94c11.5 0 20.9-9.3 20.9-20.9c0-2.1-.3-4.1-.9-6.1L549.2 48.9C546.1 38.9 536.8 32 526.3 32H435.5l25.6 128zM32 192l4 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H44L64 448c0 17.7 14.3 32 32 32s32-14.3 32-32H448c0 17.7 14.3 32 32 32s32-14.3 32-32l20-160h12c17.7 0 32-14.3 32-32s-14.3-32-32-32h-4l4-32H32z\"]\n};\nvar faVanShuttle = {\n prefix: 'fas',\n iconName: 'van-shuttle',\n icon: [640, 512, [128656, \"shuttle-van\"], \"f5b6\", \"M64 104v88h96V96H72c-4.4 0-8 3.6-8 8zm482 88L465.1 96H384v96H546zm-226 0V96H224v96h96zM592 384H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V104C0 64.2 32.2 32 72 32H192 352 465.1c18.9 0 36.8 8.3 49 22.8L625 186.5c9.7 11.5 15 26.1 15 41.2V336c0 26.5-21.5 48-48 48zm-64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM160 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faShuttleVan = faVanShuttle;\nvar faBuildingUser = {\n prefix: 'fas',\n iconName: 'building-user',\n icon: [640, 512, [], \"e4da\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h89.9c-6.3-10.2-9.9-22.2-9.9-35.1c0-46.9 25.8-87.8 64-109.2V271.8 48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM576 272a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM352 477.1c0 19.3 15.6 34.9 34.9 34.9H605.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H445.1c-51.4 0-93.1 41.7-93.1 93.1z\"]\n};\nvar faSquareCaretLeft = {\n prefix: 'fas',\n iconName: 'square-caret-left',\n icon: [448, 512, [\"caret-square-left\"], \"f191\", \"M0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416zM128 256c0-6.7 2.8-13 7.7-17.6l112-104c7-6.5 17.2-8.2 25.9-4.4s14.4 12.5 14.4 22l0 208c0 9.5-5.7 18.2-14.4 22s-18.9 2.1-25.9-4.4l-112-104c-4.9-4.5-7.7-10.9-7.7-17.6z\"]\n};\nvar faCaretSquareLeft = faSquareCaretLeft;\nvar faHighlighter = {\n prefix: 'fas',\n iconName: 'highlighter',\n icon: [576, 512, [], \"f591\", \"M315 315l158.4-215L444.1 70.6 229 229 315 315zm-187 5l0 0V248.3c0-15.3 7.2-29.6 19.5-38.6L420.6 8.4C428 2.9 437 0 446.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L334.4 396.5c-9 12.3-23.4 19.5-38.6 19.5H224l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3L128 320zM7 466.3l63-63 70.6 70.6-31 31c-4.5 4.5-10.6 7-17 7H24c-13.3 0-24-10.7-24-24v-4.7c0-6.4 2.5-12.5 7-17z\"]\n};\nvar faKey = {\n prefix: 'fas',\n iconName: 'key',\n icon: [512, 512, [128273], \"f084\", \"M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V448h40c13.3 0 24-10.7 24-24V384h40c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3zM376 96a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]\n};\nvar faBullhorn = {\n prefix: 'fas',\n iconName: 'bullhorn',\n icon: [512, 512, [128226, 128363], \"f0a1\", \"M480 32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9L381.7 53c-48 48-113.1 75-181 75H192 160 64c-35.3 0-64 28.7-64 64v96c0 35.3 28.7 64 64 64l0 128c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V352l8.7 0c67.9 0 133 27 181 75l43.6 43.6c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V300.4c18.6-8.8 32-32.5 32-60.4s-13.4-51.6-32-60.4V32zm-64 76.7V240 371.3C357.2 317.8 280.5 288 200.7 288H192V192h8.7c79.8 0 156.5-29.8 215.3-83.3z\"]\n};\nvar faGlobe = {\n prefix: 'fas',\n iconName: 'globe',\n icon: [512, 512, [127760], \"f0ac\", \"M352 256c0 22.2-1.2 43.6-3.3 64H163.3c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64H348.7c2.2 20.4 3.3 41.8 3.3 64zm28.8-64H503.9c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H380.8c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32H376.7c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0H18.6C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192H131.2c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6H344.3c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352H135.3zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6H493.4z\"]\n};\nvar faSynagogue = {\n prefix: 'fas',\n iconName: 'synagogue',\n icon: [640, 512, [128333], \"f69b\", \"M309.8 3.7c5.9-4.9 14.6-4.9 20.5 0l121 100.8C469.5 119.7 480 142.2 480 166V280.1 512H464 352V416c0-17.7-14.3-32-32-32s-32 14.3-32 32v96H176 160V280.1 166c0-23.7 10.5-46.3 28.8-61.5L309.8 3.7zM512 512V244.5l28.1-31.2c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3l63.8 70.9c7.9 8.8 12.3 20.3 12.3 32.1V448c0 35.3-28.7 64-64 64H512zM128 244.5V512H64c-35.3 0-64-28.7-64-64V316.3c0-11.9 4.4-23.3 12.3-32.1l63.8-70.9c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3L128 244.5zM327 124.3c-3.1-5.4-10.9-5.4-13.9 0l-15.9 28.1-32.3-.3c-6.2-.1-10.1 6.7-7 12.1L274.3 192l-16.4 27.8c-3.2 5.4 .7 12.1 7 12.1l32.3-.3L313 259.7c3.1 5.4 10.9 5.4 13.9 0l15.9-28.1 32.3 .3c6.2 .1 10.1-6.7 7-12.1L365.7 192l16.4-27.8c3.2-5.4-.7-12.1-7-12.1l-32.3 .3L327 124.3z\"]\n};\nvar faPersonHalfDress = {\n prefix: 'fas',\n iconName: 'person-half-dress',\n icon: [320, 512, [], \"e548\", \"M160 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm8 352V128h6.9c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352h0zM58.2 182.3c19.9-33.1 55.3-53.5 93.8-54.3V384h0v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H70.2c-10.9 0-18.6-10.7-15.2-21.1L93.3 248.1 59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l53.6-89.2z\"]\n};\nvar faRoadBridge = {\n prefix: 'fas',\n iconName: 'road-bridge',\n icon: [640, 512, [], \"e563\", \"M352 0H608c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM480 200c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V224c0-13.3-10.7-24-24-24zm24 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V384zM480 40c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-13.3-10.7-24-24-24zM32 96H288v64H248v64h40v96c-53 0-96 43-96 96v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V416c0-53-43-96-96-96V224H72V160H32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm168 64H120v64h80V160z\"]\n};\nvar faLocationArrow = {\n prefix: 'fas',\n iconName: 'location-arrow',\n icon: [448, 512, [], \"f124\", \"M429.6 92.1c4.9-11.9 2.1-25.6-7-34.7s-22.8-11.9-34.7-7l-352 144c-14.2 5.8-22.2 20.8-19.3 35.8s16.1 25.8 31.4 25.8H224V432c0 15.3 10.8 28.4 25.8 31.4s30-5.1 35.8-19.3l144-352z\"]\n};\nvar faC = {\n prefix: 'fas',\n iconName: 'c',\n icon: [384, 512, [99], \"43\", \"M329.1 142.9c-62.5-62.5-155.8-62.5-218.3 0s-62.5 163.8 0 226.3s155.8 62.5 218.3 0c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3c-87.5 87.5-221.3 87.5-308.8 0s-87.5-229.3 0-316.8s221.3-87.5 308.8 0c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0z\"]\n};\nvar faTabletButton = {\n prefix: 'fas',\n iconName: 'tablet-button',\n icon: [448, 512, [], \"f10a\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM224 400a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBuildingLock = {\n prefix: 'fas',\n iconName: 'building-lock',\n icon: [576, 512, [], \"e4d6\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h88.6c-5.4-9.4-8.6-20.3-8.6-32V352c0-23.7 12.9-44.4 32-55.4V272c0-30.5 12.2-58.2 32-78.4V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM464 240c17.7 0 32 14.3 32 32v48H432V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faPizzaSlice = {\n prefix: 'fas',\n iconName: 'pizza-slice',\n icon: [512, 512, [], \"f818\", \"M169.7 .9c-22.8-1.6-41.9 14-47.5 34.7L110.4 80c.5 0 1.1 0 1.6 0c176.7 0 320 143.3 320 320c0 .5 0 1.1 0 1.6l44.4-11.8c20.8-5.5 36.3-24.7 34.7-47.5C498.5 159.5 352.5 13.5 169.7 .9zM399.8 410.2c.1-3.4 .2-6.8 .2-10.2c0-159.1-128.9-288-288-288c-3.4 0-6.8 .1-10.2 .2L.5 491.9c-1.5 5.5 .1 11.4 4.1 15.4s9.9 5.6 15.4 4.1L399.8 410.2zM176 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM96 384a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMoneyBillWave = {\n prefix: 'fas',\n iconName: 'money-bill-wave',\n icon: [576, 512, [], \"f53a\", \"M0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96zM64 352c35.3 0 64 28.7 64 64H64V352zm64-208c0 35.3-28.7 64-64 64V144h64zM512 304v64H448c0-35.3 28.7-64 64-64zM448 96h64v64c-35.3 0-64-28.7-64-64z\"]\n};\nvar faChartArea = {\n prefix: 'fas',\n iconName: 'chart-area',\n icon: [512, 512, [\"area-chart\"], \"f1fe\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm96 288H448c17.7 0 32-14.3 32-32V251.8c0-7.6-2.7-15-7.7-20.8l-65.8-76.8c-12.1-14.2-33.7-15-46.9-1.8l-21 21c-10 10-26.4 9.2-35.4-1.6l-39.2-47c-12.6-15.1-35.7-15.4-48.7-.6L135.9 215c-5.1 5.8-7.9 13.3-7.9 21.1v84c0 17.7 14.3 32 32 32z\"]\n};\nvar faAreaChart = faChartArea;\nvar faHouseFlag = {\n prefix: 'fas',\n iconName: 'house-flag',\n icon: [640, 512, [], \"e50d\", \"M480 0c-17.7 0-32 14.3-32 32V192 512h64V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H512c0-17.7-14.3-32-32-32zM416 159L276.8 39.7c-12-10.3-29.7-10.3-41.7 0l-224 192C1 240.4-2.7 254.5 2 267.1S18.6 288 32 288H64V480c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v96c0 17.7 14.3 32 32 32h64.7l.2 0h-1V159z\"]\n};\nvar faPersonCircleMinus = {\n prefix: 'fas',\n iconName: 'person-circle-minus',\n icon: [576, 512, [], \"e540\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zm136 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faBan = {\n prefix: 'fas',\n iconName: 'ban',\n icon: [512, 512, [128683, \"cancel\"], \"f05e\", \"M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faCancel = faBan;\nvar faCameraRotate = {\n prefix: 'fas',\n iconName: 'camera-rotate',\n icon: [640, 512, [], \"e0d8\", \"M213.1 64.8L202.7 96H128c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H437.3L426.9 64.8C420.4 45.2 402.1 32 381.4 32H258.6c-20.7 0-39 13.2-45.5 32.8zM448 256c0 8.8-7.2 16-16 16H355.3c-6.2 0-11.3-5.1-11.3-11.3c0-3 1.2-5.9 3.3-8L371 229c-13.6-13.4-31.9-21-51-21c-19.2 0-37.7 7.6-51.3 21.3L249 249c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l19.7-19.7C257.4 172.7 288 160 320 160c31.8 0 62.4 12.6 85 35l23.7-23.7c2.1-2.1 5-3.3 8-3.3c6.2 0 11.3 5.1 11.3 11.3V256zM192 320c0-8.8 7.2-16 16-16h76.7c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8L269 347c13.6 13.4 31.9 21 51 21c19.2 0 37.7-7.6 51.3-21.3L391 327c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-19.7 19.7C382.6 403.3 352 416 320 416c-31.8 0-62.4-12.6-85-35l-23.7 23.7c-2.1 2.1-5 3.3-8 3.3c-6.2 0-11.3-5.1-11.3-11.3V320z\"]\n};\nvar faSprayCanSparkles = {\n prefix: 'fas',\n iconName: 'spray-can-sparkles',\n icon: [512, 512, [\"air-freshener\"], \"f5d0\", \"M96 32v96H224V32c0-17.7-14.3-32-32-32H128C110.3 0 96 14.3 96 32zm0 128c-53 0-96 43-96 96V464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V256c0-53-43-96-96-96H96zm64 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM384 48c0-1.4-1-3-2.2-3.6L352 32 339.6 2.2C339 1 337.4 0 336 0s-3 1-3.6 2.2L320 32 290.2 44.4C289 45 288 46.6 288 48c0 1.4 1 3 2.2 3.6L320 64l12.4 29.8C333 95 334.6 96 336 96s3-1 3.6-2.2L352 64l29.8-12.4C383 51 384 49.4 384 48zm76.4 45.8C461 95 462.6 96 464 96s3-1 3.6-2.2L480 64l29.8-12.4C511 51 512 49.4 512 48c0-1.4-1-3-2.2-3.6L480 32 467.6 2.2C467 1 465.4 0 464 0s-3 1-3.6 2.2L448 32 418.2 44.4C417 45 416 46.6 416 48c0 1.4 1 3 2.2 3.6L448 64l12.4 29.8zm7.2 100.4c-.6-1.2-2.2-2.2-3.6-2.2s-3 1-3.6 2.2L448 224l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L448 256l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L480 256l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6c0-1.4-1-3-2.2-3.6L480 224l-12.4-29.8zM448 144c0-1.4-1-3-2.2-3.6L416 128 403.6 98.2C403 97 401.4 96 400 96s-3 1-3.6 2.2L384 128l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L384 160l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L416 160l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6z\"]\n};\nvar faAirFreshener = faSprayCanSparkles;\nvar faStar = {\n prefix: 'fas',\n iconName: 'star',\n icon: [576, 512, [11088, 61446], \"f005\", \"M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z\"]\n};\nvar faRepeat = {\n prefix: 'fas',\n iconName: 'repeat',\n icon: [512, 512, [128257], \"f363\", \"M0 224c0 17.7 14.3 32 32 32s32-14.3 32-32c0-53 43-96 96-96H320v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9S320 19.1 320 32V64H160C71.6 64 0 135.6 0 224zm512 64c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 53-43 96-96 96H192V352c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V448H352c88.4 0 160-71.6 160-160z\"]\n};\nvar faCross = {\n prefix: 'fas',\n iconName: 'cross',\n icon: [384, 512, [128327, 10013], \"f654\", \"M176 0c-26.5 0-48 21.5-48 48v80H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h80V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V256h80c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H256V48c0-26.5-21.5-48-48-48H176z\"]\n};\nvar faBox = {\n prefix: 'fas',\n iconName: 'box',\n icon: [448, 512, [128230], \"f466\", \"M50.7 58.5L0 160H208V32H93.7C75.5 32 58.9 42.3 50.7 58.5zM240 160H448L397.3 58.5C389.1 42.3 372.5 32 354.3 32H240V160zm208 32H0V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192z\"]\n};\nvar faVenusMars = {\n prefix: 'fas',\n iconName: 'venus-mars',\n icon: [640, 512, [9892], \"f228\", \"M176 288a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM352 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H208v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H112c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1C62.1 334.1 0 262.3 0 176C0 78.8 78.8 0 176 0s176 78.8 176 176zM271.9 360.6c19.3-10.1 36.9-23.1 52.1-38.4c20 18.5 46.7 29.8 76.1 29.8c61.9 0 112-50.1 112-112s-50.1-112-112-112c-7.2 0-14.3 .7-21.1 2c-4.9-21.5-13-41.7-24-60.2C369.3 66 384.4 64 400 64c37 0 71.4 11.4 99.8 31l20.6-20.6L487 41c-6.9-6.9-8.9-17.2-5.2-26.2S494.3 0 504 0H616c13.3 0 24 10.7 24 24V136c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-33.4-33.4L545 140.2c19.5 28.4 31 62.7 31 99.8c0 97.2-78.8 176-176 176c-50.5 0-96-21.3-128.1-55.4z\"]\n};\nvar faArrowPointer = {\n prefix: 'fas',\n iconName: 'arrow-pointer',\n icon: [320, 512, [\"mouse-pointer\"], \"f245\", \"M0 55.2V426c0 12.2 9.9 22 22 22c6.3 0 12.4-2.7 16.6-7.5L121.2 346l58.1 116.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9L179.8 320H297.9c12.2 0 22.1-9.9 22.1-22.1c0-6.3-2.7-12.3-7.4-16.5L38.6 37.9C34.3 34.1 28.9 32 23.2 32C10.4 32 0 42.4 0 55.2z\"]\n};\nvar faMousePointer = faArrowPointer;\nvar faMaximize = {\n prefix: 'fas',\n iconName: 'maximize',\n icon: [512, 512, [\"expand-arrows-alt\"], \"f31e\", \"M200 32H56C42.7 32 32 42.7 32 56V200c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l40-40 79 79-79 79L73 295c-6.9-6.9-17.2-8.9-26.2-5.2S32 302.3 32 312V456c0 13.3 10.7 24 24 24H200c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-40-40 79-79 79 79-40 40c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H456c13.3 0 24-10.7 24-24V312c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2l-40 40-79-79 79-79 40 40c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H312c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l40 40-79 79-79-79 40-40c6.9-6.9 8.9-17.2 5.2-26.2S209.7 32 200 32z\"]\n};\nvar faExpandArrowsAlt = faMaximize;\nvar faChargingStation = {\n prefix: 'fas',\n iconName: 'charging-station',\n icon: [576, 512, [], \"f5e7\", \"M96 0C60.7 0 32 28.7 32 64V448c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32s-14.3-32-32-32V304h16c22.1 0 40 17.9 40 40v32c0 39.8 32.2 72 72 72s72-32.2 72-72V252.3c32.5-10.2 56-40.5 56-76.3V144c0-8.8-7.2-16-16-16H544V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H480V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16v32c0 35.8 23.5 66.1 56 76.3V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V344c0-48.6-39.4-88-88-88H320V64c0-35.3-28.7-64-64-64H96zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9H256c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9H96c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z\"]\n};\nvar faShapes = {\n prefix: 'fas',\n iconName: 'shapes',\n icon: [512, 512, [\"triangle-circle-square\"], \"f61f\", \"M315.4 15.5C309.7 5.9 299.2 0 288 0s-21.7 5.9-27.4 15.5l-96 160c-5.9 9.9-6.1 22.2-.4 32.2s16.3 16.2 27.8 16.2H384c11.5 0 22.2-6.2 27.8-16.2s5.5-22.3-.4-32.2l-96-160zM288 312V456c0 22.1 17.9 40 40 40H472c22.1 0 40-17.9 40-40V312c0-22.1-17.9-40-40-40H328c-22.1 0-40 17.9-40 40zM128 512a128 128 0 1 0 0-256 128 128 0 1 0 0 256z\"]\n};\nvar faTriangleCircleSquare = faShapes;\nvar faShuffle = {\n prefix: 'fas',\n iconName: 'shuffle',\n icon: [512, 512, [128256, \"random\"], \"f074\", \"M403.8 34.4c12-5 25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V160H352c-10.1 0-19.6 4.7-25.6 12.8L284 229.3 244 176l31.2-41.6C293.3 110.2 321.8 96 352 96h32V64c0-12.9 7.8-24.6 19.8-29.6zM164 282.7L204 336l-31.2 41.6C154.7 401.8 126.2 416 96 416H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96c10.1 0 19.6-4.7 25.6-12.8L164 282.7zm274.6 188c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V416H352c-30.2 0-58.7-14.2-76.8-38.4L121.6 172.8c-6-8.1-15.5-12.8-25.6-12.8H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96c30.2 0 58.7 14.2 76.8 38.4L326.4 339.2c6 8.1 15.5 12.8 25.6 12.8h32V320c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64z\"]\n};\nvar faRandom = faShuffle;\nvar faPersonRunning = {\n prefix: 'fas',\n iconName: 'person-running',\n icon: [448, 512, [127939, \"running\"], \"f70c\", \"M320 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM125.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5c1.9 0 3.8 .1 5.6 .3L137.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L238 299l30.9-82.4 5.1 12.3C289 264.7 323.9 288 362.7 288H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H362.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3L57.4 153.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM91.2 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h69.6c19 0 36.2-11.2 43.9-28.5L157 361.6l-9.5-6c-17.5-10.9-30.5-26.8-37.9-44.9L91.2 352z\"]\n};\nvar faRunning = faPersonRunning;\nvar faMobileRetro = {\n prefix: 'fas',\n iconName: 'mobile-retro',\n icon: [320, 512, [], \"e527\", \"M0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm64 96v64c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 352a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 48c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\"]\n};\nvar faGripLinesVertical = {\n prefix: 'fas',\n iconName: 'grip-lines-vertical',\n icon: [192, 512, [], \"f7a5\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64zm128 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64z\"]\n};\nvar faSpider = {\n prefix: 'fas',\n iconName: 'spider',\n icon: [512, 512, [128375], \"f717\", \"M158.4 32.6c4.8-12.4-1.4-26.3-13.8-31s-26.3 1.4-31 13.8L81.1 100c-7.9 20.7-3 44.1 12.7 59.7l57.4 57.4L70.8 190.3c-2.4-.8-4.3-2.7-5.1-5.1L46.8 128.4C42.6 115.8 29 109 16.4 113.2S-3 131 1.2 143.6l18.9 56.8c5.6 16.7 18.7 29.8 35.4 35.4L116.1 256 55.6 276.2c-16.7 5.6-29.8 18.7-35.4 35.4L1.2 368.4C-3 381 3.8 394.6 16.4 398.8s26.2-2.6 30.4-15.2l18.9-56.8c.8-2.4 2.7-4.3 5.1-5.1l80.4-26.8L93.7 352.3C78.1 368 73.1 391.4 81.1 412l32.5 84.6c4.8 12.4 18.6 18.5 31 13.8s18.5-18.6 13.8-31l-32.5-84.6c-1.1-3-.4-6.3 1.8-8.5L160 353.9c1 52.1 43.6 94.1 96 94.1s95-41.9 96-94.1l32.3 32.3c2.2 2.2 2.9 5.6 1.8 8.5l-32.5 84.6c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8L430.9 412c7.9-20.7 3-44.1-12.7-59.7l-57.4-57.4 80.4 26.8c2.4 .8 4.3 2.7 5.1 5.1l18.9 56.8c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-18.9-56.8c-5.6-16.7-18.7-29.8-35.4-35.4L395.9 256l60.5-20.2c16.7-5.6 29.8-18.7 35.4-35.4l18.9-56.8c4.2-12.6-2.6-26.2-15.2-30.4s-26.2 2.6-30.4 15.2l-18.9 56.8c-.8 2.4-2.7 4.3-5.1 5.1l-80.4 26.8 57.4-57.4c15.6-15.6 20.6-39 12.7-59.7L398.4 15.4C393.6 3 379.8-3.2 367.4 1.6s-18.5 18.6-13.8 31l32.5 84.6c1.1 3 .4 6.3-1.8 8.5L336 174.1V160c0-31.8-18.6-59.3-45.5-72.2c-9.1-4.4-18.5 3.3-18.5 13.4V112c0 8.8-7.2 16-16 16s-16-7.2-16-16V101.2c0-10.1-9.4-17.7-18.5-13.4C194.6 100.7 176 128.2 176 160v14.1l-48.3-48.3c-2.2-2.2-2.9-5.6-1.8-8.5l32.5-84.6z\"]\n};\nvar faHandsBound = {\n prefix: 'fas',\n iconName: 'hands-bound',\n icon: [640, 512, [], \"e4f9\", \"M96 32C96 14.3 81.7 0 64 0S32 14.3 32 32V96v59.1 .7V192v21.9c0 14.2 5.1 27.9 14.3 38.7L131.6 352H128c-13.3 0-24 10.7-24 24s10.7 24 24 24h32H288h64H480h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-3.6l85.3-99.5c9.2-10.8 14.3-24.5 14.3-38.7V192 155.8v-.7V96 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V96v48.8l-69.3 92.4c-5.7 7.6-16.1 9.6-24.2 4.8c-9.7-5.7-12.1-18.7-5.1-27.5L473 180c10.8-13.5 8.9-33.3-4.4-44.5s-33-9.8-44.5 3.2l-46.7 52.5C361 209.7 352 233.4 352 258.1V320v32H288V320 258.1c0-24.6-9-48.4-25.4-66.8l-46.7-52.5c-11.5-13-31.3-14.4-44.5-3.2s-15.2 30.9-4.4 44.5l27.6 34.5c7 8.8 4.7 21.8-5.1 27.5c-8.1 4.8-18.6 2.7-24.2-4.8L96 144.8V96 32zm64 448v32H288V480h64v32H480V480h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H480 352 288 160 128c-13.3 0-24 10.7-24 24s10.7 24 24 24h32z\"]\n};\nvar faFileInvoiceDollar = {\n prefix: 'fas',\n iconName: 'file-invoice-dollar',\n icon: [384, 512, [], \"f571\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm128 72c8.8 0 16 7.2 16 16v17.3c8.5 1.2 16.7 3.1 24.1 5.1c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-11.1-3-22-5.2-32.1-5.3c-8.4-.1-17.4 1.8-23.6 5.5c-5.7 3.4-8.1 7.3-8.1 12.8c0 3.7 1.3 6.5 7.3 10.1c6.9 4.1 16.6 7.1 29.2 10.9l.5 .1 0 0 0 0c11.3 3.4 25.3 7.6 36.3 14.6c12.1 7.6 22.4 19.7 22.7 38.2c.3 19.3-9.6 33.3-22.9 41.6c-7.7 4.8-16.4 7.6-25.1 9.1V440c0 8.8-7.2 16-16 16s-16-7.2-16-16V422.2c-11.2-2.1-21.7-5.7-30.9-8.9l0 0c-2.1-.7-4.2-1.4-6.2-2.1c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c2.5 .8 4.8 1.6 7.1 2.4l0 0 0 0 0 0c13.6 4.6 24.6 8.4 36.3 8.7c9.1 .3 17.9-1.7 23.7-5.3c5.1-3.2 7.9-7.3 7.8-14c-.1-4.6-1.8-7.8-7.7-11.6c-6.8-4.3-16.5-7.4-29-11.2l-1.6-.5 0 0c-11-3.3-24.3-7.3-34.8-13.7c-12-7.2-22.6-18.9-22.7-37.3c-.1-19.4 10.8-32.8 23.8-40.5c7.5-4.4 15.8-7.2 24.1-8.7V232c0-8.8 7.2-16 16-16z\"]\n};\nvar faPlaneCircleExclamation = {\n prefix: 'fas',\n iconName: 'plane-circle-exclamation',\n icon: [640, 512, [], \"e556\", \"M256 0c-35 0-64 59.5-64 93.7v84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9v65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3V93.7C320 59.5 292 0 256 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faXRay = {\n prefix: 'fas',\n iconName: 'x-ray',\n icon: [512, 512, [], \"f497\", \"M0 64C0 46.3 14.3 32 32 32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32V416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V96C14.3 96 0 81.7 0 64zM256 96c-8.8 0-16 7.2-16 16v32H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v48H128c-8.8 0-16 7.2-16 16s7.2 16 16 16H240v70.6L189.1 307c-5.2-2-10.6-3-16.2-3h-2.1c-23.6 0-42.8 19.2-42.8 42.8c0 9.6 3.2 18.9 9.1 26.4l18.2 23.2c9.7 12.4 24.6 19.6 40.3 19.6H316.4c15.7 0 30.6-7.2 40.3-19.6l18.2-23.2c5.9-7.5 9.1-16.8 9.1-26.4c0-23.6-19.2-42.8-42.8-42.8H339c-5.5 0-11 1-16.2 3L272 326.6V256H384c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V176h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V112c0-8.8-7.2-16-16-16zM208 352a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm80 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faSpellCheck = {\n prefix: 'fas',\n iconName: 'spell-check',\n icon: [576, 512, [], \"f891\", \"M112 0C99.1 0 87.4 7.8 82.5 19.7l-66.7 160-13.3 32c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L66.7 224h90.7l5.1 12.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8l-13.3-32-66.7-160C136.6 7.8 124.9 0 112 0zm18.7 160H93.3L112 115.2 130.7 160zM256 32v96 96c0 17.7 14.3 32 32 32h80c44.2 0 80-35.8 80-80c0-23.1-9.8-43.8-25.4-58.4c6-11.2 9.4-24 9.4-37.6c0-44.2-35.8-80-80-80H288c-17.7 0-32 14.3-32 32zm96 64H320V64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-32 64h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320V160zM566.6 310.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L352 434.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l192-192z\"]\n};\nvar faSlash = {\n prefix: 'fas',\n iconName: 'slash',\n icon: [640, 512, [], \"f715\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]\n};\nvar faComputerMouse = {\n prefix: 'fas',\n iconName: 'computer-mouse',\n icon: [384, 512, [128433, \"mouse\"], \"f8cc\", \"M0 192H176V0H160C71.6 0 0 71.6 0 160v32zm0 32V352c0 88.4 71.6 160 160 160h64c88.4 0 160-71.6 160-160V224H192 0zm384-32V160C384 71.6 312.4 0 224 0H208V192H384z\"]\n};\nvar faMouse = faComputerMouse;\nvar faArrowRightToBracket = {\n prefix: 'fas',\n iconName: 'arrow-right-to-bracket',\n icon: [512, 512, [\"sign-in\"], \"f090\", \"M352 96l64 0c17.7 0 32 14.3 32 32l0 256c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c53 0 96-43 96-96l0-256c0-53-43-96-96-96l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm-9.4 182.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L242.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"]\n};\nvar faSignIn = faArrowRightToBracket;\nvar faShopSlash = {\n prefix: 'fas',\n iconName: 'shop-slash',\n icon: [640, 512, [\"store-alt-slash\"], \"e070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-54.8-43V224H512V376L384 275.7V224H320v1.5L277.2 192H603.2c20.3 0 36.8-16.5 36.8-36.8c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L74.1 32.8 38.8 5.1zM36.8 192h85L21 112.5 6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM320 384H128V224H64V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V398.5l-64-50.4V384z\"]\n};\nvar faStoreAltSlash = faShopSlash;\nvar faServer = {\n prefix: 'fas',\n iconName: 'server',\n icon: [512, 512, [], \"f233\", \"M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faVirusCovidSlash = {\n prefix: 'fas',\n iconName: 'virus-covid-slash',\n icon: [640, 512, [], \"e4a9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c11.4-19.5 19.1-41.4 22.3-64.7H528v16c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H494.4c-4.2-30.7-16.3-58.8-34.1-82.3L484 125.9l11.3 11.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L472.7 46.7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L450.1 92l-23.8 23.8C402.8 97.9 374.7 85.8 344 81.6V48h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h16V81.6c-30.7 4.2-58.8 16.3-82.3 34.1L189.9 92l11.3-11.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L134.1 79.8 38.8 5.1zM149.2 213.5c-1.5 6-2.7 12.2-3.5 18.5H112V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V280h33.6c4.2 30.7 16.3 58.8 34.1 82.3L156 386.1l-11.3-11.3c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56.6 56.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L189.9 420l23.8-23.8c23.5 17.9 51.7 29.9 82.3 34.1V464H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2L149.2 213.5z\"]\n};\nvar faShopLock = {\n prefix: 'fas',\n iconName: 'shop-lock',\n icon: [640, 512, [], \"e4a5\", \"M36.8 192H449.6c20.2-19.8 47.9-32 78.4-32c30.5 0 58.1 12.2 78.3 31.9c18.9-1.6 33.7-17.4 33.7-36.7c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM384 224H320V384H128V224H64V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V384 352 224zm144 16c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faHourglassStart = {\n prefix: 'fas',\n iconName: 'hourglass-start',\n icon: [384, 512, [\"hourglass-1\"], \"f251\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437v11c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 64 32zM288 437v11H96V437c0-25.5 10.1-49.9 28.1-67.9L192 301.3l67.9 67.9c18 18 28.1 42.4 28.1 67.9z\"]\n};\nvar faHourglass1 = faHourglassStart;\nvar faBlenderPhone = {\n prefix: 'fas',\n iconName: 'blender-phone',\n icon: [576, 512, [], \"f6b6\", \"M224 352L196.8 52.3C194.2 24.2 216.3 0 244.6 0H534.1c21.1 0 36.4 20.1 30.9 40.4L558.5 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H549.8l-17.5 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H523.6l-17.5 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h97.5L480 352H224zm-16 32H496c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V432c0-26.5 21.5-48 48-48zm144 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM147.5 30.7c10.8 6.7 15.3 21 10.6 33.4l-22 57.8c-4.2 10.9-14.5 17.6-25.3 16.4l-33.3-3.6c-13.6 42.2-13.6 88.4 0 130.7l33.3-3.6c10.9-1.2 21.2 5.5 25.3 16.4l22 57.8c4.7 12.4 .2 26.7-10.6 33.4l-44 27.2c-9.7 6-21.9 4.2-29.8-4.3C-24.6 286-24.6 114 73.7 7.8C81.6-.7 93.8-2.5 103.5 3.5l44 27.2z\"]\n};\nvar faBuildingWheat = {\n prefix: 'fas',\n iconName: 'building-wheat',\n icon: [640, 512, [], \"e4db\", \"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zm384 80v16c0 44.2-35.8 80-80 80H544V272c0-44.2 35.8-80 80-80h16zm0 128c0 44.2-35.8 80-80 80H544V384c0-44.2 35.8-80 80-80h16v16zm0 112c0 44.2-35.8 80-80 80H544V496c0-44.2 35.8-80 80-80h16v16zM512 496v16H496c-44.2 0-80-35.8-80-80V416h16c44.2 0 80 35.8 80 80zm0-96H496c-44.2 0-80-35.8-80-80V304h16c44.2 0 80 35.8 80 80v16zm0-128v16H496c-44.2 0-80-35.8-80-80V192h16c44.2 0 80 35.8 80 80zM528 32c13.3 0 24 10.7 24 24V160c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-13.3 10.7-24 24-24zm96 64v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V96c0-13.3 10.7-24 24-24s24 10.7 24 24zM456 72c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V96c0-13.3 10.7-24 24-24z\"]\n};\nvar faPersonBreastfeeding = {\n prefix: 'fas',\n iconName: 'person-breastfeeding',\n icon: [448, 512, [], \"e53a\", \"M224 0a80 80 0 1 1 0 160A80 80 0 1 1 224 0zM436.8 382.8L373.5 462c-16.6 20.7-46.8 24.1-67.5 7.5c-17.6-14.1-22.7-38.1-13.5-57.7l-.8-.1c-38.9-5.6-74.3-25.1-99.7-54.8V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 .8 0 1.6 .1 2.4l101.4 50.7c23.7 11.9 33.3 40.7 21.5 64.4s-40.7 33.3-64.4 21.5L27.2 427.3c-1.1-.5-2.2-1.1-3.3-1.7c-4.9-2.8-9.2-6.4-12.6-10.6c-4.6-5.4-7.8-11.7-9.6-18.4c-3.3-12-1.9-25.2 4.8-36.6c.6-1.1 1.3-2.2 2-3.2L75.6 256.1c26.7-40.1 71.7-64.1 119.8-64.1h75.2c46.5 0 90.1 22.5 117.2 60.3l50.7 70.9c2.2 3 4 6.1 5.5 9.4c2.9 6.7 4.3 13.8 4 20.8c-.3 10.6-4.2 21-11.2 29.4zM320 332a44 44 0 1 0 -88 0 44 44 0 1 0 88 0z\"]\n};\nvar faRightToBracket = {\n prefix: 'fas',\n iconName: 'right-to-bracket',\n icon: [512, 512, [\"sign-in-alt\"], \"f2f6\", \"M217.9 105.9L340.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L217.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1L32 320c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM352 416l64 0c17.7 0 32-14.3 32-32l0-256c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c53 0 96 43 96 96l0 256c0 53-43 96-96 96l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faSignInAlt = faRightToBracket;\nvar faVenus = {\n prefix: 'fas',\n iconName: 'venus',\n icon: [384, 512, [9792], \"f221\", \"M80 176a112 112 0 1 1 224 0A112 112 0 1 1 80 176zM224 349.1c81.9-15 144-86.8 144-173.1C368 78.8 289.2 0 192 0S16 78.8 16 176c0 86.3 62.1 158.1 144 173.1V384H128c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H224V349.1z\"]\n};\nvar faPassport = {\n prefix: 'fas',\n iconName: 'passport',\n icon: [448, 512, [], \"f5ab\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM183 278.8c-27.9-13.2-48.4-39.4-53.7-70.8h39.1c1.6 30.4 7.7 53.8 14.6 70.8zm41.3 9.2l-.3 0-.3 0c-2.4-3.5-5.7-8.9-9.1-16.5c-6-13.6-12.4-34.3-14.2-63.5h47.1c-1.8 29.2-8.1 49.9-14.2 63.5c-3.4 7.6-6.7 13-9.1 16.5zm40.7-9.2c6.8-17.1 12.9-40.4 14.6-70.8h39.1c-5.3 31.4-25.8 57.6-53.7 70.8zM279.6 176c-1.6-30.4-7.7-53.8-14.6-70.8c27.9 13.2 48.4 39.4 53.7 70.8H279.6zM223.7 96l.3 0 .3 0c2.4 3.5 5.7 8.9 9.1 16.5c6 13.6 12.4 34.3 14.2 63.5H200.5c1.8-29.2 8.1-49.9 14.2-63.5c3.4-7.6 6.7-13 9.1-16.5zM183 105.2c-6.8 17.1-12.9 40.4-14.6 70.8H129.3c5.3-31.4 25.8-57.6 53.7-70.8zM352 192A128 128 0 1 0 96 192a128 128 0 1 0 256 0zM112 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faHeartPulse = {\n prefix: 'fas',\n iconName: 'heart-pulse',\n icon: [512, 512, [\"heartbeat\"], \"f21e\", \"M228.3 469.1L47.6 300.4c-4.2-3.9-8.2-8.1-11.9-12.4h87c22.6 0 43-13.6 51.7-34.5l10.5-25.2 49.3 109.5c3.8 8.5 12.1 14 21.4 14.1s17.8-5 22-13.3L320 253.7l1.7 3.4c9.5 19 28.9 31 50.1 31H476.3c-3.7 4.3-7.7 8.5-11.9 12.4L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9zM503.7 240h-132c-3 0-5.8-1.7-7.2-4.4l-23.2-46.3c-4.1-8.1-12.4-13.3-21.5-13.3s-17.4 5.1-21.5 13.3l-41.4 82.8L205.9 158.2c-3.9-8.7-12.7-14.3-22.2-14.1s-18.1 5.9-21.8 14.8l-31.8 76.3c-1.2 3-4.2 4.9-7.4 4.9H16c-2.6 0-5 .4-7.3 1.1C3 225.2 0 208.2 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141C165 36.5 211.4 51.4 244 84l12 12 12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1v5.8c0 16.9-2.8 33.5-8.3 49.1z\"]\n};\nvar faHeartbeat = faHeartPulse;\nvar faPeopleCarryBox = {\n prefix: 'fas',\n iconName: 'people-carry-box',\n icon: [640, 512, [\"people-carry\"], \"f4ce\", \"M80 48a48 48 0 1 1 96 0A48 48 0 1 1 80 48zm64 193.7v65.1l51 51c7.1 7.1 11.8 16.2 13.4 26.1l15.2 90.9c2.9 17.4-8.9 33.9-26.3 36.8s-33.9-8.9-36.8-26.3l-14.3-85.9L66.8 320C54.8 308 48 291.7 48 274.7V186.6c0-32.4 26.2-58.6 58.6-58.6c24.1 0 46.5 12 59.9 32l47.4 71.1 10.1 5V160c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32v76.2l10.1-5L473.5 160c13.3-20 35.8-32 59.9-32c32.4 0 58.6 26.2 58.6 58.6v88.1c0 17-6.7 33.3-18.7 45.3l-79.4 79.4-14.3 85.9c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l15.2-90.9c1.6-9.9 6.3-19 13.4-26.1l51-51V241.7l-19 28.5c-4.6 7-11 12.6-18.5 16.3l-59.6 29.8c-2.4 1.3-4.9 2.2-7.6 2.8c-2.6 .6-5.3 .9-7.9 .8H256.7c-2.5 .1-5-.2-7.5-.7c-2.9-.6-5.6-1.6-8.1-3l-59.5-29.8c-7.5-3.7-13.8-9.4-18.5-16.3l-19-28.5zM2.3 468.1L50.1 348.6l49.2 49.2-37.6 94c-6.6 16.4-25.2 24.4-41.6 17.8S-4.3 484.5 2.3 468.1zM512 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm77.9 348.6l47.8 119.5c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8l-37.6-94 49.2-49.2z\"]\n};\nvar faPeopleCarry = faPeopleCarryBox;\nvar faTemperatureHigh = {\n prefix: 'fas',\n iconName: 'temperature-high',\n icon: [512, 512, [], \"f769\", \"M416 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 128A96 96 0 1 0 416 0a96 96 0 1 0 0 192zM96 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C217.8 332.6 224 349.5 224 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9C88.9 308.4 96 293.8 96 276.5V112zM144 0C82.1 0 32 50.2 32 112V276.5c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C11.2 304.2 0 334.8 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C256 50.2 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48z\"]\n};\nvar faMicrochip = {\n prefix: 'fas',\n iconName: 'microchip',\n icon: [512, 512, [], \"f2db\", \"M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64c-35.3 0-64 28.7-64 64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64c0 35.3 28.7 64 64 64v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448c35.3 0 64-28.7 64-64h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V280h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V176h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448c0-35.3-28.7-64-64-64V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H280V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H176V24zM160 128H352c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm192 32H160V352H352V160z\"]\n};\nvar faCrown = {\n prefix: 'fas',\n iconName: 'crown',\n icon: [576, 512, [128081], \"f521\", \"M309 106c11.4-7 19-19.7 19-34c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 14.4 7.6 27 19 34L209.7 220.6c-9.1 18.2-32.7 23.4-48.6 10.7L72 160c5-6.7 8-15 8-24c0-22.1-17.9-40-40-40S0 113.9 0 136s17.9 40 40 40c.2 0 .5 0 .7 0L86.4 427.4c5.5 30.4 32 52.6 63 52.6H426.6c30.9 0 57.4-22.1 63-52.6L535.3 176c.2 0 .5 0 .7 0c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40c0 9 3 17.3 8 24l-89.1 71.3c-15.9 12.7-39.5 7.5-48.6-10.7L309 106z\"]\n};\nvar faWeightHanging = {\n prefix: 'fas',\n iconName: 'weight-hanging',\n icon: [512, 512, [], \"f5cd\", \"M224 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm122.5 32c3.5-10 5.5-20.8 5.5-32c0-53-43-96-96-96s-96 43-96 96c0 11.2 1.9 22 5.5 32H120c-22 0-41.2 15-46.6 36.4l-72 288c-3.6 14.3-.4 29.5 8.7 41.2S33.2 512 48 512H464c14.8 0 28.7-6.8 37.8-18.5s12.3-26.8 8.7-41.2l-72-288C433.2 143 414 128 392 128H346.5z\"]\n};\nvar faXmarksLines = {\n prefix: 'fas',\n iconName: 'xmarks-lines',\n icon: [640, 512, [], \"e59a\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM7 167c-9.4 9.4-9.4 24.6 0 33.9l55 55L7 311c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55L41 167c-9.4-9.4-24.6-9.4-33.9 0zM265 167c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55zM455 167c-9.4 9.4-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faFilePrescription = {\n prefix: 'fas',\n iconName: 'file-prescription',\n icon: [384, 512, [], \"f572\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM104 196h72c33.1 0 60 26.9 60 60c0 25.5-15.9 47.2-38.3 55.9l43 40.3 33.8-31c8.1-7.5 20.8-6.9 28.3 1.2s6.9 20.8-1.2 28.3L270 379.7l31.7 29.7c8.1 7.6 8.5 20.2 .9 28.3s-20.2 8.5-28.3 .9l-33.9-31.8-34.9 32c-8.1 7.5-20.8 6.9-28.3-1.2s-6.9-20.8 1.2-28.3l32.6-29.9-64.8-60.8c-.9-.8-1.6-1.7-2.3-2.6H124v44c0 11-9 20-20 20s-20-9-20-20V296 216c0-11 9-20 20-20zm72 80c11 0 20-9 20-20s-9-20-20-20H124v40h52z\"]\n};\nvar faWeightScale = {\n prefix: 'fas',\n iconName: 'weight-scale',\n icon: [512, 512, [\"weight\"], \"f496\", \"M128 176a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zM391.8 64C359.5 24.9 310.7 0 256 0S152.5 24.9 120.2 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H391.8zM296 224c0-10.6-4.1-20.2-10.9-27.4l33.6-78.3c3.5-8.1-.3-17.5-8.4-21s-17.5 .3-21 8.4L255.7 184c-22 .1-39.7 18-39.7 40c0 22.1 17.9 40 40 40s40-17.9 40-40z\"]\n};\nvar faWeight = faWeightScale;\nvar faUserGroup = {\n prefix: 'fas',\n iconName: 'user-group',\n icon: [640, 512, [128101, \"user-friends\"], \"f500\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7zM432 256c-31 0-59-12.6-79.3-32.9C372.4 196.5 384 163.6 384 128c0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112z\"]\n};\nvar faUserFriends = faUserGroup;\nvar faArrowUpAZ = {\n prefix: 'fas',\n iconName: 'arrow-up-a-z',\n icon: [576, 512, [\"sort-alpha-up\"], \"f15e\", \"M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L128 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 320c0 17.7 14.3 32 32 32h50.7l-73.4 73.4c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H429.3l73.4-73.4c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H352c-17.7 0-32 14.3-32 32zM416 32c-12.1 0-23.2 6.8-28.6 17.7l-64 128-16 32c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3h88.4l7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-16-32-64-128C439.2 38.8 428.1 32 416 32zM395.8 176L416 135.6 436.2 176H395.8z\"]\n};\nvar faSortAlphaUp = faArrowUpAZ;\nvar faChessKnight = {\n prefix: 'fas',\n iconName: 'chess-knight',\n icon: [448, 512, [9822], \"f441\", \"M96 48L82.7 61.3C70.7 73.3 64 89.5 64 106.5V238.9c0 10.7 5.3 20.7 14.2 26.6l10.6 7c14.3 9.6 32.7 10.7 48.1 3l3.2-1.6c2.6-1.3 5-2.8 7.3-4.5l49.4-37c6.6-5 15.7-5 22.3 0c10.2 7.7 9.9 23.1-.7 30.3L90.4 350C73.9 361.3 64 380 64 400H384l28.9-159c2.1-11.3 3.1-22.8 3.1-34.3V192C416 86 330 0 224 0H83.8C72.9 0 64 8.9 64 19.8c0 7.5 4.2 14.3 10.9 17.7L96 48zm24 68a20 20 0 1 1 40 0 20 20 0 1 1 -40 0zM22.6 473.4c-4.2 4.2-6.6 10-6.6 16C16 501.9 26.1 512 38.6 512H409.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L384 432H64L22.6 473.4z\"]\n};\nvar faFaceLaughSquint = {\n prefix: 'fas',\n iconName: 'face-laugh-squint',\n icon: [512, 512, [\"laugh-squint\"], \"f59b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zm36.7-199.4l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 125.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faLaughSquint = faFaceLaughSquint;\nvar faWheelchair = {\n prefix: 'fas',\n iconName: 'wheelchair',\n icon: [512, 512, [], \"f193\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM120.5 247.2c12.4-4.7 18.7-18.5 14-30.9s-18.5-18.7-30.9-14C43.1 225.1 0 283.5 0 352c0 88.4 71.6 160 160 160c61.2 0 114.3-34.3 141.2-84.7c6.2-11.7 1.8-26.2-9.9-32.5s-26.2-1.8-32.5 9.9C240 440 202.8 464 160 464C98.1 464 48 413.9 48 352c0-47.9 30.1-88.8 72.5-104.8zM259.8 176l-1.9-9.7c-4.5-22.3-24-38.3-46.8-38.3c-30.1 0-52.7 27.5-46.8 57l23.1 115.5c6 29.9 32.2 51.4 62.8 51.4h5.1c.4 0 .8 0 1.3 0h94.1c6.7 0 12.6 4.1 15 10.4L402 459.2c6 16.1 23.8 24.6 40.1 19.1l48-16c16.8-5.6 25.8-23.7 20.2-40.5s-23.7-25.8-40.5-20.2l-18.7 6.2-25.5-68c-11.7-31.2-41.6-51.9-74.9-51.9H282.2l-9.6-48H336c17.7 0 32-14.3 32-32s-14.3-32-32-32H259.8z\"]\n};\nvar faCircleArrowUp = {\n prefix: 'fas',\n iconName: 'circle-arrow-up',\n icon: [512, 512, [\"arrow-circle-up\"], \"f0aa\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM385 231c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-71-71V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V193.9l-71 71c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 119c9.4-9.4 24.6-9.4 33.9 0L385 231z\"]\n};\nvar faArrowCircleUp = faCircleArrowUp;\nvar faToggleOn = {\n prefix: 'fas',\n iconName: 'toggle-on',\n icon: [576, 512, [], \"f205\", \"M192 64C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192s-86-192-192-192H192zm192 96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faPersonWalking = {\n prefix: 'fas',\n iconName: 'person-walking',\n icon: [320, 512, [128694, \"walking\"], \"f554\", \"M160 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM126.5 199.3c-1 .4-1.9 .8-2.9 1.2l-8 3.5c-16.4 7.3-29 21.2-34.7 38.2l-2.6 7.8c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l2.6-7.8c11.4-34.1 36.6-61.9 69.4-76.5l8-3.5c20.8-9.2 43.3-14 66.1-14c44.6 0 84.8 26.8 101.9 67.9L281 232.7l21.4 10.7c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L247 287.3c-10.3-5.2-18.4-13.8-22.8-24.5l-9.6-23-19.3 65.5 49.5 54c5.4 5.9 9.2 13 11.2 20.8l23 92.1c4.3 17.1-6.1 34.5-23.3 38.8s-34.5-6.1-38.8-23.3l-22-88.1-70.7-77.1c-14.8-16.1-20.3-38.6-14.7-59.7l16.9-63.5zM68.7 398l25-62.4c2.1 3 4.5 5.8 7 8.6l40.7 44.4-14.5 36.2c-2.4 6-6 11.5-10.6 16.1L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L68.7 398z\"]\n};\nvar faWalking = faPersonWalking;\nvar faL = {\n prefix: 'fas',\n iconName: 'l',\n icon: [320, 512, [108], \"4c\", \"M64 32c17.7 0 32 14.3 32 32V416H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faFire = {\n prefix: 'fas',\n iconName: 'fire',\n icon: [448, 512, [128293], \"f06d\", \"M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z\"]\n};\nvar faBedPulse = {\n prefix: 'fas',\n iconName: 'bed-pulse',\n icon: [640, 512, [\"procedures\"], \"f487\", \"M483.2 9.6L524 64h92c13.3 0 24 10.7 24 24s-10.7 24-24 24H512c-7.6 0-14.7-3.6-19.2-9.6L468.7 70.3l-47 99.9c-3.7 7.8-11.3 13.1-19.9 13.7s-16.9-3.4-21.7-10.6L339.2 112H216c-13.3 0-24-10.7-24-24s10.7-24 24-24H352c8 0 15.5 4 20 10.7l24.4 36.6 45.9-97.5C445.9 6.2 453.2 1 461.6 .1s16.6 2.7 21.6 9.5zM320 160h12.7l20.7 31.1c11.2 16.8 30.6 26.3 50.7 24.8s37.9-13.7 46.5-32L461.9 160H544c53 0 96 43 96 96V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H352 320 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 78.3 14.3 64 32 64s32 14.3 32 32V352H288V192c0-17.7 14.3-32 32-32zm-144 0a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faProcedures = faBedPulse;\nvar faShuttleSpace = {\n prefix: 'fas',\n iconName: 'shuttle-space',\n icon: [640, 512, [\"space-shuttle\"], \"f197\", \"M130 480c40.6 0 80.4-11 115.2-31.9L352 384l-224 0 0 96h2zM352 128L245.2 63.9C210.4 43 170.6 32 130 32h-2v96l224 0zM96 128l0-96H80C53.5 32 32 53.5 32 80v48h8c-22.1 0-40 17.9-40 40v16V328v16c0 22.1 17.9 40 40 40H32v48c0 26.5 21.5 48 48 48H96l0-96h8c26.2 0 49.4-12.6 64-32H456c69.3 0 135-22.7 179.2-81.6c6.4-8.5 6.4-20.3 0-28.8C591 182.7 525.3 160 456 160H168c-14.6-19.4-37.8-32-64-32l-8 0zM512 243.6v24.9c0 19.6-15.9 35.6-35.6 35.6c-2.5 0-4.4-2-4.4-4.4V212.4c0-2.5 2-4.4 4.4-4.4c19.6 0 35.6 15.9 35.6 35.6z\"]\n};\nvar faSpaceShuttle = faShuttleSpace;\nvar faFaceLaugh = {\n prefix: 'fas',\n iconName: 'face-laugh',\n icon: [512, 512, [\"laugh\"], \"f599\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faLaugh = faFaceLaugh;\nvar faFolderOpen = {\n prefix: 'fas',\n iconName: 'folder-open',\n icon: [576, 512, [128194, 128449, 61717], \"f07c\", \"M88.7 223.8L0 375.8V96C0 60.7 28.7 32 64 32H181.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7H416c35.3 0 64 28.7 64 64v32H144c-22.8 0-43.8 12.1-55.3 31.8zm27.6 16.1C122.1 230 132.6 224 144 224H544c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480H32c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2 .1-32.1l112-192z\"]\n};\nvar faHeartCirclePlus = {\n prefix: 'fas',\n iconName: 'heart-circle-plus',\n icon: [576, 512, [], \"e500\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCodeFork = {\n prefix: 'fas',\n iconName: 'code-fork',\n icon: [448, 512, [], \"e13b\", \"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3V192c0 17.7 14.3 32 32 32H304c17.7 0 32-14.3 32-32V153.3C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V192c0 53-43 96-96 96H256v70.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V288H144c-53 0-96-43-96-96V153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm208 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM248 432a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCity = {\n prefix: 'fas',\n iconName: 'city',\n icon: [640, 512, [127961], \"f64f\", \"M480 48c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48V96H224V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V96H112V24c0-13.3-10.7-24-24-24S64 10.7 64 24V96H48C21.5 96 0 117.5 0 144v96V464c0 26.5 21.5 48 48 48H304h32 96H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H480V48zm96 320v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM240 416H208c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zM128 400c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zM560 256c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32zM256 176v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM112 160c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32zM256 304c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zM112 320H80c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zm304-48v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM400 64c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h32zm16 112v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z\"]\n};\nvar faMicrophoneLines = {\n prefix: 'fas',\n iconName: 'microphone-lines',\n icon: [384, 512, [127897, \"microphone-alt\"], \"f3c9\", \"M96 96V256c0 53 43 96 96 96s96-43 96-96H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V192H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V128H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c0-53-43-96-96-96S96 43 96 96zM320 240v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v24z\"]\n};\nvar faMicrophoneAlt = faMicrophoneLines;\nvar faPepperHot = {\n prefix: 'fas',\n iconName: 'pepper-hot',\n icon: [512, 512, [127798], \"f816\", \"M428.3 3c11.6-6.4 26.2-2.3 32.6 9.3l4.8 8.7c19.3 34.7 19.8 75.7 3.4 110C495.8 159.6 512 197.9 512 240c0 18.5-3.1 36.3-8.9 52.8c-6.1 17.3-28.5 16.3-36.8-.1l-11.7-23.4c-4.1-8.1-12.4-13.3-21.5-13.3H360c-13.3 0-24-10.7-24-24V152c0-13.3-10.7-24-24-24l-17.1 0c-21.3 0-30-23.9-10.8-32.9C304.7 85.4 327.7 80 352 80c28.3 0 54.8 7.3 77.8 20.2c5.5-18.2 3.7-38.4-6-55.8L419 35.7c-6.4-11.6-2.3-26.2 9.3-32.6zM171.2 345.5L264 160l40 0v80c0 26.5 21.5 48 48 48h76.2l23.9 47.8C372.3 443.9 244.3 512 103.2 512H44.4C19.9 512 0 492.1 0 467.6c0-20.8 14.5-38.8 34.8-43.3l49.8-11.1c37.6-8.4 69.5-33.2 86.7-67.7z\"]\n};\nvar faUnlock = {\n prefix: 'fas',\n iconName: 'unlock',\n icon: [448, 512, [128275], \"f09c\", \"M144 144c0-44.2 35.8-80 80-80c31.9 0 59.4 18.6 72.3 45.7c7.6 16 26.7 22.8 42.6 15.2s22.8-26.7 15.2-42.6C331 33.7 281.5 0 224 0C144.5 0 80 64.5 80 144v48H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H144V144z\"]\n};\nvar faColonSign = {\n prefix: 'fas',\n iconName: 'colon-sign',\n icon: [384, 512, [], \"e140\", \"M255 39.8c4.3-17.1-6.1-34.5-23.3-38.8S197.2 7.1 193 24.2L181.9 68.6C96.1 87.8 32 164.4 32 256c0 58.1 25.8 110.2 66.7 145.4L81 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l13-52.1c9 3.4 18.4 6.2 28 8.2L177 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l10.4-41.4c33.4-4.4 64.1-17.4 89.8-36.7c14.1-10.6 17-30.7 6.4-44.8s-30.7-17-44.8-6.4c-10.2 7.7-21.7 13.9-34 18.3L321 160c9.4-.3 18.5-4.7 24.6-12.8c10.6-14.1 7.8-34.2-6.4-44.8c-1.1-.8-2.2-1.6-3.3-2.4L351 39.8c4.3-17.1-6.1-34.5-23.3-38.8S293.2 7.1 289 24.2L277.2 71.5c-9.3-2.7-18.8-4.6-28.6-5.9L255 39.8zM163.2 143.3L117.3 326.8C103.9 306.5 96 282.2 96 256c0-48.7 27.2-91 67.2-112.7zm8.6 229.5l61.1-244.6c9.9 .7 19.5 2.5 28.7 5.3l-62 248.1c-9.7-1.9-19-4.8-27.8-8.8z\"]\n};\nvar faHeadset = {\n prefix: 'fas',\n iconName: 'headset',\n icon: [512, 512, [], \"f590\", \"M256 48C141.1 48 48 141.1 48 256v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V256C0 114.6 114.6 0 256 0S512 114.6 512 256V400.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24H240c-26.5 0-48-21.5-48-48s21.5-48 48-48h32c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40V256c0-114.9-93.1-208-208-208zM144 208h16c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H144c-35.3 0-64-28.7-64-64V272c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64v48c0 35.3-28.7 64-64 64H352c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32h16z\"]\n};\nvar faStoreSlash = {\n prefix: 'fas',\n iconName: 'store-slash',\n icon: [640, 512, [], \"e071\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68V384 252.6c-4 1-8 1.8-12.3 2.3l-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-12.4 0-24.3-1.9-35.4-5.3V350.9L301.2 210.7c7-4.4 13.3-9.7 18.8-15.7c15.9 17.6 39.1 29 65.2 29c26.2 0 49.3-11.4 65.2-29c16 17.6 39.1 29 65.2 29c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4L522.3 13.1C517.2 5 508.1 0 498.4 0H141.6c-9.7 0-18.8 5-23.9 13.1l-22.7 36L38.8 5.1zm73.4 218.1c4 .5 8.1 .8 12.1 .8c11 0 21.4-2 31-5.6L48.9 134.5c-6.1 40.6 19.5 82.8 63.3 88.7zM160 384V250.6c-11.2 3.5-23.2 5.4-35.6 5.4c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V384v64c0 35.3 28.7 64 64 64H480c12.9 0 24.8-3.8 34.9-10.3L365.5 384H160z\"]\n};\nvar faRoadCircleXmark = {\n prefix: 'fas',\n iconName: 'road-circle-xmark',\n icon: [640, 512, [], \"e566\", \"M213.2 32H288V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32h74.8c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32v64H86.6C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm22.6 144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"]\n};\nvar faUserMinus = {\n prefix: 'fas',\n iconName: 'user-minus',\n icon: [640, 512, [], \"f503\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM472 200H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H472c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMarsStrokeUp = {\n prefix: 'fas',\n iconName: 'mars-stroke-up',\n icon: [320, 512, [9896, \"mars-stroke-v\"], \"f22a\", \"M148.7 4.7c6.2-6.2 16.4-6.2 22.6 0l64 64c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H184v24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H184v24c0 .6 0 1.2-.1 1.8c77 11.6 136.1 78 136.1 158.2c0 88.4-71.6 160-160 160S0 440.4 0 352c0-80.2 59.1-146.7 136.1-158.2c0-.6-.1-1.2-.1-1.8V168H104c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V96H96c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l64-64zM256 352A96 96 0 1 0 64 352a96 96 0 1 0 192 0z\"]\n};\nvar faMarsStrokeV = faMarsStrokeUp;\nvar faChampagneGlasses = {\n prefix: 'fas',\n iconName: 'champagne-glasses',\n icon: [640, 512, [129346, \"glass-cheers\"], \"f79f\", \"M155.6 17.3C163 3 179.9-3.6 195 1.9L320 47.5l125-45.6c15.1-5.5 32 1.1 39.4 15.4l78.8 152.9c28.8 55.8 10.3 122.3-38.5 156.6L556.1 413l41-15c16.6-6 35 2.5 41 19.1s-2.5 35-19.1 41l-71.1 25.9L476.8 510c-16.6 6.1-35-2.5-41-19.1s2.5-35 19.1-41l41-15-31.3-86.2c-59.4 5.2-116.2-34-130-95.2L320 188.8l-14.6 64.7c-13.8 61.3-70.6 100.4-130 95.2l-31.3 86.2 41 15c16.6 6 25.2 24.4 19.1 41s-24.4 25.2-41 19.1L92.2 484.1 21.1 458.2c-16.6-6.1-25.2-24.4-19.1-41s24.4-25.2 41-19.1l41 15 31.3-86.2C66.5 292.5 48.1 226 76.9 170.2L155.6 17.3zm44 54.4l-27.2 52.8L261.6 157l13.1-57.9L199.6 71.7zm240.9 0L365.4 99.1 378.5 157l89.2-32.5L440.5 71.7z\"]\n};\nvar faGlassCheers = faChampagneGlasses;\nvar faClipboard = {\n prefix: 'fas',\n iconName: 'clipboard',\n icon: [384, 512, [128203], \"f328\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM112 192H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faHouseCircleExclamation = {\n prefix: 'fas',\n iconName: 'house-circle-exclamation',\n icon: [640, 512, [], \"e50a\", \"M320.7 352c8.1-89.7 83.5-160 175.3-160c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64l.7 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faFileArrowUp = {\n prefix: 'fas',\n iconName: 'file-arrow-up',\n icon: [384, 512, [\"file-upload\"], \"f574\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM216 408c0 13.3-10.7 24-24 24s-24-10.7-24-24V305.9l-31 31c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72c9.4-9.4 24.6-9.4 33.9 0l72 72c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-31-31V408z\"]\n};\nvar faFileUpload = faFileArrowUp;\nvar faWifi = {\n prefix: 'fas',\n iconName: 'wifi',\n icon: [640, 512, [\"wifi-3\", \"wifi-strong\"], \"f1eb\", \"M54.2 202.9C123.2 136.7 216.8 96 320 96s196.8 40.7 265.8 106.9c12.8 12.2 33 11.8 45.2-.9s11.8-33-.9-45.2C549.7 79.5 440.4 32 320 32S90.3 79.5 9.8 156.7C-2.9 169-3.3 189.2 8.9 202s32.5 13.2 45.2 .9zM320 256c56.8 0 108.6 21.1 148.2 56c13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2C459.8 219.2 393 192 320 192s-139.8 27.2-190.5 72c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8c39.5-34.9 91.3-56 148.2-56zm64 160a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faWifi3 = faWifi;\nvar faWifiStrong = faWifi;\nvar faBath = {\n prefix: 'fas',\n iconName: 'bath',\n icon: [512, 512, [128705, \"bathtub\"], \"f2cd\", \"M96 77.3c0-7.3 5.9-13.3 13.3-13.3c3.5 0 6.9 1.4 9.4 3.9l14.9 14.9C130 91.8 128 101.7 128 112c0 19.9 7.2 38 19.2 52c-5.3 9.2-4 21.1 3.8 29c9.4 9.4 24.6 9.4 33.9 0L289 89c9.4-9.4 9.4-24.6 0-33.9c-7.9-7.9-19.8-9.1-29-3.8C246 39.2 227.9 32 208 32c-10.3 0-20.2 2-29.2 5.5L163.9 22.6C149.4 8.1 129.7 0 109.3 0C66.6 0 32 34.6 32 77.3V256c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H96V77.3zM32 352v16c0 28.4 12.4 54 32 71.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V464H384v16c0 17.7 14.3 32 32 32s32-14.3 32-32V439.6c19.6-17.6 32-43.1 32-71.6V352H32z\"]\n};\nvar faBathtub = faBath;\nvar faUnderline = {\n prefix: 'fas',\n iconName: 'underline',\n icon: [448, 512, [], \"f0cd\", \"M16 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H128V224c0 53 43 96 96 96s96-43 96-96V96H304c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V224c0 88.4-71.6 160-160 160s-160-71.6-160-160V96H48C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faUserPen = {\n prefix: 'fas',\n iconName: 'user-pen',\n icon: [640, 512, [\"user-edit\"], \"f4ff\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H322.8c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7l40.3-40.3c-32.1-31-75.7-50.1-123.9-50.1H178.3zm435.5-68.3c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71L375.9 417z\"]\n};\nvar faUserEdit = faUserPen;\nvar faSignature = {\n prefix: 'fas',\n iconName: 'signature',\n icon: [640, 512, [], \"f5b7\", \"M192 128c0-17.7 14.3-32 32-32s32 14.3 32 32v7.8c0 27.7-2.4 55.3-7.1 82.5l-84.4 25.3c-40.6 12.2-68.4 49.6-68.4 92v71.9c0 40 32.5 72.5 72.5 72.5c26 0 50-13.9 62.9-36.5l13.9-24.3c26.8-47 46.5-97.7 58.4-150.5l94.4-28.3-12.5 37.5c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H460.4l18-53.9c3.8-11.3 .9-23.8-7.4-32.4s-20.7-11.8-32.2-8.4L316.4 198.1c2.4-20.7 3.6-41.4 3.6-62.3V128c0-53-43-96-96-96s-96 43-96 96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V128zm-9.2 177l49-14.7c-10.4 33.8-24.5 66.4-42.1 97.2l-13.9 24.3c-1.5 2.6-4.3 4.3-7.4 4.3c-4.7 0-8.5-3.8-8.5-8.5V335.6c0-14.1 9.3-26.6 22.8-30.7zM24 368c-13.3 0-24 10.7-24 24s10.7 24 24 24H64.3c-.2-2.8-.3-5.6-.3-8.5V368H24zm592 48c13.3 0 24-10.7 24-24s-10.7-24-24-24H305.9c-6.7 16.3-14.2 32.3-22.3 48H616z\"]\n};\nvar faStroopwafel = {\n prefix: 'fas',\n iconName: 'stroopwafel',\n icon: [512, 512, [], \"f551\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM312.6 63.7c-6.2-6.2-16.4-6.2-22.6 0L256 97.6 222.1 63.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l33.9 33.9-45.3 45.3-56.6-56.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l56.6 56.6-45.3 45.3L86.3 199.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L97.6 256 63.7 289.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l33.9-33.9 45.3 45.3-56.6 56.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56.6-56.6 45.3 45.3-33.9 33.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 414.4l33.9 33.9c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-33.9-33.9 45.3-45.3 56.6 56.6c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-56.6-56.6 45.3-45.3 33.9 33.9c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L414.4 256l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-33.9 33.9-45.3-45.3 56.6-56.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-56.6 56.6-45.3-45.3 33.9-33.9c6.2-6.2 6.2-16.4 0-22.6zM142.9 256l45.3-45.3L233.4 256l-45.3 45.3L142.9 256zm67.9 67.9L256 278.6l45.3 45.3L256 369.1l-45.3-45.3zM278.6 256l45.3-45.3L369.1 256l-45.3 45.3L278.6 256zm22.6-67.9L256 233.4l-45.3-45.3L256 142.9l45.3 45.3z\"]\n};\nvar faBold = {\n prefix: 'fas',\n iconName: 'bold',\n icon: [384, 512, [], \"f032\", \"M0 64C0 46.3 14.3 32 32 32H80 96 224c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128H96 80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V256 96H32C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64H112V224H224zM112 288V416H256c35.3 0 64-28.7 64-64s-28.7-64-64-64H224 112z\"]\n};\nvar faAnchorLock = {\n prefix: 'fas',\n iconName: 'anchor-lock',\n icon: [640, 512, [], \"e4ad\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8 0 15.9-.6 23.6-1.7c-4.8-9-7.6-19.3-7.6-30.3V446.7c-5.2 .9-10.5 1.3-16 1.3H320V240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faBuildingNgo = {\n prefix: 'fas',\n iconName: 'building-ngo',\n icon: [384, 512, [], \"e4d7\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM168 64h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H184v64h16V144c0-8.8 7.2-16 16-16s16 7.2 16 16v24c0 13.3-10.7 24-24 24H176c-13.3 0-24-10.7-24-24V80c0-8.8 7.2-16 16-16zM304 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16zm-48 16c0-26.5 21.5-48 48-48s48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V112zM61.3 71.1l34.7 52V80c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4L64 132.8V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4z\"]\n};\nvar faManatSign = {\n prefix: 'fas',\n iconName: 'manat-sign',\n icon: [384, 512, [], \"e1d5\", \"M192 32c-17.7 0-32 14.3-32 32V98.7C69.2 113.9 0 192.9 0 288V448c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-59.6 40.8-109.8 96-124V448c0 17.7 14.3 32 32 32s32-14.3 32-32V164c55.2 14.2 96 64.3 96 124V448c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-95.1-69.2-174.1-160-189.3V64c0-17.7-14.3-32-32-32z\"]\n};\nvar faNotEqual = {\n prefix: 'fas',\n iconName: 'not-equal',\n icon: [448, 512, [], \"f53e\", \"M369.8 37.4c14.7 9.8 18.7 29.7 8.9 44.4L337.1 144H400c17.7 0 32 14.3 32 32s-14.3 32-32 32H294.5l-64 96H400c17.7 0 32 14.3 32 32s-14.3 32-32 32H187.8l-65.2 97.7c-9.8 14.7-29.7 18.7-44.4 8.9s-18.7-29.7-8.9-44.4L110.9 368H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H153.5l64-96H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H260.2l65.2-97.7c9.8-14.7 29.7-18.7 44.4-8.9z\"]\n};\nvar faBorderTopLeft = {\n prefix: 'fas',\n iconName: 'border-top-left',\n icon: [448, 512, [\"border-style\"], \"f853\", \"M0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-336c0-8.8 7.2-16 16-16l336 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32C35.8 32 0 67.8 0 112L0 448zm160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm192 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm192 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBorderStyle = faBorderTopLeft;\nvar faMapLocationDot = {\n prefix: 'fas',\n iconName: 'map-location-dot',\n icon: [576, 512, [\"map-marked-alt\"], \"f5a0\", \"M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152V422.8c0 9.8-6 18.6-15.1 22.3L416 503V200.4zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6V451.8L32.9 502.7C17.1 509 0 497.4 0 480.4V209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77V504.3L192 449.4V255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faMapMarkedAlt = faMapLocationDot;\nvar faJedi = {\n prefix: 'fas',\n iconName: 'jedi',\n icon: [576, 512, [], \"f669\", \"M246 315.7l-21.2-31.9c-2.1-3.2-1.7-7.4 1-10.1s6.9-3.1 10.1-1l29.5 19.7c2.1 1.4 4.9 0 5-2.6L279.7 8c.1-4.5 3.8-8 8.3-8s8.1 3.5 8.3 8l9.4 281.9c.1 2.5 2.9 3.9 5 2.6l29.5-19.7c3.2-2.1 7.4-1.7 10.1 1s3.1 6.9 1 10.1L330 315.7c-1.3 1.9-.2 4.5 2 4.9l37.6 7.5c3.7 .7 6.4 4 6.4 7.8s-2.7 7.1-6.4 7.8L332 351.4c-2.2 .4-3.3 3-2 4.9l21.2 31.9c2.1 3.2 1.7 7.4-1 10.1s-6.9 3.1-10.1 1l-26.3-17.6c-2.2-1.4-5.1 .2-5 2.8l2.1 61.5C370.6 435.2 416 382.9 416 320c0-37-15.7-70.4-40.8-93.7c-7-6.5-6.5-18.6 1-24.4C410.1 175.5 432 134.3 432 88c0-16.8-2.9-33-8.2-48c-4.6-13 10.2-30 21.4-22c53.5 38 92.7 94.8 107.8 160.7c.5 2.1-.2 4.3-1.7 5.9l-28.4 28.4c-4 4-1.2 10.9 4.5 10.9h26c3.4 0 6.2 2.6 6.3 6c.1 3.3 .2 6.6 .2 10c0 17.5-1.7 34.7-4.8 51.3c-.2 1.2-.9 2.4-1.7 3.3l-46.5 46.5c-4 4-1.2 10.9 4.5 10.9H526c4.6 0 7.7 4.8 5.7 9C487.2 450.5 394.8 512 288 512S88.8 450.5 44.3 361c-2.1-4.2 1-9 5.7-9H64.5c5.7 0 8.6-6.9 4.5-10.9L22.6 294.6c-.9-.9-1.5-2-1.7-3.3C17.7 274.7 16 257.5 16 240c0-3.3 .1-6.7 .2-10c.1-3.4 2.9-6 6.3-6h26c5.7 0 8.6-6.9 4.5-10.9L24.6 184.6c-1.5-1.5-2.2-3.8-1.7-5.9C38.1 112.8 77.3 56 130.8 18c11.3-8 26 8.9 21.4 22c-5.3 15-8.2 31.2-8.2 48c0 46.3 21.9 87.5 55.8 113.9c7.5 5.8 8 17.9 1 24.4C175.7 249.6 160 283 160 320c0 62.9 45.4 115.2 105.1 126l2.1-61.5c.1-2.6-2.8-4.2-5-2.8l-26.3 17.6c-3.2 2.1-7.4 1.7-10.1-1s-3.1-6.9-1-10.1L246 356.3c1.3-1.9 .2-4.5-2-4.9l-37.6-7.5c-3.7-.7-6.4-4-6.4-7.8s2.7-7.1 6.4-7.8l37.6-7.5c2.2-.4 3.3-3 2-4.9z\"]\n};\nvar faSquarePollVertical = {\n prefix: 'fas',\n iconName: 'square-poll-vertical',\n icon: [448, 512, [\"poll\"], \"f681\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 192c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm64-64c0-17.7 14.3-32 32-32s32 14.3 32 32V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V160zM320 288c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32z\"]\n};\nvar faPoll = faSquarePollVertical;\nvar faMugHot = {\n prefix: 'fas',\n iconName: 'mug-hot',\n icon: [512, 512, [9749], \"f7b6\", \"M88 0C74.7 0 64 10.7 64 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C120.5 112.3 128 119.9 128 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C119.5 47.7 112 40.1 112 24c0-13.3-10.7-24-24-24zM32 192c-17.7 0-32 14.3-32 32V416c0 53 43 96 96 96H288c53 0 96-43 96-96h16c61.9 0 112-50.1 112-112s-50.1-112-112-112H352 32zm352 64h16c26.5 0 48 21.5 48 48s-21.5 48-48 48H384V256zM224 24c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C232.5 112.3 240 119.9 240 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C231.5 47.7 224 40.1 224 24z\"]\n};\nvar faCarBattery = {\n prefix: 'fas',\n iconName: 'car-battery',\n icon: [512, 512, [\"battery-car\"], \"f5df\", \"M80 96c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32h16c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64l16 0zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H320c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V256h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H384V192zM80 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16z\"]\n};\nvar faBatteryCar = faCarBattery;\nvar faGift = {\n prefix: 'fas',\n iconName: 'gift',\n icon: [512, 512, [127873], \"f06b\", \"M190.5 68.8L225.3 128H224 152c-22.1 0-40-17.9-40-40s17.9-40 40-40h2.2c14.9 0 28.8 7.9 36.3 20.8zM64 88c0 14.4 3.5 28 9.6 40H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H438.4c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88h-2.2c-31.9 0-61.5 16.9-77.7 44.4L256 85.5l-24.1-41C215.7 16.9 186.1 0 154.2 0H152C103.4 0 64 39.4 64 88zm336 0c0 22.1-17.9 40-40 40H288h-1.3l34.8-59.2C329.1 55.9 342.9 48 357.8 48H360c22.1 0 40 17.9 40 40zM32 288V464c0 26.5 21.5 48 48 48H224V288H32zM288 512H432c26.5 0 48-21.5 48-48V288H288V512z\"]\n};\nvar faDiceTwo = {\n prefix: 'fas',\n iconName: 'dice-two',\n icon: [448, 512, [9857], \"f528\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM352 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faChessQueen = {\n prefix: 'fas',\n iconName: 'chess-queen',\n icon: [512, 512, [9819], \"f445\", \"M256 0a56 56 0 1 1 0 112A56 56 0 1 1 256 0zM134.1 143.8c3.3-13 15-23.8 30.2-23.8c12.3 0 22.6 7.2 27.7 17c12 23.2 36.2 39 64 39s52-15.8 64-39c5.1-9.8 15.4-17 27.7-17c15.3 0 27 10.8 30.2 23.8c7 27.8 32.2 48.3 62.1 48.3c10.8 0 21-2.7 29.8-7.4c8.4-4.4 18.9-4.5 27.6 .9c13 8 17.1 25 9.2 38L399.7 400H384 343.6 168.4 128 112.3L5.4 223.6c-7.9-13-3.8-30 9.2-38c8.7-5.3 19.2-5.3 27.6-.9c8.9 4.7 19 7.4 29.8 7.4c29.9 0 55.1-20.5 62.1-48.3zM256 224l0 0 0 0h0zM112 432H400l41.4 41.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H86.6C74.1 512 64 501.9 64 489.4c0-6 2.4-11.8 6.6-16L112 432z\"]\n};\nvar faGlasses = {\n prefix: 'fas',\n iconName: 'glasses',\n icon: [576, 512, [], \"f530\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L57 260.3c20.5-6.2 48.3-12.3 78.7-12.3c32.3 0 61.8 6.9 82.8 13.5c10.6 3.3 19.3 6.7 25.4 9.2c3.1 1.3 5.5 2.4 7.3 3.2c.9 .4 1.6 .7 2.1 1l.6 .3 .2 .1 .1 0 0 0 0 0s0 0-6.3 12.7h0l6.3-12.7c5.8 2.9 10.4 7.3 13.5 12.7h40.6c3.1-5.3 7.7-9.8 13.5-12.7l6.3 12.7h0c-6.3-12.7-6.3-12.7-6.3-12.7l0 0 0 0 .1 0 .2-.1 .6-.3c.5-.2 1.2-.6 2.1-1c1.8-.8 4.2-1.9 7.3-3.2c6.1-2.6 14.8-5.9 25.4-9.2c21-6.6 50.4-13.5 82.8-13.5c30.4 0 58.2 6.1 78.7 12.3L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l43.9 188c1.7 7.3 2.9 14.7 3.5 22.1c.3 1.9 .5 3.8 .5 5.7v6.7V352v16c0 61.9-50.1 112-112 112H419.7c-59.4 0-108.5-46.4-111.8-105.8L306.6 352H269.4l-1.2 22.2C264.9 433.6 215.8 480 156.3 480H112C50.1 480 0 429.9 0 368V352 310.7 304c0-1.9 .2-3.8 .5-5.7c.6-7.4 1.8-14.8 3.5-22.1l43.9-188C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM64 325.4V368c0 26.5 21.5 48 48 48h44.3c25.5 0 46.5-19.9 47.9-45.3l2.5-45.6c-2.3-.8-4.9-1.7-7.5-2.5c-17.2-5.4-39.9-10.5-63.6-10.5c-23.7 0-46.2 5.1-63.2 10.5c-3.1 1-5.9 1.9-8.5 2.9zM512 368V325.4c-2.6-.9-5.5-1.9-8.5-2.9c-17-5.4-39.5-10.5-63.2-10.5c-23.7 0-46.4 5.1-63.6 10.5c-2.7 .8-5.2 1.7-7.5 2.5l2.5 45.6c1.4 25.4 22.5 45.3 47.9 45.3H464c26.5 0 48-21.5 48-48z\"]\n};\nvar faChessBoard = {\n prefix: 'fas',\n iconName: 'chess-board',\n icon: [448, 512, [], \"f43c\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 64v64h64V96h64v64h64V96h64v64H320v64h64v64H320v64h64v64H320V352H256v64H192V352H128v64H64V352h64V288H64V224h64V160H64V96h64zm64 128h64V160H192v64zm0 64V224H128v64h64zm64 0H192v64h64V288zm0 0h64V224H256v64z\"]\n};\nvar faBuildingCircleCheck = {\n prefix: 'fas',\n iconName: 'building-circle-check',\n icon: [640, 512, [], \"e4d2\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faPersonChalkboard = {\n prefix: 'fas',\n iconName: 'person-chalkboard',\n icon: [640, 512, [], \"e53d\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V192h56 64 16c17.7 0 32-14.3 32-32s-14.3-32-32-32H384V64H576V256H384V224H320v48c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v80H243.1 177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faMarsStrokeRight = {\n prefix: 'fas',\n iconName: 'mars-stroke-right',\n icon: [640, 512, [9897, \"mars-stroke-h\"], \"f22b\", \"M208 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm174.4-88C370.7 365.8 297.1 432 208 432c-97.2 0-176-78.8-176-176s78.8-176 176-176c89.1 0 162.7 66.2 174.4 152H416V176c0-13.3 10.7-24 24-24s24 10.7 24 24v56h32V176c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V280H464v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H382.4z\"]\n};\nvar faMarsStrokeH = faMarsStrokeRight;\nvar faHandBackFist = {\n prefix: 'fas',\n iconName: 'hand-back-fist',\n icon: [448, 512, [\"hand-rock\"], \"f255\", \"M144 0C117.5 0 96 21.5 96 48V96v28.5V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V149.3l-9 7.5C40.4 169 32 187 32 206V244c0 38 16.9 74 46.1 98.3L128 384v96c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V374.7c46.9-19 80-65 80-118.7V176 160 144c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C350 83.5 329.3 64 304 64c-12.4 0-23.6 4.7-32.1 12.3C270 51.5 249.3 32 224 32c-12.4 0-23.6 4.7-32.1 12.3C190 19.5 169.3 0 144 0z\"]\n};\nvar faHandRock = faHandBackFist;\nvar faSquareCaretUp = {\n prefix: 'fas',\n iconName: 'square-caret-up',\n icon: [448, 512, [\"caret-square-up\"], \"f151\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 160c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4H120c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z\"]\n};\nvar faCaretSquareUp = faSquareCaretUp;\nvar faCloudShowersWater = {\n prefix: 'fas',\n iconName: 'cloud-showers-water',\n icon: [576, 512, [], \"e4e4\", \"M224 0c38.6 0 71.9 22.8 87.2 55.7C325.7 41.1 345.8 32 368 32c38.7 0 71 27.5 78.4 64H448c35.3 0 64 28.7 64 64s-28.7 64-64 64H128c-35.3 0-64-28.7-64-64s28.7-64 64-64c0-53 43-96 96-96zM140.6 292.3l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2s15.1 21.6 8.2 32.9zm327.8-32.9c11.4 6.8 15 21.6 8.2 32.9l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2zM252.6 292.3l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2s15.1 21.6 8.2 32.9zm103.8-32.9c11.4 6.8 15 21.6 8.2 32.9l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faChartBar = {\n prefix: 'fas',\n iconName: 'chart-bar',\n icon: [512, 512, [\"bar-chart\"], \"f080\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 64H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faBarChart = faChartBar;\nvar faHandsBubbles = {\n prefix: 'fas',\n iconName: 'hands-bubbles',\n icon: [576, 512, [\"hands-wash\"], \"e05e\", \"M416 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM160 464a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM32 160l.1 72.6c.1 52.2 24 101 64 133.1c-.1-1.9-.1-3.8-.1-5.7v-8c0-71.8 37-138.6 97.9-176.7l60.2-37.6c8.6-5.4 17.9-8.4 27.3-9.4l45.9-79.5c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8l-78 135.1c-3.3 5.7-10.7 7.7-16.4 4.4s-7.7-10.7-4.4-16.4l62-107.4c6.6-11.5 2.7-26.2-8.8-32.8S214 5 207.4 16.5l-68 117.8 0 0 0 0-43.3 75L96 160c0-17.7-14.4-32-32-32s-32 14.4-32 32zM332.1 88.5L307.5 131c13.9 4.5 26.4 13.7 34.7 27c.9 1.5 1.7 2.9 2.5 4.4l28.9-50c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8zm46.4 63.7l-26.8 46.4c-.6 6-2.1 11.8-4.3 17.4H352h13.3l0 0H397l23-39.8c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8zM315.1 175c-9.4-15-29.1-19.5-44.1-10.2l-60.2 37.6C159.3 234.7 128 291.2 128 352v8c0 8.9 .8 17.6 2.2 26.1c35.4 8.2 61.8 40 61.8 77.9c0 6.3-.7 12.5-2.1 18.4C215.1 501 246.3 512 280 512H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H364c-6.6 0-12-5.4-12-12s5.4-12 12-12H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H364c-6.6 0-12-5.4-12-12s5.4-12 12-12H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H364c-6.6 0-12-5.4-12-12s5.4-12 12-12H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H352l0 0 0 0H258.8L305 219.1c15-9.4 19.5-29.1 10.2-44.1z\"]\n};\nvar faHandsWash = faHandsBubbles;\nvar faLessThanEqual = {\n prefix: 'fas',\n iconName: 'less-than-equal',\n icon: [448, 512, [], \"f537\", \"M395.9 93.7c16.4-6.6 24.4-25.2 17.8-41.6s-25.2-24.4-41.6-17.8l-320 128C40 167.1 32 178.9 32 192s8 24.9 20.1 29.7l320 128c16.4 6.6 35-1.4 41.6-17.8s-1.4-35-17.8-41.6L150.2 192 395.9 93.7zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faTrain = {\n prefix: 'fas',\n iconName: 'train',\n icon: [448, 512, [128646], \"f238\", \"M96 0C43 0 0 43 0 96V352c0 48 35.2 87.7 81.1 94.9l-46 46C28.1 499.9 33.1 512 43 512H82.7c8.5 0 16.6-3.4 22.6-9.4L160 448H288l54.6 54.6c6 6 14.1 9.4 22.6 9.4H405c10 0 15-12.1 7.9-19.1l-46-46c46-7.1 81.1-46.9 81.1-94.9V96c0-53-43-96-96-96H96zM64 96c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96zM224 288a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faEyeLowVision = {\n prefix: 'fas',\n iconName: 'eye-low-vision',\n icon: [640, 512, [\"low-vision\"], \"f2a8\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223 149.5c48.6-44.3 123-50.8 179.3-11.7c60.8 42.4 78.9 123.2 44.2 186.9L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3L223 149.5zm223.1 298L83.1 161.5c-11 14.4-20.5 28.7-28.4 42.2l339 265.7c18.7-5.5 36.2-13 52.6-21.8zM34.5 268.3c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c3.1 0 6.1-.1 9.2-.2L33.1 247.8c-1.8 6.8-1.3 14 1.4 20.5z\"]\n};\nvar faLowVision = faEyeLowVision;\nvar faCrow = {\n prefix: 'fas',\n iconName: 'crow',\n icon: [640, 512, [], \"f520\", \"M456 0c-48.6 0-88 39.4-88 88v29.2L12.5 390.6c-14 10.8-16.6 30.9-5.9 44.9s30.9 16.6 44.9 5.9L126.1 384H259.2l46.6 113.1c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3L311.1 384H352c1.1 0 2.1 0 3.2 0l46.6 113.2c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3l-42-102C484.9 354.1 544 280 544 192V128v-8l80.5-20.1c8.6-2.1 13.8-10.8 11.6-19.4C629 52 603.4 32 574 32H523.9C507.7 12.5 483.3 0 456 0zm0 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSailboat = {\n prefix: 'fas',\n iconName: 'sailboat',\n icon: [576, 512, [], \"e445\", \"M256 16c0-7 4.5-13.2 11.2-15.3s13.9 .4 17.9 6.1l224 320c3.4 4.9 3.8 11.3 1.1 16.6s-8.2 8.6-14.2 8.6H272c-8.8 0-16-7.2-16-16V16zM212.1 96.5c7 1.9 11.9 8.2 11.9 15.5V336c0 8.8-7.2 16-16 16H80c-5.7 0-11-3-13.8-8s-2.9-11-.1-16l128-224c3.6-6.3 11-9.4 18-7.5zM5.7 404.3C2.8 394.1 10.5 384 21.1 384H554.9c10.6 0 18.3 10.1 15.4 20.3l-4 14.3C550.7 473.9 500.4 512 443 512H133C75.6 512 25.3 473.9 9.7 418.7l-4-14.3z\"]\n};\nvar faWindowRestore = {\n prefix: 'fas',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M432 64H208c-8.8 0-16 7.2-16 16V96H128V80c0-44.2 35.8-80 80-80H432c44.2 0 80 35.8 80 80V304c0 44.2-35.8 80-80 80H416V320h16c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM0 192c0-35.3 28.7-64 64-64H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zm64 32c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H96c-17.7 0-32 14.3-32 32z\"]\n};\nvar faSquarePlus = {\n prefix: 'fas',\n iconName: 'square-plus',\n icon: [448, 512, [61846, \"plus-square\"], \"f0fe\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM200 344V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlusSquare = faSquarePlus;\nvar faToriiGate = {\n prefix: 'fas',\n iconName: 'torii-gate',\n icon: [512, 512, [9961], \"f6a1\", \"M0 80c0 26.5 21.5 48 48 48H64v64h64V128h96v64h64V128h96v64h64V128h16c26.5 0 48-21.5 48-48V13.4C512 6 506 0 498.6 0c-1.7 0-3.4 .3-5 1l-49 19.6C425.7 28.1 405.5 32 385.2 32H126.8c-20.4 0-40.5-3.9-59.4-11.4L18.4 1c-1.6-.6-3.3-1-5-1C6 0 0 6 0 13.4V80zM64 288V480c0 17.7 14.3 32 32 32s32-14.3 32-32V288H384V480c0 17.7 14.3 32 32 32s32-14.3 32-32V288h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64z\"]\n};\nvar faFrog = {\n prefix: 'fas',\n iconName: 'frog',\n icon: [576, 512, [], \"f52e\", \"M368 32c41.7 0 75.9 31.8 79.7 72.5l85.6 26.3c25.4 7.8 42.8 31.3 42.8 57.9c0 21.8-11.7 41.9-30.7 52.7L400.8 323.5 493.3 416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H480c-8.5 0-16.6-3.4-22.6-9.4L346.9 360.2c11.7-36 3.2-77.1-25.4-105.7c-40.6-40.6-106.3-40.6-146.9-.1L101 324.4c-6.4 6.1-6.7 16.2-.6 22.6s16.2 6.6 22.6 .6l73.8-70.2 .1-.1 .1-.1c3.5-3.5 7.3-6.6 11.3-9.2c27.9-18.5 65.9-15.4 90.5 9.2c24.7 24.7 27.7 62.9 9 90.9c-2.6 3.8-5.6 7.5-9 10.9L261.8 416H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-35.3 0-64-28.7-64-64C0 249.6 127 112.9 289.3 97.5C296.2 60.2 328.8 32 368 32zm0 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBucket = {\n prefix: 'fas',\n iconName: 'bucket',\n icon: [448, 512, [], \"e4cf\", \"M96 152v8H48v-8C48 68.1 116.1 0 200 0h48c83.9 0 152 68.1 152 152v8H352v-8c0-57.4-46.6-104-104-104H200C142.6 48 96 94.6 96 152zM0 224c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32h-5.1L388.5 469c-2.6 24.4-23.2 43-47.7 43H107.2c-24.6 0-45.2-18.5-47.7-43L37.1 256H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faImage = {\n prefix: 'fas',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h96 32H424c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faMicrophone = {\n prefix: 'fas',\n iconName: 'microphone',\n icon: [384, 512, [], \"f130\", \"M192 0C139 0 96 43 96 96V256c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V216z\"]\n};\nvar faCow = {\n prefix: 'fas',\n iconName: 'cow',\n icon: [640, 512, [128004], \"f6c8\", \"M96 224v32V416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V327.8c9.9 6.6 20.6 12 32 16.1V368c0 8.8 7.2 16 16 16s16-7.2 16-16V351.1c5.3 .6 10.6 .9 16 .9s10.7-.3 16-.9V368c0 8.8 7.2 16 16 16s16-7.2 16-16V343.8c11.4-4 22.1-9.4 32-16.1V416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256l32 32v49.5c0 9.5 2.8 18.7 8.1 26.6L530 427c8.8 13.1 23.5 21 39.3 21c22.5 0 41.9-15.9 46.3-38l20.3-101.6c2.6-13-.3-26.5-8-37.3l-3.9-5.5V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v14.4l-52.9-74.1C496 86.5 452.4 64 405.9 64H272 256 192 144C77.7 64 24 117.7 24 184v54C9.4 249.8 0 267.8 0 288v17.6c0 8 6.4 14.4 14.4 14.4C46.2 320 72 294.2 72 262.4V256 224 184c0-24.3 12.1-45.8 30.5-58.9C98.3 135.9 96 147.7 96 160v64zM560 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM166.6 166.6c-4.2-4.2-6.6-10-6.6-16c0-12.5 10.1-22.6 22.6-22.6H361.4c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.8-6.6 16l-23.4 23.4C332.2 211.8 302.7 224 272 224s-60.2-12.2-81.9-33.9l-23.4-23.4z\"]\n};\nvar faCaretUp = {\n prefix: 'fas',\n iconName: 'caret-up',\n icon: [320, 512, [], \"f0d8\", \"M182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"]\n};\nvar faScrewdriver = {\n prefix: 'fas',\n iconName: 'screwdriver',\n icon: [512, 512, [129691], \"f54a\", \"M465 7c-8.5-8.5-22-9.4-31.6-2.1l-104 80c-5.9 4.5-9.4 11.6-9.4 19v54.1l-85.6 85.6c6.7 4.2 13 9.3 18.8 15.1s10.9 12.2 15.1 18.8L353.9 192H408c7.5 0 14.5-3.5 19-9.4l80-104c7.4-9.6 6.5-23.1-2.1-31.6L465 7zM121.4 281.4l-112 112c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l112-112c30.2-30.2 30.2-79.1 0-109.3s-79.1-30.2-109.3 0z\"]\n};\nvar faFolderClosed = {\n prefix: 'fas',\n iconName: 'folder-closed',\n icon: [512, 512, [], \"e185\", \"M448 480H64c-35.3 0-64-28.7-64-64V192H512V416c0 35.3-28.7 64-64 64zm64-320H0V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64z\"]\n};\nvar faHouseTsunami = {\n prefix: 'fas',\n iconName: 'house-tsunami',\n icon: [576, 512, [], \"e515\", \"M80.8 136.5C104.9 93.8 152.6 64 209 64c16.9 0 33.1 2.7 48.2 7.7c16.8 5.5 34.9-3.6 40.4-20.4s-3.6-34.9-20.4-40.4C255.8 3.8 232.8 0 209 0C95.2 0 0 88 0 200c0 91.6 53.5 172.1 142.2 194.1c13.4 3.8 27.5 5.9 42.2 5.9c.7 0 1.4 0 2.1-.1c1.8 0 3.7 .1 5.5 .1l0 0c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 325.2 410.9 336 384 336c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0c-22.4 15.5-49.9 26.1-77.4 26.1c0 0-.1 0-.1 0c-12.4 0-24-1.5-34.9-4.3C121.6 320.2 96 287 96 248c0-48.5 39.5-88 88.4-88c13.5 0 26.1 3 37.5 8.3c16 7.5 35.1 .6 42.5-15.5s.6-35.1-15.5-42.5C229.3 101.1 207.4 96 184.4 96c-40 0-76.4 15.4-103.6 40.5zm252-18.1c-8.1 6-12.8 15.5-12.8 25.6V265c1.6 1 3.3 2 4.8 3.1c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c5.8 1.4 11.2 3.4 16.2 6.2c.7-2.7 1.1-5.5 1.1-8.4l-.4-144c0-10-4.7-19.4-12.7-25.5l-95.5-72c-11.4-8.6-27.1-8.6-38.5 0l-96 72zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448z\"]\n};\nvar faSquareNfi = {\n prefix: 'fas',\n iconName: 'square-nfi',\n icon: [448, 512, [], \"e576\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm75.7 64.6C68.8 162.5 64 168.8 64 176V336c0 8.8 7.2 16 16 16s16-7.2 16-16V233.8l66.3 110.5c3.7 6.2 11.1 9.1 18 7.2s11.7-8.2 11.7-15.4V176c0-8.8-7.2-16-16-16s-16 7.2-16 16V278.2L93.7 167.8c-3.7-6.2-11.1-9.1-18-7.2zM224 176v64 96c0 8.8 7.2 16 16 16s16-7.2 16-16V256h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H256V192h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V336c0 8.8 7.2 16 16 16s16-7.2 16-16V176z\"]\n};\nvar faArrowUpFromGroundWater = {\n prefix: 'fas',\n iconName: 'arrow-up-from-ground-water',\n icon: [576, 512, [], \"e4b5\", \"M288 352c17.7 0 32-14.3 32-32V109.3l25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 109.3V320c0 17.7 14.3 32 32 32zm-18.5 69.9C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0zM192 192H48c-26.5 0-48 21.5-48 48V425c5.3-3.1 11.2-5.4 17.5-6.9c13.1-3.1 26.7-9.8 37.3-18.6c22.2-18.7 54.3-20.1 78.1-3.4c18 12.4 40.1 20.3 59.1 20.3V192zm384 48c0-26.5-21.5-48-48-48H384V416.5h0c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c6.3 1.5 12.1 3.8 17.5 6.9V240z\"]\n};\nvar faMartiniGlass = {\n prefix: 'fas',\n iconName: 'martini-glass',\n icon: [512, 512, [127864, \"glass-martini-alt\"], \"f57b\", \"M32 0C19.1 0 7.4 7.8 2.4 19.8s-2.2 25.7 6.9 34.9L224 269.3V448H160c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V269.3L502.6 54.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 0 480 0H32zM173.3 128l-64-64H402.7l-64 64H173.3z\"]\n};\nvar faGlassMartiniAlt = faMartiniGlass;\nvar faRotateLeft = {\n prefix: 'fas',\n iconName: 'rotate-left',\n icon: [512, 512, [\"rotate-back\", \"rotate-backward\", \"undo-alt\"], \"f2ea\", \"M48.5 224H40c-13.3 0-24-10.7-24-24V72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8H48.5z\"]\n};\nvar faRotateBack = faRotateLeft;\nvar faRotateBackward = faRotateLeft;\nvar faUndoAlt = faRotateLeft;\nvar faTableColumns = {\n prefix: 'fas',\n iconName: 'table-columns',\n icon: [512, 512, [\"columns\"], \"f0db\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 64V416H224V160H64zm384 0H288V416H448V160z\"]\n};\nvar faColumns = faTableColumns;\nvar faLemon = {\n prefix: 'fas',\n iconName: 'lemon',\n icon: [448, 512, [127819], \"f094\", \"M448 96c0-35.3-28.7-64-64-64c-6.6 0-13 1-19 2.9c-22.5 7-48.1 14.9-71 9c-75.2-19.1-156.4 11-213.7 68.3S-7.2 250.8 11.9 326c5.8 22.9-2 48.4-9 71C1 403 0 409.4 0 416c0 35.3 28.7 64 64 64c6.6 0 13-1 19.1-2.9c22.5-7 48.1-14.9 71-9c75.2 19.1 156.4-11 213.7-68.3s87.5-138.5 68.3-213.7c-5.8-22.9 2-48.4 9-71c1.9-6 2.9-12.4 2.9-19.1zM212.5 127.4c-54.6 16-101.1 62.5-117.1 117.1C92.9 253 84 257.8 75.5 255.4S62.2 244 64.6 235.5c19.1-65.1 73.7-119.8 138.9-138.9c8.5-2.5 17.4 2.4 19.9 10.9s-2.4 17.4-10.9 19.9z\"]\n};\nvar faHeadSideMask = {\n prefix: 'fas',\n iconName: 'head-side-mask',\n icon: [576, 512, [], \"e063\", \"M32 224.2c0-22.2 3.2-43.6 9.2-63.9L262.2 321c-4 9.5-6.2 20-6.2 31V512H128c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C48.6 322.4 32 274.1 32 224.2zm248.3 70.4L53 129.3C88.7 53 166.2 0 256 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c5.4 6.7 8.6 14.8 9.4 23.2H336c-21.7 0-41.3 8.6-55.7 22.6zM336 304H534l0 0h10l-19.7 64H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H514.5l-9.8 32H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H494.8l-.9 2.8c-8.3 26.9-33.1 45.2-61.2 45.2H288V352c0-14 6-26.7 15.6-35.4c0 0 0 0 0 0c8.5-7.8 19.9-12.6 32.4-12.6zm48-80a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faHandshake = {\n prefix: 'fas',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48V352h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123zM16 128c-8.8 0-16 7.2-16 16V352c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V128H16zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128V352c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V144c0-8.8-7.2-16-16-16H544zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faGem = {\n prefix: 'fas',\n iconName: 'gem',\n icon: [512, 512, [128142], \"f3a5\", \"M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8H376c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5l57.4 95.6L63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8L301.5 179.8l57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z\"]\n};\nvar faDolly = {\n prefix: 'fas',\n iconName: 'dolly',\n icon: [576, 512, [\"dolly-box\"], \"f472\", \"M0 32C0 14.3 14.3 0 32 0h72.9c27.5 0 52 17.6 60.7 43.8L257.7 320c30.1 .5 56.8 14.9 74 37l202.1-67.4c16.8-5.6 34.9 3.5 40.5 20.2s-3.5 34.9-20.2 40.5L352 417.7c-.9 52.2-43.5 94.3-96 94.3c-53 0-96-43-96-96c0-30.8 14.5-58.2 37-75.8L104.9 64H32C14.3 64 0 49.7 0 32zM244.8 134.5c-5.5-16.8 3.7-34.9 20.5-40.3L311 79.4l19.8 60.9 60.9-19.8L371.8 59.6l45.7-14.8c16.8-5.5 34.9 3.7 40.3 20.5l49.4 152.2c5.5 16.8-3.7 34.9-20.5 40.3L334.5 307.2c-16.8 5.5-34.9-3.7-40.3-20.5L244.8 134.5z\"]\n};\nvar faDollyBox = faDolly;\nvar faSmoking = {\n prefix: 'fas',\n iconName: 'smoking',\n icon: [640, 512, [128684], \"f48d\", \"M448 32V43c0 38.2 15.2 74.8 42.2 101.8l21 21c21 21 32.8 49.5 32.8 79.2v11c0 17.7-14.3 32-32 32s-32-14.3-32-32V245c0-12.7-5.1-24.9-14.1-33.9l-21-21C405.9 151.1 384 98.1 384 43V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM576 256V245c0-38.2-15.2-74.8-42.2-101.8l-21-21c-21-21-32.8-49.5-32.8-79.2V32c0-17.7 14.3-32 32-32s32 14.3 32 32V43c0 12.7 5.1 24.9 14.1 33.9l21 21c39 39 60.9 91.9 60.9 147.1v11c0 17.7-14.3 32-32 32s-32-14.3-32-32zM0 416c0-35.3 28.7-64 64-64H416c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V416zm224 0v32H384V416H224zm288-64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384c0-17.7 14.3-32 32-32z\"]\n};\nvar faMinimize = {\n prefix: 'fas',\n iconName: 'minimize',\n icon: [512, 512, [\"compress-arrows-alt\"], \"f78c\", \"M456 224H312c-13.3 0-24-10.7-24-24V56c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l40 40L442.3 5.7C446 2 450.9 0 456 0s10 2 13.7 5.7l36.7 36.7C510 46 512 50.9 512 56s-2 10-5.7 13.7L433 143l40 40c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8zm0 64c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-40 40 73.4 73.4c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7C466 510 461.1 512 456 512s-10-2-13.7-5.7L369 433l-40 40c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V312c0-13.3 10.7-24 24-24H456zm-256 0c13.3 0 24 10.7 24 24V456c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-40-40L69.7 506.3C66 510 61.1 512 56 512s-10-2-13.7-5.7L5.7 469.7C2 466 0 461.1 0 456s2-10 5.7-13.7L79 369 39 329c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8H200zM56 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l40-40L5.7 69.7C2 66 0 61.1 0 56s2-10 5.7-13.7L42.3 5.7C46 2 50.9 0 56 0s10 2 13.7 5.7L143 79l40-40c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2V200c0 13.3-10.7 24-24 24H56z\"]\n};\nvar faCompressArrowsAlt = faMinimize;\nvar faMonument = {\n prefix: 'fas',\n iconName: 'monument',\n icon: [384, 512, [], \"f5a6\", \"M180.7 4.7c6.2-6.2 16.4-6.2 22.6 0l80 80c2.5 2.5 4.1 5.8 4.6 9.3l40.2 322H55.9L96.1 94c.4-3.5 2-6.8 4.6-9.3l80-80zM152 272c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zM32 448H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faSnowplow = {\n prefix: 'fas',\n iconName: 'snowplow',\n icon: [640, 512, [], \"f7d2\", \"M298.9 64l68.6 160H256l-64-64V64H298.9zM445.1 242.7l-87.4-204C347.6 15.3 324.5 0 298.9 0H176c-26.5 0-48 21.5-48 48V160H96c-17.7 0-32 14.3-32 32V298.8C26.2 316.8 0 355.3 0 400c0 61.9 50.1 112 112 112H368c61.9 0 112-50.1 112-112c0-17.2-3.9-33.5-10.8-48H512v50.7c0 17 6.7 33.3 18.7 45.3l54.6 54.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L576 402.7V320 235.2L633 164c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5l-57 71.2c-9.1 11.3-14 25.4-14 40V288H448V256.7c.1-2.4-.2-4.8-.6-7.1s-1.2-4.7-2.2-6.8zM368 352c26.5 0 48 21.5 48 48s-21.5 48-48 48H112c-26.5 0-48-21.5-48-48s21.5-48 48-48H368zM144 400a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm216 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-56-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM200 424a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faAnglesRight = {\n prefix: 'fas',\n iconName: 'angles-right',\n icon: [512, 512, [187, \"angle-double-right\"], \"f101\", \"M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 265.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256 73.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z\"]\n};\nvar faAngleDoubleRight = faAnglesRight;\nvar faCannabis = {\n prefix: 'fas',\n iconName: 'cannabis',\n icon: [512, 512, [], \"f55f\", \"M256 0c5.3 0 10.3 2.7 13.3 7.1c15.8 23.5 36.7 63.7 49.2 109c7.2 26.4 11.8 55.2 10.4 84c11.5-8.8 23.7-16.7 35.8-23.6c41-23.3 84.4-36.9 112.2-42.5c5.2-1 10.7 .6 14.4 4.4s5.4 9.2 4.4 14.5c-5.6 27.7-19.3 70.9-42.7 111.7c-9.1 15.9-19.9 31.7-32.4 46.3c27.8 6.6 52.4 17.3 67.2 25.5c5.1 2.8 8.2 8.2 8.2 14s-3.2 11.2-8.2 14c-15.2 8.4-40.9 19.5-69.8 26.1c-20.2 4.6-42.9 7.2-65.2 4.6l8.3 33.1c1.5 6.1-.6 12.4-5.5 16.4s-11.6 4.6-17.2 1.9L280 417.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V417.2l-58.5 29.1c-5.6 2.8-12.3 2.1-17.2-1.9s-7-10.3-5.5-16.4l8.3-33.1c-22.2 2.6-45 0-65.2-4.6c-28.9-6.6-54.6-17.6-69.8-26.1c-5.1-2.8-8.2-8.2-8.2-14s3.2-11.2 8.2-14c14.8-8.2 39.4-18.8 67.2-25.5C78.9 296.3 68.1 280.5 59 264.6c-23.4-40.8-37.1-84-42.7-111.7c-1.1-5.2 .6-10.7 4.4-14.5s9.2-5.4 14.4-4.4c27.9 5.5 71.2 19.2 112.2 42.5c12.1 6.9 24.3 14.7 35.8 23.6c-1.4-28.7 3.1-57.6 10.4-84c12.5-45.3 33.4-85.5 49.2-109c3-4.4 8-7.1 13.3-7.1z\"]\n};\nvar faCirclePlay = {\n prefix: 'fas',\n iconName: 'circle-play',\n icon: [512, 512, [61469, \"play-circle\"], \"f144\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c-7.6 4.2-12.3 12.3-12.3 20.9V344c0 8.7 4.7 16.7 12.3 20.9s16.8 4.1 24.3-.5l144-88c7.1-4.4 11.5-12.1 11.5-20.5s-4.4-16.1-11.5-20.5l-144-88c-7.4-4.5-16.7-4.7-24.3-.5z\"]\n};\nvar faPlayCircle = faCirclePlay;\nvar faTablets = {\n prefix: 'fas',\n iconName: 'tablets',\n icon: [640, 512, [], \"f490\", \"M614.3 247c16.3-25 25.7-54.9 25.7-87C640 71.6 568.4 0 480 0c-32.1 0-61.9 9.4-87 25.7c-7.9 5.2-8.5 16.2-1.8 22.9L591.4 248.8c6.7 6.7 17.8 6.2 22.9-1.8zM567 294.3c7.9-5.2 8.5-16.2 1.8-22.9L368.6 71.2c-6.7-6.7-17.8-6.2-22.9 1.8c-16.3 25-25.7 54.9-25.7 87c0 88.4 71.6 160 160 160c32.1 0 61.9-9.4 87-25.7zM301.5 368H18.5c-9.5 0-16.9 8.2-15 17.5C18.9 457.8 83.1 512 160 512s141.1-54.2 156.5-126.5c2-9.3-5.5-17.5-15-17.5zm0-32c9.5 0 16.9-8.2 15-17.5C301.1 246.2 236.9 192 160 192S18.9 246.2 3.5 318.5c-2 9.3 5.5 17.5 15 17.5H301.5z\"]\n};\nvar faEthernet = {\n prefix: 'fas',\n iconName: 'ethernet',\n icon: [512, 512, [], \"f796\", \"M0 224V416c0 17.7 14.3 32 32 32H96V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H448V160c0-17.7-14.3-32-32-32H384V96c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32v32H96c-17.7 0-32 14.3-32 32v32H32c-17.7 0-32 14.3-32 32z\"]\n};\nvar faEuroSign = {\n prefix: 'fas',\n iconName: 'euro-sign',\n icon: [320, 512, [8364, \"eur\", \"euro\"], \"f153\", \"M48.1 240c-.1 2.7-.1 5.3-.1 8v16c0 2.7 0 5.3 .1 8H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H60.3C89.9 419.9 170 480 264 480h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H264c-57.9 0-108.2-32.4-133.9-80H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H112.2c-.1-2.6-.2-5.3-.2-8V248c0-2.7 .1-5.4 .2-8H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H130.1c25.7-47.6 76-80 133.9-80h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H264C170 32 89.9 92.1 60.3 176H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48.1z\"]\n};\nvar faEur = faEuroSign;\nvar faEuro = faEuroSign;\nvar faChair = {\n prefix: 'fas',\n iconName: 'chair',\n icon: [448, 512, [129681], \"f6c0\", \"M248 48V256h48V58.7c23.9 13.8 40 39.7 40 69.3V256h48V128C384 57.3 326.7 0 256 0H192C121.3 0 64 57.3 64 128V256h48V128c0-29.6 16.1-55.5 40-69.3V256h48V48h48zM48 288c-12.1 0-23.2 6.8-28.6 17.7l-16 32c-5 9.9-4.4 21.7 1.4 31.1S20.9 384 32 384l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32V384H352v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384c11.1 0 21.4-5.7 27.2-15.2s6.4-21.2 1.4-31.1l-16-32C423.2 294.8 412.1 288 400 288H48z\"]\n};\nvar faCircleCheck = {\n prefix: 'fas',\n iconName: 'circle-check',\n icon: [512, 512, [61533, \"check-circle\"], \"f058\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCheckCircle = faCircleCheck;\nvar faCircleStop = {\n prefix: 'fas',\n iconName: 'circle-stop',\n icon: [512, 512, [62094, \"stop-circle\"], \"f28d\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 160H320c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\"]\n};\nvar faStopCircle = faCircleStop;\nvar faCompassDrafting = {\n prefix: 'fas',\n iconName: 'compass-drafting',\n icon: [512, 512, [\"drafting-compass\"], \"f568\", \"M352 96c0 14.3-3.1 27.9-8.8 40.2L396 227.4c-23.7 25.3-54.2 44.1-88.5 53.6L256 192h0 0l-68 117.5c21.5 6.8 44.3 10.5 68.1 10.5c70.7 0 133.8-32.7 174.9-84c11.1-13.8 31.2-16 45-5s16 31.2 5 45C428.1 341.8 347 384 256 384c-35.4 0-69.4-6.4-100.7-18.1L98.7 463.7C94 471.8 87 478.4 78.6 482.6L23.2 510.3c-5 2.5-10.9 2.2-15.6-.7S0 501.5 0 496V440.6c0-8.4 2.2-16.7 6.5-24.1l60-103.7C53.7 301.6 41.8 289.3 31.2 276c-11.1-13.8-8.8-33.9 5-45s33.9-8.8 45 5c5.7 7.1 11.8 13.8 18.2 20.1l69.4-119.9c-5.6-12.2-8.8-25.8-8.8-40.2c0-53 43-96 96-96s96 43 96 96zm21 297.9c32.6-12.8 62.5-30.8 88.9-52.9l43.7 75.5c4.2 7.3 6.5 15.6 6.5 24.1V496c0 5.5-2.9 10.7-7.6 13.6s-10.6 3.2-15.6 .7l-55.4-27.7c-8.4-4.2-15.4-10.8-20.1-18.9L373 393.9zM256 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDraftingCompass = faCompassDrafting;\nvar faPlateWheat = {\n prefix: 'fas',\n iconName: 'plate-wheat',\n icon: [512, 512, [], \"e55a\", \"M176 32c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zM56 64h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zM24 136H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 96c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM272 48c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48zM400 32c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zm80 160v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM352 176c8.8 0 16 7.2 16 16v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80zm-96 16v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM3.5 347.6C1.6 332.9 13 320 27.8 320H484.2c14.8 0 26.2 12.9 24.4 27.6C502.3 397.8 464.2 437 416 446v2c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32v-2c-48.2-9-86.3-48.2-92.5-98.4z\"]\n};\nvar faIcicles = {\n prefix: 'fas',\n iconName: 'icicles',\n icon: [512, 512, [], \"f7ad\", \"M75.8 304.8L1 35.7c-.7-2.5-1-5-1-7.5C0 12.6 12.6 0 28.2 0H482.4C498.8 0 512 13.2 512 29.6c0 1.6-.1 3.3-.4 4.9L434.6 496.1c-1.5 9.2-9.5 15.9-18.8 15.9c-9.2 0-17.1-6.6-18.7-15.6L336 160 307.2 303.9c-1.9 9.3-10.1 16.1-19.6 16.1c-9.2 0-17.2-6.2-19.4-15.1L240 192 210.6 368.2c-1.5 9.1-9.4 15.8-18.6 15.8s-17.1-6.7-18.6-15.8L144 192 115.9 304.3c-2.3 9.2-10.6 15.7-20.1 15.7c-9.3 0-17.5-6.2-20-15.2z\"]\n};\nvar faPersonShelter = {\n prefix: 'fas',\n iconName: 'person-shelter',\n icon: [512, 512, [], \"e54f\", \"M271.9 4.2c-9.8-5.6-21.9-5.6-31.8 0l-224 128C6.2 137.9 0 148.5 0 160V480c0 17.7 14.3 32 32 32s32-14.3 32-32V178.6L256 68.9 448 178.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-11.5-6.2-22.1-16.1-27.8l-224-128zM256 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm-8 280V400h16v88c0 13.3 10.7 24 24 24s24-10.7 24-24V313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H246.2c-32.4 0-62.1 17.8-77.5 46.3l-37.9 70.3c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L200 313.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faNeuter = {\n prefix: 'fas',\n iconName: 'neuter',\n icon: [384, 512, [9906], \"f22c\", \"M80 176a112 112 0 1 1 224 0A112 112 0 1 1 80 176zM224 349.1c81.9-15 144-86.8 144-173.1C368 78.8 289.2 0 192 0S16 78.8 16 176c0 86.3 62.1 158.1 144 173.1V480c0 17.7 14.3 32 32 32s32-14.3 32-32V349.1z\"]\n};\nvar faIdBadge = {\n prefix: 'fas',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm96 320h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM144 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMarker = {\n prefix: 'fas',\n iconName: 'marker',\n icon: [512, 512, [], \"f5a1\", \"M481 31C445.1-4.8 386.9-4.8 351 31l-15 15L322.9 33C294.8 4.9 249.2 4.9 221.1 33L135 119c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L255 66.9c9.4-9.4 24.6-9.4 33.9 0L302.1 80 186.3 195.7 316.3 325.7 481 161c35.9-35.9 35.9-94.1 0-129.9zM293.7 348.3L163.7 218.3 99.5 282.5c-48 48-80.8 109.2-94.1 175.8l-5 25c-1.6 7.9 .9 16 6.6 21.7s13.8 8.1 21.7 6.6l25-5c66.6-13.3 127.8-46.1 175.8-94.1l64.2-64.2z\"]\n};\nvar faFaceLaughBeam = {\n prefix: 'fas',\n iconName: 'face-laugh-beam',\n icon: [512, 512, [128513, \"laugh-beam\"], \"f59a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM217.6 212.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faLaughBeam = faFaceLaughBeam;\nvar faHelicopterSymbol = {\n prefix: 'fas',\n iconName: 'helicopter-symbol',\n icon: [512, 512, [], \"e502\", \"M445.3 224H510C495.6 108.2 403.8 16.4 288 2V66.7C368.4 80.1 431.9 143.6 445.3 224zM510 288H445.3C431.9 368.4 368.4 431.9 288 445.4V510c115.8-14.4 207.6-106.2 222-222zM2 288C16.4 403.8 108.2 495.6 224 510V445.4C143.6 431.9 80.1 368.4 66.7 288H2zm0-64H66.7C80.1 143.6 143.6 80.1 224 66.7V2C108.2 16.4 16.4 108.2 2 224zm206-64c0-17.7-14.3-32-32-32s-32 14.3-32 32V352c0 17.7 14.3 32 32 32s32-14.3 32-32V288h96v64c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H208V160z\"]\n};\nvar faUniversalAccess = {\n prefix: 'fas',\n iconName: 'universal-access',\n icon: [512, 512, [], \"f29a\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm161.5-86.1c-12.2-5.2-26.3 .4-31.5 12.6s.4 26.3 12.6 31.5l11.9 5.1c17.3 7.4 35.2 12.9 53.6 16.3v50.1c0 4.3-.7 8.6-2.1 12.6l-28.7 86.1c-4.2 12.6 2.6 26.2 15.2 30.4s26.2-2.6 30.4-15.2l24.4-73.2c1.3-3.8 4.8-6.4 8.8-6.4s7.6 2.6 8.8 6.4l24.4 73.2c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-28.7-86.1c-1.4-4.1-2.1-8.3-2.1-12.6V235.5c18.4-3.5 36.3-8.9 53.6-16.3l11.9-5.1c12.2-5.2 17.8-19.3 12.6-31.5s-19.3-17.8-31.5-12.6L338.7 175c-26.1 11.2-54.2 17-82.7 17s-56.5-5.8-82.7-17l-11.9-5.1zM256 160a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faCircleChevronUp = {\n prefix: 'fas',\n iconName: 'circle-chevron-up',\n icon: [512, 512, [\"chevron-circle-up\"], \"f139\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM377 271c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 167c9.4-9.4 24.6-9.4 33.9 0L377 271z\"]\n};\nvar faChevronCircleUp = faCircleChevronUp;\nvar faLariSign = {\n prefix: 'fas',\n iconName: 'lari-sign',\n icon: [384, 512, [], \"e1c8\", \"M144 32c17.7 0 32 14.3 32 32V96.7c5.3-.4 10.6-.7 16-.7s10.7 .2 16 .7V64c0-17.7 14.3-32 32-32s32 14.3 32 32v49.4c54.9 25.2 95.8 75.5 108.2 136.2c3.5 17.3-7.7 34.2-25 37.7s-34.2-7.7-37.7-25c-6.1-29.9-22.5-55.9-45.4-74.3V256c0 17.7-14.3 32-32 32s-32-14.3-32-32V161c-5.2-.7-10.6-1-16-1s-10.8 .3-16 1v95c0 17.7-14.3 32-32 32s-32-14.3-32-32V188.1C82.7 211.5 64 247.6 64 288c0 70.7 57.3 128 128 128H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H192 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48.9C18.5 382 0 337.2 0 288c0-77.5 45.9-144.3 112-174.6V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faVolcano = {\n prefix: 'fas',\n iconName: 'volcano',\n icon: [512, 512, [127755], \"f770\", \"M160 144c-35.3 0-64-28.7-64-64s28.7-64 64-64c15.7 0 30 5.6 41.2 15C212.4 12.4 232.7 0 256 0s43.6 12.4 54.8 31C322 21.6 336.3 16 352 16c35.3 0 64 28.7 64 64s-28.7 64-64 64c-14.7 0-28.3-5-39.1-13.3l-32 48C275.3 187 266 192 256 192s-19.3-5-24.9-13.3l-32-48C188.3 139 174.7 144 160 144zM144 352l48.4-24.2c10.2-5.1 21.6-7.8 33-7.8c19.6 0 38.4 7.8 52.2 21.6l32.5 32.5c6.3 6.3 14.9 9.9 23.8 9.9c11.3 0 21.8-5.6 28-15l9.7-14.6-58.9-66.3c-9.1-10.2-22.2-16.1-35.9-16.1H235.1c-13.7 0-26.8 5.9-35.9 16.1l-59.9 67.4L144 352zm19.4-95.8c18.2-20.5 44.3-32.2 71.8-32.2h41.8c27.4 0 53.5 11.7 71.8 32.2l150.2 169c8.5 9.5 13.2 21.9 13.2 34.7c0 28.8-23.4 52.2-52.2 52.2H52.2C23.4 512 0 488.6 0 459.8c0-12.8 4.7-25.1 13.2-34.7l150.2-169z\"]\n};\nvar faPersonWalkingDashedLineArrowRight = {\n prefix: 'fas',\n iconName: 'person-walking-dashed-line-arrow-right',\n icon: [640, 512, [], \"e553\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224H384c-17.7 0-32 14.3-32 32s14.3 32 32 32H530.7l-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80zM392 0c-13.3 0-24 10.7-24 24V72c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zm24 152c0-13.3-10.7-24-24-24s-24 10.7-24 24v16c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM392 320c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24s24-10.7 24-24V344c0-13.3-10.7-24-24-24zm24 120c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V440z\"]\n};\nvar faSterlingSign = {\n prefix: 'fas',\n iconName: 'sterling-sign',\n icon: [320, 512, [163, \"gbp\", \"pound-sign\"], \"f154\", \"M112 160.4c0-35.5 28.8-64.4 64.4-64.4c6.9 0 13.8 1.1 20.4 3.3l81.2 27.1c16.8 5.6 34.9-3.5 40.5-20.2s-3.5-34.9-20.2-40.5L217 38.6c-13.1-4.4-26.8-6.6-40.6-6.6C105.5 32 48 89.5 48 160.4V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48v44.5c0 17.4-4.7 34.5-13.7 49.4L4.6 431.5c-5.9 9.9-6.1 22.2-.4 32.2S20.5 480 32 480H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H88.5l.7-1.1C104.1 390 112 361.5 112 332.5V288H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V160.4z\"]\n};\nvar faGbp = faSterlingSign;\nvar faPoundSign = faSterlingSign;\nvar faViruses = {\n prefix: 'fas',\n iconName: 'viruses',\n icon: [640, 512, [], \"e076\", \"M192 0c13.3 0 24 10.7 24 24V37.5c0 35.6 43.1 53.5 68.3 28.3l9.5-9.5c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-9.5 9.5C293 124.9 310.9 168 346.5 168H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H346.5c-35.6 0-53.5 43.1-28.3 68.3l9.5 9.5c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-9.5-9.5C259.1 293 216 310.9 216 346.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V346.5c0-35.6-43.1-53.5-68.3-28.3l-9.5 9.5c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l9.5-9.5C91 259.1 73.1 216 37.5 216H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H37.5c35.6 0 53.5-43.1 28.3-68.3l-9.5-9.5c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l9.5 9.5C124.9 91 168 73.1 168 37.5V24c0-13.3 10.7-24 24-24zm48 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-48-64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm320 80c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C574.5 312.1 591 352 624 352c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C551.9 446.5 512 463 512 496c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C417.5 423.9 401 384 368 384c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C440.1 289.5 480 273 480 240c0-8.8 7.2-16 16-16s16 7.2 16 16zm0 112a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSquarePersonConfined = {\n prefix: 'fas',\n iconName: 'square-person-confined',\n icon: [448, 512, [], \"e577\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm96 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm80 104c0-30.9 25.1-56 56-56s56 25.1 56 56V350.1c0 36.4-29.5 65.9-65.9 65.9c-17.5 0-34.3-6.9-46.6-19.3L184.8 342l-28.1 56.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l48-96c4.6-9.2 13.3-15.6 23.5-17.3s20.5 1.7 27.8 9L240 306.7V248z\"]\n};\nvar faUserTie = {\n prefix: 'fas',\n iconName: 'user-tie',\n icon: [448, 512, [], \"f508\", \"M224 256A128 128 0 1 1 224 0a128 128 0 1 1 0 256zM209.1 359.2l-18.6-31c-6.4-10.7 1.3-24.2 13.7-24.2H224h19.7c12.4 0 20.1 13.6 13.7 24.2l-18.6 31 33.4 123.9 36-146.9c2-8.1 9.8-13.4 17.9-11.3c70.1 17.6 121.9 81 121.9 156.4c0 17-13.8 30.7-30.7 30.7H285.5c-2.1 0-4-.4-5.8-1.1l.3 1.1H168l.3-1.1c-1.8 .7-3.8 1.1-5.8 1.1H30.7C13.8 512 0 498.2 0 481.3c0-75.5 51.9-138.9 121.9-156.4c8.1-2 15.9 3.3 17.9 11.3l36 146.9 33.4-123.9z\"]\n};\nvar faArrowDownLong = {\n prefix: 'fas',\n iconName: 'arrow-down-long',\n icon: [384, 512, [\"long-arrow-down\"], \"f175\", \"M169.4 502.6c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 402.7 224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 370.7L86.6 329.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128z\"]\n};\nvar faLongArrowDown = faArrowDownLong;\nvar faTentArrowDownToLine = {\n prefix: 'fas',\n iconName: 'tent-arrow-down-to-line',\n icon: [640, 512, [], \"e57e\", \"M241.8 111.9c8.9 9.9 8.1 25-1.8 33.9l-80 72c-9.1 8.2-23 8.2-32.1 0l-80-72c-9.9-8.9-10.7-24-1.8-33.9s24-10.7 33.9-1.8l39.9 36L120 24c0-13.3 10.7-24 24-24s24 10.7 24 24l0 122.1 39.9-36c9.9-8.9 25-8.1 33.9 1.8zm122.8 22.6c11.5-8.7 27.3-8.7 38.8 0l168 128c6.6 5 11 12.5 12.3 20.7l24 160 .7 4.7c17.5 .2 31.6 14.4 31.6 32c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H159.6l.7-4.7 24-160c1.2-8.2 5.6-15.7 12.3-20.7l168-128zM384 448h76.8L384 320V448z\"]\n};\nvar faCertificate = {\n prefix: 'fas',\n iconName: 'certificate',\n icon: [512, 512, [], \"f0a3\", \"M211 7.3C205 1 196-1.4 187.6 .8s-14.9 8.9-17.1 17.3L154.7 80.6l-62-17.5c-8.4-2.4-17.4 0-23.5 6.1s-8.5 15.1-6.1 23.5l17.5 62L18.1 170.6c-8.4 2.1-15 8.7-17.3 17.1S1 205 7.3 211l46.2 45L7.3 301C1 307-1.4 316 .8 324.4s8.9 14.9 17.3 17.1l62.5 15.8-17.5 62c-2.4 8.4 0 17.4 6.1 23.5s15.1 8.5 23.5 6.1l62-17.5 15.8 62.5c2.1 8.4 8.7 15 17.1 17.3s17.3-.2 23.4-6.4l45-46.2 45 46.2c6.1 6.2 15 8.7 23.4 6.4s14.9-8.9 17.1-17.3l15.8-62.5 62 17.5c8.4 2.4 17.4 0 23.5-6.1s8.5-15.1 6.1-23.5l-17.5-62 62.5-15.8c8.4-2.1 15-8.7 17.3-17.1s-.2-17.3-6.4-23.4l-46.2-45 46.2-45c6.2-6.1 8.7-15 6.4-23.4s-8.9-14.9-17.3-17.1l-62.5-15.8 17.5-62c2.4-8.4 0-17.4-6.1-23.5s-15.1-8.5-23.5-6.1l-62 17.5L341.4 18.1c-2.1-8.4-8.7-15-17.1-17.3S307 1 301 7.3L256 53.5 211 7.3z\"]\n};\nvar faReplyAll = {\n prefix: 'fas',\n iconName: 'reply-all',\n icon: [576, 512, [\"mail-reply-all\"], \"f122\", \"M209.4 39.5c-9.1-9.6-24.3-10-33.9-.9L33.8 173.2c-19.9 18.9-19.9 50.7 0 69.6L175.5 377.4c9.6 9.1 24.8 8.7 33.9-.9s8.7-24.8-.9-33.9L66.8 208 208.5 73.4c9.6-9.1 10-24.3 .9-33.9zM352 64c0-12.6-7.4-24.1-19-29.2s-25-3-34.4 5.4l-160 144c-6.7 6.1-10.6 14.7-10.6 23.8s3.9 17.7 10.6 23.8l160 144c9.4 8.5 22.9 10.6 34.4 5.4s19-16.6 19-29.2V288h32c53 0 96 43 96 96c0 30.4-12.8 47.9-22.2 56.7c-5.5 5.1-9.8 12-9.8 19.5c0 10.9 8.8 19.7 19.7 19.7c2.8 0 5.6-.6 8.1-1.9C494.5 467.9 576 417.3 576 304c0-97.2-78.8-176-176-176H352V64z\"]\n};\nvar faMailReplyAll = faReplyAll;\nvar faSuitcase = {\n prefix: 'fas',\n iconName: 'suitcase',\n icon: [512, 512, [129523], \"f0f2\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96v32V480H128V128 96zM64 96H96V480H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64zM448 480H416V96h32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64z\"]\n};\nvar faPersonSkating = {\n prefix: 'fas',\n iconName: 'person-skating',\n icon: [448, 512, [\"skating\"], \"f7c5\", \"M352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM128 128c0-17.7 14.3-32 32-32H319.4c43.6 0 64.6 53.4 32.8 83.1l-74.4 69.4 60.2 60.2c9 9 14.1 21.2 14.1 33.9V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V349.3l-77.9-77.8c-26.6-26.6-24.6-70.3 4.3-94.4l20.4-17H160c-17.7 0-32-14.3-32-32zM81.4 353.4l86.9-86.9c4.6 10 11 19.3 19.3 27.5l21.8 21.8-82.7 82.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3zm322.5 95.1c8.6 2.1 13.8 10.8 11.6 19.4l-.4 1.7c-6.2 24.9-28.6 42.4-54.3 42.4H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h88.8c11 0 20.6-7.5 23.3-18.2l.4-1.7c2.1-8.6 10.8-13.8 19.4-11.6zM135.2 478.3l-6.2 3.1c-21.6 10.8-47.6 6.6-64.6-10.5L4.7 411.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l59.6 59.6c7.3 7.3 18.5 9.1 27.7 4.5l6.2-3.1c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5z\"]\n};\nvar faSkating = faPersonSkating;\nvar faFilterCircleDollar = {\n prefix: 'fas',\n iconName: 'filter-circle-dollar',\n icon: [576, 512, [\"funnel-dollar\"], \"f662\", \"M3.9 22.9C10.5 8.9 24.5 0 40 0H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L396.4 195.6C316.2 212.1 256 283 256 368c0 27.4 6.3 53.4 17.5 76.5c-1.6-.8-3.2-1.8-4.7-2.9l-64-48c-8.1-6-12.8-15.5-12.8-25.6V288.9L9 65.3C-.7 53.4-2.8 36.8 3.9 22.9zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm120.8-32.6c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V288c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7 2.3 15.1 4.8 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V438.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1c-.1-1.9 .3-2.9 .8-3.6z\"]\n};\nvar faFunnelDollar = faFilterCircleDollar;\nvar faCameraRetro = {\n prefix: 'fas',\n iconName: 'camera-retro',\n icon: [512, 512, [128247], \"f083\", \"M220.6 121.2L271.1 96 448 96v96H333.2c-21.9-15.1-48.5-24-77.2-24s-55.2 8.9-77.2 24H64V128H192c9.9 0 19.7-2.3 28.6-6.8zM0 128V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H271.1c-9.9 0-19.7 2.3-28.6 6.8L192 64H160V48c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16l0 16C28.7 64 0 92.7 0 128zM168 304a88 88 0 1 1 176 0 88 88 0 1 1 -176 0z\"]\n};\nvar faCircleArrowDown = {\n prefix: 'fas',\n iconName: 'circle-arrow-down',\n icon: [512, 512, [\"arrow-circle-down\"], \"f0ab\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM127 281c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l71 71L232 136c0-13.3 10.7-24 24-24s24 10.7 24 24l0 182.1 71-71c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L273 393c-9.4 9.4-24.6 9.4-33.9 0L127 281z\"]\n};\nvar faArrowCircleDown = faCircleArrowDown;\nvar faFileImport = {\n prefix: 'fas',\n iconName: 'file-import',\n icon: [512, 512, [\"arrow-right-to-file\"], \"f56f\", \"M128 64c0-35.3 28.7-64 64-64H352V128c0 17.7 14.3 32 32 32H512V448c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64V336H302.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H128V64zm0 224v48H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H128zM512 128H384V0L512 128z\"]\n};\nvar faArrowRightToFile = faFileImport;\nvar faSquareArrowUpRight = {\n prefix: 'fas',\n iconName: 'square-arrow-up-right',\n icon: [448, 512, [\"external-link-square\"], \"f14c\", \"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM160 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h94.1L119 327c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V328c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24H160z\"]\n};\nvar faExternalLinkSquare = faSquareArrowUpRight;\nvar faBoxOpen = {\n prefix: 'fas',\n iconName: 'box-open',\n icon: [640, 512, [], \"f49e\", \"M58.9 42.1c3-6.1 9.6-9.6 16.3-8.7L320 64 564.8 33.4c6.7-.8 13.3 2.7 16.3 8.7l41.7 83.4c9 17.9-.6 39.6-19.8 45.1L439.6 217.3c-13.9 4-28.8-1.9-36.2-14.3L320 64 236.6 203c-7.4 12.4-22.3 18.3-36.2 14.3L37.1 170.6c-19.3-5.5-28.8-27.2-19.8-45.1L58.9 42.1zM321.1 128l54.9 91.4c14.9 24.8 44.6 36.6 72.5 28.6L576 211.6v167c0 22-15 41.2-36.4 46.6l-204.1 51c-10.2 2.6-20.9 2.6-31 0l-204.1-51C79 419.7 64 400.5 64 378.5v-167L191.6 248c27.8 8 57.6-3.8 72.5-28.6L318.9 128h2.2z\"]\n};\nvar faScroll = {\n prefix: 'fas',\n iconName: 'scroll',\n icon: [576, 512, [128220], \"f70e\", \"M0 80v48c0 17.7 14.3 32 32 32H48 96V80c0-26.5-21.5-48-48-48S0 53.5 0 80zM112 32c10 13.4 16 30 16 48V384c0 35.3 28.7 64 64 64s64-28.7 64-64v-5.3c0-32.4 26.3-58.7 58.7-58.7H480V128c0-53-43-96-96-96H112zM464 480c61.9 0 112-50.1 112-112c0-8.8-7.2-16-16-16H314.7c-14.7 0-26.7 11.9-26.7 26.7V384c0 53-43 96-96 96H368h96z\"]\n};\nvar faSpa = {\n prefix: 'fas',\n iconName: 'spa',\n icon: [576, 512, [], \"f5bb\", \"M183.1 235.3c33.7 20.7 62.9 48.1 85.8 80.5c7 9.9 13.4 20.3 19.1 31c5.7-10.8 12.1-21.1 19.1-31c22.9-32.4 52.1-59.8 85.8-80.5C437.6 207.8 490.1 192 546 192h9.9c11.1 0 20.1 9 20.1 20.1C576 360.1 456.1 480 308.1 480H288 267.9C119.9 480 0 360.1 0 212.1C0 201 9 192 20.1 192H30c55.9 0 108.4 15.8 153.1 43.3zM301.5 37.6c15.7 16.9 61.1 71.8 84.4 164.6c-38 21.6-71.4 50.8-97.9 85.6c-26.5-34.8-59.9-63.9-97.9-85.6c23.2-92.8 68.6-147.7 84.4-164.6C278 33.9 282.9 32 288 32s10 1.9 13.5 5.6z\"]\n};\nvar faLocationPinLock = {\n prefix: 'fas',\n iconName: 'location-pin-lock',\n icon: [512, 512, [], \"e51f\", \"M215.7 499.2c11-13.8 25.1-31.7 40.3-52.3V352c0-23.7 12.9-44.4 32-55.4V272c0-55.6 40.5-101.7 93.6-110.5C367 70 287.7 0 192 0C86 0 0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM400 240c17.7 0 32 14.3 32 32v48H368V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faPause = {\n prefix: 'fas',\n iconName: 'pause',\n icon: [320, 512, [9208], \"f04c\", \"M48 64C21.5 64 0 85.5 0 112V400c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H48zm192 0c-26.5 0-48 21.5-48 48V400c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H240z\"]\n};\nvar faHillAvalanche = {\n prefix: 'fas',\n iconName: 'hill-avalanche',\n icon: [576, 512, [], \"e507\", \"M439.7 401.9c34.2 23.1 81.1 19.5 111.4-10.8c34.4-34.4 34.4-90.1 0-124.4c-27.8-27.8-69.5-33.1-102.6-16c-11.8 6.1-16.4 20.6-10.3 32.3s20.6 16.4 32.3 10.3c15.1-7.8 34-5.3 46.6 7.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-81.7-81.7C401.2 261.3 416 236.4 416 208c0-33.9-21.1-62.9-50.9-74.5c1.9-6.8 2.9-14 2.9-21.5c0-44.2-35.8-80-80-80c-27.3 0-51.5 13.7-65.9 34.6C216.3 46.6 197.9 32 176 32c-26.5 0-48 21.5-48 48c0 4 .5 7.9 1.4 11.6L439.7 401.9zM480 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM68.3 87C43.1 61.8 0 79.7 0 115.3V432c0 44.2 35.8 80 80 80H396.7c35.6 0 53.5-43.1 28.3-68.3L68.3 87z\"]\n};\nvar faTemperatureEmpty = {\n prefix: 'fas',\n iconName: 'temperature-empty',\n icon: [320, 512, [\"temperature-0\", \"thermometer-0\", \"thermometer-empty\"], \"f2cb\", \"M112 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C233.8 332.6 240 349.5 240 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5V112zM160 0C98.1 0 48 50.2 48 112V276.5c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C27.2 304.2 16 334.8 16 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C272 50.2 221.9 0 160 0zm0 416a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faTemperature0 = faTemperatureEmpty;\nvar faThermometer0 = faTemperatureEmpty;\nvar faThermometerEmpty = faTemperatureEmpty;\nvar faBomb = {\n prefix: 'fas',\n iconName: 'bomb',\n icon: [512, 512, [128163], \"f1e2\", \"M459.1 52.4L442.6 6.5C440.7 2.6 436.5 0 432.1 0s-8.5 2.6-10.4 6.5L405.2 52.4l-46 16.8c-4.3 1.6-7.3 5.9-7.2 10.4c0 4.5 3 8.7 7.2 10.2l45.7 16.8 16.8 45.8c1.5 4.4 5.8 7.5 10.4 7.5s8.9-3.1 10.4-7.5l16.5-45.8 45.7-16.8c4.2-1.5 7.2-5.7 7.2-10.2c0-4.6-3-8.9-7.2-10.4L459.1 52.4zm-132.4 53c-12.5-12.5-32.8-12.5-45.3 0l-2.9 2.9C256.5 100.3 232.7 96 208 96C93.1 96 0 189.1 0 304S93.1 512 208 512s208-93.1 208-208c0-24.7-4.3-48.5-12.2-70.5l2.9-2.9c12.5-12.5 12.5-32.8 0-45.3l-80-80zM200 192c-57.4 0-104 46.6-104 104v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-75.1 60.9-136 136-136h8c8.8 0 16 7.2 16 16s-7.2 16-16 16h-8z\"]\n};\nvar faRegistered = {\n prefix: 'fas',\n iconName: 'registered',\n icon: [512, 512, [174], \"f25d\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152c0-13.3 10.7-24 24-24h88c44.2 0 80 35.8 80 80c0 28-14.4 52.7-36.3 67l34.1 75.1c5.5 12.1 .1 26.3-11.9 31.8s-26.3 .1-31.8-11.9L268.9 288H208v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152zm48 88h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H208v64z\"]\n};\nvar faAddressCard = {\n prefix: 'fas',\n iconName: 'address-card',\n icon: [576, 512, [62140, \"contact-card\", \"vcard\"], \"f2bb\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 256h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm256-32H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faContactCard = faAddressCard;\nvar faVcard = faAddressCard;\nvar faScaleUnbalancedFlip = {\n prefix: 'fas',\n iconName: 'scale-unbalanced-flip',\n icon: [640, 512, [\"balance-scale-right\"], \"f516\", \"M117.9 62.4c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l113 37.7C265 15.8 290.7 0 320 0c44.2 0 80 35.8 80 80c0 3-.2 5.9-.5 8.8l122.6 40.9c16.8 5.6 25.8 23.7 20.2 40.5s-23.7 25.8-40.5 20.2L366.4 145.2c-4.5 3.2-9.3 5.9-14.4 8.2V480c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-21-9.2-37.2-27-44.2-49l-125.9-42zM200.4 288L128 163.8 55.6 288H200.4zM128 384C65.1 384 12.8 350 2 305.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C243.2 350 190.9 384 128 384zm382.8-92.2L438.4 416H583.3L510.8 291.8zm126 141.3C626 478 573.7 512 510.8 512s-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1z\"]\n};\nvar faBalanceScaleRight = faScaleUnbalancedFlip;\nvar faSubscript = {\n prefix: 'fas',\n iconName: 'subscript',\n icon: [512, 512, [], \"f12c\", \"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H47.3l89.6 128L47.3 384H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64c10.4 0 20.2-5.1 26.2-13.6L176 311.8l85.8 122.6c6 8.6 15.8 13.6 26.2 13.6h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H304.7L215.1 256l89.6-128H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H288c-10.4 0-20.2 5.1-26.2 13.6L176 200.2 90.2 77.6C84.2 69.1 74.4 64 64 64H32zM480 320c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32 16c-15.8 7.9-22.2 27.1-14.3 42.9C393 361.5 404.3 368 416 368v80c-17.7 0-32 14.3-32 32s14.3 32 32 32h32 32c17.7 0 32-14.3 32-32s-14.3-32-32-32V320z\"]\n};\nvar faDiamondTurnRight = {\n prefix: 'fas',\n iconName: 'diamond-turn-right',\n icon: [512, 512, [\"directions\"], \"f5eb\", \"M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zm87.6 137c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8v56H224c-35.3 0-64 28.7-64 64v48c0 13.3 10.7 24 24 24s24-10.7 24-24V280c0-8.8 7.2-16 16-16h64v56c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z\"]\n};\nvar faDirections = faDiamondTurnRight;\nvar faBurst = {\n prefix: 'fas',\n iconName: 'burst',\n icon: [512, 512, [], \"e4dc\", \"M37.6 4.2C28-2.3 15.2-1.1 7 7s-9.4 21-2.8 30.5l112 163.3L16.6 233.2C6.7 236.4 0 245.6 0 256s6.7 19.6 16.6 22.8l103.1 33.4L66.8 412.8c-4.9 9.3-3.2 20.7 4.3 28.1s18.8 9.2 28.1 4.3l100.6-52.9 33.4 103.1c3.2 9.9 12.4 16.6 22.8 16.6s19.6-6.7 22.8-16.6l33.4-103.1 100.6 52.9c9.3 4.9 20.7 3.2 28.1-4.3s9.2-18.8 4.3-28.1L392.3 312.2l103.1-33.4c9.9-3.2 16.6-12.4 16.6-22.8s-6.7-19.6-16.6-22.8L388.9 198.7l25.7-70.4c3.2-8.8 1-18.6-5.6-25.2s-16.4-8.8-25.2-5.6l-70.4 25.7L278.8 16.6C275.6 6.7 266.4 0 256 0s-19.6 6.7-22.8 16.6l-32.3 99.6L37.6 4.2z\"]\n};\nvar faHouseLaptop = {\n prefix: 'fas',\n iconName: 'house-laptop',\n icon: [640, 512, [\"laptop-house\"], \"e066\", \"M218.3 8.5c12.3-11.3 31.2-11.3 43.4 0l208 192c6.7 6.2 10.3 14.8 10.3 23.5H336c-19.1 0-36.3 8.4-48 21.7V208c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64V416H112c-26.5 0-48-21.5-48-48V256H32c-13.2 0-25-8.1-29.8-20.3s-1.6-26.2 8.1-35.2l208-192zM352 304V448H544V304H352zm-48-16c0-17.7 14.3-32 32-32H560c17.7 0 32 14.3 32 32V448h32c8.8 0 16 7.2 16 16c0 26.5-21.5 48-48 48H544 352 304c-26.5 0-48-21.5-48-48c0-8.8 7.2-16 16-16h32V288z\"]\n};\nvar faLaptopHouse = faHouseLaptop;\nvar faFaceTired = {\n prefix: 'fas',\n iconName: 'face-tired',\n icon: [512, 512, [128555, \"tired\"], \"f5c8\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.7 328.7c22-22 53.9-40.7 91.3-40.7s69.3 18.7 91.3 40.7c11.1 11.1 20.1 23.4 26.4 35.4c6.2 11.7 10.3 24.4 10.3 35.9c0 5.2-2.6 10.2-6.9 13.2s-9.8 3.7-14.7 1.8l-20.5-7.7c-26.9-10.1-55.5-15.3-84.3-15.3h-3.2c-28.8 0-57.3 5.2-84.3 15.3L149.6 415c-4.9 1.8-10.4 1.2-14.7-1.8s-6.9-7.9-6.9-13.2c0-11.6 4.2-24.2 10.3-35.9c6.3-12 15.3-24.3 26.4-35.4zm-31.2-182l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faTired = faFaceTired;\nvar faMoneyBills = {\n prefix: 'fas',\n iconName: 'money-bills',\n icon: [640, 512, [], \"e1f3\", \"M96 96V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zm64 160c35.3 0 64 28.7 64 64H160V256zM224 96c0 35.3-28.7 64-64 64V96h64zM576 256v64H512c0-35.3 28.7-64 64-64zM512 96h64v64c-35.3 0-64-28.7-64-64zM288 208a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120z\"]\n};\nvar faSmog = {\n prefix: 'fas',\n iconName: 'smog',\n icon: [640, 512, [], \"f75f\", \"M32 144c0 79.5 64.5 144 144 144H299.3c22.6 19.9 52.2 32 84.7 32s62.1-12.1 84.7-32H496c61.9 0 112-50.1 112-112s-50.1-112-112-112c-10.7 0-21 1.5-30.8 4.3C443.8 27.7 401.1 0 352 0c-32.6 0-62.4 12.2-85.1 32.3C242.1 12.1 210.5 0 176 0C96.5 0 32 64.5 32 144zM616 368H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-64 96H440c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-192 0H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24zM224 392c0-13.3-10.7-24-24-24H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H200c13.3 0 24-10.7 24-24z\"]\n};\nvar faCrutch = {\n prefix: 'fas',\n iconName: 'crutch',\n icon: [512, 512, [], \"f7f7\", \"M297.4 9.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0zm-96 144l-34.8 34.8c-12.9 12.9-21.9 29.2-25.8 47.1L116.8 342.9c-1.3 5.9-4.3 11.4-8.6 15.7L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l98.8-98.8c4.3-4.3 9.7-7.3 15.7-8.6l107.6-23.9c17.8-4 34.1-12.9 47.1-25.8l34.7-34.7c0 0 .1-.1 .1-.1s.1-.1 .1-.1l74.6-74.6-45.3-45.3L336 242.7 269.3 176l52.1-52.1L276.1 78.6l-74.7 74.7zM224 221.3L290.7 288l-12.2 12.2c-4.3 4.3-9.7 7.3-15.7 8.6l-76.7 17 17-76.7c1.3-5.9 4.3-11.4 8.6-15.7L224 221.3z\"]\n};\nvar faFontAwesome = {\n prefix: 'fas',\n iconName: 'font-awesome',\n icon: [448, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", \"M448 48V384c-63.1 22.5-82.3 32-119.5 32c-62.8 0-86.6-32-149.3-32c-20.6 0-36.6 3.6-51.2 8.2v-64c14.6-4.6 30.6-8.2 51.2-8.2c62.7 0 86.5 32 149.3 32c20.4 0 35.6-3 55.5-9.3v-208c-19.9 6.3-35.1 9.3-55.5 9.3c-62.8 0-86.6-32-149.3-32c-50.8 0-74.9 20.6-115.2 28.7V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 46.3 14.3 32 32 32s32 14.3 32 32V76.7c40.3-8 64.4-28.7 115.2-28.7c62.7 0 86.5 32 149.3 32c37.1 0 56.4-9.5 119.5-32z\"]\n};\nvar faFontAwesomeFlag = faFontAwesome;\nvar faFontAwesomeLogoFull = faFontAwesome;\nvar faCloudArrowUp = {\n prefix: 'fas',\n iconName: 'cloud-arrow-up',\n icon: [640, 512, [62338, \"cloud-upload\", \"cloud-upload-alt\"], \"f0ee\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm79-217c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V392c0 13.3 10.7 24 24 24s24-10.7 24-24V257.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80z\"]\n};\nvar faCloudUpload = faCloudArrowUp;\nvar faCloudUploadAlt = faCloudArrowUp;\nvar faPalette = {\n prefix: 'fas',\n iconName: 'palette',\n icon: [512, 512, [127912], \"f53f\", \"M512 256c0 .9 0 1.8 0 2.7c-.4 36.5-33.6 61.3-70.1 61.3H344c-26.5 0-48 21.5-48 48c0 3.4 .4 6.7 1 9.9c2.1 10.2 6.5 20 10.8 29.9c6.1 13.8 12.1 27.5 12.1 42c0 31.8-21.6 60.7-53.4 62c-3.5 .1-7 .2-10.6 .2C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faArrowsTurnRight = {\n prefix: 'fas',\n iconName: 'arrows-turn-right',\n icon: [448, 512, [], \"e4c0\", \"M297.4 9.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L338.7 160H128c-35.3 0-64 28.7-64 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V224C0 153.3 57.3 96 128 96H338.7L297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm-96 256c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 416H96c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448c0-53 43-96 96-96H242.7l-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nvar faVest = {\n prefix: 'fas',\n iconName: 'vest',\n icon: [448, 512, [], \"e085\", \"M207.1 237.4L151.2 69.7C168.6 79.7 192.6 88 224 88s55.4-8.3 72.8-18.3L226.5 280.6c-1.6 4.9-2.5 10-2.5 15.2V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V270.5c0-9.5-2.8-18.7-8.1-26.6l-47.9-71.8c-5.3-7.9-8.1-17.1-8.1-26.6V128 54.3 48c0-26.5-21.5-48-48-48h-4.5c-.2 0-.4 0-.6 0c-.4 0-.8 0-1.2 0C311 0 295.7 9.7 285.7 18.8C276.4 27.2 257.2 40 224 40s-52.4-12.8-61.7-21.2C152.3 9.7 137 0 118.3 0c-.4 0-.8 0-1.2 0c-.2 0-.4 0-.6 0H112C85.5 0 64 21.5 64 48v6.3V128v17.5c0 9.5-2.8 18.7-8.1 26.6L8.1 243.9C2.8 251.8 0 261.1 0 270.5V464c0 26.5 21.5 48 48 48H176c9.9 0 19-3 26.7-8.1C195.9 492.2 192 478.5 192 464V295.8c0-8.6 1.4-17.1 4.1-25.3l11-33.1zM347.3 356.7l48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-294.6 48l48-48c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-48 48c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6z\"]\n};\nvar faFerry = {\n prefix: 'fas',\n iconName: 'ferry',\n icon: [576, 512, [], \"e4ea\", \"M224 0H352c17.7 0 32 14.3 32 32h75.1c20.6 0 31.6 24.3 18.1 39.8L456 96H120L98.8 71.8C85.3 56.3 96.3 32 116.9 32H192c0-17.7 14.3-32 32-32zM96 128H480c17.7 0 32 14.3 32 32V283.5c0 13.3-4.2 26.3-11.9 37.2l-51.4 71.9c-1.9 1.1-3.7 2.2-5.5 3.5c-15.5 10.7-34 18-51 19.9H375.6c-17.1-1.8-35-9-50.8-19.9c-22.1-15.5-51.6-15.5-73.7 0c-14.8 10.2-32.5 18-50.6 19.9H183.9c-17-1.8-35.6-9.2-51-19.9c-1.8-1.3-3.7-2.4-5.6-3.5L75.9 320.7C68.2 309.8 64 296.8 64 283.5V160c0-17.7 14.3-32 32-32zm32 64v96H448V192H128zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.3-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faArrowsDownToPeople = {\n prefix: 'fas',\n iconName: 'arrows-down-to-people',\n icon: [640, 512, [], \"e4b9\", \"M144 0c-13.3 0-24 10.7-24 24V142.1L97 119c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V24c0-13.3-10.7-24-24-24zM360 200a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM184 296a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm312 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM200 441.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8L264 345.5V400c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V345.5l26.9 49.9c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L440 441.5V480c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V441.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H486.2c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.3-28.5-45.1-46.3-77.5-46.3H310.2c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6H134.2c-32.4 0-62.1 17.8-77.5 46.3L18.9 468.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L88 441.5V480c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V441.5zM415 153l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V142.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nvar faSeedling = {\n prefix: 'fas',\n iconName: 'seedling',\n icon: [512, 512, [127793, \"sprout\"], \"f4d8\", \"M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0h32c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64H64c123.7 0 224 100.3 224 224v32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320C100.3 320 0 219.7 0 96z\"]\n};\nvar faSprout = faSeedling;\nvar faLeftRight = {\n prefix: 'fas',\n iconName: 'left-right',\n icon: [512, 512, [8596, \"arrows-alt-h\"], \"f337\", \"M504.3 273.6c4.9-4.5 7.7-10.9 7.7-17.6s-2.8-13-7.7-17.6l-112-104c-7-6.5-17.2-8.2-25.9-4.4s-14.4 12.5-14.4 22l0 56-192 0 0-56c0-9.5-5.7-18.2-14.4-22s-18.9-2.1-25.9 4.4l-112 104C2.8 243 0 249.3 0 256s2.8 13 7.7 17.6l112 104c7 6.5 17.2 8.2 25.9 4.4s14.4-12.5 14.4-22l0-56 192 0 0 56c0 9.5 5.7 18.2 14.4 22s18.9 2.1 25.9-4.4l112-104z\"]\n};\nvar faArrowsAltH = faLeftRight;\nvar faBoxesPacking = {\n prefix: 'fas',\n iconName: 'boxes-packing',\n icon: [640, 512, [], \"e4c7\", \"M256 48c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H381.3c1.8-5 2.7-10.4 2.7-16V253.3c18.6-6.6 32-24.4 32-45.3V176c0-26.5-21.5-48-48-48H256V48zM571.3 347.3c6.2-6.2 6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L480 310.6V432c0 8.8 7.2 16 16 16s16-7.2 16-16V310.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0zM0 176c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V176zm352 80V480c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V256H352zM144 320c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H144z\"]\n};\nvar faCircleArrowLeft = {\n prefix: 'fas',\n iconName: 'circle-arrow-left',\n icon: [512, 512, [\"arrow-circle-left\"], \"f0a8\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM231 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71 71L376 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-182.1 0 71 71c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L119 273c-9.4-9.4-9.4-24.6 0-33.9L231 127z\"]\n};\nvar faArrowCircleLeft = faCircleArrowLeft;\nvar faGroupArrowsRotate = {\n prefix: 'fas',\n iconName: 'group-arrows-rotate',\n icon: [512, 512, [], \"e4f6\", \"M201.1 71.9c16.9-5 26.6-22.9 21.5-39.8s-22.9-26.6-39.8-21.5c-21.5 6.4-41.8 15.5-60.6 27C114.3 34 105.4 32 96 32C60.7 32 32 60.7 32 96c0 9.4 2 18.3 5.6 26.3c-11.5 18.7-20.6 39-27 60.6c-5 16.9 4.6 34.8 21.5 39.8s34.8-4.6 39.8-21.5c4.3-14.6 10.4-28.5 17.9-41.4c2 .2 4.1 .3 6.1 .3c35.3 0 64-28.7 64-64c0-2.1-.1-4.1-.3-6.1c12.9-7.5 26.8-13.6 41.4-17.9zm128-61.3c-16.9-5-34.8 4.6-39.8 21.5s4.6 34.8 21.5 39.8c14.6 4.3 28.5 10.4 41.4 17.9c-.2 2-.3 4.1-.3 6.1c0 35.3 28.7 64 64 64c2.1 0 4.1-.1 6.2-.3c7.5 12.9 13.6 26.8 17.9 41.4c5 16.9 22.9 26.6 39.8 21.5s26.6-22.9 21.5-39.8c-6.4-21.5-15.5-41.8-27-60.6c3.6-8 5.6-16.9 5.6-26.3c0-35.3-28.7-64-64-64c-9.4 0-18.3 2-26.3 5.6c-18.7-11.5-39-20.6-60.6-27zM71.9 310.9c-5-16.9-22.9-26.6-39.8-21.5s-26.6 22.9-21.5 39.8c6.4 21.5 15.5 41.8 27 60.6C34 397.7 32 406.6 32 416c0 35.3 28.7 64 64 64c9.4 0 18.3-2 26.3-5.6c18.7 11.5 39 20.6 60.6 27c16.9 5 34.8-4.6 39.8-21.5s-4.6-34.8-21.5-39.8c-14.6-4.3-28.5-10.4-41.4-17.9c.2-2 .3-4.1 .3-6.2c0-35.3-28.7-64-64-64c-2.1 0-4.1 .1-6.2 .3c-7.5-12.9-13.6-26.8-17.9-41.4zm429.4 18.3c5-16.9-4.6-34.8-21.5-39.8s-34.8 4.6-39.8 21.5c-4.3 14.6-10.4 28.5-17.9 41.4c-2-.2-4.1-.3-6.2-.3c-35.3 0-64 28.7-64 64c0 2.1 .1 4.1 .3 6.2c-12.9 7.5-26.8 13.6-41.4 17.9c-16.9 5-26.6 22.9-21.5 39.8s22.9 26.6 39.8 21.5c21.5-6.4 41.8-15.5 60.6-27c8 3.6 16.9 5.6 26.3 5.6c35.3 0 64-28.7 64-64c0-9.4-2-18.3-5.6-26.3c11.5-18.7 20.6-39 27-60.6zM192.8 256.8c0-15.6 5.6-29.9 14.9-41.1L223 231c6.6 6.6 17.8 1.9 17.8-7.4V163.2c0-5.7-4.7-10.4-10.4-10.4H169.9c-9.3 0-13.9 11.2-7.4 17.8l11.2 11.2c-17.9 19.8-28.9 46.2-28.9 75.1c0 43.6 24.9 81.3 61.1 99.8c11.8 6 26.3 1.4 32.3-10.4s1.4-26.3-10.4-32.3c-20.8-10.6-34.9-32.2-34.9-57zm93.1-58.6c20.8 10.6 34.9 32.2 34.9 57c0 15.6-5.6 29.9-14.9 41.1L290.6 281c-6.6-6.6-17.8-1.9-17.8 7.4v60.5c0 5.7 4.7 10.4 10.4 10.4h60.5c9.3 0 13.9-11.2 7.4-17.8l-11.2-11.2c17.9-19.8 28.9-46.2 28.9-75.1c0-43.6-24.9-81.3-61.1-99.8c-11.8-6-26.3-1.4-32.3 10.4s-1.4 26.3 10.4 32.3z\"]\n};\nvar faBowlFood = {\n prefix: 'fas',\n iconName: 'bowl-food',\n icon: [512, 512, [], \"e4c6\", \"M0 192c0-35.3 28.7-64 64-64c.5 0 1.1 0 1.6 0C73 91.5 105.3 64 144 64c15 0 29 4.1 40.9 11.2C198.2 49.6 225.1 32 256 32s57.8 17.6 71.1 43.2C339 68.1 353 64 368 64c38.7 0 71 27.5 78.4 64c.5 0 1.1 0 1.6 0c35.3 0 64 28.7 64 64c0 11.7-3.1 22.6-8.6 32H8.6C3.1 214.6 0 203.7 0 192zm0 91.4C0 268.3 12.3 256 27.4 256H484.6c15.1 0 27.4 12.3 27.4 27.4c0 70.5-44.4 130.7-106.7 154.1L403.5 452c-2 16-15.6 28-31.8 28H140.2c-16.1 0-29.8-12-31.8-28l-1.8-14.4C44.4 414.1 0 353.9 0 283.4z\"]\n};\nvar faCandyCane = {\n prefix: 'fas',\n iconName: 'candy-cane',\n icon: [512, 512, [], \"f786\", \"M348.8 131.5c3.7-2.3 7.9-3.5 12.2-3.5c12.7 0 23 10.3 23 23v5.6c0 9.9-5.1 19.1-13.5 24.3L30.1 393.7C.1 412.5-9 451.9 9.7 481.9s58.2 39.1 88.2 20.4L438.4 289.5c45.8-28.6 73.6-78.8 73.6-132.8V151C512 67.6 444.4 0 361 0c-28.3 0-56 8-80.1 23L254.1 39.7c-30 18.7-39.1 58.2-20.4 88.2s58.2 39.1 88.2 20.4l26.8-16.8zM298.4 49.8c9.2-5.7 19.1-10.1 29.4-13.1L348 97.5c-5.7 1.4-11.2 3.7-16.3 6.8l-12.6 7.9L298.4 49.8zm88.5 52.7l46.2-46.2c8.5 6.5 16.1 14.1 22.6 22.6l-46.2 46.2c-5.1-9.6-13-17.5-22.6-22.6zm28.9 59.3l61.6 20.5c-2.2 10.5-5.8 20.7-10.5 30.2l-62-20.7c6.2-8.8 10.1-19.1 11-30.1zm-86.1 82.5l60.4 37.7-30.2 18.9-60.4-37.7 30.2-18.9zm-107.2 67l60.4 37.7-30.2 18.9-60.4-37.7 30.2-18.9zM119.3 375.7l60.4 37.7-30.2 18.9L89.1 394.6l30.2-18.9z\"]\n};\nvar faArrowDownWideShort = {\n prefix: 'fas',\n iconName: 'arrow-down-wide-short',\n icon: [576, 512, [\"sort-amount-asc\", \"sort-amount-down\"], \"f160\", \"M151.6 469.6C145.5 476.2 137 480 128 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L96 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 480c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H320z\"]\n};\nvar faSortAmountAsc = faArrowDownWideShort;\nvar faSortAmountDown = faArrowDownWideShort;\nvar faCloudBolt = {\n prefix: 'fas',\n iconName: 'cloud-bolt',\n icon: [512, 512, [127785, \"thunderstorm\"], \"f76c\", \"M0 224c0 53 43 96 96 96h47.2L290 202.5c17.6-14.1 42.6-14 60.2 .2s22.8 38.6 12.8 58.8L333.7 320H352h64c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224zm330.1 3.6c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L177.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H281.9l52.4-104.8c3.4-6.7 1.6-14.9-4.2-19.6z\"]\n};\nvar faThunderstorm = faCloudBolt;\nvar faTextSlash = {\n prefix: 'fas',\n iconName: 'text-slash',\n icon: [640, 512, [\"remove-format\"], \"f87d\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L355.7 253.5 400.2 96H503L497 120.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l11-44.1C577.6 61.3 554.7 32 523.5 32H376.1h-.3H204.5c-22 0-41.2 15-46.6 36.4l-6.3 25.2L38.8 5.1zm168 131.7c.1-.3 .2-.7 .3-1L217 96H333.7L301.3 210.8l-94.5-74.1zM243.3 416H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H309.8l17.6-62.1L272.9 311 243.3 416z\"]\n};\nvar faRemoveFormat = faTextSlash;\nvar faFaceSmileWink = {\n prefix: 'fas',\n iconName: 'face-smile-wink',\n icon: [512, 512, [128521, \"smile-wink\"], \"f4da\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm156.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nvar faSmileWink = faFaceSmileWink;\nvar faFileWord = {\n prefix: 'fas',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM111 257.1l26.8 89.2 31.6-90.3c3.4-9.6 12.5-16.1 22.7-16.1s19.3 6.4 22.7 16.1l31.6 90.3L273 257.1c3.8-12.7 17.2-19.9 29.9-16.1s19.9 17.2 16.1 29.9l-48 160c-3 10-12 16.9-22.4 17.1s-19.8-6.2-23.2-16.1L192 336.6l-33.3 95.3c-3.4 9.8-12.8 16.3-23.2 16.1s-19.5-7.1-22.4-17.1l-48-160c-3.8-12.7 3.4-26.1 16.1-29.9s26.1 3.4 29.9 16.1z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'fas',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM136 240h68c42 0 76 34 76 76s-34 76-76 76H160v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V368 264c0-13.3 10.7-24 24-24zm68 104c15.5 0 28-12.5 28-28s-12.5-28-28-28H160v56h44z\"]\n};\nvar faArrowsLeftRight = {\n prefix: 'fas',\n iconName: 'arrows-left-right',\n icon: [512, 512, [\"arrows-h\"], \"f07e\", \"M406.6 374.6l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224l-293.5 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288l293.5 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z\"]\n};\nvar faArrowsH = faArrowsLeftRight;\nvar faHouseLock = {\n prefix: 'fas',\n iconName: 'house-lock',\n icon: [640, 512, [], \"e510\", \"M384 480c0 11.7 3.1 22.6 8.6 32H392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L490.7 166.3C447.2 181.7 416 223.2 416 272v24.6c-19.1 11.1-32 31.7-32 55.4V480zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faCloudArrowDown = {\n prefix: 'fas',\n iconName: 'cloud-arrow-down',\n icon: [640, 512, [62337, \"cloud-download\", \"cloud-download-alt\"], \"f0ed\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm79-167l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V318.1l-39-39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nvar faCloudDownload = faCloudArrowDown;\nvar faCloudDownloadAlt = faCloudArrowDown;\nvar faChildren = {\n prefix: 'fas',\n iconName: 'children',\n icon: [640, 512, [], \"e4e1\", \"M160 0a64 64 0 1 1 0 128A64 64 0 1 1 160 0zM88 480V400H70.2c-10.9 0-18.6-10.7-15.2-21.1l31.1-93.4L57.5 323.3c-10.7 14.1-30.8 16.8-44.8 6.2s-16.8-30.7-6.2-44.8L65.4 207c22.4-29.6 57.5-47 94.6-47s72.2 17.4 94.6 47l58.9 77.7c10.7 14.1 7.9 34.2-6.2 44.8s-34.2 7.9-44.8-6.2l-28.6-37.8L265 378.9c3.5 10.4-4.3 21.1-15.2 21.1H232v80c0 17.7-14.3 32-32 32s-32-14.3-32-32V400H152v80c0 17.7-14.3 32-32 32s-32-14.3-32-32zM480 0a64 64 0 1 1 0 128A64 64 0 1 1 480 0zm-8 384v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V300.5L395.1 321c-9.4 15-29.2 19.4-44.1 10s-19.4-29.2-10-44.1l51.7-82.1c17.6-27.9 48.3-44.9 81.2-44.9h12.3c33 0 63.7 16.9 81.2 44.9L619.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L552 300.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H472z\"]\n};\nvar faChalkboard = {\n prefix: 'fas',\n iconName: 'chalkboard',\n icon: [576, 512, [\"blackboard\"], \"f51b\", \"M96 32C60.7 32 32 60.7 32 96V384H96V96l384 0V384h64V96c0-35.3-28.7-64-64-64H96zM224 384v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H416V384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32z\"]\n};\nvar faBlackboard = faChalkboard;\nvar faUserLargeSlash = {\n prefix: 'fas',\n iconName: 'user-large-slash',\n icon: [640, 512, [\"user-alt-slash\"], \"f4fa\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L381.9 274c48.5-23.2 82.1-72.7 82.1-130C464 64.5 399.5 0 320 0C250.4 0 192.4 49.3 178.9 114.9L38.8 5.1zM545.5 512H528L284.3 320h-59C136.2 320 64 392.2 64 481.3c0 17 13.8 30.7 30.7 30.7H545.3l.3 0z\"]\n};\nvar faUserAltSlash = faUserLargeSlash;\nvar faEnvelopeOpen = {\n prefix: 'fas',\n iconName: 'envelope-open',\n icon: [512, 512, [62135], \"f2b6\", \"M64 208.1L256 65.9 448 208.1v47.4L289.5 373c-9.7 7.2-21.4 11-33.5 11s-23.8-3.9-33.5-11L64 255.5V208.1zM256 0c-12.1 0-23.8 3.9-33.5 11L25.9 156.7C9.6 168.8 0 187.8 0 208.1V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V208.1c0-20.3-9.6-39.4-25.9-51.4L289.5 11C279.8 3.9 268.1 0 256 0z\"]\n};\nvar faHandshakeSimpleSlash = {\n prefix: 'fas',\n iconName: 'handshake-simple-slash',\n icon: [640, 512, [\"handshake-alt-slash\"], \"e05f\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-135-105.8c-1.1-11.3-6.3-22.3-15.3-30.7l-134.2-123-23.4 18.2-26-20.3 77.2-60.1c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L550.2 352H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H516h-4-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2l-89.7 72.6-25.8-20.3 81.8-66.2c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-35.5 23.7L38.8 5.1zM0 176V304c0 26.5 21.5 48 48 48H156.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c.8-.8 1.5-1.7 2.2-2.6L41.2 128.5C17.9 131.8 0 151.8 0 176z\"]\n};\nvar faHandshakeAltSlash = faHandshakeSimpleSlash;\nvar faMattressPillow = {\n prefix: 'fas',\n iconName: 'mattress-pillow',\n icon: [640, 512, [], \"e525\", \"M256 64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H256V64zm32 384H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H288V448zM64 160c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160z\"]\n};\nvar faGuaraniSign = {\n prefix: 'fas',\n iconName: 'guarani-sign',\n icon: [384, 512, [], \"e19a\", \"M192 0c-17.7 0-32 14.3-32 32V66.7C69.2 81.9 0 160.9 0 256s69.2 174.1 160 189.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V445.3c90.8-15.2 160-94.2 160-189.3c0-17.7-14.3-32-32-32H224V132c22.1 5.7 41.8 17.1 57.6 32.6c12.6 12.4 32.9 12.2 45.3-.4s12.2-32.9-.5-45.3C299 92 263.5 73.3 224 66.7V32c0-17.7-14.3-32-32-32zM160 132V380c-55.2-14.2-96-64.3-96-124s40.8-109.8 96-124zM224 380V288h92c-11.6 45-47 80.4-92 92z\"]\n};\nvar faArrowsRotate = {\n prefix: 'fas',\n iconName: 'arrows-rotate',\n icon: [512, 512, [128472, \"refresh\", \"sync\"], \"f021\", \"M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H463.5c0 0 0 0 0 0h.4c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1V448c0 17.7 14.3 32 32 32s32-14.3 32-32V396.9l17.6 17.5 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352H176c17.7 0 32-14.3 32-32s-14.3-32-32-32H48.4c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z\"]\n};\nvar faRefresh = faArrowsRotate;\nvar faSync = faArrowsRotate;\nvar faFireExtinguisher = {\n prefix: 'fas',\n iconName: 'fire-extinguisher',\n icon: [512, 512, [129519], \"f134\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32v96c0 9.6-4.3 18.7-11.7 24.7s-17.2 8.5-26.6 6.6l-160-32C301.5 124.9 292 115.7 289 104H224v34.8c37.8 18 64 56.5 64 101.2V384H64V240c0-44.7 26.2-83.2 64-101.2V110c-36.2 11.1-66 36.9-82.3 70.5c-5.8 11.9-20.2 16.9-32.1 11.1S-3.3 171.4 2.5 159.5C26.7 109.8 72.7 72.6 128 60.4V32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V56h65c3-11.7 12.5-20.9 24.7-23.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM288 416v32c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V416H288zM176 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faCruzeiroSign = {\n prefix: 'fas',\n iconName: 'cruzeiro-sign',\n icon: [448, 512, [], \"e152\", \"M96 256c0-88.4 71.6-160 160-160c41 0 78.3 15.4 106.7 40.7c13.2 11.8 33.4 10.7 45.2-2.5s10.7-33.4-2.5-45.2c-39.6-35.5-92-57-149.3-57C132.3 32 32 132.3 32 256s100.3 224 224 224c57.4 0 109.7-21.6 149.3-57c13.2-11.8 14.3-32 2.5-45.2s-32-14.3-45.2-2.5C334.3 400.6 297 416 256 416V320v-8.7c0-12.8 10.4-23.3 23.3-23.3c4.6 0 9.1 1.4 12.9 3.9l10.1 6.7c14.7 9.8 34.6 5.8 44.4-8.9s5.8-34.6-8.9-44.4l-10.1-6.7c-14.3-9.6-31.2-14.7-48.4-14.7c-12.4 0-24.2 2.6-34.9 7.3c-5.5-4.5-12.6-7.3-20.3-7.3c-17.7 0-32 14.3-32 32v55.3V320v82.7C135.5 378 96 321.6 96 256z\"]\n};\nvar faGreaterThanEqual = {\n prefix: 'fas',\n iconName: 'greater-than-equal',\n icon: [448, 512, [], \"f532\", \"M52.1 93.7C35.7 87.1 27.7 68.5 34.3 52.1s25.2-24.4 41.6-17.8l320 128C408 167.1 416 178.9 416 192s-8 24.9-20.1 29.7l-320 128c-16.4 6.6-35-1.4-41.6-17.8s1.4-35 17.8-41.6L297.8 192 52.1 93.7zM416 416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416z\"]\n};\nvar faShieldHalved = {\n prefix: 'fas',\n iconName: 'shield-halved',\n icon: [512, 512, [\"shield-alt\"], \"f3ed\", \"M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8V444.8C394 378 431.1 230.1 432 141.4L256 66.8l0 0z\"]\n};\nvar faShieldAlt = faShieldHalved;\nvar faBookAtlas = {\n prefix: 'fas',\n iconName: 'book-atlas',\n icon: [448, 512, [\"atlas\"], \"f558\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM247.4 283.8c-3.7 3.7-6.2 4.2-7.4 4.2s-3.7-.5-7.4-4.2c-3.8-3.7-8-10-11.8-18.9c-6.2-14.5-10.8-34.3-12.2-56.9h63c-1.5 22.6-6 42.4-12.2 56.9c-3.8 8.9-8 15.2-11.8 18.9zm42.7-9.9c7.3-18.3 12-41.1 13.4-65.9h31.1c-4.7 27.9-21.4 51.7-44.5 65.9zm0-163.8c23.2 14.2 39.9 38 44.5 65.9H303.5c-1.4-24.7-6.1-47.5-13.4-65.9zM368 192a128 128 0 1 0 -256 0 128 128 0 1 0 256 0zM145.3 208h31.1c1.4 24.7 6.1 47.5 13.4 65.9c-23.2-14.2-39.9-38-44.5-65.9zm31.1-32H145.3c4.7-27.9 21.4-51.7 44.5-65.9c-7.3 18.3-12 41.1-13.4 65.9zm56.1-75.8c3.7-3.7 6.2-4.2 7.4-4.2s3.7 .5 7.4 4.2c3.8 3.7 8 10 11.8 18.9c6.2 14.5 10.8 34.3 12.2 56.9h-63c1.5-22.6 6-42.4 12.2-56.9c3.8-8.9 8-15.2 11.8-18.9z\"]\n};\nvar faAtlas = faBookAtlas;\nvar faVirus = {\n prefix: 'fas',\n iconName: 'virus',\n icon: [512, 512, [], \"e074\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 49.9-60.3 74.9-95.6 39.6L120.2 75C107.7 62.5 87.5 62.5 75 75s-12.5 32.8 0 45.3l8.2 8.2C118.4 163.7 93.4 224 43.5 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H43.5c49.9 0 74.9 60.3 39.6 95.6L75 391.8c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-49.9 60.3-74.9 95.6-39.6l8.2 8.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-8.2-8.2c-35.3-35.3-10.3-95.6 39.6-95.6H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H468.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C348.3 118.4 288 93.4 288 43.5V32zM176 224a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faEnvelopeCircleCheck = {\n prefix: 'fas',\n iconName: 'envelope-circle-check',\n icon: [640, 512, [], \"e4e8\", \"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0l57.4-43c23.9-59.8 79.7-103.3 146.3-109.8l13.9-10.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176V384c0 35.3 28.7 64 64 64H360.2C335.1 417.6 320 378.5 320 336c0-5.6 .3-11.1 .8-16.6l-26.4 19.8zM640 336a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 353.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faLayerGroup = {\n prefix: 'fas',\n iconName: 'layer-group',\n icon: [576, 512, [], \"f5fd\", \"M264.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 149.8C37.4 145.8 32 137.3 32 128s5.4-17.9 13.9-21.8L264.5 5.2zM476.9 209.6l53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 277.8C37.4 273.8 32 265.3 32 256s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0l152-70.2zm-152 198.2l152-70.2 53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 405.8C37.4 401.8 32 393.3 32 384s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0z\"]\n};\nvar faArrowsToDot = {\n prefix: 'fas',\n iconName: 'arrows-to-dot',\n icon: [512, 512, [], \"e4be\", \"M256 0c17.7 0 32 14.3 32 32V64h32c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8h32V32c0-17.7 14.3-32 32-32zM169.4 393.4l64-64c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H288v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H192c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9zM32 224H64V192c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c12.5 12.5 12.5 32.8 0 45.3l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3l64-64c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6v32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H448v32c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-64-64zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faArchway = {\n prefix: 'fas',\n iconName: 'archway',\n icon: [512, 512, [], \"f557\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H96h64V352c0-53 43-96 96-96s96 43 96 96V480h64 64c17.7 0 32-14.3 32-32s-14.3-32-32-32V128H32V416z\"]\n};\nvar faHeartCircleCheck = {\n prefix: 'fas',\n iconName: 'heart-circle-check',\n icon: [576, 512, [], \"e4fd\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faHouseChimneyCrack = {\n prefix: 'fas',\n iconName: 'house-chimney-crack',\n icon: [576, 512, [\"house-damage\"], \"f6f1\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H326.4L288 448l80.8-67.3c7.8-6.5 7.6-18.6-.4-24.9L250.6 263.2c-14.6-11.5-33.8 7-22.8 22L288 368l-85.5 71.2c-6.1 5-7.5 13.8-3.5 20.5L230.4 512H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185l52.8 46.4c8 7 12 15 11 24z\"]\n};\nvar faHouseDamage = faHouseChimneyCrack;\nvar faFileZipper = {\n prefix: 'fas',\n iconName: 'file-zipper',\n icon: [384, 512, [\"file-archive\"], \"f1c6\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM96 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm-6.3 71.8c3.7-14 16.4-23.8 30.9-23.8h14.8c14.5 0 27.2 9.7 30.9 23.8l23.5 88.2c1.4 5.4 2.1 10.9 2.1 16.4c0 35.2-28.8 63.7-64 63.7s-64-28.5-64-63.7c0-5.5 .7-11.1 2.1-16.4l23.5-88.2zM112 336c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faFileArchive = faFileZipper;\nvar faSquare = {\n prefix: 'fas',\n iconName: 'square',\n icon: [448, 512, [9632, 9723, 9724, 61590], \"f0c8\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faMartiniGlassEmpty = {\n prefix: 'fas',\n iconName: 'martini-glass-empty',\n icon: [512, 512, [\"glass-martini\"], \"f000\", \"M32 0C19.1 0 7.4 7.8 2.4 19.8s-2.2 25.7 6.9 34.9L224 269.3V448H160c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V269.3L502.6 54.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 0 480 0H32zM256 210.7L109.3 64H402.7L256 210.7z\"]\n};\nvar faGlassMartini = faMartiniGlassEmpty;\nvar faCouch = {\n prefix: 'fas',\n iconName: 'couch',\n icon: [640, 512, [], \"f4b8\", \"M64 160C64 89.3 121.3 32 192 32H448c70.7 0 128 57.3 128 128v33.6c-36.5 7.4-64 39.7-64 78.4v48H128V272c0-38.7-27.5-71-64-78.4V160zM544 272c0-20.9 13.4-38.7 32-45.3c5-1.8 10.4-2.7 16-2.7c26.5 0 48 21.5 48 48V448c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32H96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V272c0-26.5 21.5-48 48-48c5.6 0 11 1 16 2.7c18.6 6.6 32 24.4 32 45.3v48 32h32H512h32V320 272z\"]\n};\nvar faCediSign = {\n prefix: 'fas',\n iconName: 'cedi-sign',\n icon: [384, 512, [], \"e0df\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V66.7C101.2 81.9 32 160.9 32 256s69.2 174.1 160 189.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V445.3c30.9-5.2 59.2-17.7 83.2-35.8c14.1-10.6 17-30.7 6.4-44.8s-30.7-17-44.8-6.4c-13.2 9.9-28.3 17.3-44.8 21.6V132c16.4 4.2 31.6 11.6 44.8 21.6c14.1 10.6 34.2 7.8 44.8-6.4s7.8-34.2-6.4-44.8c-24-18-52.4-30.6-83.2-35.8V32zM192 132V380c-55.2-14.2-96-64.3-96-124s40.8-109.8 96-124z\"]\n};\nvar faItalic = {\n prefix: 'fas',\n iconName: 'italic',\n icon: [384, 512, [], \"f033\", \"M128 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H293.3L160 416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H90.7L224 96H160c-17.7 0-32-14.3-32-32z\"]\n};\nvar faChurch = {\n prefix: 'fas',\n iconName: 'church',\n icon: [640, 512, [9962], \"f51d\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V48H264c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v46.4L183.3 210c-14.5 8.7-23.3 24.3-23.3 41.2V512h96V416c0-35.3 28.7-64 64-64s64 28.7 64 64v96h96V251.2c0-16.9-8.8-32.5-23.3-41.2L344 142.4V96h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V24zM24.9 330.3C9.5 338.8 0 354.9 0 372.4V464c0 26.5 21.5 48 48 48h80V273.6L24.9 330.3zM592 512c26.5 0 48-21.5 48-48V372.4c0-17.5-9.5-33.6-24.9-42.1L512 273.6V512h80z\"]\n};\nvar faCommentsDollar = {\n prefix: 'fas',\n iconName: 'comments-dollar',\n icon: [640, 512, [], \"f653\", \"M416 176c0 97.2-93.1 176-208 176c-38.2 0-73.9-8.7-104.7-23.9c-7.5 4-16 7.9-25.2 11.4C59.8 346.4 37.8 352 16 352c-6.9 0-13.1-4.5-15.2-11.1s.2-13.8 5.8-17.9l0 0 0 0 .2-.2c.2-.2 .6-.4 1.1-.8c1-.8 2.5-2 4.3-3.7c3.6-3.3 8.5-8.1 13.3-14.3c5.5-7 10.7-15.4 14.2-24.7C14.7 250.3 0 214.6 0 176C0 78.8 93.1 0 208 0S416 78.8 416 176zM231.5 383C348.9 372.9 448 288.3 448 176c0-5.2-.2-10.4-.6-15.5C555.1 167.1 640 243.2 640 336c0 38.6-14.7 74.3-39.6 103.4c3.5 9.4 8.7 17.7 14.2 24.7c4.8 6.2 9.7 11 13.3 14.3c1.8 1.6 3.3 2.9 4.3 3.7c.5 .4 .9 .7 1.1 .8l.2 .2 0 0 0 0c5.6 4.1 7.9 11.3 5.8 17.9c-2.1 6.6-8.3 11.1-15.2 11.1c-21.8 0-43.8-5.6-62.1-12.5c-9.2-3.5-17.8-7.4-25.2-11.4C505.9 503.3 470.2 512 432 512c-95.6 0-176.2-54.6-200.5-129zM228 72c0-11-9-20-20-20s-20 9-20 20V86c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V280c0 11 9 20 20 20s20-9 20-20V266.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V72z\"]\n};\nvar faDemocrat = {\n prefix: 'fas',\n iconName: 'democrat',\n icon: [640, 512, [], \"f747\", \"M64 32c0-8.9 3.8-20.9 6.2-27.3C71.2 1.8 74 0 77 0c1.9 0 3.8 .7 5.2 2.1L128 45.7 173.8 2.1C175.2 .7 177.1 0 179 0c3 0 5.8 1.8 6.8 4.7c2.4 6.5 6.2 18.4 6.2 27.3c0 26.5-21.9 42-29.5 46.6l76.2 72.6c6 5.7 13.9 8.8 22.1 8.8H480l32 0c40.3 0 78.2 19 102.4 51.2l19.2 25.6c10.6 14.1 7.7 34.2-6.4 44.8s-34.2 7.7-44.8-6.4l-19.2-25.6c-5.3-7-11.8-12.8-19.2-17V320H192l-40.4-94.3c-3.9-9.2-15.3-12.6-23.6-7l-42.1 28c-9.1 6.1-19.7 9.3-30.7 9.3h-2C23.9 256 0 232.1 0 202.7c0-12.1 4.1-23.8 11.7-33.3L87.6 74.6C78.1 67.4 64 53.2 64 32zM448 352h96v64 64c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V416H288v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416 352h96H448zM260.9 210.9c-.9-1.8-2.8-2.9-4.8-2.9s-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.3-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5zM368.1 208c-2 0-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.4-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5c-.9-1.8-2.8-2.9-4.8-2.9zm116.8 2.9c-.9-1.8-2.8-2.9-4.8-2.9s-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.4-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5z\"]\n};\nvar faZ = {\n prefix: 'fas',\n iconName: 'z',\n icon: [384, 512, [122], \"5a\", \"M0 64C0 46.3 14.3 32 32 32H352c12.4 0 23.7 7.2 29 18.4s3.6 24.5-4.4 34.1L100.3 416H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-12.4 0-23.7-7.2-29-18.4s-3.6-24.5 4.4-34.1L283.7 96H32C14.3 96 0 81.7 0 64z\"]\n};\nvar faPersonSkiing = {\n prefix: 'fas',\n iconName: 'person-skiing',\n icon: [512, 512, [9975, \"skiing\"], \"f7c9\", \"M380.7 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM2.7 268.9c6.1-11.8 20.6-16.3 32.4-10.2L232.7 361.3l46.2-69.2-75.1-75.1c-14.6-14.6-20.4-33.9-18.4-52.1l108.8 52 39.3 39.3c16.2 16.2 18.7 41.5 6 60.6L289.8 391l128.7 66.8c13.6 7.1 29.8 7.2 43.6 .3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7L12.9 301.3C1.2 295.2-3.4 280.7 2.7 268.9zM118.9 65.6L137 74.2l8.7-17.4c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-8.5 16.9 54.7 26.2c1.5-.7 3.1-1.4 4.7-2.1l83.4-33.4c34.2-13.7 72.8 4.2 84.5 39.2l17.1 51.2 52.1 26.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-58.1-29c-11.4-5.7-20-15.7-24.1-27.8l-5.8-17.3-27.3 12.1-6.8 3-6.7-3.2L151.5 116.7l-9.2 18.4c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l9-18-17.6-8.4c-8-3.8-11.3-13.4-7.5-21.3s13.4-11.3 21.3-7.5z\"]\n};\nvar faSkiing = faPersonSkiing;\nvar faRoadLock = {\n prefix: 'fas',\n iconName: 'road-lock',\n icon: [640, 512, [], \"e567\", \"M288 32H213.2c-27.1 0-51.3 17.1-60.3 42.6L35.1 407.2c-2.1 5.9-3.1 12-3.1 18.2C32 455.5 56.5 480 86.6 480H288V416c0-17.7 14.3-32 32-32s32 14.3 32 32v64h32V352c0-23.7 12.9-44.4 32-55.4V272c0-58.3 44.6-106.2 101.5-111.5L487.1 74.6C478 49.1 453.9 32 426.8 32H352V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32zm64 192v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32zm176 16c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faA = {\n prefix: 'fas',\n iconName: 'a',\n icon: [384, 512, [97], \"41\", \"M221.5 51.7C216.6 39.8 204.9 32 192 32s-24.6 7.8-29.5 19.7l-120 288-40 96c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L93.3 384H290.7l31.8 76.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8l-40-96-120-288zM264 320H120l72-172.8L264 320z\"]\n};\nvar faTemperatureArrowDown = {\n prefix: 'fas',\n iconName: 'temperature-arrow-down',\n icon: [576, 512, [\"temperature-down\"], \"e03f\", \"M128 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C249.8 332.6 256 349.5 256 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5V112zM176 0C114.1 0 64 50.1 64 112V276.4c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C43.2 304.2 32 334.8 32 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C288 50.1 237.9 0 176 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v50.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zm336-64H480V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V352H384c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c6 6 14.1 9.4 22.6 9.4s16.6-3.4 22.6-9.4l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8z\"]\n};\nvar faTemperatureDown = faTemperatureArrowDown;\nvar faFeatherPointed = {\n prefix: 'fas',\n iconName: 'feather-pointed',\n icon: [512, 512, [\"feather-alt\"], \"f56b\", \"M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l74.8-74.8c7.4 4.6 15.3 8.2 23.8 10.5C200.3 452.8 270 454.5 338 409.4c12.2-8.1 5.8-25.4-8.8-25.4l-16.1 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l97.7-29.3c3.4-1 6.4-3.1 8.4-6.1c4.4-6.4 8.6-12.9 12.6-19.6c6.2-10.3-1.5-23-13.5-23l-38.6 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l80.9-24.3c4.6-1.4 8.4-4.8 10.2-9.3C494.5 163 507.8 86.1 511.9 36.8c.8-9.9-3-19.6-10-26.6s-16.7-10.8-26.6-10C391.5 7 228.5 40.5 137.4 131.6C57.3 211.7 56.7 302.3 71.3 356.4c2.1 7.9 12 9.6 17.8 3.8L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z\"]\n};\nvar faFeatherAlt = faFeatherPointed;\nvar faP = {\n prefix: 'fas',\n iconName: 'p',\n icon: [320, 512, [112], \"50\", \"M0 96C0 60.7 28.7 32 64 32h96c88.4 0 160 71.6 160 160s-71.6 160-160 160H64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V320 96zM64 288h96c53 0 96-43 96-96s-43-96-96-96H64V288z\"]\n};\nvar faSnowflake = {\n prefix: 'fas',\n iconName: 'snowflake',\n icon: [448, 512, [10052, 10054], \"f2dc\", \"M224 0c17.7 0 32 14.3 32 32V62.1l15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49v70.3l61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7v70.3l49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V449.9l-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49V311.7l-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3V129.9L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faNewspaper = {\n prefix: 'fas',\n iconName: 'newspaper',\n icon: [512, 512, [128240], \"f1ea\", \"M96 96c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H80c-44.2 0-80-35.8-80-80V128c0-17.7 14.3-32 32-32s32 14.3 32 32V400c0 8.8 7.2 16 16 16s16-7.2 16-16V96zm64 24v80c0 13.3 10.7 24 24 24H296c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H184c-13.3 0-24 10.7-24 24zm208-8c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zM160 304c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faRectangleAd = {\n prefix: 'fas',\n iconName: 'rectangle-ad',\n icon: [576, 512, [\"ad\"], \"f641\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM229.5 173.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L253.2 328H162.8l-5.4 10.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zM208 237.7L186.8 280h42.3L208 237.7zM392 256a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm24-43.9V184c0-13.3 10.7-24 24-24s24 10.7 24 24v96 48c0 13.3-10.7 24-24 24c-6.6 0-12.6-2.7-17-7c-9.4 4.5-19.9 7-31 7c-39.8 0-72-32.2-72-72s32.2-72 72-72c8.4 0 16.5 1.4 24 4.1z\"]\n};\nvar faAd = faRectangleAd;\nvar faCircleArrowRight = {\n prefix: 'fas',\n iconName: 'circle-arrow-right',\n icon: [512, 512, [\"arrow-circle-right\"], \"f0a9\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM281 385c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l71-71L136 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l182.1 0-71-71c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L393 239c9.4 9.4 9.4 24.6 0 33.9L281 385z\"]\n};\nvar faArrowCircleRight = faCircleArrowRight;\nvar faFilterCircleXmark = {\n prefix: 'fas',\n iconName: 'filter-circle-xmark',\n icon: [576, 512, [], \"e17b\", \"M3.9 22.9C10.5 8.9 24.5 0 40 0H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L396.4 195.6C316.2 212.1 256 283 256 368c0 27.4 6.3 53.4 17.5 76.5c-1.6-.8-3.2-1.8-4.7-2.9l-64-48c-8.1-6-12.8-15.5-12.8-25.6V288.9L9 65.3C-.7 53.4-2.8 36.8 3.9 22.9zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faLocust = {\n prefix: 'fas',\n iconName: 'locust',\n icon: [576, 512, [], \"e520\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c98.7 0 180.6 71.4 197 165.4c-9-3.5-18.8-5.4-29-5.4H431.8l-41.8-97.5c-3.4-7.9-10.8-13.4-19.3-14.4s-17 2.7-22.1 9.6l-40.9 55.5-21.7-50.7c-3.3-7.8-10.5-13.2-18.9-14.3s-16.7 2.3-22 8.9l-240 304c-8.2 10.4-6.4 25.5 4 33.7s25.5 6.4 33.7-4l79.4-100.5 43 16.4-40.5 55c-7.9 10.7-5.6 25.7 5.1 33.6s25.7 5.6 33.6-5.1L215.1 400h74.5l-29.3 42.3c-7.5 10.9-4.8 25.8 6.1 33.4s25.8 4.8 33.4-6.1L348 400h80.4l38.8 67.9c6.6 11.5 21.2 15.5 32.7 8.9s15.5-21.2 8.9-32.7L483.6 400H496c44.1 0 79.8-35.7 80-79.7c0-.1 0-.2 0-.3V280C576 143 465 32 328 32H312zm50.5 168l17.1 40H333l29.5-40zm-87.7 38.1l-1.4 1.9H225.1l32.7-41.5 16.9 39.5zM88.8 240C57.4 240 32 265.4 32 296.8c0 15.5 6.3 30 16.9 40.4L126.7 240H88.8zM496 288a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faSort = {\n prefix: 'fas',\n iconName: 'sort',\n icon: [320, 512, [\"unsorted\"], \"f0dc\", \"M137.4 41.4c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128zm0 429.3l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128c-12.5 12.5-32.8 12.5-45.3 0z\"]\n};\nvar faUnsorted = faSort;\nvar faListOl = {\n prefix: 'fas',\n iconName: 'list-ol',\n icon: [512, 512, [\"list-1-2\", \"list-numeric\"], \"f0cb\", \"M24 56c0-13.3 10.7-24 24-24H80c13.3 0 24 10.7 24 24V176h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V80H48C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432H120c13.3 0 24 10.7 24 24s-10.7 24-24 24H32c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faList12 = faListOl;\nvar faListNumeric = faListOl;\nvar faPersonDressBurst = {\n prefix: 'fas',\n iconName: 'person-dress-burst',\n icon: [640, 512, [], \"e544\", \"M528 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM390.2 384H408v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h16v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h17.8c10.9 0 18.6-10.7 15.2-21.1L546.7 248.1l33.9 56.3c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-53.6-89.2c-20.2-33.7-56.7-54.3-96-54.3H474.2c-39.3 0-75.7 20.6-96 54.3l-53.6 89.2c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9l33.9-56.3L375 362.9c-3.5 10.4 4.3 21.1 15.2 21.1zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 50.5-7.8 24.4-40.5-55.2-38L315 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74z\"]\n};\nvar faMoneyCheckDollar = {\n prefix: 'fas',\n iconName: 'money-check-dollar',\n icon: [576, 512, [\"money-check-alt\"], \"f53d\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM272 192H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16s7.2-16 16-16zM256 304c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16zM164 152v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V360c0 11-9 20-20 20s-20-9-20-20V345.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V152c0-11 9-20 20-20s20 9 20 20z\"]\n};\nvar faMoneyCheckAlt = faMoneyCheckDollar;\nvar faVectorSquare = {\n prefix: 'fas',\n iconName: 'vector-square',\n icon: [448, 512, [], \"f5cb\", \"M368 80h32v32H368V80zM352 32c-17.7 0-32 14.3-32 32H128c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32V352c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32H320c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32V160c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H352zM96 160c17.7 0 32-14.3 32-32H320c0 17.7 14.3 32 32 32V352c-17.7 0-32 14.3-32 32H128c0-17.7-14.3-32-32-32V160zM48 400H80v32H48V400zm320 32V400h32v32H368zM48 112V80H80v32H48z\"]\n};\nvar faBreadSlice = {\n prefix: 'fas',\n iconName: 'bread-slice',\n icon: [512, 512, [], \"f7ec\", \"M256 32C192 32 0 64 0 192c0 35.3 28.7 64 64 64V432c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V256c35.3 0 64-28.7 64-64C512 64 320 32 256 32z\"]\n};\nvar faLanguage = {\n prefix: 'fas',\n iconName: 'language',\n icon: [640, 512, [], \"f1ab\", \"M0 128C0 92.7 28.7 64 64 64H256h48 16H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H320 304 256 64c-35.3 0-64-28.7-64-64V128zm320 0V384H576V128H320zM178.3 175.9c-3.2-7.2-10.4-11.9-18.3-11.9s-15.1 4.7-18.3 11.9l-64 144c-4.5 10.1 .1 21.9 10.2 26.4s21.9-.1 26.4-10.2l8.9-20.1h73.6l8.9 20.1c4.5 10.1 16.3 14.6 26.4 10.2s14.6-16.3 10.2-26.4l-64-144zM160 233.2L179 276H141l19-42.8zM448 164c11 0 20 9 20 20v4h44 16c11 0 20 9 20 20s-9 20-20 20h-2l-1.6 4.5c-8.9 24.4-22.4 46.6-39.6 65.4c.9 .6 1.8 1.1 2.7 1.6l18.9 11.3c9.5 5.7 12.5 18 6.9 27.4s-18 12.5-27.4 6.9l-18.9-11.3c-4.5-2.7-8.8-5.5-13.1-8.5c-10.6 7.5-21.9 14-34 19.4l-3.6 1.6c-10.1 4.5-21.9-.1-26.4-10.2s.1-21.9 10.2-26.4l3.6-1.6c6.4-2.9 12.6-6.1 18.5-9.8l-12.2-12.2c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0l14.6 14.6 .5 .5c12.4-13.1 22.5-28.3 29.8-45H448 376c-11 0-20-9-20-20s9-20 20-20h52v-4c0-11 9-20 20-20z\"]\n};\nvar faFaceKissWinkHeart = {\n prefix: 'fas',\n iconName: 'face-kiss-wink-heart',\n icon: [512, 512, [128536, \"kiss-wink-heart\"], \"f598\", \"M498 339.7c9.1-26.2 14-54.4 14-83.7C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c35.4 0 69.1-7.2 99.7-20.2c-4.8-5.5-8.5-12.2-10.4-19.7l-22.9-89.3c-10-39 11.8-80.9 51.8-92.1c37.2-10.4 73.8 10.1 87.5 44c12.7-1.6 25.1 .4 36.2 5zM296 332c0 6.9-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C258.7 443.1 241.4 448 224 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.6-.4-.3-.2-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm194.8 57.6c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zM434 352.3c-6-23.2-28.8-37-51.1-30.8s-35.4 30.1-29.5 53.4l22.9 89.3c2.2 8.7 11.2 13.9 19.8 11.4l84.9-23.8c22.2-6.2 35.4-30.1 29.5-53.4s-28.8-37-51.1-30.8l-20.2 5.6-5.4-21z\"]\n};\nvar faKissWinkHeart = faFaceKissWinkHeart;\nvar faFilter = {\n prefix: 'fas',\n iconName: 'filter',\n icon: [512, 512, [], \"f0b0\", \"M3.9 54.9C10.5 40.9 24.5 32 40 32H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9V448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6V320.9L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z\"]\n};\nvar faQuestion = {\n prefix: 'fas',\n iconName: 'question',\n icon: [320, 512, [10067, 10068, 61736], \"3f\", \"M80 160c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64v3.6c0 21.8-11.1 42.1-29.4 53.8l-42.2 27.1c-25.2 16.2-40.4 44.1-40.4 74V320c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.4c0-8.2 4.2-15.8 11-20.2l42.2-27.1c36.6-23.6 58.8-64.1 58.8-107.7V160c0-70.7-57.3-128-128-128H144C73.3 32 16 89.3 16 160c0 17.7 14.3 32 32 32s32-14.3 32-32zm80 320a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faFileSignature = {\n prefix: 'fas',\n iconName: 'file-signature',\n icon: [576, 512, [], \"f573\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V428.7c-2.7 1.1-5.4 2-8.2 2.7l-60.1 15c-3 .7-6 1.2-9 1.4c-.9 .1-1.8 .2-2.7 .2H240c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 381l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.8 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8h8.9c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7L384 203.6V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM549.8 139.7c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM311.9 321c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L512.1 262.7l-71-71L311.9 321z\"]\n};\nvar faUpDownLeftRight = {\n prefix: 'fas',\n iconName: 'up-down-left-right',\n icon: [512, 512, [\"arrows-alt\"], \"f0b2\", \"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32v96H128V192c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V288h96v96H192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H288V288h96v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6v32H288V128h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z\"]\n};\nvar faArrowsAlt = faUpDownLeftRight;\nvar faHouseChimneyUser = {\n prefix: 'fas',\n iconName: 'house-chimney-user',\n icon: [576, 512, [], \"e065\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32zM288 160a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM176 400c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16z\"]\n};\nvar faHandHoldingHeart = {\n prefix: 'fas',\n iconName: 'hand-holding-heart',\n icon: [576, 512, [], \"f4be\", \"M148 76.6C148 34.3 182.3 0 224.6 0c20.3 0 39.8 8.1 54.1 22.4l9.3 9.3 9.3-9.3C311.6 8.1 331.1 0 351.4 0C393.7 0 428 34.3 428 76.6c0 20.3-8.1 39.8-22.4 54.1L302.1 234.1c-7.8 7.8-20.5 7.8-28.3 0L170.4 130.7C156.1 116.4 148 96.9 148 76.6zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faPuzzlePiece = {\n prefix: 'fas',\n iconName: 'puzzle-piece',\n icon: [512, 512, [129513], \"f12e\", \"M192 104.8c0-9.2-5.8-17.3-13.2-22.8C167.2 73.3 160 61.3 160 48c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8v0c0 12.8 10.4 23.2 23.2 23.2H336c26.5 0 48 21.5 48 48v56.8c0 12.8 10.4 23.2 23.2 23.2v0c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2v0c-12.8 0-23.2 10.4-23.2 23.2V464c0 26.5-21.5 48-48 48H279.2c-12.8 0-23.2-10.4-23.2-23.2v0c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8v0c0 12.8-10.4 23.2-23.2 23.2H48c-26.5 0-48-21.5-48-48V343.2C0 330.4 10.4 320 23.2 320v0c9.2 0 17.3 5.8 22.8 13.2C54.7 344.8 66.7 352 80 352c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8C40.5 250.2 32.4 256 23.2 256v0C10.4 256 0 245.6 0 232.8V176c0-26.5 21.5-48 48-48H168.8c12.8 0 23.2-10.4 23.2-23.2v0z\"]\n};\nvar faMoneyCheck = {\n prefix: 'fas',\n iconName: 'money-check',\n icon: [576, 512, [], \"f53c\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm48 160H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zM96 336c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zM376 160h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24z\"]\n};\nvar faStarHalfStroke = {\n prefix: 'fas',\n iconName: 'star-half-stroke',\n icon: [640, 512, [\"star-half-alt\"], \"f5c0\", \"M320 376.4l.1-.1 26.4 14.1 85.2 45.5-16.5-97.6-4.8-28.7 20.7-20.5 70.1-69.3-96.1-14.2-29.3-4.3-12.9-26.6L320.1 86.9l-.1 .3V376.4zm175.1 98.3c2 12-3 24.2-12.9 31.3s-23 8-33.8 2.3L320.1 439.8 191.8 508.3C181 514 167.9 513.1 158 506s-14.9-19.3-12.9-31.3L169.8 329 65.6 225.9c-8.6-8.5-11.7-21.2-7.9-32.7s13.7-19.9 25.7-21.7L227 150.3 291.4 18c5.4-11 16.5-18 28.8-18s23.4 7 28.8 18l64.3 132.3 143.6 21.2c12 1.8 22 10.2 25.7 21.7s.7 24.2-7.9 32.7L470.5 329l24.6 145.7z\"]\n};\nvar faStarHalfAlt = faStarHalfStroke;\nvar faCode = {\n prefix: 'fas',\n iconName: 'code',\n icon: [640, 512, [], \"f121\", \"M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z\"]\n};\nvar faWhiskeyGlass = {\n prefix: 'fas',\n iconName: 'whiskey-glass',\n icon: [512, 512, [129347, \"glass-whiskey\"], \"f7a0\", \"M32 32c-9.3 0-18.1 4-24.2 11.1S-1 59.4 .3 68.6l50 342.9c5.7 39.3 39.4 68.5 79.2 68.5h253c39.7 0 73.4-29.1 79.2-68.5l50-342.9c1.3-9.2-1.4-18.5-7.5-25.5S489.3 32 480 32H32zM87.7 224L69 96H443L424.3 224H87.7z\"]\n};\nvar faGlassWhiskey = faWhiskeyGlass;\nvar faBuildingCircleExclamation = {\n prefix: 'fas',\n iconName: 'building-circle-exclamation',\n icon: [640, 512, [], \"e4d3\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faMagnifyingGlassChart = {\n prefix: 'fas',\n iconName: 'magnifying-glass-chart',\n icon: [512, 512, [], \"e522\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zm-312 8v64c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80-96V280c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80 64v96c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faArrowUpRightFromSquare = {\n prefix: 'fas',\n iconName: 'arrow-up-right-from-square',\n icon: [512, 512, [\"external-link\"], \"f08e\", \"M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"]\n};\nvar faExternalLink = faArrowUpRightFromSquare;\nvar faCubesStacked = {\n prefix: 'fas',\n iconName: 'cubes-stacked',\n icon: [448, 512, [], \"e4e6\", \"M192 64v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32zM82.7 207c-15.3 8.8-20.5 28.4-11.7 43.7l32 55.4c8.8 15.3 28.4 20.5 43.7 11.7l55.4-32c15.3-8.8 20.5-28.4 11.7-43.7l-32-55.4c-8.8-15.3-28.4-20.5-43.7-11.7L82.7 207zM288 192c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H288zm64 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H352zM160 384v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zM32 352c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H32z\"]\n};\nvar faWonSign = {\n prefix: 'fas',\n iconName: 'won-sign',\n icon: [512, 512, [8361, \"krw\", \"won\"], \"f159\", \"M62.4 53.9C56.8 37.1 38.6 28.1 21.9 33.6S-3.9 57.4 1.6 74.1L51.6 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H72.9l56.7 170.1c4.5 13.5 17.4 22.4 31.6 21.9s26.4-10.4 29.8-24.2L233 288h46L321 455.8c3.4 13.8 15.6 23.7 29.8 24.2s27.1-8.4 31.6-21.9L439.1 288H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H460.4l50-149.9c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2L392.9 224H329L287 56.2C283.5 42 270.7 32 256 32s-27.5 10-31 24.2L183 224h-64L62.4 53.9zm78 234.1H167l-11.4 45.6L140.4 288zM249 224l7-28.1 7 28.1H249zm96 64h26.6l-15.2 45.6L345 288z\"]\n};\nvar faKrw = faWonSign;\nvar faWon = faWonSign;\nvar faVirusCovid = {\n prefix: 'fas',\n iconName: 'virus-covid',\n icon: [512, 512, [], \"e4a8\", \"M192 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V81.6c30.7 4.2 58.8 16.3 82.3 34.1L386.1 92 374.8 80.6c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l56.6 56.6c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L420 125.9l-23.8 23.8c17.9 23.5 29.9 51.7 34.1 82.3H464V216c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H430.4c-4.2 30.7-16.3 58.8-34.1 82.3L420 386.1l11.3-11.3c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-56.6 56.6c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L386.1 420l-23.8-23.8c-23.5 17.9-51.7 29.9-82.3 34.1V464h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V430.4c-30.7-4.2-58.8-16.3-82.3-34.1L125.9 420l11.3 11.3c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L46.7 408.7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L92 386.1l23.8-23.8C97.9 338.8 85.8 310.7 81.6 280H48v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24s24 10.7 24 24v16H81.6c4.2-30.7 16.3-58.8 34.1-82.3L92 125.9 80.6 137.2c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l56.6-56.6c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L125.9 92l23.8 23.8c23.5-17.9 51.7-29.9 82.3-34.1V48H216c-13.3 0-24-10.7-24-24zm48 200a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm64 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faAustralSign = {\n prefix: 'fas',\n iconName: 'austral-sign',\n icon: [448, 512, [], \"e0a9\", \"M253.5 51.7C248.6 39.8 236.9 32 224 32s-24.6 7.8-29.5 19.7L122.7 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96L82.7 320H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H56L34.5 435.7c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L125.3 384H322.7l31.8 76.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8L392 384h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H365.3L352 288h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H325.3L253.5 51.7zM256 224H192l32-76.8L256 224zm-90.7 64H282.7L296 320H152l13.3-32z\"]\n};\nvar faF = {\n prefix: 'fas',\n iconName: 'f',\n icon: [320, 512, [102], \"46\", \"M64 32C28.7 32 0 60.7 0 96V256 448c0 17.7 14.3 32 32 32s32-14.3 32-32V288H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64z\"]\n};\nvar faLeaf = {\n prefix: 'fas',\n iconName: 'leaf',\n icon: [512, 512, [], \"f06c\", \"M272 96c-78.6 0-145.1 51.5-167.7 122.5c33.6-17 71.5-26.5 111.7-26.5h88c8.8 0 16 7.2 16 16s-7.2 16-16 16H288 216s0 0 0 0c-16.6 0-32.7 1.9-48.2 5.4c-25.9 5.9-50 16.4-71.4 30.7c0 0 0 0 0 0C38.3 298.8 0 364.9 0 440v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440c0-48.7 20.7-92.5 53.8-123.2C121.6 392.3 190.3 448 272 448l1 0c132.1-.7 239-130.9 239-291.4c0-42.6-7.5-83.1-21.1-119.6c-2.6-6.9-12.7-6.6-16.2-.1C455.9 72.1 418.7 96 376 96L272 96z\"]\n};\nvar faRoad = {\n prefix: 'fas',\n iconName: 'road',\n icon: [576, 512, [128739], \"f018\", \"M256 32H181.2c-27.1 0-51.3 17.1-60.3 42.6L3.1 407.2C1.1 413 0 419.2 0 425.4C0 455.5 24.5 480 54.6 480H256V416c0-17.7 14.3-32 32-32s32 14.3 32 32v64H521.4c30.2 0 54.6-24.5 54.6-54.6c0-6.2-1.1-12.4-3.1-18.2L455.1 74.6C446 49.1 421.9 32 394.8 32H320V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32zm64 192v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faTaxi = {\n prefix: 'fas',\n iconName: 'taxi',\n icon: [512, 512, [128662, \"cab\"], \"f1ba\", \"M192 0c-17.7 0-32 14.3-32 32V64c0 .1 0 .1 0 .2c-38.6 2.2-72.3 27.3-85.2 64.1L39.6 228.8C16.4 238.4 0 261.3 0 288V432v48c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V432H416v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V432 288c0-26.7-16.4-49.6-39.6-59.2L437.2 128.3c-12.9-36.8-46.6-62-85.2-64.1c0-.1 0-.1 0-.2V32c0-17.7-14.3-32-32-32H192zM165.4 128H346.6c13.6 0 25.7 8.6 30.2 21.4L402.9 224H109.1l26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zM96 288a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm288 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCab = faTaxi;\nvar faPersonCirclePlus = {\n prefix: 'fas',\n iconName: 'person-circle-plus',\n icon: [576, 512, [], \"e541\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faChartPie = {\n prefix: 'fas',\n iconName: 'chart-pie',\n icon: [576, 512, [\"pie-chart\"], \"f200\", \"M304 240V16.6c0-9 7-16.6 16-16.6C443.7 0 544 100.3 544 224c0 9-7.6 16-16.6 16H304zM32 272C32 150.7 122.1 50.3 239 34.3c9.2-1.3 17 6.1 17 15.4V288L412.5 444.5c6.7 6.7 6.2 17.7-1.5 23.1C371.8 495.6 323.8 512 272 512C139.5 512 32 404.6 32 272zm526.4 16c9.3 0 16.6 7.8 15.4 17c-7.7 55.9-34.6 105.6-73.9 142.3c-6 5.6-15.4 5.2-21.2-.7L320 288H558.4z\"]\n};\nvar faPieChart = faChartPie;\nvar faBoltLightning = {\n prefix: 'fas',\n iconName: 'bolt-lightning',\n icon: [384, 512, [], \"e0b7\", \"M0 256L28.5 28c2-16 15.6-28 31.8-28H228.9c15 0 27.1 12.1 27.1 27.1c0 3.2-.6 6.5-1.7 9.5L208 160H347.3c20.2 0 36.7 16.4 36.7 36.7c0 7.4-2.2 14.6-6.4 20.7l-192.2 281c-5.9 8.6-15.6 13.7-25.9 13.7h-2.9c-15.7 0-28.5-12.8-28.5-28.5c0-2.3 .3-4.6 .9-6.9L176 288H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faSackXmark = {\n prefix: 'fas',\n iconName: 'sack-xmark',\n icon: [512, 512, [], \"e56a\", \"M192 96H320l47.4-71.1C374.5 14.2 366.9 0 354.1 0H157.9c-12.8 0-20.4 14.2-13.3 24.9L192 96zm128 32H192c-3.8 2.5-8.1 5.3-13 8.4l0 0 0 0C122.3 172.7 0 250.9 0 416c0 53 43 96 96 96H416c53 0 96-43 96-96c0-165.1-122.3-243.3-179-279.6c-4.8-3.1-9.2-5.9-13-8.4zM289.9 336l47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47z\"]\n};\nvar faFileExcel = {\n prefix: 'fas',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM155.7 250.2L192 302.1l36.3-51.9c7.6-10.9 22.6-13.5 33.4-5.9s13.5 22.6 5.9 33.4L221.3 344l46.4 66.2c7.6 10.9 5 25.8-5.9 33.4s-25.8 5-33.4-5.9L192 385.8l-36.3 51.9c-7.6 10.9-22.6 13.5-33.4 5.9s-13.5-22.6-5.9-33.4L162.7 344l-46.4-66.2c-7.6-10.9-5-25.8 5.9-33.4s25.8-5 33.4 5.9z\"]\n};\nvar faFileContract = {\n prefix: 'fas',\n iconName: 'file-contract',\n icon: [384, 512, [], \"f56c\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM80 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm54.2 253.8c-6.1 20.3-24.8 34.2-46 34.2H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 349l-9.8 32.8z\"]\n};\nvar faFishFins = {\n prefix: 'fas',\n iconName: 'fish-fins',\n icon: [576, 512, [], \"e4f2\", \"M275.2 38.4c-10.6-8-25-8.5-36.3-1.5S222 57.3 224.6 70.3l9.7 48.6c-19.4 9-36.9 19.9-52.4 31.5c-15.3 11.5-29 23.9-40.7 36.3L48.1 132.4c-12.5-7.3-28.4-5.3-38.7 4.9S-3 163.3 4.2 175.9L50 256 4.2 336.1c-7.2 12.6-5 28.4 5.3 38.6s26.1 12.2 38.7 4.9l93.1-54.3c11.8 12.3 25.4 24.8 40.7 36.3c15.5 11.6 33 22.5 52.4 31.5l-9.7 48.6c-2.6 13 3.1 26.3 14.3 33.3s25.6 6.5 36.3-1.5l77.6-58.2c54.9-4 101.5-27 137.2-53.8c39.2-29.4 67.2-64.7 81.6-89.5c5.8-9.9 5.8-22.2 0-32.1c-14.4-24.8-42.5-60.1-81.6-89.5c-35.8-26.8-82.3-49.8-137.2-53.8L275.2 38.4zM384 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faBuildingFlag = {\n prefix: 'fas',\n iconName: 'building-flag',\n icon: [640, 512, [], \"e4d5\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM448 0c-17.7 0-32 14.3-32 32V512h64V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H480c0-17.7-14.3-32-32-32z\"]\n};\nvar faFaceGrinBeam = {\n prefix: 'fas',\n iconName: 'face-grin-beam',\n icon: [512, 512, [128516, \"grin-beam\"], \"f582\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zm-170.5-84l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faGrinBeam = faFaceGrinBeam;\nvar faObjectUngroup = {\n prefix: 'fas',\n iconName: 'object-ungroup',\n icon: [640, 512, [], \"f248\", \"M32 119.4C12.9 108.4 0 87.7 0 64C0 28.7 28.7 0 64 0c23.7 0 44.4 12.9 55.4 32H328.6C339.6 12.9 360.3 0 384 0c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V232.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V119.4zM119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4V232.6c9.7 5.6 17.8 13.7 23.4 23.4H328.6c5.6-9.7 13.7-17.8 23.4-23.4V119.4c-9.7-5.6-17.8-13.7-23.4-23.4H119.4zm192 384c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V352h64v40.6c9.7 5.6 17.8 13.7 23.4 23.4H520.6c5.6-9.7 13.7-17.8 23.4-23.4V279.4c-9.7-5.6-17.8-13.7-23.4-23.4h-46c-5.4-15.4-14.6-28.9-26.5-39.6V192h72.6c11.1-19.1 31.7-32 55.4-32c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V392.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H311.4z\"]\n};\nvar faPoop = {\n prefix: 'fas',\n iconName: 'poop',\n icon: [512, 512, [], \"f619\", \"M254.4 6.6c3.5-4.3 9-6.5 14.5-5.7C315.8 7.2 352 47.4 352 96c0 11.2-1.9 22-5.5 32H352c35.3 0 64 28.7 64 64c0 19.1-8.4 36.3-21.7 48H408c39.8 0 72 32.2 72 72c0 23.2-11 43.8-28 57c34.1 5.7 60 35.3 60 71c0 39.8-32.2 72-72 72H72c-39.8 0-72-32.2-72-72c0-35.7 25.9-65.3 60-71c-17-13.2-28-33.8-28-57c0-39.8 32.2-72 72-72h13.7C104.4 228.3 96 211.1 96 192c0-35.3 28.7-64 64-64h16.2c44.1-.1 79.8-35.9 79.8-80c0-9.2-1.5-17.9-4.3-26.1c-1.8-5.2-.8-11.1 2.8-15.4z\"]\n};\nvar faLocationPin = {\n prefix: 'fas',\n iconName: 'location-pin',\n icon: [384, 512, [\"map-marker\"], \"f041\", \"M384 192c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192z\"]\n};\nvar faMapMarker = faLocationPin;\nvar faKaaba = {\n prefix: 'fas',\n iconName: 'kaaba',\n icon: [576, 512, [128331], \"f66b\", \"M60 120l228 71.2L516 120 288 48.8 60 120zM278.5 1.5c6.2-1.9 12.9-1.9 19.1 0l256 80C566.9 85.6 576 98 576 112v16 0 21.2L292.8 237.7c-3.1 1-6.4 1-9.5 0L0 149.2V128 112C0 98 9.1 85.6 22.5 81.5l256-80zm23.9 266.8L576 182.8v46.5l-52.8 16.5c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5L576 262.8V400c0 14-9.1 26.4-22.5 30.5l-256 80c-6.2 1.9-12.9 1.9-19.1 0l-256-80C9.1 426.4 0 414 0 400V262.8l43.2 13.5c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20L0 229.2V182.8l273.7 85.5c9.3 2.9 19.3 2.9 28.6 0zm-185.5-2.6c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l64 20c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20l-64-20zm352 30.5c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-64 20c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5l64-20zm-224 9.5c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l38.5 12c9.3 2.9 19.3 2.9 28.6 0l38.5-12c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-38.5 12c-3.1 1-6.4 1-9.5 0l-38.5-12z\"]\n};\nvar faToiletPaper = {\n prefix: 'fas',\n iconName: 'toilet-paper',\n icon: [640, 512, [129531], \"f71e\", \"M444.2 0C397.2 49.6 384 126.5 384 192c0 158.8-27.3 247-42.7 283.9c-10 24-33.2 36.1-55.4 36.1H48c-11.5 0-22.2-6.2-27.8-16.2s-5.6-22.3 .4-32.2c9.8-17.7 15.4-38.2 20.5-57.7C52.3 362.8 64 293.5 64 192C64 86 107 0 160 0H444.2zM512 384c-53 0-96-86-96-192S459 0 512 0s96 86 96 192s-43 192-96 192zm0-128c17.7 0 32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64zM144 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm64 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faHelmetSafety = {\n prefix: 'fas',\n iconName: 'helmet-safety',\n icon: [576, 512, [\"hard-hat\", \"hat-hard\"], \"f807\", \"M256 32c-17.7 0-32 14.3-32 32v2.3 99.6c0 5.6-4.5 10.1-10.1 10.1c-3.6 0-7-1.9-8.8-5.1L157.1 87C83 123.5 32 199.8 32 288v64H544l0-66.4c-.9-87.2-51.7-162.4-125.1-198.6l-48 83.9c-1.8 3.2-5.2 5.1-8.8 5.1c-5.6 0-10.1-4.5-10.1-10.1V66.3 64c0-17.7-14.3-32-32-32H256zM16.6 384C7.4 384 0 391.4 0 400.6c0 4.7 2 9.2 5.8 11.9C27.5 428.4 111.8 480 288 480s260.5-51.6 282.2-67.5c3.8-2.8 5.8-7.2 5.8-11.9c0-9.2-7.4-16.6-16.6-16.6H16.6z\"]\n};\nvar faHardHat = faHelmetSafety;\nvar faHatHard = faHelmetSafety;\nvar faEject = {\n prefix: 'fas',\n iconName: 'eject',\n icon: [448, 512, [9167], \"f052\", \"M224 32c13.5 0 26.3 5.6 35.4 15.6l176 192c12.9 14 16.2 34.3 8.6 51.8S419 320 400 320H48c-19 0-36.3-11.2-43.9-28.7s-4.3-37.7 8.6-51.8l176-192C197.7 37.6 210.5 32 224 32zM0 432c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48s-21.5 48-48 48H48c-26.5 0-48-21.5-48-48z\"]\n};\nvar faCircleRight = {\n prefix: 'fas',\n iconName: 'circle-right',\n icon: [512, 512, [61838, \"arrow-alt-circle-right\"], \"f35a\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM294.6 135.1l99.9 107.1c3.5 3.8 5.5 8.7 5.5 13.8s-2 10.1-5.5 13.8L294.6 376.9c-4.2 4.5-10.1 7.1-16.3 7.1C266 384 256 374 256 361.7l0-57.7-96 0c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32l96 0 0-57.7c0-12.3 10-22.3 22.3-22.3c6.2 0 12.1 2.6 16.3 7.1z\"]\n};\nvar faArrowAltCircleRight = faCircleRight;\nvar faPlaneCircleCheck = {\n prefix: 'fas',\n iconName: 'plane-circle-check',\n icon: [640, 512, [], \"e555\", \"M256 0c-35 0-64 59.5-64 93.7v84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9v65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3V93.7C320 59.5 292 0 256 0zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faFaceRollingEyes = {\n prefix: 'fas',\n iconName: 'face-rolling-eyes',\n icon: [512, 512, [128580, \"meh-rolling-eyes\"], \"f5a5\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 368H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16zm32-144c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-26 15.5-48.4 37.8-58.4c-3.7 5.2-5.8 11.6-5.8 18.4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.9-2.2-13.2-5.8-18.4C208.5 175.6 224 198 224 224zm128 64c-35.3 0-64-28.7-64-64c0-26 15.5-48.4 37.8-58.4c-3.7 5.2-5.8 11.6-5.8 18.4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.9-2.2-13.2-5.8-18.4C400.5 175.6 416 198 416 224c0 35.3-28.7 64-64 64z\"]\n};\nvar faMehRollingEyes = faFaceRollingEyes;\nvar faObjectGroup = {\n prefix: 'fas',\n iconName: 'object-group',\n icon: [576, 512, [], \"f247\", \"M32 119.4C12.9 108.4 0 87.7 0 64C0 28.7 28.7 0 64 0c23.7 0 44.4 12.9 55.4 32H456.6C467.6 12.9 488.3 0 512 0c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V392.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V119.4zM456.6 96H119.4c-5.6 9.7-13.7 17.8-23.4 23.4V392.6c9.7 5.6 17.8 13.7 23.4 23.4H456.6c5.6-9.7 13.7-17.8 23.4-23.4V119.4c-9.7-5.6-17.8-13.7-23.4-23.4zM128 160c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160zM256 320h32c35.3 0 64-28.7 64-64V224h64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V320z\"]\n};\nvar faChartLine = {\n prefix: 'fas',\n iconName: 'chart-line',\n icon: [512, 512, [\"line-chart\"], \"f201\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L240 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z\"]\n};\nvar faLineChart = faChartLine;\nvar faMaskVentilator = {\n prefix: 'fas',\n iconName: 'mask-ventilator',\n icon: [640, 512, [], \"e524\", \"M159.1 176C139.4 219.2 128 264.7 128 300.8c0 15.9 2.2 31.4 6.3 46l-31.8-7.9C70.5 330.9 48 302.1 48 269V184c0-4.4 3.6-8 8-8H159.1zm26-48H56c-30.9 0-56 25.1-56 56v85c0 55.1 37.5 103.1 90.9 116.4l71.3 17.8c22.7 30.5 55.4 54.1 93.8 66.6V393.3c-19.7-16.4-32-40.3-32-66.9c0-49.5 43-134.4 96-134.4c52.5 0 96 84.9 96 134.4c0 26.7-12.4 50.4-32 66.8v76.6c38-12.6 70.6-36 93.5-66.4l71.6-17.9C602.5 372.1 640 324.1 640 269V184c0-30.9-25.1-56-56-56H454.5C419.7 73.8 372.1 32 320 32c-52.6 0-100.2 41.8-134.9 96zm295.6 48H584c4.4 0 8 3.6 8 8v85c0 33-22.5 61.8-54.5 69.9l-31.8 8c4.2-14.7 6.4-30.1 6.4-46.1c0-36.1-11.6-81.6-31.3-124.8zM288 320V512h64V320c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faArrowRight = {\n prefix: 'fas',\n iconName: 'arrow-right',\n icon: [448, 512, [8594], \"f061\", \"M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z\"]\n};\nvar faSignsPost = {\n prefix: 'fas',\n iconName: 'signs-post',\n icon: [512, 512, [\"map-signs\"], \"f277\", \"M224 32H64C46.3 32 32 46.3 32 64v64c0 17.7 14.3 32 32 32H441.4c4.2 0 8.3-1.7 11.3-4.7l48-48c6.2-6.2 6.2-16.4 0-22.6l-48-48c-3-3-7.1-4.7-11.3-4.7H288c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 256c0-17.7-14.3-32-32-32H288V192H224v32H70.6c-4.2 0-8.3 1.7-11.3 4.7l-48 48c-6.2 6.2-6.2 16.4 0 22.6l48 48c3 3 7.1 4.7 11.3 4.7H448c17.7 0 32-14.3 32-32V256zM288 480V384H224v96c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faMapSigns = faSignsPost;\nvar faCashRegister = {\n prefix: 'fas',\n iconName: 'cash-register',\n icon: [512, 512, [], \"f788\", \"M64 0C46.3 0 32 14.3 32 32V96c0 17.7 14.3 32 32 32h80v32H87c-31.6 0-58.5 23.1-63.3 54.4L1.1 364.1C.4 368.8 0 373.6 0 378.4V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V378.4c0-4.8-.4-9.6-1.1-14.4L488.2 214.4C483.5 183.1 456.6 160 425 160H208V128h80c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H64zM96 48H256c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16zM64 432c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm48-168a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm120-24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM160 344a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM328 240a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM256 344a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM424 240a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM352 344a24 24 0 1 1 0-48 24 24 0 1 1 0 48z\"]\n};\nvar faPersonCircleQuestion = {\n prefix: 'fas',\n iconName: 'person-circle-question',\n icon: [576, 512, [], \"e542\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM368 321.6V328c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.4c0-5.3 4.3-9.6 9.6-9.6h40.5c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2V384c0 8.8 7.2 16 16 16s16-7.2 16-16v-5.1l23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9H409.6c-23 0-41.6 18.6-41.6 41.6z\"]\n};\nvar faH = {\n prefix: 'fas',\n iconName: 'h',\n icon: [384, 512, [104], \"48\", \"M320 256l0 192c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192L64 192 64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-192 256 0z\"]\n};\nvar faTarp = {\n prefix: 'fas',\n iconName: 'tarp',\n icon: [576, 512, [], \"e57b\", \"M576 128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64l352 0 0-128c0-17.7 14.3-32 32-32H576V128zM448 448L576 320H448l0 128zM96 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faScrewdriverWrench = {\n prefix: 'fas',\n iconName: 'screwdriver-wrench',\n icon: [512, 512, [\"tools\"], \"f7d9\", \"M78.6 5C69.1-2.4 55.6-1.5 47 7L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4h54.1l109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3l-109-109V104c0-7.5-3.5-14.5-9.4-19L78.6 5zM19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L233.7 374.3c-7.8-20.9-9-43.6-3.6-65.1l-61.7-61.7L19.9 396.1zM512 144c0-10.5-1.1-20.7-3.2-30.5c-2.4-11.2-16.1-14.1-24.2-6l-63.9 63.9c-3 3-7.1 4.7-11.3 4.7H352c-8.8 0-16-7.2-16-16V102.6c0-4.2 1.7-8.3 4.7-11.3l63.9-63.9c8.1-8.1 5.2-21.8-6-24.2C388.7 1.1 378.5 0 368 0C288.5 0 224 64.5 224 144l0 .8 85.3 85.3c36-9.1 75.8 .5 104 28.7L429 274.5c49-23 83-72.8 83-130.5zM56 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faTools = faScrewdriverWrench;\nvar faArrowsToEye = {\n prefix: 'fas',\n iconName: 'arrows-to-eye',\n icon: [640, 512, [], \"e4bf\", \"M15 15C24.4 5.7 39.6 5.7 49 15l63 63V40c0-13.3 10.7-24 24-24s24 10.7 24 24v96c0 13.3-10.7 24-24 24H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H78.1L15 49C5.7 39.6 5.7 24.4 15 15zM133.5 243.9C158.6 193.6 222.7 112 320 112s161.4 81.6 186.5 131.9c3.8 7.6 3.8 16.5 0 24.2C481.4 318.4 417.3 400 320 400s-161.4-81.6-186.5-131.9c-3.8-7.6-3.8-16.5 0-24.2zM320 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM591 15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-63 63H600c13.3 0 24 10.7 24 24s-10.7 24-24 24H504c-13.3 0-24-10.7-24-24V40c0-13.3 10.7-24 24-24s24 10.7 24 24V78.1l63-63zM15 497c-9.4-9.4-9.4-24.6 0-33.9l63-63H40c-13.3 0-24-10.7-24-24s10.7-24 24-24h96c13.3 0 24 10.7 24 24v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V433.9L49 497c-9.4 9.4-24.6 9.4-33.9 0zm576 0l-63-63V472c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H561.9l63 63c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0z\"]\n};\nvar faPlugCircleBolt = {\n prefix: 'fas',\n iconName: 'plug-circle-bolt',\n icon: [576, 512, [], \"e55b\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356H488c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380H376c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nvar faHeart = {\n prefix: 'fas',\n iconName: 'heart',\n icon: [512, 512, [128153, 128154, 128155, 128156, 128420, 129293, 129294, 129505, 9829, 10084, 61578], \"f004\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z\"]\n};\nvar faMarsAndVenus = {\n prefix: 'fas',\n iconName: 'mars-and-venus',\n icon: [512, 512, [9893], \"f224\", \"M337.8 14.8C341.5 5.8 350.3 0 360 0H472c13.3 0 24 10.7 24 24V136c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-24.7 24.7C407 163.3 416 192.6 416 224c0 80.2-59.1 146.7-136.1 158.2c0 .6 .1 1.2 .1 1.8v.4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0l-24 0-24 0v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V486 486v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V485 485v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V484v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V483v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V481v-.1-.1-.1-.1-.1-.1-.1-.1V480v-.1-.1-.1-.1-.1-.1-.1V479v-.1-.1-.1-.1-.1-.1-.1V478v-.1-.1-.1-.1-.1-.1V477v-.1-.1-.1-.1-.1-.1V476v-.1-.1-.1-.1-.1-.1V475v-.1-.2-.2-.2-.2-.2V474v-.2-.2-.2-.2-.2V473v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V470v-.2-.2-.2-.2-.2V469v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V467v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V463v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V459v-.2-.2-.2-.2-.2-.2-.2-.2V457v-.2-.2-.2-.2V456H208c-13.3 0-24-10.7-24-24s10.7-24 24-24h24v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V403v-.3-.3V402v-.3-.3V401v-.3-.3V400v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.3-.4-.4-.4-.4V393v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V388v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V384c0-.6 0-1.2 .1-1.8C155.1 370.7 96 304.2 96 224c0-88.4 71.6-160 160-160c39.6 0 75.9 14.4 103.8 38.2L382.1 80 343 41c-6.9-6.9-8.9-17.2-5.2-26.2zM448 48l0 0h0v0zM256 488h24c0 13.3-10.7 24-24 24s-24-10.7-24-24h24zm96-264a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nvar faHouseUser = {\n prefix: 'fas',\n iconName: 'house-user',\n icon: [576, 512, [\"home-user\"], \"e1b0\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24zM352 224a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-96 96c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H256z\"]\n};\nvar faHomeUser = faHouseUser;\nvar faDumpsterFire = {\n prefix: 'fas',\n iconName: 'dumpster-fire',\n icon: [640, 512, [], \"f794\", \"M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94L140.5 32H49.7zM272 160V32H173.1L147.5 160H272zm32 0h58c15.1-18.1 32.1-35.7 50.5-52.1c1.5-1.4 3.2-2.6 4.8-3.8L402.9 32H304V160zm209.9-23.7c17.4-15.8 43.9-16.2 61.7-1.2c-.1-.7-.3-1.4-.5-2.1L549.2 48.9C546.1 38.9 536.8 32 526.3 32H435.5l12.8 64.2c9.6 1 19 4.9 26.6 11.8c11.7 10.6 23 21.6 33.9 33.1c1.6-1.6 3.3-3.2 5-4.8zM325.2 210.7c3.8-6.2 7.9-12.5 12.3-18.7H32l4 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H44L64 448c0 17.7 14.3 32 32 32s32-14.3 32-32H337.6c-31-34.7-49.6-80.6-49.6-129.9c0-35.2 16.3-73.6 37.2-107.4zm128.4-78.9c-2.8-2.5-6.3-3.7-9.8-3.8c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8c-19.7 31.9-32.4 66.2-32.4 92.6C320 407.9 390.3 480 480 480c88.7 0 160-72 160-159.8c0-20.2-9.6-50.9-24.2-79c-14.8-28.5-35.7-58.5-60.4-81.1c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM530 401c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96z\"]\n};\nvar faHouseCrack = {\n prefix: 'fas',\n iconName: 'house-crack',\n icon: [576, 512, [], \"e3b1\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H230.4l-31.3-52.2c-4.1-6.8-2.6-15.5 3.5-20.5L288 368l-60.2-82.8c-10.9-15 8.2-33.5 22.8-22l117.9 92.6c8 6.3 8.2 18.4 .4 24.9L288 448l38.4 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32z\"]\n};\nvar faMartiniGlassCitrus = {\n prefix: 'fas',\n iconName: 'martini-glass-citrus',\n icon: [576, 512, [\"cocktail\"], \"f561\", \"M432 240c53 0 96-43 96-96s-43-96-96-96c-35.5 0-66.6 19.3-83.2 48H296.2C316 40.1 369.3 0 432 0c79.5 0 144 64.5 144 144s-64.5 144-144 144c-27.7 0-53.5-7.8-75.5-21.3l35.4-35.4c12.2 5.6 25.8 8.7 40.1 8.7zM1.8 142.8C5.5 133.8 14.3 128 24 128H392c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-177 177V464h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H208 120c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V345.9L7 169c-6.9-6.9-8.9-17.2-5.2-26.2z\"]\n};\nvar faCocktail = faMartiniGlassCitrus;\nvar faFaceSurprise = {\n prefix: 'fas',\n iconName: 'face-surprise',\n icon: [512, 512, [128558, \"surprise\"], \"f5c2\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM256 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faSurprise = faFaceSurprise;\nvar faBottleWater = {\n prefix: 'fas',\n iconName: 'bottle-water',\n icon: [320, 512, [], \"e4c5\", \"M120 0h80c13.3 0 24 10.7 24 24V64H96V24c0-13.3 10.7-24 24-24zM32 151.7c0-15.6 9-29.8 23.2-36.5l24.4-11.4c11-5.1 23-7.8 35.1-7.8h90.6c12.1 0 24.1 2.7 35.1 7.8l24.4 11.4c14.1 6.6 23.2 20.8 23.2 36.5c0 14.4-7.5 27-18.9 34.1c11.5 8.8 18.9 22.6 18.9 38.2c0 16.7-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40s-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40s-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48c0-16.7 8.5-31.4 21.5-40C40.5 415.4 32 400.7 32 384s8.5-31.4 21.5-40C40.5 335.4 32 320.7 32 304s8.5-31.4 21.5-40C40.5 255.4 32 240.7 32 224c0-15.6 7.4-29.4 18.9-38.2C39.5 178.7 32 166.1 32 151.7zM96 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm16 112c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faCirclePause = {\n prefix: 'fas',\n iconName: 'circle-pause',\n icon: [512, 512, [62092, \"pause-circle\"], \"f28b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM224 192V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faPauseCircle = faCirclePause;\nvar faToiletPaperSlash = {\n prefix: 'fas',\n iconName: 'toilet-paper-slash',\n icon: [640, 512, [], \"e072\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-109.7-86C569.9 374 608 291.9 608 192C608 86 565 0 512 0s-96 86-96 192c0 49.1 9.2 93.9 24.4 127.9l-59-46.2c1.6-24.8 2.6-52 2.6-81.6c0-65.5 13.2-142.4 60.2-192H160c-24.8 0-47.4 18.8-64.4 49.6L38.8 5.1zM367.3 385.4L66.5 148.4C64.9 162.4 64 177 64 192c0 101.5-11.7 170.8-23 213.9c-5.1 19.4-10.7 39.9-20.5 57.7c-5.9 9.9-6.1 22.1-.4 32.2S36.5 512 48 512H285.9c22.3 0 45.4-12.1 55.4-36.1c7.4-17.7 17.5-47.2 26-90.6zM544 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64z\"]\n};\nvar faAppleWhole = {\n prefix: 'fas',\n iconName: 'apple-whole',\n icon: [448, 512, [127822, 127823, \"apple-alt\"], \"f5d1\", \"M224 112c-8.8 0-16-7.2-16-16V80c0-44.2 35.8-80 80-80h16c8.8 0 16 7.2 16 16V32c0 44.2-35.8 80-80 80H224zM0 288c0-76.3 35.7-160 112-160c27.3 0 59.7 10.3 82.7 19.3c18.8 7.3 39.9 7.3 58.7 0c22.9-8.9 55.4-19.3 82.7-19.3c76.3 0 112 83.7 112 160c0 128-80 224-160 224c-16.5 0-38.1-6.6-51.5-11.3c-8.1-2.8-16.9-2.8-25 0c-13.4 4.7-35 11.3-51.5 11.3C80 512 0 416 0 288z\"]\n};\nvar faAppleAlt = faAppleWhole;\nvar faKitchenSet = {\n prefix: 'fas',\n iconName: 'kitchen-set',\n icon: [576, 512, [], \"e51a\", \"M240 144A96 96 0 1 0 48 144a96 96 0 1 0 192 0zm44.4 32C269.9 240.1 212.5 288 144 288C64.5 288 0 223.5 0 144S64.5 0 144 0c68.5 0 125.9 47.9 140.4 112h71.8c8.8-9.8 21.6-16 35.8-16H496c26.5 0 48 21.5 48 48s-21.5 48-48 48H392c-14.2 0-27-6.2-35.8-16H284.4zM144 80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM400 240c13.3 0 24 10.7 24 24v8h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24s10.7-24 24-24h96v-8c0-13.3 10.7-24 24-24zM288 464V352H512V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48zM48 320h80 16 32c26.5 0 48 21.5 48 48s-21.5 48-48 48H160c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V336c0-8.8 7.2-16 16-16zm128 64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160v32h16zM24 464H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faR = {\n prefix: 'fas',\n iconName: 'r',\n icon: [320, 512, [114], \"52\", \"M64 32C28.7 32 0 60.7 0 96V288 448c0 17.7 14.3 32 32 32s32-14.3 32-32V320h95.3L261.8 466.4c10.1 14.5 30.1 18 44.6 7.9s18-30.1 7.9-44.6L230.1 309.5C282.8 288.1 320 236.4 320 176c0-79.5-64.5-144-144-144H64zM176 256H64V96H176c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]\n};\nvar faTemperatureQuarter = {\n prefix: 'fas',\n iconName: 'temperature-quarter',\n icon: [320, 512, [\"temperature-1\", \"thermometer-1\", \"thermometer-quarter\"], \"f2ca\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V272c0-8.8 7.2-16 16-16s16 7.2 16 16v50.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature1 = faTemperatureQuarter;\nvar faThermometer1 = faTemperatureQuarter;\nvar faThermometerQuarter = faTemperatureQuarter;\nvar faCube = {\n prefix: 'fas',\n iconName: 'cube',\n icon: [512, 512, [], \"f1b2\", \"M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6C495 83.4 512 107.5 512 134.6V377.4c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4V134.6c0-27 17-51.2 42.5-60.3l192-68.6zM256 66L82.3 128 256 190l173.7-62L256 66zm32 368.6l160-57.1v-188L288 246.6v188z\"]\n};\nvar faBitcoinSign = {\n prefix: 'fas',\n iconName: 'bitcoin-sign',\n icon: [320, 512, [], \"e0b4\", \"M48 32C48 14.3 62.3 0 80 0s32 14.3 32 32V64h32V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64c0 1.5-.1 3.1-.3 4.5C254.1 82.2 288 125.1 288 176c0 24.2-7.7 46.6-20.7 64.9c31.7 19.8 52.7 55 52.7 95.1c0 61.9-50.1 112-112 112v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H112v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H41.7C18.7 448 0 429.3 0 406.3V288 265.7 224 101.6C0 80.8 16.8 64 37.6 64H48V32zM64 224H176c26.5 0 48-21.5 48-48s-21.5-48-48-48H64v96zm112 64H64v96H208c26.5 0 48-21.5 48-48s-21.5-48-48-48H176z\"]\n};\nvar faShieldDog = {\n prefix: 'fas',\n iconName: 'shield-dog',\n icon: [512, 512, [], \"e573\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM160.9 286.2c4.8 1.2 9.9 1.8 15.1 1.8c35.3 0 64-28.7 64-64V160h44.2c12.1 0 23.2 6.8 28.6 17.7L320 192h64c8.8 0 16 7.2 16 16v32c0 44.2-35.8 80-80 80H272v50.7c0 7.3-5.9 13.3-13.3 13.3c-1.8 0-3.6-.4-5.2-1.1l-98.7-42.3c-6.6-2.8-10.8-9.3-10.8-16.4c0-2.8 .6-5.5 1.9-8l15-30zM160 160h40 8v32 32c0 17.7-14.3 32-32 32s-32-14.3-32-32V176c0-8.8 7.2-16 16-16zm128 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faSolarPanel = {\n prefix: 'fas',\n iconName: 'solar-panel',\n icon: [640, 512, [], \"f5ba\", \"M122.2 0C91.7 0 65.5 21.5 59.5 51.4L8.3 307.4C.4 347 30.6 384 71 384H288v64H224c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V384H569c40.4 0 70.7-36.9 62.8-76.6l-51.2-256C574.5 21.5 548.3 0 517.8 0H122.2zM260.9 64H379.1l10.4 104h-139L260.9 64zM202.3 168H101.4L122.2 64h90.4L202.3 168zM91.8 216H197.5L187.1 320H71L91.8 216zm153.9 0H394.3l10.4 104-169.4 0 10.4-104zm196.8 0H548.2L569 320h-116L442.5 216zm96-48H437.7L427.3 64h90.4l31.4-6.3L517.8 64l20.8 104z\"]\n};\nvar faLockOpen = {\n prefix: 'fas',\n iconName: 'lock-open',\n icon: [576, 512, [], \"f3c1\", \"M352 144c0-44.2 35.8-80 80-80s80 35.8 80 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32V144C576 64.5 511.5 0 432 0S288 64.5 288 144v48H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H352V144z\"]\n};\nvar faElevator = {\n prefix: 'fas',\n iconName: 'elevator',\n icon: [512, 512, [], \"e16d\", \"M132.7 4.7l-64 64c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H208c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-64-64c-6.2-6.2-16.4-6.2-22.6 0zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H64zm96 96a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM80 400c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v16c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V400zm192 0c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v16c0 17.7-14.3 32-32 32H304c-17.7 0-32-14.3-32-32V400zm32-128a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM356.7 91.3c6.2 6.2 16.4 6.2 22.6 0l64-64c4.6-4.6 5.9-11.5 3.5-17.4S438.5 0 432 0H304c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l64 64z\"]\n};\nvar faMoneyBillTransfer = {\n prefix: 'fas',\n iconName: 'money-bill-transfer',\n icon: [640, 512, [], \"e528\", \"M535 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l64 64c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23L384 112c-13.3 0-24-10.7-24-24s10.7-24 24-24l174.1 0L535 41zM105 377l-23 23L256 400c13.3 0 24 10.7 24 24s-10.7 24-24 24L81.9 448l23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 441c-4.5-4.5-7-10.6-7-17s2.5-12.5 7-17l64-64c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM96 64H337.9c-3.7 7.2-5.9 15.3-5.9 24c0 28.7 23.3 52 52 52l117.4 0c-4 17 .6 35.5 13.8 48.8c20.3 20.3 53.2 20.3 73.5 0L608 169.5V384c0 35.3-28.7 64-64 64H302.1c3.7-7.2 5.9-15.3 5.9-24c0-28.7-23.3-52-52-52l-117.4 0c4-17-.6-35.5-13.8-48.8c-20.3-20.3-53.2-20.3-73.5 0L32 342.5V128c0-35.3 28.7-64 64-64zm64 64H96v64c35.3 0 64-28.7 64-64zM544 320c-35.3 0-64 28.7-64 64h64V320zM320 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faMoneyBillTrendUp = {\n prefix: 'fas',\n iconName: 'money-bill-trend-up',\n icon: [512, 512, [], \"e529\", \"M470.7 9.4c3 3.1 5.3 6.6 6.9 10.3s2.4 7.8 2.4 12.2l0 .1v0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3L310.6 214.6c-11.8 11.8-30.8 12.6-43.5 1.7L176 138.1 84.8 216.3c-13.4 11.5-33.6 9.9-45.1-3.5s-9.9-33.6 3.5-45.1l112-96c12-10.3 29.7-10.3 41.7 0l89.5 76.7L370.7 64H352c-17.7 0-32-14.3-32-32s14.3-32 32-32h96 0c8.8 0 16.8 3.6 22.6 9.3l.1 .1zM0 304c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V304zM48 416v48H96c0-26.5-21.5-48-48-48zM96 304H48v48c26.5 0 48-21.5 48-48zM464 416c-26.5 0-48 21.5-48 48h48V416zM416 304c0 26.5 21.5 48 48 48V304H416zm-96 80a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faHouseFloodWaterCircleArrowRight = {\n prefix: 'fas',\n iconName: 'house-flood-water-circle-arrow-right',\n icon: [640, 512, [], \"e50f\", \"M288 144A144 144 0 1 0 0 144a144 144 0 1 0 288 0zM140.7 76.7c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L169.4 160H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4L140.7 99.3c-6.2-6.2-6.2-16.4 0-22.6zM320 144c0 57.3-27.4 108.2-69.8 140.3c11.8-3.6 23-9.4 33-16.2c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.4 78.1 3.4c2.1 1.7 4.2 3.3 6.5 4.9l-.3-84.4H576c13.9 0 26.1-8.9 30.4-22.1s-.4-27.6-11.6-35.8l-176-128C407.6-2 392.4-2 381.2 6.1L301 64.4c12.1 23.9 19 50.9 19 79.6zm18.5 165.9c-11.1-7.9-25.9-7.9-37 0C279 325.4 251.5 336 224 336c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C158.5 389.7 191 400 224 400c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C471.4 325.2 442.9 336 416 336c-27.5 0-55-10.6-77.5-26.1zm0 112c-11.1-7.9-25.9-7.9-37 0C279 437.4 251.5 448 224 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C158.5 501.7 191 512 224 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C471.4 437.2 442.9 448 416 448c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nvar faSquarePollHorizontal = {\n prefix: 'fas',\n iconName: 'square-poll-horizontal',\n icon: [448, 512, [\"poll-h\"], \"f682\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM256 160c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32zm64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l192 0zM192 352c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0c17.7 0 32 14.3 32 32z\"]\n};\nvar faPollH = faSquarePollHorizontal;\nvar faCircle = {\n prefix: 'fas',\n iconName: 'circle',\n icon: [512, 512, [128308, 128309, 128992, 128993, 128994, 128995, 128996, 9679, 9898, 9899, 11044, 61708, 61915], \"f111\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nvar faBackwardFast = {\n prefix: 'fas',\n iconName: 'backward-fast',\n icon: [512, 512, [9198, \"fast-backward\"], \"f049\", \"M493.6 445c-11.2 5.3-24.5 3.6-34.1-4.4L288 297.7V416c0 12.4-7.2 23.7-18.4 29s-24.5 3.6-34.1-4.4L64 297.7V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 78.3 14.3 64 32 64s32 14.3 32 32V214.3L235.5 71.4c9.5-7.9 22.8-9.7 34.1-4.4S288 83.6 288 96V214.3L459.5 71.4c9.5-7.9 22.8-9.7 34.1-4.4S512 83.6 512 96V416c0 12.4-7.2 23.7-18.4 29z\"]\n};\nvar faFastBackward = faBackwardFast;\nvar faRecycle = {\n prefix: 'fas',\n iconName: 'recycle',\n icon: [512, 512, [9842, 9850, 9851], \"f1b8\", \"M174.7 45.1C192.2 17 223 0 256 0s63.8 17 81.3 45.1l38.6 61.7 27-15.6c8.4-4.9 18.9-4.2 26.6 1.7s11.1 15.9 8.6 25.3l-23.4 87.4c-3.4 12.8-16.6 20.4-29.4 17l-87.4-23.4c-9.4-2.5-16.3-10.4-17.6-20s3.4-19.1 11.8-23.9l28.4-16.4L283 79c-5.8-9.3-16-15-27-15s-21.2 5.7-27 15l-17.5 28c-9.2 14.8-28.6 19.5-43.6 10.5c-15.3-9.2-20.2-29.2-10.7-44.4l17.5-28zM429.5 251.9c15-9 34.4-4.3 43.6 10.5l24.4 39.1c9.4 15.1 14.4 32.4 14.6 50.2c.3 53.1-42.7 96.4-95.8 96.4L320 448v32c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2v32l96.2 0c17.6 0 31.9-14.4 31.8-32c0-5.9-1.7-11.7-4.8-16.7l-24.4-39.1c-9.5-15.2-4.7-35.2 10.7-44.4zm-364.6-31L36 204.2c-8.4-4.9-13.1-14.3-11.8-23.9s8.2-17.5 17.6-20l87.4-23.4c12.8-3.4 26 4.2 29.4 17L182 241.2c2.5 9.4-.9 19.3-8.6 25.3s-18.2 6.6-26.6 1.7l-26.5-15.3L68.8 335.3c-3.1 5-4.8 10.8-4.8 16.7c-.1 17.6 14.2 32 31.8 32l32.2 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32.2 0C42.7 448-.3 404.8 0 351.6c.1-17.8 5.1-35.1 14.6-50.2l50.3-80.5z\"]\n};\nvar faUserAstronaut = {\n prefix: 'fas',\n iconName: 'user-astronaut',\n icon: [448, 512, [], \"f4fb\", \"M370.7 96.1C346.1 39.5 289.7 0 224 0S101.9 39.5 77.3 96.1C60.9 97.5 48 111.2 48 128v64c0 16.8 12.9 30.5 29.3 31.9C101.9 280.5 158.3 320 224 320s122.1-39.5 146.7-96.1c16.4-1.4 29.3-15.1 29.3-31.9V128c0-16.8-12.9-30.5-29.3-31.9zM336 144v16c0 53-43 96-96 96H208c-53 0-96-43-96-96V144c0-26.5 21.5-48 48-48H288c26.5 0 48 21.5 48 48zM189.3 162.7l-6-21.2c-.9-3.3-3.9-5.5-7.3-5.5s-6.4 2.2-7.3 5.5l-6 21.2-21.2 6c-3.3 .9-5.5 3.9-5.5 7.3s2.2 6.4 5.5 7.3l21.2 6 6 21.2c.9 3.3 3.9 5.5 7.3 5.5s6.4-2.2 7.3-5.5l6-21.2 21.2-6c3.3-.9 5.5-3.9 5.5-7.3s-2.2-6.4-5.5-7.3l-21.2-6zM112.7 316.5C46.7 342.6 0 407 0 482.3C0 498.7 13.3 512 29.7 512H128V448c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64l98.3 0c16.4 0 29.7-13.3 29.7-29.7c0-75.3-46.7-139.7-112.7-165.8C303.9 338.8 265.5 352 224 352s-79.9-13.2-111.3-35.5zM176 448c-8.8 0-16 7.2-16 16v48h32V464c0-8.8-7.2-16-16-16zm96 32a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faPlaneSlash = {\n prefix: 'fas',\n iconName: 'plane-slash',\n icon: [640, 512, [], \"e069\", \"M514.3 192c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64H440.6L630.8 469.1c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L238.1 161.3 197.8 20.4C194.9 10.2 202.6 0 213.2 0h56.2c11.5 0 22.1 6.2 27.8 16.1L397.7 192l116.6 0zM41.5 128.7l321 252.9L297.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6H144l-43.2 57.6c-3 4-7.8 6.4-12.8 6.4H46c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L64 256 32.5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-6.2 4-11.4 9.5-13.3z\"]\n};\nvar faTrademark = {\n prefix: 'fas',\n iconName: 'trademark',\n icon: [640, 512, [8482], \"f25c\", \"M345.6 108.8c-8.3-11-22.7-15.5-35.7-11.2S288 114.2 288 128V384c0 17.7 14.3 32 32 32s32-14.3 32-32V224l86.4 115.2c6 8.1 15.5 12.8 25.6 12.8s19.6-4.7 25.6-12.8L576 224V384c0 17.7 14.3 32 32 32s32-14.3 32-32V128c0-13.8-8.8-26-21.9-30.4s-27.5 .1-35.7 11.2L464 266.7 345.6 108.8zM0 128c0 17.7 14.3 32 32 32H96V384c0 17.7 14.3 32 32 32s32-14.3 32-32V160h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 96 0 110.3 0 128z\"]\n};\nvar faBasketball = {\n prefix: 'fas',\n iconName: 'basketball',\n icon: [512, 512, [127936, \"basketball-ball\"], \"f434\", \"M86.6 64l85.2 85.2C194.5 121.7 208 86.4 208 48c0-14.7-2-28.9-5.7-42.4C158.6 15 119 35.5 86.6 64zM64 86.6C35.5 119 15 158.6 5.6 202.3C19.1 206 33.3 208 48 208c38.4 0 73.7-13.5 101.3-36.1L64 86.6zM256 0c-7.3 0-14.6 .3-21.8 .9C238 16 240 31.8 240 48c0 47.3-17.1 90.5-45.4 124L256 233.4 425.4 64C380.2 24.2 320.9 0 256 0zM48 240c-16.2 0-32-2-47.1-5.8C.3 241.4 0 248.7 0 256c0 64.9 24.2 124.2 64 169.4L233.4 256 172 194.6C138.5 222.9 95.3 240 48 240zm463.1 37.8c.6-7.2 .9-14.5 .9-21.8c0-64.9-24.2-124.2-64-169.4L278.6 256 340 317.4c33.4-28.3 76.7-45.4 124-45.4c16.2 0 32 2 47.1 5.8zm-4.7 31.9C492.9 306 478.7 304 464 304c-38.4 0-73.7 13.5-101.3 36.1L448 425.4c28.5-32.3 49.1-71.9 58.4-115.7zM340.1 362.7C317.5 390.3 304 425.6 304 464c0 14.7 2 28.9 5.7 42.4C353.4 497 393 476.5 425.4 448l-85.2-85.2zM317.4 340L256 278.6 86.6 448c45.1 39.8 104.4 64 169.4 64c7.3 0 14.6-.3 21.8-.9C274 496 272 480.2 272 464c0-47.3 17.1-90.5 45.4-124z\"]\n};\nvar faBasketballBall = faBasketball;\nvar faSatelliteDish = {\n prefix: 'fas',\n iconName: 'satellite-dish',\n icon: [512, 512, [128225], \"f7c0\", \"M192 32c0-17.7 14.3-32 32-32C383.1 0 512 128.9 512 288c0 17.7-14.3 32-32 32s-32-14.3-32-32C448 164.3 347.7 64 224 64c-17.7 0-32-14.3-32-32zM60.6 220.6L164.7 324.7l28.4-28.4c-.7-2.6-1.1-5.4-1.1-8.3c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32c-2.9 0-5.6-.4-8.3-1.1l-28.4 28.4L291.4 451.4c14.5 14.5 11.8 38.8-7.3 46.3C260.5 506.9 234.9 512 208 512C93.1 512 0 418.9 0 304c0-26.9 5.1-52.5 14.4-76.1c7.5-19 31.8-21.8 46.3-7.3zM224 96c106 0 192 86 192 192c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-70.7-57.3-128-128-128c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faCircleUp = {\n prefix: 'fas',\n iconName: 'circle-up',\n icon: [512, 512, [61467, \"arrow-alt-circle-up\"], \"f35b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM135.1 217.4l107.1-99.9c3.8-3.5 8.7-5.5 13.8-5.5s10.1 2 13.8 5.5l107.1 99.9c4.5 4.2 7.1 10.1 7.1 16.3c0 12.3-10 22.3-22.3 22.3H304v96c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V256H150.3C138 256 128 246 128 233.7c0-6.2 2.6-12.1 7.1-16.3z\"]\n};\nvar faArrowAltCircleUp = faCircleUp;\nvar faMobileScreenButton = {\n prefix: 'fas',\n iconName: 'mobile-screen-button',\n icon: [384, 512, [\"mobile-alt\"], \"f3cd\", \"M16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM224 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM304 64H80V384H304V64z\"]\n};\nvar faMobileAlt = faMobileScreenButton;\nvar faVolumeHigh = {\n prefix: 'fas',\n iconName: 'volume-high',\n icon: [640, 512, [128266, \"volume-up\"], \"f028\", \"M533.6 32.5C598.5 85.3 640 165.8 640 256s-41.5 170.8-106.4 223.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C557.5 398.2 592 331.2 592 256s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM473.1 107c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C475.3 341.3 496 301.1 496 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM301.1 34.8C312.6 40 320 51.4 320 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3z\"]\n};\nvar faVolumeUp = faVolumeHigh;\nvar faUsersRays = {\n prefix: 'fas',\n iconName: 'users-rays',\n icon: [640, 512, [], \"e593\", \"M41 7C31.6-2.3 16.4-2.3 7 7S-2.3 31.6 7 41l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L41 7zM599 7L527 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zM7 505c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 471c-9.4 9.4-9.4 24.6 0 33.9zm592 0c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72zM320 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM212.1 336c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24c-.5-1.4-1-2.7-1.6-4c-9.4-22.3-29.8-38.9-54.3-43c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-.8 .1-1.7 .3-2.5 .5c-24.9 5.1-45.1 23-53.4 46.5zM175.8 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-26.5 32C119.9 256 96 279.9 96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3zm368 80c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6h56.1zM464 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faWallet = {\n prefix: 'fas',\n iconName: 'wallet',\n icon: [512, 512, [], \"f555\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H80c-8.8 0-16-7.2-16-16s7.2-16 16-16H448c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM416 272a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faClipboardCheck = {\n prefix: 'fas',\n iconName: 'clipboard-check',\n icon: [384, 512, [], \"f46c\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faFileAudio = {\n prefix: 'fas',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zm2 226.3c37.1 22.4 62 63.1 62 109.7s-24.9 87.3-62 109.7c-7.6 4.6-17.4 2.1-22-5.4s-2.1-17.4 5.4-22C269.4 401.5 288 370.9 288 336s-18.6-65.5-46.5-82.3c-7.6-4.6-10-14.4-5.4-22s14.4-10 22-5.4zm-91.9 30.9c6 2.5 9.9 8.3 9.9 14.8V400c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5L113.4 376H80c-8.8 0-16-7.2-16-16V312c0-8.8 7.2-16 16-16h33.4l35.3-35.3c4.6-4.6 11.5-5.9 17.4-3.5zm51 34.9c6.6-5.9 16.7-5.3 22.6 1.3C249.8 304.6 256 319.6 256 336s-6.2 31.4-16.3 42.7c-5.9 6.6-16 7.1-22.6 1.3s-7.1-16-1.3-22.6c5.1-5.7 8.1-13.1 8.1-21.3s-3.1-15.7-8.1-21.3c-5.9-6.6-5.3-16.7 1.3-22.6z\"]\n};\nvar faBurger = {\n prefix: 'fas',\n iconName: 'burger',\n icon: [512, 512, [\"hamburger\"], \"f805\", \"M61.1 224C45 224 32 211 32 194.9c0-1.9 .2-3.7 .6-5.6C37.9 168.3 78.8 32 256 32s218.1 136.3 223.4 157.3c.5 1.9 .6 3.7 .6 5.6c0 16.1-13 29.1-29.1 29.1H61.1zM144 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm240 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM272 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM16 304c0-26.5 21.5-48 48-48H448c26.5 0 48 21.5 48 48s-21.5 48-48 48H64c-26.5 0-48-21.5-48-48zm16 96c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16v16c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V400z\"]\n};\nvar faHamburger = faBurger;\nvar faWrench = {\n prefix: 'fas',\n iconName: 'wrench',\n icon: [512, 512, [128295], \"f0ad\", \"M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7H336c-8.8 0-16-7.2-16-16V118.6c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faBugs = {\n prefix: 'fas',\n iconName: 'bugs',\n icon: [576, 512, [], \"e4d0\", \"M164.5 107.4l33.4-73.5c5.5-12.1 .1-26.3-11.9-31.8s-26.3-.1-31.8 11.9L128 71.7 101.9 14.1C96.4 2 82.1-3.3 70.1 2.1S52.7 21.9 58.1 33.9l33.4 73.5c-10.2 7.1-18.2 17-22.9 28.6h-17l-4.1-20.7c-2.6-13-15.2-21.4-28.2-18.8S-2.1 111.7 .5 124.7l8 40C10.7 175.9 20.6 184 32 184H64v23.3l-37.8 9.5c-9.5 2.4-16.6 10.2-17.9 19.9l-8 56c-1.9 13.1 7.2 25.3 20.4 27.2s25.3-7.2 27.2-20.4l5.7-40 18.4-4.6C82.7 274.6 103.8 288 128 288s45.3-13.4 56.1-33.2l18.4 4.6 5.7 40c1.9 13.1 14 22.2 27.2 20.4s22.2-14 20.4-27.2l-8-56c-1.4-9.7-8.5-17.5-17.9-19.9L192 207.3V184h32c11.4 0 21.3-8.1 23.5-19.3l8-40c2.6-13-5.8-25.6-18.8-28.2s-25.6 5.8-28.2 18.8L204.3 136h-17c-4.7-11.6-12.7-21.5-22.9-28.6zM496 286.5l65.6-47c10.8-7.7 13.3-22.7 5.6-33.5s-22.7-13.3-33.5-5.6l-51.4 36.8 6.1-62.9c1.3-13.2-8.4-24.9-21.6-26.2s-24.9 8.4-26.2 21.6L432.8 250c-12.3 1-24.2 5.6-34.1 13.3L384 254.8l6.8-20c4.2-12.6-2.5-26.2-15-30.4s-26.2 2.5-30.4 15l-13.1 38.6c-3.7 10.8 .8 22.8 10.7 28.5l27.7 16L359 322.7 321.5 312c-9.4-2.7-19.5 .6-25.5 8.3l-34.9 44.5c-8.2 10.4-6.4 25.5 4.1 33.7s25.5 6.4 33.7-4.1l25-31.8 18.2 5.2c-.5 22.6 11 44.7 32 56.8s45.9 11 65.2-.7l13.6 13.2-15.1 37.5c-4.9 12.3 1 26.3 13.3 31.2s26.3-1 31.2-13.3L503.5 440c3.6-9.1 1.4-19.4-5.6-26.2l-28-27.1 11.6-20.1 27.7 16c9.9 5.7 22.5 3.7 30-4.9L566.2 347c8.7-10 7.8-25.1-2.2-33.9s-25.1-7.8-33.9 2.2l-13.9 15.9-14.7-8.5c1.7-12.4-.2-25-5.5-36.2z\"]\n};\nvar faRupeeSign = {\n prefix: 'fas',\n iconName: 'rupee-sign',\n icon: [448, 512, [8360, \"rupee\"], \"f156\", \"M0 64C0 46.3 14.3 32 32 32h80c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320H64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 64zM64 256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H64V256zm256.5 16.4c-.9 6 0 8.7 .4 9.8c.4 1.1 1.4 2.6 4.2 4.9c7.2 5.7 18.7 10 37.9 16.8l1.3 .5c16 5.6 38.7 13.6 55.7 28.1c9.5 8.1 17.9 18.6 23.1 32.3c5.1 13.7 6.1 28.5 3.8 44c-4.2 28.1-20.5 49.3-43.8 60.9c-22.1 11-48.1 12.5-73.2 8l-.2 0 0 0c-9.3-1.8-20.5-5.7-29.3-9c-6-2.3-12.6-4.9-17.7-6.9l0 0c-2.5-1-4.6-1.8-6.3-2.5c-16.5-6.4-24.6-25-18.2-41.4s24.9-24.6 41.4-18.2c2.6 1 5.2 2 7.9 3.1l0 0c4.8 1.9 9.8 3.9 15.4 6c8.8 3.3 15.3 5.4 18.7 6c15.7 2.8 26.7 .8 32.9-2.3c5-2.5 8-6 9.1-13c1-6.9 .2-10.5-.5-12.3c-.6-1.7-1.8-3.6-4.5-5.9c-6.9-5.8-18.2-10.4-36.9-17l-3-1.1c-15.5-5.4-37-13-53.3-25.9c-9.5-7.5-18.3-17.6-23.7-31c-5.5-13.4-6.6-28-4.4-43.2c8.4-57.1 67-78 116.9-68.9c6.9 1.3 27.3 5.8 35.4 8.4c16.9 5.2 26.3 23.2 21.1 40.1s-23.2 26.3-40.1 21.1c-4.7-1.4-22.3-5.5-27.9-6.5c-14.6-2.7-25.8-.4-32.6 3.2c-6.3 3.3-8.9 7.6-9.5 12z\"]\n};\nvar faRupee = faRupeeSign;\nvar faFileImage = {\n prefix: 'fas',\n iconName: 'file-image',\n icon: [384, 512, [128443], \"f1c5\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm152 32c5.3 0 10.2 2.6 13.2 6.9l88 128c3.4 4.9 3.7 11.3 1 16.5s-8.2 8.6-14.2 8.6H216 176 128 80c-5.8 0-11.1-3.1-13.9-8.1s-2.8-11.2 .2-16.1l48-80c2.9-4.8 8.1-7.8 13.7-7.8s10.8 2.9 13.7 7.8l12.8 21.4 48.3-70.2c3-4.3 7.9-6.9 13.2-6.9z\"]\n};\nvar faCircleQuestion = {\n prefix: 'fas',\n iconName: 'circle-question',\n icon: [512, 512, [62108, \"question-circle\"], \"f059\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faQuestionCircle = faCircleQuestion;\nvar faPlaneDeparture = {\n prefix: 'fas',\n iconName: 'plane-departure',\n icon: [640, 512, [128747], \"f5b0\", \"M381 114.9L186.1 41.8c-16.7-6.2-35.2-5.3-51.1 2.7L89.1 67.4C78 73 77.2 88.5 87.6 95.2l146.9 94.5L136 240 77.8 214.1c-8.7-3.9-18.8-3.7-27.3 .6L18.3 230.8c-9.3 4.7-11.8 16.8-5 24.7l73.1 85.3c6.1 7.1 15 11.2 24.3 11.2H248.4c5 0 9.9-1.2 14.3-3.4L535.6 212.2c46.5-23.3 82.5-63.3 100.8-112C645.9 75 627.2 48 600.2 48H542.8c-20.2 0-40.2 4.8-58.2 14L381 114.9zM0 480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z\"]\n};\nvar faHandshakeSlash = {\n prefix: 'fas',\n iconName: 'handshake-slash',\n icon: [640, 512, [], \"e060\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-135-105.8c-1.1-11.3-6.3-22.3-15.3-30.7l-134.2-123-23.4 18.2-26-20.3 77.2-60.1c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2l-89.7 72.6-25.8-20.3 81.8-66.2c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-35.5 23.7L38.8 5.1zM96 171.6L40.6 128H0V352c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V171.6zM413.6 421.9L128 196.9V352h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c.8-.8 1.5-1.7 2.2-2.6zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128V352c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V128H544zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faBookBookmark = {\n prefix: 'fas',\n iconName: 'book-bookmark',\n icon: [448, 512, [], \"e0bb\", \"M0 96C0 43 43 0 96 0h96V190.7c0 13.4 15.5 20.9 26 12.5L272 160l54 43.2c10.5 8.4 26 .9 26-12.5V0h32 32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32z\"]\n};\nvar faCodeBranch = {\n prefix: 'fas',\n iconName: 'code-branch',\n icon: [448, 512, [], \"f126\", \"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3v87.8c18.8-10.9 40.7-17.1 64-17.1h96c35.3 0 64-28.7 64-64v-6.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V160c0 70.7-57.3 128-128 128H176c-35.3 0-64 28.7-64 64v6.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V352 153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHatCowboy = {\n prefix: 'fas',\n iconName: 'hat-cowboy',\n icon: [640, 512, [], \"f8c0\", \"M320 64c14.4 0 22.3-7 30.8-14.4C360.4 41.1 370.7 32 392 32c49.3 0 84.4 152.2 97.9 221.9C447.8 272.1 390.9 288 320 288s-127.8-15.9-169.9-34.1C163.6 184.2 198.7 32 248 32c21.3 0 31.6 9.1 41.2 17.6C297.7 57 305.6 64 320 64zM111.1 270.7c47.2 24.5 117.5 49.3 209 49.3s161.8-24.8 208.9-49.3c24.8-12.9 49.8-28.3 70.1-47.7c7.9-7.9 20.2-9.2 29.6-3.3c9.5 5.9 13.5 17.9 9.9 28.5c-13.5 37.7-38.4 72.3-66.1 100.6C523.7 398.9 443.6 448 320 448s-203.6-49.1-252.5-99.2C39.8 320.4 14.9 285.8 1.4 248.1c-3.6-10.6 .4-22.6 9.9-28.5c9.5-5.9 21.7-4.5 29.6 3.3c20.4 19.4 45.3 34.8 70.1 47.7z\"]\n};\nvar faBridge = {\n prefix: 'fas',\n iconName: 'bridge',\n icon: [576, 512, [], \"e4c8\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H72v64H0V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96s96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96V160H504V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM456 96v64H376V96h80zM328 96v64H248V96h80zM200 96v64H120V96h80z\"]\n};\nvar faPhoneFlip = {\n prefix: 'fas',\n iconName: 'phone-flip',\n icon: [512, 512, [128381, \"phone-alt\"], \"f879\", \"M347.1 24.6c7.7-18.6 28-28.5 47.4-23.2l88 24C499.9 30.2 512 46 512 64c0 247.4-200.6 448-448 448c-18 0-33.8-12.1-38.6-29.5l-24-88c-5.3-19.4 4.6-39.7 23.2-47.4l96-40c16.3-6.8 35.2-2.1 46.3 11.6L207.3 368c70.4-33.3 127.4-90.3 160.7-160.7L318.7 167c-13.7-11.2-18.4-30-11.6-46.3l40-96z\"]\n};\nvar faPhoneAlt = faPhoneFlip;\nvar faTruckFront = {\n prefix: 'fas',\n iconName: 'truck-front',\n icon: [512, 512, [], \"e2b7\", \"M0 80C0 35.8 35.8 0 80 0H432c44.2 0 80 35.8 80 80V368c0 26.2-12.6 49.4-32 64v48c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V432C12.6 417.4 0 394.2 0 368V80zm129.9 72.2L112 224H400l-17.9-71.8C378.5 138 365.7 128 351 128H161c-14.7 0-27.5 10-31 24.2zM128 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCat = {\n prefix: 'fas',\n iconName: 'cat',\n icon: [576, 512, [128008], \"f6be\", \"M320 192h17.1c22.1 38.3 63.5 64 110.9 64c11 0 21.8-1.4 32-4v4 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V339.2L280 448h56c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-53 0-96-43-96-96V192.5c0-16.1-12-29.8-28-31.8l-7.9-1c-17.5-2.2-30-18.2-27.8-35.7s18.2-30 35.7-27.8l7.9 1c48 6 84.1 46.8 84.1 95.3v85.3c34.4-51.7 93.2-85.8 160-85.8zm160 26.5v0c-10 3.5-20.8 5.5-32 5.5c-28.4 0-54-12.4-71.6-32h0c-3.7-4.1-7-8.5-9.9-13.2C357.3 164 352 146.6 352 128v0V32 12 10.7C352 4.8 356.7 .1 362.6 0h.2c3.3 0 6.4 1.6 8.4 4.2l0 .1L384 21.3l27.2 36.3L416 64h64l4.8-6.4L512 21.3 524.8 4.3l0-.1c2-2.6 5.1-4.2 8.4-4.2h.2C539.3 .1 544 4.8 544 10.7V12 32v96c0 17.3-4.6 33.6-12.6 47.6c-11.3 19.8-29.6 35.2-51.4 42.9zM432 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faAnchorCircleExclamation = {\n prefix: 'fas',\n iconName: 'anchor-circle-exclamation',\n icon: [640, 512, [], \"e4ab\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2H320V368 240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faTruckField = {\n prefix: 'fas',\n iconName: 'truck-field',\n icon: [640, 512, [], \"e58d\", \"M32 96c0-35.3 28.7-64 64-64H320c23.7 0 44.4 12.9 55.4 32h51.8c25.3 0 48.2 14.9 58.5 38l52.8 118.8c.5 1.1 .9 2.1 1.3 3.2H544c35.3 0 64 28.7 64 64v32c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V288c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32V96zM384 224h85.9l-42.7-96H384v96zM160 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faRoute = {\n prefix: 'fas',\n iconName: 'route',\n icon: [512, 512, [], \"f4d7\", \"M512 96c0 50.2-59.1 125.1-84.6 155c-3.8 4.4-9.4 6.1-14.5 5H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c53 0 96 43 96 96s-43 96-96 96H139.6c8.7-9.9 19.3-22.6 30-36.8c6.3-8.4 12.8-17.6 19-27.2H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-53 0-96-43-96-96s43-96 96-96h39.8c-21-31.5-39.8-67.7-39.8-96c0-53 43-96 96-96s96 43 96 96zM117.1 489.1c-3.8 4.3-7.2 8.1-10.1 11.3l-1.8 2-.2-.2c-6 4.6-14.6 4-20-1.8C59.8 473 0 402.5 0 352c0-53 43-96 96-96s96 43 96 96c0 30-21.1 67-43.5 97.9c-10.7 14.7-21.7 28-30.8 38.5l-.6 .7zM128 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faClipboardQuestion = {\n prefix: 'fas',\n iconName: 'clipboard-question',\n icon: [384, 512, [], \"e4e3\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM105.8 229.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L216 328.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V314.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H158.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM160 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faPanorama = {\n prefix: 'fas',\n iconName: 'panorama',\n icon: [640, 512, [], \"e209\", \"M45.6 32C20.4 32 0 52.4 0 77.6V434.4C0 459.6 20.4 480 45.6 480c5.1 0 10-.8 14.7-2.4C74.6 472.8 177.6 440 320 440s245.4 32.8 259.6 37.6c4.7 1.6 9.7 2.4 14.7 2.4c25.2 0 45.6-20.4 45.6-45.6V77.6C640 52.4 619.6 32 594.4 32c-5 0-10 .8-14.7 2.4C565.4 39.2 462.4 72 320 72S74.6 39.2 60.4 34.4C55.6 32.8 50.7 32 45.6 32zM96 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm272 0c7.9 0 15.4 3.9 19.8 10.5L512.3 353c5.4 8 5.6 18.4 .4 26.5s-14.7 12.3-24.2 10.7C442.7 382.4 385.2 376 320 376c-65.6 0-123.4 6.5-169.3 14.4c-9.8 1.7-19.7-2.9-24.7-11.5s-4.3-19.4 1.9-27.2L197.3 265c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l26.4 33.1 87-127.6c4.5-6.6 11.9-10.5 19.8-10.5z\"]\n};\nvar faCommentMedical = {\n prefix: 'fas',\n iconName: 'comment-medical',\n icon: [512, 512, [], \"f7f5\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM224 160c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V272H176c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16h48V160z\"]\n};\nvar faTeethOpen = {\n prefix: 'fas',\n iconName: 'teeth-open',\n icon: [576, 512, [], \"f62f\", \"M96 32C43 32 0 75 0 128v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-53-43-96-96-96H96zM224 96c26.5 0 48 21.5 48 48v56c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V144c0-26.5 21.5-48 48-48zm80 48c0-26.5 21.5-48 48-48s48 21.5 48 48v56c0 13.3-10.7 24-24 24H328c-13.3 0-24-10.7-24-24V144zM96 128c26.5 0 48 21.5 48 48v24c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V176c0-26.5 21.5-48 48-48zm336 48c0-26.5 21.5-48 48-48s48 21.5 48 48v24c0 13.3-10.7 24-24 24H456c-13.3 0-24-10.7-24-24V176zM96 480H480c53 0 96-43 96-96V352c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v32c0 53 43 96 96 96zm0-64c-26.5 0-48-21.5-48-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48zm80-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48s-48-21.5-48-48zm176 48c-26.5 0-48-21.5-48-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48zm80-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48s-48-21.5-48-48z\"]\n};\nvar faFileCircleMinus = {\n prefix: 'fas',\n iconName: 'file-circle-minus',\n icon: [576, 512, [], \"e4ed\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faTags = {\n prefix: 'fas',\n iconName: 'tags',\n icon: [512, 512, [], \"f02c\", \"M345 39.1L472.8 168.4c52.4 53 52.4 138.2 0 191.2L360.8 472.9c-9.3 9.4-24.5 9.5-33.9 .2s-9.5-24.5-.2-33.9L438.6 325.9c33.9-34.3 33.9-89.4 0-123.7L310.9 72.9c-9.3-9.4-9.2-24.6 .2-33.9s24.6-9.2 33.9 .2zM0 229.5V80C0 53.5 21.5 32 48 32H197.5c17 0 33.3 6.7 45.3 18.7l168 168c25 25 25 65.5 0 90.5L277.3 442.7c-25 25-65.5 25-90.5 0l-168-168C6.7 262.7 0 246.5 0 229.5zM144 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faWineGlass = {\n prefix: 'fas',\n iconName: 'wine-glass',\n icon: [320, 512, [127863], \"f4e3\", \"M32.1 29.3C33.5 12.8 47.4 0 64 0H256c16.6 0 30.5 12.8 31.9 29.3l14 168.4c6 72-42.5 135.2-109.9 150.6V448h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H160 80c-17.7 0-32-14.3-32-32s14.3-32 32-32h48V348.4C60.6 333 12.1 269.8 18.1 197.8l14-168.4zm56 98.7H231.9l-5.3-64H93.4l-5.3 64z\"]\n};\nvar faForwardFast = {\n prefix: 'fas',\n iconName: 'forward-fast',\n icon: [512, 512, [9197, \"fast-forward\"], \"f050\", \"M18.4 445c11.2 5.3 24.5 3.6 34.1-4.4L224 297.7V416c0 12.4 7.2 23.7 18.4 29s24.5 3.6 34.1-4.4L448 297.7V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32s-32 14.3-32 32V214.3L276.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S224 83.6 224 96V214.3L52.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S0 83.6 0 96V416c0 12.4 7.2 23.7 18.4 29z\"]\n};\nvar faFastForward = faForwardFast;\nvar faFaceMehBlank = {\n prefix: 'fas',\n iconName: 'face-meh-blank',\n icon: [512, 512, [128566, \"meh-blank\"], \"f5a4\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm208.4-48a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faMehBlank = faFaceMehBlank;\nvar faSquareParking = {\n prefix: 'fas',\n iconName: 'square-parking',\n icon: [448, 512, [127359, \"parking\"], \"f540\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM192 256h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H192v64zm48 64H192v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 168c0-22.1 17.9-40 40-40h72c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nvar faParking = faSquareParking;\nvar faHouseSignal = {\n prefix: 'fas',\n iconName: 'house-signal',\n icon: [576, 512, [], \"e012\", \"M357.7 8.5c-12.3-11.3-31.2-11.3-43.4 0l-208 192c-9.4 8.6-12.7 22-8.5 34c87.1 25.3 155.6 94.2 180.3 181.6H464c26.5 0 48-21.5 48-48V256h32c13.2 0 25-8.1 29.8-20.3s1.6-26.2-8.1-35.2l-208-192zM288 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V208zM24 256c-13.3 0-24 10.7-24 24s10.7 24 24 24c101.6 0 184 82.4 184 184c0 13.3 10.7 24 24 24s24-10.7 24-24c0-128.1-103.9-232-232-232zm8 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM0 376c0 13.3 10.7 24 24 24c48.6 0 88 39.4 88 88c0 13.3 10.7 24 24 24s24-10.7 24-24c0-75.1-60.9-136-136-136c-13.3 0-24 10.7-24 24z\"]\n};\nvar faBarsProgress = {\n prefix: 'fas',\n iconName: 'bars-progress',\n icon: [512, 512, [\"tasks-alt\"], \"f828\", \"M448 160H320V128H448v32zM48 64C21.5 64 0 85.5 0 112v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H48zM448 352v32H192V352H448zM48 288c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48z\"]\n};\nvar faTasksAlt = faBarsProgress;\nvar faFaucetDrip = {\n prefix: 'fas',\n iconName: 'faucet-drip',\n icon: [512, 512, [128688], \"e006\", \"M224 0c17.7 0 32 14.3 32 32V44l96-12c17.7 0 32 14.3 32 32s-14.3 32-32 32L256 84l-31-3.9-1-.1-1 .1L192 84 96 96C78.3 96 64 81.7 64 64s14.3-32 32-32l96 12V32c0-17.7 14.3-32 32-32zM0 224c0-17.7 14.3-32 32-32h96l22.6-22.6c6-6 14.1-9.4 22.6-9.4H192V116.2l32-4 32 4V160h18.7c8.5 0 16.6 3.4 22.6 9.4L320 192h32c88.4 0 160 71.6 160 160c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32s-14.3-32-32-32H315.9c-20.2 29-53.9 48-91.9 48s-71.7-19-91.9-48H32c-17.7 0-32-14.3-32-32V224zM436.8 423.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1l18.2-42.4z\"]\n};\nvar faCartFlatbed = {\n prefix: 'fas',\n iconName: 'cart-flatbed',\n icon: [640, 512, [\"dolly-flatbed\"], \"f474\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64H48c8.8 0 16 7.2 16 16V368c0 44.2 35.8 80 80 80h18.7c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H450.7c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H144c-8.8 0-16-7.2-16-16V80C128 35.8 92.2 0 48 0H32zM192 80V272c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H464V176c0 5.9-3.2 11.3-8.5 14.1s-11.5 2.5-16.4-.8L400 163.2l-39.1 26.1c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V32H240c-26.5 0-48 21.5-48 48z\"]\n};\nvar faDollyFlatbed = faCartFlatbed;\nvar faBanSmoking = {\n prefix: 'fas',\n iconName: 'ban-smoking',\n icon: [512, 512, [128685, \"smoking-ban\"], \"f54d\", \"M99.5 144.8L178.7 224l96 96 92.5 92.5C335.9 434.9 297.5 448 256 448C150 448 64 362 64 256c0-41.5 13.1-79.9 35.5-111.2zM333.3 288l-32-32H384v32H333.3zm32 32H400c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H269.3L144.8 99.5C176.1 77.1 214.5 64 256 64c106 0 192 86 192 192c0 41.5-13.1 79.9-35.5 111.2L365.3 320zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM272 96c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48H304c-8.8 0-16-7.2-16-16s-7.2-16-16-16zM229.5 320l-96-96H112c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H229.5z\"]\n};\nvar faSmokingBan = faBanSmoking;\nvar faTerminal = {\n prefix: 'fas',\n iconName: 'terminal',\n icon: [576, 512, [], \"f120\", \"M9.4 86.6C-3.1 74.1-3.1 53.9 9.4 41.4s32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L178.7 256 9.4 86.6zM256 416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faMobileButton = {\n prefix: 'fas',\n iconName: 'mobile-button',\n icon: [384, 512, [], \"f10b\", \"M80 0C44.7 0 16 28.7 16 64V448c0 35.3 28.7 64 64 64H304c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H80zM192 400a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHouseMedicalFlag = {\n prefix: 'fas',\n iconName: 'house-medical-flag',\n icon: [640, 512, [], \"e514\", \"M480 0c17.7 0 32 14.3 32 32H624c8.8 0 16 7.2 16 16V176c0 8.8-7.2 16-16 16H512V512H448V192 32c0-17.7 14.3-32 32-32zM276.8 39.7L416 159V512h1l-.2 0H96c-17.7 0-32-14.3-32-32V288H32c-13.4 0-25.4-8.3-30-20.9s-1-26.7 9.2-35.4l224-192c12-10.3 29.7-10.3 41.7 0zM224 208v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H288V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faBasketShopping = {\n prefix: 'fas',\n iconName: 'basket-shopping',\n icon: [576, 512, [\"shopping-basket\"], \"f291\", \"M253.3 35.1c6.1-11.8 1.5-26.3-10.2-32.4s-26.3-1.5-32.4 10.2L117.6 192H32c-17.7 0-32 14.3-32 32s14.3 32 32 32L83.9 463.5C91 492 116.6 512 146 512H430c29.4 0 55-20 62.1-48.5L544 256c17.7 0 32-14.3 32-32s-14.3-32-32-32H458.4L365.3 12.9C359.2 1.2 344.7-3.4 332.9 2.7s-16.3 20.6-10.2 32.4L404.3 192H171.7L253.3 35.1zM192 304v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16zm96-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16zm128 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faShoppingBasket = faBasketShopping;\nvar faTape = {\n prefix: 'fas',\n iconName: 'tape',\n icon: [576, 512, [], \"f4db\", \"M380.8 416c41.5-40.7 67.2-97.3 67.2-160C448 132.3 347.7 32 224 32S0 132.3 0 256S100.3 480 224 480H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H380.8zM224 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm64 96a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faBusSimple = {\n prefix: 'fas',\n iconName: 'bus-simple',\n icon: [448, 512, [\"bus-alt\"], \"f55e\", \"M224 0C348.8 0 448 35.2 448 80V96 416c0 17.7-14.3 32-32 32v32c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32l0-32c-17.7 0-32-14.3-32-32V96 80C0 35.2 99.2 0 224 0zM64 128V256c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBusAlt = faBusSimple;\nvar faEye = {\n prefix: 'fas',\n iconName: 'eye',\n icon: [576, 512, [128065], \"f06e\", \"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z\"]\n};\nvar faFaceSadCry = {\n prefix: 'fas',\n iconName: 'face-sad-cry',\n icon: [512, 512, [128557, \"sad-cry\"], \"f5b3\", \"M352 493.4c-29.6 12-62.1 18.6-96 18.6s-66.4-6.6-96-18.6V288c0-8.8-7.2-16-16-16s-16 7.2-16 16V477.8C51.5 433.5 0 350.8 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 94.8-51.5 177.5-128 221.8V288c0-8.8-7.2-16-16-16s-16 7.2-16 16V493.4zM195.2 233.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm121.6 0c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2zM208 336v32c0 26.5 21.5 48 48 48s48-21.5 48-48V336c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faSadCry = faFaceSadCry;\nvar faAudioDescription = {\n prefix: 'fas',\n iconName: 'audio-description',\n icon: [576, 512, [], \"f29e\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM213.5 173.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7l-9.4-18.9H150.9l-9.4 18.9c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zm-.4 106.6L192 237.7l-21.1 42.2h42.2zM304 184c0-13.3 10.7-24 24-24h56c53 0 96 43 96 96s-43 96-96 96H328c-13.3 0-24-10.7-24-24V184zm48 24v96h32c26.5 0 48-21.5 48-48s-21.5-48-48-48H352z\"]\n};\nvar faPersonMilitaryToPerson = {\n prefix: 'fas',\n iconName: 'person-military-to-person',\n icon: [512, 512, [], \"e54c\", \"M71 12.5c-8.6 1-15 8.2-15 16.8c0 9.3 7.5 16.8 16.7 16.9H184.1c8.8-.1 15.9-7.2 15.9-16V16c0-9.5-8.3-17-17.8-15.9L71 12.5zM189.5 78.1H66.5C64.9 83.8 64 89.8 64 96c0 35.3 28.7 64 64 64s64-28.7 64-64c0-6.2-.9-12.2-2.5-17.9zM32 256v32c0 17.7 14.3 32 32 32H192c1.8 0 3.5-.1 5.2-.4L53 208.6C40.1 220.3 32 237.2 32 256zm190.2 42.5c1.1-3.3 1.8-6.8 1.8-10.5V256c0-35.3-28.7-64-64-64H96c-3.7 0-7.4 .3-10.9 .9L222.2 298.5zM384 160a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H352zM215.8 450.1c5.2-4.6 8.2-11.1 8.2-18.1s-3-13.5-8.2-18.1l-64-56c-7.1-6.2-17.1-7.7-25.7-3.8S112 366.6 112 376v32l-88 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l88 0v32c0 9.4 5.5 18 14.1 21.9s18.6 2.4 25.7-3.8l64-56zM288 431.9c0 6.9 2.9 13.5 8.1 18.1l64 56.4c7.1 6.2 17.1 7.8 25.7 3.9s14.1-12.4 14.1-21.9l0-32.4 88 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-88 0 0-32c0-9.4-5.5-18-14.1-21.9s-18.6-2.4-25.7 3.8l-64 56c-5.2 4.5-8.2 11.1-8.2 18z\"]\n};\nvar faFileShield = {\n prefix: 'fas',\n iconName: 'file-shield',\n icon: [576, 512, [], \"e4f0\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v47l-92.8 37.1c-21.3 8.5-35.2 29.1-35.2 52c0 56.6 18.9 148 94.2 208.3c-9 4.8-19.3 7.6-30.2 7.6H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm39.1 97.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8V461.7c68.2-33 91.5-99 95.4-149.7z\"]\n};\nvar faUserSlash = {\n prefix: 'fas',\n iconName: 'user-slash',\n icon: [640, 512, [], \"f506\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L353.3 251.6C407.9 237 448 187.2 448 128C448 57.3 390.7 0 320 0C250.2 0 193.5 55.8 192 125.2L38.8 5.1zM264.3 304.3C170.5 309.4 96 387.2 96 482.3c0 16.4 13.3 29.7 29.7 29.7H514.3c3.9 0 7.6-.7 11-2.1l-261-205.6z\"]\n};\nvar faPen = {\n prefix: 'fas',\n iconName: 'pen',\n icon: [512, 512, [128394], \"f304\", \"M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z\"]\n};\nvar faTowerObservation = {\n prefix: 'fas',\n iconName: 'tower-observation',\n icon: [512, 512, [], \"e586\", \"M241.7 3.4c9-4.5 19.6-4.5 28.6 0l160 80c15.8 7.9 22.2 27.1 14.3 42.9C439 137.5 427.7 144 416 144v80c0 17.7-14.3 32-32 32h-4.9l32 192H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H384.5c-.4 0-.8 0-1.1 0H128.6c-.4 0-.8 0-1.1 0H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l32-192H128c-17.7 0-32-14.3-32-32V144c-11.7 0-23-6.5-28.6-17.7c-7.9-15.8-1.5-35 14.3-42.9l160-80zM314.5 448L256 399.2 197.5 448h117zM197.8 256l-4.7 28.3L256 336.8l62.9-52.5L314.2 256H197.8zm-13.9 83.2l-11.2 67L218.5 368l-34.6-28.8zM293.5 368l45.8 38.1-11.2-67L293.5 368zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"]\n};\nvar faFileCode = {\n prefix: 'fas',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM153 289l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L71 337c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM265 255l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faSignal = {\n prefix: 'fas',\n iconName: 'signal',\n icon: [640, 512, [128246, \"signal-5\", \"signal-perfect\"], \"f012\", \"M576 0c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM448 96c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32zM352 224V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32zM192 288c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32zM96 416v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faSignal5 = faSignal;\nvar faSignalPerfect = faSignal;\nvar faBus = {\n prefix: 'fas',\n iconName: 'bus',\n icon: [576, 512, [128653], \"f207\", \"M288 0C422.4 0 512 35.2 512 80V96l0 32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32l0 160c0 17.7-14.3 32-32 32v32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H192v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32l0-32c-17.7 0-32-14.3-32-32l0-160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h0V96h0V80C64 35.2 153.6 0 288 0zM128 160v96c0 17.7 14.3 32 32 32H272V128H160c-17.7 0-32 14.3-32 32zM304 288H416c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H304V288zM144 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM384 80c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16z\"]\n};\nvar faHeartCircleXmark = {\n prefix: 'fas',\n iconName: 'heart-circle-xmark',\n icon: [576, 512, [], \"e501\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faHouseChimney = {\n prefix: 'fas',\n iconName: 'house-chimney',\n icon: [576, 512, [63499, \"home-lg\"], \"e3af\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64 24c0 22.1 17.9 40 40 40h24 32.5c1.4 0 2.8 0 4.2-.1c1.1 .1 2.2 .1 3.3 .1h16c22.1 0 40-17.9 40-40V455.8c.3-2.6 .5-5.3 .5-8.1l-.7-160.2h32z\"]\n};\nvar faHomeLg = faHouseChimney;\nvar faWindowMaximize = {\n prefix: 'fas',\n iconName: 'window-maximize',\n icon: [512, 512, [128470], \"f2d0\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faFaceFrown = {\n prefix: 'fas',\n iconName: 'face-frown',\n icon: [512, 512, [9785, \"frown\"], \"f119\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.3 388.7c-2.6 8.4-11.6 13.2-20 10.5s-13.2-11.6-10.5-20C145.2 326.1 196.3 288 256 288s110.8 38.1 127.3 91.3c2.6 8.4-2.1 17.4-10.5 20s-17.4-2.1-20-10.5C340.5 349.4 302.1 320 256 320s-84.5 29.4-96.7 68.7zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faFrown = faFaceFrown;\nvar faPrescription = {\n prefix: 'fas',\n iconName: 'prescription',\n icon: [448, 512, [], \"f5b1\", \"M32 0C14.3 0 0 14.3 0 32V192v96c0 17.7 14.3 32 32 32s32-14.3 32-32V224h50.7l128 128L137.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L288 397.3 393.4 502.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L333.3 352 438.6 246.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 306.7l-85.8-85.8C251.4 209.1 288 164.8 288 112C288 50.1 237.9 0 176 0H32zM176 160H64V64H176c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nvar faShop = {\n prefix: 'fas',\n iconName: 'shop',\n icon: [640, 512, [\"store-alt\"], \"f54f\", \"M36.8 192H603.2c20.3 0 36.8-16.5 36.8-36.8c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM64 224V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V384 224H320V384H128V224H64zm448 0V480c0 17.7 14.3 32 32 32s32-14.3 32-32V224H512z\"]\n};\nvar faStoreAlt = faShop;\nvar faFloppyDisk = {\n prefix: 'fas',\n iconName: 'floppy-disk',\n icon: [448, 512, [128190, 128426, \"save\"], \"f0c7\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faSave = faFloppyDisk;\nvar faVihara = {\n prefix: 'fas',\n iconName: 'vihara',\n icon: [640, 512, [], \"f6a7\", \"M281 22L305.8 4.7c1.3-.9 2.7-1.8 4.1-2.4C313.1 .7 316.6 0 320 0s6.9 .7 10.1 2.2c1.4 .7 2.8 1.5 4.1 2.4L359 22C393 45.8 430.8 63.5 470.8 74.4l23 6.3c1.8 .5 3.6 1.1 5.2 2c3.2 1.7 5.9 4 8.1 6.8c3.8 4.9 5.6 11.3 4.7 17.8c-.4 2.8-1.2 5.4-2.5 7.8c-1.7 3.2-4 5.9-6.8 8.1c-4.3 3.2-9.6 5.1-15.1 4.9H480v56.1l6.4 5.1 5.2 4.1c21.1 16.7 45 29.6 70.5 38.1l28.9 9.6c1.6 .5 3.2 1.2 4.6 2c3.1 1.7 5.8 4.1 7.8 6.9s3.5 6.1 4.1 9.6c.5 2.7 .6 5.5 .1 8.3s-1.4 5.4-2.7 7.8c-1.7 3.1-4.1 5.8-6.9 7.8s-6.1 3.5-9.6 4.1c-1.6 .3-3.3 .4-5 .4H544v65.9c20.5 22.8 47.4 39.2 77.4 46.7C632 403 640 412.6 640 424c0 13.3-10.7 24-24 24H576v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H352v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H24c-13.3 0-24-10.7-24-24c0-11.4 8-21 18.6-23.4c30-7.6 56.9-23.9 77.4-46.7V288H56.6c-1.7 0-3.4-.1-5-.4c-3.5-.7-6.8-2.1-9.6-4.1s-5.2-4.7-7-7.8c-1.3-2.4-2.3-5-2.7-7.8s-.4-5.6 .1-8.3c.7-3.5 2.1-6.8 4.1-9.6s4.7-5.2 7.8-6.9c1.4-.8 3-1.5 4.6-2l28.9-9.6c25.5-8.5 49.4-21.4 70.5-38.1l5.2-4.1 6.4-5.1V176 128h-7.5c-5.5 .1-10.8-1.7-15.1-4.9c-2.8-2.1-5.1-4.8-6.8-8.1c-1.2-2.4-2.1-5-2.5-7.8c-.9-6.5 .9-12.8 4.7-17.8c2.1-2.8 4.8-5.1 8.1-6.8c1.6-.8 3.4-1.5 5.2-2l23-6.3C209.2 63.5 247 45.8 281 22zM416 128H320 224v64h72 48 72V128zM160 288v64H296h24 24H480V288H344 320h0H296 160z\"]\n};\nvar faScaleUnbalanced = {\n prefix: 'fas',\n iconName: 'scale-unbalanced',\n icon: [640, 512, [\"balance-scale-left\"], \"f515\", \"M522.1 62.4c16.8-5.6 25.8-23.7 20.2-40.5S518.6-3.9 501.9 1.6l-113 37.7C375 15.8 349.3 0 320 0c-44.2 0-80 35.8-80 80c0 3 .2 5.9 .5 8.8L117.9 129.6c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l135.5-45.2c4.5 3.2 9.3 5.9 14.4 8.2V480c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V153.3c21-9.2 37.2-27 44.2-49l125.9-42zM439.6 288L512 163.8 584.4 288H439.6zM512 384c62.9 0 115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L536.1 109.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L392.7 273.1c-5.7 9.8-9.3 21.1-6.7 32.1C396.8 350 449.1 384 512 384zM129.2 291.8L201.6 416H56.7l72.4-124.2zM3.2 433.1C14 478 66.3 512 129.2 512s115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L153.2 237.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L9.9 401.1c-5.7 9.8-9.3 21.1-6.7 32.1z\"]\n};\nvar faBalanceScaleLeft = faScaleUnbalanced;\nvar faSortUp = {\n prefix: 'fas',\n iconName: 'sort-up',\n icon: [320, 512, [\"sort-asc\"], \"f0de\", \"M182.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"]\n};\nvar faSortAsc = faSortUp;\nvar faCommentDots = {\n prefix: 'fas',\n iconName: 'comment-dots',\n icon: [512, 512, [128172, 62075, \"commenting\"], \"f4ad\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCommenting = faCommentDots;\nvar faPlantWilt = {\n prefix: 'fas',\n iconName: 'plant-wilt',\n icon: [512, 512, [], \"e5aa\", \"M288 120c0-30.9 25.1-56 56-56s56 25.1 56 56v13c-29.3 10-48 34.5-48 70.1c0 27.9 25.3 74.8 66 111.6c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-35.6-18.7-60.2-48-70.1V120C464 53.7 410.3 0 344 0S224 53.7 224 120v21.8C207.3 133 188.2 128 168 128c-66.3 0-120 53.7-120 120v13c-29.3 10-48 34.5-48 70.1C0 359 25.3 405.9 66 442.7c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-35.6-18.7-60.2-48-70.1V248c0-30.9 25.1-56 56-56s56 25.1 56 56v32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V280 248 120z\"]\n};\nvar faDiamond = {\n prefix: 'fas',\n iconName: 'diamond',\n icon: [512, 512, [9830], \"f219\", \"M284.3 11.7c-15.6-15.6-40.9-15.6-56.6 0l-216 216c-15.6 15.6-15.6 40.9 0 56.6l216 216c15.6 15.6 40.9 15.6 56.6 0l216-216c15.6-15.6 15.6-40.9 0-56.6l-216-216z\"]\n};\nvar faFaceGrinSquint = {\n prefix: 'fas',\n iconName: 'face-grin-squint',\n icon: [512, 512, [128518, \"grin-squint\"], \"f585\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM133.5 146.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faGrinSquint = faFaceGrinSquint;\nvar faHandHoldingDollar = {\n prefix: 'fas',\n iconName: 'hand-holding-dollar',\n icon: [576, 512, [\"hand-holding-usd\"], \"f4c0\", \"M312 24V34.5c6.4 1.2 12.6 2.7 18.2 4.2c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17c-10.9-2.9-21.1-4.9-30.2-5c-7.3-.1-14.7 1.7-19.4 4.4c-2.1 1.3-3.1 2.4-3.5 3c-.3 .5-.7 1.2-.7 2.8c0 .3 0 .5 0 .6c.2 .2 .9 1.2 3.3 2.6c5.8 3.5 14.4 6.2 27.4 10.1l.9 .3 0 0c11.1 3.3 25.9 7.8 37.9 15.3c13.7 8.6 26.1 22.9 26.4 44.9c.3 22.5-11.4 38.9-26.7 48.5c-6.7 4.1-13.9 7-21.3 8.8V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V220.6c-9.5-2.3-18.2-5.3-25.6-7.8c-2.1-.7-4.1-1.4-6-2c-12.6-4.2-19.4-17.8-15.2-30.4s17.8-19.4 30.4-15.2c2.6 .9 5 1.7 7.3 2.5c13.6 4.6 23.4 7.9 33.9 8.3c8 .3 15.1-1.6 19.2-4.1c1.9-1.2 2.8-2.2 3.2-2.9c.4-.6 .9-1.8 .8-4.1l0-.2c0-1 0-2.1-4-4.6c-5.7-3.6-14.3-6.4-27.1-10.3l-1.9-.6c-10.8-3.2-25-7.5-36.4-14.4c-13.5-8.1-26.5-22-26.6-44.1c-.1-22.9 12.9-38.6 27.7-47.4c6.4-3.8 13.3-6.4 20.2-8.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faHandHoldingUsd = faHandHoldingDollar;\nvar faBacterium = {\n prefix: 'fas',\n iconName: 'bacterium',\n icon: [512, 512, [], \"e05a\", \"M423.1 30.6c3.6-12.7-3.7-26-16.5-29.7s-26 3.7-29.7 16.5l-4.2 14.7c-9.8-.4-19.9 .5-29.9 2.8c-12.1 2.8-23.7 5.9-34.9 9.4l-5.9-13.7c-5.2-12.2-19.3-17.8-31.5-12.6s-17.8 19.3-12.6 31.5l4.9 11.3c-22 9.4-42 20.1-60.2 31.8L196 82.7c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l7.8 11.6c-18 15-33.7 30.8-47.3 47.1L103 157.3c-10.4-8.3-25.5-6.6-33.7 3.7s-6.6 25.5 3.7 33.7l15 12c-2.1 3.2-4.1 6.5-6 9.7c-9.4 15.7-17 31-23.2 45.3l-9.9-3.9c-12.3-4.9-26.3 1.1-31.2 13.4s1.1 26.3 13.4 31.2l11.6 4.6c-.3 1.1-.6 2.1-.9 3.1c-3.5 12.5-5.7 23.2-7.1 31.3c-.7 4.1-1.2 7.5-1.6 10.3c-.2 1.4-.3 2.6-.4 3.6l-.1 1.4-.1 .6 0 .3 0 .1c0 0 0 .1 39.2 3.7l0 0-39.2-3.6c-.5 5-.6 10-.4 14.9l-14.7 4.2C4.7 380.6-2.7 393.8 .9 406.6s16.9 20.1 29.7 16.5l13.8-3.9c10.6 20.7 27.6 37.8 48.5 48.5l-3.9 13.7c-3.6 12.7 3.7 26 16.5 29.7s26-3.7 29.7-16.5l4.2-14.7c23.8 1 46.3-5.5 65.1-17.6L215 473c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c9.1-14.1 15.1-30.5 17-48.3l.1-.8c.3-1.7 1-5.1 2.3-9.8l.2-.8 12.6 5.4c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5l-11.3-4.8c9.9-14.9 24.9-31.6 48.6-46l2.1 7.5c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7L371 259.2c6.9-2.2 14.3-4.3 22.2-6.1c12.9-3 24.7-8 35.2-14.8L439 249c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c12.2-19 18.6-41.6 17.6-65.1l14.7-4.2c12.7-3.6 20.1-16.9 16.5-29.7s-16.9-20.1-29.7-16.5l-13.7 3.9c-10.8-21.2-28-38-48.5-48.5l3.9-13.8zM92.1 363.3l0 0L144 368l-51.9-4.7zM112 320a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM240 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHandPointer = {\n prefix: 'fas',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M128 40c0-22.1 17.9-40 40-40s40 17.9 40 40V188.2c8.5-7.6 19.7-12.2 32-12.2c20.6 0 38.2 13 45 31.2c8.8-9.3 21.2-15.2 35-15.2c25.3 0 46 19.5 47.9 44.3c8.5-7.7 19.8-12.3 32.1-12.3c26.5 0 48 21.5 48 48v48 16 48c0 70.7-57.3 128-128 128l-16 0H240l-.1 0h-5.2c-5 0-9.9-.3-14.7-1c-55.3-5.6-106.2-34-140-79L8 336c-13.3-17.7-9.7-42.7 8-56s42.7-9.7 56 8l56 74.7V40zM240 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304zm48-16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304z\"]\n};\nvar faDrumSteelpan = {\n prefix: 'fas',\n iconName: 'drum-steelpan',\n icon: [576, 512, [], \"f56a\", \"M288 32c159.1 0 288 48 288 128V352c0 80-128.9 128-288 128S0 432 0 352V160C0 80 128.9 32 288 32zM528 160c0-9.9-8-29.9-55-49.8c-18.6-7.9-40.9-14.4-66-19.4l-27.8 43.6c-7.3 11.5-11.2 24.8-11.2 38.4c0 17.5 6.4 34.4 18.1 47.5l9.8 11c29.8-5.2 55.9-12.5 77.2-21.5c47.1-19.9 55-39.9 55-49.8zM349.2 237.3c-8-26.2-32.4-45.3-61.2-45.3s-53.3 19.1-61.2 45.3c19.4 1.7 39.9 2.7 61.2 2.7s41.8-.9 61.2-2.7zM169 90.8c-25.2 5-47.4 11.6-66 19.4C56 130.1 48 150.1 48 160s8 29.9 55 49.8c21.3 9 47.4 16.3 77.2 21.5l9.8-11c11.6-13.1 18.1-30 18.1-47.5c0-13.6-3.9-26.9-11.2-38.4L169 90.8zm56.3-8C224.5 87 224 91.5 224 96c0 35.3 28.7 64 64 64s64-28.7 64-64c0-4.5-.5-9-1.4-13.2C330.8 81 309.8 80 288 80s-42.8 1-62.6 2.8z\"]\n};\nvar faHandScissors = {\n prefix: 'fas',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M40 208c-22.1 0-40 17.9-40 40s17.9 40 40 40l180.2 0c-7.6 8.5-12.2 19.7-12.2 32c0 25.3 19.5 46 44.3 47.9c-7.7 8.5-12.3 19.8-12.3 32.1c0 26.5 21.5 48 48 48l32 0 64 0c70.7 0 128-57.3 128-128l0-113.1c0-40.2-16-78.8-44.4-107.3C444.8 76.8 413.9 64 381.7 64L336 64c-21.3 0-39.3 13.9-45.6 33.1l74.5 23.7c8.4 2.7 13.1 11.7 10.4 20.1s-11.7 13.1-20.1 10.4L288 129.9l0 .1L84 65.8C62.9 59.2 40.5 70.9 33.8 92s5.1 43.5 26.2 50.2L269.5 208 40 208z\"]\n};\nvar faHandsPraying = {\n prefix: 'fas',\n iconName: 'hands-praying',\n icon: [640, 512, [\"praying-hands\"], \"f684\", \"M351.2 4.8c3.2-2 6.6-3.3 10-4.1c4.7-1 9.6-.9 14.1 .1c7.7 1.8 14.8 6.5 19.4 13.6L514.6 194.2c8.8 13.1 13.4 28.6 13.4 44.4v73.5c0 6.9 4.4 13 10.9 15.2l79.2 26.4C631.2 358 640 370.2 640 384v96c0 9.9-4.6 19.3-12.5 25.4s-18.1 8.1-27.7 5.5L431 465.9c-56-14.9-95-65.7-95-123.7V224c0-17.7 14.3-32 32-32s32 14.3 32 32v80c0 8.8 7.2 16 16 16s16-7.2 16-16V219.1c0-7-1.8-13.8-5.3-19.8L340.3 48.1c-1.7-3-2.9-6.1-3.6-9.3c-1-4.7-1-9.6 .1-14.1c1.9-8 6.8-15.2 14.3-19.9zm-62.4 0c7.5 4.6 12.4 11.9 14.3 19.9c1.1 4.6 1.2 9.4 .1 14.1c-.7 3.2-1.9 6.3-3.6 9.3L213.3 199.3c-3.5 6-5.3 12.9-5.3 19.8V304c0 8.8 7.2 16 16 16s16-7.2 16-16V224c0-17.7 14.3-32 32-32s32 14.3 32 32V342.3c0 58-39 108.7-95 123.7l-168.7 45c-9.6 2.6-19.9 .5-27.7-5.5S0 490 0 480V384c0-13.8 8.8-26 21.9-30.4l79.2-26.4c6.5-2.2 10.9-8.3 10.9-15.2V238.5c0-15.8 4.7-31.2 13.4-44.4L245.2 14.5c4.6-7.1 11.7-11.8 19.4-13.6c4.6-1.1 9.4-1.2 14.1-.1c3.5 .8 6.9 2.1 10 4.1z\"]\n};\nvar faPrayingHands = faHandsPraying;\nvar faArrowRotateRight = {\n prefix: 'fas',\n iconName: 'arrow-rotate-right',\n icon: [512, 512, [8635, \"arrow-right-rotate\", \"arrow-rotate-forward\", \"redo\"], \"f01e\", \"M386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H464c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z\"]\n};\nvar faArrowRightRotate = faArrowRotateRight;\nvar faArrowRotateForward = faArrowRotateRight;\nvar faRedo = faArrowRotateRight;\nvar faBiohazard = {\n prefix: 'fas',\n iconName: 'biohazard',\n icon: [576, 512, [9763], \"f780\", \"M173.2 0c-1.8 0-3.5 .7-4.8 2C138.5 32.3 120 74 120 120c0 26.2 6 50.9 16.6 73c-22 2.4-43.8 9.1-64.2 20.5C37.9 232.8 13.3 262.4 .4 296c-.7 1.7-.5 3.7 .5 5.2c2.2 3.7 7.4 4.3 10.6 1.3C64.2 254.3 158 245.1 205 324s-8.1 153.1-77.6 173.2c-4.2 1.2-6.3 5.9-4.1 9.6c1 1.6 2.6 2.7 4.5 3c36.5 5.9 75.2 .1 109.7-19.2c20.4-11.4 37.4-26.5 50.5-43.8c13.1 17.3 30.1 32.4 50.5 43.8c34.5 19.3 73.3 25.2 109.7 19.2c1.9-.3 3.5-1.4 4.5-3c2.2-3.7 .1-8.4-4.1-9.6C379.1 477.1 324 403 371 324s140.7-69.8 193.5-21.4c3.2 2.9 8.4 2.3 10.6-1.3c1-1.6 1.1-3.5 .5-5.2c-12.9-33.6-37.5-63.2-72.1-82.5c-20.4-11.4-42.2-18.1-64.2-20.5C450 170.9 456 146.2 456 120c0-46-18.5-87.7-48.4-118c-1.3-1.3-3-2-4.8-2c-5 0-8.4 5.2-6.7 9.9C421.7 80.5 385.6 176 288 176S154.3 80.5 179.9 9.9c1.7-4.7-1.6-9.9-6.7-9.9zM240 272a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM181.7 417.6c6.3-11.8 9.8-25.1 8.6-39.8c-19.5-18-34-41.4-41.2-67.8c-12.5-8.1-26.2-11.8-40-12.4c-9-.4-18.1 .6-27.1 2.7c7.8 57.1 38.7 106.8 82.9 139.4c6.8-6.7 12.6-14.1 16.8-22.1zM288 64c-28.8 0-56.3 5.9-81.2 16.5c2 8.3 5 16.2 9 23.5c6.8 12.4 16.7 23.1 30.1 30.3c13.3-4.1 27.5-6.3 42.2-6.3s28.8 2.2 42.2 6.3c13.4-7.2 23.3-17.9 30.1-30.3c4-7.3 7-15.2 9-23.5C344.3 69.9 316.8 64 288 64zM426.9 310c-7.2 26.4-21.7 49.7-41.2 67.8c-1.2 14.7 2.2 28.1 8.6 39.8c4.3 8 10 15.4 16.8 22.1c44.3-32.6 75.2-82.3 82.9-139.4c-9-2.2-18.1-3.1-27.1-2.7c-13.8 .6-27.5 4.4-40 12.4z\"]\n};\nvar faLocationCrosshairs = {\n prefix: 'fas',\n iconName: 'location-crosshairs',\n icon: [512, 512, [\"location\"], \"f601\", \"M256 0c17.7 0 32 14.3 32 32V66.7C368.4 80.1 431.9 143.6 445.3 224H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H445.3C431.9 368.4 368.4 431.9 288 445.3V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.3C143.6 431.9 80.1 368.4 66.7 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H66.7C80.1 143.6 143.6 80.1 224 66.7V32c0-17.7 14.3-32 32-32zM128 256a128 128 0 1 0 256 0 128 128 0 1 0 -256 0zm128-80a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faLocation = faLocationCrosshairs;\nvar faMarsDouble = {\n prefix: 'fas',\n iconName: 'mars-double',\n icon: [640, 512, [9891], \"f227\", \"M312 32c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l33.4 33.4L275.8 159c-28.4-19.5-62.7-31-99.8-31C78.8 128 0 206.8 0 304s78.8 176 176 176s176-78.8 176-176c0-37-11.4-71.4-31-99.8l52.6-52.6L407 185c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H312zm88 48h0v0l0 0zM64 304a112 112 0 1 1 224 0A112 112 0 1 1 64 304zM368 480c97.2 0 176-78.8 176-176c0-37-11.4-71.4-31-99.8l52.6-52.6L599 185c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H504c-9.7 0-18.5 5.8-22.2 14.8c-1.2 2.9-1.8 6-1.8 9l0 .2v.2c0 6.2 2.5 12.2 7 16.8l33.4 33.4L480 146.7V168c0 22.6-13.6 43.1-34.6 51.7c-.8 .3-1.7 .7-2.5 1C465.7 241.2 480 270.9 480 304c0 61.9-50.1 112-112 112c-5.4 0-10.8-.4-16-1.1c-12.9 20.4-29.1 38.3-48.1 53.1c19.8 7.8 41.4 12 64 12z\"]\n};\nvar faChildDress = {\n prefix: 'fas',\n iconName: 'child-dress',\n icon: [320, 512, [], \"e59c\", \"M224 64A64 64 0 1 0 96 64a64 64 0 1 0 128 0zM88 400v80c0 17.7 14.3 32 32 32s32-14.3 32-32V400h16v80c0 17.7 14.3 32 32 32s32-14.3 32-32V400h17.8c10.9 0 18.6-10.7 15.2-21.1l-31.1-93.4 28.6 37.8c10.7 14.1 30.8 16.8 44.8 6.2s16.8-30.7 6.2-44.8L254.6 207c-22.4-29.6-57.5-47-94.6-47s-72.2 17.4-94.6 47L6.5 284.7c-10.7 14.1-7.9 34.2 6.2 44.8s34.2 7.9 44.8-6.2l28.7-37.8L55 378.9C51.6 389.3 59.3 400 70.2 400H88z\"]\n};\nvar faUsersBetweenLines = {\n prefix: 'fas',\n iconName: 'users-between-lines',\n icon: [640, 512, [], \"e591\", \"M0 24C0 10.7 10.7 0 24 0H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 48 0 37.3 0 24zM0 488c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM83.2 160a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 320c0-35.3 28.7-64 64-64h96c12.2 0 23.7 3.4 33.4 9.4c-37.2 15.1-65.6 47.2-75.8 86.6H64c-17.7 0-32-14.3-32-32zm461.6 32c-10.3-40.1-39.6-72.6-77.7-87.4c9.4-5.5 20.4-8.6 32.1-8.6h96c35.3 0 64 28.7 64 64c0 17.7-14.3 32-32 32H493.6zM391.2 290.4c32.1 7.4 58.1 30.9 68.9 61.6c3.5 10 5.5 20.8 5.5 32c0 17.7-14.3 32-32 32h-224c-17.7 0-32-14.3-32-32c0-11.2 1.9-22 5.5-32c10.5-29.7 35.3-52.8 66.1-60.9c7.8-2.1 16-3.1 24.5-3.1h96c7.4 0 14.7 .8 21.6 2.4zm44-130.4a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM321.6 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faLungsVirus = {\n prefix: 'fas',\n iconName: 'lungs-virus',\n icon: [640, 512, [], \"e067\", \"M320 0c17.7 0 32 14.3 32 32V156.2c-8.5-7.6-19.7-12.2-32-12.2s-23.5 4.6-32 12.2V32c0-17.7 14.3-32 32-32zM444.5 195.5c-16.4-16.4-41.8-18.5-60.5-6.1V165.3C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4v7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7l-72.7-18.2c-20.9-5.2-38.7-17.1-51.5-32.9c14 1.5 28.5-3 39.2-13.8l-22.6-22.6 22.6 22.6c18.7-18.7 18.7-49.1 0-67.9c-1.1-1.1-1.4-2-1.5-2.5c-.1-.8-.1-1.8 .4-2.9s1.2-1.9 1.8-2.3c.5-.3 1.3-.8 2.9-.8c26.5 0 48-21.5 48-48s-21.5-48-48-48c-1.6 0-2.4-.4-2.9-.8c-.6-.4-1.3-1.2-1.8-2.3s-.5-2.2-.4-2.9c.1-.6 .4-1.4 1.5-2.5c18.7-18.7 18.7-49.1 0-67.9zM421.8 421.8c-6.2 6.2-16.4 6.2-22.6 0C375.9 398.5 336 415 336 448c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C241.5 375.9 225 336 192 336c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C264.1 241.5 304 225 304 192c0-8.8 7.2-16 16-16s16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C398.5 264.1 415 304 448 304c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6zM183.3 491.2l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89v-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3v24.1c-18.6-12.4-44-10.3-60.5 6.1c-18.7 18.7-18.7 49.1 0 67.9c1.1 1.1 1.4 2 1.5 2.5c.1 .8 .1 1.8-.4 2.9s-1.2 1.9-1.8 2.3c-.5 .3-1.3 .8-2.9 .8c-26.5 0-48 21.5-48 48s21.5 48 48 48c1.6 0 2.4 .4 2.9 .8c.6 .4 1.3 1.2 1.8 2.3s.5 2.2 .4 2.9c-.1 .6-.4 1.4-1.5 2.5c-18.7 18.7-18.7 49.1 0 67.9c10.7 10.7 25.3 15.3 39.2 13.8c-12.8 15.9-30.6 27.7-51.5 32.9zM296 320a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm72 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faFaceGrinTears = {\n prefix: 'fas',\n iconName: 'face-grin-tears',\n icon: [640, 512, [128514, \"grin-tears\"], \"f588\", \"M548.6 371.4C506.4 454.8 419.9 512 320 512s-186.4-57.2-228.6-140.6c4.5-2.9 8.7-6.3 12.7-10.3c8.1-8.1 13.2-18.6 16.5-26.6c3.6-8.8 6.5-18.4 8.8-27.5c4.6-18.2 7.7-37 9.3-48.2c3.9-26.5-18.8-49.2-45.2-45.4c-6.8 .9-16.2 2.4-26.6 4.4C85.3 94.5 191.6 0 320 0S554.7 94.5 573.2 217.7c-10.3-2-19.8-3.5-26.6-4.4c-26.5-3.9-49.2 18.8-45.2 45.4c1.6 11.3 4.6 30 9.3 48.2c2.3 9.1 5.2 18.8 8.8 27.5c3.3 8.1 8.4 18.5 16.5 26.6c3.9 3.9 8.2 7.4 12.7 10.3zM107 254.1c-3.1 21.5-11.4 70.2-25.5 84.4c-.9 1-1.9 1.8-2.9 2.7C60 356.7 32 355.5 14.3 337.7c-18.7-18.7-19.1-48.8-.7-67.2c8.6-8.6 30.1-15.1 50.5-19.6c13-2.8 25.5-4.8 33.9-6c5.4-.8 9.9 3.7 9 9zm454.5 87.1c-.8-.6-1.5-1.3-2.3-2c-.2-.2-.5-.4-.7-.7c-14.1-14.1-22.5-62.9-25.5-84.4c-.8-5.4 3.7-9.9 9-9c1 .1 2.2 .3 3.3 .5c8.2 1.2 19.2 3 30.6 5.5c20.4 4.4 41.9 10.9 50.5 19.6c18.4 18.4 18 48.5-.7 67.2c-17.7 17.7-45.7 19-64.2 3.4zm-90.1-9.7c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.4 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c25 59.1 83.2 100.5 151.1 100.5s126.2-41.4 151.1-100.5zM281.6 228.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C190.7 188.4 184 206.1 184 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C350.7 188.4 344 206.1 344 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0z\"]\n};\nvar faGrinTears = faFaceGrinTears;\nvar faPhone = {\n prefix: 'fas',\n iconName: 'phone',\n icon: [512, 512, [128222, 128379], \"f095\", \"M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z\"]\n};\nvar faCalendarXmark = {\n prefix: 'fas',\n iconName: 'calendar-xmark',\n icon: [512, 512, [\"calendar-times\"], \"f273\", \"M160 0c17.7 0 32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H32V112c0-26.5 21.5-48 48-48h48V32c0-17.7 14.3-32 32-32zM32 192H480V464c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V192zM337 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z\"]\n};\nvar faCalendarTimes = faCalendarXmark;\nvar faChildReaching = {\n prefix: 'fas',\n iconName: 'child-reaching',\n icon: [384, 512, [], \"e59d\", \"M256 64A64 64 0 1 0 128 64a64 64 0 1 0 128 0zM152.9 169.3c-23.7-8.4-44.5-24.3-58.8-45.8L74.6 94.2C64.8 79.5 45 75.6 30.2 85.4s-18.7 29.7-8.9 44.4L40.9 159c18.1 27.1 42.8 48.4 71.1 62.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32V384h32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V221.6c29.1-14.2 54.4-36.2 72.7-64.2l18.2-27.9c9.6-14.8 5.4-34.6-9.4-44.3s-34.6-5.5-44.3 9.4L291 122.4c-21.8 33.4-58.9 53.6-98.8 53.6c-12.6 0-24.9-2-36.6-5.8c-.9-.3-1.8-.7-2.7-.9z\"]\n};\nvar faHeadSideVirus = {\n prefix: 'fas',\n iconName: 'head-side-virus',\n icon: [512, 512, [], \"e064\", \"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM224 64c-8.8 0-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C145.5 152.1 129 192 96 192c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C168.1 286.5 208 303 208 336c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C302.5 263.9 319 224 352 224c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C279.9 129.5 240 113 240 80c0-8.8-7.2-16-16-16zm-24 96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faUserGear = {\n prefix: 'fas',\n iconName: 'user-gear',\n icon: [640, 512, [\"user-cog\"], \"f4fe\", \"M224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM178.3 304h91.4c11.8 0 23.4 1.2 34.5 3.3c-2.1 18.5 7.4 35.6 21.8 44.8c-16.6 10.6-26.7 31.6-20 53.3c4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 9.2 2.7 18.5 7.9 26.3H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM436 218.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8v30.6c7.9 3.4 15.4 7.7 22.3 12.8l24.9-14.3c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-25 14.4c.4 4 .7 8.1 .7 12.3s-.2 8.2-.7 12.3l25 14.4c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-24.9-14.3c-6.9 5.1-14.3 9.4-22.3 12.8l0 30.6c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8V454.8c-8-3.4-15.6-7.7-22.5-12.9l-24.7 14.3c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l24.8-14.3c-.4-4.1-.7-8.2-.7-12.4s.2-8.3 .7-12.4L343.8 325c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l24.8 14.3c6.9-5.1 14.5-9.4 22.5-12.9V218.2zm92.1 133.5a48.1 48.1 0 1 0 -96.1 0 48.1 48.1 0 1 0 96.1 0z\"]\n};\nvar faUserCog = faUserGear;\nvar faArrowUp19 = {\n prefix: 'fas',\n iconName: 'arrow-up-1-9',\n icon: [576, 512, [\"sort-numeric-up\"], \"f163\", \"M450.7 38c8.3 6 13.3 15.7 13.3 26v96h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 384c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V108.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4zM160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32zM445.7 364.9A32 32 0 1 0 418.3 307a32 32 0 1 0 27.4 57.9zm-40.7 54.9C369.6 408.4 344 375.2 344 336c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 467c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2z\"]\n};\nvar faSortNumericUp = faArrowUp19;\nvar faDoorClosed = {\n prefix: 'fas',\n iconName: 'door-closed',\n icon: [576, 512, [128682], \"f52a\", \"M96 64c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V448h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 144 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96V64zM384 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faShieldVirus = {\n prefix: 'fas',\n iconName: 'shield-virus',\n icon: [512, 512, [], \"e06c\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM256 112c8.8 0 16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C334.5 200.1 351 240 384 240c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C311.9 334.5 272 351 272 384c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C177.5 311.9 161 272 128 272c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C200.1 177.5 240 161 240 128c0-8.8 7.2-16 16-16zM232 256a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm72 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faDiceSix = {\n prefix: 'fas',\n iconName: 'dice-six',\n icon: [448, 512, [9861], \"f526\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faMosquitoNet = {\n prefix: 'fas',\n iconName: 'mosquito-net',\n icon: [640, 512, [], \"e52c\", \"M168.8 462.3c-7.9-4-11.1-13.6-7.2-21.5L192 380.2l0-44.2c0-4.2 1.7-8.3 4.7-11.3L256 265.4V242.2L139.2 344C87.8 395.3 0 358.9 0 286.3c0-41.1 30.6-75.8 71.4-80.9l159.9-23.9-49.6-41.3c-5.1-4.2-7-11.1-4.9-17.4l13.9-41.7-29-58.1c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l32 64c1.9 3.8 2.2 8.2 .9 12.2l-12.5 37.6L256 160.5V137.9c0-14.9 10.1-27.3 23.8-31V63.7c0-4.5 3.7-8.2 8.2-8.2s8.2 3.7 8.2 8.2V107c13.7 3.6 23.8 16.1 23.8 31v22.6l45.4-37.8L352.8 85.1c-1.3-4-1-8.4 .9-12.2l32-64c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-29 58.1 13.9 41.7c2.1 6.2 .1 13.1-4.9 17.4l-49.6 41.3 159.9 23.9c22.5 2.8 41.8 14.6 54.7 31.4c-2.7 2.6-5.2 5.4-7.3 8.6c-8.6-12.9-23.3-21.5-40-21.5s-31.4 8.5-40 21.5c-8.6-12.9-23.3-21.5-40-21.5c-21.7 0-40 14.3-45.9 34.1c-10.7 3.2-19.8 10.1-25.9 19.2l-40.2-35v23.1l32.4 32.4c-.3 2-.4 4.1-.4 6.2c0 16.7 8.5 31.4 21.5 40c-4 2.6-7.5 5.9-10.6 9.5L320 310.6v50c0 17.7-14.3 32-32 32s-32-14.3-32-32v-50l-32 32 0 41.4c0 2.5-.6 4.9-1.7 7.2l-32 64c-4 7.9-13.6 11.1-21.5 7.2zM512 256c8.8 0 16 7.2 16 16v16h48V272c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H528v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H448v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V400H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V320H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V272c0-8.8 7.2-16 16-16s16 7.2 16 16v16h48V272c0-8.8 7.2-16 16-16zm16 112h48V320H528v48zm0 80h48V400H528v48zM448 320v48h48V320H448zm0 80v48h48V400H448z\"]\n};\nvar faBridgeWater = {\n prefix: 'fas',\n iconName: 'bridge-water',\n icon: [576, 512, [], \"e4ce\", \"M0 96C0 78.3 14.3 64 32 64H544c17.7 0 32 14.3 32 32v35.6c0 15.7-12.7 28.4-28.4 28.4c-37.3 0-67.6 30.2-67.6 67.6V352.5c-12.9 0-25.8 3.9-36.8 11.7c-18 12.4-40.1 20.3-59.2 20.3h0l0-.5V256c0-53-43-96-96-96s-96 43-96 96V384l0 .5c-19 0-41.2-7.9-59.1-20.3c-11.1-7.8-24-11.7-36.9-11.7V227.6C96 190.2 65.8 160 28.4 160C12.7 160 0 147.3 0 131.6V96zM306.5 389.9C329 405.4 356.5 416 384 416c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 469.7 417 480 384 480c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 405.2 165.1 416 192 416c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faPersonBooth = {\n prefix: 'fas',\n iconName: 'person-booth',\n icon: [576, 512, [], \"f756\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V192h64V32zm320 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM224 512c17.7 0 32-14.3 32-32V320H192V480c0 17.7 14.3 32 32 32zM320 0c-9.3 0-18.1 4-24.2 11s-8.8 16.3-7.5 25.5l31.2 218.6L288.6 409.7c-3.5 17.3 7.8 34.2 25.1 37.7s34.2-7.8 37.7-25.1l.7-3.6c1.3 16.4 15.1 29.4 31.9 29.4c17.7 0 32-14.3 32-32c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM112 80A48 48 0 1 0 16 80a48 48 0 1 0 96 0zm0 261.3V269.3l4.7 4.7c9 9 21.2 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H157.3l-41.6-41.6c-14.3-14.3-33.8-22.4-54-22.4C27.6 160 0 187.6 0 221.6v55.7l0 .9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V384l32 42.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32V421.3c0-10.4-3.4-20.5-9.6-28.8L112 341.3z\"]\n};\nvar faTextWidth = {\n prefix: 'fas',\n iconName: 'text-width',\n icon: [448, 512, [], \"f035\", \"M64 128V96H192l0 128H176c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H256l0-128H384v32c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-26.5-21.5-48-48-48H224 48C21.5 32 0 53.5 0 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32zM9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V416H320v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6v32H128V320c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64z\"]\n};\nvar faHatWizard = {\n prefix: 'fas',\n iconName: 'hat-wizard',\n icon: [512, 512, [], \"f6e8\", \"M64 416L168.6 180.7c15.3-34.4 40.3-63.5 72-83.7l146.9-94c3-1.9 6.5-2.9 10-2.9C407.7 0 416 8.3 416 18.6v1.6c0 2.6-.5 5.1-1.4 7.5L354.8 176.9c-1.9 4.7-2.8 9.7-2.8 14.7c0 5.5 1.2 11 3.4 16.1L448 416H240.9l11.8-35.4 40.4-13.5c6.5-2.2 10.9-8.3 10.9-15.2s-4.4-13-10.9-15.2l-40.4-13.5-13.5-40.4C237 276.4 230.9 272 224 272s-13 4.4-15.2 10.9l-13.5 40.4-40.4 13.5C148.4 339 144 345.1 144 352s4.4 13 10.9 15.2l40.4 13.5L207.1 416H64zM279.6 141.5c-1.1-3.3-4.1-5.5-7.6-5.5s-6.5 2.2-7.6 5.5l-6.7 20.2-20.2 6.7c-3.3 1.1-5.5 4.1-5.5 7.6s2.2 6.5 5.5 7.6l20.2 6.7 6.7 20.2c1.1 3.3 4.1 5.5 7.6 5.5s6.5-2.2 7.6-5.5l6.7-20.2 20.2-6.7c3.3-1.1 5.5-4.1 5.5-7.6s-2.2-6.5-5.5-7.6l-20.2-6.7-6.7-20.2zM32 448H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faPenFancy = {\n prefix: 'fas',\n iconName: 'pen-fancy',\n icon: [512, 512, [128395, 10002], \"f5ac\", \"M373.5 27.1C388.5 9.9 410.2 0 433 0c43.6 0 79 35.4 79 79c0 22.8-9.9 44.6-27.1 59.6L277.7 319l-10.3-10.3-64-64L193 234.3 373.5 27.1zM170.3 256.9l10.4 10.4 64 64 10.4 10.4-19.2 83.4c-3.9 17.1-16.9 30.7-33.8 35.4L24.4 510.3l95.4-95.4c2.6 .7 5.4 1.1 8.3 1.1c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32c0 2.9 .4 5.6 1.1 8.3L1.7 487.6 51.5 310c4.7-16.9 18.3-29.9 35.4-33.8l83.4-19.2z\"]\n};\nvar faPersonDigging = {\n prefix: 'fas',\n iconName: 'person-digging',\n icon: [576, 512, [\"digging\"], \"f85e\", \"M208 64a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM9.8 214.8c5.1-12.2 19.1-18 31.4-12.9L60.7 210l22.9-38.1C99.9 144.6 129.3 128 161 128c51.4 0 97 32.9 113.3 81.7l34.6 103.7 79.3 33.1 34.2-45.6c6.4-8.5 16.6-13.3 27.2-12.8s20.3 6.4 25.8 15.5l96 160c5.9 9.9 6.1 22.2 .4 32.2s-16.3 16.2-27.8 16.2H288c-11.1 0-21.4-5.7-27.2-15.2s-6.4-21.2-1.4-31.1l16-32c5.4-10.8 16.5-17.7 28.6-17.7h32l22.5-30L22.8 246.2c-12.2-5.1-18-19.1-12.9-31.4zm82.8 91.8l112 48c11.8 5 19.4 16.6 19.4 29.4v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V405.1l-60.6-26-37 111c-5.6 16.8-23.7 25.8-40.5 20.2S-3.9 486.6 1.6 469.9l48-144 11-33 32 13.7z\"]\n};\nvar faDigging = faPersonDigging;\nvar faTrash = {\n prefix: 'fas',\n iconName: 'trash',\n icon: [448, 512, [], \"f1f8\", \"M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z\"]\n};\nvar faGaugeSimple = {\n prefix: 'fas',\n iconName: 'gauge-simple',\n icon: [512, 512, [\"gauge-simple-med\", \"tachometer-average\"], \"f629\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-26.9-16.5-49.9-40-59.3V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGaugeSimpleMed = faGaugeSimple;\nvar faTachometerAverage = faGaugeSimple;\nvar faBookMedical = {\n prefix: 'fas',\n iconName: 'book-medical',\n icon: [448, 512, [], \"f7e6\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM208 112v48H160c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h48c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H272V112c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPoo = {\n prefix: 'fas',\n iconName: 'poo',\n icon: [512, 512, [128169], \"f2fe\", \"M268.9 .9c-5.5-.7-11 1.4-14.5 5.7s-4.6 10.1-2.8 15.4c2.8 8.2 4.3 16.9 4.3 26.1c0 44.1-35.7 79.9-79.8 80H160c-35.3 0-64 28.7-64 64c0 19.1 8.4 36.3 21.7 48H104c-39.8 0-72 32.2-72 72c0 23.2 11 43.8 28 57c-34.1 5.7-60 35.3-60 71c0 39.8 32.2 72 72 72H440c39.8 0 72-32.2 72-72c0-35.7-25.9-65.3-60-71c17-13.2 28-33.8 28-57c0-39.8-32.2-72-72-72H394.3c13.3-11.7 21.7-28.9 21.7-48c0-35.3-28.7-64-64-64h-5.5c3.5-10 5.5-20.8 5.5-32c0-48.6-36.2-88.8-83.1-95.1zM192 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm64 108.3c0 2.4-.7 4.8-2.2 6.7c-8.2 10.5-39.5 45-93.8 45s-85.6-34.6-93.8-45c-1.5-1.9-2.2-4.3-2.2-6.7c0-6.8 5.5-12.3 12.3-12.3H339.7c6.8 0 12.3 5.5 12.3 12.3z\"]\n};\nvar faQuoteRight = {\n prefix: 'fas',\n iconName: 'quote-right',\n icon: [448, 512, [8221, \"quote-right-alt\"], \"f10e\", \"M448 296c0 66.3-53.7 120-120 120h-8c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c30.9 0 56-25.1 56-56v-8H320c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32 32 72zm-256 0c0 66.3-53.7 120-120 120H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c30.9 0 56-25.1 56-56v-8H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32 32 72z\"]\n};\nvar faQuoteRightAlt = faQuoteRight;\nvar faShirt = {\n prefix: 'fas',\n iconName: 'shirt',\n icon: [640, 512, [128085, \"t-shirt\", \"tshirt\"], \"f553\", \"M211.8 0c7.8 0 14.3 5.7 16.7 13.2C240.8 51.9 277.1 80 320 80s79.2-28.1 91.5-66.8C413.9 5.7 420.4 0 428.2 0h12.6c22.5 0 44.2 7.9 61.5 22.3L628.5 127.4c6.6 5.5 10.7 13.5 11.4 22.1s-2.1 17.1-7.8 23.6l-56 64c-11.4 13.1-31.2 14.6-44.6 3.5L480 197.7V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V197.7l-51.5 42.9c-13.3 11.1-33.1 9.6-44.6-3.5l-56-64c-5.7-6.5-8.5-15-7.8-23.6s4.8-16.6 11.4-22.1L137.7 22.3C155 7.9 176.7 0 199.2 0h12.6z\"]\n};\nvar faTShirt = faShirt;\nvar faTshirt = faShirt;\nvar faCubes = {\n prefix: 'fas',\n iconName: 'cubes',\n icon: [576, 512, [], \"f1b3\", \"M290.8 48.6l78.4 29.7L288 109.5 206.8 78.3l78.4-29.7c1.8-.7 3.8-.7 5.7 0zM136 92.5V204.7c-1.3 .4-2.6 .8-3.9 1.3l-96 36.4C14.4 250.6 0 271.5 0 294.7V413.9c0 22.2 13.1 42.3 33.5 51.3l96 42.2c14.4 6.3 30.7 6.3 45.1 0L288 457.5l113.5 49.9c14.4 6.3 30.7 6.3 45.1 0l96-42.2c20.3-8.9 33.5-29.1 33.5-51.3V294.7c0-23.3-14.4-44.1-36.1-52.4l-96-36.4c-1.3-.5-2.6-.9-3.9-1.3V92.5c0-23.3-14.4-44.1-36.1-52.4l-96-36.4c-12.8-4.8-26.9-4.8-39.7 0l-96 36.4C150.4 48.4 136 69.3 136 92.5zM392 210.6l-82.4 31.2V152.6L392 121v89.6zM154.8 250.9l78.4 29.7L152 311.7 70.8 280.6l78.4-29.7c1.8-.7 3.8-.7 5.7 0zm18.8 204.4V354.8L256 323.2v95.9l-82.4 36.2zM421.2 250.9c1.8-.7 3.8-.7 5.7 0l78.4 29.7L424 311.7l-81.2-31.1 78.4-29.7zM523.2 421.2l-77.6 34.1V354.8L528 323.2v90.7c0 3.2-1.9 6-4.8 7.3z\"]\n};\nvar faDivide = {\n prefix: 'fas',\n iconName: 'divide',\n icon: [448, 512, [10135, 247], \"f529\", \"M272 96a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 320a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM400 288c17.7 0 32-14.3 32-32s-14.3-32-32-32H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H400z\"]\n};\nvar faTengeSign = {\n prefix: 'fas',\n iconName: 'tenge-sign',\n icon: [384, 512, [8376, \"tenge\"], \"f7d7\", \"M0 64C0 46.3 14.3 32 32 32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM0 192c0-17.7 14.3-32 32-32H192 352c17.7 0 32 14.3 32 32s-14.3 32-32 32H224V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V224H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faTenge = faTengeSign;\nvar faHeadphones = {\n prefix: 'fas',\n iconName: 'headphones',\n icon: [512, 512, [127911], \"f025\", \"M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48c-44.2 0-80-35.8-80-80V384 336 288C0 146.6 114.6 32 256 32s256 114.6 256 256v48 48 16c0 44.2-35.8 80-80 80c-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48c10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80z\"]\n};\nvar faHandsHolding = {\n prefix: 'fas',\n iconName: 'hands-holding',\n icon: [640, 512, [], \"f4c2\", \"M80 104c0-22.1-17.9-40-40-40S0 81.9 0 104v56 64V325.5c0 25.5 10.1 49.9 28.1 67.9L128 493.3c12 12 28.3 18.7 45.3 18.7H240c26.5 0 48-21.5 48-48V385.1c0-29.7-11.8-58.2-32.8-79.2l-25.3-25.3 0 0-15.2-15.2-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32 15.2 15.2c11 11 9.2 29.2-3.7 37.8c-9.7 6.5-22.7 5.2-31-3.1L98.7 309.5c-12-12-18.7-28.3-18.7-45.3V224 144 104zm480 0v40 80 40.2c0 17-6.7 33.3-18.7 45.3l-51.1 51.1c-8.3 8.3-21.3 9.6-31 3.1c-12.9-8.6-14.7-26.9-3.7-37.8l15.2-15.2 32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32-15.2 15.2 0 0-25.3 25.3c-21 21-32.8 49.5-32.8 79.2V464c0 26.5 21.5 48 48 48h66.7c17 0 33.3-6.7 45.3-18.7l99.9-99.9c18-18 28.1-42.4 28.1-67.9V224 160 104c0-22.1-17.9-40-40-40s-40 17.9-40 40z\"]\n};\nvar faHandsClapping = {\n prefix: 'fas',\n iconName: 'hands-clapping',\n icon: [512, 512, [], \"e1a8\", \"M336 16V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16s16 7.2 16 16zm-98.7 7.1l32 48c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4l-32-48c-4.9-7.4-2.9-17.3 4.4-22.2s17.3-2.9 22.2 4.4zM135 119c9.4-9.4 24.6-9.4 33.9 0L292.7 242.7c10.1 10.1 27.3 2.9 27.3-11.3V192c0-17.7 14.3-32 32-32s32 14.3 32 32V345.6c0 57.1-30 110-78.9 139.4c-64 38.4-145.8 28.3-198.5-24.4L7 361c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l53 53c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1L23 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l93 93c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1L55 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l117 117c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1l-93-93c-9.4-9.4-9.4-24.6 0-33.9zM433.1 484.9c-24.2 14.5-50.9 22.1-77.7 23.1c48.1-39.6 76.6-99 76.6-162.4l0-98.1c8.2-.1 16-6.4 16-16V192c0-17.7 14.3-32 32-32s32 14.3 32 32V345.6c0 57.1-30 110-78.9 139.4zM424.9 18.7c7.4 4.9 9.3 14.8 4.4 22.2l-32 48c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l32-48c4.9-7.4 14.8-9.3 22.2-4.4z\"]\n};\nvar faRepublican = {\n prefix: 'fas',\n iconName: 'republican',\n icon: [640, 512, [], \"f75e\", \"M0 192C0 103.6 71.6 32 160 32H384c88.4 0 160 71.6 160 160v64H0V192zm415.9-64c-2.4 0-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L466 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6c-1.1-2.1-3.3-3.4-5.7-3.4zm-138.3 3.4c-1.1-2.1-3.3-3.4-5.7-3.4s-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L322 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6zM127.9 128c-2.4 0-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L178 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6c-1.1-2.1-3.3-3.4-5.7-3.4zm.1 160H320h96 32 64 32v32 80c0 8.8 7.2 16 16 16s16-7.2 16-16V352c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 44.2-35.8 80-80 80s-80-35.8-80-80V352H448v32 64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V384H128v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V384 288H128z\"]\n};\nvar faArrowLeft = {\n prefix: 'fas',\n iconName: 'arrow-left',\n icon: [448, 512, [8592], \"f060\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\"]\n};\nvar faPersonCircleXmark = {\n prefix: 'fas',\n iconName: 'person-circle-xmark',\n icon: [576, 512, [], \"e543\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faRuler = {\n prefix: 'fas',\n iconName: 'ruler',\n icon: [512, 512, [128207], \"f545\", \"M177.9 494.1c-18.7 18.7-49.1 18.7-67.9 0L17.9 401.9c-18.7-18.7-18.7-49.1 0-67.9l50.7-50.7 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 50.7-50.7c18.7-18.7 49.1-18.7 67.9 0l92.1 92.1c18.7 18.7 18.7 49.1 0 67.9L177.9 494.1z\"]\n};\nvar faAlignLeft = {\n prefix: 'fas',\n iconName: 'align-left',\n icon: [448, 512, [], \"f036\", \"M288 64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32H256c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"]\n};\nvar faDiceD6 = {\n prefix: 'fas',\n iconName: 'dice-d6',\n icon: [448, 512, [], \"f6d1\", \"M201 10.3c14.3-7.8 31.6-7.8 46 0L422.3 106c5.1 2.8 8.3 8.2 8.3 14s-3.2 11.2-8.3 14L231.7 238c-4.8 2.6-10.5 2.6-15.3 0L25.7 134c-5.1-2.8-8.3-8.2-8.3-14s3.2-11.2 8.3-14L201 10.3zM23.7 170l176 96c5.1 2.8 8.3 8.2 8.3 14V496c0 5.6-3 10.9-7.8 13.8s-10.9 3-15.8 .3L25 423.1C9.6 414.7 0 398.6 0 381V184c0-5.6 3-10.9 7.8-13.8s10.9-3 15.8-.3zm400.7 0c5-2.7 11-2.6 15.8 .3s7.8 8.1 7.8 13.8V381c0 17.6-9.6 33.7-25 42.1L263.7 510c-5 2.7-11 2.6-15.8-.3s-7.8-8.1-7.8-13.8V280c0-5.9 3.2-11.2 8.3-14l176-96z\"]\n};\nvar faRestroom = {\n prefix: 'fas',\n iconName: 'restroom',\n icon: [640, 512, [], \"f7bd\", \"M80 48a48 48 0 1 1 96 0A48 48 0 1 1 80 48zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V325.2c-8.1 9.2-21.1 13.2-33.5 9.4c-16.9-5.3-26.3-23.2-21-40.1l30.9-99.1C44.9 155.3 82 128 124 128h8c42 0 79.1 27.3 91.6 67.4l30.9 99.1c5.3 16.9-4.1 34.8-21 40.1c-12.4 3.9-25.4-.2-33.5-9.4V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H120zM320 0c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM464 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM440 480V384H422.2c-10.9 0-18.6-10.7-15.2-21.1l9-26.9c-3.2 0-6.4-.5-9.5-1.5c-16.9-5.3-26.3-23.2-21-40.1l29.7-95.2C428.4 156.9 467.6 128 512 128s83.6 28.9 96.8 71.2l29.7 95.2c5.3 16.9-4.1 34.8-21 40.1c-3.2 1-6.4 1.5-9.5 1.5l9 26.9c3.5 10.4-4.3 21.1-15.2 21.1H584v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H504v96c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]\n};\nvar faJ = {\n prefix: 'fas',\n iconName: 'j',\n icon: [320, 512, [106], \"4a\", \"M288 32c17.7 0 32 14.3 32 32V320c0 88.4-71.6 160-160 160S0 408.4 0 320V288c0-17.7 14.3-32 32-32s32 14.3 32 32v32c0 53 43 96 96 96s96-43 96-96V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faUsersViewfinder = {\n prefix: 'fas',\n iconName: 'users-viewfinder',\n icon: [640, 512, [], \"e595\", \"M48 48h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H32C14.3 0 0 14.3 0 32V136c0 13.3 10.7 24 24 24s24-10.7 24-24V48zM175.8 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-26.5 32C119.9 256 96 279.9 96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3zm368 80c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6h56.1zm-89.4 0c-8.6-24.3-29.9-42.6-55.9-47c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-26 4.4-47.3 22.7-55.9 47c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24zM464 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80-32a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM504 48h88v88c0 13.3 10.7 24 24 24s24-10.7 24-24V32c0-17.7-14.3-32-32-32H504c-13.3 0-24 10.7-24 24s10.7 24 24 24zM48 464V376c0-13.3-10.7-24-24-24s-24 10.7-24 24V480c0 17.7 14.3 32 32 32H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H48zm456 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H608c17.7 0 32-14.3 32-32V376c0-13.3-10.7-24-24-24s-24 10.7-24 24v88H504z\"]\n};\nvar faFileVideo = {\n prefix: 'fas',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 288c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V288zM300.9 397.9L256 368V304l44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3V387.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1z\"]\n};\nvar faUpRightFromSquare = {\n prefix: 'fas',\n iconName: 'up-right-from-square',\n icon: [512, 512, [\"external-link-alt\"], \"f35d\", \"M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32c0-17.7-14.3-32-32-32H352zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"]\n};\nvar faExternalLinkAlt = faUpRightFromSquare;\nvar faTableCells = {\n prefix: 'fas',\n iconName: 'table-cells',\n icon: [512, 512, [\"th\"], \"f00a\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 64v64H64V96h88zm56 0h88v64H208V96zm240 0v64H360V96h88zM64 224h88v64H64V224zm232 0v64H208V224h88zm64 0h88v64H360V224zM152 352v64H64V352h88zm56 0h88v64H208V352zm240 0v64H360V352h88z\"]\n};\nvar faTh = faTableCells;\nvar faFilePdf = {\n prefix: 'fas',\n iconName: 'file-pdf',\n icon: [512, 512, [], \"f1c1\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V304H176c-35.3 0-64 28.7-64 64V512H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM176 352h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H192v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H192v48h16zm96-80h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H304c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H320v96h16zm80-112c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V432 368z\"]\n};\nvar faBookBible = {\n prefix: 'fas',\n iconName: 'book-bible',\n icon: [448, 512, [\"bible\"], \"f647\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zM208 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272V304c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V192H160c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h48V80z\"]\n};\nvar faBible = faBookBible;\nvar faO = {\n prefix: 'fas',\n iconName: 'o',\n icon: [448, 512, [111], \"4f\", \"M224 96a160 160 0 1 0 0 320 160 160 0 1 0 0-320zM448 256A224 224 0 1 1 0 256a224 224 0 1 1 448 0z\"]\n};\nvar faSuitcaseMedical = {\n prefix: 'fas',\n iconName: 'suitcase-medical',\n icon: [512, 512, [\"medkit\"], \"f0fa\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96v32V480H384V128 96 56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM96 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H96V96zM416 480h32c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H416V480zM224 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V320H176c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]\n};\nvar faMedkit = faSuitcaseMedical;\nvar faUserSecret = {\n prefix: 'fas',\n iconName: 'user-secret',\n icon: [448, 512, [128373], \"f21b\", \"M224 16c-6.7 0-10.8-2.8-15.5-6.1C201.9 5.4 194 0 176 0c-30.5 0-52 43.7-66 89.4C62.7 98.1 32 112.2 32 128c0 14.3 25 27.1 64.6 35.9c-.4 4-.6 8-.6 12.1c0 17 3.3 33.2 9.3 48H45.4C38 224 32 230 32 237.4c0 1.7 .3 3.4 1 5l38.8 96.9C28.2 371.8 0 423.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-58.5-28.2-110.4-71.7-143L415 242.4c.6-1.6 1-3.3 1-5c0-7.4-6-13.4-13.4-13.4H342.7c6-14.8 9.3-31 9.3-48c0-4.1-.2-8.1-.6-12.1C391 155.1 416 142.3 416 128c0-15.8-30.7-29.9-78-38.6C324 43.7 302.5 0 272 0c-18 0-25.9 5.4-32.5 9.9c-4.8 3.3-8.8 6.1-15.5 6.1zm56 208H267.6c-16.5 0-31.1-10.6-36.3-26.2c-2.3-7-12.2-7-14.5 0c-5.2 15.6-19.9 26.2-36.3 26.2H168c-22.1 0-40-17.9-40-40V169.6c28.2 4.1 61 6.4 96 6.4s67.8-2.3 96-6.4V184c0 22.1-17.9 40-40 40zm-88 96l16 32L176 480 128 288l64 32zm128-32L272 480 240 352l16-32 64-32z\"]\n};\nvar faOtter = {\n prefix: 'fas',\n iconName: 'otter',\n icon: [640, 512, [129446], \"f700\", \"M181.5 197.1l12.9 6.4c5.9 3 12.4 4.5 19.1 4.5c23.5 0 42.6-19.1 42.6-42.6V144c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v21.4c0 23.5 19.1 42.6 42.6 42.6c6.6 0 13.1-1.5 19.1-4.5l12.9-6.4 8.4-4.2L135.1 185c-4.5-3-7.1-8-7.1-13.3V168c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v3.7c0 5.3-2.7 10.3-7.1 13.3l-11.8 7.9 8.4 4.2zm-8.6 49.4L160 240l-12.9 6.4c-12.6 6.3-26.5 9.6-40.5 9.6c-3.6 0-7.1-.2-10.6-.6v.6c0 35.3 28.7 64 64 64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V336 320c0-23.7 12.9-44.4 32-55.4c9.4-5.4 20.3-8.6 32-8.6V240c0-26.5 21.5-48 48-48c8.8 0 16 7.2 16 16v32 16 48c0 8.8 7.2 16 16 16s16-7.2 16-16V204.3c0-48.2-30.8-91-76.6-106.3l-8.5-2.8c-8-2.7-12.6-11.1-10.4-19.3s10.3-13.2 18.6-11.6l19.9 4C576 86.1 640 164.2 640 254.9l0 1.1h0c0 123.7-100.3 224-224 224h-1.1H256h-.6C132 480 32 380 32 256.6V256 216.8c-10.1-14.6-16-32.3-16-51.4V144l0-1.4C6.7 139.3 0 130.5 0 120c0-13.3 10.7-24 24-24h2.8C44.8 58.2 83.3 32 128 32h64c44.7 0 83.2 26.2 101.2 64H296c13.3 0 24 10.7 24 24c0 10.5-6.7 19.3-16 22.6l0 1.4v21.4c0 1.4 0 2.8-.1 4.3c12-6.2 25.7-9.6 40.1-9.6h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-13.3 0-24 10.7-24 24v8h56.4c-15.2 17-24.4 39.4-24.4 64H320c-42.3 0-78.2-27.4-91-65.3c-5.1 .9-10.3 1.3-15.6 1.3c-14.1 0-27.9-3.3-40.5-9.6zM96 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm112 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faPersonDress = {\n prefix: 'fas',\n iconName: 'person-dress',\n icon: [320, 512, [\"female\"], \"f182\", \"M160 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM88 384H70.2c-10.9 0-18.6-10.7-15.2-21.1L93.3 248.1 59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l53.6-89.2c20.3-33.7 56.7-54.3 96-54.3h11.6c39.3 0 75.7 20.6 96 54.3l53.6 89.2c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9l-33.9-56.3L265 362.9c3.5 10.4-4.3 21.1-15.2 21.1H232v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H152v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z\"]\n};\nvar faFemale = faPersonDress;\nvar faCommentDollar = {\n prefix: 'fas',\n iconName: 'comment-dollar',\n icon: [512, 512, [], \"f651\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm20-312v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V344c0 11-9 20-20 20s-20-9-20-20V329.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V136c0-11 9-20 20-20s20 9 20 20z\"]\n};\nvar faBusinessTime = {\n prefix: 'fas',\n iconName: 'business-time',\n icon: [640, 512, [\"briefcase-clock\"], \"f64a\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160v96H192 352h8.2c32.3-39.1 81.1-64 135.8-64c5.4 0 10.7 .2 16 .7V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM320 352H224c-17.7 0-32-14.3-32-32V288H0V416c0 35.3 28.7 64 64 64H360.2C335.1 449.6 320 410.5 320 368c0-5.4 .2-10.7 .7-16l-.7 0zm320 16a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 288c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faBriefcaseClock = faBusinessTime;\nvar faTableCellsLarge = {\n prefix: 'fas',\n iconName: 'table-cells-large',\n icon: [512, 512, [\"th-large\"], \"f009\", \"M448 96V224H288V96H448zm0 192V416H288V288H448zM224 224H64V96H224V224zM64 288H224V416H64V288zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faThLarge = faTableCellsLarge;\nvar faBookTanakh = {\n prefix: 'fas',\n iconName: 'book-tanakh',\n icon: [448, 512, [\"tanakh\"], \"f827\", \"M352 0c53 0 96 43 96 96V416c0 53-43 96-96 96H64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V384c-17.7 0-32-14.3-32-32V32C0 14.3 14.3 0 32 0H64 352zm0 384H96v64H352c17.7 0 32-14.3 32-32s-14.3-32-32-32zM138.7 208l13.9 24H124.9l13.9-24zm-13.9-24L97.1 232c-6.2 10.7 1.5 24 13.9 24h55.4l27.7 48c6.2 10.7 21.6 10.7 27.7 0l27.7-48H305c12.3 0 20-13.3 13.9-24l-27.7-48 27.7-48c6.2-10.7-1.5-24-13.9-24H249.6L221.9 64c-6.2-10.7-21.6-10.7-27.7 0l-27.7 48H111c-12.3 0-20 13.3-13.9 24l27.7 48zm27.7 0l27.7-48h55.4l27.7 48-27.7 48H180.3l-27.7-48zm0-48l-13.9 24-13.9-24h27.7zm41.6-24L208 88l13.9 24H194.1zm69.3 24h27.7l-13.9 24-13.9-24zm13.9 72l13.9 24H263.4l13.9-24zm-55.4 48L208 280l-13.9-24h27.7z\"]\n};\nvar faTanakh = faBookTanakh;\nvar faPhoneVolume = {\n prefix: 'fas',\n iconName: 'phone-volume',\n icon: [512, 512, [\"volume-control-phone\"], \"f2a0\", \"M280 0C408.1 0 512 103.9 512 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-72c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24zM117.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L144 207.3c33.3 70.4 90.3 127.4 160.7 160.7L345 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C481.8 499.9 466 512 448 512C200.6 512 0 311.4 0 64C0 46 12.1 30.2 29.5 25.4l88-24z\"]\n};\nvar faVolumeControlPhone = faPhoneVolume;\nvar faHatCowboySide = {\n prefix: 'fas',\n iconName: 'hat-cowboy-side',\n icon: [640, 512, [], \"f8c1\", \"M152.7 135.9l-10.4 57.2c6.8-.7 13.6-1.1 20.5-1.1h10.7c39.4 0 77.8 12.1 110.1 34.7L562.4 421.8l35.1 24.6c24.4-6 42.5-28.1 42.5-54.4c0-75.8-94.7-126.6-134.6-144.7L474 83.9C468.2 53.8 441.8 32 411.1 32h-2.7c-5.6 0-11.1 .7-16.5 2.2L199.2 85.5c-23.9 6.4-42 26-46.5 50.4zM0 384c0 35.3 28.7 64 64 64H544L265.3 252.9c-26.9-18.8-58.9-28.9-91.8-28.9H162.9c-60.6 0-116 34.2-143.1 88.4L13.5 325C4.6 342.7 0 362.3 0 382.2V384z\"]\n};\nvar faClipboardUser = {\n prefix: 'fas',\n iconName: 'clipboard-user',\n icon: [384, 512, [], \"f7f3\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM128 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 432c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16z\"]\n};\nvar faChild = {\n prefix: 'fas',\n iconName: 'child',\n icon: [320, 512, [], \"f1ae\", \"M96 64a64 64 0 1 1 128 0A64 64 0 1 1 96 64zm48 320v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V287.8L59.1 321c-9.4 15-29.2 19.4-44.1 10S-4.5 301.9 4.9 287l39.9-63.3C69.7 184 113.2 160 160 160s90.3 24 115.2 63.6L315.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L240 287.8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H144z\"]\n};\nvar faLiraSign = {\n prefix: 'fas',\n iconName: 'lira-sign',\n icon: [320, 512, [8356], \"f195\", \"M112 160.4c0-35.5 28.8-64.4 64.4-64.4c6.9 0 13.8 1.1 20.4 3.3l81.2 27.1c16.8 5.6 34.9-3.5 40.5-20.2s-3.5-34.9-20.2-40.5L217 38.6c-13.1-4.4-26.8-6.6-40.6-6.6C105.5 32 48 89.5 48 160.4V192H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H46c-2.2 10.5-6.1 20.6-11.7 29.9L4.6 431.5c-5.9 9.9-6.1 22.2-.4 32.2S20.5 480 32 480H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H88.5l.7-1.1c11.6-19.3 18.9-40.7 21.6-62.9H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V256H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V160.4z\"]\n};\nvar faSatellite = {\n prefix: 'fas',\n iconName: 'satellite',\n icon: [512, 512, [128752], \"f7bf\", \"M233 7c-9.4-9.4-24.6-9.4-33.9 0l-96 96c-9.4 9.4-9.4 24.6 0 33.9l89.4 89.4-15.5 15.5C152.3 230.4 124.9 224 96 224c-31.7 0-61.5 7.7-87.8 21.2c-9 4.7-10.3 16.7-3.1 23.8L112.7 376.7 96.3 393.1c-2.6-.7-5.4-1.1-8.3-1.1c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32c0-2.9-.4-5.6-1.1-8.3l16.4-16.4L242.9 506.9c7.2 7.2 19.2 5.9 23.8-3.1C280.3 477.5 288 447.7 288 416c0-28.9-6.4-56.3-17.8-80.9l15.5-15.5L375 409c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9l-89.4-89.4 55-55c12.5-12.5 12.5-32.8 0-45.3l-48-48c-12.5-12.5-32.8-12.5-45.3 0l-55 55L233 7zm159 351l-72.4-72.4 62.1-62.1L454.1 296 392 358.1zM226.3 192.4L153.9 120 216 57.9l72.4 72.4-62.1 62.1z\"]\n};\nvar faPlaneLock = {\n prefix: 'fas',\n iconName: 'plane-lock',\n icon: [640, 512, [], \"e558\", \"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7v84.6l101.8 58.2C418 247.6 416 259.6 416 272v24.6c-17.9 10.4-30.3 29.1-31.8 50.9L320 329.1V400l57.6 43.2c4 3 6.4 7.8 6.4 12.8v24 18c0 7.8-6.3 14-14 14c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14V456c0-5 2.4-9.8 6.4-12.8L192 400l0-70.9-171.6 49C10.2 381.1 0 373.4 0 362.8V297.3c0-5.7 3.1-11 8.1-13.9L192 178.3V93.7zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faTag = {\n prefix: 'fas',\n iconName: 'tag',\n icon: [448, 512, [127991], \"f02b\", \"M0 80V229.5c0 17 6.7 33.3 18.7 45.3l176 176c25 25 65.5 25 90.5 0L418.7 317.3c25-25 25-65.5 0-90.5l-176-176c-12-12-28.3-18.7-45.3-18.7H48C21.5 32 0 53.5 0 80zm112 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faComment = {\n prefix: 'fas',\n iconName: 'comment',\n icon: [512, 512, [128489, 61669], \"f075\", \"M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4l0 0 0 0 0 0 0 0 .3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z\"]\n};\nvar faCakeCandles = {\n prefix: 'fas',\n iconName: 'cake-candles',\n icon: [448, 512, [127874, \"birthday-cake\", \"cake\"], \"f1fd\", \"M86.4 5.5L61.8 47.6C58 54.1 56 61.6 56 69.2V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L105.6 5.5C103.6 2.1 100 0 96 0s-7.6 2.1-9.6 5.5zm128 0L189.8 47.6c-3.8 6.5-5.8 14-5.8 21.6V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L233.6 5.5C231.6 2.1 228 0 224 0s-7.6 2.1-9.6 5.5zM317.8 47.6c-3.8 6.5-5.8 14-5.8 21.6V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L361.6 5.5C359.6 2.1 356 0 352 0s-7.6 2.1-9.6 5.5L317.8 47.6zM128 176c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c-35.3 0-64 28.7-64 64v71c8.3 5.2 18.1 9 28.8 9c13.5 0 27.2-6.1 38.4-13.4c5.4-3.5 9.9-7.1 13-9.7c1.5-1.3 2.7-2.4 3.5-3.1c.4-.4 .7-.6 .8-.8l.1-.1 0 0 0 0s0 0 0 0s0 0 0 0c3.1-3.2 7.4-4.9 11.9-4.8s8.6 2.1 11.6 5.4l0 0 0 0 .1 .1c.1 .1 .4 .4 .7 .7c.7 .7 1.7 1.7 3.1 3c2.8 2.6 6.8 6.1 11.8 9.5c10.2 7.1 23 13.1 36.3 13.1s26.1-6 36.3-13.1c5-3.5 9-6.9 11.8-9.5c1.4-1.3 2.4-2.3 3.1-3c.3-.3 .6-.6 .7-.7l.1-.1c3-3.5 7.4-5.4 12-5.4s9 2 12 5.4l.1 .1c.1 .1 .4 .4 .7 .7c.7 .7 1.7 1.7 3.1 3c2.8 2.6 6.8 6.1 11.8 9.5c10.2 7.1 23 13.1 36.3 13.1s26.1-6 36.3-13.1c5-3.5 9-6.9 11.8-9.5c1.4-1.3 2.4-2.3 3.1-3c.3-.3 .6-.6 .7-.7l.1-.1c2.9-3.4 7.1-5.3 11.6-5.4s8.7 1.6 11.9 4.8l0 0 0 0 0 0 .1 .1c.2 .2 .4 .4 .8 .8c.8 .7 1.9 1.8 3.5 3.1c3.1 2.6 7.5 6.2 13 9.7c11.2 7.3 24.9 13.4 38.4 13.4c10.7 0 20.5-3.9 28.8-9V288c0-35.3-28.7-64-64-64V176c0-17.7-14.3-32-32-32s-32 14.3-32 32v48H256V176c0-17.7-14.3-32-32-32s-32 14.3-32 32v48H128V176zM448 394.6c-8.5 3.3-18.2 5.4-28.8 5.4c-22.5 0-42.4-9.9-55.8-18.6c-4.1-2.7-7.8-5.4-10.9-7.8c-2.8 2.4-6.1 5-9.8 7.5C329.8 390 310.6 400 288 400s-41.8-10-54.6-18.9c-3.5-2.4-6.7-4.9-9.4-7.2c-2.7 2.3-5.9 4.7-9.4 7.2C201.8 390 182.6 400 160 400s-41.8-10-54.6-18.9c-3.7-2.6-7-5.2-9.8-7.5c-3.1 2.4-6.8 5.1-10.9 7.8C71.2 390.1 51.3 400 28.8 400c-10.6 0-20.3-2.2-28.8-5.4V480c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V394.6z\"]\n};\nvar faBirthdayCake = faCakeCandles;\nvar faCake = faCakeCandles;\nvar faEnvelope = {\n prefix: 'fas',\n iconName: 'envelope',\n icon: [512, 512, [128386, 9993, 61443], \"f0e0\", \"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z\"]\n};\nvar faAnglesUp = {\n prefix: 'fas',\n iconName: 'angles-up',\n icon: [448, 512, [\"angle-double-up\"], \"f102\", \"M246.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 109.3 361.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160zm160 352l-160-160c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 301.3 361.4 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z\"]\n};\nvar faAngleDoubleUp = faAnglesUp;\nvar faPaperclip = {\n prefix: 'fas',\n iconName: 'paperclip',\n icon: [448, 512, [128206], \"f0c6\", \"M364.2 83.8c-24.4-24.4-64-24.4-88.4 0l-184 184c-42.1 42.1-42.1 110.3 0 152.4s110.3 42.1 152.4 0l152-152c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-152 152c-64 64-167.6 64-231.6 0s-64-167.6 0-231.6l184-184c46.3-46.3 121.3-46.3 167.6 0s46.3 121.3 0 167.6l-176 176c-28.6 28.6-75 28.6-103.6 0s-28.6-75 0-103.6l144-144c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-144 144c-6.7 6.7-6.7 17.7 0 24.4s17.7 6.7 24.4 0l176-176c24.4-24.4 24.4-64 0-88.4z\"]\n};\nvar faArrowRightToCity = {\n prefix: 'fas',\n iconName: 'arrow-right-to-city',\n icon: [640, 512, [], \"e4b3\", \"M288 48c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V192h40V120c0-13.3 10.7-24 24-24s24 10.7 24 24v72h24c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H432 336c-26.5 0-48-21.5-48-48V48zm64 32v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H368zM352 272v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm176-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H528zM512 368v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H528c-8.8 0-16 7.2-16 16zM166.6 153.4l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L146.7 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H146.7l-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0z\"]\n};\nvar faRibbon = {\n prefix: 'fas',\n iconName: 'ribbon',\n icon: [448, 512, [127895], \"f4d6\", \"M333.2 322.8l0 0-133.9-146 0 0L146 118.6c7.8-5.1 37-22.6 78-22.6s70.2 17.4 78 22.6L245.7 180l85.6 93.4 27.4-29.8c16.3-17.7 25.3-40.9 25.3-65V149.1c0-19-5.6-37.5-16.1-53.3L327.8 35.6C312.9 13.4 287.9 0 261.2 0h-76c-25.8 0-50.1 12.5-65.1 33.5L81.9 87C70.3 103.2 64 122.8 64 142.8V164c0 23.2 8.4 45.6 23.6 63.1l56 64.2 0 0 83.3 95.6 0 0 91.8 105.3c10 11.5 26.8 14.3 40 6.8l54.5-31.1c17.8-10.2 21.6-34.3 7.7-49.4l-87.7-95.7zM205.2 410.6l-83.3-95.6L27.1 418.5c-13.9 15.1-10.1 39.2 7.7 49.4l55.1 31.5c13 7.4 29.3 4.9 39.4-6.1l75.9-82.6z\"]\n};\nvar faLungs = {\n prefix: 'fas',\n iconName: 'lungs',\n icon: [640, 512, [129729], \"f604\", \"M320 0c17.7 0 32 14.3 32 32V164.1c0 16.4 8.4 31.7 22.2 40.5l9.8 6.2V165.3C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4v7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7l-72.7-18.2C414 480.5 384 442.1 384 398V325l90.5 57.6c7.5 4.7 17.3 2.5 22.1-4.9s2.5-17.3-4.9-22.1L384 287.1v-.4l-44.1-28.1c-7.3-4.6-13.9-10.1-19.9-16.1c-5.9 6-12.6 11.5-19.9 16.1L256 286.7 161.2 347l-13.5 8.6c0 0 0 0-.1 0c-7.4 4.8-9.6 14.6-4.8 22.1c4.7 7.5 14.6 9.7 22.1 4.9l91.1-58V398c0 44.1-30 82.5-72.7 93.1l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89v-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3v45.5l9.8-6.2c13.8-8.8 22.2-24.1 22.2-40.5V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faArrowUp91 = {\n prefix: 'fas',\n iconName: 'arrow-up-9-1',\n icon: [576, 512, [\"sort-numeric-up-alt\"], \"f887\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32zM450.7 294c8.3 6 13.3 15.7 13.3 26v96h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 384c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V364.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4zm-5-145.1A32 32 0 1 0 418.3 91a32 32 0 1 0 27.4 57.9zm-40.7 54.9C369.6 192.4 344 159.2 344 120c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 251c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2z\"]\n};\nvar faSortNumericUpAlt = faArrowUp91;\nvar faLitecoinSign = {\n prefix: 'fas',\n iconName: 'litecoin-sign',\n icon: [384, 512, [], \"e1d3\", \"M128 64c0-17.7-14.3-32-32-32S64 46.3 64 64V213.6L23.2 225.2c-17 4.9-26.8 22.6-22 39.6s22.6 26.8 39.6 22L64 280.1V448c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H128V261.9l136.8-39.1c17-4.9 26.8-22.6 22-39.6s-22.6-26.8-39.6-22L128 195.3V64z\"]\n};\nvar faBorderNone = {\n prefix: 'fas',\n iconName: 'border-none',\n icon: [448, 512, [], \"f850\", \"M32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM320 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM416 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faCircleNodes = {\n prefix: 'fas',\n iconName: 'circle-nodes',\n icon: [512, 512, [], \"e4e2\", \"M418.4 157.9c35.3-8.3 61.6-40 61.6-77.9c0-44.2-35.8-80-80-80c-43.4 0-78.7 34.5-80 77.5L136.2 151.1C121.7 136.8 101.9 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c12.2 0 23.8-2.7 34.1-7.6L259.7 407.8c-2.4 7.6-3.7 15.8-3.7 24.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-27.7-14-52.1-35.4-66.4l37.8-207.7zM156.3 232.2c2.2-6.9 3.5-14.2 3.7-21.7l183.8-73.5c3.6 3.5 7.4 6.7 11.6 9.5L317.6 354.1c-5.5 1.3-10.8 3.1-15.8 5.5L156.3 232.2z\"]\n};\nvar faParachuteBox = {\n prefix: 'fas',\n iconName: 'parachute-box',\n icon: [512, 512, [], \"f4cd\", \"M383.5 192c.3-5.3 .5-10.6 .5-16c0-51-15.9-96-40.2-127.6C319.5 16.9 288.2 0 256 0s-63.5 16.9-87.8 48.4C143.9 80 128 125 128 176c0 5.4 .2 10.7 .5 16H240V320H208c-7 0-13.7 1.5-19.7 4.2L68.2 192H96.5c-.3-5.3-.5-10.6-.5-16c0-64 22.2-121.2 57.1-159.3C62 49.3 18.6 122.6 4.2 173.6C1.5 183.1 9 192 18.9 192h6L165.2 346.3c-3.3 6.5-5.2 13.9-5.2 21.7v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V368c0-7.8-1.9-15.2-5.2-21.7L487.1 192h6c9.9 0 17.4-8.9 14.7-18.4C493.4 122.6 450 49.3 358.9 16.7C393.8 54.8 416 112.1 416 176c0 5.4-.2 10.7-.5 16h28.3L323.7 324.2c-6-2.7-12.7-4.2-19.7-4.2H272V192H383.5z\"]\n};\nvar faIndent = {\n prefix: 'fas',\n iconName: 'indent',\n icon: [448, 512, [], \"f03c\", \"M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zm32 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3V176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z\"]\n};\nvar faTruckFieldUn = {\n prefix: 'fas',\n iconName: 'truck-field-un',\n icon: [640, 512, [], \"e58e\", \"M96 32C60.7 32 32 60.7 32 96v32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32v32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288c0-35.3-28.7-64-64-64h-4.2c-.4-1.1-.9-2.1-1.3-3.2L485.7 102c-10.3-23.1-33.2-38-58.5-38H375.4C364.4 44.9 343.7 32 320 32H96zm288 96h43.2l42.7 96H384V128zM112 384a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM253.3 135.1l34.7 52V144c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM128 144v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHourglass = {\n prefix: 'fas',\n iconName: 'hourglass',\n icon: [384, 512, [9203, 62032, \"hourglass-empty\"], \"f254\", \"M0 32C0 14.3 14.3 0 32 0H64 320h32c17.7 0 32 14.3 32 32s-14.3 32-32 32V75c0 42.4-16.9 83.1-46.9 113.1L237.3 256l67.9 67.9c30 30 46.9 70.7 46.9 113.1v11c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V437c0-42.4 16.9-83.1 46.9-113.1L146.7 256 78.9 188.1C48.9 158.1 32 117.4 32 75V64C14.3 64 0 49.7 0 32zM96 64V75c0 25.5 10.1 49.9 28.1 67.9L192 210.7l67.9-67.9c18-18 28.1-42.4 28.1-67.9V64H96zm0 384H288V437c0-25.5-10.1-49.9-28.1-67.9L192 301.3l-67.9 67.9c-18 18-28.1 42.4-28.1 67.9v11z\"]\n};\nvar faHourglassEmpty = faHourglass;\nvar faMountain = {\n prefix: 'fas',\n iconName: 'mountain',\n icon: [512, 512, [127956], \"f6fc\", \"M256 32c12.5 0 24.1 6.4 30.8 17L503.4 394.4c5.6 8.9 8.6 19.2 8.6 29.7c0 30.9-25 55.9-55.9 55.9H55.9C25 480 0 455 0 424.1c0-10.5 3-20.8 8.6-29.7L225.2 49c6.6-10.6 18.3-17 30.8-17zm65 192L256 120.4 176.9 246.5l18.3 24.4c6.4 8.5 19.2 8.5 25.6 0l25.6-34.1c6-8.1 15.5-12.8 25.6-12.8h49z\"]\n};\nvar faUserDoctor = {\n prefix: 'fas',\n iconName: 'user-doctor',\n icon: [448, 512, [\"user-md\"], \"f0f0\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-96 55.2C54 332.9 0 401.3 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-81-54-149.4-128-171.1V362c27.6 7.1 48 32.2 48 62v40c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16s7.2-16 16-16V424c0-17.7-14.3-32-32-32s-32 14.3-32 32v24c8.8 0 16 7.2 16 16s-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V424c0-29.8 20.4-54.9 48-62V304.9c-6-.6-12.1-.9-18.3-.9H178.3c-6.2 0-12.3 .3-18.3 .9v65.4c23.1 6.9 40 28.3 40 53.7c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.4 16.9-46.8 40-53.7V311.2zM144 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faUserMd = faUserDoctor;\nvar faCircleInfo = {\n prefix: 'fas',\n iconName: 'circle-info',\n icon: [512, 512, [\"info-circle\"], \"f05a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faInfoCircle = faCircleInfo;\nvar faCloudMeatball = {\n prefix: 'fas',\n iconName: 'cloud-meatball',\n icon: [512, 512, [], \"f73b\", \"M0 224c0 53 43 96 96 96h44.7c9.5-23.5 32.5-40 59.3-40c2 0 3.9 .1 5.8 .3C217.6 265.5 235.7 256 256 256s38.4 9.5 50.2 24.3c1.9-.2 3.9-.3 5.8-.3c26.9 0 49.9 16.5 59.3 40H416c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224zm288 96c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 1 .1 2.1 .1 3.1c-.7-.8-1.4-1.6-2.1-2.3c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3c.7 .7 1.5 1.4 2.3 2.1c-1-.1-2.1-.1-3.1-.1c-17.7 0-32 14.3-32 32s14.3 32 32 32c1 0 2.1-.1 3.1-.1c-.8 .7-1.6 1.3-2.3 2.1c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0c.7-.7 1.4-1.5 2.1-2.3c-.1 1-.1 2.1-.1 3.1c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1-.1-2.1-.1-3.1c.7 .8 1.3 1.6 2.1 2.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3c-.7-.7-1.5-1.4-2.3-2.1c1 .1 2.1 .1 3.1 .1c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1 0-2.1 .1-3.1 .1c.8-.7 1.6-1.3 2.3-2.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-.7 .7-1.4 1.5-2.1 2.3c.1-1 .1-2.1 .1-3.1zM48 448a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm416 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faCamera = {\n prefix: 'fas',\n iconName: 'camera',\n icon: [512, 512, [62258, \"camera-alt\"], \"f030\", \"M149.1 64.8L138.7 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H373.3L362.9 64.8C356.4 45.2 338.1 32 317.4 32H194.6c-20.7 0-39 13.2-45.5 32.8zM256 192a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faCameraAlt = faCamera;\nvar faSquareVirus = {\n prefix: 'fas',\n iconName: 'square-virus',\n icon: [448, 512, [], \"e578\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM223.8 93.7c13.3 0 24 10.7 24 24c0 29.3 35.4 43.9 56.1 23.2c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-20.7 20.7-6 56.1 23.2 56.1c13.3 0 24 10.7 24 24s-10.7 24-24 24c-29.3 0-43.9 35.4-23.2 56.1c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-20.7-20.7-56.1-6-56.1 23.2c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-29.3-35.4-43.9-56.1-23.2c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9c20.7-20.7 6-56.1-23.2-56.1c-13.3 0-24-10.7-24-24s10.7-24 24-24c29.3 0 43.9-35.4 23.2-56.1c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0c20.7 20.7 56.1 6 56.1-23.2c0-13.3 10.7-24 24-24zM192 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm88 32a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faMeteor = {\n prefix: 'fas',\n iconName: 'meteor',\n icon: [512, 512, [9732], \"f753\", \"M493.7 .9L299.4 75.6l2.3-29.3c1-12.8-12.8-21.5-24-15.1L101.3 133.4C38.6 169.7 0 236.6 0 309C0 421.1 90.9 512 203 512c72.4 0 139.4-38.6 175.7-101.3L480.8 234.3c6.5-11.1-2.2-25-15.1-24l-29.3 2.3L511.1 18.3c.6-1.5 .9-3.2 .9-4.8C512 6 506 0 498.5 0c-1.7 0-3.3 .3-4.8 .9zM192 192a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm16 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faCarOn = {\n prefix: 'fas',\n iconName: 'car-on',\n icon: [512, 512, [], \"e4dd\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM185.8 224H326.2c6.8 0 12.8 4.3 15.1 10.6L360.3 288H151.7l19.1-53.4c2.3-6.4 8.3-10.6 15.1-10.6zm-75.3-10.9L82.2 292.4C62.1 300.9 48 320.8 48 344v40 64 32c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V448H384v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32V448 384 344c0-23.2-14.1-43.1-34.2-51.6l-28.3-79.3C390.1 181.3 360 160 326.2 160H185.8c-33.8 0-64 21.3-75.3 53.1zM128 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm232 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM39 39c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L73 39c-9.4-9.4-24.6-9.4-33.9 0zm400 0L391 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nvar faSleigh = {\n prefix: 'fas',\n iconName: 'sleigh',\n icon: [640, 512, [], \"f7cc\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96V256c0 53 43 96 96 96v32h64V352H384v32h64V352c53 0 96-43 96-96V160c17.7 0 32-14.3 32-32s-14.3-32-32-32H512 480c-17.7 0-32 14.3-32 32v41.3c0 30.2-24.5 54.7-54.7 54.7c-75.5 0-145.6-38.9-185.6-102.9l-4.3-6.9C174.2 67.6 125 37.6 70.7 32.7c-2.2-.5-4.4-.7-6.7-.7H55 32zM640 384c0-17.7-14.3-32-32-32s-32 14.3-32 32v8c0 13.3-10.7 24-24 24H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H552c48.6 0 88-39.4 88-88v-8z\"]\n};\nvar faArrowDown19 = {\n prefix: 'fas',\n iconName: 'arrow-down-1-9',\n icon: [576, 512, [\"sort-numeric-asc\", \"sort-numeric-down\"], \"f162\", \"M450.7 38c-8.3-6-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2V160H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H464V64c0-10.3-4.9-19.9-13.3-26zM160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480zM418.3 307a32 32 0 1 1 27.4 57.9A32 32 0 1 1 418.3 307zM405.1 419.8l-6.8 9.2c-10.5 14.2-7.5 34.2 6.7 44.8s34.2 7.5 44.8-6.7l48.8-65.8c14-18.9 21.5-41.7 21.5-65.2c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 39.2 25.6 72.4 61.1 83.8z\"]\n};\nvar faSortNumericAsc = faArrowDown19;\nvar faSortNumericDown = faArrowDown19;\nvar faHandHoldingDroplet = {\n prefix: 'fas',\n iconName: 'hand-holding-droplet',\n icon: [576, 512, [\"hand-holding-water\"], \"f4c1\", \"M275.5 6.6C278.3 2.5 283 0 288 0s9.7 2.5 12.5 6.6L366.8 103C378 119.3 384 138.6 384 158.3V160c0 53-43 96-96 96s-96-43-96-96v-1.7c0-19.8 6-39 17.2-55.3L275.5 6.6zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faHandHoldingWater = faHandHoldingDroplet;\nvar faWater = {\n prefix: 'fas',\n iconName: 'water',\n icon: [576, 512, [], \"f773\", \"M269.5 69.9c11.1-7.9 25.9-7.9 37 0C329 85.4 356.5 96 384 96c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 149.7 417 160 384 160c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4C42.8 92.6 61 83.5 75.3 71.6c11.1-9.5 27.3-10.1 39.2-1.7l0 0C136.7 85.2 165.1 96 192 96c27.5 0 55-10.6 77.5-26.1zm37 288C329 373.4 356.5 384 384 384c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 437.7 417 448 384 448c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 373.2 165.1 384 192 384c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0zm0-144C329 229.4 356.5 240 384 240c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 293.7 417 304 384 304c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.5 27.3-10.1 39.2-1.7l0 0C136.7 229.2 165.1 240 192 240c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faCalendarCheck = {\n prefix: 'fas',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z\"]\n};\nvar faBraille = {\n prefix: 'fas',\n iconName: 'braille',\n icon: [640, 512, [], \"f2a1\", \"M0 96a64 64 0 1 1 128 0A64 64 0 1 1 0 96zM224 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM80 416a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zm240 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM224 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM352 96a64 64 0 1 1 128 0A64 64 0 1 1 352 96zm240 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0A64 64 0 1 1 512 96zm64 176a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm16 224a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM416 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm16 224a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faPrescriptionBottleMedical = {\n prefix: 'fas',\n iconName: 'prescription-bottle-medical',\n icon: [384, 512, [\"prescription-bottle-alt\"], \"f486\", \"M0 32C0 14.3 14.3 0 32 0H352c17.7 0 32 14.3 32 32V64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64V32zm32 96H352V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zM160 240v48H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V352h48c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPrescriptionBottleAlt = faPrescriptionBottleMedical;\nvar faLandmark = {\n prefix: 'fas',\n iconName: 'landmark',\n icon: [512, 512, [127963], \"f66f\", \"M240.1 4.2c9.8-5.6 21.9-5.6 31.8 0l171.8 98.1L448 104l0 .9 47.9 27.4c12.6 7.2 18.8 22 15.1 36s-16.4 23.8-30.9 23.8H32c-14.5 0-27.2-9.8-30.9-23.8s2.5-28.8 15.1-36L64 104.9V104l4.4-1.6L240.1 4.2zM64 224h64V416h40V224h64V416h48V224h64V416h40V224h64V420.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512H32c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1V224z\"]\n};\nvar faTruck = {\n prefix: 'fas',\n iconName: 'truck',\n icon: [640, 512, [128666, 9951], \"f0d1\", \"M48 0C21.5 0 0 21.5 0 48V368c0 26.5 21.5 48 48 48H64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288 256 237.3c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7H416V48c0-26.5-21.5-48-48-48H48zM416 160h50.7L544 237.3V256H416V160zM112 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCrosshairs = {\n prefix: 'fas',\n iconName: 'crosshairs',\n icon: [512, 512, [], \"f05b\", \"M256 0c17.7 0 32 14.3 32 32V42.4c93.7 13.9 167.7 88 181.6 181.6H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H469.6c-13.9 93.7-88 167.7-181.6 181.6V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V469.6C130.3 455.7 56.3 381.7 42.4 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H42.4C56.3 130.3 130.3 56.3 224 42.4V32c0-17.7 14.3-32 32-32zM107.4 288c12.5 58.3 58.4 104.1 116.6 116.6V384c0-17.7 14.3-32 32-32s32 14.3 32 32v20.6c58.3-12.5 104.1-58.4 116.6-116.6H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h20.6C392.1 165.7 346.3 119.9 288 107.4V128c0 17.7-14.3 32-32 32s-32-14.3-32-32V107.4C165.7 119.9 119.9 165.7 107.4 224H128c17.7 0 32 14.3 32 32s-14.3 32-32 32H107.4zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPersonCane = {\n prefix: 'fas',\n iconName: 'person-cane',\n icon: [448, 512, [], \"e53c\", \"M272 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-8 187.3l47.4 57.1c11.3 13.6 31.5 15.5 45.1 4.2s15.5-31.5 4.2-45.1l-73.7-88.9c-18.2-22-45.3-34.7-73.9-34.7H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V235.3zM352 376c0-4.4 3.6-8 8-8s8 3.6 8 8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-30.9-25.1-56-56-56s-56 25.1-56 56v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8z\"]\n};\nvar faTent = {\n prefix: 'fas',\n iconName: 'tent',\n icon: [576, 512, [], \"e57d\", \"M269.4 6C280.5-2 295.5-2 306.6 6l224 160c7.4 5.3 12.2 13.5 13.2 22.5l32 288c1 9-1.9 18.1-8 24.9s-14.7 10.7-23.8 10.7H416L288 288V512H32c-9.1 0-17.8-3.9-23.8-10.7s-9-15.8-8-24.9l32-288c1-9 5.8-17.2 13.2-22.5L269.4 6z\"]\n};\nvar faVestPatches = {\n prefix: 'fas',\n iconName: 'vest-patches',\n icon: [448, 512, [], \"e086\", \"M151.2 69.7l55.9 167.7-11 33.1c-2.7 8.2-4.1 16.7-4.1 25.3V464c0 14.5 3.9 28.2 10.7 39.9C195 509 185.9 512 176 512H48c-26.5 0-48-21.5-48-48V270.5c0-9.5 2.8-18.7 8.1-26.6l47.9-71.8c5.3-7.9 8.1-17.1 8.1-26.6V128 54.3 48C64 21.5 85.5 0 112 0h4.5c.2 0 .4 0 .6 0c.4 0 .8 0 1.2 0c18.8 0 34.1 9.7 44.1 18.8C171.6 27.2 190.8 40 224 40s52.4-12.8 61.7-21.2C295.7 9.7 311 0 329.7 0c.4 0 .8 0 1.2 0c.2 0 .4 0 .6 0H336c26.5 0 48 21.5 48 48v6.3V128v17.5c0 9.5 2.8 18.7 8.1 26.6l47.9 71.8c5.3 7.9 8.1 17.1 8.1 26.6V464c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V295.8c0-5.2 .8-10.3 2.5-15.2L296.8 69.7C279.4 79.7 255.4 88 224 88s-55.4-8.3-72.8-18.3zM96 456a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM63.5 255.5c-4.7 4.7-4.7 12.3 0 17L79 288 63.5 303.5c-4.7 4.7-4.7 12.3 0 17s12.3 4.7 17 0L96 305l15.5 15.5c4.7 4.7 12.3 4.7 17 0s4.7-12.3 0-17L113 288l15.5-15.5c4.7-4.7 4.7-12.3 0-17s-12.3-4.7-17 0L96 271 80.5 255.5c-4.7-4.7-12.3-4.7-17 0zM304 280v8 32c0 8.8 7.2 16 16 16h32 8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faCheckDouble = {\n prefix: 'fas',\n iconName: 'check-double',\n icon: [448, 512, [], \"f560\", \"M342.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 178.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l160-160zm96 128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 402.7 54.6 297.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l256-256z\"]\n};\nvar faArrowDownAZ = {\n prefix: 'fas',\n iconName: 'arrow-down-a-z',\n icon: [576, 512, [\"sort-alpha-asc\", \"sort-alpha-down\"], \"f15d\", \"M183.6 469.6C177.5 476.2 169 480 160 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L128 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 320c0-17.7 14.3-32 32-32H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 416H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 352H352c-17.7 0-32-14.3-32-32zM416 32c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 224H371.8l-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128C392.8 38.8 403.9 32 416 32zM395.8 176h40.4L416 135.6 395.8 176z\"]\n};\nvar faSortAlphaAsc = faArrowDownAZ;\nvar faSortAlphaDown = faArrowDownAZ;\nvar faMoneyBillWheat = {\n prefix: 'fas',\n iconName: 'money-bill-wheat',\n icon: [512, 512, [], \"e52a\", \"M176 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80c0-8.8 7.2-16 16-16zM56 16h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56C42.7 64 32 53.3 32 40s10.7-24 24-24zM24 88H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24S10.7 88 24 88zm8 96c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM272 16c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80zM400 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80c0-8.8 7.2-16 16-16zm80 144c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM352 128c8.8 0 16 7.2 16 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-96 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM0 304c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V304zM48 416v48H96c0-26.5-21.5-48-48-48zM96 304H48v48c26.5 0 48-21.5 48-48zM464 416c-26.5 0-48 21.5-48 48h48V416zM416 304c0 26.5 21.5 48 48 48V304H416zm-96 80a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faCookie = {\n prefix: 'fas',\n iconName: 'cookie',\n icon: [512, 512, [127850], \"f563\", \"M247.2 17c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9l-14.6-82.8c-3.9-22.1-14.6-42.3-30.7-57.9L388.9 57.5c-16.1-15.6-36.6-25.6-58.7-28.7L247.2 17zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faArrowRotateLeft = {\n prefix: 'fas',\n iconName: 'arrow-rotate-left',\n icon: [512, 512, [8634, \"arrow-left-rotate\", \"arrow-rotate-back\", \"arrow-rotate-backward\", \"undo\"], \"f0e2\", \"M125.7 160H176c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32s32 14.3 32 32v51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z\"]\n};\nvar faArrowLeftRotate = faArrowRotateLeft;\nvar faArrowRotateBack = faArrowRotateLeft;\nvar faArrowRotateBackward = faArrowRotateLeft;\nvar faUndo = faArrowRotateLeft;\nvar faHardDrive = {\n prefix: 'fas',\n iconName: 'hard-drive',\n icon: [512, 512, [128436, \"hdd\"], \"f0a0\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V280.4c-17-15.2-39.4-24.4-64-24.4H64c-24.6 0-47 9.2-64 24.4V96zM64 288H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64zM320 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faHdd = faHardDrive;\nvar faFaceGrinSquintTears = {\n prefix: 'fas',\n iconName: 'face-grin-squint-tears',\n icon: [512, 512, [129315, \"grin-squint-tears\"], \"f586\", \"M426.8 14.2C446-5 477.5-4.6 497.1 14.9s20 51 .7 70.3c-6.8 6.8-21.4 12.4-37.4 16.7c-16.3 4.4-34.1 7.5-46.3 9.3c-1.6 .2-3.1 .5-4.6 .6c-4.9 .8-9.1-2.8-9.5-7.4c-.1-.7 0-1.4 .1-2.1c1.6-11.2 4.6-29.6 9-47c.3-1.3 .7-2.6 1-3.9c4.3-15.9 9.8-30.5 16.7-37.4zm-44.7 19c-1.5 4.8-2.9 9.6-4.1 14.3c-4.8 18.9-8 38.5-9.7 50.3c-4 26.8 18.9 49.7 45.7 45.8c11.9-1.6 31.5-4.8 50.4-9.7c4.7-1.2 9.5-2.5 14.3-4.1C534.2 227.5 520.2 353.8 437 437c-83.2 83.2-209.5 97.2-307.2 41.8c1.5-4.8 2.8-9.6 4-14.3c4.8-18.9 8-38.5 9.7-50.3c4-26.8-18.9-49.7-45.7-45.8c-11.9 1.6-31.5 4.8-50.4 9.7c-4.7 1.2-9.5 2.5-14.3 4.1C-22.2 284.5-8.2 158.2 75 75C158.2-8.3 284.5-22.2 382.2 33.2zM51.5 410.1c18.5-5 38.8-8.3 50.9-10c.4-.1 .7-.1 1-.1c5.1-.2 9.2 4.3 8.4 9.6c-1.7 12.1-5 32.4-10 50.9C97.6 476.4 92 491 85.2 497.8C66 517 34.5 516.6 14.9 497.1s-20-51-.7-70.3c6.8-6.8 21.4-12.4 37.4-16.7zM416.9 209c-4.7-11.9-20.8-11-26.8 .3c-19 35.5-45 70.8-77.5 103.3S244.8 371.1 209.3 390c-11.3 6-12.2 22.1-.3 26.8c57.6 22.9 125.8 11 172.3-35.5s58.4-114.8 35.5-172.3zM87.1 285.1c2 2 4.6 3.2 7.3 3.4l56.1 5.1 5.1 56.1c.3 2.8 1.5 5.4 3.4 7.3c6.3 6.3 17.2 3.6 19.8-4.9l29.7-97.4c3.5-11.6-7.3-22.5-19-19L92 265.3c-8.6 2.6-11.3 13.4-4.9 19.8zM265.3 92l-29.7 97.4c-3.5 11.6 7.3 22.5 19 19l97.4-29.7c8.6-2.6 11.3-13.4 4.9-19.8c-2-2-4.6-3.2-7.3-3.4l-56.1-5.1-5.1-56.1c-.3-2.8-1.5-5.4-3.4-7.3c-6.3-6.3-17.2-3.6-19.8 4.9z\"]\n};\nvar faGrinSquintTears = faFaceGrinSquintTears;\nvar faDumbbell = {\n prefix: 'fas',\n iconName: 'dumbbell',\n icon: [640, 512, [], \"f44b\", \"M96 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V224v64V448c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V384H64c-17.7 0-32-14.3-32-32V288c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32H96V64zm448 0v64h32c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32v64c0 17.7-14.3 32-32 32H544v64c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V288 224 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32zM416 224v64H224V224H416z\"]\n};\nvar faRectangleList = {\n prefix: 'fas',\n iconName: 'rectangle-list',\n icon: [576, 512, [\"list-alt\"], \"f022\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32-128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-248c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224z\"]\n};\nvar faListAlt = faRectangleList;\nvar faTarpDroplet = {\n prefix: 'fas',\n iconName: 'tarp-droplet',\n icon: [576, 512, [], \"e57c\", \"M288 160c-35.3 0-64-26.9-64-60c0-24 33.7-70.1 52.2-93.5c6.1-7.7 17.5-7.7 23.6 0C318.3 29.9 352 76 352 100c0 33.1-28.7 60-64 60zM64 128H197.5c13.2 37.3 48.7 64 90.5 64s77.4-26.7 90.5-64H512c35.3 0 64 28.7 64 64V352H448c-17.7 0-32 14.3-32 32l0 128L64 512c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zM448 512l0-128H576L448 512zM96 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faHouseMedicalCircleCheck = {\n prefix: 'fas',\n iconName: 'house-medical-circle-check',\n icon: [640, 512, [], \"e511\", \"M320 368c0 59.5 29.5 112.1 74.8 144H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64H320V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm32 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faPersonSkiingNordic = {\n prefix: 'fas',\n iconName: 'person-skiing-nordic',\n icon: [576, 512, [\"skiing-nordic\"], \"f7ca\", \"M336 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM227.2 160c1.9 0 3.8 .1 5.6 .3L201.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9L291.3 464H202.8l41.1-88.1-32.4-20.3c-7.8-4.9-14.7-10.7-20.6-17.3L132.2 464H99.7l54.2-257.6c4.6-1.5 9-4.1 12.7-7.8l23.1-23.1c9.9-9.9 23.4-15.5 37.5-15.5zM121.4 198.6c.4 .4 .8 .8 1.3 1.2L67 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H159.3c.4 0 .9 0 1.3 0H319.3c.5 0 1 0 1.4 0H504c39.8 0 72-32.2 72-72v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 13.3-10.7 24-24 24H434.6l27.6-179.3c10.5-5.2 17.8-16.1 17.8-28.7c0-17.7-14.3-32-32-32H426.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3l-23.1 23.1c-12.5 12.5-12.5 32.8 0 45.3zm308 89.4L402.3 464H357.8l21.6-75.6c5.9-20.6-2.6-42.6-20.7-53.9L302 299l30.9-82.4 5.1 12.3C353 264.7 387.9 288 426.7 288h2.7z\"]\n};\nvar faSkiingNordic = faPersonSkiingNordic;\nvar faCalendarPlus = {\n prefix: 'fas',\n iconName: 'calendar-plus',\n icon: [512, 512, [], \"f271\", \"M128 32V64H80c-26.5 0-48 21.5-48 48v48H480V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H192V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 192H32V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V192zM256 248c13.3 0 24 10.7 24 24v56h56c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V376H176c-13.3 0-24-10.7-24-24s10.7-24 24-24h56V272c0-13.3 10.7-24 24-24z\"]\n};\nvar faPlaneArrival = {\n prefix: 'fas',\n iconName: 'plane-arrival',\n icon: [640, 512, [128748], \"f5af\", \"M.3 166.9L0 68C0 57.7 9.5 50.1 19.5 52.3l35.6 7.9c10.6 2.3 19.2 9.9 23 20L96 128l127.3 37.6L181.8 20.4C178.9 10.2 186.6 0 197.2 0h40.1c11.6 0 22.2 6.2 27.9 16.3l109 193.8 107.2 31.7c15.9 4.7 30.8 12.5 43.7 22.8l34.4 27.6c24 19.2 18.1 57.3-10.7 68.2c-41.2 15.6-86.2 18.1-128.8 7L121.7 289.8c-11.1-2.9-21.2-8.7-29.3-16.9L9.5 189.4c-5.9-6-9.3-14-9.3-22.5zM32 448H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm96-80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-16a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCircleLeft = {\n prefix: 'fas',\n iconName: 'circle-left',\n icon: [512, 512, [61840, \"arrow-alt-circle-left\"], \"f359\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM217.4 376.9L117.5 269.8c-3.5-3.8-5.5-8.7-5.5-13.8s2-10.1 5.5-13.8l99.9-107.1c4.2-4.5 10.1-7.1 16.3-7.1c12.3 0 22.3 10 22.3 22.3l0 57.7 96 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32l-96 0 0 57.7c0 12.3-10 22.3-22.3 22.3c-6.2 0-12.1-2.6-16.3-7.1z\"]\n};\nvar faArrowAltCircleLeft = faCircleLeft;\nvar faTrainSubway = {\n prefix: 'fas',\n iconName: 'train-subway',\n icon: [448, 512, [\"subway\"], \"f239\", \"M96 0C43 0 0 43 0 96V352c0 48 35.2 87.7 81.1 94.9l-46 46C28.1 499.9 33.1 512 43 512H82.7c8.5 0 16.6-3.4 22.6-9.4L160 448H288l54.6 54.6c6 6 14.1 9.4 22.6 9.4H405c10 0 15-12.1 7.9-19.1l-46-46c46-7.1 81.1-46.9 81.1-94.9V96c0-53-43-96-96-96H96zM64 128c0-17.7 14.3-32 32-32h80c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM272 96h80c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H272c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zM64 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm288-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSubway = faTrainSubway;\nvar faChartGantt = {\n prefix: 'fas',\n iconName: 'chart-gantt',\n icon: [512, 512, [], \"e0e4\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32zm96 64H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm160 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faIndianRupeeSign = {\n prefix: 'fas',\n iconName: 'indian-rupee-sign',\n icon: [320, 512, [\"indian-rupee\", \"inr\"], \"e1bc\", \"M0 64C0 46.3 14.3 32 32 32H96h16H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H231.8c9.6 14.4 16.7 30.6 20.7 48H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H252.4c-13.2 58.3-61.9 103.2-122.2 110.9L274.6 422c14.4 10.3 17.7 30.3 7.4 44.6s-30.3 17.7-44.6 7.4L13.4 314C2.1 306-2.7 291.5 1.5 278.2S18.1 256 32 256h80c32.8 0 61-19.7 73.3-48H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H185.3C173 115.7 144.8 96 112 96H96 32C14.3 96 0 81.7 0 64z\"]\n};\nvar faIndianRupee = faIndianRupeeSign;\nvar faInr = faIndianRupeeSign;\nvar faCropSimple = {\n prefix: 'fas',\n iconName: 'crop-simple',\n icon: [512, 512, [\"crop-alt\"], \"f565\", \"M128 32c0-17.7-14.3-32-32-32S64 14.3 64 32V64H32C14.3 64 0 78.3 0 96s14.3 32 32 32H64V384c0 35.3 28.7 64 64 64H352V384H128V32zM384 480c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H448l0-256c0-35.3-28.7-64-64-64L160 64v64l224 0 0 352z\"]\n};\nvar faCropAlt = faCropSimple;\nvar faMoneyBill1 = {\n prefix: 'fas',\n iconName: 'money-bill-1',\n icon: [576, 512, [\"money-bill-alt\"], \"f3d1\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm64 320H64V320c35.3 0 64 28.7 64 64zM64 192V128h64c0 35.3-28.7 64-64 64zM448 384c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM176 256a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm76-48c0 9.7 6.9 17.7 16 19.6V276h-4c-11 0-20 9-20 20s9 20 20 20h24 24c11 0 20-9 20-20s-9-20-20-20h-4V208c0-11-9-20-20-20H272c-11 0-20 9-20 20z\"]\n};\nvar faMoneyBillAlt = faMoneyBill1;\nvar faLeftLong = {\n prefix: 'fas',\n iconName: 'left-long',\n icon: [512, 512, [\"long-arrow-alt-left\"], \"f30a\", \"M177.5 414c-8.8 3.8-19 2-26-4.6l-144-136C2.7 268.9 0 262.6 0 256s2.7-12.9 7.5-17.4l144-136c7-6.6 17.2-8.4 26-4.6s14.5 12.5 14.5 22l0 72 288 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-288 0 0 72c0 9.6-5.7 18.2-14.5 22z\"]\n};\nvar faLongArrowAltLeft = faLeftLong;\nvar faDna = {\n prefix: 'fas',\n iconName: 'dna',\n icon: [448, 512, [129516], \"f471\", \"M416 0c17.7 0 32 14.3 32 32c0 59.8-30.3 107.5-69.4 146.6c-28 28-62.5 53.5-97.3 77.4l-2.5 1.7c-11.9 8.1-23.8 16.1-35.5 23.9l0 0 0 0 0 0-1.6 1c-6 4-11.9 7.9-17.8 11.9c-20.9 14-40.8 27.7-59.3 41.5H283.3c-9.8-7.4-20.1-14.7-30.7-22.1l7-4.7 3-2c15.1-10.1 30.9-20.6 46.7-31.6c25 18.1 48.9 37.3 69.4 57.7C417.7 372.5 448 420.2 448 480c0 17.7-14.3 32-32 32s-32-14.3-32-32H64c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-59.8 30.3-107.5 69.4-146.6c28-28 62.5-53.5 97.3-77.4c-34.8-23.9-69.3-49.3-97.3-77.4C30.3 139.5 0 91.8 0 32C0 14.3 14.3 0 32 0S64 14.3 64 32H384c0-17.7 14.3-32 32-32zM338.6 384H109.4c-10.1 10.6-18.6 21.3-25.5 32H364.1c-6.8-10.7-15.3-21.4-25.5-32zM109.4 128H338.6c10.1-10.7 18.6-21.3 25.5-32H83.9c6.8 10.7 15.3 21.3 25.5 32zm55.4 48c18.4 13.8 38.4 27.5 59.3 41.5c20.9-14 40.8-27.7 59.3-41.5H164.7z\"]\n};\nvar faVirusSlash = {\n prefix: 'fas',\n iconName: 'virus-slash',\n icon: [640, 512, [], \"e075\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-154.3-121c-2-30.1 20.8-60.1 56-60.1H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H532.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C412.3 118.4 352 93.4 352 43.5V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 49.9-60.3 74.9-95.6 39.6L184.2 75c-12.5-12.5-32.8-12.5-45.3 0c-1.6 1.6-3.1 3.4-4.3 5.3L38.8 5.1zm225.8 177c6.9-3.9 14.9-6.1 23.4-6.1c26.5 0 48 21.5 48 48c0 4.4-.6 8.7-1.7 12.7l-69.7-54.6zM402 412.7L144.7 210c-9.5 8.5-22.2 14-37.2 14H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h11.5c49.9 0 74.9 60.3 39.6 95.6l-8.2 8.2c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-31.2 23.6-52.7 50-55.7z\"]\n};\nvar faMinus = {\n prefix: 'fas',\n iconName: 'minus',\n icon: [448, 512, [8211, 8722, 10134, \"subtract\"], \"f068\", \"M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z\"]\n};\nvar faSubtract = faMinus;\nvar faChess = {\n prefix: 'fas',\n iconName: 'chess',\n icon: [512, 512, [], \"f439\", \"M144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V96H60.2C49.1 96 40 105.1 40 116.2c0 2.5 .5 4.9 1.3 7.3L73.8 208H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h4L60 384H196L180 256h4c13.3 0 24-10.7 24-24s-10.7-24-24-24h-1.8l32.5-84.5c.9-2.3 1.3-4.8 1.3-7.3c0-11.2-9.1-20.2-20.2-20.2H144V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H144V16zM48 416L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H232c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L208 416H48zm288 0l-43.2 57.6c-3.1 4.2-4.8 9.2-4.8 14.4c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L464 416H336zM304 208v51.9c0 7.8 2.8 15.3 8 21.1L339.2 312 337 384H462.5l-3.3-72 28.3-30.8c5.4-5.9 8.5-13.6 8.5-21.7V208c0-8.8-7.2-16-16-16H464c-8.8 0-16 7.2-16 16v16H424V208c0-8.8-7.2-16-16-16H392c-8.8 0-16 7.2-16 16v16H352V208c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16zm80 96c0-8.8 7.2-16 16-16s16 7.2 16 16v32H384V304z\"]\n};\nvar faArrowLeftLong = {\n prefix: 'fas',\n iconName: 'arrow-left-long',\n icon: [512, 512, [\"long-arrow-left\"], \"f177\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288 480 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-370.7 0 73.4-73.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-128 128z\"]\n};\nvar faLongArrowLeft = faArrowLeftLong;\nvar faPlugCircleCheck = {\n prefix: 'fas',\n iconName: 'plug-circle-check',\n icon: [576, 512, [], \"e55c\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faStreetView = {\n prefix: 'fas',\n iconName: 'street-view',\n icon: [512, 512, [], \"f21d\", \"M320 64A64 64 0 1 0 192 64a64 64 0 1 0 128 0zm-96 96c-35.3 0-64 28.7-64 64v48c0 17.7 14.3 32 32 32h1.8l11.1 99.5c1.8 16.2 15.5 28.5 31.8 28.5h38.7c16.3 0 30-12.3 31.8-28.5L318.2 304H320c17.7 0 32-14.3 32-32V224c0-35.3-28.7-64-64-64H224zM132.3 394.2c13-2.4 21.7-14.9 19.3-27.9s-14.9-21.7-27.9-19.3c-32.4 5.9-60.9 14.2-82 24.8c-10.5 5.3-20.3 11.7-27.8 19.6C6.4 399.5 0 410.5 0 424c0 21.4 15.5 36.1 29.1 45c14.7 9.6 34.3 17.3 56.4 23.4C130.2 504.7 190.4 512 256 512s125.8-7.3 170.4-19.6c22.1-6.1 41.8-13.8 56.4-23.4c13.7-8.9 29.1-23.6 29.1-45c0-13.5-6.4-24.5-14-32.6c-7.5-7.9-17.3-14.3-27.8-19.6c-21-10.6-49.5-18.9-82-24.8c-13-2.4-25.5 6.3-27.9 19.3s6.3 25.5 19.3 27.9c30.2 5.5 53.7 12.8 69 20.5c3.2 1.6 5.8 3.1 7.9 4.5c3.6 2.4 3.6 7.2 0 9.6c-8.8 5.7-23.1 11.8-43 17.3C374.3 457 318.5 464 256 464s-118.3-7-157.7-17.9c-19.9-5.5-34.2-11.6-43-17.3c-3.6-2.4-3.6-7.2 0-9.6c2.1-1.4 4.8-2.9 7.9-4.5c15.3-7.7 38.8-14.9 69-20.5z\"]\n};\nvar faFrancSign = {\n prefix: 'fas',\n iconName: 'franc-sign',\n icon: [320, 512, [], \"e18f\", \"M80 32C62.3 32 48 46.3 48 64V224v96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48v64c0 17.7 14.3 32 32 32s32-14.3 32-32V384h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V256H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"]\n};\nvar faVolumeOff = {\n prefix: 'fas',\n iconName: 'volume-off',\n icon: [320, 512, [], \"f026\", \"M320 64c0-12.6-7.4-24-18.9-29.2s-25-3.1-34.4 5.3L131.8 160H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64h67.8L266.7 471.9c9.4 8.4 22.9 10.4 34.4 5.3S320 460.6 320 448V64z\"]\n};\nvar faHandsAslInterpreting = {\n prefix: 'fas',\n iconName: 'hands-asl-interpreting',\n icon: [640, 512, [\"american-sign-language-interpreting\", \"asl-interpreting\", \"hands-american-sign-language-interpreting\"], \"f2a3\", \"M156.6 46.3c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3L13.5 189.4C4.6 207.2 0 226.8 0 246.7V256c0 70.7 57.3 128 128 128h72 8v-.3c35.2-2.7 65.4-22.8 82.1-51.7c8.8-15.3 3.6-34.9-11.7-43.7s-34.9-3.6-43.7 11.7c-7 12-19.9 20-34.7 20c-22.1 0-40-17.9-40-40s17.9-40 40-40c14.8 0 27.7 8 34.7 20c8.8 15.3 28.4 20.5 43.7 11.7s20.5-28.4 11.7-43.7c-12.8-22.1-33.6-39.1-58.4-47.1l80.8-22c17-4.6 27.1-22.2 22.5-39.3s-22.2-27.1-39.3-22.5L194.9 124.6l81.6-68c13.6-11.3 15.4-31.5 4.1-45.1S249.1-3.9 235.5 7.4L133.6 92.3l23-46zM483.4 465.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l85.9-171.7c8.9-17.8 13.5-37.4 13.5-57.2V256c0-70.7-57.3-128-128-128H440h-8v.3c-35.2 2.7-65.4 22.8-82.1 51.7c-8.9 15.3-3.6 34.9 11.7 43.7s34.9 3.6 43.7-11.7c7-12 19.9-20 34.7-20c22.1 0 40 17.9 40 40s-17.9 40-40 40c-14.8 0-27.7-8-34.7-20c-8.9-15.3-28.4-20.5-43.7-11.7s-20.5 28.4-11.7 43.7c12.8 22.1 33.6 39.1 58.4 47.1l-80.8 22c-17.1 4.7-27.1 22.2-22.5 39.3s22.2 27.1 39.3 22.5l100.7-27.5-81.6 68c-13.6 11.3-15.4 31.5-4.1 45.1s31.5 15.4 45.1 4.1l101.9-84.9-23 46z\"]\n};\nvar faAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faAslInterpreting = faHandsAslInterpreting;\nvar faHandsAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faGear = {\n prefix: 'fas',\n iconName: 'gear',\n icon: [512, 512, [9881, \"cog\"], \"f013\", \"M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\"]\n};\nvar faCog = faGear;\nvar faDropletSlash = {\n prefix: 'fas',\n iconName: 'droplet-slash',\n icon: [640, 512, [\"tint-slash\"], \"f5c7\", \"M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.1 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTintSlash = faDropletSlash;\nvar faMosque = {\n prefix: 'fas',\n iconName: 'mosque',\n icon: [640, 512, [128332], \"f678\", \"M400 0c5 0 9.8 2.4 12.8 6.4c34.7 46.3 78.1 74.9 133.5 111.5l0 0 0 0c5.2 3.4 10.5 7 16 10.6c28.9 19.2 45.7 51.7 45.7 86.1c0 28.6-11.3 54.5-29.8 73.4H221.8c-18.4-19-29.8-44.9-29.8-73.4c0-34.4 16.7-66.9 45.7-86.1c5.4-3.6 10.8-7.1 16-10.6l0 0 0 0C309.1 81.3 352.5 52.7 387.2 6.4c3-4 7.8-6.4 12.8-6.4zM288 512V440c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H192c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H560V440c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H448V454c0-19-8.4-37-23-49.2L400 384l-25 20.8C360.4 417 352 435 352 454v58H288zM70.4 5.2c5.7-4.3 13.5-4.3 19.2 0l16 12C139.8 42.9 160 83.2 160 126v2H0v-2C0 83.2 20.2 42.9 54.4 17.2l16-12zM0 160H160V296.6c-19.1 11.1-32 31.7-32 55.4V480c0 9.6 2.1 18.6 5.8 26.8c-6.6 3.4-14 5.2-21.8 5.2H48c-26.5 0-48-21.5-48-48V176 160z\"]\n};\nvar faMosquito = {\n prefix: 'fas',\n iconName: 'mosquito',\n icon: [640, 512, [], \"e52b\", \"M463.7 505.9c9.8-8.9 10.7-24.3 2.1-34.3l-42.1-49 0-54.7c0-5.5-1.8-10.8-5.1-15.1L352 266.3l0-.3L485.4 387.8C542.4 447.6 640 405.2 640 320.6c0-47.9-34-88.3-79.4-94.2l-153-23.9 40.8-40.9c7.8-7.8 9.4-20.1 3.9-29.8L428.5 90.1l38.2-50.9c8-10.6 6.1-25.9-4.3-34.1s-25.2-6.3-33.2 4.4l-48 63.9c-5.9 7.9-6.6 18.6-1.7 27.2L402.2 140 352 190.3l0-38.2c0-14.9-10.2-27.4-24-31l0-57.2c0-4.4-3.6-8-8-8s-8 3.6-8 8l0 57.2c-13.8 3.6-24 16.1-24 31l0 38.1L237.8 140l22.6-39.5c4.9-8.6 4.2-19.3-1.7-27.2l-48-63.9c-8-10.6-22.8-12.6-33.2-4.4s-12.2 23.5-4.3 34.1l38.2 50.9-23.9 41.7c-5.5 9.7-3.9 22 3.9 29.8l40.8 40.9-153 23.9C34 232.3 0 272.7 0 320.6c0 84.6 97.6 127 154.6 67.1L288 266l0 .3-66.5 86.4c-3.3 4.3-5.1 9.6-5.1 15.1l0 54.7-42.1 49c-8.6 10.1-7.7 25.5 2.1 34.3s24.7 7.9 33.4-2.1l48-55.9c3.8-4.4 5.9-10.2 5.9-16.1l0-55.4L288 344.7l0 63.1c0 17.7 14.3 32 32 32s32-14.3 32-32l0-63.1 24.3 31.6 0 55.4c0 5.9 2.1 11.7 5.9 16.1l48 55.9c8.6 10.1 23.6 11 33.4 2.1z\"]\n};\nvar faStarOfDavid = {\n prefix: 'fas',\n iconName: 'star-of-david',\n icon: [512, 512, [10017], \"f69a\", \"M404.2 309.5L383.1 344h42.3l-21.1-34.5zM371.4 256l-54-88H194.6l-54 88 54 88H317.4l54-88zm65.7 0l53.4 87c3.6 5.9 5.5 12.7 5.5 19.6c0 20.7-16.8 37.4-37.4 37.4H348.7l-56.2 91.5C284.8 504.3 270.9 512 256 512s-28.8-7.7-36.6-20.5L163.3 400H53.4C32.8 400 16 383.2 16 362.6c0-6.9 1.9-13.7 5.5-19.6l53.4-87L21.5 169c-3.6-5.9-5.5-12.7-5.5-19.6C16 128.8 32.8 112 53.4 112H163.3l56.2-91.5C227.2 7.7 241.1 0 256 0s28.8 7.7 36.6 20.5L348.7 112H458.6c20.7 0 37.4 16.8 37.4 37.4c0 6.9-1.9 13.7-5.5 19.6l-53.4 87zm-54-88l21.1 34.5L425.4 168H383.1zM283 112L256 68l-27 44h54zM128.9 168H86.6l21.1 34.5L128.9 168zM107.8 309.5L86.6 344h42.3l-21.1-34.5zM229 400l27 44 27-44H229z\"]\n};\nvar faPersonMilitaryRifle = {\n prefix: 'fas',\n iconName: 'person-military-rifle',\n icon: [512, 512, [], \"e54b\", \"M160 39c0-13 10-23.8 22.9-24.9L334.7 1.4C344 .7 352 8 352 17.4V48c0 8.8-7.2 16-16 16H185c-13.8 0-25-11.2-25-25zm17.6 57H334.4c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-5.5 .6-10.8 1.6-16zm228 364.3L352 369.7V480c0 1.3-.1 2.5-.2 3.8L177.5 234.9c16.6-7.1 34.6-10.9 53.3-10.9h50.4c15.9 0 31.3 2.8 45.8 7.9L421.9 67.7c-7.7-4.4-10.3-14.2-5.9-21.9s14.2-10.3 21.9-5.9l13.9 8 13.9 8c7.7 4.4 10.3 14.2 5.9 21.9L416 173.9l1.6 .9c15.3 8.8 20.6 28.4 11.7 43.7L392.6 282c2 2.8 3.9 5.8 5.7 8.8l76.1 128.8c11.2 19 4.9 43.5-14.1 54.8s-43.5 4.9-54.8-14.1zM320 512H192c-17.7 0-32-14.3-32-32V369.7l-53.6 90.6c-11.2 19-35.8 25.3-54.8 14.1s-25.3-35.8-14.1-54.8l76.1-128.8c9.4-15.8 21.7-29.3 36-40L331.1 510c-3.5 1.3-7.2 2-11.1 2zM296 320a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCartShopping = {\n prefix: 'fas',\n iconName: 'cart-shopping',\n icon: [576, 512, [128722, \"shopping-cart\"], \"f07a\", \"M0 24C0 10.7 10.7 0 24 0H69.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faShoppingCart = faCartShopping;\nvar faVials = {\n prefix: 'fas',\n iconName: 'vials',\n icon: [512, 512, [], \"f493\", \"M0 64C0 46.3 14.3 32 32 32H88h48 56c17.7 0 32 14.3 32 32s-14.3 32-32 32V400c0 44.2-35.8 80-80 80s-80-35.8-80-80V96C14.3 96 0 81.7 0 64zM136 96H88V256h48V96zM288 64c0-17.7 14.3-32 32-32h56 48 56c17.7 0 32 14.3 32 32s-14.3 32-32 32V400c0 44.2-35.8 80-80 80s-80-35.8-80-80V96c-17.7 0-32-14.3-32-32zM424 96H376V256h48V96z\"]\n};\nvar faPlugCirclePlus = {\n prefix: 'fas',\n iconName: 'plug-circle-plus',\n icon: [576, 512, [], \"e55f\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faPlaceOfWorship = {\n prefix: 'fas',\n iconName: 'place-of-worship',\n icon: [640, 512, [], \"f67f\", \"M224 109.3V217.6L183.3 242c-14.5 8.7-23.3 24.3-23.3 41.2V512h96V416c0-35.3 28.7-64 64-64s64 28.7 64 64v96h96V283.2c0-16.9-8.8-32.5-23.3-41.2L416 217.6V109.3c0-8.5-3.4-16.6-9.4-22.6L331.3 11.3c-6.2-6.2-16.4-6.2-22.6 0L233.4 86.6c-6 6-9.4 14.1-9.4 22.6zM24.9 330.3C9.5 338.8 0 354.9 0 372.4V464c0 26.5 21.5 48 48 48h80V273.6L24.9 330.3zM592 512c26.5 0 48-21.5 48-48V372.4c0-17.5-9.5-33.6-24.9-42.1L512 273.6V512h80z\"]\n};\nvar faGripVertical = {\n prefix: 'fas',\n iconName: 'grip-vertical',\n icon: [320, 512, [], \"f58e\", \"M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 320c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 192l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 160c-22.1 0-40-17.9-40-40L0 72C0 49.9 17.9 32 40 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z\"]\n};\nvar faArrowTurnUp = {\n prefix: 'fas',\n iconName: 'arrow-turn-up',\n icon: [384, 512, [\"level-up\"], \"f148\", \"M32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c53 0 96-43 96-96l0-306.7 73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3 160 416c0 17.7-14.3 32-32 32l-96 0z\"]\n};\nvar faLevelUp = faArrowTurnUp;\nvar faU = {\n prefix: 'fas',\n iconName: 'u',\n icon: [384, 512, [117], \"55\", \"M32 32c17.7 0 32 14.3 32 32V288c0 70.7 57.3 128 128 128s128-57.3 128-128V64c0-17.7 14.3-32 32-32s32 14.3 32 32V288c0 106-86 192-192 192S0 394 0 288V64C0 46.3 14.3 32 32 32z\"]\n};\nvar faSquareRootVariable = {\n prefix: 'fas',\n iconName: 'square-root-variable',\n icon: [576, 512, [\"square-root-alt\"], \"f698\", \"M282.6 78.1c8-27.3 33-46.1 61.4-46.1H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H344L238.7 457c-3.6 12.3-14.1 21.2-26.8 22.8s-25.1-4.6-31.5-15.6L77.6 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H77.6c22.8 0 43.8 12.1 55.3 31.8l65.2 111.8L282.6 78.1zM393.4 233.4c12.5-12.5 32.8-12.5 45.3 0L480 274.7l41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 320l41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L480 365.3l-41.4 41.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 320l-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nvar faSquareRootAlt = faSquareRootVariable;\nvar faClock = {\n prefix: 'fas',\n iconName: 'clock',\n icon: [512, 512, [128339, \"clock-four\"], \"f017\", \"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faClockFour = faClock;\nvar faBackwardStep = {\n prefix: 'fas',\n iconName: 'backward-step',\n icon: [320, 512, [\"step-backward\"], \"f048\", \"M267.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160L64 241V96c0-17.7-14.3-32-32-32S0 78.3 0 96V416c0 17.7 14.3 32 32 32s32-14.3 32-32V271l11.5 9.6 192 160z\"]\n};\nvar faStepBackward = faBackwardStep;\nvar faPallet = {\n prefix: 'fas',\n iconName: 'pallet',\n icon: [640, 512, [], \"f482\", \"M32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96 320 544h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H576V384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H544 320 96 32zm96 64H288v64H128V384zm224 0H512v64H352V384z\"]\n};\nvar faFaucet = {\n prefix: 'fas',\n iconName: 'faucet',\n icon: [512, 512, [], \"e005\", \"M192 96v12L96 96c-17.7 0-32 14.3-32 32s14.3 32 32 32l96-12 31-3.9 1-.1 1 .1 31 3.9 96 12c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 12V96c0-17.7-14.3-32-32-32s-32 14.3-32 32zM32 256c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H132.1c20.2 29 53.9 48 91.9 48s71.7-19 91.9-48H352c17.7 0 32 14.3 32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32c0-88.4-71.6-160-160-160H320l-22.6-22.6c-6-6-14.1-9.4-22.6-9.4H256V180.2l-32-4-32 4V224H173.3c-8.5 0-16.6 3.4-22.6 9.4L128 256H32z\"]\n};\nvar faBaseballBatBall = {\n prefix: 'fas',\n iconName: 'baseball-bat-ball',\n icon: [512, 512, [], \"f432\", \"M424 0c-12.4 0-24.2 4.9-33 13.7L233.5 171.2c-10.5 10.5-19.8 22.1-27.7 34.6L132.7 321.6c-7.3 11.5-15.8 22.2-25.5 31.9L69.9 390.7l51.3 51.3 37.3-37.3c9.6-9.6 20.3-18.2 31.9-25.5l115.8-73.1c12.5-7.9 24.1-17.2 34.6-27.7L498.3 121c8.7-8.7 13.7-20.6 13.7-33s-4.9-24.2-13.7-33L457 13.7C448.2 4.9 436.4 0 424 0zm88 432a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM15 399c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L49 399c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faS = {\n prefix: 'fas',\n iconName: 's',\n icon: [320, 512, [115], \"53\", \"M99.1 105.4C79 114 68.2 127.2 65.2 144.8c-2.4 14.1-.7 23.2 2 29.4c2.8 6.3 7.9 12.4 16.7 18.6c19.2 13.4 48.3 22.1 84.9 32.5c1 .3 1.9 .6 2.9 .8c32.7 9.3 72 20.6 100.9 40.7c15.7 10.9 29.9 25.5 38.6 45.1c8.8 19.8 10.8 42 6.6 66.3c-7.3 42.5-35.3 71.7-71.8 87.3c-35.4 15.2-79.1 17.9-123.7 10.9l-.2 0 0 0c-24-3.9-62.7-17.1-87.6-25.6c-4.8-1.7-9.2-3.1-12.8-4.3C5.1 440.8-3.9 422.7 1.6 405.9s23.7-25.8 40.5-20.3c4.9 1.6 10.2 3.4 15.9 5.4c25.4 8.6 56.4 19.2 74.4 22.1c36.8 5.7 67.5 2.5 88.5-6.5c20.1-8.6 30.8-21.8 33.9-39.4c2.4-14.1 .7-23.2-2-29.4c-2.8-6.3-7.9-12.4-16.7-18.6c-19.2-13.4-48.3-22.1-84.9-32.5c-1-.3-1.9-.6-2.9-.8c-32.7-9.3-72-20.6-100.9-40.7c-15.7-10.9-29.9-25.5-38.6-45.1c-8.8-19.8-10.8-42-6.6-66.3l31.5 5.5L2.1 133.9C9.4 91.4 37.4 62.2 73.9 46.6c35.4-15.2 79.1-17.9 123.7-10.9c13 2 52.4 9.6 66.6 13.4c17.1 4.5 27.2 22.1 22.7 39.2s-22.1 27.2-39.2 22.7c-11.2-3-48.1-10.2-60.1-12l4.9-31.5-4.9 31.5c-36.9-5.8-67.5-2.5-88.6 6.5z\"]\n};\nvar faTimeline = {\n prefix: 'fas',\n iconName: 'timeline',\n icon: [640, 512, [], \"e29c\", \"M128 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm32 97.3c28.3-12.3 48-40.5 48-73.3c0-44.2-35.8-80-80-80S48 51.8 48 96c0 32.8 19.7 61 48 73.3V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H288v54.7c-28.3 12.3-48 40.5-48 73.3c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3V288H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H544V169.3c28.3-12.3 48-40.5 48-73.3c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 32.8 19.7 61 48 73.3V224H160V169.3zM488 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM320 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faKeyboard = {\n prefix: 'fas',\n iconName: 'keyboard',\n icon: [576, 512, [9000], \"f11c\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm16 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM160 336c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V336zM272 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM256 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM368 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM352 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V240zM464 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM448 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16z\"]\n};\nvar faCaretDown = {\n prefix: 'fas',\n iconName: 'caret-down',\n icon: [320, 512, [], \"f0d7\", \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\"]\n};\nvar faHouseChimneyMedical = {\n prefix: 'fas',\n iconName: 'house-chimney-medical',\n icon: [576, 512, [\"clinic-medical\"], \"f7f2\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185l52.8 46.4c8 7 12 15 11 24zM272 192c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H320V208c0-8.8-7.2-16-16-16H272z\"]\n};\nvar faClinicMedical = faHouseChimneyMedical;\nvar faTemperatureThreeQuarters = {\n prefix: 'fas',\n iconName: 'temperature-three-quarters',\n icon: [320, 512, [\"temperature-3\", \"thermometer-3\", \"thermometer-three-quarters\"], \"f2c8\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V144c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature3 = faTemperatureThreeQuarters;\nvar faThermometer3 = faTemperatureThreeQuarters;\nvar faThermometerThreeQuarters = faTemperatureThreeQuarters;\nvar faMobileScreen = {\n prefix: 'fas',\n iconName: 'mobile-screen',\n icon: [384, 512, [\"mobile-android-alt\"], \"f3cf\", \"M16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM144 448c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160c-8.8 0-16 7.2-16 16zM304 64H80V384H304V64z\"]\n};\nvar faMobileAndroidAlt = faMobileScreen;\nvar faPlaneUp = {\n prefix: 'fas',\n iconName: 'plane-up',\n icon: [512, 512, [], \"e22d\", \"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7l0 66.3L497.8 278.5c8.9 5.9 14.2 15.9 14.2 26.6v56.7c0 10.9-10.7 18.6-21.1 15.2L320 320v80l57.6 43.2c4 3 6.4 7.8 6.4 12.8v42c0 7.8-6.3 14-14 14c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14V456c0-5 2.4-9.8 6.4-12.8L192 400V320L21.1 377C10.7 380.4 0 372.7 0 361.8V305.1c0-10.7 5.3-20.7 14.2-26.6L192 160V93.7z\"]\n};\nvar faPiggyBank = {\n prefix: 'fas',\n iconName: 'piggy-bank',\n icon: [576, 512, [], \"f4d3\", \"M400 96l0 .7c-5.3-.4-10.6-.7-16-.7H256c-16.5 0-32.5 2.1-47.8 6c-.1-2-.2-4-.2-6c0-53 43-96 96-96s96 43 96 96zm-16 32c3.5 0 7 .1 10.4 .3c4.2 .3 8.4 .7 12.6 1.3C424.6 109.1 450.8 96 480 96h11.5c10.4 0 18 9.8 15.5 19.9l-13.8 55.2c15.8 14.8 28.7 32.8 37.5 52.9H544c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H512c-9.1 12.1-19.9 22.9-32 32v64c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H256v32c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V416c-34.9-26.2-58.7-66.3-63.2-112H68c-37.6 0-68-30.4-68-68s30.4-68 68-68h4c13.3 0 24 10.7 24 24s-10.7 24-24 24H68c-11 0-20 9-20 20s9 20 20 20H99.2c12.1-59.8 57.7-107.5 116.3-122.8c12.9-3.4 26.5-5.2 40.5-5.2H384zm64 136a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faBatteryHalf = {\n prefix: 'fas',\n iconName: 'battery-half',\n icon: [576, 512, [\"battery-3\"], \"f242\", \"M464 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm208 96H96V320H288V192z\"]\n};\nvar faBattery3 = faBatteryHalf;\nvar faMountainCity = {\n prefix: 'fas',\n iconName: 'mountain-city',\n icon: [640, 512, [], \"e52e\", \"M336 0c-26.5 0-48 21.5-48 48v92.1l71.4 118.4c2.5-1.6 5.4-2.5 8.6-2.5h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-3.5l73.8 122.4c12.4 20.6 12.9 46.3 1.2 67.3c-.4 .8-.9 1.6-1.4 2.3H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H568V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H480V48c0-26.5-21.5-48-48-48H336zm32 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM352 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V176zm160 96c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V272zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zM224 188.9L283.8 288H223l-48 64-24.6-41.2L224 188.9zm29.4-44.2C247.1 134.3 236 128 224 128s-23.1 6.3-29.4 16.7L5.1 458.9c-6.5 10.8-6.7 24.3-.7 35.3S22 512 34.5 512H413.5c12.5 0 24-6.8 30.1-17.8s5.8-24.5-.7-35.3L253.4 144.7z\"]\n};\nvar faCoins = {\n prefix: 'fas',\n iconName: 'coins',\n icon: [512, 512, [], \"f51e\", \"M512 80c0 18-14.3 34.6-38.4 48c-29.1 16.1-72.5 27.5-122.3 30.9c-3.7-1.8-7.4-3.5-11.3-5C300.6 137.4 248.2 128 192 128c-8.3 0-16.4 .2-24.5 .6l-1.1-.6C142.3 114.6 128 98 128 80c0-44.2 86-80 192-80S512 35.8 512 80zM160.7 161.1c10.2-.7 20.7-1.1 31.3-1.1c62.2 0 117.4 12.3 152.5 31.4C369.3 204.9 384 221.7 384 240c0 4-.7 7.9-2.1 11.7c-4.6 13.2-17 25.3-35 35.5c0 0 0 0 0 0c-.1 .1-.3 .1-.4 .2l0 0 0 0c-.3 .2-.6 .3-.9 .5c-35 19.4-90.8 32-153.6 32c-59.6 0-112.9-11.3-148.2-29.1c-1.9-.9-3.7-1.9-5.5-2.9C14.3 274.6 0 258 0 240c0-34.8 53.4-64.5 128-75.4c10.5-1.5 21.4-2.7 32.7-3.5zM416 240c0-21.9-10.6-39.9-24.1-53.4c28.3-4.4 54.2-11.4 76.2-20.5c16.3-6.8 31.5-15.2 43.9-25.5V176c0 19.3-16.5 37.1-43.8 50.9c-14.6 7.4-32.4 13.7-52.4 18.5c.1-1.8 .2-3.5 .2-5.3zm-32 96c0 18-14.3 34.6-38.4 48c-1.8 1-3.6 1.9-5.5 2.9C304.9 404.7 251.6 416 192 416c-62.8 0-118.6-12.6-153.6-32C14.3 370.6 0 354 0 336V300.6c12.5 10.3 27.6 18.7 43.9 25.5C83.4 342.6 135.8 352 192 352s108.6-9.4 148.1-25.9c7.8-3.2 15.3-6.9 22.4-10.9c6.1-3.4 11.8-7.2 17.2-11.2c1.5-1.1 2.9-2.3 4.3-3.4V304v5.7V336zm32 0V304 278.1c19-4.2 36.5-9.5 52.1-16c16.3-6.8 31.5-15.2 43.9-25.5V272c0 10.5-5 21-14.9 30.9c-16.3 16.3-45 29.7-81.3 38.4c.1-1.7 .2-3.5 .2-5.3zM192 448c56.2 0 108.6-9.4 148.1-25.9c16.3-6.8 31.5-15.2 43.9-25.5V432c0 44.2-86 80-192 80S0 476.2 0 432V396.6c12.5 10.3 27.6 18.7 43.9 25.5C83.4 438.6 135.8 448 192 448z\"]\n};\nvar faKhanda = {\n prefix: 'fas',\n iconName: 'khanda',\n icon: [512, 512, [9772], \"f66d\", \"M245.8 3.7c5.9-4.9 14.6-4.9 20.5 0l48 40c5.9 4.9 7.5 13.2 3.8 19.9l0 0 0 0 0 0 0 0-.1 .1-.3 .6c-.3 .5-.7 1.3-1.2 2.3c-1 2-2.6 5-4.4 8.6c-.5 .9-.9 1.9-1.4 2.9C344.9 97.4 368 134 368 176s-23.1 78.6-57.3 97.8c.5 1 1 2 1.4 2.9c1.8 3.7 3.3 6.6 4.4 8.6c.5 1 .9 1.8 1.2 2.3l.3 .6 .1 .1 0 0 0 0c3.6 6.7 2 15-3.8 19.9L272 343.5v19.8l35.6-24.5 41.1-28.2c42.8-29.4 68.4-78 68.4-130c0-31.1-9.2-61.6-26.5-87.5l-2.8-4.2c-4-6-3.5-14 1.3-19.5s12.7-7 19.2-3.7L401.1 80c7.2-14.3 7.2-14.3 7.2-14.3l0 0 0 0 .1 0 .3 .2 1 .5c.8 .4 2 1.1 3.5 1.9c2.9 1.7 7 4.1 11.8 7.3c9.6 6.4 22.5 16.1 35.4 29c25.7 25.7 52.7 65.6 52.7 119.3c0 53.1-26.4 100.5-51.2 133.6c-12.6 16.7-25.1 30.3-34.5 39.7c-4.7 4.7-8.7 8.4-11.5 10.9c-1.4 1.3-2.5 2.2-3.3 2.9l-.9 .8-.3 .2-.1 .1 0 0 0 0s0 0-10.2-12.3l10.2 12.3c-5.1 4.3-12.4 4.9-18.2 1.6l-75.6-43-32.7 22.5 45.5 31.3c1.8-.4 3.7-.7 5.7-.7c13.3 0 24 10.7 24 24s-10.7 24-24 24c-12.2 0-22.3-9.1-23.8-21L272 423.4v28.9c9.6 5.5 16 15.9 16 27.7c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-11.8 6.4-22.2 16-27.7V424.1l-40.3 27.7C197.8 463.3 187.9 472 176 472c-13.3 0-24-10.7-24-24s10.7-24 24-24c2.2 0 4.4 .3 6.5 .9l45.8-31.5-32.7-22.5-75.6 43c-5.8 3.3-13 2.7-18.2-1.6L112 400c-10.2 12.3-10.2 12.3-10.3 12.3l0 0 0 0-.1-.1-.3-.2-.9-.8c-.8-.7-1.9-1.7-3.3-2.9c-2.8-2.5-6.7-6.2-11.5-10.9c-9.4-9.4-21.9-23-34.5-39.7C26.4 324.5 0 277.1 0 224c0-53.7 26.9-93.6 52.7-119.3c12.9-12.9 25.8-22.6 35.4-29C93 72.5 97 70 99.9 68.4c1.5-.8 2.6-1.5 3.5-1.9l1-.5 .3-.2 .1 0 0 0 0 0s0 0 7.2 14.3l-7.2-14.3c6.5-3.2 14.3-1.7 19.2 3.7s5.3 13.4 1.3 19.5l-2.8 4.2C105.2 119 96 149.5 96 180.6c0 51.9 25.6 100.6 68.4 130l41.1 28.2L240 362.6V343.5l-42.2-35.2c-5.9-4.9-7.5-13.2-3.8-19.9l0 0 0 0 0 0 .1-.1 .3-.6c.3-.5 .7-1.3 1.2-2.3c1-2 2.6-5 4.4-8.6c.5-.9 .9-1.9 1.4-2.9C167.1 254.6 144 218 144 176s23.1-78.6 57.3-97.8c-.5-1-1-2-1.4-2.9c-1.8-3.7-3.3-6.6-4.4-8.6c-.5-1-.9-1.8-1.2-2.3l-.3-.6-.1-.1 0 0 0 0 0 0c-3.6-6.7-2-15 3.8-19.9l48-40zM220.2 122.9c-17 11.5-28.2 31-28.2 53.1s11.2 41.6 28.2 53.1C227 210.2 232 190.9 232 176s-5-34.2-11.8-53.1zm71.5 106.2c17-11.5 28.2-31 28.2-53.1s-11.2-41.6-28.2-53.1C285 141.8 280 161.1 280 176s5 34.2 11.8 53.1z\"]\n};\nvar faSliders = {\n prefix: 'fas',\n iconName: 'sliders',\n icon: [512, 512, [\"sliders-h\"], \"f1de\", \"M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z\"]\n};\nvar faSlidersH = faSliders;\nvar faFolderTree = {\n prefix: 'fas',\n iconName: 'folder-tree',\n icon: [576, 512, [], \"f802\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32v96V384c0 35.3 28.7 64 64 64H256V384H64V160H256V96H64V32zM288 192c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H445.3c-8.5 0-16.6-3.4-22.6-9.4L409.4 9.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192zm0 288c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H445.3c-8.5 0-16.6-3.4-22.6-9.4l-13.3-13.3c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V480z\"]\n};\nvar faNetworkWired = {\n prefix: 'fas',\n iconName: 'network-wired',\n icon: [640, 512, [], \"f6ff\", \"M256 64H384v64H256V64zM240 0c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h48v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96v32H80c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H192V288H448v32H400c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H512V288h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V192h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H240zM96 448V384H224v64H96zm320-64H544v64H416V384z\"]\n};\nvar faMapPin = {\n prefix: 'fas',\n iconName: 'map-pin',\n icon: [320, 512, [128205], \"f276\", \"M16 144a144 144 0 1 1 288 0A144 144 0 1 1 16 144zM160 80c8.8 0 16-7.2 16-16s-7.2-16-16-16c-53 0-96 43-96 96c0 8.8 7.2 16 16 16s16-7.2 16-16c0-35.3 28.7-64 64-64zM128 480V317.1c10.4 1.9 21.1 2.9 32 2.9s21.6-1 32-2.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]\n};\nvar faHamsa = {\n prefix: 'fas',\n iconName: 'hamsa',\n icon: [512, 512, [], \"f665\", \"M34.6 288H80c8.8 0 16-7.2 16-16V72c0-22.1 17.9-40 40-40s40 17.9 40 40V204c0 11 9 20 20 20s20-9 20-20V40c0-22.1 17.9-40 40-40s40 17.9 40 40V204c0 11 9 20 20 20s20-9 20-20V72c0-22.1 17.9-40 40-40s40 17.9 40 40V272c0 8.8 7.2 16 16 16h45.4c19.1 0 34.6 15.5 34.6 34.6c0 8.6-3.2 16.9-9 23.3L416.6 441c-41.1 45.2-99.4 71-160.6 71s-119.4-25.8-160.6-71L9 345.9c-5.8-6.4-9-14.7-9-23.3C0 303.5 15.5 288 34.6 288zM256 288c-38.4 0-76.8 35.8-90.6 50.2c-3.6 3.7-5.4 8.7-5.4 13.8s1.8 10.1 5.4 13.8C179.2 380.2 217.6 416 256 416s76.8-35.8 90.6-50.2c3.6-3.7 5.4-8.7 5.4-13.8s-1.8-10.1-5.4-13.8C332.8 323.8 294.4 288 256 288zm0 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCentSign = {\n prefix: 'fas',\n iconName: 'cent-sign',\n icon: [384, 512, [], \"e3f5\", \"M224 0c17.7 0 32 14.3 32 32V66.7c30.9 5.2 59.2 17.7 83.2 35.8c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4C279.4 137.5 252.9 128 224 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c28.9 0 55.4-9.5 76.8-25.6c14.1-10.6 34.2-7.8 44.8 6.4s7.8 34.2-6.4 44.8c-24 18-52.4 30.6-83.2 35.8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.3C101.2 430.1 32 351.1 32 256s69.2-174.1 160-189.3V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faFlask = {\n prefix: 'fas',\n iconName: 'flask',\n icon: [448, 512, [], \"f0c3\", \"M288 0H160 128C110.3 0 96 14.3 96 32s14.3 32 32 32V196.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6C0 480.9 31.1 512 69.4 512H378.6c38.3 0 69.4-31.1 69.4-69.4c0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288zM192 196.8V64h64V196.8c0 23.7 6.6 46.9 19 67.1L309.5 320h-171L173 263.9c12.4-20.2 19-43.4 19-67.1z\"]\n};\nvar faPersonPregnant = {\n prefix: 'fas',\n iconName: 'person-pregnant',\n icon: [384, 512, [], \"e31e\", \"M192 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM120 383c-13.8-3.6-24-16.1-24-31V296.9l-4.6 7.6c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c15-24.9 40.3-41.5 68.7-45.6c4.1-.6 8.2-1 12.5-1h1.1 12.5H192c1.4 0 2.8 .1 4.1 .3c35.7 2.9 65.4 29.3 72.1 65l6.1 32.5c44.3 8.6 77.7 47.5 77.7 94.3v32c0 17.7-14.3 32-32 32H304 264v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384h-8-8v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V383z\"]\n};\nvar faWandSparkles = {\n prefix: 'fas',\n iconName: 'wand-sparkles',\n icon: [512, 512, [], \"f72b\", \"M464 6.1c9.5-8.5 24-8.1 33 .9l8 8c9 9 9.4 23.5 .9 33l-85.8 95.9c-2.6 2.9-4.1 6.7-4.1 10.7V176c0 8.8-7.2 16-16 16H384.2c-4.6 0-8.9 1.9-11.9 5.3L100.7 500.9C94.3 508 85.3 512 75.8 512c-8.8 0-17.3-3.5-23.5-9.8L9.7 459.7C3.5 453.4 0 445 0 436.2c0-9.5 4-18.5 11.1-24.8l111.6-99.8c3.4-3 5.3-7.4 5.3-11.9V272c0-8.8 7.2-16 16-16h34.6c3.9 0 7.7-1.5 10.7-4.1L464 6.1zM432 288c3.6 0 6.7 2.4 7.7 5.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8-14.8 51.7c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8l-14.8-51.7-51.7-14.8c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8 14.8-51.7c1-3.4 4.1-5.8 7.7-5.8zM87.7 69.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8L87.7 218.2c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8L57.5 166.5 5.8 151.7c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8L72.3 69.8c1-3.4 4.1-5.8 7.7-5.8s6.7 2.4 7.7 5.8zM208 0c3.7 0 6.9 2.5 7.8 6.1l6.8 27.3 27.3 6.8c3.6 .9 6.1 4.1 6.1 7.8s-2.5 6.9-6.1 7.8l-27.3 6.8-6.8 27.3c-.9 3.6-4.1 6.1-7.8 6.1s-6.9-2.5-7.8-6.1l-6.8-27.3-27.3-6.8c-3.6-.9-6.1-4.1-6.1-7.8s2.5-6.9 6.1-7.8l27.3-6.8 6.8-27.3c.9-3.6 4.1-6.1 7.8-6.1z\"]\n};\nvar faEllipsisVertical = {\n prefix: 'fas',\n iconName: 'ellipsis-vertical',\n icon: [128, 512, [\"ellipsis-v\"], \"f142\", \"M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z\"]\n};\nvar faEllipsisV = faEllipsisVertical;\nvar faTicket = {\n prefix: 'fas',\n iconName: 'ticket',\n icon: [576, 512, [127903], \"f145\", \"M64 64C28.7 64 0 92.7 0 128v64c0 8.8 7.4 15.7 15.7 18.6C34.5 217.1 48 235 48 256s-13.5 38.9-32.3 45.4C7.4 304.3 0 311.2 0 320v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V320c0-8.8-7.4-15.7-15.7-18.6C541.5 294.9 528 277 528 256s13.5-38.9 32.3-45.4c8.3-2.9 15.7-9.8 15.7-18.6V128c0-35.3-28.7-64-64-64H64zm64 112l0 160c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM96 160c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V160z\"]\n};\nvar faPowerOff = {\n prefix: 'fas',\n iconName: 'power-off',\n icon: [512, 512, [9211], \"f011\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V256c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM143.5 120.6c13.6-11.3 15.4-31.5 4.1-45.1s-31.5-15.4-45.1-4.1C49.7 115.4 16 181.8 16 256c0 132.5 107.5 240 240 240s240-107.5 240-240c0-74.2-33.8-140.6-86.6-184.6c-13.6-11.3-33.8-9.4-45.1 4.1s-9.4 33.8 4.1 45.1c38.9 32.3 63.5 81 63.5 135.4c0 97.2-78.8 176-176 176s-176-78.8-176-176c0-54.4 24.7-103.1 63.5-135.4z\"]\n};\nvar faRightLong = {\n prefix: 'fas',\n iconName: 'right-long',\n icon: [512, 512, [\"long-arrow-alt-right\"], \"f30b\", \"M334.5 414c8.8 3.8 19 2 26-4.6l144-136c4.8-4.5 7.5-10.8 7.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6s-14.5 12.5-14.5 22l0 72L32 192c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l288 0 0 72c0 9.6 5.7 18.2 14.5 22z\"]\n};\nvar faLongArrowAltRight = faRightLong;\nvar faFlagUsa = {\n prefix: 'fas',\n iconName: 'flag-usa',\n icon: [448, 512, [], \"f74d\", \"M32 0C49.7 0 64 14.3 64 32V48l69-17.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1v36.1l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-20.3-9-41.8-14.7-63.6-16.9v32.2c17.4 2.1 34.4 6.7 50.6 13.9l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 136.3v62l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-40.2-17.9-85-22.5-128.1-13.3L64 203.1v32.7l70.2-15.1c36.4-7.8 74.3-3.9 108.4 11.3l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 232.3v62l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-40.2-17.9-85-22.5-128.1-13.3L64 299.1v32.7l70.2-15.1c36.4-7.8 74.3-3.9 108.4 11.3l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 328.3v33.5c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.3-23.7-122.5-13.4L64 400v80c0 17.7-14.3 32-32 32s-32-14.3-32-32V416 345.5 312.8 249.5 216.8 153.5 120.8 64 32C0 14.3 14.3 0 32 0zm80 96A16 16 0 1 0 80 96a16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-32 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faLaptopFile = {\n prefix: 'fas',\n iconName: 'laptop-file',\n icon: [640, 512, [], \"e51d\", \"M128 0C92.7 0 64 28.7 64 64V288H19.2C8.6 288 0 296.6 0 307.2C0 349.6 34.4 384 76.8 384H320V288H128V64H448V96h64V64c0-35.3-28.7-64-64-64H128zM512 128H400c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V256H544c-17.7 0-32-14.3-32-32V128zm32 0v96h96l-96-96z\"]\n};\nvar faTty = {\n prefix: 'fas',\n iconName: 'tty',\n icon: [512, 512, [\"teletype\"], \"f1e4\", \"M38.3 241.3L15.1 200.6c-9.2-16.2-8.4-36.5 4.5-50C61.4 106.8 144.7 48 256 48s194.6 58.8 236.4 102.6c12.9 13.5 13.7 33.8 4.5 50l-23.1 40.7c-7.5 13.2-23.3 19.3-37.8 14.6l-81.1-26.6c-13.1-4.3-22-16.6-22-30.4V144c-49.6-18.1-104-18.1-153.6 0v54.8c0 13.8-8.9 26.1-22 30.4L76.1 255.8c-14.5 4.7-30.3-1.4-37.8-14.6zM32 336c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V336zm0 96c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V432zM144 320h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V336zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V336zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16zM128 432c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V432z\"]\n};\nvar faTeletype = faTty;\nvar faDiagramNext = {\n prefix: 'fas',\n iconName: 'diagram-next',\n icon: [512, 512, [], \"e476\", \"M512 160c0 35.3-28.7 64-64 64H280v64h46.1c21.4 0 32.1 25.9 17 41L273 399c-9.4 9.4-24.6 9.4-33.9 0L169 329c-15.1-15.1-4.4-41 17-41H232V224H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64v64zM448 416V352H365.3l.4-.4c18.4-18.4 20.4-43.7 11-63.6l71.3 0c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64l71.3 0c-9.4 19.9-7.4 45.2 11 63.6l.4 .4H64v64H210.7l5.7 5.7c21.9 21.9 57.3 21.9 79.2 0l5.7-5.7H448z\"]\n};\nvar faPersonRifle = {\n prefix: 'fas',\n iconName: 'person-rifle',\n icon: [576, 512, [], \"e54e\", \"M265.2 192c25.4 0 49.8 7.1 70.8 19.9V512H144V337.7L90.4 428.3c-11.2 19-35.8 25.3-54.8 14.1s-25.3-35.8-14.1-54.8L97.7 258.8c24.5-41.4 69-66.8 117.1-66.8h50.4zM160 80a80 80 0 1 1 160 0A80 80 0 1 1 160 80zM448 0c8.8 0 16 7.2 16 16V132.3c9.6 5.5 16 15.9 16 27.7V269.3l16-5.3V208c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v84.5c0 6.9-4.4 13-10.9 15.2L480 325.3V352h48c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H484l23 92.1c2.5 10.1-5.1 19.9-15.5 19.9H432c-8.8 0-16-7.2-16-16V400H400c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32V160c0-11.8 6.4-22.2 16-27.7V32c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 16z\"]\n};\nvar faHouseMedicalCircleExclamation = {\n prefix: 'fas',\n iconName: 'house-medical-circle-exclamation',\n icon: [640, 512, [], \"e512\", \"M320 368c0 59.5 29.5 112.1 74.8 144H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64H320V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'fas',\n iconName: 'closed-captioning',\n icon: [576, 512, [], \"f20a\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM200 208c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48s21.5-48 48-48zm144 48c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z\"]\n};\nvar faPersonHiking = {\n prefix: 'fas',\n iconName: 'person-hiking',\n icon: [384, 512, [\"hiking\"], \"f6ec\", \"M192 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm51.3 182.7L224.2 307l49.7 49.7c9 9 14.1 21.2 14.1 33.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3l-73.9-73.9c-15.8-15.8-22.2-38.6-16.9-60.3l20.4-84c8.3-34.1 42.7-54.9 76.7-46.4c19 4.8 35.6 16.4 46.4 32.7L305.1 208H336V184c0-13.3 10.7-24 24-24s24 10.7 24 24v55.8c0 .1 0 .2 0 .2s0 .2 0 .2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V272H296.6c-16 0-31-8-39.9-21.4l-13.3-20zM81.1 471.9L117.3 334c3 4.2 6.4 8.2 10.1 11.9l41.9 41.9L142.9 488.1c-4.5 17.1-22 27.3-39.1 22.8s-27.3-22-22.8-39.1zm55.5-346L101.4 266.5c-3 12.1-14.9 19.9-27.2 17.9l-47.9-8c-14-2.3-22.9-16.3-19.2-30L31.9 155c9.5-34.8 41.1-59 77.2-59h4.2c15.6 0 27.1 14.7 23.3 29.8z\"]\n};\nvar faHiking = faPersonHiking;\nvar faVenusDouble = {\n prefix: 'fas',\n iconName: 'venus-double',\n icon: [640, 512, [9890], \"f226\", \"M192 288a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM368 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H224v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1C78.1 334.1 16 262.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176zM344 318c14.6-15.6 26.8-33.4 36-53c18.8 14.4 42.4 23 68 23c61.9 0 112-50.1 112-112s-50.1-112-112-112c-25.6 0-49.1 8.6-68 23c-9.3-19.5-21.5-37.4-36-53C373.1 12.6 409.1 0 448 0c97.2 0 176 78.8 176 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H480v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1c-26.6-4.9-51.1-15.7-72-31.1z\"]\n};\nvar faImages = {\n prefix: 'fas',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM396 138.7l96 144c4.9 7.4 5.4 16.8 1.2 24.6S480.9 320 472 320H328 280 200c-9.2 0-17.6-5.3-21.6-13.6s-2.9-18.2 2.9-25.4l64-80c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l17.3 21.6 56-84C360.5 132 368 128 376 128s15.5 4 20 10.7zM192 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faCalculator = {\n prefix: 'fas',\n iconName: 'calculator',\n icon: [384, 512, [128425], \"f1ec\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 64H288c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 352a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM64 416c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM192 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faPeoplePulling = {\n prefix: 'fas',\n iconName: 'people-pulling',\n icon: [576, 512, [], \"e535\", \"M80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zM64 128c-35.3 0-64 28.7-64 64V320c0 17.7 14.3 32 32 32c9.8 0 18.5-4.4 24.4-11.2L80.4 485.3c2.9 17.4 19.4 29.2 36.8 26.3s29.2-19.4 26.3-36.8L123.1 352h15.7l30 134.9c3.8 17.3 20.9 28.1 38.2 24.3s28.1-20.9 24.3-38.2l-57.3-258 116.3 53.8c.5 .3 1.1 .5 1.6 .7c8.6 3.6 18 3.1 25.9-.7c3.4-1.6 6.6-3.9 9.3-6.7c3.1-3.2 5.5-7 7.1-11.4c.1-.3 .2-.7 .3-1l2.5-7.5c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L537 232.7l-15.3-36.8C504.5 154.8 464.3 128 419.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-24.4 10.9-44.6 29-58.1 51.6L157.3 136.9C144.7 131 130.9 128 117 128H64zM464 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM349.7 335.6l-25 62.4-59.4 59.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L372.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6z\"]\n};\nvar faN = {\n prefix: 'fas',\n iconName: 'n',\n icon: [384, 512, [110], \"4e\", \"M21.1 33.9c12.7-4.6 26.9-.7 35.5 9.6L320 359.6V64c0-17.7 14.3-32 32-32s32 14.3 32 32V448c0 13.5-8.4 25.5-21.1 30.1s-26.9 .7-35.5-9.6L64 152.4V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 50.5 8.4 38.5 21.1 33.9z\"]\n};\nvar faCableCar = {\n prefix: 'fas',\n iconName: 'cable-car',\n icon: [512, 512, [128673, 57551, \"tram\"], \"f7da\", \"M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 56a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 288c0-35.3 28.7-64 64-64H232V157.5l-203.1 42c-13 2.7-25.7-5.7-28.4-18.6s5.7-25.7 18.6-28.4l232-48 232-48c13-2.7 25.7 5.7 28.4 18.6s-5.7 25.7-18.6 28.4L280 147.5V224H416c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V288zm64 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H96zm112 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H352z\"]\n};\nvar faTram = faCableCar;\nvar faCloudRain = {\n prefix: 'fas',\n iconName: 'cloud-rain',\n icon: [512, 512, [127783, 9926], \"f73d\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96zm-6.8 52c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3L89.2 372zm160 0c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3L249.2 372zm124.9 64.6L409.2 372c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3z\"]\n};\nvar faBuildingCircleXmark = {\n prefix: 'fas',\n iconName: 'building-circle-xmark',\n icon: [640, 512, [], \"e4d4\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faShip = {\n prefix: 'fas',\n iconName: 'ship',\n icon: [576, 512, [128674], \"f21a\", \"M192 32c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V64h48c26.5 0 48 21.5 48 48V240l44.4 14.8c23.1 7.7 29.5 37.5 11.5 53.9l-101 92.6c-16.2 9.4-34.7 15.1-50.9 15.1c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-16.2 0-34.7-5.7-50.9-15.1l-101-92.6c-18-16.5-11.6-46.2 11.5-53.9L96 240V112c0-26.5 21.5-48 48-48h48V32zM160 218.7l107.8-35.9c13.1-4.4 27.3-4.4 40.5 0L416 218.7V128H160v90.7zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faArrowsDownToLine = {\n prefix: 'fas',\n iconName: 'arrows-down-to-line',\n icon: [576, 512, [], \"e4b8\", \"M544 416L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32zm22.6-137.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L480 274.7 480 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 210.7-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96zm-320-45.3c-12.5-12.5-32.8-12.5-45.3 0L160 274.7 160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 210.7L54.6 233.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3z\"]\n};\nvar faDownload = {\n prefix: 'fas',\n iconName: 'download',\n icon: [512, 512, [], \"f019\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faFaceGrin = {\n prefix: 'fas',\n iconName: 'face-grin',\n icon: [512, 512, [128512, \"grin\"], \"f580\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrin = faFaceGrin;\nvar faDeleteLeft = {\n prefix: 'fas',\n iconName: 'delete-left',\n icon: [576, 512, [9003, \"backspace\"], \"f55a\", \"M576 128c0-35.3-28.7-64-64-64H205.3c-17 0-33.3 6.7-45.3 18.7L9.4 233.4c-6 6-9.4 14.1-9.4 22.6s3.4 16.6 9.4 22.6L160 429.3c12 12 28.3 18.7 45.3 18.7H512c35.3 0 64-28.7 64-64V128zM271 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faBackspace = faDeleteLeft;\nvar faEyeDropper = {\n prefix: 'fas',\n iconName: 'eye-dropper',\n icon: [512, 512, [\"eye-dropper-empty\", \"eyedropper\"], \"f1fb\", \"M341.6 29.2L240.1 130.8l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L482.8 170.4c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM55.4 323.3c-15 15-23.4 35.4-23.4 56.6v42.4L5.4 462.2c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4L89.7 480h42.4c21.2 0 41.6-8.4 56.6-23.4L309.4 335.9l-45.3-45.3L143.4 411.3c-3 3-7.1 4.7-11.3 4.7H96V379.9c0-4.2 1.7-8.3 4.7-11.3L221.4 247.9l-45.3-45.3L55.4 323.3z\"]\n};\nvar faEyeDropperEmpty = faEyeDropper;\nvar faEyedropper = faEyeDropper;\nvar faFileCircleCheck = {\n prefix: 'fas',\n iconName: 'file-circle-check',\n icon: [576, 512, [], \"e5a0\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faForward = {\n prefix: 'fas',\n iconName: 'forward',\n icon: [512, 512, [9193], \"f04e\", \"M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4L224 214.3V256v41.7L52.5 440.6zM256 352V256 128 96c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4l192 160c7.3 6.1 11.5 15.1 11.5 24.6s-4.2 18.5-11.5 24.6l-192 160c-9.5 7.9-22.8 9.7-34.1 4.4s-18.4-16.6-18.4-29V352z\"]\n};\nvar faMobile = {\n prefix: 'fas',\n iconName: 'mobile',\n icon: [384, 512, [128241, \"mobile-android\", \"mobile-phone\"], \"f3ce\", \"M80 0C44.7 0 16 28.7 16 64V448c0 35.3 28.7 64 64 64H304c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H80zm80 432h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMobileAndroid = faMobile;\nvar faMobilePhone = faMobile;\nvar faFaceMeh = {\n prefix: 'fas',\n iconName: 'face-meh',\n icon: [512, 512, [128528, \"meh\"], \"f11a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 336H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMeh = faFaceMeh;\nvar faAlignCenter = {\n prefix: 'fas',\n iconName: 'align-center',\n icon: [448, 512, [], \"f037\", \"M352 64c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32z\"]\n};\nvar faBookSkull = {\n prefix: 'fas',\n iconName: 'book-skull',\n icon: [448, 512, [\"book-dead\"], \"f6b7\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM320 112c0-35.3-35.8-64-80-64s-80 28.7-80 64c0 20.9 12.6 39.5 32 51.2V176c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V163.2c19.4-11.7 32-30.3 32-51.2zM208 96a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM134.3 209.3c-8.1-3.5-17.5 .3-21 8.4s.3 17.5 8.4 21L199.4 272l-77.7 33.3c-8.1 3.5-11.9 12.9-8.4 21s12.9 11.9 21 8.4L240 289.4l105.7 45.3c8.1 3.5 17.5-.3 21-8.4s-.3-17.5-8.4-21L280.6 272l77.7-33.3c8.1-3.5 11.9-12.9 8.4-21s-12.9-11.9-21-8.4L240 254.6 134.3 209.3z\"]\n};\nvar faBookDead = faBookSkull;\nvar faIdCard = {\n prefix: 'fas',\n iconName: 'id-card',\n icon: [576, 512, [62147, \"drivers-license\"], \"f2c2\", \"M0 96l576 0c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96zm0 32V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128H0zM64 405.3c0-29.5 23.9-53.3 53.3-53.3H234.7c29.5 0 53.3 23.9 53.3 53.3c0 5.9-4.8 10.7-10.7 10.7H74.7c-5.9 0-10.7-4.8-10.7-10.7zM176 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm176 16c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16z\"]\n};\nvar faDriversLicense = faIdCard;\nvar faOutdent = {\n prefix: 'fas',\n iconName: 'outdent',\n icon: [448, 512, [\"dedent\"], \"f03b\", \"M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zm32 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM.2 268.6c-8.2-6.4-8.2-18.9 0-25.3l101.9-79.3c10.5-8.2 25.8-.7 25.8 12.6V335.3c0 13.3-15.3 20.8-25.8 12.6L.2 268.6z\"]\n};\nvar faDedent = faOutdent;\nvar faHeartCircleExclamation = {\n prefix: 'fas',\n iconName: 'heart-circle-exclamation',\n icon: [576, 512, [], \"e4fe\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faHouse = {\n prefix: 'fas',\n iconName: 'house',\n icon: [576, 512, [127968, 63498, 63500, \"home\", \"home-alt\", \"home-lg-alt\"], \"f015\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z\"]\n};\nvar faHome = faHouse;\nvar faHomeAlt = faHouse;\nvar faHomeLgAlt = faHouse;\nvar faCalendarWeek = {\n prefix: 'fas',\n iconName: 'calendar-week',\n icon: [448, 512, [], \"f784\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm80 64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80z\"]\n};\nvar faLaptopMedical = {\n prefix: 'fas',\n iconName: 'laptop-medical',\n icon: [640, 512, [], \"f812\", \"M64 96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V352H512V96H128V352H64V96zM0 403.2C0 392.6 8.6 384 19.2 384H620.8c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8H76.8C34.4 480 0 445.6 0 403.2zM288 160c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H352v48c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V272H240c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16h48V160z\"]\n};\nvar faB = {\n prefix: 'fas',\n iconName: 'b',\n icon: [320, 512, [98], \"42\", \"M64 32C28.7 32 0 60.7 0 96V256 416c0 35.3 28.7 64 64 64H192c70.7 0 128-57.3 128-128c0-46.5-24.8-87.3-62-109.7c18.7-22.3 30-51 30-82.3c0-70.7-57.3-128-128-128H64zm96 192H64V96h96c35.3 0 64 28.7 64 64s-28.7 64-64 64zM64 288h96 32c35.3 0 64 28.7 64 64s-28.7 64-64 64H64V288z\"]\n};\nvar faFileMedical = {\n prefix: 'fas',\n iconName: 'file-medical',\n icon: [384, 512, [], \"f477\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM160 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H224v48c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V352H112c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16h48V240z\"]\n};\nvar faDiceOne = {\n prefix: 'fas',\n iconName: 'dice-one',\n icon: [448, 512, [9856], \"f525\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faKiwiBird = {\n prefix: 'fas',\n iconName: 'kiwi-bird',\n icon: [576, 512, [], \"f535\", \"M291.2 388.4c31.2-18.8 64.7-36.4 101.1-36.4H448c4.6 0 9.1-.2 13.6-.7l85.3 121.9c4 5.7 11.3 8.2 17.9 6.1s11.2-8.3 11.2-15.3V224c0-70.7-57.3-128-128-128H392.3c-36.4 0-69.9-17.6-101.1-36.4C262.3 42.1 228.3 32 192 32C86 32 0 118 0 224c0 71.1 38.6 133.1 96 166.3V456c0 13.3 10.7 24 24 24s24-10.7 24-24V410c15.3 3.9 31.4 6 48 6c5.4 0 10.7-.2 16-.7V456c0 13.3 10.7 24 24 24s24-10.7 24-24V405.1c12.4-4.4 24.2-10 35.2-16.7zM448 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faArrowRightArrowLeft = {\n prefix: 'fas',\n iconName: 'arrow-right-arrow-left',\n icon: [448, 512, [8644, \"exchange\"], \"f0ec\", \"M438.6 150.6c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.7 96 32 96C14.3 96 0 110.3 0 128s14.3 32 32 32l306.7 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96zm-333.3 352c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 416 416 416c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96z\"]\n};\nvar faExchange = faArrowRightArrowLeft;\nvar faRotateRight = {\n prefix: 'fas',\n iconName: 'rotate-right',\n icon: [512, 512, [\"redo-alt\", \"rotate-forward\"], \"f2f9\", \"M463.5 224H472c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H463.5z\"]\n};\nvar faRedoAlt = faRotateRight;\nvar faRotateForward = faRotateRight;\nvar faUtensils = {\n prefix: 'fas',\n iconName: 'utensils',\n icon: [448, 512, [127860, 61685, \"cutlery\"], \"f2e7\", \"M416 0C400 0 288 32 288 176V288c0 35.3 28.7 64 64 64h32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352 240 32c0-17.7-14.3-32-32-32zM64 16C64 7.8 57.9 1 49.7 .1S34.2 4.6 32.4 12.5L2.1 148.8C.7 155.1 0 161.5 0 167.9c0 45.9 35.1 83.6 80 87.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32V255.6c44.9-4.1 80-41.8 80-87.7c0-6.4-.7-12.8-2.1-19.1L191.6 12.5c-1.8-8-9.3-13.3-17.4-12.4S160 7.8 160 16V150.2c0 5.4-4.4 9.8-9.8 9.8c-5.1 0-9.3-3.9-9.8-9L127.9 14.6C127.2 6.3 120.3 0 112 0s-15.2 6.3-15.9 14.6L83.7 151c-.5 5.1-4.7 9-9.8 9c-5.4 0-9.8-4.4-9.8-9.8V16zm48.3 152l-.3 0-.3 0 .3-.7 .3 .7z\"]\n};\nvar faCutlery = faUtensils;\nvar faArrowUpWideShort = {\n prefix: 'fas',\n iconName: 'arrow-up-wide-short',\n icon: [576, 512, [\"sort-amount-up\"], \"f161\", \"M151.6 42.4C145.5 35.8 137 32 128 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L96 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 480h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]\n};\nvar faSortAmountUp = faArrowUpWideShort;\nvar faMillSign = {\n prefix: 'fas',\n iconName: 'mill-sign',\n icon: [384, 512, [], \"e1ed\", \"M302.1 42.8c5.9-16.6-2.7-35-19.4-40.9s-35 2.7-40.9 19.4L208 116.1c-5.7 4-11.1 8.5-16 13.5C171.7 108.9 143.3 96 112 96c-19.5 0-37.8 5-53.7 13.7C52.5 101.4 42.9 96 32 96C14.3 96 0 110.3 0 128v80V416c0 17.7 14.3 32 32 32s32-14.3 32-32V208c0-26.5 21.5-48 48-48s48 21.5 48 48v42.5L81.9 469.2c-5.9 16.6 2.7 35 19.4 40.9s35-2.7 40.9-19.4l21.4-60C168.9 441 179.6 448 192 448c17.7 0 32-14.3 32-32V261.5l35.7-100c3.9-1 8.1-1.6 12.3-1.6c26.5 0 48 21.5 48 48V416c0 17.7 14.3 32 32 32s32-14.3 32-32V208c0-58.2-44.3-106-101.1-111.5l19.2-53.8z\"]\n};\nvar faBowlRice = {\n prefix: 'fas',\n iconName: 'bowl-rice',\n icon: [512, 512, [], \"e2eb\", \"M176 56c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24zm24 48h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24s10.7-24 24-24zM56 176H72c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zM0 283.4C0 268.3 12.3 256 27.4 256H484.6c15.1 0 27.4 12.3 27.4 27.4c0 70.5-44.4 130.7-106.7 154.1L403.5 452c-2 16-15.6 28-31.8 28H140.2c-16.1 0-29.8-12-31.8-28l-1.8-14.4C44.4 414.1 0 353.9 0 283.4zM224 200c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm-96 0c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H104c-13.3 0-24-10.7-24-24s10.7-24 24-24zm216 96c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H296c-13.3 0-24-10.7-24-24s10.7-24 24-24zm120 96c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H392c-13.3 0-24-10.7-24-24s10.7-24 24-24zM296 32h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H296c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSkull = {\n prefix: 'fas',\n iconName: 'skull',\n icon: [512, 512, [128128], \"f54c\", \"M416 398.9c58.5-41.1 96-104.1 96-174.9C512 100.3 397.4 0 256 0S0 100.3 0 224c0 70.7 37.5 133.8 96 174.9c0 .4 0 .7 0 1.1v64c0 26.5 21.5 48 48 48h48V464c0-8.8 7.2-16 16-16s16 7.2 16 16v48h64V464c0-8.8 7.2-16 16-16s16 7.2 16 16v48h48c26.5 0 48-21.5 48-48V400c0-.4 0-.7 0-1.1zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faTowerBroadcast = {\n prefix: 'fas',\n iconName: 'tower-broadcast',\n icon: [576, 512, [\"broadcast-tower\"], \"f519\", \"M80.3 44C69.8 69.9 64 98.2 64 128s5.8 58.1 16.3 84c6.6 16.4-1.3 35-17.7 41.7s-35-1.3-41.7-17.7C7.4 202.6 0 166.1 0 128S7.4 53.4 20.9 20C27.6 3.6 46.2-4.3 62.6 2.3S86.9 27.6 80.3 44zM555.1 20C568.6 53.4 576 89.9 576 128s-7.4 74.6-20.9 108c-6.6 16.4-25.3 24.3-41.7 17.7S489.1 228.4 495.7 212c10.5-25.9 16.3-54.2 16.3-84s-5.8-58.1-16.3-84C489.1 27.6 497 9 513.4 2.3s35 1.3 41.7 17.7zM352 128c0 23.7-12.9 44.4-32 55.4V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V183.4c-19.1-11.1-32-31.7-32-55.4c0-35.3 28.7-64 64-64s64 28.7 64 64zM170.6 76.8C163.8 92.4 160 109.7 160 128s3.8 35.6 10.6 51.2c7.1 16.2-.3 35.1-16.5 42.1s-35.1-.3-42.1-16.5c-10.3-23.6-16-49.6-16-76.8s5.7-53.2 16-76.8c7.1-16.2 25.9-23.6 42.1-16.5s23.6 25.9 16.5 42.1zM464 51.2c10.3 23.6 16 49.6 16 76.8s-5.7 53.2-16 76.8c-7.1 16.2-25.9 23.6-42.1 16.5s-23.6-25.9-16.5-42.1c6.8-15.6 10.6-32.9 10.6-51.2s-3.8-35.6-10.6-51.2c-7.1-16.2 .3-35.1 16.5-42.1s35.1 .3 42.1 16.5z\"]\n};\nvar faBroadcastTower = faTowerBroadcast;\nvar faTruckPickup = {\n prefix: 'fas',\n iconName: 'truck-pickup',\n icon: [640, 512, [128763], \"f63c\", \"M368.6 96l76.8 96H288V96h80.6zM224 80V192H64c-17.7 0-32 14.3-32 32v64c-17.7 0-32 14.3-32 32s14.3 32 32 32H65.1c-.7 5.2-1.1 10.6-1.1 16c0 61.9 50.1 112 112 112s112-50.1 112-112c0-5.4-.4-10.8-1.1-16h66.3c-.7 5.2-1.1 10.6-1.1 16c0 61.9 50.1 112 112 112s112-50.1 112-112c0-5.4-.4-10.8-1.1-16H608c17.7 0 32-14.3 32-32s-14.3-32-32-32V224c0-17.7-14.3-32-32-32H527.4L418.6 56c-12.1-15.2-30.5-24-50-24H272c-26.5 0-48 21.5-48 48zm0 288a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm288 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faUpLong = {\n prefix: 'fas',\n iconName: 'up-long',\n icon: [320, 512, [\"long-arrow-alt-up\"], \"f30c\", \"M318 177.5c3.8-8.8 2-19-4.6-26l-136-144C172.9 2.7 166.6 0 160 0s-12.9 2.7-17.4 7.5l-136 144c-6.6 7-8.4 17.2-4.6 26S14.4 192 24 192H96l0 288c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32l0-288h72c9.6 0 18.2-5.7 22-14.5z\"]\n};\nvar faLongArrowAltUp = faUpLong;\nvar faStop = {\n prefix: 'fas',\n iconName: 'stop',\n icon: [384, 512, [9209], \"f04d\", \"M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"]\n};\nvar faCodeMerge = {\n prefix: 'fas',\n iconName: 'code-merge',\n icon: [448, 512, [], \"f387\", \"M80 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm32.4 97.2c28-12.4 47.6-40.5 47.6-73.2c0-44.2-35.8-80-80-80S0 35.8 0 80c0 32.8 19.7 61 48 73.3V358.7C19.7 371 0 399.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3V272c26.7 20.1 60 32 96 32h86.7c12.3 28.3 40.5 48 73.3 48c44.2 0 80-35.8 80-80s-35.8-80-80-80c-32.8 0-61 19.7-73.3 48H208c-49.9 0-91-38.1-95.6-86.8zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM344 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faUpload = {\n prefix: 'fas',\n iconName: 'upload',\n icon: [512, 512, [], \"f093\", \"M288 109.3V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3l-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352H192c0 35.3 28.7 64 64 64s64-28.7 64-64H448c35.3 0 64 28.7 64 64v32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V416c0-35.3 28.7-64 64-64zM432 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHurricane = {\n prefix: 'fas',\n iconName: 'hurricane',\n icon: [384, 512, [], \"f751\", \"M0 208C0 104.4 75.7 18.5 174.9 2.6C184 1.2 192 8.6 192 17.9V81.2c0 8.4 6.5 15.3 14.7 16.5C307 112.5 384 199 384 303.4c0 103.6-75.7 189.5-174.9 205.4c-9.2 1.5-17.1-5.9-17.1-15.2V430.2c0-8.4-6.5-15.3-14.7-16.5C77 398.9 0 312.4 0 208zm288 48A96 96 0 1 0 96 256a96 96 0 1 0 192 0zm-96-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faMound = {\n prefix: 'fas',\n iconName: 'mound',\n icon: [576, 512, [], \"e52d\", \"M144.1 179.2C173.8 127.7 228.6 96 288 96s114.2 31.7 143.9 83.2L540.4 368c12.3 21.3-3.1 48-27.7 48H63.3c-24.6 0-40-26.6-27.7-48L144.1 179.2z\"]\n};\nvar faToiletPortable = {\n prefix: 'fas',\n iconName: 'toilet-portable',\n icon: [320, 512, [], \"e583\", \"M0 32V64H320V32c0-17.7-14.3-32-32-32H32C14.3 0 0 14.3 0 32zM24 96H0v24V488c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H272v8c0 13.3 10.7 24 24 24s24-10.7 24-24V120 96H296 24zM256 240v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCompactDisc = {\n prefix: 'fas',\n iconName: 'compact-disc',\n icon: [512, 512, [128191, 128192, 128440], \"f51f\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm-96-32a96 96 0 1 0 192 0 96 96 0 1 0 -192 0zM96 240c0-35 17.5-71.1 45.2-98.8S205 96 240 96c8.8 0 16-7.2 16-16s-7.2-16-16-16c-45.4 0-89.2 22.3-121.5 54.5S64 194.6 64 240c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faFileArrowDown = {\n prefix: 'fas',\n iconName: 'file-arrow-down',\n icon: [384, 512, [\"file-download\"], \"f56d\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM216 232V334.1l31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31V232c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFileDownload = faFileArrowDown;\nvar faCaravan = {\n prefix: 'fas',\n iconName: 'caravan',\n icon: [640, 512, [], \"f8ff\", \"M0 112C0 67.8 35.8 32 80 32H416c88.4 0 160 71.6 160 160V352h32c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0H288c0 53-43 96-96 96s-96-43-96-96H80c-44.2 0-80-35.8-80-80V112zM320 352H448V256H416c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V160c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32V352zM96 128c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96zm96 336a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faShieldCat = {\n prefix: 'fas',\n iconName: 'shield-cat',\n icon: [512, 512, [], \"e572\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM160 154.4c0-5.8 4.7-10.4 10.4-10.4h.2c3.4 0 6.5 1.6 8.5 4.3l40 53.3c3 4 7.8 6.4 12.8 6.4h48c5 0 9.8-2.4 12.8-6.4l40-53.3c2-2.7 5.2-4.3 8.5-4.3h.2c5.8 0 10.4 4.7 10.4 10.4V272c0 53-43 96-96 96s-96-43-96-96V154.4zM216 288a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm96-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faBolt = {\n prefix: 'fas',\n iconName: 'bolt',\n icon: [448, 512, [9889, \"zap\"], \"f0e7\", \"M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288H175.5L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H272.5L349.4 44.6z\"]\n};\nvar faZap = faBolt;\nvar faGlassWater = {\n prefix: 'fas',\n iconName: 'glass-water',\n icon: [384, 512, [], \"e4f4\", \"M32 0C23.1 0 14.6 3.7 8.6 10.2S-.6 25.4 .1 34.3L28.9 437.7c3 41.9 37.8 74.3 79.8 74.3H275.3c42 0 76.8-32.4 79.8-74.3L383.9 34.3c.6-8.9-2.4-17.6-8.5-24.1S360.9 0 352 0H32zM73 156.5L66.4 64H317.6L311 156.5l-24.2 12.1c-19.4 9.7-42.2 9.7-61.6 0c-20.9-10.4-45.5-10.4-66.4 0c-19.4 9.7-42.2 9.7-61.6 0L73 156.5z\"]\n};\nvar faOilWell = {\n prefix: 'fas',\n iconName: 'oil-well',\n icon: [576, 512, [], \"e532\", \"M528.3 61.3c-11.4-42.7-55.3-68-98-56.6L414.9 8.8C397.8 13.4 387.7 31 392.3 48l24.5 91.4L308.5 167.5l-6.3-18.1C297.7 136.6 285.6 128 272 128s-25.7 8.6-30.2 21.4l-13.6 39L96 222.6V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H406.7L340 257.5l-62.2 16.1L305.3 352H238.7L265 277l-74.6 19.3L137.3 448H96V288.8l337.4-87.5 25.2 94c4.6 17.1 22.1 27.2 39.2 22.6l15.5-4.1c42.7-11.4 68-55.3 56.6-98L528.3 61.3zM205.1 448l11.2-32H327.7l11.2 32H205.1z\"]\n};\nvar faVault = {\n prefix: 'fas',\n iconName: 'vault',\n icon: [576, 512, [], \"e2c5\", \"M64 0C28.7 0 0 28.7 0 64V416c0 35.3 28.7 64 64 64H80l16 32h64l16-32H400l16 32h64l16-32h16c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM224 320a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-240a160 160 0 1 1 0 320 160 160 0 1 1 0-320zM480 221.3V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V221.3c-18.6-6.6-32-24.4-32-45.3c0-26.5 21.5-48 48-48s48 21.5 48 48c0 20.9-13.4 38.7-32 45.3z\"]\n};\nvar faMars = {\n prefix: 'fas',\n iconName: 'mars',\n icon: [448, 512, [9794], \"f222\", \"M289.8 46.8c3.7-9 12.5-14.8 22.2-14.8H424c13.3 0 24 10.7 24 24V168c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-33.4-33.4L321 204.2c19.5 28.4 31 62.7 31 99.8c0 97.2-78.8 176-176 176S0 401.2 0 304s78.8-176 176-176c37 0 71.4 11.4 99.8 31l52.6-52.6L295 73c-6.9-6.9-8.9-17.2-5.2-26.2zM400 80l0 0h0v0zM176 416a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\"]\n};\nvar faToilet = {\n prefix: 'fas',\n iconName: 'toilet',\n icon: [448, 512, [128701], \"f7d8\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48h8V196.9c-1.9 1.4-3.8 2.9-5.6 4.4C10.9 214.5 0 232.9 0 256c0 46.9 14.3 84.1 37 112.5c14.2 17.7 31.1 31.3 48.5 41.8L65.6 469.9c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3H352c10.3 0 19.9-4.9 26-13.3s7.7-19.1 4.4-28.8l-19.8-59.5c17.4-10.5 34.3-24.1 48.5-41.8c22.7-28.4 37-65.5 37-112.5c0-23.1-10.9-41.5-26.4-54.6c-1.8-1.5-3.7-3-5.6-4.4V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM384 256.3c0 1-.3 2.6-3.8 5.6c-4.8 4.1-14 9-29.3 13.4C320.5 284 276.1 288 224 288s-96.5-4-126.9-12.8c-15.3-4.4-24.5-9.3-29.3-13.4c-3.5-3-3.8-4.6-3.8-5.6l0-.3 0-.1c0-1 0-2.5 3.8-5.8c4.8-4.1 14-9 29.3-13.4C127.5 228 171.9 224 224 224s96.5 4 126.9 12.8c15.3 4.4 24.5 9.3 29.3 13.4c3.8 3.2 3.8 4.8 3.8 5.8l0 .1 0 .3zM328.2 384l-.2 .5 0-.5h.2zM112 64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faPlaneCircleXmark = {\n prefix: 'fas',\n iconName: 'plane-circle-xmark',\n icon: [640, 512, [], \"e557\", \"M256 0c-35 0-64 59.5-64 93.7v84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9v65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3V93.7C320 59.5 292 0 256 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faYenSign = {\n prefix: 'fas',\n iconName: 'yen-sign',\n icon: [320, 512, [165, \"cny\", \"jpy\", \"rmb\", \"yen\"], \"f157\", \"M58.6 46.2C48.8 31.5 29 27.6 14.3 37.4S-4.4 67 5.4 81.7L100.2 224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h80v32H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h80v64c0 17.7 14.3 32 32 32s32-14.3 32-32V384h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V288h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H219.8L314.6 81.7c9.8-14.7 5.8-34.6-8.9-44.4s-34.6-5.8-44.4 8.9L160 198.3 58.6 46.2z\"]\n};\nvar faCny = faYenSign;\nvar faJpy = faYenSign;\nvar faRmb = faYenSign;\nvar faYen = faYenSign;\nvar faRubleSign = {\n prefix: 'fas',\n iconName: 'ruble-sign',\n icon: [384, 512, [8381, \"rouble\", \"rub\", \"ruble\"], \"f158\", \"M96 32C78.3 32 64 46.3 64 64V256H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v32c0 17.7 14.3 32 32 32s32-14.3 32-32V416H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H128V320H240c79.5 0 144-64.5 144-144s-64.5-144-144-144H96zM240 256H128V96H240c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]\n};\nvar faRouble = faRubleSign;\nvar faRub = faRubleSign;\nvar faRuble = faRubleSign;\nvar faSun = {\n prefix: 'fas',\n iconName: 'sun',\n icon: [512, 512, [9728], \"f185\", \"M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z\"]\n};\nvar faGuitar = {\n prefix: 'fas',\n iconName: 'guitar',\n icon: [512, 512, [], \"f7a6\", \"M465 7c-9.4-9.4-24.6-9.4-33.9 0L383 55c-2.4 2.4-4.3 5.3-5.5 8.5l-15.4 41-77.5 77.6c-45.1-29.4-99.3-30.2-131 1.6c-11 11-18 24.6-21.4 39.6c-3.7 16.6-19.1 30.7-36.1 31.6c-25.6 1.3-49.3 10.7-67.3 28.6C-16 328.4-7.6 409.4 47.5 464.5s136.1 63.5 180.9 18.7c17.9-17.9 27.4-41.7 28.6-67.3c.9-17 15-32.3 31.6-36.1c15-3.4 28.6-10.5 39.6-21.4c31.8-31.8 31-85.9 1.6-131l77.6-77.6 41-15.4c3.2-1.2 6.1-3.1 8.5-5.5l48-48c9.4-9.4 9.4-24.6 0-33.9L465 7zM208 256a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faFaceLaughWink = {\n prefix: 'fas',\n iconName: 'face-laugh-wink',\n icon: [512, 512, [\"laugh-wink\"], \"f59c\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm156.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nvar faLaughWink = faFaceLaughWink;\nvar faHorseHead = {\n prefix: 'fas',\n iconName: 'horse-head',\n icon: [640, 512, [], \"f7ab\", \"M64 464V316.9c0-108.4 68.3-205.1 170.5-241.3L404.2 15.5C425.6 7.9 448 23.8 448 46.4c0 11-5.5 21.2-14.6 27.3L400 96c48.1 0 91.2 29.8 108.1 74.9l48.6 129.5c11.8 31.4 4.1 66.8-19.6 90.5c-16 16-37.8 25.1-60.5 25.1h-3.4c-26.1 0-50.9-11.6-67.6-31.7l-32.3-38.7c-11.7 4.1-24.2 6.4-37.3 6.4l-.1 0 0 0c-6.3 0-12.5-.5-18.6-1.5c-3.6-.6-7.2-1.4-10.7-2.3l0 0c-28.9-7.8-53.1-26.8-67.8-52.2c-4.4-7.6-14.2-10.3-21.9-5.8s-10.3 14.2-5.8 21.9c24 41.5 68.3 70 119.3 71.9l47.2 70.8c4 6.1 6.2 13.2 6.2 20.4c0 20.3-16.5 36.8-36.8 36.8H112c-26.5 0-48-21.5-48-48zM392 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBoreHole = {\n prefix: 'fas',\n iconName: 'bore-hole',\n icon: [512, 512, [], \"e4c3\", \"M256 0c-17.7 0-32 14.3-32 32V296.6c-19.1 11.1-32 31.7-32 55.4c0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.4-32-55.4V32c0-17.7-14.3-32-32-32zM48 128c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H384c-17.7 0-32 14.3-32 32V352c0 53-43 96-96 96s-96-43-96-96V160c0-17.7-14.3-32-32-32H48z\"]\n};\nvar faIndustry = {\n prefix: 'fas',\n iconName: 'industry',\n icon: [576, 512, [], \"f275\", \"M64 32C46.3 32 32 46.3 32 64V304v48 80c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V304 152.2c0-18.2-19.4-29.7-35.4-21.1L352 215.4V152.2c0-18.2-19.4-29.7-35.4-21.1L160 215.4V64c0-17.7-14.3-32-32-32H64z\"]\n};\nvar faCircleDown = {\n prefix: 'fas',\n iconName: 'circle-down',\n icon: [512, 512, [61466, \"arrow-alt-circle-down\"], \"f358\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM376.9 294.6L269.8 394.5c-3.8 3.5-8.7 5.5-13.8 5.5s-10.1-2-13.8-5.5L135.1 294.6c-4.5-4.2-7.1-10.1-7.1-16.3c0-12.3 10-22.3 22.3-22.3l57.7 0 0-96c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 96 57.7 0c12.3 0 22.3 10 22.3 22.3c0 6.2-2.6 12.1-7.1 16.3z\"]\n};\nvar faArrowAltCircleDown = faCircleDown;\nvar faArrowsTurnToDots = {\n prefix: 'fas',\n iconName: 'arrows-turn-to-dots',\n icon: [512, 512, [], \"e4c1\", \"M249.4 25.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L269.3 96 416 96c53 0 96 43 96 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7-14.3-32-32-32l-146.7 0 25.4 25.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-80-80c-12.5-12.5-12.5-32.8 0-45.3l80-80zm13.3 256l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 416 96 416c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448c0-53 43-96 96-96l146.7 0-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0zM384 384a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64 192A64 64 0 1 1 64 64a64 64 0 1 1 0 128z\"]\n};\nvar faFlorinSign = {\n prefix: 'fas',\n iconName: 'florin-sign',\n icon: [384, 512, [], \"e184\", \"M314.7 32c-38.8 0-73.7 23.3-88.6 59.1L170.7 224H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h80L98.9 396.3c-5 11.9-16.6 19.7-29.5 19.7H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H69.3c38.8 0 73.7-23.3 88.6-59.1L213.3 288H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H240l45.1-108.3c5-11.9 16.6-19.7 29.5-19.7H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H314.7z\"]\n};\nvar faArrowDownShortWide = {\n prefix: 'fas',\n iconName: 'arrow-down-short-wide',\n icon: [576, 512, [\"sort-amount-desc\", \"sort-amount-down-alt\"], \"f884\", \"M151.6 469.6C145.5 476.2 137 480 128 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L96 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faSortAmountDesc = faArrowDownShortWide;\nvar faSortAmountDownAlt = faArrowDownShortWide;\nvar faLessThan = {\n prefix: 'fas',\n iconName: 'less-than',\n icon: [384, 512, [62774], \"3c\", \"M380.6 81.7c7.9 15.8 1.5 35-14.3 42.9L103.6 256 366.3 387.4c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-320-160C6.8 279.2 0 268.1 0 256s6.8-23.2 17.7-28.6l320-160c15.8-7.9 35-1.5 42.9 14.3z\"]\n};\nvar faAngleDown = {\n prefix: 'fas',\n iconName: 'angle-down',\n icon: [448, 512, [8964], \"f107\", \"M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"]\n};\nvar faCarTunnel = {\n prefix: 'fas',\n iconName: 'car-tunnel',\n icon: [512, 512, [], \"e4de\", \"M256 0C114.6 0 0 114.6 0 256V448c0 35.3 28.7 64 64 64h42.8c-6.6-5.9-10.8-14.4-10.8-24V376c0-20.8 11.3-38.9 28.1-48.6l21-64.7c7.5-23.1 29-38.7 53.3-38.7H313.6c24.3 0 45.8 15.6 53.3 38.7l21 64.7c16.8 9.7 28.2 27.8 28.2 48.6V488c0 9.6-4.2 18.1-10.8 24H448c35.3 0 64-28.7 64-64V256C512 114.6 397.4 0 256 0zM362.8 512c-6.6-5.9-10.8-14.4-10.8-24V448H160v40c0 9.6-4.2 18.1-10.8 24H362.8zM190.8 277.5L177 320H335l-13.8-42.5c-1.1-3.3-4.1-5.5-7.6-5.5H198.4c-3.5 0-6.5 2.2-7.6 5.5zM168 408a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm200-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHeadSideCough = {\n prefix: 'fas',\n iconName: 'head-side-cough',\n icon: [640, 512, [], \"e061\", \"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v0 32L339.2 365.6c-11 1.4-19.2 10.7-19.2 21.8c0 11.6 9 21.2 20.6 21.9L448 416v16c0 26.5-21.5 48-48 48H320v8c0 13.3-10.7 24-24 24H256v0H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zm352-.2a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM464 384a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm152-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM592 480a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM552 312a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM552 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGripLines = {\n prefix: 'fas',\n iconName: 'grip-lines',\n icon: [448, 512, [], \"f7a4\", \"M32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 288zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160z\"]\n};\nvar faThumbsDown = {\n prefix: 'fas',\n iconName: 'thumbs-down',\n icon: [512, 512, [128078, 61576], \"f165\", \"M313.4 479.1c26-5.2 42.9-30.5 37.7-56.5l-2.3-11.4c-5.3-26.7-15.1-52.1-28.8-75.2H464c26.5 0 48-21.5 48-48c0-18.5-10.5-34.6-25.9-42.6C497 236.6 504 223.1 504 208c0-23.4-16.8-42.9-38.9-47.1c4.4-7.3 6.9-15.8 6.9-24.9c0-21.3-13.9-39.4-33.1-45.6c.7-3.3 1.1-6.8 1.1-10.4c0-26.5-21.5-48-48-48H294.5c-19 0-37.5 5.6-53.3 16.1L202.7 73.8C176 91.6 160 121.6 160 153.7V192v48 24.9c0 29.2 13.3 56.7 36 75l7.4 5.9c26.5 21.2 44.6 51 51.2 84.2l2.3 11.4c5.2 26 30.5 42.9 56.5 37.7zM32 384H96c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H32C14.3 96 0 110.3 0 128V352c0 17.7 14.3 32 32 32z\"]\n};\nvar faUserLock = {\n prefix: 'fas',\n iconName: 'user-lock',\n icon: [640, 512, [], \"f502\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H392.6c-5.4-9.4-8.6-20.3-8.6-32V352c0-2.1 .1-4.2 .3-6.3c-31-26-71-41.7-114.6-41.7H178.3zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faArrowRightLong = {\n prefix: 'fas',\n iconName: 'arrow-right-long',\n icon: [512, 512, [\"long-arrow-right\"], \"f178\", \"M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l370.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"]\n};\nvar faLongArrowRight = faArrowRightLong;\nvar faAnchorCircleXmark = {\n prefix: 'fas',\n iconName: 'anchor-circle-xmark',\n icon: [640, 512, [], \"e4ac\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2H320V368 240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faEllipsis = {\n prefix: 'fas',\n iconName: 'ellipsis',\n icon: [448, 512, [\"ellipsis-h\"], \"f141\", \"M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faEllipsisH = faEllipsis;\nvar faChessPawn = {\n prefix: 'fas',\n iconName: 'chess-pawn',\n icon: [320, 512, [9823], \"f443\", \"M215.5 224c29.2-18.4 48.5-50.9 48.5-88c0-57.4-46.6-104-104-104S56 78.6 56 136c0 37.1 19.4 69.6 48.5 88H96c-17.7 0-32 14.3-32 32c0 16.5 12.5 30 28.5 31.8L80 400H240L227.5 287.8c16-1.8 28.5-15.3 28.5-31.8c0-17.7-14.3-32-32-32h-8.5zM22.6 473.4c-4.2 4.2-6.6 10-6.6 16C16 501.9 26.1 512 38.6 512H281.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L256 432H64L22.6 473.4z\"]\n};\nvar faKitMedical = {\n prefix: 'fas',\n iconName: 'kit-medical',\n icon: [576, 512, [\"first-aid\"], \"f479\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H96V32H64zm64 0V480H448V32H128zM512 480c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H480V480h32zM256 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V288H208c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16h48V176z\"]\n};\nvar faFirstAid = faKitMedical;\nvar faPersonThroughWindow = {\n prefix: 'fas',\n iconName: 'person-through-window',\n icon: [640, 512, [], \"e5a9\", \"M64 64l224 0 0 9.8c0 39-23.7 74-59.9 88.4C167.6 186.5 128 245 128 310.2l0 73.8s0 0 0 0H64V64zm288 0l224 0V384H508.3l-3.7-4.5-75.2-90.2c-9.1-10.9-22.6-17.3-36.9-17.3l-71.1 0-41-63.1c-.3-.5-.6-1-1-1.4c44.7-29 72.5-79 72.5-133.6l0-9.8zm73 320H379.2l42.7 64H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48V400c0 26.5 21.5 48 48 48H308.2l33.2 49.8c9.8 14.7 29.7 18.7 44.4 8.9s18.7-29.7 8.9-44.4L310.5 336l74.6 0 40 48zm-159.5 0H192s0 0 0 0l0-73.8c0-10.2 1.6-20.1 4.7-29.5L265.5 384zM192 128a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faToolbox = {\n prefix: 'fas',\n iconName: 'toolbox',\n icon: [512, 512, [129520], \"f552\", \"M176 88v40H336V88c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zm-48 40V88c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56v40h28.1c12.7 0 24.9 5.1 33.9 14.1l51.9 51.9c9 9 14.1 21.2 14.1 33.9V304H384V288c0-17.7-14.3-32-32-32s-32 14.3-32 32v16H192V288c0-17.7-14.3-32-32-32s-32 14.3-32 32v16H0V227.9c0-12.7 5.1-24.9 14.1-33.9l51.9-51.9c9-9 21.2-14.1 33.9-14.1H128zM0 416V336H128v16c0 17.7 14.3 32 32 32s32-14.3 32-32V336H320v16c0 17.7 14.3 32 32 32s32-14.3 32-32V336H512v80c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64z\"]\n};\nvar faHandsHoldingCircle = {\n prefix: 'fas',\n iconName: 'hands-holding-circle',\n icon: [640, 512, [], \"e4fb\", \"M320 0a128 128 0 1 1 0 256A128 128 0 1 1 320 0zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z\"]\n};\nvar faBug = {\n prefix: 'fas',\n iconName: 'bug',\n icon: [512, 512, [], \"f188\", \"M256 0c53 0 96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H188.4c-15.7 0-28.4-12.7-28.4-28.4V96c0-53 43-96 96-96zM41.4 105.4c12.5-12.5 32.8-12.5 45.3 0l64 64c.7 .7 1.3 1.4 1.9 2.1c14.2-7.3 30.4-11.4 47.5-11.4H312c17.1 0 33.2 4.1 47.5 11.4c.6-.7 1.2-1.4 1.9-2.1l64-64c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-64 64c-.7 .7-1.4 1.3-2.1 1.9c6.2 12 10.1 25.3 11.1 39.5H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c0 24.6-5.5 47.8-15.4 68.6c2.2 1.3 4.2 2.9 6 4.8l64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-63.1-63.1c-24.5 21.8-55.8 36.2-90.3 39.6V240c0-8.8-7.2-16-16-16s-16 7.2-16 16V479.2c-34.5-3.4-65.8-17.8-90.3-39.6L86.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l64-64c1.9-1.9 3.9-3.4 6-4.8C101.5 367.8 96 344.6 96 320H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96.3c1.1-14.1 5-27.5 11.1-39.5c-.7-.6-1.4-1.2-2.1-1.9l-64-64c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nvar faCreditCard = {\n prefix: 'fas',\n iconName: 'credit-card',\n icon: [576, 512, [128179, 62083, \"credit-card-alt\"], \"f09d\", \"M64 32C28.7 32 0 60.7 0 96v32H576V96c0-35.3-28.7-64-64-64H64zM576 224H0V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V224zM112 352h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"]\n};\nvar faCreditCardAlt = faCreditCard;\nvar faCar = {\n prefix: 'fas',\n iconName: 'car',\n icon: [512, 512, [128664, \"automobile\"], \"f1b9\", \"M135.2 117.4L109.1 192H402.9l-26.1-74.6C372.3 104.6 360.2 96 346.6 96H165.4c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32H346.6c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2V400v48c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V400H96v48c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V400 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faAutomobile = faCar;\nvar faHandHoldingHand = {\n prefix: 'fas',\n iconName: 'hand-holding-hand',\n icon: [576, 512, [], \"e4f7\", \"M7.8 207.7c-13.1-17.8-9.3-42.8 8.5-55.9L142.9 58.5C166.2 41.3 194.5 32 223.5 32H384 544c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H507.2l-44.9 36c-22.7 18.2-50.9 28-80 28H304 288 224c-17.7 0-32-14.3-32-32s14.3-32 32-32h64 16c8.8 0 16-7.2 16-16s-7.2-16-16-16H183.4L63.7 216.2c-17.8 13.1-42.8 9.3-55.9-8.5zM382.4 160l0 0 .9 0c-.3 0-.6 0-.9 0zM568.2 304.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 453.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 352l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faBookOpenReader = {\n prefix: 'fas',\n iconName: 'book-open-reader',\n icon: [512, 512, [\"book-reader\"], \"f5da\", \"M160 96a96 96 0 1 1 192 0A96 96 0 1 1 160 96zm80 152V512l-48.4-24.2c-20.9-10.4-43.5-17-66.8-19.3l-96-9.6C12.5 457.2 0 443.5 0 427V224c0-17.7 14.3-32 32-32H62.3c63.6 0 125.6 19.6 177.7 56zm32 264V248c52.1-36.4 114.1-56 177.7-56H480c17.7 0 32 14.3 32 32V427c0 16.4-12.5 30.2-28.8 31.8l-96 9.6c-23.2 2.3-45.9 8.9-66.8 19.3L272 512z\"]\n};\nvar faBookReader = faBookOpenReader;\nvar faMountainSun = {\n prefix: 'fas',\n iconName: 'mountain-sun',\n icon: [640, 512, [], \"e52f\", \"M560 160A80 80 0 1 0 560 0a80 80 0 1 0 0 160zM55.9 512H381.1h75H578.9c33.8 0 61.1-27.4 61.1-61.1c0-11.2-3.1-22.2-8.9-31.8l-132-216.3C495 196.1 487.8 192 480 192s-15 4.1-19.1 10.7l-48.2 79L286.8 81c-6.6-10.6-18.3-17-30.8-17s-24.1 6.4-30.8 17L8.6 426.4C3 435.3 0 445.6 0 456.1C0 487 25 512 55.9 512z\"]\n};\nvar faArrowsLeftRightToLine = {\n prefix: 'fas',\n iconName: 'arrows-left-right-to-line',\n icon: [640, 512, [], \"e4ba\", \"M32 64c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 78.3 14.3 64 32 64zm214.6 73.4c12.5 12.5 12.5 32.8 0 45.3L205.3 224l229.5 0-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 288l-229.5 0 41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0zM640 96V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faDiceD20 = {\n prefix: 'fas',\n iconName: 'dice-d20',\n icon: [512, 512, [], \"f6cf\", \"M48.7 125.8l53.2 31.9c7.8 4.7 17.8 2 22.2-5.9L201.6 12.1c3-5.4-.9-12.1-7.1-12.1c-1.6 0-3.2 .5-4.6 1.4L47.9 98.8c-9.6 6.6-9.2 20.9 .8 26.9zM16 171.7V295.3c0 8 10.4 11 14.7 4.4l60-92c5-7.6 2.6-17.8-5.2-22.5L40.2 158C29.6 151.6 16 159.3 16 171.7zM310.4 12.1l77.6 139.6c4.4 7.9 14.5 10.6 22.2 5.9l53.2-31.9c10-6 10.4-20.3 .8-26.9L322.1 1.4c-1.4-.9-3-1.4-4.6-1.4c-6.2 0-10.1 6.7-7.1 12.1zM496 171.7c0-12.4-13.6-20.1-24.2-13.7l-45.3 27.2c-7.8 4.7-10.1 14.9-5.2 22.5l60 92c4.3 6.7 14.7 3.6 14.7-4.4V171.7zm-49.3 246L286.1 436.6c-8.1 .9-14.1 7.8-14.1 15.9v52.8c0 3.7 3 6.8 6.8 6.8c.8 0 1.6-.1 2.4-.4l172.7-64c6.1-2.2 10.1-8 10.1-14.5c0-9.3-8.1-16.5-17.3-15.4zM233.2 512c3.7 0 6.8-3 6.8-6.8V452.6c0-8.1-6.1-14.9-14.1-15.9l-160.6-19c-9.2-1.1-17.3 6.1-17.3 15.4c0 6.5 4 12.3 10.1 14.5l172.7 64c.8 .3 1.6 .4 2.4 .4zM41.7 382.9l170.9 20.2c7.8 .9 13.4-7.5 9.5-14.3l-85.7-150c-5.9-10.4-20.7-10.8-27.3-.8L30.2 358.2c-6.5 9.9-.3 23.3 11.5 24.7zm439.6-24.8L402.9 238.1c-6.5-10-21.4-9.6-27.3 .8L290.2 388.5c-3.9 6.8 1.6 15.2 9.5 14.3l170.1-20c11.8-1.4 18-14.7 11.5-24.6zm-216.9 11l78.4-137.2c6.1-10.7-1.6-23.9-13.9-23.9H183.1c-12.3 0-20 13.3-13.9 23.9l78.4 137.2c3.7 6.4 13 6.4 16.7 0zM174.4 176H337.6c12.2 0 19.9-13.1 14-23.8l-80-144c-2.8-5.1-8.2-8.2-14-8.2h-3.2c-5.8 0-11.2 3.2-14 8.2l-80 144c-5.9 10.7 1.8 23.8 14 23.8z\"]\n};\nvar faTruckDroplet = {\n prefix: 'fas',\n iconName: 'truck-droplet',\n icon: [640, 512, [], \"e58c\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM208 272c39.8 0 72-29.6 72-66c0-27-39.4-82.9-59.9-110.3c-6.1-8.2-18.1-8.2-24.2 0C175.4 123 136 179 136 206c0 36.5 32.2 66 72 66z\"]\n};\nvar faFileCircleXmark = {\n prefix: 'fas',\n iconName: 'file-circle-xmark',\n icon: [576, 512, [], \"e5a1\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faTemperatureArrowUp = {\n prefix: 'fas',\n iconName: 'temperature-arrow-up',\n icon: [576, 512, [\"temperature-up\"], \"e040\", \"M128 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C249.8 332.6 256 349.5 256 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5V112zM176 0C114.1 0 64 50.1 64 112V276.4c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C43.2 304.2 32 334.8 32 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C288 50.1 237.9 0 176 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zM480 160h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V160z\"]\n};\nvar faTemperatureUp = faTemperatureArrowUp;\nvar faMedal = {\n prefix: 'fas',\n iconName: 'medal',\n icon: [512, 512, [127941], \"f5a2\", \"M4.1 38.2C1.4 34.2 0 29.4 0 24.6C0 11 11 0 24.6 0H133.9c11.2 0 21.7 5.9 27.4 15.5l68.5 114.1c-48.2 6.1-91.3 28.6-123.4 61.9L4.1 38.2zm503.7 0L405.6 191.5c-32.1-33.3-75.2-55.8-123.4-61.9L350.7 15.5C356.5 5.9 366.9 0 378.1 0H487.4C501 0 512 11 512 24.6c0 4.8-1.4 9.6-4.1 13.6zM80 336a176 176 0 1 1 352 0A176 176 0 1 1 80 336zm184.4-94.9c-3.4-7-13.3-7-16.8 0l-22.4 45.4c-1.4 2.8-4 4.7-7 5.1L168 298.9c-7.7 1.1-10.7 10.5-5.2 16l36.3 35.4c2.2 2.2 3.2 5.2 2.7 8.3l-8.6 49.9c-1.3 7.6 6.7 13.5 13.6 9.9l44.8-23.6c2.7-1.4 6-1.4 8.7 0l44.8 23.6c6.9 3.6 14.9-2.2 13.6-9.9l-8.6-49.9c-.5-3 .5-6.1 2.7-8.3l36.3-35.4c5.6-5.4 2.5-14.8-5.2-16l-50.1-7.3c-3-.4-5.7-2.4-7-5.1l-22.4-45.4z\"]\n};\nvar faBed = {\n prefix: 'fas',\n iconName: 'bed',\n icon: [640, 512, [128716], \"f236\", \"M32 32c17.7 0 32 14.3 32 32V320H288V160c0-17.7 14.3-32 32-32H544c53 0 96 43 96 96V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H352 320 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 46.3 14.3 32 32 32zm144 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faSquareH = {\n prefix: 'fas',\n iconName: 'square-h',\n icon: [448, 512, [\"h-square\"], \"f0fd\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM336 152V256 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H160l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24v80H288V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHSquare = faSquareH;\nvar faPodcast = {\n prefix: 'fas',\n iconName: 'podcast',\n icon: [448, 512, [], \"f2ce\", \"M319.4 372c48.5-31.3 80.6-85.9 80.6-148c0-97.2-78.8-176-176-176S48 126.8 48 224c0 62.1 32.1 116.6 80.6 148c1.2 17.3 4 38 7.2 57.1l.2 1C56 395.8 0 316.5 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224c0 92.5-56 171.9-136 206.1l.2-1.1c3.1-19.2 6-39.8 7.2-57zm-2.3-38.1c-1.6-5.7-3.9-11.1-7-16.2c-5.8-9.7-13.5-17-21.9-22.4c19.5-17.6 31.8-43 31.8-71.3c0-53-43-96-96-96s-96 43-96 96c0 28.3 12.3 53.8 31.8 71.3c-8.4 5.4-16.1 12.7-21.9 22.4c-3.1 5.1-5.4 10.5-7 16.2C99.8 307.5 80 268 80 224c0-79.5 64.5-144 144-144s144 64.5 144 144c0 44-19.8 83.5-50.9 109.9zM224 312c32.9 0 64 8.6 64 43.8c0 33-12.9 104.1-20.6 132.9c-5.1 19-24.5 23.4-43.4 23.4s-38.2-4.4-43.4-23.4c-7.8-28.5-20.6-99.7-20.6-132.8c0-35.1 31.1-43.8 64-43.8zm0-144a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faTemperatureFull = {\n prefix: 'fas',\n iconName: 'temperature-full',\n icon: [320, 512, [\"temperature-4\", \"thermometer-4\", \"thermometer-full\"], \"f2c7\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V112c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature4 = faTemperatureFull;\nvar faThermometer4 = faTemperatureFull;\nvar faThermometerFull = faTemperatureFull;\nvar faBell = {\n prefix: 'fas',\n iconName: 'bell',\n icon: [448, 512, [128276, 61602], \"f0f3\", \"M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z\"]\n};\nvar faSuperscript = {\n prefix: 'fas',\n iconName: 'superscript',\n icon: [512, 512, [], \"f12b\", \"M480 32c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32 16c-15.8 7.9-22.2 27.1-14.3 42.9C393 73.5 404.3 80 416 80v80c-17.7 0-32 14.3-32 32s14.3 32 32 32h32 32c17.7 0 32-14.3 32-32s-14.3-32-32-32V32zM32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H47.3l89.6 128L47.3 384H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64c10.4 0 20.2-5.1 26.2-13.6L176 311.8l85.8 122.6c6 8.6 15.8 13.6 26.2 13.6h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H304.7L215.1 256l89.6-128H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H288c-10.4 0-20.2 5.1-26.2 13.6L176 200.2 90.2 77.6C84.2 69.1 74.4 64 64 64H32z\"]\n};\nvar faPlugCircleXmark = {\n prefix: 'fas',\n iconName: 'plug-circle-xmark',\n icon: [576, 512, [], \"e560\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faStarOfLife = {\n prefix: 'fas',\n iconName: 'star-of-life',\n icon: [512, 512, [], \"f621\", \"M208 32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V172.9l122-70.4c15.3-8.8 34.9-3.6 43.7 11.7l16 27.7c8.8 15.3 3.6 34.9-11.7 43.7L352 256l122 70.4c15.3 8.8 20.5 28.4 11.7 43.7l-16 27.7c-8.8 15.3-28.4 20.6-43.7 11.7L304 339.1V480c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V339.1L86 409.6c-15.3 8.8-34.9 3.6-43.7-11.7l-16-27.7c-8.8-15.3-3.6-34.9 11.7-43.7L160 256 38 185.6c-15.3-8.8-20.5-28.4-11.7-43.7l16-27.7C51.1 98.8 70.7 93.6 86 102.4l122 70.4V32z\"]\n};\nvar faPhoneSlash = {\n prefix: 'fas',\n iconName: 'phone-slash',\n icon: [640, 512, [], \"f3dd\", \"M228.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C76.1 30.2 64 46 64 64c0 107.4 37.8 206 100.8 283.1L9.2 469.1c-10.4 8.2-12.3 23.3-4.1 33.7s23.3 12.3 33.7 4.1l592-464c10.4-8.2 12.3-23.3 4.1-33.7s-23.3-12.3-33.7-4.1L253 278c-17.8-21.5-32.9-45.2-45-70.7L257.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96zm96.8 319l-91.3 72C310.7 476 407.1 512 512 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L368.7 368c-15-7.1-29.3-15.2-43-24.3z\"]\n};\nvar faPaintRoller = {\n prefix: 'fas',\n iconName: 'paint-roller',\n icon: [512, 512, [], \"f5aa\", \"M0 64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM160 352c0-17.7 14.3-32 32-32V304c0-44.2 35.8-80 80-80H416c17.7 0 32-14.3 32-32V160 69.5c37.3 13.2 64 48.7 64 90.5v32c0 53-43 96-96 96H272c-8.8 0-16 7.2-16 16v16c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V352z\"]\n};\nvar faHandshakeAngle = {\n prefix: 'fas',\n iconName: 'handshake-angle',\n icon: [640, 512, [\"hands-helping\"], \"f4c4\", \"M544 248v3.3l69.7-69.7c21.9-21.9 21.9-57.3 0-79.2L535.6 24.4c-21.9-21.9-57.3-21.9-79.2 0L416.3 64.5c-2.7-.3-5.5-.5-8.3-.5H296c-37.1 0-67.6 28-71.6 64H224V248c0 22.1 17.9 40 40 40s40-17.9 40-40V176c0 0 0-.1 0-.1V160l16 0 136 0c0 0 0 0 .1 0H464c44.2 0 80 35.8 80 80v8zM336 192v56c0 39.8-32.2 72-72 72s-72-32.2-72-72V129.4c-35.9 6.2-65.8 32.3-76 68.2L99.5 255.2 26.3 328.4c-21.9 21.9-21.9 57.3 0 79.2l78.1 78.1c21.9 21.9 57.3 21.9 79.2 0l37.7-37.7c.9 0 1.8 .1 2.7 .1H384c26.5 0 48-21.5 48-48c0-5.6-1-11-2.7-16H432c26.5 0 48-21.5 48-48c0-12.8-5-24.4-13.2-33c25.7-5 45.1-27.6 45.2-54.8v-.4c-.1-30.8-25.1-55.8-56-55.8c0 0 0 0 0 0l-120 0z\"]\n};\nvar faHandsHelping = faHandshakeAngle;\nvar faLocationDot = {\n prefix: 'fas',\n iconName: 'location-dot',\n icon: [384, 512, [\"map-marker-alt\"], \"f3c5\", \"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faMapMarkerAlt = faLocationDot;\nvar faFile = {\n prefix: 'fas',\n iconName: 'file',\n icon: [384, 512, [128196, 128459, 61462], \"f15b\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128z\"]\n};\nvar faGreaterThan = {\n prefix: 'fas',\n iconName: 'greater-than',\n icon: [384, 512, [62769], \"3e\", \"M3.4 81.7c-7.9 15.8-1.5 35 14.3 42.9L280.5 256 17.7 387.4C1.9 395.3-4.5 414.5 3.4 430.3s27.1 22.2 42.9 14.3l320-160c10.8-5.4 17.7-16.5 17.7-28.6s-6.8-23.2-17.7-28.6l-320-160c-15.8-7.9-35-1.5-42.9 14.3z\"]\n};\nvar faPersonSwimming = {\n prefix: 'fas',\n iconName: 'person-swimming',\n icon: [576, 512, [127946, \"swimmer\"], \"f5c4\", \"M309.5 178.4L447.9 297.1c-1.6 .9-3.2 2-4.8 3c-18 12.4-40.1 20.3-59.2 20.3c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-10.1 0-21.1-2.2-31.9-6.2C163.1 193.2 262.2 96 384 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-26.9 0-52.3 6.6-74.5 18.4zM160 160A64 64 0 1 1 32 160a64 64 0 1 1 128 0zM306.5 325.9C329 341.4 356.5 352 384 352c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 405.7 417 416 384 416c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 341.2 165.1 352 192 352c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faSwimmer = faPersonSwimming;\nvar faArrowDown = {\n prefix: 'fas',\n iconName: 'arrow-down',\n icon: [384, 512, [8595], \"f063\", \"M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"]\n};\nvar faDroplet = {\n prefix: 'fas',\n iconName: 'droplet',\n icon: [384, 512, [128167, \"tint\"], \"f043\", \"M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z\"]\n};\nvar faTint = faDroplet;\nvar faEraser = {\n prefix: 'fas',\n iconName: 'eraser',\n icon: [576, 512, [], \"f12d\", \"M290.7 57.4L57.4 290.7c-25 25-25 65.5 0 90.5l80 80c12 12 28.3 18.7 45.3 18.7H288h9.4H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H387.9L518.6 285.3c25-25 25-65.5 0-90.5L381.3 57.4c-25-25-65.5-25-90.5 0zM297.4 416H288l-105.4 0-80-80L227.3 211.3 364.7 348.7 297.4 416z\"]\n};\nvar faEarthAmericas = {\n prefix: 'fas',\n iconName: 'earth-americas',\n icon: [512, 512, [127758, \"earth\", \"earth-america\", \"globe-americas\"], \"f57d\", \"M57.7 193l9.4 16.4c8.3 14.5 21.9 25.2 38 29.8L163 255.7c17.2 4.9 29 20.6 29 38.5v39.9c0 11 6.2 21 16 25.9s16 14.9 16 25.9v39c0 15.6 14.9 26.9 29.9 22.6c16.1-4.6 28.6-17.5 32.7-33.8l2.8-11.2c4.2-16.9 15.2-31.4 30.3-40l8.1-4.6c15-8.5 24.2-24.5 24.2-41.7v-8.3c0-12.7-5.1-24.9-14.1-33.9l-3.9-3.9c-9-9-21.2-14.1-33.9-14.1H257c-11.1 0-22.1-2.9-31.8-8.4l-34.5-19.7c-4.3-2.5-7.6-6.5-9.2-11.2c-3.2-9.6 1.1-20 10.2-24.5l5.9-3c6.6-3.3 14.3-3.9 21.3-1.5l23.2 7.7c8.2 2.7 17.2-.4 21.9-7.5c4.7-7 4.2-16.3-1.2-22.8l-13.6-16.3c-10-12-9.9-29.5 .3-41.3l15.7-18.3c8.8-10.3 10.2-25 3.5-36.7l-2.4-4.2c-3.5-.2-6.9-.3-10.4-.3C163.1 48 84.4 108.9 57.7 193zM464 256c0-36.8-9.6-71.4-26.4-101.5L412 164.8c-15.7 6.3-23.8 23.8-18.5 39.8l16.9 50.7c3.5 10.4 12 18.3 22.6 20.9l29.1 7.3c1.2-9 1.8-18.2 1.8-27.5zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faEarth = faEarthAmericas;\nvar faEarthAmerica = faEarthAmericas;\nvar faGlobeAmericas = faEarthAmericas;\nvar faPersonBurst = {\n prefix: 'fas',\n iconName: 'person-burst',\n icon: [640, 512, [], \"e53b\", \"M480 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H465.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L408 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 50.5-7.8 24.4-40.5-55.2-38L315 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74z\"]\n};\nvar faDove = {\n prefix: 'fas',\n iconName: 'dove',\n icon: [512, 512, [128330], \"f4ba\", \"M160.8 96.5c14 17 31 30.9 49.5 42.2c25.9 15.8 53.7 25.9 77.7 31.6V138.8C265.8 108.5 250 71.5 248.6 28c-.4-11.3-7.5-21.5-18.4-24.4c-7.6-2-15.8-.2-21 5.8c-13.3 15.4-32.7 44.6-48.4 87.2zM320 144v30.6l0 0v1.3l0 0 0 32.1c-60.8-5.1-185-43.8-219.3-157.2C97.4 40 87.9 32 76.6 32c-7.9 0-15.3 3.9-18.8 11C46.8 65.9 32 112.1 32 176c0 116.9 80.1 180.5 118.4 202.8L11.8 416.6C6.7 418 2.6 421.8 .9 426.8s-.8 10.6 2.3 14.8C21.7 466.2 77.3 512 160 512c3.6 0 7.2-1.2 10-3.5L245.6 448H320c88.4 0 160-71.6 160-160V128l29.9-44.9c1.3-2 2.1-4.4 2.1-6.8c0-6.8-5.5-12.3-12.3-12.3H400c-44.2 0-80 35.8-80 80zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faBatteryEmpty = {\n prefix: 'fas',\n iconName: 'battery-empty',\n icon: [576, 512, [\"battery-0\"], \"f244\", \"M80 160c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zM0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176z\"]\n};\nvar faBattery0 = faBatteryEmpty;\nvar faSocks = {\n prefix: 'fas',\n iconName: 'socks',\n icon: [512, 512, [129510], \"f696\", \"M175.2 476.6c-9.7-18-15.2-38.7-15.2-60.6c0-40.3 19-78.2 51.2-102.4l64-48c8.1-6 12.8-15.5 12.8-25.6V96H128V240c0 20.1-9.5 39.1-25.6 51.2l-64 48C14.2 357.3 0 385.8 0 416c0 53 43 96 96 96c20.8 0 41-6.7 57.6-19.2l21.6-16.2zM128 64H288V48c0-14.5 3.9-28.2 10.7-39.9C291 3 281.9 0 272 0H176c-26.5 0-48 21.5-48 48V64zM320 96V240c0 20.1-9.5 39.1-25.6 51.2l-64 48C206.2 357.3 192 385.8 192 416c0 53 43 96 96 96c20.8 0 41-6.7 57.6-19.2l115.2-86.4C493 382.2 512 344.3 512 304V96H320zM512 64V48c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48V64H512z\"]\n};\nvar faInbox = {\n prefix: 'fas',\n iconName: 'inbox',\n icon: [512, 512, [], \"f01c\", \"M121 32C91.6 32 66 52 58.9 80.5L1.9 308.4C.6 313.5 0 318.7 0 323.9V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V323.9c0-5.2-.6-10.4-1.9-15.5l-57-227.9C446 52 420.4 32 391 32H121zm0 64H391l48 192H387.8c-12.1 0-23.2 6.8-28.6 17.7l-14.3 28.6c-5.4 10.8-16.5 17.7-28.6 17.7H195.8c-12.1 0-23.2-6.8-28.6-17.7l-14.3-28.6c-5.4-10.8-16.5-17.7-28.6-17.7H73L121 96z\"]\n};\nvar faSection = {\n prefix: 'fas',\n iconName: 'section',\n icon: [256, 512, [], \"e447\", \"M64.9 96C67.1 84.4 73.7 76.2 86 70.6c13.8-6.2 34.8-8.9 61.2-4.5c8.8 1.4 36.1 7.1 44.1 9.3c17 4.8 34.7-5.1 39.5-22.2s-5.1-34.7-22.2-39.5c-11.1-3.1-41-9.2-50.9-10.8C123-2.7 88.3-.6 59.7 12.3C29.9 25.8 7.5 50.9 1.6 86.5c-.1 .5-.2 1.1-.2 1.6c-2.2 19.7 .3 37.9 8.1 54.1c7.7 16.1 19.4 28 32 36.9c.6 .5 1.3 .9 2 1.4C22.3 194.2 6.5 215.1 1.7 243c-.1 .6-.2 1.1-.2 1.7c-2.3 19.3 .4 37.1 8.4 53c7.9 15.6 19.8 27 32.3 35.5c22.4 15.2 51.9 24 75.4 31l0 0 3.7 1.1c27.2 8.2 46.9 14.6 59.4 23.8c5.5 4 8.2 7.6 9.5 10.9c1.3 3.2 2.6 8.6 .9 18.1c-1.7 10.1-7.7 18-20.7 23.5c-14 6-35.4 8.5-62 4.4c-12.8-2.1-35.1-9.7-54.1-16.2l0 0c-4.3-1.5-8.5-2.9-12.3-4.2C25.3 420 7.2 429.1 1.6 445.8s3.5 34.9 20.3 40.5c2.6 .8 5.7 1.9 9.2 3.1c18.6 6.3 48.5 16.6 67.3 19.6l0 0 .2 0c34.5 5.4 68.8 3.4 97.2-8.7c29.4-12.6 52.5-36.5 58.5-71.5c3.3-19.3 1.9-37.4-5-53.9c-6.3-15-16.4-26.4-27.6-35.2c16.5-13.9 28.5-33.2 32.6-58.2c3.2-19.8 1.9-38.3-4.8-55.1c-6.7-16.8-17.8-29.4-30.2-39c-22.8-17.6-53.6-27.4-77.7-35l-1.4-.5c-27.4-8.7-47.8-15.3-61.5-25c-6.1-4.4-9.5-8.5-11.4-12.4c-1.8-3.7-3.2-9.3-2.3-18.5zm76.7 208.5c-.2-.1-.4-.1-.6-.2l-1.4-.4c-27.4-8.2-47.9-14.5-61.7-23.8c-6.2-4.2-9.3-7.9-11-11.3c-1.5-3-2.9-7.7-2.1-15.7c1.9-9.7 7.9-17.3 20.5-22.7c14-6 35.4-8.5 62.1-4.3l16.4 2.6c6.3 2.9 11.7 6 16.2 9.5c5.5 4.2 8.4 8.2 10 12.2c1.6 4 2.8 10.4 1.1 20.9c-2.4 14.7-12.8 26.4-37.1 31l-12.4 2.3z\"]\n};\nvar faGaugeHigh = {\n prefix: 'fas',\n iconName: 'gauge-high',\n icon: [512, 512, [62461, \"tachometer-alt\", \"tachometer-alt-fast\"], \"f625\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTachometerAlt = faGaugeHigh;\nvar faTachometerAltFast = faGaugeHigh;\nvar faEnvelopeOpenText = {\n prefix: 'fas',\n iconName: 'envelope-open-text',\n icon: [512, 512, [], \"f658\", \"M215.4 96H144 107.8 96v8.8V144v40.4 89L.2 202.5c1.6-18.1 10.9-34.9 25.7-45.8L48 140.3V96c0-26.5 21.5-48 48-48h76.6l49.9-36.9C232.2 3.9 243.9 0 256 0s23.8 3.9 33.5 11L339.4 48H416c26.5 0 48 21.5 48 48v44.3l22.1 16.4c14.8 10.9 24.1 27.7 25.7 45.8L416 273.4v-89V144 104.8 96H404.2 368 296.6 215.4zM0 448V242.1L217.6 403.3c11.1 8.2 24.6 12.7 38.4 12.7s27.3-4.4 38.4-12.7L512 242.1V448v0c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64v0zM176 160H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faHospital = {\n prefix: 'fas',\n iconName: 'hospital',\n icon: [640, 512, [127973, 62589, \"hospital-alt\", \"hospital-wide\"], \"f0f8\", \"M192 48c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48V512H368V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H192V48zM48 96H160V512H48c-26.5 0-48-21.5-48-48V320H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H0V224H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H0V144c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v48H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h80V464c0 26.5-21.5 48-48 48H480V96H592zM312 64c-8.8 0-16 7.2-16 16v24H272c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V152h24c8.8 0 16-7.2 16-16V120c0-8.8-7.2-16-16-16H344V80c0-8.8-7.2-16-16-16H312z\"]\n};\nvar faHospitalAlt = faHospital;\nvar faHospitalWide = faHospital;\nvar faWineBottle = {\n prefix: 'fas',\n iconName: 'wine-bottle',\n icon: [512, 512, [], \"f72f\", \"M393.4 9.4c12.5-12.5 32.8-12.5 45.3 0l64 64c12.5 12.5 12.5 32.8 0 45.3c-11.8 11.8-30.7 12.5-43.2 1.9l-9.5 9.5-48.8 48.8c-9.2 9.2-11.5 22.9-8.6 35.6c9.4 40.9-1.9 85.6-33.8 117.5L197.3 493.3c-25 25-65.5 25-90.5 0l-88-88c-25-25-25-65.5 0-90.5L180.2 153.3c31.9-31.9 76.6-43.1 117.5-33.8c12.6 2.9 26.4 .5 35.5-8.6l48.8-48.8 9.5-9.5c-10.6-12.6-10-31.4 1.9-43.2zM99.3 347.3l65.4 65.4c6.2 6.2 16.4 6.2 22.6 0l97.4-97.4c6.2-6.2 6.2-16.4 0-22.6l-65.4-65.4c-6.2-6.2-16.4-6.2-22.6 0L99.3 324.7c-6.2 6.2-6.2 16.4 0 22.6z\"]\n};\nvar faChessRook = {\n prefix: 'fas',\n iconName: 'chess-rook',\n icon: [448, 512, [9820], \"f447\", \"M32 192V48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V88c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V88c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V192c0 10.1-4.7 19.6-12.8 25.6L352 256l16 144H80L96 256 44.8 217.6C36.7 211.6 32 202.1 32 192zm176 96h32c8.8 0 16-7.2 16-16V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 8.8 7.2 16 16 16zM22.6 473.4L64 432H384l41.4 41.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H38.6C26.1 512 16 501.9 16 489.4c0-6 2.4-11.8 6.6-16z\"]\n};\nvar faBarsStaggered = {\n prefix: 'fas',\n iconName: 'bars-staggered',\n icon: [512, 512, [\"reorder\", \"stream\"], \"f550\", \"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM64 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"]\n};\nvar faReorder = faBarsStaggered;\nvar faStream = faBarsStaggered;\nvar faDharmachakra = {\n prefix: 'fas',\n iconName: 'dharmachakra',\n icon: [512, 512, [9784], \"f655\", \"M337.8 205.7l48.6-42.5c13.8 19.3 23.4 41.9 27.4 66.2l-64.4 4.3c-2.4-10.1-6.4-19.5-11.6-28zm140.1 19.5c-5.3-38.8-20.6-74.5-43.2-104.3l.8-.7C449 108.4 449.7 87.6 437 75s-33.4-12-45.2 1.5l-.7 .8c-29.8-22.6-65.5-37.9-104.3-43.2l.1-1.1c1.2-17.9-13-33-30.9-33s-32.1 15.2-30.9 33l.1 1.1c-38.8 5.3-74.5 20.6-104.3 43.2l-.7-.8C108.4 63 87.6 62.3 75 75s-12 33.4 1.5 45.2l.8 .7c-22.6 29.8-37.9 65.5-43.2 104.3l-1.1-.1c-17.9-1.2-33 13-33 30.9s15.2 32.1 33 30.9l1.1-.1c5.3 38.8 20.6 74.5 43.2 104.3l-.8 .7C63 403.6 62.3 424.4 75 437s33.4 12 45.2-1.5l.7-.8c29.8 22.6 65.5 37.9 104.3 43.2l-.1 1.1c-1.2 17.9 13 33 30.9 33s32.1-15.2 30.9-33l-.1-1.1c38.8-5.3 74.5-20.6 104.3-43.2l.7 .8c11.8 13.5 32.5 14.2 45.2 1.5s12-33.4-1.5-45.2l-.8-.7c22.6-29.8 37.9-65.5 43.2-104.3l1.1 .1c17.9 1.2 33-13 33-30.9s-15.2-32.1-33-30.9l-1.1 .1zM163.2 125.6c19.3-13.8 41.9-23.4 66.2-27.5l4.3 64.4c-10 2.4-19.5 6.4-28 11.6l-42.5-48.6zm-65 103.8c4.1-24.4 13.7-46.9 27.5-66.2l48.6 42.5c-5.3 8.5-9.2 18-11.6 28l-64.4-4.3zm27.5 119.4c-13.8-19.3-23.4-41.9-27.5-66.2l64.4-4.3c2.4 10 6.4 19.5 11.6 28l-48.6 42.5zm103.8 65c-24.4-4.1-46.9-13.7-66.2-27.4l42.5-48.6c8.5 5.3 18 9.2 28 11.6l-4.3 64.4zm119.4-27.4c-19.3 13.8-41.9 23.4-66.2 27.4l-4.3-64.4c10-2.4 19.5-6.4 28-11.6l42.5 48.6zm65-103.8c-4.1 24.4-13.7 46.9-27.4 66.2l-48.6-42.5c5.3-8.5 9.2-18 11.6-28l64.4 4.3zm-65-156.9l-42.5 48.6c-8.5-5.3-18-9.2-28-11.6l4.3-64.4c24.4 4.1 46.9 13.7 66.2 27.5zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHotdog = {\n prefix: 'fas',\n iconName: 'hotdog',\n icon: [512, 512, [127789], \"f80f\", \"M488.6 23.4c31.2 31.2 31.2 81.9 0 113.1l-352 352c-31.2 31.2-81.9 31.2-113.1 0s-31.2-81.9 0-113.1l352-352c31.2-31.2 81.9-31.2 113.1 0zM443.3 92.7c-6.2-6.2-16.4-6.2-22.6 0c-12.5 12.5-23.8 15.1-37.5 17.6l-2.5 .4c-13.8 2.5-31.6 5.6-48 22c-16.7 16.7-20.9 36-24.1 50.9l0 0v0l-.2 1c-3.4 15.6-6 26.4-15.7 36.1s-20.5 12.3-36.1 15.7l-1 .2c-14.9 3.2-34.2 7.4-50.9 24.1s-20.9 36-24.1 50.9l-.2 1c-3.4 15.6-6 26.4-15.7 36.1c-9.2 9.2-18 10.8-32.7 13.4l0 0-.9 .2c-15.6 2.8-34.9 6.9-54.4 26.4c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c12.5-12.5 23.8-15.1 37.5-17.6l2.5-.4c13.8-2.5 31.6-5.6 48-22c16.7-16.7 20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1s20.5-12.3 36.1-15.7l1-.2c14.9-3.2 34.2-7.4 50.9-24.1s20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1c9.2-9.2 18-10.8 32.7-13.4l.9-.2c15.6-2.8 34.9-6.9 54.4-26.4c6.2-6.2 6.2-16.4 0-22.6zM191.2 479.2l288-288L495 207c10.9 10.9 17 25.6 17 41s-6.1 30.1-17 41L289 495c-10.9 10.9-25.6 17-41 17s-30.1-6.1-41-17l-15.8-15.8zM17 305C6.1 294.1 0 279.4 0 264s6.1-30.1 17-41L223 17C233.9 6.1 248.6 0 264 0s30.1 6.1 41 17l15.8 15.8-288 288L17 305z\"]\n};\nvar faPersonWalkingWithCane = {\n prefix: 'fas',\n iconName: 'person-walking-with-cane',\n icon: [512, 512, [\"blind\"], \"f29d\", \"M176 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8.4 32c-36.4 0-69.6 20.5-85.9 53.1L35.4 273.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L128 231.6v43.2c0 17 6.7 33.3 18.7 45.3L224 397.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V390.6c0-12.7-5.1-24.9-14.1-33.9L224 306.7V213.3l70.4 93.9c10.6 14.1 30.7 17 44.8 6.4s17-30.7 6.4-44.8L268.8 166.4C250.7 142.2 222.2 128 192 128H167.6zM128.3 346.8L97 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l22-88.2-52.8-52.8zM450.8 505.1c5 7.3 15 9.1 22.3 4s9.1-15 4-22.3L358.9 316.1c-2.8 3.8-6.1 7.3-10.1 10.3c-5 3.8-10.5 6.4-16.2 7.9L450.8 505.1z\"]\n};\nvar faBlind = faPersonWalkingWithCane;\nvar faDrum = {\n prefix: 'fas',\n iconName: 'drum',\n icon: [512, 512, [129345], \"f569\", \"M501.2 76.1c11.1-7.3 14.2-22.1 6.9-33.2s-22.1-14.2-33.2-6.9L370.2 104.5C335.8 98.7 297 96 256 96C114.6 96 0 128 0 208V368c0 31.3 27.4 58.8 72 78.7V344c0-13.3 10.7-24 24-24s24 10.7 24 24V463.4c33 8.9 71.1 14.5 112 16.1V376c0-13.3 10.7-24 24-24s24 10.7 24 24V479.5c40.9-1.6 79-7.2 112-16.1V344c0-13.3 10.7-24 24-24s24 10.7 24 24V446.7c44.6-19.9 72-47.4 72-78.7V208c0-41.1-30.2-69.5-78.8-87.4l67.9-44.5zM307.4 145.6l-64.6 42.3c-11.1 7.3-14.2 22.1-6.9 33.2s22.1 14.2 33.2 6.9l111.1-72.8c14.7 3.2 27.9 7 39.4 11.5C458.4 181.8 464 197.4 464 208c0 .8-2.7 17.2-46 35.9C379.1 260.7 322 272 256 272s-123.1-11.3-162-28.1C50.7 225.2 48 208.8 48 208c0-10.6 5.6-26.2 44.4-41.3C130.6 151.9 187.8 144 256 144c18 0 35.1 .5 51.4 1.6z\"]\n};\nvar faIceCream = {\n prefix: 'fas',\n iconName: 'ice-cream',\n icon: [448, 512, [127848], \"f810\", \"M367.1 160c.6-5.3 .9-10.6 .9-16C368 64.5 303.5 0 224 0S80 64.5 80 144c0 5.4 .3 10.7 .9 16H80c-26.5 0-48 21.5-48 48s21.5 48 48 48h53.5 181H368c26.5 0 48-21.5 48-48s-21.5-48-48-48h-.9zM96 288L200.8 497.7c4.4 8.8 13.3 14.3 23.2 14.3s18.8-5.5 23.2-14.3L352 288H96z\"]\n};\nvar faHeartCircleBolt = {\n prefix: 'fas',\n iconName: 'heart-circle-bolt',\n icon: [576, 512, [], \"e4fc\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356H488c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380H376c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nvar faFax = {\n prefix: 'fas',\n iconName: 'fax',\n icon: [512, 512, [128224, 128439], \"f1ac\", \"M128 64v96h64V64H386.7L416 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L432 18.7C420 6.7 403.7 0 386.7 0H192c-35.3 0-64 28.7-64 64zM0 160V480c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zm480 32H128V480c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM256 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faParagraph = {\n prefix: 'fas',\n iconName: 'paragraph',\n icon: [448, 512, [182], \"f1dd\", \"M192 32h64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H384l0 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-352H288V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H192c-88.4 0-160-71.6-160-160s71.6-160 160-160z\"]\n};\nvar faCheckToSlot = {\n prefix: 'fas',\n iconName: 'check-to-slot',\n icon: [576, 512, [\"vote-yea\"], \"f772\", \"M96 80c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48V384H96V80zm313 47c-9.4-9.4-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L409 161c9.4-9.4 9.4-24.6 0-33.9zM0 336c0-26.5 21.5-48 48-48H64V416H512V288h16c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336z\"]\n};\nvar faVoteYea = faCheckToSlot;\nvar faStarHalf = {\n prefix: 'fas',\n iconName: 'star-half',\n icon: [576, 512, [61731], \"f089\", \"M288 0c-12.2 .1-23.3 7-28.6 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3L288 439.8V0zM429.9 512c1.1 .1 2.1 .1 3.2 0h-3.2z\"]\n};\nvar faBoxesStacked = {\n prefix: 'fas',\n iconName: 'boxes-stacked',\n icon: [576, 512, [62625, \"boxes\", \"boxes-alt\"], \"f468\", \"M248 0H208c-26.5 0-48 21.5-48 48V160c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V48c0-26.5-21.5-48-48-48H328V80c0 8.8-7.2 16-16 16H264c-8.8 0-16-7.2-16-16V0zM64 256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H184v80c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V256H64zM352 512H512c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H472v80c0 8.8-7.2 16-16 16H408c-8.8 0-16-7.2-16-16V256H352c-15 0-28.8 5.1-39.7 13.8c4.9 10.4 7.7 22 7.7 34.2V464c0 12.2-2.8 23.8-7.7 34.2C323.2 506.9 337 512 352 512z\"]\n};\nvar faBoxes = faBoxesStacked;\nvar faBoxesAlt = faBoxesStacked;\nvar faLink = {\n prefix: 'fas',\n iconName: 'link',\n icon: [640, 512, [128279, \"chain\"], \"f0c1\", \"M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z\"]\n};\nvar faChain = faLink;\nvar faEarListen = {\n prefix: 'fas',\n iconName: 'ear-listen',\n icon: [512, 512, [\"assistive-listening-systems\"], \"f2a2\", \"M398.3 3.4c-15.8-7.9-35-1.5-42.9 14.3c-7.9 15.8-1.5 34.9 14.2 42.9l.4 .2c.4 .2 1.1 .6 2.1 1.2c2 1.2 5 3 8.7 5.6c7.5 5.2 17.6 13.2 27.7 24.2C428.5 113.4 448 146 448 192c0 17.7 14.3 32 32 32s32-14.3 32-32c0-66-28.5-113.4-56.5-143.7C441.6 33.2 427.7 22.2 417.3 15c-5.3-3.7-9.7-6.4-13-8.3c-1.6-1-3-1.7-4-2.2c-.5-.3-.9-.5-1.2-.7l-.4-.2-.2-.1-.1 0 0 0c0 0 0 0-14.3 28.6L398.3 3.4zM128.7 227.5c6.2-56 53.7-99.5 111.3-99.5c61.9 0 112 50.1 112 112c0 29.3-11.2 55.9-29.6 75.9c-17 18.4-34.4 45.1-34.4 78V400c0 26.5-21.5 48-48 48c-17.7 0-32 14.3-32 32s14.3 32 32 32c61.9 0 112-50.1 112-112v-6.1c0-9.8 5.4-21.7 17.4-34.7C398.3 327.9 416 286 416 240c0-97.2-78.8-176-176-176C149.4 64 74.8 132.5 65.1 220.5c-1.9 17.6 10.7 33.4 28.3 35.3s33.4-10.7 35.3-28.3zM32 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM192 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0zM208 240c0-17.7 14.3-32 32-32s32 14.3 32 32c0 13.3 10.7 24 24 24s24-10.7 24-24c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faAssistiveListeningSystems = faEarListen;\nvar faTreeCity = {\n prefix: 'fas',\n iconName: 'tree-city',\n icon: [640, 512, [], \"e587\", \"M288 48c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V192h40V120c0-13.3 10.7-24 24-24s24 10.7 24 24v72h24c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H432 336c-26.5 0-48-21.5-48-48V48zm64 32v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H368zM352 272v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm176-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H528zM512 368v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H528c-8.8 0-16 7.2-16 16zM224 160c0 6-1 11-2 16c20 14 34 38 34 64c0 45-36 80-80 80H160V480c0 18-15 32-32 32c-18 0-32-14-32-32V320H80c-45 0-80-35-80-80c0-26 13-50 33-64c-1-5-1-10-1-16c0-53 42-96 96-96c53 0 96 43 96 96z\"]\n};\nvar faPlay = {\n prefix: 'fas',\n iconName: 'play',\n icon: [384, 512, [9654], \"f04b\", \"M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z\"]\n};\nvar faFont = {\n prefix: 'fas',\n iconName: 'font',\n icon: [448, 512, [], \"f031\", \"M254 52.8C249.3 40.3 237.3 32 224 32s-25.3 8.3-30 20.8L57.8 416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-1.8l18-48H303.8l18 48H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H390.2L254 52.8zM279.8 304H168.2L224 155.1 279.8 304z\"]\n};\nvar faRupiahSign = {\n prefix: 'fas',\n iconName: 'rupiah-sign',\n icon: [512, 512, [], \"e23d\", \"M0 64C0 46.3 14.3 32 32 32h80c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320H64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 64zM64 256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H64V256zm256-96h80c61.9 0 112 50.1 112 112s-50.1 112-112 112H352v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352 192c0-17.7 14.3-32 32-32zm80 160c26.5 0 48-21.5 48-48s-21.5-48-48-48H352v96h48z\"]\n};\nvar faMagnifyingGlass = {\n prefix: 'fas',\n iconName: 'magnifying-glass',\n icon: [512, 512, [128269, \"search\"], \"f002\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"]\n};\nvar faSearch = faMagnifyingGlass;\nvar faTableTennisPaddleBall = {\n prefix: 'fas',\n iconName: 'table-tennis-paddle-ball',\n icon: [640, 512, [127955, \"ping-pong-paddle-ball\", \"table-tennis\"], \"f45d\", \"M480 288c-50.1 0-93.6 28.8-114.6 70.8L132.9 126.3l.6-.6 60.1-60.1c87.5-87.5 229.3-87.5 316.8 0c67.1 67.1 82.7 166.3 46.8 248.3C535.8 297.6 509 288 480 288zM113.3 151.9L354.1 392.7c-1.4 7.5-2.1 15.3-2.1 23.3c0 23.2 6.2 44.9 16.9 63.7c-3 .2-6.1 .3-9.2 .3H357c-33.9 0-66.5-13.5-90.5-37.5l-9.8-9.8c-13.1-13.1-34.6-12.4-46.8 1.7L152.2 501c-5.8 6.7-14.2 10.7-23 11s-17.5-3.1-23.8-9.4l-32-32c-6.3-6.3-9.7-14.9-9.4-23.8s4.3-17.2 11-23l66.6-57.7c14-12.2 14.8-33.7 1.7-46.8l-9.8-9.8c-24-24-37.5-56.6-37.5-90.5v-2.7c0-22.8 6.1-44.9 17.3-64.3zM480 320a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faPingPongPaddleBall = faTableTennisPaddleBall;\nvar faTableTennis = faTableTennisPaddleBall;\nvar faPersonDotsFromLine = {\n prefix: 'fas',\n iconName: 'person-dots-from-line',\n icon: [576, 512, [\"diagnoses\"], \"f470\", \"M288 176A88 88 0 1 0 288 0a88 88 0 1 0 0 176zM78.7 372.9c15-12.5 50-34.4 97.3-50.1V432H400V322.7c47.3 15.8 82.3 37.7 97.3 50.1c20.4 17 50.6 14.2 67.6-6.1s14.2-50.6-6.1-67.6c-12-10-30.1-22.5-53.2-35C497.2 278.4 481.7 288 464 288c-26.5 0-48-21.5-48-48c0-4.3 .6-8.4 1.6-12.4C379.1 215.9 335.3 208 288 208c-60.2 0-114.9 12.9-160 29.9c0 .7 0 1.4 0 2.1c0 26.5-21.5 48-48 48c-11.8 0-22.7-4.3-31-11.4c-13.1 8.1-23.7 15.9-31.7 22.5c-20.4 17-23.1 47.2-6.1 67.6s47.2 23.1 67.6 6.1zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM224 280a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM96 240a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm368 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faDiagnoses = faPersonDotsFromLine;\nvar faTrashCanArrowUp = {\n prefix: 'fas',\n iconName: 'trash-can-arrow-up',\n icon: [448, 512, [\"trash-restore-alt\"], \"f82a\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zm192 64c-6.4 0-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V408c0 13.3 10.7 24 24 24s24-10.7 24-24V273.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7z\"]\n};\nvar faTrashRestoreAlt = faTrashCanArrowUp;\nvar faNairaSign = {\n prefix: 'fas',\n iconName: 'naira-sign',\n icon: [448, 512, [], \"e1f6\", \"M122.6 46.3c-7.8-11.7-22.4-17-35.9-12.9S64 49.9 64 64V256H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320H228.2l97.2 145.8c7.8 11.7 22.4 17 35.9 12.9s22.7-16.5 22.7-30.6V320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H384V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V256H262.5L122.6 46.3zM305.1 320H320v22.3L305.1 320zM185.5 256H128V169.7L185.5 256z\"]\n};\nvar faCartArrowDown = {\n prefix: 'fas',\n iconName: 'cart-arrow-down',\n icon: [576, 512, [], \"f218\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H459.2c32.6 0 61.1-21.8 69.5-53.3l41-152.3C576.6 57 557.4 32 531.1 32H360V134.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V32H120.1C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faWalkieTalkie = {\n prefix: 'fas',\n iconName: 'walkie-talkie',\n icon: [384, 512, [], \"f8ef\", \"M112 24c0-13.3-10.7-24-24-24S64 10.7 64 24V96H48C21.5 96 0 117.5 0 144V300.1c0 12.7 5.1 24.9 14.1 33.9l3.9 3.9c9 9 14.1 21.2 14.1 33.9V464c0 26.5 21.5 48 48 48H304c26.5 0 48-21.5 48-48V371.9c0-12.7 5.1-24.9 14.1-33.9l3.9-3.9c9-9 14.1-21.2 14.1-33.9V144c0-26.5-21.5-48-48-48H320c0-17.7-14.3-32-32-32s-32 14.3-32 32H224c0-17.7-14.3-32-32-32s-32 14.3-32 32H112V24zm0 136H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFilePen = {\n prefix: 'fas',\n iconName: 'file-pen',\n icon: [576, 512, [128221, \"file-edit\"], \"f31c\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V285.7l-86.8 86.8c-10.3 10.3-17.5 23.1-21 37.2l-18.7 74.9c-2.3 9.2-1.8 18.8 1.3 27.5H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faFileEdit = faFilePen;\nvar faReceipt = {\n prefix: 'fas',\n iconName: 'receipt',\n icon: [384, 512, [129534], \"f543\", \"M14 2.2C22.5-1.7 32.5-.3 39.6 5.8L80 40.4 120.4 5.8c9-7.7 22.3-7.7 31.2 0L192 40.4 232.4 5.8c9-7.7 22.3-7.7 31.2 0L304 40.4 344.4 5.8c7.1-6.1 17.1-7.5 25.6-3.6s14 12.4 14 21.8V488c0 9.4-5.5 17.9-14 21.8s-18.5 2.5-25.6-3.6L304 471.6l-40.4 34.6c-9 7.7-22.3 7.7-31.2 0L192 471.6l-40.4 34.6c-9 7.7-22.3 7.7-31.2 0L80 471.6 39.6 506.2c-7.1 6.1-17.1 7.5-25.6 3.6S0 497.4 0 488V24C0 14.6 5.5 6.1 14 2.2zM96 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zM80 352c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM96 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96z\"]\n};\nvar faSquarePen = {\n prefix: 'fas',\n iconName: 'square-pen',\n icon: [448, 512, [\"pen-square\", \"pencil-square\"], \"f14b\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM325.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-21.4 21.4-71-71 21.4-21.4c15.6-15.6 40.9-15.6 56.6 0zM119.9 289L225.1 183.8l71 71L190.9 359.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faPenSquare = faSquarePen;\nvar faPencilSquare = faSquarePen;\nvar faSuitcaseRolling = {\n prefix: 'fas',\n iconName: 'suitcase-rolling',\n icon: [384, 512, [], \"f5c1\", \"M144 56c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v72H144V56zm176 72H288V56c0-30.9-25.1-56-56-56H152C121.1 0 96 25.1 96 56v72H64c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64c0 17.7 14.3 32 32 32s32-14.3 32-32H256c0 17.7 14.3 32 32 32s32-14.3 32-32c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64zM112 224H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 128H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faPersonCircleExclamation = {\n prefix: 'fas',\n iconName: 'person-circle-exclamation',\n icon: [576, 512, [], \"e53f\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faChevronDown = {\n prefix: 'fas',\n iconName: 'chevron-down',\n icon: [512, 512, [], \"f078\", \"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"]\n};\nvar faBatteryFull = {\n prefix: 'fas',\n iconName: 'battery-full',\n icon: [576, 512, [128267, \"battery\", \"battery-5\"], \"f240\", \"M464 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm368 96H96V320H448V192z\"]\n};\nvar faBattery = faBatteryFull;\nvar faBattery5 = faBatteryFull;\nvar faSkullCrossbones = {\n prefix: 'fas',\n iconName: 'skull-crossbones',\n icon: [448, 512, [128369, 9760], \"f714\", \"M368 128c0 44.4-25.4 83.5-64 106.4V256c0 17.7-14.3 32-32 32H176c-17.7 0-32-14.3-32-32V234.4c-38.6-23-64-62.1-64-106.4C80 57.3 144.5 0 224 0s144 57.3 144 128zM168 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm144-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM3.4 273.7c7.9-15.8 27.1-22.2 42.9-14.3L224 348.2l177.7-88.8c15.8-7.9 35-1.5 42.9 14.3s1.5 35-14.3 42.9L295.6 384l134.8 67.4c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L224 419.8 46.3 508.6c-15.8 7.9-35 1.5-42.9-14.3s-1.5-35 14.3-42.9L152.4 384 17.7 316.6C1.9 308.7-4.5 289.5 3.4 273.7z\"]\n};\nvar faCodeCompare = {\n prefix: 'fas',\n iconName: 'code-compare',\n icon: [512, 512, [], \"e13a\", \"M320 488c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1s14.2 12.4 14.2 21.9v40h16c35.3 0 64-28.7 64-64V153.3C371.7 141 352 112.8 352 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V320c0 70.7-57.3 128-128 128H320v40zM456 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM192 24c0-9.5 5.6-18.1 14.2-21.9s18.8-2.3 25.8 4.1l80 72c5.1 4.6 7.9 11 7.9 17.8s-2.9 13.3-7.9 17.8l-80 72c-7 6.3-17.2 7.9-25.8 4.1s-14.2-12.4-14.2-21.9V128H176c-35.3 0-64 28.7-64 64V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V192c0-70.7 57.3-128 128-128h16V24zM56 432a24 24 0 1 0 48 0 24 24 0 1 0 -48 0z\"]\n};\nvar faListUl = {\n prefix: 'fas',\n iconName: 'list-ul',\n icon: [512, 512, [\"list-dots\"], \"f0ca\", \"M64 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM64 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48-208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faListDots = faListUl;\nvar faSchoolLock = {\n prefix: 'fas',\n iconName: 'school-lock',\n icon: [640, 512, [], \"e56f\", \"M302.2 5.4c10.7-7.2 24.8-7.2 35.5 0L473.7 96H592c26.5 0 48 21.5 48 48V272c0-61.9-50.1-112-112-112s-112 50.1-112 112v24.6c-19.1 11.1-32 31.7-32 55.4H320.3l-.3 0c-35.3 0-64 28.7-64 64v96h64v0H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48H166.3L302.2 5.4zM80 208v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm0 128v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm240-72a88 88 0 1 0 0-176 88 88 0 1 0 0 176zm16-120v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm192 96c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faTowerCell = {\n prefix: 'fas',\n iconName: 'tower-cell',\n icon: [576, 512, [], \"e585\", \"M62.6 2.3C46.2-4.3 27.6 3.6 20.9 20C7.4 53.4 0 89.9 0 128s7.4 74.6 20.9 108c6.6 16.4 25.3 24.3 41.7 17.7S86.9 228.4 80.3 212C69.8 186.1 64 157.8 64 128s5.8-58.1 16.3-84C86.9 27.6 79 9 62.6 2.3zm450.8 0C497 9 489.1 27.6 495.7 44C506.2 69.9 512 98.2 512 128s-5.8 58.1-16.3 84c-6.6 16.4 1.3 35 17.7 41.7s35-1.3 41.7-17.7c13.5-33.4 20.9-69.9 20.9-108s-7.4-74.6-20.9-108C548.4 3.6 529.8-4.3 513.4 2.3zM340.1 165.2c7.5-10.5 11.9-23.3 11.9-37.2c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 13.9 4.4 26.7 11.9 37.2L98.9 466.8c-7.3 16.1-.2 35.1 15.9 42.4s35.1 .2 42.4-15.9L177.7 448H398.3l20.6 45.2c7.3 16.1 26.3 23.2 42.4 15.9s23.2-26.3 15.9-42.4L340.1 165.2zM369.2 384H206.8l14.5-32H354.7l14.5 32zM288 205.3L325.6 288H250.4L288 205.3zM163.3 73.6c5.3-12.1-.2-26.3-12.4-31.6s-26.3 .2-31.6 12.4C109.5 77 104 101.9 104 128s5.5 51 15.3 73.6c5.3 12.1 19.5 17.7 31.6 12.4s17.7-19.5 12.4-31.6C156 165.8 152 147.4 152 128s4-37.8 11.3-54.4zM456.7 54.4c-5.3-12.1-19.5-17.7-31.6-12.4s-17.7 19.5-12.4 31.6C420 90.2 424 108.6 424 128s-4 37.8-11.3 54.4c-5.3 12.1 .2 26.3 12.4 31.6s26.3-.2 31.6-12.4C466.5 179 472 154.1 472 128s-5.5-51-15.3-73.6z\"]\n};\nvar faDownLong = {\n prefix: 'fas',\n iconName: 'down-long',\n icon: [320, 512, [\"long-arrow-alt-down\"], \"f309\", \"M2 334.5c-3.8 8.8-2 19 4.6 26l136 144c4.5 4.8 10.8 7.5 17.4 7.5s12.9-2.7 17.4-7.5l136-144c6.6-7 8.4-17.2 4.6-26s-12.5-14.5-22-14.5l-72 0 0-288c0-17.7-14.3-32-32-32L128 0C110.3 0 96 14.3 96 32l0 288-72 0c-9.6 0-18.2 5.7-22 14.5z\"]\n};\nvar faLongArrowAltDown = faDownLong;\nvar faRankingStar = {\n prefix: 'fas',\n iconName: 'ranking-star',\n icon: [640, 512, [], \"e561\", \"M353.8 54.1L330.2 6.3c-3.9-8.3-16.1-8.6-20.4 0L286.2 54.1l-52.3 7.5c-9.3 1.4-13.3 12.9-6.4 19.8l38 37-9 52.1c-1.4 9.3 8.2 16.5 16.8 12.2l46.9-24.8 46.6 24.4c8.6 4.3 18.3-2.9 16.8-12.2l-9-52.1 38-36.6c6.8-6.8 2.9-18.3-6.4-19.8l-52.3-7.5zM256 256c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H256zM32 320c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H160c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H32zm416 96v64c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H480c-17.7 0-32 14.3-32 32z\"]\n};\nvar faChessKing = {\n prefix: 'fas',\n iconName: 'chess-king',\n icon: [448, 512, [9818], \"f43f\", \"M224 0c17.7 0 32 14.3 32 32V48h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H256v48H408c22.1 0 40 17.9 40 40c0 5.3-1 10.5-3.1 15.4L368 400H80L3.1 215.4C1 210.5 0 205.3 0 200c0-22.1 17.9-40 40-40H192V112H176c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V32c0-17.7 14.3-32 32-32zM38.6 473.4L80 432H368l41.4 41.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H54.6C42.1 512 32 501.9 32 489.4c0-6 2.4-11.8 6.6-16z\"]\n};\nvar faPersonHarassing = {\n prefix: 'fas',\n iconName: 'person-harassing',\n icon: [576, 512, [], \"e549\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM59.4 304.5L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V235.3l47.4 57.1c11.3 13.6 31.5 15.5 45.1 4.2s15.5-31.5 4.2-45.1l-73.7-88.9c-18.2-22-45.3-34.7-73.9-34.7H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9zM480 240a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM464 344v58.7l-41.4-41.4c-7.3-7.3-17.6-10.6-27.8-9s-18.9 8.1-23.5 17.3l-48 96c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L408.8 438l54.7 54.7c12.4 12.4 29.1 19.3 46.6 19.3c36.4 0 65.9-29.5 65.9-65.9V344c0-30.9-25.1-56-56-56s-56 25.1-56 56zM288 48c0 8.8 7.2 16 16 16h56c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zm-.8 49.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l48 24c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-48-24z\"]\n};\nvar faBrazilianRealSign = {\n prefix: 'fas',\n iconName: 'brazilian-real-sign',\n icon: [512, 512, [], \"e46c\", \"M400 0c17.7 0 32 14.3 32 32V50.2c12.5 2.3 24.7 6.4 36.2 12.1l10.1 5.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-10.2-5.1c-9.9-5-20.9-7.5-32-7.5h-1.7c-29.8 0-53.9 24.1-53.9 53.9c0 22 13.4 41.8 33.9 50l52 20.8c44.7 17.9 74.1 61.2 74.1 109.4v3.4c0 51.2-33.6 94.6-80 109.2V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V460.6c-15-3.5-29.4-9.7-42.3-18.3l-23.4-15.6c-14.7-9.8-18.7-29.7-8.9-44.4s29.7-18.7 44.4-8.9L361.2 389c10.8 7.2 23.4 11 36.3 11c27.9 0 50.5-22.6 50.5-50.5v-3.4c0-22-13.4-41.8-33.9-50l-52-20.8C317.3 257.4 288 214.1 288 165.9C288 114 321.5 70 368 54.2V32c0-17.7 14.3-32 32-32zM0 64C0 46.3 14.3 32 32 32h80c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320H64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 64zM64 256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H64V256z\"]\n};\nvar faLandmarkDome = {\n prefix: 'fas',\n iconName: 'landmark-dome',\n icon: [512, 512, [\"landmark-alt\"], \"f752\", \"M248 0h16c13.3 0 24 10.7 24 24V34.7C368.4 48.1 431.9 111.6 445.3 192H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h2.7C80.1 111.6 143.6 48.1 224 34.7V24c0-13.3 10.7-24 24-24zM64 288h64V416h40V288h64V416h48V288h64V416h40V288h64V420.3c.6 .3 1.2 .7 1.7 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512H32c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1V288z\"]\n};\nvar faLandmarkAlt = faLandmarkDome;\nvar faArrowUp = {\n prefix: 'fas',\n iconName: 'arrow-up',\n icon: [384, 512, [8593], \"f062\", \"M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z\"]\n};\nvar faTv = {\n prefix: 'fas',\n iconName: 'tv',\n icon: [640, 512, [63717, \"television\", \"tv-alt\"], \"f26c\", \"M64 64V352H576V64H64zM0 64C0 28.7 28.7 0 64 0H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM128 448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faTelevision = faTv;\nvar faTvAlt = faTv;\nvar faShrimp = {\n prefix: 'fas',\n iconName: 'shrimp',\n icon: [512, 512, [129424], \"e448\", \"M64 32C28.7 32 0 60.7 0 96s28.7 64 64 64h1c3.7 88.9 77 160 167 160h56V128H264 88.8 64c-17.7 0-32-14.3-32-32s14.3-32 32-32H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H64zM224 456c0 13.3 10.7 24 24 24h72V407.8l-64.1-22.4c-12.5-4.4-26.2 2.2-30.6 14.7s2.2 26.2 14.7 30.6l4.5 1.6C233 433.9 224 443.9 224 456zm128 23.3c36.4-3.3 69.5-17.6 96.1-39.6l-86.5-34.6c-3 1.8-6.2 3.2-9.6 4.3v69.9zM472.6 415c24.6-30.3 39.4-68.9 39.4-111c0-12.3-1.3-24.3-3.7-35.9L382.8 355.1c.8 3.4 1.2 7 1.2 10.6c0 4.6-.7 9-1.9 13.1L472.6 415zM336 128H320V320h18.3c9.9 0 19.1 3.2 26.6 8.5l133.5-92.4C471.8 172.6 409.1 128 336 128zM168 192a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faListCheck = {\n prefix: 'fas',\n iconName: 'list-check',\n icon: [512, 512, [\"tasks\"], \"f0ae\", \"M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113C-2.3 103.6-2.3 88.4 7 79s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faTasks = faListCheck;\nvar faJugDetergent = {\n prefix: 'fas',\n iconName: 'jug-detergent',\n icon: [384, 512, [], \"e519\", \"M96 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V48h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H88C74.7 96 64 85.3 64 72s10.7-24 24-24h8V24zM0 256c0-70.7 57.3-128 128-128H256c70.7 0 128 57.3 128 128V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256zm256 0v96c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faCircleUser = {\n prefix: 'fas',\n iconName: 'circle-user',\n icon: [512, 512, [62142, \"user-circle\"], \"f2bd\", \"M399 384.2C376.9 345.8 335.4 320 288 320H224c-47.4 0-88.9 25.8-111 64.2c35.2 39.2 86.2 63.8 143 63.8s107.8-24.7 143-63.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 16a72 72 0 1 0 0-144 72 72 0 1 0 0 144z\"]\n};\nvar faUserCircle = faCircleUser;\nvar faUserShield = {\n prefix: 'fas',\n iconName: 'user-shield',\n icon: [640, 512, [], \"f505\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c1.8 0 3.5-.2 5.3-.5c-76.3-55.1-99.8-141-103.1-200.2c-16.1-4.8-33.1-7.3-50.7-7.3H178.3zm308.8-78.3l-120 48C358 277.4 352 286.2 352 296c0 63.3 25.9 168.8 134.8 214.2c5.9 2.5 12.6 2.5 18.5 0C614.1 464.8 640 359.3 640 296c0-9.8-6-18.6-15.1-22.3l-120-48c-5.7-2.3-12.1-2.3-17.8 0zM591.4 312c-3.9 50.7-27.2 116.7-95.4 149.7V273.8L591.4 312z\"]\n};\nvar faWind = {\n prefix: 'fas',\n iconName: 'wind',\n icon: [512, 512, [], \"f72e\", \"M288 32c0 17.7 14.3 32 32 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c53 0 96-43 96-96s-43-96-96-96H320c-17.7 0-32 14.3-32 32zm64 352c0 17.7 14.3 32 32 32h32c53 0 96-43 96-96s-43-96-96-96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-17.7 0-32 14.3-32 32zM128 512h32c53 0 96-43 96-96s-43-96-96-96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H160c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]\n};\nvar faCarBurst = {\n prefix: 'fas',\n iconName: 'car-burst',\n icon: [640, 512, [\"car-crash\"], \"f5e1\", \"M176 8c-6.6 0-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6l35.3-32.5 9.5-35.4 10.4-38.6c8-29.9 30.5-52.1 57.9-60.9l41-59.2c11.3-16.3 26.4-28.9 43.5-37.2c-.4-.6-.8-1.2-1.3-1.8c-4.1-5.1-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74C188.4 12 182.6 8 176 8zM367.7 161.5l135.6 36.3c6.5 1.8 11.3 7.4 11.8 14.2l4.6 56.5-201.5-54 32.2-46.6c3.8-5.6 10.8-8.1 17.3-6.4zm-69.9-30l-47.9 69.3c-21.6 3-40.3 18.6-46.3 41l-10.4 38.6-16.6 61.8-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9 247.3 66.3-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9L595 388l10.4-38.6c6-22.4-2.5-45.2-19.6-58.7l-6.8-84c-2.7-33.7-26.4-62-59-70.8L384.2 99.7c-32.7-8.8-67.3 4-86.5 31.8zm-17 131a24 24 0 1 1 -12.4 46.4 24 24 0 1 1 12.4-46.4zm217.9 83.2A24 24 0 1 1 545 358.1a24 24 0 1 1 -46.4-12.4z\"]\n};\nvar faCarCrash = faCarBurst;\nvar faY = {\n prefix: 'fas',\n iconName: 'y',\n icon: [384, 512, [121], \"59\", \"M58 45.4C47.8 31 27.8 27.7 13.4 38S-4.3 68.2 6 82.6L160 298.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V298.3L378 82.6c10.3-14.4 6.9-34.4-7.4-44.6S336.2 31 326 45.4L192 232.9 58 45.4z\"]\n};\nvar faPersonSnowboarding = {\n prefix: 'fas',\n iconName: 'person-snowboarding',\n icon: [512, 512, [127938, \"snowboarding\"], \"f7ce\", \"M209.7 3.4c15.8-7.9 35-1.5 42.9 14.3l25 50 42.4 8.5c19.5 3.9 37.8 12.3 53.5 24.5l126.1 98.1c14 10.9 16.5 31 5.6 44.9s-31 16.5-44.9 5.6l-72.1-56.1-71.5 31.8 33.1 27.6c23.2 19.3 33.5 50 26.7 79.4l-17.4 75.2c-2.2 9.4-8.2 16.8-16.1 21l86.5 33.1c4.6 1.8 9.4 2.6 14.3 2.6H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H443.8c-10.8 0-21.4-2-31.5-5.8L60.1 371.3c-11.5-4.4-22-11.2-30.8-20L7 329c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.4 22.4c4 4 8.7 7.1 14 9.1l22.4 8.6c-.8-1.6-1.5-3.2-2.1-4.9c-5.6-16.8 3.5-34.9 20.2-40.5L192 264.9l0-53.2c0-24.2 13.7-46.4 35.4-57.2l45.2-22.6-7.5-1.5c-19.4-3.9-35.9-16.5-44.7-34.1l-25-50c-7.9-15.8-1.5-35 14.3-42.9zM139 350.1l159 60.9c-2.1-5.6-2.6-11.9-1.1-18.2l17.4-75.2c1.4-5.9-.7-12-5.3-15.9l-52.8-44 0 18.8c0 20.7-13.2 39-32.8 45.5L139 350.1zM432 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faSnowboarding = faPersonSnowboarding;\nvar faTruckFast = {\n prefix: 'fas',\n iconName: 'truck-fast',\n icon: [640, 512, [\"shipping-fast\"], \"f48b\", \"M112 0C85.5 0 64 21.5 64 48V96H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64 272c8.8 0 16 7.2 16 16s-7.2 16-16 16H64 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H64 240c8.8 0 16 7.2 16 16s-7.2 16-16 16H64 16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64 208c8.8 0 16 7.2 16 16s-7.2 16-16 16H64V416c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288 256 237.3c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7H416V48c0-26.5-21.5-48-48-48H112zM544 237.3V256H416V160h50.7L544 237.3zM160 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm272 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faShippingFast = faTruckFast;\nvar faFish = {\n prefix: 'fas',\n iconName: 'fish',\n icon: [576, 512, [128031], \"f578\", \"M180.5 141.5C219.7 108.5 272.6 80 336 80s116.3 28.5 155.5 61.5c39.1 33 66.9 72.4 81 99.8c4.7 9.2 4.7 20.1 0 29.3c-14.1 27.4-41.9 66.8-81 99.8C452.3 403.5 399.4 432 336 432s-116.3-28.5-155.5-61.5c-16.2-13.7-30.5-28.5-42.7-43.1L48.1 379.6c-12.5 7.3-28.4 5.3-38.7-4.9S-3 348.7 4.2 336.1L50 256 4.2 175.9c-7.2-12.6-5-28.4 5.3-38.6s26.1-12.2 38.7-4.9l89.7 52.3c12.2-14.6 26.5-29.4 42.7-43.1zM448 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faUserGraduate = {\n prefix: 'fas',\n iconName: 'user-graduate',\n icon: [448, 512, [], \"f501\", \"M219.3 .5c3.1-.6 6.3-.6 9.4 0l200 40C439.9 42.7 448 52.6 448 64s-8.1 21.3-19.3 23.5L352 102.9V160c0 70.7-57.3 128-128 128s-128-57.3-128-128V102.9L48 93.3v65.1l15.7 78.4c.9 4.7-.3 9.6-3.3 13.3s-7.6 5.9-12.4 5.9H16c-4.8 0-9.3-2.1-12.4-5.9s-4.3-8.6-3.3-13.3L16 158.4V86.6C6.5 83.3 0 74.3 0 64C0 52.6 8.1 42.7 19.3 40.5l200-40zM111.9 327.7c10.5-3.4 21.8 .4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5C401 348.6 448 409.4 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6z\"]\n};\nvar faCircleHalfStroke = {\n prefix: 'fas',\n iconName: 'circle-half-stroke',\n icon: [512, 512, [9680, \"adjust\"], \"f042\", \"M448 256c0-106-86-192-192-192V448c106 0 192-86 192-192zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faAdjust = faCircleHalfStroke;\nvar faClapperboard = {\n prefix: 'fas',\n iconName: 'clapperboard',\n icon: [512, 512, [], \"e131\", \"M448 32H361.9l-1 1-127 127h92.1l1-1L453.8 32.3c-1.9-.2-3.8-.3-5.8-.3zm64 128V96c0-15.1-5.3-29.1-14-40l-104 104H512zM294.1 32H201.9l-1 1L73.9 160h92.1l1-1 127-127zM64 32C28.7 32 0 60.7 0 96v64H6.1l1-1 127-127H64zM512 192H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192z\"]\n};\nvar faCircleRadiation = {\n prefix: 'fas',\n iconName: 'circle-radiation',\n icon: [512, 512, [9762, \"radiation-alt\"], \"f7ba\", \"M256 64a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM200 256c0-20.7 11.3-38.8 28-48.5l-36-62.3c-8.8-15.3-28.7-20.8-42-9c-25.6 22.6-43.9 53.3-50.9 88.1C95.7 241.5 110.3 256 128 256l72 0zm28 48.5l-36 62.4c-8.8 15.3-3.6 35.2 13.1 40.8c16 5.4 33.1 8.3 50.9 8.3s34.9-2.9 50.9-8.3c16.7-5.6 21.9-25.5 13.1-40.8l-36-62.4c-8.2 4.8-17.8 7.5-28 7.5s-19.8-2.7-28-7.5zM312 256l72 0c17.7 0 32.3-14.5 28.8-31.8c-7-34.8-25.3-65.5-50.9-88.1c-13.2-11.7-33.1-6.3-42 9l-36 62.3c16.7 9.7 28 27.8 28 48.5zm-56 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faRadiationAlt = faCircleRadiation;\nvar faBaseball = {\n prefix: 'fas',\n iconName: 'baseball',\n icon: [512, 512, [129358, 9918, \"baseball-ball\"], \"f433\", \"M62.7 223.4c-4.8 .4-9.7 .6-14.7 .6c-15.6 0-30.8-2-45.2-5.9C19.2 107.1 107.1 19.2 218.1 2.8C222 17.2 224 32.4 224 48c0 4.9-.2 9.8-.6 14.7c-.7 8.8 5.8 16.5 14.6 17.3s16.5-5.8 17.3-14.6c.5-5.7 .7-11.5 .7-17.3c0-16.5-1.9-32.6-5.6-47.9c1.8 0 3.7-.1 5.6-.1C397.4 0 512 114.6 512 256c0 1.9 0 3.7-.1 5.6c-15.4-3.6-31.4-5.6-47.9-5.6c-5.8 0-11.6 .2-17.3 .7c-8.8 .7-15.4 8.5-14.6 17.3s8.5 15.4 17.3 14.6c4.8-.4 9.7-.6 14.7-.6c15.6 0 30.8 2 45.2 5.9C492.8 404.9 404.9 492.8 293.9 509.2C290 494.8 288 479.6 288 464c0-4.9 .2-9.8 .6-14.7c.7-8.8-5.8-16.5-14.6-17.3s-16.5 5.8-17.3 14.6c-.5 5.7-.7 11.5-.7 17.3c0 16.5 1.9 32.6 5.6 47.9c-1.8 0-3.7 .1-5.6 .1C114.6 512 0 397.4 0 256c0-1.9 0-3.7 .1-5.6C15.4 254.1 31.5 256 48 256c5.8 0 11.6-.2 17.3-.7c8.8-.7 15.4-8.5 14.6-17.3s-8.5-15.4-17.3-14.6zM121.3 208c-8 3.7-11.6 13.2-7.9 21.2s13.2 11.6 21.2 7.9c45.2-20.8 81.7-57.2 102.5-102.5c3.7-8 .2-17.5-7.9-21.2s-17.5-.2-21.2 7.9c-17.6 38.3-48.5 69.2-86.7 86.7zm277.2 74.7c-3.7-8-13.2-11.6-21.2-7.9c-45.2 20.8-81.7 57.2-102.5 102.5c-3.7 8-.2 17.5 7.9 21.2s17.5 .2 21.2-7.9c17.6-38.3 48.5-69.2 86.7-86.7c8-3.7 11.6-13.2 7.9-21.2z\"]\n};\nvar faBaseballBall = faBaseball;\nvar faJetFighterUp = {\n prefix: 'fas',\n iconName: 'jet-fighter-up',\n icon: [512, 512, [], \"e518\", \"M270.7 9.7C268.2 3.8 262.4 0 256 0s-12.2 3.8-14.7 9.7L197.2 112.6c-3.4 8-5.2 16.5-5.2 25.2v77l-144 84V280c0-13.3-10.7-24-24-24s-24 10.7-24 24v56 32 24c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H192v32.7L133.5 468c-3.5 3-5.5 7.4-5.5 12v16c0 8.8 7.2 16 16 16h96V448c0-8.8 7.2-16 16-16s16 7.2 16 16v64h96c8.8 0 16-7.2 16-16V480c0-4.6-2-9-5.5-12L320 416.7V384H464v8c0 13.3 10.7 24 24 24s24-10.7 24-24V368 336 280c0-13.3-10.7-24-24-24s-24 10.7-24 24v18.8l-144-84v-77c0-8.7-1.8-17.2-5.2-25.2L270.7 9.7z\"]\n};\nvar faDiagramProject = {\n prefix: 'fas',\n iconName: 'diagram-project',\n icon: [576, 512, [\"project-diagram\"], \"f542\", \"M0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48V96H384V80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V160H192v16c0 1.7-.1 3.4-.3 5L272 288h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V336c0-1.7 .1-3.4 .3-5L144 224H48c-26.5 0-48-21.5-48-48V80z\"]\n};\nvar faProjectDiagram = faDiagramProject;\nvar faCopy = {\n prefix: 'fas',\n iconName: 'copy',\n icon: [512, 512, [], \"f0c5\", \"M272 0H396.1c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9V336c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48zM48 128H192v64H64V448H256V416h64v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48z\"]\n};\nvar faVolumeXmark = {\n prefix: 'fas',\n iconName: 'volume-xmark',\n icon: [576, 512, [\"volume-mute\", \"volume-times\"], \"f6a9\", \"M301.1 34.8C312.6 40 320 51.4 320 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM425 167l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faVolumeMute = faVolumeXmark;\nvar faVolumeTimes = faVolumeXmark;\nvar faHandSparkles = {\n prefix: 'fas',\n iconName: 'hand-sparkles',\n icon: [640, 512, [], \"e05d\", \"M320 0c17.7 0 32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-17.7 14.3-32 32-32s32 14.3 32 32V323.1c-11.9 4.8-21.3 14.9-25 27.8l-8.9 31.2L478.9 391C460.6 396.3 448 413 448 432c0 18.9 12.5 35.6 30.6 40.9C448.4 497.4 409.9 512 368 512H348.8c-59.6 0-116.9-22.9-160-64L76.4 341c-16-15.2-16.6-40.6-1.4-56.6s40.6-16.6 56.6-1.4l60.5 57.6c0-1.5-.1-3.1-.1-4.6V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V32c0-17.7 14.3-32 32-32zm-7.3 326.6c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L288 352l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L288 384l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L320 384l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L320 352l-7.3-25.4zM104 120l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L104 168 90.2 216.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L56 168 7.7 154.2C3.1 152.9 0 148.7 0 144s3.1-8.9 7.7-10.2L56 120 69.8 71.7C71.1 67.1 75.3 64 80 64s8.9 3.1 10.2 7.7L104 120zM584 408l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L584 456l-13.8 48.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L536 456l-48.3-13.8c-4.6-1.3-7.7-5.5-7.7-10.2s3.1-8.9 7.7-10.2L536 408l13.8-48.3c1.3-4.6 5.5-7.7 10.2-7.7s8.9 3.1 10.2 7.7L584 408z\"]\n};\nvar faGrip = {\n prefix: 'fas',\n iconName: 'grip',\n icon: [448, 512, [\"grip-horizontal\"], \"f58d\", \"M128 136c0-22.1-17.9-40-40-40L40 96C17.9 96 0 113.9 0 136l0 48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40l0-48zm0 192c0-22.1-17.9-40-40-40H40c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V328zm32-192v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM288 328c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328zm32-192v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM448 328c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328z\"]\n};\nvar faGripHorizontal = faGrip;\nvar faShareFromSquare = {\n prefix: 'fas',\n iconName: 'share-from-square',\n icon: [576, 512, [61509, \"share-square\"], \"f14d\", \"M352 224H305.5c-45 0-81.5 36.5-81.5 81.5c0 22.3 10.3 34.3 19.2 40.5c6.8 4.7 12.8 12 12.8 20.3c0 9.8-8 17.8-17.8 17.8h-2.5c-2.4 0-4.8-.4-7.1-1.4C210.8 374.8 128 333.4 128 240c0-79.5 64.5-144 144-144h80V34.7C352 15.5 367.5 0 386.7 0c8.6 0 16.8 3.2 23.2 8.9L548.1 133.3c7.6 6.8 11.9 16.5 11.9 26.7s-4.3 19.9-11.9 26.7l-139 125.1c-5.9 5.3-13.5 8.2-21.4 8.2H384c-17.7 0-32-14.3-32-32V224zM80 96c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16V384c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V112C0 67.8 35.8 32 80 32h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H80z\"]\n};\nvar faShareSquare = faShareFromSquare;\nvar faChildCombatant = {\n prefix: 'fas',\n iconName: 'child-combatant',\n icon: [576, 512, [\"child-rifle\"], \"e4e0\", \"M176 128A64 64 0 1 0 176 0a64 64 0 1 0 0 128zm-8 352V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V300.5L260.9 321c9.4 15 29.2 19.4 44.1 10s19.4-29.2 10-44.1l-51.7-82.1c-17.6-27.9-48.3-44.9-81.2-44.9H169.8c-33 0-63.7 16.9-81.2 44.9L36.9 287c-9.4 15-4.9 34.7 10 44.1s34.7 4.9 44.1-10L104 300.5V480c0 17.7 14.3 32 32 32s32-14.3 32-32zM448 0H432 416c-8.8 0-16 7.2-16 16s7.2 16 16 16V132.3c-9.6 5.5-16 15.9-16 27.7v32c-17.7 0-32 14.3-32 32V368c0 17.7 14.3 32 32 32h16v96c0 8.8 7.2 16 16 16h59.5c10.4 0 18-9.8 15.5-19.9L484 400h44c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H480V325.3l53.1-17.7c6.5-2.2 10.9-8.3 10.9-15.2V208c0-8.8-7.2-16-16-16H512c-8.8 0-16 7.2-16 16v56l-16 5.3V160c0-11.8-6.4-22.2-16-27.7V16c0-8.8-7.2-16-16-16z\"]\n};\nvar faChildRifle = faChildCombatant;\nvar faGun = {\n prefix: 'fas',\n iconName: 'gun',\n icon: [576, 512, [], \"e19b\", \"M528 56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H32C14.3 64 0 78.3 0 96V208c0 17.7 14.3 32 32 32H42c20.8 0 36.1 19.6 31 39.8L33 440.2c-2.4 9.6-.2 19.7 5.8 27.5S54.1 480 64 480h96c14.7 0 27.5-10 31-24.2L217 352H321.4c23.7 0 44.8-14.9 52.7-37.2L400.9 240H432c8.5 0 16.6-3.4 22.6-9.4L477.3 208H544c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H528V56zM321.4 304H229l16-64h105l-21 58.7c-1.1 3.2-4.2 5.3-7.5 5.3zM80 128H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSquarePhone = {\n prefix: 'fas',\n iconName: 'square-phone',\n icon: [448, 512, [\"phone-square\"], \"f098\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm90.7 96.7c9.7-2.6 19.9 2.3 23.7 11.6l20 48c3.4 8.2 1 17.6-5.8 23.2L168 231.7c16.6 35.2 45.1 63.7 80.3 80.3l20.2-24.7c5.6-6.8 15-9.2 23.2-5.8l48 20c9.3 3.9 14.2 14 11.6 23.7l-12 44C336.9 378 329 384 320 384C196.3 384 96 283.7 96 160c0-9 6-16.9 14.7-19.3l44-12z\"]\n};\nvar faPhoneSquare = faSquarePhone;\nvar faPlus = {\n prefix: 'fas',\n iconName: 'plus',\n icon: [448, 512, [10133, 61543, \"add\"], \"2b\", \"M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z\"]\n};\nvar faAdd = faPlus;\nvar faExpand = {\n prefix: 'fas',\n iconName: 'expand',\n icon: [448, 512, [], \"f065\", \"M32 32C14.3 32 0 46.3 0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V352z\"]\n};\nvar faComputer = {\n prefix: 'fas',\n iconName: 'computer',\n icon: [640, 512, [], \"e4e5\", \"M384 96V320H64L64 96H384zM64 32C28.7 32 0 60.7 0 96V320c0 35.3 28.7 64 64 64H181.3l-10.7 32H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H277.3l-10.7-32H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm464 0c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H528zm16 64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H544c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H544c-8.8 0-16-7.2-16-16zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faXmark = {\n prefix: 'fas',\n iconName: 'xmark',\n icon: [384, 512, [128473, 10005, 10006, 10060, 215, \"close\", \"multiply\", \"remove\", \"times\"], \"f00d\", \"M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z\"]\n};\nvar faClose = faXmark;\nvar faMultiply = faXmark;\nvar faRemove = faXmark;\nvar faTimes = faXmark;\nvar faArrowsUpDownLeftRight = {\n prefix: 'fas',\n iconName: 'arrows-up-down-left-right',\n icon: [512, 512, [\"arrows\"], \"f047\", \"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l9.4-9.4V224H109.3l9.4-9.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4H224V402.7l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-9.4 9.4V288H402.7l-9.4 9.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4H288V109.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64z\"]\n};\nvar faArrows = faArrowsUpDownLeftRight;\nvar faChalkboardUser = {\n prefix: 'fas',\n iconName: 'chalkboard-user',\n icon: [640, 512, [\"chalkboard-teacher\"], \"f51c\", \"M160 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H336.8c-11.8-25.5-29.9-47.5-52.4-64H384V320c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v32h64V64L224 64v49.1C205.2 102.2 183.3 96 160 96V64zm0 64a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM133.3 352h53.3C260.3 352 320 411.7 320 485.3c0 14.7-11.9 26.7-26.7 26.7H26.7C11.9 512 0 500.1 0 485.3C0 411.7 59.7 352 133.3 352z\"]\n};\nvar faChalkboardTeacher = faChalkboardUser;\nvar faPesoSign = {\n prefix: 'fas',\n iconName: 'peso-sign',\n icon: [384, 512, [], \"e222\", \"M64 32C46.3 32 32 46.3 32 64v64c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h80c68.4 0 127.7-39 156.8-96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32h-.7c.5-5.3 .7-10.6 .7-16s-.2-10.7-.7-16h.7c17.7 0 32-14.3 32-32s-14.3-32-32-32H332.8C303.7 71 244.4 32 176 32H64zm190.4 96H96V96h80c30.5 0 58.2 12.2 78.4 32zM96 192H286.9c.7 5.2 1.1 10.6 1.1 16s-.4 10.8-1.1 16H96V192zm158.4 96c-20.2 19.8-47.9 32-78.4 32H96V288H254.4z\"]\n};\nvar faBuildingShield = {\n prefix: 'fas',\n iconName: 'building-shield',\n icon: [576, 512, [], \"e4d8\", \"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V207l-42.4 17H304 272c-8.8 0-16 7.2-16 16v32 24.2V304c0 .9 .1 1.7 .2 2.6c2.3 58.1 24.1 144.8 98.7 201.5c-5.8 2.5-12.2 3.9-18.9 3.9H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zM423.1 225.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8V461.7c68.2-33 91.5-99 95.4-149.7z\"]\n};\nvar faBaby = {\n prefix: 'fas',\n iconName: 'baby',\n icon: [448, 512, [], \"f77c\", \"M152 88a72 72 0 1 1 144 0A72 72 0 1 1 152 88zM39.7 144.5c13-17.9 38-21.8 55.9-8.8L131.8 162c26.8 19.5 59.1 30 92.2 30s65.4-10.5 92.2-30l36.2-26.4c17.9-13 42.9-9 55.9 8.8s9 42.9-8.8 55.9l-36.2 26.4c-13.6 9.9-28.1 18.2-43.3 25V288H128V251.7c-15.2-6.7-29.7-15.1-43.3-25L48.5 200.3c-17.9-13-21.8-38-8.8-55.9zm89.8 184.8l60.6 53-26 37.2 24.3 24.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-48-48C70 438.6 68.1 417 79.2 401.1l50.2-71.8zm128.5 53l60.6-53 50.2 71.8c11.1 15.9 9.2 37.5-4.5 51.2l-48 48c-15.6 15.6-40.9 15.6-56.6 0s-15.6-40.9 0-56.6L284 419.4l-26-37.2z\"]\n};\nvar faUsersLine = {\n prefix: 'fas',\n iconName: 'users-line',\n icon: [640, 512, [], \"e592\", \"M211.2 96a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM32 256c0 17.7 14.3 32 32 32h85.6c10.1-39.4 38.6-71.5 75.8-86.6c-9.7-6-21.2-9.4-33.4-9.4H96c-35.3 0-64 28.7-64 64zm461.6 32H576c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H448c-11.7 0-22.7 3.1-32.1 8.6c38.1 14.8 67.4 47.3 77.7 87.4zM391.2 226.4c-6.9-1.6-14.2-2.4-21.6-2.4h-96c-8.5 0-16.7 1.1-24.5 3.1c-30.8 8.1-55.6 31.1-66.1 60.9c-3.5 10-5.5 20.8-5.5 32c0 17.7 14.3 32 32 32h224c17.7 0 32-14.3 32-32c0-11.2-1.9-22-5.5-32c-10.8-30.7-36.8-54.2-68.9-61.6zM563.2 96a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM321.6 192a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faQuoteLeft = {\n prefix: 'fas',\n iconName: 'quote-left',\n icon: [448, 512, [8220, \"quote-left-alt\"], \"f10d\", \"M0 216C0 149.7 53.7 96 120 96h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-30.9 0-56 25.1-56 56v8h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320 288 216zm256 0c0-66.3 53.7-120 120-120h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-30.9 0-56 25.1-56 56v8h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H320c-35.3 0-64-28.7-64-64V320 288 216z\"]\n};\nvar faQuoteLeftAlt = faQuoteLeft;\nvar faTractor = {\n prefix: 'fas',\n iconName: 'tractor',\n icon: [640, 512, [128668], \"f722\", \"M96 64c0-35.3 28.7-64 64-64H266.3c26.2 0 49.7 15.9 59.4 40.2L373.7 160H480V126.2c0-24.8 5.8-49.3 16.9-71.6l2.5-5c7.9-15.8 27.1-22.2 42.9-14.3s22.2 27.1 14.3 42.9l-2.5 5c-6.7 13.3-10.1 28-10.1 42.9V160h56c22.1 0 40 17.9 40 40v45.4c0 16.5-8.5 31.9-22.6 40.7l-43.3 27.1c-14.2-5.9-29.8-9.2-46.1-9.2c-39.3 0-74.1 18.9-96 48H352c0 17.7-14.3 32-32 32h-8.2c-1.7 4.8-3.7 9.5-5.8 14.1l5.8 5.8c12.5 12.5 12.5 32.8 0 45.3l-22.6 22.6c-12.5 12.5-32.8 12.5-45.3 0l-5.8-5.8c-4.6 2.2-9.3 4.1-14.1 5.8V480c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32v-8.2c-4.8-1.7-9.5-3.7-14.1-5.8l-5.8 5.8c-12.5 12.5-32.8 12.5-45.3 0L40.2 449.1c-12.5-12.5-12.5-32.8 0-45.3l5.8-5.8c-2.2-4.6-4.1-9.3-5.8-14.1H32c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h8.2c1.7-4.8 3.7-9.5 5.8-14.1l-5.8-5.8c-12.5-12.5-12.5-32.8 0-45.3l22.6-22.6c9-9 21.9-11.5 33.1-7.6V192 160 64zm170.3 0H160v96h32H304.7L266.3 64zM176 256a80 80 0 1 0 0 160 80 80 0 1 0 0-160zM528 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 64c-48.6 0-88-39.4-88-88c0-29.8 14.8-56.1 37.4-72c14.3-10.1 31.8-16 50.6-16c2.7 0 5.3 .1 7.9 .3c44.9 4 80.1 41.7 80.1 87.7c0 48.6-39.4 88-88 88z\"]\n};\nvar faTrashArrowUp = {\n prefix: 'fas',\n iconName: 'trash-arrow-up',\n icon: [448, 512, [\"trash-restore\"], \"f829\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416L394.8 467c-1.6 25.3-22.6 45-47.9 45H101.1c-25.3 0-46.3-19.7-47.9-45L32 128zm192 64c-6.4 0-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V408c0 13.3 10.7 24 24 24s24-10.7 24-24V273.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7z\"]\n};\nvar faTrashRestore = faTrashArrowUp;\nvar faArrowDownUpLock = {\n prefix: 'fas',\n iconName: 'arrow-down-up-lock',\n icon: [640, 512, [], \"e4b0\", \"M150.6 502.6l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 402.7V288H416V272c0-17.2 3.9-33.5 10.8-48H352V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-6-6-14.1-9.4-22.6-9.4s-16.6 3.4-22.6 9.4l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L288 109.3V224l-128 0H96l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32H96V402.7L54.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0zM160 192V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192h64zM288 320V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320H288zm240-80c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faLinesLeaning = {\n prefix: 'fas',\n iconName: 'lines-leaning',\n icon: [384, 512, [], \"e51e\", \"M190.4 74.1c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2l-128 384c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l128-384zm70.9-41.7c-17.4-2.9-33.9 8.9-36.8 26.3l-64 384c-2.9 17.4 8.9 33.9 26.3 36.8s33.9-8.9 36.8-26.3l64-384c2.9-17.4-8.9-33.9-26.3-36.8zM352 32c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32z\"]\n};\nvar faRulerCombined = {\n prefix: 'fas',\n iconName: 'ruler-combined',\n icon: [512, 512, [], \"f546\", \"M.2 468.9C2.7 493.1 23.1 512 48 512l96 0 320 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-64-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-64-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-48c0-26.5-21.5-48-48-48L48 0C21.5 0 0 21.5 0 48L0 368l0 96c0 1.7 .1 3.3 .2 4.9z\"]\n};\nvar faCopyright = {\n prefix: 'fas',\n iconName: 'copyright',\n icon: [512, 512, [169], \"f1f9\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM199.4 312.6c31.2 31.2 81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-31.2-31.2-81.9-31.2-113.1 0s-31.2 81.9 0 113.1z\"]\n};\nvar faEquals = {\n prefix: 'fas',\n iconName: 'equals',\n icon: [448, 512, [62764], \"3d\", \"M48 128c-17.7 0-32 14.3-32 32s14.3 32 32 32H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H48zm0 192c-17.7 0-32 14.3-32 32s14.3 32 32 32H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H48z\"]\n};\nvar faBlender = {\n prefix: 'fas',\n iconName: 'blender',\n icon: [512, 512, [], \"f517\", \"M0 64C0 28.7 28.7 0 64 0h64 32H470.1c21.1 0 36.4 20.1 30.9 40.4L494.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H485.8l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H459.6l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h97.5L416 352H160l-8.7-96H64c-35.3 0-64-28.7-64-64V64zM145.5 192L133.8 64H64V192h81.5zM144 384H432c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V432c0-26.5 21.5-48 48-48zm144 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faTeeth = {\n prefix: 'fas',\n iconName: 'teeth',\n icon: [576, 512, [], \"f62e\", \"M0 128C0 75 43 32 96 32H480c53 0 96 43 96 96V384c0 53-43 96-96 96H96c-53 0-96-43-96-96V128zm176 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48s-48 21.5-48 48zm176-48c-26.5 0-48 21.5-48 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48zM48 208v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V208c0-26.5-21.5-48-48-48s-48 21.5-48 48zM96 384c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H72c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-48c0 26.5 21.5 48 48 48s48-21.5 48-48V312c0-13.3-10.7-24-24-24H200c-13.3 0-24 10.7-24 24v24zm176 48c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H328c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-176v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V208c0-26.5-21.5-48-48-48s-48 21.5-48 48zm48 176c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H456c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48z\"]\n};\nvar faShekelSign = {\n prefix: 'fas',\n iconName: 'shekel-sign',\n icon: [448, 512, [8362, \"ils\", \"shekel\", \"sheqel\", \"sheqel-sign\"], \"f20b\", \"M32 32C14.3 32 0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V96H192c35.3 0 64 28.7 64 64V320c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-70.7-57.3-128-128-128H32zM320 480c70.7 0 128-57.3 128-128V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V352c0 35.3-28.7 64-64 64H192V192c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32H320z\"]\n};\nvar faIls = faShekelSign;\nvar faShekel = faShekelSign;\nvar faSheqel = faShekelSign;\nvar faSheqelSign = faShekelSign;\nvar faMap = {\n prefix: 'fas',\n iconName: 'map',\n icon: [576, 512, [128506, 62072], \"f279\", \"M384 476.1L192 421.2V35.9L384 90.8V476.1zm32-1.2V88.4L543.1 37.5c15.8-6.3 32.9 5.3 32.9 22.3V394.6c0 9.8-6 18.6-15.1 22.3L416 474.8zM15.1 95.1L160 37.2V423.6L32.9 474.5C17.1 480.8 0 469.2 0 452.2V117.4c0-9.8 6-18.6 15.1-22.3z\"]\n};\nvar faRocket = {\n prefix: 'fas',\n iconName: 'rocket',\n icon: [512, 512, [], \"f135\", \"M156.6 384.9L125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2c3-8.9 7-20.5 11.8-33.8L24 288c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3l82.3 0c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7c-3.5 2.4-7.3 4.8-11.3 7.2v82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9V380.8c-14.1 4.9-26.4 8.9-35.7 11.9c-11.2 3.6-23.4 .5-31.8-7.8zM384 168a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faPhotoFilm = {\n prefix: 'fas',\n iconName: 'photo-film',\n icon: [640, 512, [\"photo-video\"], \"f87c\", \"M256 0H576c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64zM476 106.7C471.5 100 464 96 456 96s-15.5 4-20 10.7l-56 84L362.7 169c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H552c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144zM336 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 128h96V384v32c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V384H512v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zm8 64c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H72zm0 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V312c0-8.8-7.2-16-16-16H72zm0 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16H72zm336 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16H424c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPhotoVideo = faPhotoFilm;\nvar faFolderMinus = {\n prefix: 'fas',\n iconName: 'folder-minus',\n icon: [512, 512, [], \"f65d\", \"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM184 272c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faStore = {\n prefix: 'fas',\n iconName: 'store',\n icon: [576, 512, [], \"f54e\", \"M547.6 103.8L490.3 13.1C485.2 5 476.1 0 466.4 0H109.6C99.9 0 90.8 5 85.7 13.1L28.3 103.8c-29.6 46.8-3.4 111.9 51.9 119.4c4 .5 8.1 .8 12.1 .8c26.1 0 49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29c26.1 0 49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29c26.2 0 49.3-11.4 65.2-29c16 17.6 39.1 29 65.2 29c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4zM499.7 254.9l-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-12.4 0-24.3-1.9-35.4-5.3V384H128V250.6c-11.2 3.5-23.2 5.4-35.6 5.4c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V384v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V384 252.6c-4 1-8 1.8-12.3 2.3z\"]\n};\nvar faArrowTrendUp = {\n prefix: 'fas',\n iconName: 'arrow-trend-up',\n icon: [576, 512, [], \"e098\", \"M384 160c-17.7 0-32-14.3-32-32s14.3-32 32-32H544c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32s-32-14.3-32-32V205.3L342.6 374.6c-12.5 12.5-32.8 12.5-45.3 0L192 269.3 54.6 406.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160c12.5-12.5 32.8-12.5 45.3 0L320 306.7 466.7 160H384z\"]\n};\nvar faPlugCircleMinus = {\n prefix: 'fas',\n iconName: 'plug-circle-minus',\n icon: [576, 512, [], \"e55e\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"]\n};\nvar faSignHanging = {\n prefix: 'fas',\n iconName: 'sign-hanging',\n icon: [512, 512, [\"sign\"], \"f4d9\", \"M96 0c17.7 0 32 14.3 32 32V64l352 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-352 0V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128H32C14.3 128 0 113.7 0 96S14.3 64 32 64H64V32C64 14.3 78.3 0 96 0zm96 160H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\"]\n};\nvar faSign = faSignHanging;\nvar faBezierCurve = {\n prefix: 'fas',\n iconName: 'bezier-curve',\n icon: [640, 512, [], \"f55b\", \"M296 136V88h48v48H296zM288 32c-26.5 0-48 21.5-48 48v4H121.6C111.2 62.7 89.3 48 64 48C28.7 48 0 76.7 0 112s28.7 64 64 64c25.3 0 47.2-14.7 57.6-36h66.9c-58.9 39.6-98.9 105-104 180H80c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-3.3c5.9-67 48.5-123.4 107.5-149.1c8.6 12.7 23.2 21.1 39.8 21.1h64c16.6 0 31.1-8.4 39.8-21.1c59 25.7 101.6 82.1 107.5 149.1H496c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-4.5c-5-75-45.1-140.4-104-180h66.9c10.4 21.3 32.3 36 57.6 36c35.3 0 64-28.7 64-64s-28.7-64-64-64c-25.3 0-47.2 14.7-57.6 36H400V80c0-26.5-21.5-48-48-48H288zM88 376h48v48H88V376zm416 48V376h48v48H504z\"]\n};\nvar faBellSlash = {\n prefix: 'fas',\n iconName: 'bell-slash',\n icon: [640, 512, [128277, 61943], \"f1f6\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-87.5-68.6c.5-1.7 .7-3.5 .7-5.4c0-27.6-11-54.1-30.5-73.7L512 320c-20.5-20.5-32-48.3-32-77.3V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V51.2c-42.6 8.6-79 34.2-102 69.3L38.8 5.1zM160 242.7c0 29-11.5 56.8-32 77.3l-1.5 1.5C107 341 96 367.5 96 395.2c0 11.5 9.3 20.8 20.8 20.8H406.2L160 222.1v20.7zM384 448H320 256c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z\"]\n};\nvar faTablet = {\n prefix: 'fas',\n iconName: 'tablet',\n icon: [448, 512, [\"tablet-android\"], \"f3fb\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM176 432h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTabletAndroid = faTablet;\nvar faSchoolFlag = {\n prefix: 'fas',\n iconName: 'school-flag',\n icon: [576, 512, [], \"e56e\", \"M288 0H400c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H320.7l89.6 64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H336V400c0-26.5-21.5-48-48-48s-48 21.5-48 48V512H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64H165.7L256 95.5V32c0-17.7 14.3-32 32-32zm48 240a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM80 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm368 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H464c-8.8 0-16 7.2-16 16zM80 352c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H80zm384 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H464z\"]\n};\nvar faFill = {\n prefix: 'fas',\n iconName: 'fill',\n icon: [512, 512, [], \"f575\", \"M86.6 9.4C74.1-3.1 53.9-3.1 41.4 9.4s-12.5 32.8 0 45.3L122.7 136 30.6 228.1c-37.5 37.5-37.5 98.3 0 135.8L148.1 481.4c37.5 37.5 98.3 37.5 135.8 0L474.3 290.9c28.1-28.1 28.1-73.7 0-101.8L322.9 37.7c-28.1-28.1-73.7-28.1-101.8 0L168 90.7 86.6 9.4zM168 181.3l49.4 49.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L213.3 136l53.1-53.1c3.1-3.1 8.2-3.1 11.3 0L429.1 234.3c3.1 3.1 3.1 8.2 0 11.3L386.7 288H67.5c1.4-5.4 4.2-10.4 8.4-14.6L168 181.3z\"]\n};\nvar faAngleUp = {\n prefix: 'fas',\n iconName: 'angle-up',\n icon: [448, 512, [8963], \"f106\", \"M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z\"]\n};\nvar faDrumstickBite = {\n prefix: 'fas',\n iconName: 'drumstick-bite',\n icon: [512, 512, [], \"f6d7\", \"M160 265.2c0 8.5-3.4 16.6-9.4 22.6l-26.8 26.8c-12.3 12.3-32.5 11.4-49.4 7.2C69.8 320.6 65 320 60 320c-33.1 0-60 26.9-60 60s26.9 60 60 60c6.3 0 12 5.7 12 12c0 33.1 26.9 60 60 60s60-26.9 60-60c0-5-.6-9.8-1.8-14.5c-4.2-16.9-5.2-37.1 7.2-49.4l26.8-26.8c6-6 14.1-9.4 22.6-9.4H336c6.3 0 12.4-.3 18.5-1c11.9-1.2 16.4-15.5 10.8-26c-8.5-15.8-13.3-33.8-13.3-53c0-61.9 50.1-112 112-112c8 0 15.7 .8 23.2 2.4c11.7 2.5 24.1-5.9 22-17.6C494.5 62.5 422.5 0 336 0C238.8 0 160 78.8 160 176v89.2z\"]\n};\nvar faHollyBerry = {\n prefix: 'fas',\n iconName: 'holly-berry',\n icon: [512, 512, [], \"f7aa\", \"M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM276.8 383.8c1 .1 2.1 .2 3.2 .2c39.8 0 72 32.2 72 72v22.7c0 16.4 16 27.9 31.6 22.8l12.8-4.3c18-6 37.3-6.5 55.6-1.5l19.4 5.3c17.9 4.9 34.4-11.6 29.5-29.5L495.6 452c-5-18.3-4.4-37.6 1.5-55.6l4.3-12.8c5.2-15.5-6.4-31.6-22.8-31.6c-34.6 0-62.7-28.1-62.7-62.7v-32c0-16.4-16-27.9-31.6-22.8l-12.8 4.3c-18 6-37.3 6.5-55.6 1.5l-29.6-8.1c-2.9-.8-5.9-1-8.7-.7c4.2 9.7 5.8 20.8 3.7 32.3L275 298.7c-1.5 8.4-1.4 17 .5 25.3l5.3 23.9c2.8 12.7 1.1 25.2-4 35.9zM127.6 234.5c-15.5-5.2-31.6 6.4-31.6 22.8v32C96 323.9 67.9 352 33.3 352c-16.4 0-27.9 16-22.8 31.6l4.3 12.8c6 18 6.5 37.3 1.5 55.6l-5.3 19.4C6.2 489.4 22.6 505.8 40.5 501L60 495.6c18.3-5 37.6-4.5 55.6 1.5l12.8 4.3c15.5 5.2 31.6-6.4 31.6-22.8v-32c0-34.6 28.1-62.7 62.7-62.7c16.4 0 27.9-16 22.8-31.6l-4.3-12.8c-6-18-6.5-37.3-1.5-55.6l5.3-19.4c4.9-17.9-11.6-34.4-29.5-29.5L196 240.4c-18.3 5-37.6 4.4-55.6-1.5l-12.8-4.3zM384 144a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faChevronLeft = {\n prefix: 'fas',\n iconName: 'chevron-left',\n icon: [320, 512, [9001], \"f053\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"]\n};\nvar faBacteria = {\n prefix: 'fas',\n iconName: 'bacteria',\n icon: [640, 512, [], \"e059\", \"M304.9 .7c-9.6-2.7-19.5 2.8-22.3 12.4l-4.3 15.2c-8.3-.6-16.8 0-25.2 1.9c-7.3 1.7-14.3 3.5-21.1 5.5l-5.5-12.7c-3.9-9.1-14.5-13.4-23.6-9.5s-13.4 14.5-9.5 23.6l4.4 10.4c-16.6 6.7-31.7 14.4-45.4 22.8L147 62c-5.5-8.3-16.7-10.5-25-5s-10.5 16.7-5 25l6 9c-13.7 11-25.5 22.8-35.8 34.9l-10-8c-7.8-6.2-19.1-5-25.3 2.8s-5 19.1 2.8 25.3L65.9 155c-1.8 2.8-3.5 5.7-5.1 8.5c-6.6 11.4-11.8 22.6-16 33l-8-3.2c-9.2-3.7-19.7 .8-23.4 10s.8 19.7 10 23.4l10.4 4.2c-.2 .8-.4 1.5-.5 2.3c-2.2 9.3-3.4 17.3-4.1 23.4c-.4 3.1-.6 5.7-.8 7.8c-.1 1.1-.1 2-.2 2.8l-.1 1.1 0 .5 0 .2 0 .1c0 0 0 .1 29.1 1l-.1 0L28 269.3c-.1 3.1 0 6.1 .2 9.1l-15.2 4.3C3.5 285.4-2 295.4 .7 304.9s12.7 15.1 22.3 12.4l15.6-4.5c7.6 13.6 18.9 25 32.6 32.6L66.7 361c-2.7 9.6 2.8 19.5 12.4 22.3s19.5-2.8 22.3-12.4l4.3-15.2c1.2 .1 2.4 .2 3.6 .2c15.6 .5 30.3-3.3 43-10.2l9 9c7 7 18.4 7 25.5 0s7-18.4 0-25.5l-7.2-7.2c9.3-12.6 15.2-27.8 16.3-44.5l7.1 3c9.1 3.9 19.7-.3 23.6-9.5s-.3-19.7-9.5-23.6l-8.6-3.7c6.4-9.9 17.3-22.4 36.9-33.3l1.3 4.4c2.7 9.6 12.7 15.1 22.3 12.4s15.1-12.7 12.4-22.3l-2.3-8.1c3.8-1.1 7.7-2.1 11.9-3.1c11.6-2.7 22.1-7.7 31.1-14.4l7.2 7.2c7 7 18.4 7 25.5 0s7-18.4 0-25.5l-9-9c7.6-13.9 11.3-30.1 10.1-46.6l15.2-4.3c9.6-2.7 15.1-12.7 12.4-22.3S370.6 64 361 66.7l-15.6 4.5c-7.7-13.9-19.1-25.1-32.6-32.6l4.5-15.6c2.7-9.6-2.8-19.5-12.4-22.3zM112 272l-48-1.5 0 0c11.7 .4 27.3 .9 48 1.6zm16-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64-48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM322.7 489c-2.7 9.6 2.8 19.5 12.4 22.3s19.5-2.8 22.2-12.4l4.3-15.2c8.3 .6 16.8 0 25.2-1.9c7.3-1.7 14.3-3.5 21.1-5.5l5.5 12.7c3.9 9.1 14.5 13.4 23.6 9.5s13.4-14.5 9.5-23.6l-4.4-10.4c16.6-6.7 31.7-14.4 45.4-22.8L493 450c5.5 8.3 16.7 10.5 25 5s10.5-16.7 5-25l-6-9c13.7-11 25.5-22.8 35.8-34.9l10 8c7.8 6.2 19.1 5 25.3-2.8s5-19.1-2.8-25.3L574.1 357c1.8-2.8 3.5-5.7 5.1-8.5c6.6-11.4 11.8-22.6 16-33l8 3.2c9.2 3.7 19.7-.8 23.4-10s-.8-19.7-10-23.4l-10.4-4.2c.2-.8 .4-1.5 .5-2.3c2.2-9.3 3.4-17.3 4.1-23.4c.4-3.1 .6-5.7 .8-7.8c.1-1.1 .1-2 .2-2.8l.1-1.1 0-.5 0-.2 0-.1c0 0 0-.1-29.1-1l.1 0 29.1 .9c.1-3.1 0-6.1-.2-9.1l15.2-4.3c9.6-2.7 15.1-12.7 12.4-22.3s-12.7-15.1-22.3-12.4l-15.6 4.5c-7.6-13.6-18.9-25-32.6-32.6l4.5-15.6c2.7-9.6-2.8-19.5-12.4-22.3s-19.5 2.8-22.3 12.4l-4.3 15.2c-1.2-.1-2.4-.2-3.6-.2c-15.6-.5-30.3 3.3-43 10.2l-9-9c-7-7-18.4-7-25.5 0s-7 18.4 0 25.5l7.2 7.2c-9.3 12.6-15.2 27.8-16.3 44.5l-7.1-3c-9.1-3.9-19.7 .3-23.6 9.5s.3 19.7 9.5 23.6l8.6 3.7c-6.4 9.9-17.3 22.4-36.9 33.3l-1.3-4.4c-2.7-9.6-12.7-15.1-22.3-12.4s-15.1 12.7-12.4 22.3l2.3 8.1c-3.8 1.1-7.7 2.1-11.9 3.1c-11.6 2.7-22.1 7.7-31.1 14.4l-7.2-7.2c-7-7-18.4-7-25.5 0s-7 18.4 0 25.5l9 9c-7.6 13.9-11.3 30.1-10.1 46.6l-15.2 4.3c-9.6 2.7-15.1 12.7-12.4 22.2s12.7 15.1 22.3 12.4l15.6-4.5c7.7 13.9 19.1 25.1 32.6 32.6L322.7 489zM576 241.5l0 0c-11.7-.4-27.3-.9-48-1.6l48 1.5zM448 384a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faHandLizard = {\n prefix: 'fas',\n iconName: 'hand-lizard',\n icon: [512, 512, [], \"f258\", \"M0 112C0 85.5 21.5 64 48 64H160h80 46.5c36.8 0 71.2 18 92.1 48.2l113.5 164c13 18.7 19.9 41 19.9 63.8v12 16 48c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V402.2L273.9 352H240 160 112c-26.5 0-48-21.5-48-48s21.5-48 48-48h48 80c26.5 0 48-21.5 48-48s-21.5-48-48-48H160 48c-26.5 0-48-21.5-48-48z\"]\n};\nvar faNotdef = {\n prefix: 'fas',\n iconName: 'notdef',\n icon: [384, 512, [], \"e1fe\", \"M64 390.3L153.5 256 64 121.7V390.3zM102.5 448H281.5L192 313.7 102.5 448zm128-192L320 390.3V121.7L230.5 256zM281.5 64H102.5L192 198.3 281.5 64zM0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48z\"]\n};\nvar faDisease = {\n prefix: 'fas',\n iconName: 'disease',\n icon: [512, 512, [], \"f7fa\", \"M236.4 61.4L227 75.5c-21.3 32-59.4 48.5-97.3 42.1l-59.6-9.9C33.4 101.6 0 129.9 .1 167.1c0 15.9 6.4 31.2 17.6 42.5l29.2 29.2c11 11 17.2 25.9 17.2 41.5c0 15.8-6.4 30.9-17.7 42L33.3 335.1C22.2 345.9 16 360.7 16 376.2c0 36.8 34.1 64.2 70.1 56.2l62.3-13.8c7.7-1.7 15.7-2.6 23.6-2.6h10c27.2 0 53.7 9.3 75 26.3L287.8 467c10.5 8.4 23.6 13 37 13c32.7 0 59.3-26.5 59.3-59.3l0-25.2c0-34.9 21.4-66.2 53.9-78.8l36.9-14.3c22.4-8.7 37.2-30.3 37.2-54.3c0-28.1-20.1-52.3-47.8-57.3l-28-5.1c-36.5-6.7-65.4-34.5-73.6-70.7l-7.1-31.5C348.9 53.4 322.1 32 291.3 32c-22 0-42.6 11-54.9 29.4zM160 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBriefcaseMedical = {\n prefix: 'fas',\n iconName: 'briefcase-medical',\n icon: [512, 512, [], \"f469\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zm96 152c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V320H176c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]\n};\nvar faGenderless = {\n prefix: 'fas',\n iconName: 'genderless',\n icon: [384, 512, [], \"f22d\", \"M192 144a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 288a176 176 0 1 0 0-352 176 176 0 1 0 0 352z\"]\n};\nvar faChevronRight = {\n prefix: 'fas',\n iconName: 'chevron-right',\n icon: [320, 512, [9002], \"f054\", \"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"]\n};\nvar faRetweet = {\n prefix: 'fas',\n iconName: 'retweet',\n icon: [576, 512, [], \"f079\", \"M272 416c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-17.7 0-32-14.3-32-32V192h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l32 0 0 128c0 53 43 96 96 96H272zM304 96c-17.7 0-32 14.3-32 32s14.3 32 32 32l112 0c17.7 0 32 14.3 32 32l0 128H416c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8l-32 0V192c0-53-43-96-96-96L304 96z\"]\n};\nvar faCarRear = {\n prefix: 'fas',\n iconName: 'car-rear',\n icon: [512, 512, [\"car-alt\"], \"f5de\", \"M165.4 96H346.6c13.6 0 25.7 8.6 30.2 21.4L402.9 192H109.1l26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zm-90.6 .3L39.6 196.8C16.4 206.4 0 229.3 0 256v80c0 23.7 12.9 44.4 32 55.4V448c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V400H384v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V391.4c19.1-11.1 32-31.7 32-55.4V256c0-26.7-16.4-49.6-39.6-59.2L437.2 96.3C423.7 57.8 387.4 32 346.6 32H165.4c-40.8 0-77.1 25.8-90.6 64.3zM208 272h96c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V288c0-8.8 7.2-16 16-16zM48 280c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-13.3 0-24-10.7-24-24zm360-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H408c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCarAlt = faCarRear;\nvar faPumpSoap = {\n prefix: 'fas',\n iconName: 'pump-soap',\n icon: [448, 512, [], \"e06b\", \"M128 32v96H256V96h60.1c4.2 0 8.3 1.7 11.3 4.7l33.9 33.9c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L372.7 55.4c-15-15-35.4-23.4-56.6-23.4H256c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zM117.4 160c-33.3 0-61 25.5-63.8 58.7L35 442.7C31.9 480 61.3 512 98.8 512H285.2c37.4 0 66.9-32 63.8-69.3l-18.7-224c-2.8-33.2-30.5-58.7-63.8-58.7H117.4zM256 360c0 35.3-28.7 56-64 56s-64-20.7-64-56c0-32.5 37-80.9 50.9-97.9c3.2-3.9 8.1-6.1 13.1-6.1s9.9 2.2 13.1 6.1C219 279.1 256 327.5 256 360z\"]\n};\nvar faVideoSlash = {\n prefix: 'fas',\n iconName: 'video-slash',\n icon: [640, 512, [], \"f4e2\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.4-67.7 13.8 9.2c9.8 6.5 22.4 7.2 32.9 1.6s16.9-16.4 16.9-28.2V128c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.9 1.6l-96 64L448 174.9V192 320v5.8l-32-25.1V128c0-35.3-28.7-64-64-64H113.9L38.8 5.1zM407 416.7L32.3 121.5c-.2 2.1-.3 4.3-.3 6.5V384c0 35.3 28.7 64 64 64H352c23.4 0 43.9-12.6 55-31.3z\"]\n};\nvar faBatteryQuarter = {\n prefix: 'fas',\n iconName: 'battery-quarter',\n icon: [576, 512, [\"battery-2\"], \"f243\", \"M464 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm112 96H96V320h96V192z\"]\n};\nvar faBattery2 = faBatteryQuarter;\nvar faRadio = {\n prefix: 'fas',\n iconName: 'radio',\n icon: [512, 512, [128251], \"f8d7\", \"M494.8 47c12.7-3.7 20-17.1 16.3-29.8S494-2.8 481.2 1L51.7 126.9c-9.4 2.7-17.9 7.3-25.1 13.2C10.5 151.7 0 170.6 0 192v4V304 448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H218.5L494.8 47zM368 240a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM80 256c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16zM64 320c0-8.8 7.2-16 16-16H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm16 64c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16z\"]\n};\nvar faBabyCarriage = {\n prefix: 'fas',\n iconName: 'baby-carriage',\n icon: [512, 512, [\"carriage-baby\"], \"f77d\", \"M256 192H.1C2.7 117.9 41.3 52.9 99 14.1c13.3-8.9 30.8-4.3 39.9 8.8L256 192zm128-32c0-35.3 28.7-64 64-64h32c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0v64c0 25.2-5.8 50.2-17 73.5s-27.8 44.5-48.6 62.3s-45.5 32-72.7 41.6S253.4 416 224 416s-58.5-5-85.7-14.6s-51.9-23.8-72.7-41.6s-37.3-39-48.6-62.3S0 249.2 0 224l224 0 160 0V160zM80 416a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm240 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faCarriageBaby = faBabyCarriage;\nvar faTrafficLight = {\n prefix: 'fas',\n iconName: 'traffic-light',\n icon: [320, 512, [128678], \"f637\", \"M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm96 416a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm48-176a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-80a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]\n};\nvar faThermometer = {\n prefix: 'fas',\n iconName: 'thermometer',\n icon: [512, 512, [], \"f491\", \"M96 382.1V293.3c0-14.9 5.9-29.1 16.4-39.6l27.3-27.3 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 45.5-45.5C355.2 10.9 381.4 0 408.8 0C465.8 0 512 46.2 512 103.2c0 27.4-10.9 53.6-30.2 73L258.3 399.6c-10.5 10.5-24.7 16.4-39.6 16.4H129.9L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l89-89z\"]\n};\nvar faVrCardboard = {\n prefix: 'fas',\n iconName: 'vr-cardboard',\n icon: [640, 512, [], \"f729\", \"M576 64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H184.4c24.2 0 46.4-13.7 57.2-35.4l32-64c8.8-17.5 26.7-28.6 46.3-28.6s37.5 11.1 46.3 28.6l32 64c10.8 21.7 33 35.4 57.2 35.4H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM96 240a64 64 0 1 1 128 0A64 64 0 1 1 96 240zm384-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faHandMiddleFinger = {\n prefix: 'fas',\n iconName: 'hand-middle-finger',\n icon: [448, 512, [128405], \"f806\", \"M232 0c-22.1 0-40 17.9-40 40V204.2c-8.5-7.6-19.7-12.2-32-12.2c-26.5 0-48 21.5-48 48v7 73c0 8.8-7.2 16-16 16s-16-7.2-16-16V264.3c-2 1.4-3.9 3-5.8 4.5L55 284.8C40.4 297 32 315 32 334V372c0 38 16.9 74 46.1 98.3l5.4 4.5c28.8 24 65 37.1 102.4 37.1H304c70.7 0 128-57.3 128-128V320 288c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C350 227.5 329.3 208 304 208c-12.3 0-23.5 4.6-32 12.2V40c0-22.1-17.9-40-40-40z\"]\n};\nvar faPercent = {\n prefix: 'fas',\n iconName: 'percent',\n icon: [384, 512, [62101, 62785, \"percentage\"], \"25\", \"M374.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-320 320c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l320-320zM128 128A64 64 0 1 0 0 128a64 64 0 1 0 128 0zM384 384a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faPercentage = faPercent;\nvar faTruckMoving = {\n prefix: 'fas',\n iconName: 'truck-moving',\n icon: [640, 512, [], \"f4df\", \"M64 32C28.7 32 0 60.7 0 96V304v80 16c0 44.2 35.8 80 80 80c26.2 0 49.4-12.6 64-32c14.6 19.4 37.8 32 64 32c44.2 0 80-35.8 80-80c0-5.5-.6-10.8-1.6-16H416h33.6c-1 5.2-1.6 10.5-1.6 16c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H608c17.7 0 32-14.3 32-32V288 272 261.7c0-9.2-3.2-18.2-9-25.3l-58.8-71.8c-10.6-13-26.5-20.5-43.3-20.5H480V96c0-35.3-28.7-64-64-64H64zM585 256H480V192h48.8c2.4 0 4.7 1.1 6.2 2.9L585 256zM528 368a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM176 400a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM80 368a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGlassWaterDroplet = {\n prefix: 'fas',\n iconName: 'glass-water-droplet',\n icon: [384, 512, [], \"e4f5\", \"M32 0C23.1 0 14.6 3.7 8.6 10.2S-.6 25.4 .1 34.3L28.9 437.7c3 41.9 37.8 74.3 79.8 74.3H275.3c42 0 76.8-32.4 79.8-74.3L383.9 34.3c.6-8.9-2.4-17.6-8.5-24.1S360.9 0 352 0H32zM83 297.5L66.4 64H317.6L301 297.5 288 304c-20.1 10.1-43.9 10.1-64 0s-43.9-10.1-64 0s-43.9 10.1-64 0l-13-6.5zM256 196c0-24-33.7-70.1-52.2-93.5c-6.1-7.7-17.5-7.7-23.6 0C161.7 125.9 128 172 128 196c0 33.1 28.7 60 64 60s64-26.9 64-60z\"]\n};\nvar faDisplay = {\n prefix: 'fas',\n iconName: 'display',\n icon: [576, 512, [], \"e163\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V352H64V64H512z\"]\n};\nvar faFaceSmile = {\n prefix: 'fas',\n iconName: 'face-smile',\n icon: [512, 512, [128578, \"smile\"], \"f118\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSmile = faFaceSmile;\nvar faThumbtack = {\n prefix: 'fas',\n iconName: 'thumbtack',\n icon: [384, 512, [128204, 128392, \"thumb-tack\"], \"f08d\", \"M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z\"]\n};\nvar faThumbTack = faThumbtack;\nvar faTrophy = {\n prefix: 'fas',\n iconName: 'trophy',\n icon: [576, 512, [127942], \"f091\", \"M400 0H176c-26.5 0-48.1 21.8-47.1 48.2c.2 5.3 .4 10.6 .7 15.8H24C10.7 64 0 74.7 0 88c0 92.6 33.5 157 78.5 200.7c44.3 43.1 98.3 64.8 138.1 75.8c23.4 6.5 39.4 26 39.4 45.6c0 20.9-17 37.9-37.9 37.9H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H357.9C337 448 320 431 320 410.1c0-19.6 15.9-39.2 39.4-45.6c39.9-11 93.9-32.7 138.2-75.8C542.5 245 576 180.6 576 88c0-13.3-10.7-24-24-24H446.4c.3-5.2 .5-10.4 .7-15.8C448.1 21.8 426.5 0 400 0zM48.9 112h84.4c9.1 90.1 29.2 150.3 51.9 190.6c-24.9-11-50.8-26.5-73.2-48.3c-32-31.1-58-76-63-142.3zM464.1 254.3c-22.4 21.8-48.3 37.3-73.2 48.3c22.7-40.3 42.8-100.5 51.9-190.6h84.4c-5.1 66.3-31.1 111.2-63 142.3z\"]\n};\nvar faPersonPraying = {\n prefix: 'fas',\n iconName: 'person-praying',\n icon: [448, 512, [128720, \"pray\"], \"f683\", \"M352 64A64 64 0 1 0 224 64a64 64 0 1 0 128 0zM232.7 264l22.9 31.5c6.5 8.9 16.3 14.7 27.2 16.1s21.9-1.7 30.4-8.7l88-72c17.1-14 19.6-39.2 5.6-56.3s-39.2-19.6-56.3-5.6l-55.2 45.2-26.2-36C253.6 156.7 228.6 144 202 144c-30.9 0-59.2 17.1-73.6 44.4L79.8 280.9c-20.2 38.5-9.4 85.9 25.6 111.8L158.6 432H72c-22.1 0-40 17.9-40 40s17.9 40 40 40H280c17.3 0 32.6-11.1 38-27.5s-.3-34.4-14.2-44.7L187.7 354l45-90z\"]\n};\nvar faPray = faPersonPraying;\nvar faHammer = {\n prefix: 'fas',\n iconName: 'hammer',\n icon: [576, 512, [128296], \"f6e3\", \"M413.5 237.5c-28.2 4.8-58.2-3.6-80-25.4l-38.1-38.1C280.4 159 272 138.8 272 117.6V105.5L192.3 62c-5.3-2.9-8.6-8.6-8.3-14.7s3.9-11.5 9.5-14l47.2-21C259.1 4.2 279 0 299.2 0h18.1c36.7 0 72 14 98.7 39.1l44.6 42c24.2 22.8 33.2 55.7 26.6 86L503 183l8-8c9.4-9.4 24.6-9.4 33.9 0l24 24c9.4 9.4 9.4 24.6 0 33.9l-88 88c-9.4 9.4-24.6 9.4-33.9 0l-24-24c-9.4-9.4-9.4-24.6 0-33.9l8-8-17.5-17.5zM27.4 377.1L260.9 182.6c3.5 4.9 7.5 9.6 11.8 14l38.1 38.1c6 6 12.4 11.2 19.2 15.7L134.9 484.6c-14.5 17.4-36 27.4-58.6 27.4C34.1 512 0 477.8 0 435.7c0-22.6 10.1-44.1 27.4-58.6z\"]\n};\nvar faHandPeace = {\n prefix: 'fas',\n iconName: 'hand-peace',\n icon: [512, 512, [9996], \"f25b\", \"M224 0c17.7 0 32 14.3 32 32V240H192V32c0-17.7 14.3-32 32-32zm96 160c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32zm64 64c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224zM93.3 51.2L175.9 240H106.1L34.7 76.8C27.6 60.6 35 41.8 51.2 34.7s35.1 .3 42.1 16.5zm27 221.3l-.2-.5h69.9H216c22.1 0 40 17.9 40 40s-17.9 40-40 40H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V352c0 88.4-71.6 160-160 160H226.3c-42.4 0-83.1-16.9-113.1-46.9l-11.6-11.6C77.5 429.5 64 396.9 64 363V336c0-32.7 24.6-59.7 56.3-63.5z\"]\n};\nvar faRotate = {\n prefix: 'fas',\n iconName: 'rotate',\n icon: [512, 512, [128260, \"sync-alt\"], \"f2f1\", \"M142.9 142.9c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H463.5c0 0 0 0 0 0H472c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5c7.7-21.8 20.2-42.3 37.8-59.8zM16 312v7.6 .7V440c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l41.6-41.6c87.6 86.5 228.7 86.2 315.8-1c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.2 62.2-162.7 62.5-225.3 1L185 329c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8H48.4h-.7H40c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSyncAlt = faRotate;\nvar faSpinner = {\n prefix: 'fas',\n iconName: 'spinner',\n icon: [512, 512, [], \"f110\", \"M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z\"]\n};\nvar faRobot = {\n prefix: 'fas',\n iconName: 'robot',\n icon: [640, 512, [129302], \"f544\", \"M320 0c17.7 0 32 14.3 32 32V96H472c39.8 0 72 32.2 72 72V440c0 39.8-32.2 72-72 72H168c-39.8 0-72-32.2-72-72V168c0-39.8 32.2-72 72-72H288V32c0-17.7 14.3-32 32-32zM208 384c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H400zM264 256a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm152 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM48 224H64V416H48c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H576V224h16z\"]\n};\nvar faPeace = {\n prefix: 'fas',\n iconName: 'peace',\n icon: [512, 512, [9774], \"f67c\", \"M224 445.3V323.5l-94.3 77.1c26.1 22.8 58.5 38.7 94.3 44.7zM89.2 351.1L224 240.8V66.7C133.2 81.9 64 160.9 64 256c0 34.6 9.2 67.1 25.2 95.1zm293.1 49.5L288 323.5V445.3c35.7-6 68.1-21.9 94.3-44.7zm40.6-49.5c16-28 25.2-60.5 25.2-95.1c0-95.1-69.2-174.1-160-189.3V240.8L422.8 351.1zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faGears = {\n prefix: 'fas',\n iconName: 'gears',\n icon: [640, 512, [\"cogs\"], \"f085\", \"M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8h-.7c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCogs = faGears;\nvar faWarehouse = {\n prefix: 'fas',\n iconName: 'warehouse',\n icon: [640, 512, [], \"f494\", \"M0 488V171.3c0-26.2 15.9-49.7 40.2-59.4L308.1 4.8c7.6-3.1 16.1-3.1 23.8 0L599.8 111.9c24.3 9.7 40.2 33.3 40.2 59.4V488c0 13.3-10.7 24-24 24H568c-13.3 0-24-10.7-24-24V224c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32V488c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zm488 24l-336 0c-13.3 0-24-10.7-24-24V432H512l0 56c0 13.3-10.7 24-24 24zM128 400V336H512v64H128zm0-96V224H512l0 80H128z\"]\n};\nvar faArrowUpRightDots = {\n prefix: 'fas',\n iconName: 'arrow-up-right-dots',\n icon: [576, 512, [], \"e4b7\", \"M160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h50.7L9.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 109.3V160c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H160zM576 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM448 208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM400 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm128 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM272 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM144 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM576 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-48-80a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faSplotch = {\n prefix: 'fas',\n iconName: 'splotch',\n icon: [512, 512, [], \"f5bc\", \"M208.5 62.3l28.1-36.9C248.8 9.4 267.8 0 288 0c28.5 0 53.6 18.7 61.8 46l17.8 59.4c10.3 34.4 36.1 62 69.8 74.6l39.8 14.9c20.9 7.9 34.8 27.9 34.8 50.2c0 16.9-7.9 32.8-21.5 42.9l-67.3 50.5c-24.3 18.2-37.2 47.9-33.8 78.1l2.5 22.7c4.3 38.7-26 72.6-65 72.6c-14.8 0-29.3-5.1-40.8-14.3l-55.4-44.3c-4.5-3.6-9.3-6.7-14.5-9.2c-15.8-7.9-33.7-10.4-51-7.3L82.4 451.9C47.8 458.2 16 431.6 16 396.5c0-13.2 4.7-26 13.1-36.2l11.2-13.4c14.6-17.4 22.6-39.4 22.6-62.1c0-18.8-5.5-37.2-15.8-53L8.8 173.5C3.1 164.7 0 154.4 0 143.9c0-33.4 30.1-58.8 63-53.2l51.3 8.7c35.9 6.1 72.2-8.2 94.2-37.1z\"]\n};\nvar faFaceGrinHearts = {\n prefix: 'fas',\n iconName: 'face-grin-hearts',\n icon: [512, 512, [128525, \"grin-hearts\"], \"f584\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM199.3 129.1c17.8 4.8 28.4 23.1 23.6 40.8l-17.4 65c-2.3 8.5-11.1 13.6-19.6 11.3l-65.1-17.4c-17.8-4.8-28.4-23.1-23.6-40.8s23.1-28.4 40.8-23.6l16.1 4.3 4.3-16.1c4.8-17.8 23.1-28.4 40.8-23.6zm154.3 23.6l4.3 16.1 16.1-4.3c17.8-4.8 36.1 5.8 40.8 23.6s-5.8 36.1-23.6 40.8l-65.1 17.4c-8.5 2.3-17.3-2.8-19.6-11.3l-17.4-65c-4.8-17.8 5.8-36.1 23.6-40.8s36.1 5.8 40.9 23.6z\"]\n};\nvar faGrinHearts = faFaceGrinHearts;\nvar faDiceFour = {\n prefix: 'fas',\n iconName: 'dice-four',\n icon: [448, 512, [9859], \"f524\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM352 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faSimCard = {\n prefix: 'fas',\n iconName: 'sim-card',\n icon: [384, 512, [], \"f7c4\", \"M64 0H242.7c17 0 33.3 6.7 45.3 18.7L365.3 96c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0zM96 192c-17.7 0-32 14.3-32 32v32h64V192H96zM64 352h80 96 80V288H240 144 64v64zM320 224c0-17.7-14.3-32-32-32H256v64h64V224zM160 192v64h64V192H160zM288 448c17.7 0 32-14.3 32-32V384H256v64h32zM160 384v64h64V384H160zM64 416c0 17.7 14.3 32 32 32h32V384H64v32z\"]\n};\nvar faTransgender = {\n prefix: 'fas',\n iconName: 'transgender',\n icon: [512, 512, [9895, \"transgender-alt\"], \"f225\", \"M112 0c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-31 31L112 78.1l7-7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-7 7 15.2 15.2C187.7 107.6 220.5 96 256 96s68.3 11.6 94.9 31.2l68.8-68.8-31-31c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9h96c8.8 0 16 7.2 16 16v96c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-31-31-68.8 68.8C404.4 187.7 416 220.5 416 256c0 80.2-59 146.6-136 158.2V432h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V414.2C155 402.6 96 336.2 96 256c0-35.5 11.6-68.3 31.2-94.9L112 145.9l-7 7c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l7-7L58.3 92.3l-31 31c-4.6 4.6-11.5 5.9-17.4 3.5S0 118.5 0 112V16C0 7.2 7.2 0 16 0h96zM352 256a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nvar faTransgenderAlt = faTransgender;\nvar faMercury = {\n prefix: 'fas',\n iconName: 'mercury',\n icon: [384, 512, [9791], \"f223\", \"M72.1 7C85.8-4 106-1.8 117 12c17.6 22 44.7 36 75 36s57.3-14 75-36c11.1-13.8 31.2-16 45-5s16 31.2 5 45c-7.8 9.7-16.6 18.4-26.4 26.1C337.3 109.7 368 163.3 368 224c0 89.1-66.2 162.7-152 174.4V424h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V472H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V398.4C82.2 386.7 16 313.1 16 224c0-60.7 30.7-114.3 77.5-145.9C83.7 70.5 74.9 61.7 67.1 52c-11.1-13.8-8.8-33.9 5-45zM80 224a112 112 0 1 0 224 0A112 112 0 1 0 80 224z\"]\n};\nvar faArrowTurnDown = {\n prefix: 'fas',\n iconName: 'arrow-turn-down',\n icon: [384, 512, [\"level-down\"], \"f149\", \"M32 64C14.3 64 0 49.7 0 32S14.3 0 32 0l96 0c53 0 96 43 96 96l0 306.7 73.4-73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 402.7 160 96c0-17.7-14.3-32-32-32L32 64z\"]\n};\nvar faLevelDown = faArrowTurnDown;\nvar faPersonFallingBurst = {\n prefix: 'fas',\n iconName: 'person-falling-burst',\n icon: [640, 512, [], \"e547\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 9.8c0 39-23.7 74-59.9 88.4C71.6 154.5 32 213 32 278.2V352c0 17.7 14.3 32 32 32s32-14.3 32-32l0-73.8c0-10 1.6-19.8 4.5-29L261.1 497.4c9.6 14.8 29.4 19.1 44.3 9.5s19.1-29.4 9.5-44.3L222.6 320H224l80 0 38.4 51.2c10.6 14.1 30.7 17 44.8 6.4s17-30.7 6.4-44.8l-43.2-57.6C341.3 263.1 327.1 256 312 256l-71.5 0-56.8-80.2-.2-.3c44.7-29 72.5-79 72.5-133.6l0-9.8zM96 80A48 48 0 1 0 0 80a48 48 0 1 0 96 0zM464 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 78.7-12.2c6.5-1 11.7-5.9 13.1-12.2s-1.1-13-6.5-16.7l-65.6-45.1L603 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L508.3 92.1l-29.4-74C476.4 12 470.6 8 464 8s-12.4 4-14.9 10.1l-29.4 74L343.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1-65.6 45.1c-5.4 3.7-8 10.3-6.5 16.7c.1 .3 .1 .6 .2 .8l19.4 0c20.1 0 39.2 7.5 53.8 20.8l18.4 2.9L383 265.3l36.2 48.3c2.1 2.8 3.9 5.7 5.5 8.6L464 286.1z\"]\n};\nvar faAward = {\n prefix: 'fas',\n iconName: 'award',\n icon: [384, 512, [], \"f559\", \"M173.8 5.5c11-7.3 25.4-7.3 36.4 0L228 17.2c6 3.9 13 5.8 20.1 5.4l21.3-1.3c13.2-.8 25.6 6.4 31.5 18.2l9.6 19.1c3.2 6.4 8.4 11.5 14.7 14.7L344.5 83c11.8 5.9 19 18.3 18.2 31.5l-1.3 21.3c-.4 7.1 1.5 14.2 5.4 20.1l11.8 17.8c7.3 11 7.3 25.4 0 36.4L366.8 228c-3.9 6-5.8 13-5.4 20.1l1.3 21.3c.8 13.2-6.4 25.6-18.2 31.5l-19.1 9.6c-6.4 3.2-11.5 8.4-14.7 14.7L301 344.5c-5.9 11.8-18.3 19-31.5 18.2l-21.3-1.3c-7.1-.4-14.2 1.5-20.1 5.4l-17.8 11.8c-11 7.3-25.4 7.3-36.4 0L156 366.8c-6-3.9-13-5.8-20.1-5.4l-21.3 1.3c-13.2 .8-25.6-6.4-31.5-18.2l-9.6-19.1c-3.2-6.4-8.4-11.5-14.7-14.7L39.5 301c-11.8-5.9-19-18.3-18.2-31.5l1.3-21.3c.4-7.1-1.5-14.2-5.4-20.1L5.5 210.2c-7.3-11-7.3-25.4 0-36.4L17.2 156c3.9-6 5.8-13 5.4-20.1l-1.3-21.3c-.8-13.2 6.4-25.6 18.2-31.5l19.1-9.6C65 70.2 70.2 65 73.4 58.6L83 39.5c5.9-11.8 18.3-19 31.5-18.2l21.3 1.3c7.1 .4 14.2-1.5 20.1-5.4L173.8 5.5zM272 192a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM1.3 441.8L44.4 339.3c.2 .1 .3 .2 .4 .4l9.6 19.1c11.7 23.2 36 37.3 62 35.8l21.3-1.3c.2 0 .5 0 .7 .2l17.8 11.8c5.1 3.3 10.5 5.9 16.1 7.7l-37.6 89.3c-2.3 5.5-7.4 9.2-13.3 9.7s-11.6-2.2-14.8-7.2L74.4 455.5l-56.1 8.3c-5.7 .8-11.4-1.5-15-6s-4.3-10.7-2.1-16zm248 60.4L211.7 413c5.6-1.8 11-4.3 16.1-7.7l17.8-11.8c.2-.1 .4-.2 .7-.2l21.3 1.3c26 1.5 50.3-12.6 62-35.8l9.6-19.1c.1-.2 .2-.3 .4-.4l43.2 102.5c2.2 5.3 1.4 11.4-2.1 16s-9.3 6.9-15 6l-56.1-8.3-32.2 49.2c-3.2 5-8.9 7.7-14.8 7.2s-11-4.3-13.3-9.7z\"]\n};\nvar faTicketSimple = {\n prefix: 'fas',\n iconName: 'ticket-simple',\n icon: [576, 512, [\"ticket-alt\"], \"f3ff\", \"M0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64v64c0 8.8-7.4 15.7-15.7 18.6C541.5 217.1 528 235 528 256s13.5 38.9 32.3 45.4c8.3 2.9 15.7 9.8 15.7 18.6v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320c0-8.8 7.4-15.7 15.7-18.6C34.5 294.9 48 277 48 256s-13.5-38.9-32.3-45.4C7.4 207.7 0 200.8 0 192V128z\"]\n};\nvar faTicketAlt = faTicketSimple;\nvar faBuilding = {\n prefix: 'fas',\n iconName: 'building',\n icon: [384, 512, [127970, 61687], \"f1ad\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16z\"]\n};\nvar faAnglesLeft = {\n prefix: 'fas',\n iconName: 'angles-left',\n icon: [512, 512, [171, \"angle-double-left\"], \"f100\", \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160zm352-160l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256 438.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0z\"]\n};\nvar faAngleDoubleLeft = faAnglesLeft;\nvar faQrcode = {\n prefix: 'fas',\n iconName: 'qrcode',\n icon: [448, 512, [], \"f029\", \"M0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80zM64 96v64h64V96H64zM0 336c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336zm64 16v64h64V352H64zM304 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm80 64H320v64h64V96zM256 304c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s7.2-16 16-16s16 7.2 16 16v96c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s-7.2-16-16-16s-16 7.2-16 16v64c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V304zM368 480a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm64 0a16 16 0 1 1 0-32 16 16 0 1 1 0 32z\"]\n};\nvar faClockRotateLeft = {\n prefix: 'fas',\n iconName: 'clock-rotate-left',\n icon: [512, 512, [\"history\"], \"f1da\", \"M75 75L41 41C25.9 25.9 0 36.6 0 57.9V168c0 13.3 10.7 24 24 24H134.1c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24V256c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65V152c0-13.3-10.7-24-24-24z\"]\n};\nvar faHistory = faClockRotateLeft;\nvar faFaceGrinBeamSweat = {\n prefix: 'fas',\n iconName: 'face-grin-beam-sweat',\n icon: [512, 512, [128517, \"grin-beam-sweat\"], \"f583\", \"M476.8 126.3c-4.1 1.1-8.4 1.7-12.8 1.7c-26.5 0-48-21-48-47c0-5 1.8-11.3 4.6-18.1c.3-.7 .6-1.4 .9-2.1c9-20.2 26.5-44.9 36-57.5c3.2-4.4 9.6-4.4 12.8 0C483.4 20.6 512 61 512 81c0 21.7-14.9 39.8-35.2 45.3zM256 0c51.4 0 99.3 15.2 139.4 41.2c-1.5 3.1-3 6.2-4.3 9.3c-3.4 8-7.1 19-7.1 30.5c0 44.3 36.6 79 80 79c9.6 0 18.8-1.7 27.4-4.8c13.3 30.9 20.6 65 20.6 100.8c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0zM383.8 317.8C345.3 329.4 301.9 336 256 336s-89.3-6.6-127.8-18.2c-12.3-3.7-24.3 7-19.2 18.7c24.5 56.9 81.1 96.7 147 96.7s122.5-39.8 147-96.7c5.1-11.8-6.9-22.4-19.2-18.7zm-166.2-89l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"]\n};\nvar faGrinBeamSweat = faFaceGrinBeamSweat;\nvar faFileExport = {\n prefix: 'fas',\n iconName: 'file-export',\n icon: [576, 512, [\"arrow-right-from-file\"], \"f56e\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V288H216c-13.3 0-24 10.7-24 24s10.7 24 24 24H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM384 336V288H494.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H384zm0-208H256V0L384 128z\"]\n};\nvar faArrowRightFromFile = faFileExport;\nvar faShield = {\n prefix: 'fas',\n iconName: 'shield',\n icon: [512, 512, [128737, \"shield-blank\"], \"f132\", \"M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0z\"]\n};\nvar faShieldBlank = faShield;\nvar faArrowUpShortWide = {\n prefix: 'fas',\n iconName: 'arrow-up-short-wide',\n icon: [576, 512, [\"sort-amount-up-alt\"], \"f885\", \"M151.6 42.4C145.5 35.8 137 32 128 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L96 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H320z\"]\n};\nvar faSortAmountUpAlt = faArrowUpShortWide;\nvar faHouseMedical = {\n prefix: 'fas',\n iconName: 'house-medical',\n icon: [576, 512, [], \"e3b2\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32zM256 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]\n};\nvar faGolfBallTee = {\n prefix: 'fas',\n iconName: 'golf-ball-tee',\n icon: [384, 512, [\"golf-ball\"], \"f450\", \"M384 192c0 66.8-34.1 125.6-85.8 160H85.8C34.1 317.6 0 258.8 0 192C0 86 86 0 192 0S384 86 384 192zM242.1 256.6c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4zm-52.3-49.3c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4c0 18.5-15 33.5-33.5 33.5zm113.5-17.5c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4zM96 416c0-17.7 14.3-32 32-32h64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H240c-8.8 0-16 7.2-16 16v16c0 17.7-14.3 32-32 32s-32-14.3-32-32V464c0-8.8-7.2-16-16-16H128c-17.7 0-32-14.3-32-32z\"]\n};\nvar faGolfBall = faGolfBallTee;\nvar faCircleChevronLeft = {\n prefix: 'fas',\n iconName: 'circle-chevron-left',\n icon: [512, 512, [\"chevron-circle-left\"], \"f137\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM271 135c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L167 273c-9.4-9.4-9.4-24.6 0-33.9L271 135z\"]\n};\nvar faChevronCircleLeft = faCircleChevronLeft;\nvar faHouseChimneyWindow = {\n prefix: 'fas',\n iconName: 'house-chimney-window',\n icon: [576, 512, [], \"e00d\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185l52.8 46.4c8 7 12 15 11 24zM248 192c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H248z\"]\n};\nvar faPenNib = {\n prefix: 'fas',\n iconName: 'pen-nib',\n icon: [512, 512, [10001], \"f5ad\", \"M368.4 18.3L312.7 74.1 437.9 199.3l55.7-55.7c21.9-21.9 21.9-57.3 0-79.2L447.6 18.3c-21.9-21.9-57.3-21.9-79.2 0zM288 94.6l-9.2 2.8L134.7 140.6c-19.9 6-35.7 21.2-42.3 41L3.8 445.8c-3.8 11.3-1 23.9 7.3 32.4L164.7 324.7c-3-6.3-4.7-13.3-4.7-20.7c0-26.5 21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48c-7.4 0-14.4-1.7-20.7-4.7L33.7 500.9c8.6 8.3 21.1 11.2 32.4 7.3l264.3-88.6c19.7-6.6 35-22.4 41-42.3l43.2-144.1 2.8-9.2L288 94.6z\"]\n};\nvar faTentArrowTurnLeft = {\n prefix: 'fas',\n iconName: 'tent-arrow-turn-left',\n icon: [576, 512, [], \"e580\", \"M120.1 41.8c9.9-8.9 10.7-24 1.8-33.9S97.8-2.7 87.9 6.2l-80 72C2.9 82.7 0 89.2 0 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 120 456 120c39.8 0 72 32.2 72 72v40c0 13.3 10.7 24 24 24s24-10.7 24-24V192c0-66.3-53.7-120-120-120L86.5 72l33.5-30.2zM307.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S86.7 512 96 512H288V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nvar faTents = {\n prefix: 'fas',\n iconName: 'tents',\n icon: [640, 512, [], \"e582\", \"M396.6 6.5L235.8 129.1c9.6 1.8 18.9 5.8 27 12l168 128c13.2 10.1 22 24.9 24.5 41.4l6.2 41.5H608c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128c-11.5-8.7-27.3-8.7-38.8 0zm-153.2 160c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S22.7 512 32 512H224V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nvar faWandMagic = {\n prefix: 'fas',\n iconName: 'wand-magic',\n icon: [512, 512, [\"magic\"], \"f0d0\", \"M14.1 463.3c-18.7-18.7-18.7-49.1 0-67.9L395.4 14.1c18.7-18.7 49.1-18.7 67.9 0l34.6 34.6c18.7 18.7 18.7 49.1 0 67.9L116.5 497.9c-18.7 18.7-49.1 18.7-67.9 0L14.1 463.3zM347.6 187.6l105-105L429.4 59.3l-105 105 23.3 23.3z\"]\n};\nvar faMagic = faWandMagic;\nvar faDog = {\n prefix: 'fas',\n iconName: 'dog',\n icon: [576, 512, [128021], \"f6d3\", \"M309.6 158.5L332.7 19.8C334.6 8.4 344.5 0 356.1 0c7.5 0 14.5 3.5 19 9.5L392 32h52.1c12.7 0 24.9 5.1 33.9 14.1L496 64h56c13.3 0 24 10.7 24 24v24c0 44.2-35.8 80-80 80H464 448 426.7l-5.1 30.5-112-64zM416 256.1L416 480c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V364.8c-24 12.3-51.2 19.2-80 19.2s-56-6.9-80-19.2V480c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V249.8c-28.8-10.9-51.4-35.3-59.2-66.5L1 167.8c-4.3-17.1 6.1-34.5 23.3-38.8s34.5 6.1 38.8 23.3l3.9 15.5C70.5 182 83.3 192 98 192h30 16H303.8L416 256.1zM464 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faCarrot = {\n prefix: 'fas',\n iconName: 'carrot',\n icon: [512, 512, [129365], \"f787\", \"M346.7 6C337.6 17 320 42.3 320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7c4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-11.4-9.1-38.3-26.8-74-26.8c-32 0-40 8-40 8s8-8 8-40c0-35.7-17.7-62.6-26.8-74C370 2 365.1 0 360 0s-10 2-13.3 6zM244.6 136c-40 0-77.1 18.1-101.7 48.2l60.5 60.5c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-55.3-55.3 0 .1L2.2 477.9C-2 487-.1 497.8 7 505s17.9 9 27.1 4.8l134.7-62.4-52.1-52.1c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L199.7 433l100.2-46.4c46.4-21.5 76.2-68 76.2-119.2C376 194.8 317.2 136 244.6 136z\"]\n};\nvar faMoon = {\n prefix: 'fas',\n iconName: 'moon',\n icon: [384, 512, [127769, 9214], \"f186\", \"M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z\"]\n};\nvar faWineGlassEmpty = {\n prefix: 'fas',\n iconName: 'wine-glass-empty',\n icon: [320, 512, [\"wine-glass-alt\"], \"f5ce\", \"M64 0C47.4 0 33.5 12.8 32.1 29.3l-14 168.4c-6 72 42.5 135.2 109.9 150.6V448H80c-17.7 0-32 14.3-32 32s14.3 32 32 32h80 80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V348.4c67.4-15.4 115.9-78.6 109.9-150.6l-14-168.4C286.5 12.8 272.6 0 256 0H64zM81.9 203.1L93.4 64H226.6l11.6 139.1C242 248.8 205.9 288 160 288s-82-39.2-78.1-84.9z\"]\n};\nvar faWineGlassAlt = faWineGlassEmpty;\nvar faCheese = {\n prefix: 'fas',\n iconName: 'cheese',\n icon: [512, 512, [], \"f7ef\", \"M512 240.2V256H0c0-20 10-38.7 26.6-49.8L274.9 40.7c8.6-5.7 18.6-8.7 28.9-8.7C418.8 32 512 125.2 512 240.2zm0 47.8V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V288H512z\"]\n};\nvar faYinYang = {\n prefix: 'fas',\n iconName: 'yin-yang',\n icon: [512, 512, [9775], \"f6ad\", \"M256 64c53 0 96 43 96 96s-43 96-96 96s-96 43-96 96s43 96 96 96C150 448 64 362 64 256S150 64 256 64zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMusic = {\n prefix: 'fas',\n iconName: 'music',\n icon: [512, 512, [127925], \"f001\", \"M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7v72V368c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6V147L192 223.8V432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6V200 128c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z\"]\n};\nvar faCodeCommit = {\n prefix: 'fas',\n iconName: 'code-commit',\n icon: [640, 512, [], \"f386\", \"M320 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm156.8-48C462 361 397.4 416 320 416s-142-55-156.8-128H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H163.2C178 151 242.6 96 320 96s142 55 156.8 128H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H476.8z\"]\n};\nvar faTemperatureLow = {\n prefix: 'fas',\n iconName: 'temperature-low',\n icon: [512, 512, [], \"f76b\", \"M448 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 96a96 96 0 1 1 192 0A96 96 0 1 1 320 96zM144 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C70.2 332.6 64 349.5 64 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM32 112C32 50.2 82.1 0 144 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S0 447.5 0 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM192 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V272c0-8.8 7.2-16 16-16s16 7.2 16 16v50.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faPersonBiking = {\n prefix: 'fas',\n iconName: 'person-biking',\n icon: [640, 512, [128692, \"biking\"], \"f84a\", \"M400 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm27.2 64l-61.8-48.8c-17.3-13.6-41.7-13.8-59.1-.3l-83.1 64.2c-30.7 23.8-28.5 70.8 4.3 91.6L288 305.1V416c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-10.7-5.3-20.7-14.2-26.6L295 232.9l60.3-48.5L396 217c5.7 4.5 12.7 7 20 7h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H427.2zM56 384a72 72 0 1 1 144 0A72 72 0 1 1 56 384zm200 0A128 128 0 1 0 0 384a128 128 0 1 0 256 0zm184 0a72 72 0 1 1 144 0 72 72 0 1 1 -144 0zm200 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z\"]\n};\nvar faBiking = faPersonBiking;\nvar faBroom = {\n prefix: 'fas',\n iconName: 'broom',\n icon: [576, 512, [129529], \"f51a\", \"M566.6 54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192-34.7-34.7c-4.2-4.2-10-6.6-16-6.6c-12.5 0-22.6 10.1-22.6 22.6v29.1L364.3 320h29.1c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16l-34.7-34.7 192-192zM341.1 353.4L222.6 234.9c-42.7-3.7-85.2 11.7-115.8 42.3l-8 8C76.5 307.5 64 337.7 64 369.2c0 6.8 7.1 11.2 13.2 8.2l51.1-25.5c5-2.5 9.5 4.1 5.4 7.9L7.3 473.4C2.7 477.6 0 483.6 0 489.9C0 502.1 9.9 512 22.1 512l173.3 0c38.8 0 75.9-15.4 103.4-42.8c30.6-30.6 45.9-73.1 42.3-115.8z\"]\n};\nvar faShieldHeart = {\n prefix: 'fas',\n iconName: 'shield-heart',\n icon: [512, 512, [], \"e574\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM144 221.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"]\n};\nvar faGopuram = {\n prefix: 'fas',\n iconName: 'gopuram',\n icon: [512, 512, [], \"f664\", \"M120 0c13.3 0 24 10.7 24 24v8h40V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h48V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h40V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8V64v64c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32v96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H416V352H384V224H352V128H320v96h32V352h32V512H304V464c0-26.5-21.5-48-48-48s-48 21.5-48 48v48H128V352h32V224h32V128H160v96H128V352H96V512H32c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32V256c0-17.7 14.3-32 32-32V160c0-17.7 14.3-32 32-32V64 32 24c0-13.3 10.7-24 24-24zM256 272c-17.7 0-32 14.3-32 32v48h64V304c0-17.7-14.3-32-32-32zm-32-80v32h64V192c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faEarthOceania = {\n prefix: 'fas',\n iconName: 'earth-oceania',\n icon: [512, 512, [\"globe-oceania\"], \"e47b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208.6 357.3l-39-13.5c-6.5-2.2-13.6-2.3-20.1-.3l-15.3 4.9c-18.5 5.9-38.5-2.4-47.5-19.5l-3.3-6.2c-10.6-20.1-2.3-45 18.2-54.7l35.3-16.8c2.3-1.1 4.4-2.8 5.9-4.8l5.3-7c7.2-9.6 18.6-15.3 30.6-15.3s23.4 5.7 30.6 15.3l4.6 6.1c2 2.6 4.9 4.5 8.1 5.1c7.8 1.6 15.7-1.5 20.4-7.9l10.4-14.2c2-2.8 5.3-4.4 8.7-4.4c4.4 0 8.4 2.7 10 6.8l10.1 25.9c2.8 7.2 6.7 14 11.5 20.2L311 299.8c5.8 7.4 9 16.6 9 26s-3.2 18.6-9 26L299 367.2c-8.3 10.6-21 16.8-34.4 16.8c-8.4 0-16.6-2.4-23.7-7l-25.4-16.4c-2.2-1.4-4.5-2.5-6.9-3.4zm65.2-214.8L296 164.7c10.1 10.1 2.9 27.3-11.3 27.3H254.8c-5.6 0-11.1-1.2-16.2-3.4l-42.8-19c-14.3-6.3-11.9-27.3 3.4-30.3l38.5-7.7c13.1-2.6 26.7 1.5 36.1 10.9zM248 432c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H264c-8.8 0-16-7.2-16-16zM431.2 298.9l8 24c2.8 8.4-1.7 17.4-10.1 20.2s-17.4-1.7-20.2-10.1l-8-24c-2.8-8.4 1.7-17.4 10.1-20.2s17.4 1.7 20.2 10.1zm-19.9 80.4l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faGlobeOceania = faEarthOceania;\nvar faSquareXmark = {\n prefix: 'fas',\n iconName: 'square-xmark',\n icon: [448, 512, [10062, \"times-square\", \"xmark-square\"], \"f2d3\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm79 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesSquare = faSquareXmark;\nvar faXmarkSquare = faSquareXmark;\nvar faHashtag = {\n prefix: 'fas',\n iconName: 'hashtag',\n icon: [448, 512, [62098], \"23\", \"M181.3 32.4c17.4 2.9 29.2 19.4 26.3 36.8L197.8 128h95.1l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3s29.2 19.4 26.3 36.8L357.8 128H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H347.1L325.8 320H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H315.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l9.8-58.7H155.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8L90.2 384H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l21.3-128H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3zM187.1 192L165.8 320h95.1l21.3-128H187.1z\"]\n};\nvar faUpRightAndDownLeftFromCenter = {\n prefix: 'fas',\n iconName: 'up-right-and-down-left-from-center',\n icon: [512, 512, [\"expand-alt\"], \"f424\", \"M344 0H488c13.3 0 24 10.7 24 24V168c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512H24c-13.3 0-24-10.7-24-24V344c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z\"]\n};\nvar faExpandAlt = faUpRightAndDownLeftFromCenter;\nvar faOilCan = {\n prefix: 'fas',\n iconName: 'oil-can',\n icon: [640, 512, [], \"f613\", \"M320 128c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v32H144 96 48c-26.5 0-48 21.5-48 48v64.8c0 19 11.2 36.2 28.5 43.9l67.5 30V368c0 26.5 21.5 48 48 48H403.1c18.4 0 35.8-7.9 48-21.7L633.5 187.7c12.3-13.9-.3-35.4-18.4-31.5L448 192l-50.5-25.2c-8.9-4.4-18.7-6.8-28.6-6.8H288V128h32zM96 208v86.1L48 272.8V208H96z\"]\n};\nvar faT = {\n prefix: 'fas',\n iconName: 't',\n icon: [384, 512, [116], \"54\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H160V448c0 17.7 14.3 32 32 32s32-14.3 32-32V96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H192 32z\"]\n};\nvar faHippo = {\n prefix: 'fas',\n iconName: 'hippo',\n icon: [640, 512, [129435], \"f6ed\", \"M407 47c9.4-9.4 24.6-9.4 33.9 0l17.2 17.2c1.9-.1 3.9-.2 5.8-.2h32c11.2 0 21.9 2.3 31.6 6.5L543 55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L564 101.9c7.6 12.2 12 26.7 12 42.1c0 10.2 7.4 18.8 16.7 23c27.9 12.5 47.3 40.5 47.3 73c0 26.2-12.6 49.4-32 64v32c0 8.8-7.2 16-16 16H560c-8.8 0-16-7.2-16-16V320H480v16c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V318.4c-11.8-2.4-22.7-7.4-32-14.4c-1.5-1.1-2.9-2.3-4.3-3.5c-17-14.7-27.7-36.4-27.7-60.5c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 44.7 26.2 83.2 64 101.2V352c0 17.7 14.3 32 32 32h32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V372c-19.8 7.7-41.4 12-64 12s-44.2-4.3-64-12v76c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V329.1L45.9 369.7c-5.4 12.1-19.6 17.6-31.7 12.2S-3.3 362.4 2.1 350.3L24 300.9c5.3-11.9 8-24.7 8-37.7C32 155.7 117.2 68 223.8 64.1l.2-.1h7.2H256h32c41.7 0 83.4 12.1 117.2 25.7c1.7-1.8 3.5-3.6 5.3-5.2L407 81c-9.4-9.4-9.4-24.6 0-33.9zm73 185a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm88 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM480 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faChartColumn = {\n prefix: 'fas',\n iconName: 'chart-column',\n icon: [512, 512, [], \"e0e3\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zM160 224c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm128-64V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm64 32c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32zM480 96V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faInfinity = {\n prefix: 'fas',\n iconName: 'infinity',\n icon: [640, 512, [8734, 9854], \"f534\", \"M0 241.1C0 161 65 96 145.1 96c38.5 0 75.4 15.3 102.6 42.5L320 210.7l72.2-72.2C419.5 111.3 456.4 96 494.9 96C575 96 640 161 640 241.1v29.7C640 351 575 416 494.9 416c-38.5 0-75.4-15.3-102.6-42.5L320 301.3l-72.2 72.2C220.5 400.7 183.6 416 145.1 416C65 416 0 351 0 270.9V241.1zM274.7 256l-72.2-72.2c-15.2-15.2-35.9-23.8-57.4-23.8C100.3 160 64 196.3 64 241.1v29.7c0 44.8 36.3 81.1 81.1 81.1c21.5 0 42.2-8.5 57.4-23.8L274.7 256zm90.5 0l72.2 72.2c15.2 15.2 35.9 23.8 57.4 23.8c44.8 0 81.1-36.3 81.1-81.1V241.1c0-44.8-36.3-81.1-81.1-81.1c-21.5 0-42.2 8.5-57.4 23.8L365.3 256z\"]\n};\nvar faVialCircleCheck = {\n prefix: 'fas',\n iconName: 'vial-circle-check',\n icon: [512, 512, [], \"e596\", \"M0 64C0 46.3 14.3 32 32 32H96h64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32V266.8c-20.2 28.6-32 63.5-32 101.2c0 25.2 5.3 49.1 14.8 70.8C189.5 463.7 160.6 480 128 480c-53 0-96-43-96-96V96C14.3 96 0 81.7 0 64zM96 96v96h64V96H96zM224 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L352 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faPersonArrowDownToLine = {\n prefix: 'fas',\n iconName: 'person-arrow-down-to-line',\n icon: [640, 512, [], \"e538\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 352V352h16v96H184zm-64 0H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H152h80H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H264V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V448zM464 64V306.7l-25.4-25.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L528 306.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faVoicemail = {\n prefix: 'fas',\n iconName: 'voicemail',\n icon: [640, 512, [], \"f897\", \"M144 320a80 80 0 1 1 0-160 80 80 0 1 1 0 160zm119.8 0c15.3-22.9 24.2-50.4 24.2-80c0-79.5-64.5-144-144-144S0 160.5 0 240s64.5 144 144 144H496c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144c0 29.6 8.9 57.1 24.2 80H263.8zM496 160a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faFan = {\n prefix: 'fas',\n iconName: 'fan',\n icon: [512, 512, [], \"f863\", \"M258.6 0c-1.7 0-3.4 .1-5.1 .5C168 17 115.6 102.3 130.5 189.3c2.9 17 8.4 32.9 15.9 47.4L32 224H29.4C13.2 224 0 237.2 0 253.4c0 1.7 .1 3.4 .5 5.1C17 344 102.3 396.4 189.3 381.5c17-2.9 32.9-8.4 47.4-15.9L224 480v2.6c0 16.2 13.2 29.4 29.4 29.4c1.7 0 3.4-.1 5.1-.5C344 495 396.4 409.7 381.5 322.7c-2.9-17-8.4-32.9-15.9-47.4L480 288h2.6c16.2 0 29.4-13.2 29.4-29.4c0-1.7-.1-3.4-.5-5.1C495 168 409.7 115.6 322.7 130.5c-17 2.9-32.9 8.4-47.4 15.9L288 32V29.4C288 13.2 274.8 0 258.6 0zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPersonWalkingLuggage = {\n prefix: 'fas',\n iconName: 'person-walking-luggage',\n icon: [576, 512, [], \"e554\", \"M432 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM347.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L505 232.7l-15.3-36.8C472.5 154.8 432.3 128 387.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1l-25 62.4-59.4 59.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L340.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM256 274.1c-7.7-4.4-17.4-1.8-21.9 5.9l-32 55.4L147.7 304c-15.3-8.8-34.9-3.6-43.7 11.7L40 426.6c-8.8 15.3-3.6 34.9 11.7 43.7l55.4 32c15.3 8.8 34.9 3.6 43.7-11.7l64-110.9c1.5-2.6 2.6-5.2 3.3-8L261.9 296c4.4-7.7 1.8-17.4-5.9-21.9z\"]\n};\nvar faUpDown = {\n prefix: 'fas',\n iconName: 'up-down',\n icon: [256, 512, [8597, 11021, \"arrows-alt-v\"], \"f338\", \"M145.6 7.7C141 2.8 134.7 0 128 0s-13 2.8-17.6 7.7l-104 112c-6.5 7-8.2 17.2-4.4 25.9S14.5 160 24 160H80V352H24c-9.5 0-18.2 5.7-22 14.4s-2.1 18.9 4.4 25.9l104 112c4.5 4.9 10.9 7.7 17.6 7.7s13-2.8 17.6-7.7l104-112c6.5-7 8.2-17.2 4.4-25.9s-12.5-14.4-22-14.4H176V160h56c9.5 0 18.2-5.7 22-14.4s2.1-18.9-4.4-25.9l-104-112z\"]\n};\nvar faArrowsAltV = faUpDown;\nvar faCloudMoonRain = {\n prefix: 'fas',\n iconName: 'cloud-moon-rain',\n icon: [576, 512, [], \"f73c\", \"M481.2 0C417 0 363.5 46.5 353.7 107.6c35.4 17.6 60.2 53.3 62.1 95.1c23.2 11 42 29.7 53.1 52.7c4 .4 8.1 .6 12.3 .6c34.9 0 66.7-13.8 89.9-36.1c5.1-4.9 6.4-12.5 3.2-18.7s-10.1-9.7-17-8.6c-4.9 .8-10 1.3-15.2 1.3c-49 0-88.4-39.3-88.4-87.4c0-32.6 18-61.1 44.9-76.1c6.1-3.4 9.3-10.5 7.8-17.4s-7.3-12-14.3-12.6c-3.6-.3-7.3-.5-10.9-.5zM367.9 383.9c44.2 0 80-35.8 80-80c0-39.3-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C241.3 114.6 210.8 96 176 96c-53 0-96 43-96 96l0 1.3c-45.4 7.6-80 47.1-80 94.6c0 53 43 96 96 96H367.9zM85.4 420.1c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3z\"]\n};\nvar faCalendar = {\n prefix: 'fas',\n iconName: 'calendar',\n icon: [448, 512, [128197, 128198], \"f133\", \"M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192z\"]\n};\nvar faTrailer = {\n prefix: 'fas',\n iconName: 'trailer',\n icon: [640, 512, [], \"e041\", \"M48 32C21.5 32 0 53.5 0 80V336c0 26.5 21.5 48 48 48H65.1c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96H488h8H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H544V80c0-26.5-21.5-48-48-48H48zM80 96c8.8 0 16 7.2 16 16l0 131.2c-11.4 5.9-22.2 12.9-32 21V112c0-8.8 7.2-16 16-16zm96 128c-5.4 0-10.7 .2-16 .7L160 112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 112.7c-5.3-.5-10.6-.7-16-.7zm80 19.2L256 112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 152.2c-9.8-8.1-20.6-15.2-32-21zM368 96c8.8 0 16 7.2 16 16l0 192c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-192c0-8.8 7.2-16 16-16zm112 16l0 192c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-192c0-8.8 7.2-16 16-16s16 7.2 16 16zM176 480a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBahai = {\n prefix: 'fas',\n iconName: 'bahai',\n icon: [576, 512, [\"haykal\"], \"f666\", \"M288 0c14.5 0 27.2 9.7 30.9 23.8l23.9 89.6 75.9-53.3c11.9-8.3 27.8-7.6 39 1.7s14.6 24.9 8.4 38.1l-39.3 84 92.4 8c14.4 1.2 26.2 12 28.8 26.3s-4.9 28.5-18 34.6l-84.1 39.1 65.7 65.5c10.3 10.2 12.4 26.1 5.1 38.7s-22 18.7-36 14.9L391 386.8l8.2 92.4c1.3 14.4-7.3 27.9-20.9 32.9s-28.9 .1-37.2-11.7l-53.1-76-53.1 76c-8.3 11.9-23.6 16.7-37.2 11.7s-22.2-18.5-20.9-32.9l8.2-92.4L95.4 410.9c-14 3.8-28.8-2.3-36-14.9s-5.2-28.4 5.1-38.7l65.7-65.5L46 252.7c-13.1-6.1-20.5-20.3-18-34.6s14.3-25.1 28.8-26.3l92.4-8-39.3-84c-6.1-13.1-2.7-28.8 8.4-38.1s27.1-10 39-1.7l75.9 53.3 23.9-89.6C260.8 9.7 273.5 0 288 0zm0 156.2l-4.8 18c-2.7 10.1-10.2 18.2-20 21.8s-20.8 2.1-29.3-3.9l-15.2-10.7 7.9 16.8c4.4 9.5 4 20.5-1.3 29.6s-14.5 15-25 15.9l-18.5 1.6 16.8 7.8c9.5 4.4 16.2 13.2 18 23.5s-1.5 20.8-8.9 28.2l-13.2 13.1 17.9-4.8c10.1-2.7 20.9-.3 28.9 6.4s12.2 16.9 11.3 27.3l-1.6 18.5 10.6-15.2c6-8.6 15.8-13.7 26.2-13.7s20.2 5.1 26.2 13.7l10.6 15.2-1.6-18.5c-.9-10.4 3.3-20.6 11.3-27.3s18.8-9.1 28.9-6.4l17.9 4.8-13.2-13.1c-7.4-7.4-10.7-17.9-8.9-28.2s8.5-19.1 18-23.5l16.8-7.8-18.5-1.6c-10.4-.9-19.7-6.8-25-15.9s-5.7-20.1-1.3-29.6l7.9-16.8-15.2 10.7c-8.6 6-19.5 7.5-29.3 3.9s-17.3-11.7-20-21.8l-4.8-18z\"]\n};\nvar faHaykal = faBahai;\nvar faSdCard = {\n prefix: 'fas',\n iconName: 'sd-card',\n icon: [384, 512, [], \"f7c2\", \"M320 0H141.3C124.3 0 108 6.7 96 18.7L18.7 96C6.7 108 0 124.3 0 141.3V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 88v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faDragon = {\n prefix: 'fas',\n iconName: 'dragon',\n icon: [640, 512, [128009], \"f6d5\", \"M352 124.5l-51.9-13c-6.5-1.6-11.3-7.1-12-13.8s2.8-13.1 8.7-16.1l40.8-20.4L294.4 28.8c-5.5-4.1-7.8-11.3-5.6-17.9S297.1 0 304 0H416h32 16c30.2 0 58.7 14.2 76.8 38.4l57.6 76.8c6.2 8.3 9.6 18.4 9.6 28.8c0 26.5-21.5 48-48 48H538.5c-17 0-33.3-6.7-45.3-18.7L480 160H448v21.5c0 24.8 12.8 47.9 33.8 61.1l106.6 66.6c32.1 20.1 51.6 55.2 51.6 93.1C640 462.9 590.9 512 530.2 512H496 432 32.3c-3.3 0-6.6-.4-9.6-1.4C13.5 507.8 6 501 2.4 492.1C1 488.7 .2 485.2 0 481.4c-.2-3.7 .3-7.3 1.3-10.7c2.8-9.2 9.6-16.7 18.6-20.4c3-1.2 6.2-2 9.5-2.2L433.3 412c8.3-.7 14.7-7.7 14.7-16.1c0-4.3-1.7-8.4-4.7-11.4l-44.4-44.4c-30-30-46.9-70.7-46.9-113.1V181.5v-57zM512 72.3c0-.1 0-.2 0-.3s0-.2 0-.3v.6zm-1.3 7.4L464.3 68.1c-.2 1.3-.3 2.6-.3 3.9c0 13.3 10.7 24 24 24c10.6 0 19.5-6.8 22.7-16.3zM130.9 116.5c16.3-14.5 40.4-16.2 58.5-4.1l130.6 87V227c0 32.8 8.4 64.8 24 93H112c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7L171 232.3 18.4 255.8c-7 1.1-13.9-2.6-16.9-9s-1.5-14.1 3.8-18.8L130.9 116.5z\"]\n};\nvar faShoePrints = {\n prefix: 'fas',\n iconName: 'shoe-prints',\n icon: [640, 512, [], \"f54b\", \"M416 0C352.3 0 256 32 256 32V160c48 0 76 16 104 32s56 32 104 32c56.4 0 176-16 176-96S512 0 416 0zM128 96c0 35.3 28.7 64 64 64h32V32H192c-35.3 0-64 28.7-64 64zM288 512c96 0 224-48 224-128s-119.6-96-176-96c-48 0-76 16-104 32s-56 32-104 32V480s96.3 32 160 32zM0 416c0 35.3 28.7 64 64 64H96V352H64c-35.3 0-64 28.7-64 64z\"]\n};\nvar faCirclePlus = {\n prefix: 'fas',\n iconName: 'circle-plus',\n icon: [512, 512, [\"plus-circle\"], \"f055\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM232 344V280H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlusCircle = faCirclePlus;\nvar faFaceGrinTongueWink = {\n prefix: 'fas',\n iconName: 'face-grin-tongue-wink',\n icon: [512, 512, [128540, \"grin-tongue-wink\"], \"f58b\", \"M174.5 498.8C73.1 464.7 0 368.9 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 112.9-73.1 208.7-174.5 242.8C346.7 484 352 466.6 352 448V401.1c24.3-17.5 43.6-41.6 55.4-69.6c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c11.7 27.8 30.8 51.7 54.8 69.2V448c0 18.6 5.3 36 14.5 50.8zm20.7-265.2c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zM336 272a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM320 402.6V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V402.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6zM336 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGrinTongueWink = faFaceGrinTongueWink;\nvar faHandHolding = {\n prefix: 'fas',\n iconName: 'hand-holding',\n icon: [576, 512, [], \"f4bd\", \"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-366.1-8.3a.5 .5 0 1 1 -.9 .1 .5 .5 0 1 1 .9-.1z\"]\n};\nvar faPlugCircleExclamation = {\n prefix: 'fas',\n iconName: 'plug-circle-exclamation',\n icon: [576, 512, [], \"e55d\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faLinkSlash = {\n prefix: 'fas',\n iconName: 'link-slash',\n icon: [640, 512, [\"chain-broken\", \"chain-slash\", \"unlink\"], \"f127\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L489.3 358.2l90.5-90.5c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114l-96 96-31.9-25C430.9 239.6 420.1 175.1 377 132c-52.2-52.3-134.5-56.2-191.3-11.7L38.8 5.1zM239 162c30.1-14.9 67.7-9.9 92.8 15.3c20 20 27.5 48.3 21.7 74.5L239 162zM406.6 416.4L220.9 270c-2.1 39.8 12.2 80.1 42.2 110c38.9 38.9 94.4 51 143.6 36.3zm-290-228.5L60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5l61.8-61.8-50.6-39.9z\"]\n};\nvar faChainBroken = faLinkSlash;\nvar faChainSlash = faLinkSlash;\nvar faUnlink = faLinkSlash;\nvar faClone = {\n prefix: 'fas',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M288 448H64V224h64V160H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V384H288v64zm-64-96H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H224c-35.3 0-64 28.7-64 64V288c0 35.3 28.7 64 64 64z\"]\n};\nvar faPersonWalkingArrowLoopLeft = {\n prefix: 'fas',\n iconName: 'person-walking-arrow-loop-left',\n icon: [640, 512, [], \"e551\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zm347.7 119c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L461.3 384H480c88.4 0 160-71.6 160-160s-71.6-160-160-160L352 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c53 0 96 43 96 96s-43 96-96 96H461.3l25.4-25.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3l80 80z\"]\n};\nvar faArrowUpZA = {\n prefix: 'fas',\n iconName: 'arrow-up-z-a',\n icon: [576, 512, [\"sort-alpha-up-alt\"], \"f882\", \"M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L128 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 64c0 17.7 14.3 32 32 32h50.7l-73.4 73.4c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H429.3l73.4-73.4c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H352c-17.7 0-32 14.3-32 32zm96 192c-12.1 0-23.2 6.8-28.6 17.7l-64 128-16 32c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3h88.4l7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-16-32-64-128C439.2 262.8 428.1 256 416 256zM395.8 400L416 359.6 436.2 400H395.8z\"]\n};\nvar faSortAlphaUpAlt = faArrowUpZA;\nvar faFireFlameCurved = {\n prefix: 'fas',\n iconName: 'fire-flame-curved',\n icon: [384, 512, [\"fire-alt\"], \"f7e4\", \"M153.6 29.9l16-21.3C173.6 3.2 180 0 186.7 0C198.4 0 208 9.6 208 21.3V43.5c0 13.1 5.4 25.7 14.9 34.7L307.6 159C356.4 205.6 384 270.2 384 337.7C384 434 306 512 209.7 512H192C86 512 0 426 0 320v-3.8c0-48.8 19.4-95.6 53.9-130.1l3.5-3.5c4.2-4.2 10-6.6 16-6.6C85.9 176 96 186.1 96 198.6V288c0 35.3 28.7 64 64 64s64-28.7 64-64v-3.9c0-18-7.2-35.3-19.9-48l-38.6-38.6c-24-24-37.5-56.7-37.5-90.7c0-27.7 9-54.8 25.6-76.9z\"]\n};\nvar faFireAlt = faFireFlameCurved;\nvar faTornado = {\n prefix: 'fas',\n iconName: 'tornado',\n icon: [448, 512, [127786], \"f76f\", \"M0 32V45.6C0 62.7 1.7 79.6 5 96H357.8c3.2-6.9 7.5-13.3 13-18.8l38.6-38.6c4.2-4.2 6.6-10 6.6-16C416 10.1 405.9 0 393.4 0H32C14.3 0 0 14.3 0 32zm352.2 96H13.6c12.2 35.9 32.3 68.7 58.8 96H412l-47.2-62.9c-7.3-9.7-11.6-21.2-12.6-33.1zm-226 138.2l116.4 68.5c8.2 4.8 15.8 10.7 22.5 17.3H445c2-9.8 3-19.9 3-30.1c0-23-5.3-45.5-15.3-65.9H110.2c5.2 3.6 10.5 7 16 10.2zM288 384c10.3 21.4 13.8 45.5 9.9 69l-5.9 35.7c-2 12.2 7.4 23.4 19.8 23.4c5.3 0 10.4-2.1 14.2-5.9l78.2-78.2c12.8-12.8 23.1-27.7 30.4-43.9H288z\"]\n};\nvar faFileCirclePlus = {\n prefix: 'fas',\n iconName: 'file-circle-plus',\n icon: [576, 512, [58606], \"e494\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faBookQuran = {\n prefix: 'fas',\n iconName: 'book-quran',\n icon: [448, 512, [\"quran\"], \"f687\", \"M352 0c53 0 96 43 96 96V416c0 53-43 96-96 96H64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V384c-17.7 0-32-14.3-32-32V32C0 14.3 14.3 0 32 0H64 352zm0 384H96v64H352c17.7 0 32-14.3 32-32s-14.3-32-32-32zM274.1 150.2l-8.9 21.4-23.1 1.9c-5.7 .5-8 7.5-3.7 11.2L256 199.8l-5.4 22.6c-1.3 5.5 4.7 9.9 9.6 6.9L280 217.2l19.8 12.1c4.9 3 10.9-1.4 9.6-6.9L304 199.8l17.6-15.1c4.3-3.7 2-10.8-3.7-11.2l-23.1-1.9-8.9-21.4c-2.2-5.3-9.6-5.3-11.8 0zM96 192c0 70.7 57.3 128 128 128c25.6 0 49.5-7.5 69.5-20.5c3.2-2.1 4.5-6.2 3.1-9.7s-5.2-5.6-9-4.8c-6.1 1.2-12.5 1.9-19 1.9c-52.4 0-94.9-42.5-94.9-94.9s42.5-94.9 94.9-94.9c6.5 0 12.8 .7 19 1.9c3.8 .8 7.5-1.3 9-4.8s.2-7.6-3.1-9.7C273.5 71.5 249.6 64 224 64C153.3 64 96 121.3 96 192z\"]\n};\nvar faQuran = faBookQuran;\nvar faAnchor = {\n prefix: 'fas',\n iconName: 'anchor',\n icon: [576, 512, [9875], \"f13d\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c88.4 0 160-71.6 160-160v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-56-56c-9.4-9.4-24.6-9.4-33.9 0l-56 56c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 53-43 96-96 96H320V240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1z\"]\n};\nvar faBorderAll = {\n prefix: 'fas',\n iconName: 'border-all',\n icon: [448, 512, [], \"f84c\", \"M384 96V224H256V96H384zm0 192V416H256V288H384zM192 224H64V96H192V224zM64 288H192V416H64V288zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faFaceAngry = {\n prefix: 'fas',\n iconName: 'face-angry',\n icon: [512, 512, [128544, \"angry\"], \"f556\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM338.7 395.9c6.6-5.9 7.1-16 1.2-22.6C323.8 355.4 295.7 336 256 336s-67.8 19.4-83.9 37.3c-5.9 6.6-5.4 16.7 1.2 22.6s16.7 5.4 22.6-1.2c11.7-13 31.6-26.7 60.1-26.7s48.4 13.7 60.1 26.7c5.9 6.6 16 7.1 22.6 1.2zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faAngry = faFaceAngry;\nvar faCookieBite = {\n prefix: 'fas',\n iconName: 'cookie-bite',\n icon: [512, 512, [], \"f564\", \"M257.5 27.6c-.8-5.4-4.9-9.8-10.3-10.6c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9c-.9-5.3-5.3-9.3-10.6-10.1c-51.5-8.2-92.8-47.1-104.5-97.4c-1.8-7.6-8-13.4-15.7-14.6c-54.6-8.7-97.7-52-106.2-106.8zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faArrowTrendDown = {\n prefix: 'fas',\n iconName: 'arrow-trend-down',\n icon: [576, 512, [], \"e097\", \"M384 352c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v82.7L342.6 137.4c-12.5-12.5-32.8-12.5-45.3 0L192 242.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0L320 205.3 466.7 352H384z\"]\n};\nvar faRss = {\n prefix: 'fas',\n iconName: 'rss',\n icon: [448, 512, [\"feed\"], \"f09e\", \"M0 64C0 46.3 14.3 32 32 32c229.8 0 416 186.2 416 416c0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96C14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zM32 160c159.1 0 288 128.9 288 288c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faFeed = faRss;\nvar faDrawPolygon = {\n prefix: 'fas',\n iconName: 'draw-polygon',\n icon: [448, 512, [], \"f5ee\", \"M96 151.4V360.6c9.7 5.6 17.8 13.7 23.4 23.4H328.6c0-.1 .1-.2 .1-.3l-4.5-7.9-32-56 0 0c-1.4 .1-2.8 .1-4.2 .1c-35.3 0-64-28.7-64-64s28.7-64 64-64c1.4 0 2.8 0 4.2 .1l0 0 32-56 4.5-7.9-.1-.3H119.4c-5.6 9.7-13.7 17.8-23.4 23.4zM384.3 352c35.2 .2 63.7 28.7 63.7 64c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V151.4C12.9 140.4 0 119.7 0 96C0 60.7 28.7 32 64 32c23.7 0 44.4 12.9 55.4 32H328.6c11.1-19.1 31.7-32 55.4-32c35.3 0 64 28.7 64 64c0 35.3-28.5 63.8-63.7 64l-4.5 7.9-32 56-2.3 4c4.2 8.5 6.5 18 6.5 28.1s-2.3 19.6-6.5 28.1l2.3 4 32 56 4.5 7.9z\"]\n};\nvar faScaleBalanced = {\n prefix: 'fas',\n iconName: 'scale-balanced',\n icon: [640, 512, [9878, \"balance-scale\"], \"f24e\", \"M384 32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H398.4c-5.2 25.8-22.9 47.1-46.4 57.3V448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-23.5-10.3-41.2-31.6-46.4-57.3H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zm55.6 288H584.4L512 195.8 439.6 320zM512 416c-62.9 0-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C627.2 382 574.9 416 512 416zM126.8 195.8L54.4 320H199.3L126.8 195.8zM.9 337.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C242 382 189.7 416 126.8 416S11.7 382 .9 337.1z\"]\n};\nvar faBalanceScale = faScaleBalanced;\nvar faGaugeSimpleHigh = {\n prefix: 'fas',\n iconName: 'gauge-simple-high',\n icon: [512, 512, [61668, \"tachometer\", \"tachometer-fast\"], \"f62a\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-15.9-5.8-30.4-15.3-41.6l76.6-147.4c6.1-11.8 1.5-26.3-10.2-32.4s-26.2-1.5-32.4 10.2L262.1 288.3c-2-.2-4-.3-6.1-.3c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faTachometer = faGaugeSimpleHigh;\nvar faTachometerFast = faGaugeSimpleHigh;\nvar faShower = {\n prefix: 'fas',\n iconName: 'shower',\n icon: [512, 512, [128703], \"f2cc\", \"M64 131.9C64 112.1 80.1 96 99.9 96c9.5 0 18.6 3.8 25.4 10.5l16.2 16.2c-21 38.9-17.4 87.5 10.9 123L151 247c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L345 121c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-1.3 1.3c-35.5-28.3-84.2-31.9-123-10.9L170.5 61.3C151.8 42.5 126.4 32 99.9 32C44.7 32 0 76.7 0 131.9V448c0 17.7 14.3 32 32 32s32-14.3 32-32V131.9zM256 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm32-32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDesktop = {\n prefix: 'fas',\n iconName: 'desktop',\n icon: [576, 512, [128421, 61704, \"desktop-alt\"], \"f390\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V288H64V64H512z\"]\n};\nvar faDesktopAlt = faDesktop;\nvar faM = {\n prefix: 'fas',\n iconName: 'm',\n icon: [448, 512, [109], \"4d\", \"M22.7 33.4c13.5-4.1 28.1 1.1 35.9 12.9L224 294.3 389.4 46.2c7.8-11.7 22.4-17 35.9-12.9S448 49.9 448 64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V169.7L250.6 369.8c-5.9 8.9-15.9 14.2-26.6 14.2s-20.7-5.3-26.6-14.2L64 169.7V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 49.9 9.2 37.5 22.7 33.4z\"]\n};\nvar faTableList = {\n prefix: 'fas',\n iconName: 'table-list',\n icon: [512, 512, [\"th-list\"], \"f00b\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 0v64h64V96H64zm384 0H192v64H448V96zM64 224v64h64V224H64zm384 0H192v64H448V224zM64 352v64h64V352H64zm384 0H192v64H448V352z\"]\n};\nvar faThList = faTableList;\nvar faCommentSms = {\n prefix: 'fas',\n iconName: 'comment-sms',\n icon: [512, 512, [\"sms\"], \"f7cd\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM202.9 176.8c6.5-2.2 13.7 .1 17.9 5.6L256 229.3l35.2-46.9c4.1-5.5 11.3-7.8 17.9-5.6s10.9 8.3 10.9 15.2v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V240l-19.2 25.6c-3 4-7.8 6.4-12.8 6.4s-9.8-2.4-12.8-6.4L224 240v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-6.9 4.4-13 10.9-15.2zm173.1 38c0 .2 0 .4 0 .4c.1 .1 .6 .8 2.2 1.7c3.9 2.3 9.6 4.1 18.3 6.8l.6 .2c7.4 2.2 17.3 5.2 25.2 10.2c9.1 5.7 17.4 15.2 17.6 29.9c.2 15-7.6 26-17.8 32.3c-9.5 5.9-20.9 7.9-30.7 7.6c-12.2-.4-23.7-4.4-32.6-7.4l0 0 0 0c-1.4-.5-2.7-.9-4-1.4c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c1.7 .6 3.3 1.1 4.9 1.6l0 0 0 0c9.1 3.1 15.6 5.3 22.6 5.5c5.3 .2 10-1 12.8-2.8c1.2-.8 1.8-1.5 2.1-2c.2-.4 .6-1.2 .6-2.7l0-.2c0-.7 0-1.4-2.7-3.1c-3.8-2.4-9.6-4.3-18-6.9l-1.2-.4c-7.2-2.2-16.7-5-24.3-9.6c-9-5.4-17.7-14.7-17.7-29.4c-.1-15.2 8.6-25.7 18.5-31.6c9.4-5.5 20.5-7.5 29.7-7.4c10 .2 19.7 2.3 27.9 4.4c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-7.3-1.9-14.1-3.3-20.1-3.4c-4.9-.1-9.8 1.1-12.9 2.9c-1.4 .8-2.1 1.6-2.4 2c-.2 .3-.4 .8-.4 1.9zm-272 0c0 .2 0 .4 0 .4c.1 .1 .6 .8 2.2 1.7c3.9 2.3 9.6 4.1 18.3 6.8l.6 .2c7.4 2.2 17.3 5.2 25.2 10.2c9.1 5.7 17.4 15.2 17.6 29.9c.2 15-7.6 26-17.8 32.3c-9.5 5.9-20.9 7.9-30.7 7.6c-12.3-.4-24.2-4.5-33.2-7.6l0 0 0 0c-1.3-.4-2.5-.8-3.6-1.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c1.4 .5 2.8 .9 4.1 1.4l0 0 0 0c9.5 3.2 16.5 5.6 23.7 5.8c5.3 .2 10-1 12.8-2.8c1.2-.8 1.8-1.5 2.1-2c.2-.4 .6-1.2 .6-2.7l0-.2c0-.7 0-1.4-2.7-3.1c-3.8-2.4-9.6-4.3-18-6.9l-1.2-.4 0 0c-7.2-2.2-16.7-5-24.3-9.6C80.8 239 72.1 229.7 72 215c-.1-15.2 8.6-25.7 18.5-31.6c9.4-5.5 20.5-7.5 29.7-7.4c9.5 .1 22.2 2.1 31.1 4.4c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-6.6-1.8-16.8-3.3-23.3-3.4c-4.9-.1-9.8 1.1-12.9 2.9c-1.4 .8-2.1 1.6-2.4 2c-.2 .3-.4 .8-.4 1.9z\"]\n};\nvar faSms = faCommentSms;\nvar faBook = {\n prefix: 'fas',\n iconName: 'book',\n icon: [448, 512, [128212], \"f02d\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faUserPlus = {\n prefix: 'fas',\n iconName: 'user-plus',\n icon: [640, 512, [], \"f234\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM504 312V248H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V136c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faCheck = {\n prefix: 'fas',\n iconName: 'check',\n icon: [448, 512, [10003, 10004], \"f00c\", \"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"]\n};\nvar faBatteryThreeQuarters = {\n prefix: 'fas',\n iconName: 'battery-three-quarters',\n icon: [576, 512, [\"battery-4\"], \"f241\", \"M464 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm272 96H96V320H352V192z\"]\n};\nvar faBattery4 = faBatteryThreeQuarters;\nvar faHouseCircleCheck = {\n prefix: 'fas',\n iconName: 'house-circle-check',\n icon: [640, 512, [], \"e509\", \"M320.7 352c8.1-89.7 83.5-160 175.3-160c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64l.7 0zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faAngleLeft = {\n prefix: 'fas',\n iconName: 'angle-left',\n icon: [320, 512, [8249], \"f104\", \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\"]\n};\nvar faDiagramSuccessor = {\n prefix: 'fas',\n iconName: 'diagram-successor',\n icon: [512, 512, [], \"e47a\", \"M512 416l0-64c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64zM64 160l0-64 144 0 16 0 0 64L64 160zm224 0l0-64 80 0c8.8 0 16 7.2 16 16l0 16-38.1 0c-21.4 0-32.1 25.9-17 41L399 239c9.4 9.4 24.6 9.4 33.9 0L503 169c15.1-15.1 4.4-41-17-41L448 128l0-16c0-44.2-35.8-80-80-80L224 32l-16 0L64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64z\"]\n};\nvar faTruckArrowRight = {\n prefix: 'fas',\n iconName: 'truck-arrow-right',\n icon: [640, 512, [], \"e58b\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM257 95c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H262.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9L257 95z\"]\n};\nvar faArrowsSplitUpAndLeft = {\n prefix: 'fas',\n iconName: 'arrows-split-up-and-left',\n icon: [512, 512, [], \"e4bc\", \"M246.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L352 109.3V384c0 35.3 28.7 64 64 64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c-70.7 0-128-57.3-128-128c0-35.3-28.7-64-64-64H109.3l41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 256H224c23.3 0 45.2 6.2 64 17.1V109.3l-41.4 41.4z\"]\n};\nvar faHandFist = {\n prefix: 'fas',\n iconName: 'hand-fist',\n icon: [448, 512, [9994, \"fist-raised\"], \"f6de\", \"M192 0c17.7 0 32 14.3 32 32V144H160V32c0-17.7 14.3-32 32-32zM64 64c0-17.7 14.3-32 32-32s32 14.3 32 32v80H64V64zm192 0c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V64zm96 64c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V128zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V256c0 52.3-25.1 98.8-64 128v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V401.6c-17.3-7.9-33.2-18.8-46.9-32.5L69.5 357.5C45.5 333.5 32 300.9 32 267V240c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72z\"]\n};\nvar faFistRaised = faHandFist;\nvar faCloudMoon = {\n prefix: 'fas',\n iconName: 'cloud-moon',\n icon: [640, 512, [], \"f6c3\", \"M495.8 0c5.5 0 10.9 .2 16.3 .7c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-44.4 25.2-74.4 73-74.4 127.8c0 81 65.5 146.6 146.2 146.6c8.6 0 17-.7 25.1-2.1c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7c-34.5 33.6-81.7 54.4-133.6 54.4c-9.3 0-18.4-.7-27.4-1.9c-11.2-22.6-29.8-40.9-52.6-51.7c-2.7-58.5-50.3-105.3-109.2-106.7c-1.7-10.4-2.6-21-2.6-31.8C304 86.1 389.8 0 495.8 0zM447.9 431.9c0 44.2-35.8 80-80 80H96c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]\n};\nvar faBriefcase = {\n prefix: 'fas',\n iconName: 'briefcase',\n icon: [512, 512, [128188], \"f0b1\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160v96H192 320 512V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM512 288H320v32c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V288H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V288z\"]\n};\nvar faPersonFalling = {\n prefix: 'fas',\n iconName: 'person-falling',\n icon: [512, 512, [], \"e546\", \"M288 0c17.7 0 32 14.3 32 32l0 9.8c0 54.6-27.9 104.6-72.5 133.6l.2 .3L304.5 256l87.5 0c15.1 0 29.3 7.1 38.4 19.2l43.2 57.6c10.6 14.1 7.7 34.2-6.4 44.8s-34.2 7.7-44.8-6.4L384 320l-96 0h-1.4l92.3 142.6c9.6 14.8 5.4 34.6-9.5 44.3s-34.6 5.4-44.3-9.5L164.5 249.2c-2.9 9.2-4.5 19-4.5 29l0 73.8c0 17.7-14.3 32-32 32s-32-14.3-32-32V278.2c0-65.1 39.6-123.7 100.1-147.9C232.3 115.8 256 80.8 256 41.8l0-9.8c0-17.7 14.3-32 32-32zM112 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faImagePortrait = {\n prefix: 'fas',\n iconName: 'image-portrait',\n icon: [384, 512, [\"portrait\"], \"f3e0\", \"M384 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64l0-384zM128 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 356.6c0-37.9 30.7-68.6 68.6-68.6h86.9c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4H107.4C92.3 384 80 371.7 80 356.6z\"]\n};\nvar faPortrait = faImagePortrait;\nvar faUserTag = {\n prefix: 'fas',\n iconName: 'user-tag',\n icon: [640, 512, [], \"f507\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c10 0 18.8-4.9 24.2-12.5l-99.2-99.2c-14.9-14.9-23.3-35.1-23.3-56.1v-33c-15.9-4.7-32.8-7.2-50.3-7.2H178.3zM384 224c-17.7 0-32 14.3-32 32v82.7c0 17 6.7 33.3 18.7 45.3L478.1 491.3c18.7 18.7 49.1 18.7 67.9 0l73.4-73.4c18.7-18.7 18.7-49.1 0-67.9L512 242.7c-12-12-28.3-18.7-45.3-18.7H384zm24 80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faRug = {\n prefix: 'fas',\n iconName: 'rug',\n icon: [640, 512, [], \"e569\", \"M24 64H56 80V88v88 80 80 88 24H56 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V360H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V200H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V112H24C10.7 112 0 101.3 0 88S10.7 64 24 64zm88 0H528V448H112V64zM640 88c0 13.3-10.7 24-24 24h-8v40h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v32h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v32h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v40h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H584 560V424 336 256 176 88 64h24 32c13.3 0 24 10.7 24 24z\"]\n};\nvar faEarthEurope = {\n prefix: 'fas',\n iconName: 'earth-europe',\n icon: [512, 512, [\"globe-europe\"], \"f7a2\", \"M266.3 48.3L232.5 73.6c-5.4 4-8.5 10.4-8.5 17.1v9.1c0 6.8 5.5 12.3 12.3 12.3c2.4 0 4.8-.7 6.8-2.1l41.8-27.9c2-1.3 4.4-2.1 6.8-2.1h1c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8l-19.9 19.9c-5.8 5.8-12.9 10.2-20.7 12.8l-26.5 8.8c-5.8 1.9-9.6 7.3-9.6 13.4c0 3.7-1.5 7.3-4.1 10l-17.9 17.9c-6.4 6.4-9.9 15-9.9 24v4.3c0 16.4 13.6 29.7 29.9 29.7c11 0 21.2-6.2 26.1-16l4-8.1c2.4-4.8 7.4-7.9 12.8-7.9c4.5 0 8.7 2.1 11.4 5.7l16.3 21.7c2.1 2.9 5.5 4.5 9.1 4.5c8.4 0 13.9-8.9 10.1-16.4l-1.1-2.3c-3.5-7 0-15.5 7.5-18l21.2-7.1c7.6-2.5 12.7-9.6 12.7-17.6c0-10.3 8.3-18.6 18.6-18.6H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H379.3c-7.2 0-14.2 2.9-19.3 8l-4.7 4.7c-2.1 2.1-3.3 5-3.3 8c0 6.2 5.1 11.3 11.3 11.3h11.3c6 0 11.8 2.4 16 6.6l6.5 6.5c1.8 1.8 2.8 4.3 2.8 6.8s-1 5-2.8 6.8l-7.5 7.5C386 262 384 266.9 384 272s2 10 5.7 13.7L408 304c10.2 10.2 24.1 16 38.6 16H454c6.5-20.2 10-41.7 10-64c0-111.4-87.6-202.4-197.7-207.7zm172 307.9c-3.7-2.6-8.2-4.1-13-4.1c-6 0-11.8-2.4-16-6.6L396 332c-7.7-7.7-18-12-28.9-12c-9.7 0-19.2-3.5-26.6-9.8L314 287.4c-11.6-9.9-26.4-15.4-41.7-15.4H251.4c-12.6 0-25 3.7-35.5 10.7L188.5 301c-17.8 11.9-28.5 31.9-28.5 53.3v3.2c0 17 6.7 33.3 18.7 45.3l16 16c8.5 8.5 20 13.3 32 13.3H248c13.3 0 24 10.7 24 24c0 2.5 .4 5 1.1 7.3c71.3-5.8 132.5-47.6 165.2-107.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM187.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faGlobeEurope = faEarthEurope;\nvar faCartFlatbedSuitcase = {\n prefix: 'fas',\n iconName: 'cart-flatbed-suitcase',\n icon: [640, 512, [\"luggage-cart\"], \"f59d\", \"M0 32C0 14.3 14.3 0 32 0H48c44.2 0 80 35.8 80 80V368c0 8.8 7.2 16 16 16H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H541.3c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16H253.3c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16H144c-44.2 0-80-35.8-80-80V80c0-8.8-7.2-16-16-16H32C14.3 64 0 49.7 0 32zM432 96V56c0-4.4-3.6-8-8-8H344c-4.4 0-8 3.6-8 8V96h96zM288 96V56c0-30.9 25.1-56 56-56h80c30.9 0 56 25.1 56 56V96 320H288V96zM512 320V96h16c26.5 0 48 21.5 48 48V272c0 26.5-21.5 48-48 48H512zM240 96h16V320H240c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z\"]\n};\nvar faLuggageCart = faCartFlatbedSuitcase;\nvar faRectangleXmark = {\n prefix: 'fas',\n iconName: 'rectangle-xmark',\n icon: [512, 512, [62164, \"rectangle-times\", \"times-rectangle\", \"window-close\"], \"f410\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faRectangleTimes = faRectangleXmark;\nvar faTimesRectangle = faRectangleXmark;\nvar faWindowClose = faRectangleXmark;\nvar faBahtSign = {\n prefix: 'fas',\n iconName: 'baht-sign',\n icon: [320, 512, [], \"e0ac\", \"M144 0c-17.7 0-32 14.3-32 32V64H37.6C16.8 64 0 80.8 0 101.6V224v41.7V288 406.3c0 23 18.7 41.7 41.7 41.7H112v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c61.9 0 112-50.1 112-112c0-40.1-21.1-75.3-52.7-95.1C280.3 222.6 288 200.2 288 176c0-61.9-50.1-112-112-112V32c0-17.7-14.3-32-32-32zM112 128v96H64V128h48zm64 96V128c26.5 0 48 21.5 48 48s-21.5 48-48 48zm-64 64v96H64V288h48zm64 96V288h32c26.5 0 48 21.5 48 48s-21.5 48-48 48H176z\"]\n};\nvar faBookOpen = {\n prefix: 'fas',\n iconName: 'book-open',\n icon: [576, 512, [128214, 128366], \"f518\", \"M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5V78.6c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8V454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5V83.8c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11V456c0 11.4 11.7 19.3 22.4 15.5z\"]\n};\nvar faBookJournalWhills = {\n prefix: 'fas',\n iconName: 'book-journal-whills',\n icon: [448, 512, [\"journal-whills\"], \"f66a\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zm90.4-234.4l-21.2-21.2c-3 10.1-5.1 20.6-5.1 31.6c0 .2 0 .5 .1 .8s.1 .5 .1 .8L165.2 226c2.5 2.1 3.4 5.8 2.3 8.9c-1.3 3-4.1 5.1-7.5 5.1c-1.9-.1-3.8-.8-5.2-2l-23.6-20.6C142.8 267 186.9 304 240 304s97.3-37 108.9-86.6L325.3 238c-1.4 1.2-3.3 2-5.3 2c-2.2-.1-4.4-1.1-6-2.8c-1.2-1.5-1.9-3.4-2-5.2c.1-2.2 1.1-4.4 2.8-6l37.1-32.5c0-.3 0-.5 .1-.8s.1-.5 .1-.8c0-11-2.1-21.5-5.1-31.6l-21.2 21.2c-3.1 3.1-8.1 3.1-11.3 0s-3.1-8.1 0-11.2l26.4-26.5c-8.2-17-20.5-31.7-35.9-42.6c-2.7-1.9-6.2 1.4-5 4.5c8.5 22.4 3.6 48-13 65.6c-3.2 3.4-3.6 8.9-.9 12.7c9.8 14 12.7 31.9 7.5 48.5c-5.9 19.4-22 34.1-41.9 38.3l-1.4-34.3 12.6 8.6c.6 .4 1.5 .6 2.3 .6c1.5 0 2.7-.8 3.5-2s.6-2.8-.1-4L260 225.4l18-3.6c1.8-.4 3.1-2.1 3.1-4s-1.4-3.5-3.1-3.9l-18-3.7 8.5-14.3c.8-1.2 .9-2.9 .1-4.1s-2-2-3.5-2l-.1 0c-.7 .1-1.5 .3-2.1 .7l-14.1 9.6L244 87.9c-.1-2.2-1.9-3.9-4-3.9s-3.9 1.6-4 3.9l-4.6 110.8-12-8.1c-1.5-1.1-3.6-.9-5 .4s-1.6 3.4-.8 5l8.6 14.3-18 3.7c-1.8 .4-3.1 2-3.1 3.9s1.4 3.6 3.1 4l18 3.8-8.6 14.2c-.2 .6-.5 1.4-.5 2c0 1.1 .5 2.1 1.2 3c.8 .6 1.8 1 2.8 1c.7 0 1.6-.2 2.2-.6l10.4-7.1-1.4 32.8c-19.9-4.1-36-18.9-41.9-38.3c-5.1-16.6-2.2-34.4 7.6-48.5c2.7-3.9 2.3-9.3-.9-12.7c-16.6-17.5-21.6-43.1-13.1-65.5c1.2-3.1-2.3-6.4-5-4.5c-15.3 10.9-27.6 25.6-35.8 42.6l26.4 26.5c3.1 3.1 3.1 8.1 0 11.2s-8.1 3.1-11.2 0z\"]\n};\nvar faJournalWhills = faBookJournalWhills;\nvar faHandcuffs = {\n prefix: 'fas',\n iconName: 'handcuffs',\n icon: [640, 512, [], \"e4f8\", \"M240 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM192 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32 80c17.7 0 32 14.3 32 32h8c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C280.3 229.6 320 286.2 320 352c0 88.4-71.6 160-160 160S0 440.4 0 352c0-65.8 39.7-122.4 96.5-146.9c-.4-1.6-.5-3.3-.5-5.1V184c0-13.3 10.7-24 24-24h8c0-17.7 14.3-32 32-32zm0 320a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm192-96c0-25.9-5.1-50.5-14.4-73.1c16.9-32.9 44.8-59.1 78.9-73.9c-.4-1.6-.5-3.3-.5-5.1V184c0-13.3 10.7-24 24-24h8c0-17.7 14.3-32 32-32s32 14.3 32 32h8c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C600.3 229.6 640 286.2 640 352c0 88.4-71.6 160-160 160c-62 0-115.8-35.3-142.4-86.9c9.3-22.5 14.4-47.2 14.4-73.1zm224 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM368 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm80 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faTriangleExclamation = {\n prefix: 'fas',\n iconName: 'triangle-exclamation',\n icon: [512, 512, [9888, \"exclamation-triangle\", \"warning\"], \"f071\", \"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faExclamationTriangle = faTriangleExclamation;\nvar faWarning = faTriangleExclamation;\nvar faDatabase = {\n prefix: 'fas',\n iconName: 'database',\n icon: [448, 512, [], \"f1c0\", \"M448 80v48c0 44.2-100.3 80-224 80S0 172.2 0 128V80C0 35.8 100.3 0 224 0S448 35.8 448 80zM393.2 214.7c20.8-7.4 39.9-16.9 54.8-28.6V288c0 44.2-100.3 80-224 80S0 332.2 0 288V186.1c14.9 11.8 34 21.2 54.8 28.6C99.7 230.7 159.5 240 224 240s124.3-9.3 169.2-25.3zM0 346.1c14.9 11.8 34 21.2 54.8 28.6C99.7 390.7 159.5 400 224 400s124.3-9.3 169.2-25.3c20.8-7.4 39.9-16.9 54.8-28.6V432c0 44.2-100.3 80-224 80S0 476.2 0 432V346.1z\"]\n};\nvar faShare = {\n prefix: 'fas',\n iconName: 'share',\n icon: [512, 512, [\"arrow-turn-right\", \"mail-forward\"], \"f064\", \"M307 34.8c-11.5 5.1-19 16.6-19 29.2v64H176C78.8 128 0 206.8 0 304C0 417.3 81.5 467.9 100.2 478.1c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-7.5-4.3-14.4-9.8-19.5C108.8 431.9 96 414.4 96 384c0-53 43-96 96-96h96v64c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144c-9.4-8.5-22.9-10.6-34.4-5.4z\"]\n};\nvar faArrowTurnRight = faShare;\nvar faMailForward = faShare;\nvar faBottleDroplet = {\n prefix: 'fas',\n iconName: 'bottle-droplet',\n icon: [320, 512, [], \"e4c4\", \"M96 0C82.7 0 72 10.7 72 24s10.7 24 24 24c4.4 0 8 3.6 8 8v64.9c0 12.2-7.2 23.1-17.2 30.1C53.7 174.1 32 212.5 32 256V448c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V256c0-43.5-21.7-81.9-54.8-105c-10-7-17.2-17.9-17.2-30.1V56c0-4.4 3.6-8 8-8c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0 0 0 0H104l0 0 0 0L96 0zm64 382c-26.5 0-48-20.1-48-45c0-16.8 22.1-48.1 36.3-66.4c6-7.8 17.5-7.8 23.5 0C185.9 288.9 208 320.2 208 337c0 24.9-21.5 45-48 45z\"]\n};\nvar faMaskFace = {\n prefix: 'fas',\n iconName: 'mask-face',\n icon: [640, 512, [], \"e1d7\", \"M320 64c-27.2 0-53.8 8-76.4 23.1l-37.1 24.8c-15.8 10.5-34.3 16.1-53.3 16.1H144 128 56c-30.9 0-56 25.1-56 56v85c0 55.1 37.5 103.1 90.9 116.4l108 27C233.8 435 275.4 448 320 448s86.2-13 121.1-35.5l108-27C602.5 372.1 640 324.1 640 269V184c0-30.9-25.1-56-56-56H512 496h-9.2c-19 0-37.5-5.6-53.3-16.1L396.4 87.1C373.8 72 347.2 64 320 64zM132.3 346.3l-29.8-7.4C70.5 330.9 48 302.1 48 269V184c0-4.4 3.6-8 8-8H96v48c0 45.1 13.4 87.2 36.3 122.3zm405.1-7.4l-29.8 7.4c23-35.2 36.3-77.2 36.3-122.3V176h40c4.4 0 8 3.6 8 8v85c0 33-22.5 61.8-54.5 69.9zM192 208c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm16 48H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 80c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"]\n};\nvar faHillRockslide = {\n prefix: 'fas',\n iconName: 'hill-rockslide',\n icon: [576, 512, [], \"e508\", \"M252.4 103.8l27 48c2.8 5 8.2 8.2 13.9 8.2l53.3 0c5.8 0 11.1-3.1 13.9-8.2l27-48c2.7-4.9 2.7-10.8 0-15.7l-27-48c-2.8-5-8.2-8.2-13.9-8.2H293.4c-5.8 0-11.1 3.1-13.9 8.2l-27 48c-2.7 4.9-2.7 10.8 0 15.7zM68.3 87C43.1 61.8 0 79.7 0 115.3V432c0 44.2 35.8 80 80 80H396.7c35.6 0 53.5-43.1 28.3-68.3L68.3 87zM504.2 403.6c4.9 2.7 10.8 2.7 15.7 0l48-27c5-2.8 8.2-8.2 8.2-13.9V309.4c0-5.8-3.1-11.1-8.2-13.9l-48-27c-4.9-2.7-10.8-2.7-15.7 0l-48 27c-5 2.8-8.2 8.2-8.2 13.9v53.3c0 5.8 3.1 11.1 8.2 13.9l48 27zM192 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faRightLeft = {\n prefix: 'fas',\n iconName: 'right-left',\n icon: [512, 512, [\"exchange-alt\"], \"f362\", \"M32 96l320 0V32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l96 96c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-96 96c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V160L32 160c-17.7 0-32-14.3-32-32s14.3-32 32-32zM480 352c17.7 0 32 14.3 32 32s-14.3 32-32 32H160v64c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-96-96c-6-6-9.4-14.1-9.4-22.6s3.4-16.6 9.4-22.6l96-96c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 64H480z\"]\n};\nvar faExchangeAlt = faRightLeft;\nvar faPaperPlane = {\n prefix: 'fas',\n iconName: 'paper-plane',\n icon: [512, 512, [61913], \"f1d8\", \"M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z\"]\n};\nvar faRoadCircleExclamation = {\n prefix: 'fas',\n iconName: 'road-circle-exclamation',\n icon: [640, 512, [], \"e565\", \"M213.2 32H288V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32h74.8c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32v64H86.6C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faDungeon = {\n prefix: 'fas',\n iconName: 'dungeon',\n icon: [512, 512, [], \"f6d9\", \"M336.6 156.5c1.3 1.1 2.7 2.2 3.9 3.3c9.3 8.2 23 10.5 33.4 3.6l67.6-45.1c11.4-7.6 14.2-23.2 5.1-33.4C430 66.6 410.9 50.6 389.7 37.6c-11.9-7.3-26.9-1.4-32.1 11.6l-30.5 76.2c-4.5 11.1 .2 23.6 9.5 31.2zM328 36.8c5.1-12.8-1.6-27.4-15-30.5C294.7 2.2 275.6 0 256 0s-38.7 2.2-57 6.4C185.5 9.4 178.8 24 184 36.8l30.3 75.8c4.5 11.3 16.8 17.2 29 16c4.2-.4 8.4-.6 12.7-.6s8.6 .2 12.7 .6c12.1 1.2 24.4-4.7 29-16L328 36.8zM65.5 85c-9.1 10.2-6.3 25.8 5.1 33.4l67.6 45.1c10.3 6.9 24.1 4.6 33.4-3.6c1.3-1.1 2.6-2.3 4-3.3c9.3-7.5 13.9-20.1 9.5-31.2L154.4 49.2c-5.2-12.9-20.3-18.8-32.1-11.6C101.1 50.6 82 66.6 65.5 85zm314 137.1c.9 3.3 1.7 6.6 2.3 10c2.5 13 13 23.9 26.2 23.9h80c13.3 0 24.1-10.8 22.9-24c-2.5-27.2-9.3-53.2-19.7-77.3c-5.5-12.9-21.4-16.6-33.1-8.9l-68.6 45.7c-9.8 6.5-13.2 19.2-10 30.5zM53.9 145.8c-11.6-7.8-27.6-4-33.1 8.9C10.4 178.8 3.6 204.8 1.1 232c-1.2 13.2 9.6 24 22.9 24h80c13.3 0 23.8-10.8 26.2-23.9c.6-3.4 1.4-6.7 2.3-10c3.1-11.4-.2-24-10-30.5L53.9 145.8zM104 288H24c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V312c0-13.3-10.7-24-24-24zm304 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V312c0-13.3-10.7-24-24-24H408zM24 416c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V440c0-13.3-10.7-24-24-24H24zm384 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V440c0-13.3-10.7-24-24-24H408zM272 192c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V192zm-64 32c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V224zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V224z\"]\n};\nvar faAlignRight = {\n prefix: 'fas',\n iconName: 'align-right',\n icon: [448, 512, [], \"f038\", \"M448 64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"]\n};\nvar faMoneyBill1Wave = {\n prefix: 'fas',\n iconName: 'money-bill-1-wave',\n icon: [576, 512, [\"money-bill-wave-alt\"], \"f53b\", \"M0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM128 416H64V352c35.3 0 64 28.7 64 64zM64 224V160h64c0 35.3-28.7 64-64 64zM448 352c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM384 256c0 61.9-43 112-96 112s-96-50.1-96-112s43-112 96-112s96 50.1 96 112zM252 208c0 9.7 6.9 17.7 16 19.6V276h-4c-11 0-20 9-20 20s9 20 20 20h24 24c11 0 20-9 20-20s-9-20-20-20h-4V208c0-11-9-20-20-20H272c-11 0-20 9-20 20z\"]\n};\nvar faMoneyBillWaveAlt = faMoneyBill1Wave;\nvar faLifeRing = {\n prefix: 'fas',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M367.2 412.5C335.9 434.9 297.5 448 256 448s-79.9-13.1-111.2-35.5l58-58c15.8 8.6 34 13.5 53.3 13.5s37.4-4.9 53.3-13.5l58 58zm90.7 .8c33.8-43.4 54-98 54-157.3s-20.2-113.9-54-157.3c9-12.5 7.9-30.1-3.4-41.3S425.8 45 413.3 54C369.9 20.2 315.3 0 256 0S142.1 20.2 98.7 54c-12.5-9-30.1-7.9-41.3 3.4S45 86.2 54 98.7C20.2 142.1 0 196.7 0 256s20.2 113.9 54 157.3c-9 12.5-7.9 30.1 3.4 41.3S86.2 467 98.7 458c43.4 33.8 98 54 157.3 54s113.9-20.2 157.3-54c12.5 9 30.1 7.9 41.3-3.4s12.4-28.8 3.4-41.3zm-45.5-46.1l-58-58c8.6-15.8 13.5-34 13.5-53.3s-4.9-37.4-13.5-53.3l58-58C434.9 176.1 448 214.5 448 256s-13.1 79.9-35.5 111.2zM367.2 99.5l-58 58c-15.8-8.6-34-13.5-53.3-13.5s-37.4 4.9-53.3 13.5l-58-58C176.1 77.1 214.5 64 256 64s79.9 13.1 111.2 35.5zM157.5 309.3l-58 58C77.1 335.9 64 297.5 64 256s13.1-79.9 35.5-111.2l58 58c-8.6 15.8-13.5 34-13.5 53.3s4.9 37.4 13.5 53.3zM208 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faHands = {\n prefix: 'fas',\n iconName: 'hands',\n icon: [576, 512, [\"sign-language\", \"signing\"], \"f2a7\", \"M544 160l-.1 72.6c-.1 52.2-24 101-64 133.1c.1-1.9 .1-3.8 .1-5.7v-8c0-71.8-37-138.6-97.9-176.7l-60.2-37.6c-8.6-5.4-17.9-8.4-27.3-9.4L248.7 48.8c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8l78 135.1c3.3 5.7 10.7 7.7 16.4 4.4s7.7-10.7 4.4-16.4l-62-107.4c-6.6-11.5-2.7-26.2 8.8-32.8S362 5 368.6 16.5l68 117.8 0 0 0 0 43.3 75L480 160c0-17.7 14.4-32 32-32s32 14.4 32 32zM243.9 88.5L268.5 131c-13.9 4.5-26.4 13.7-34.7 27c-.9 1.4-1.7 2.9-2.5 4.4l-28.9-50c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8zm-46.4 63.7l26.8 46.4c.6 6 2.1 11.8 4.3 17.4H224 210.7l0 0H179l-23-39.8c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8zM260.9 175c9.4-15 29.1-19.5 44.1-10.2l60.2 37.6C416.7 234.7 448 291.2 448 352v8c0 83.9-68.1 152-152 152H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h92c6.6 0 12-5.4 12-12s-5.4-12-12-12H88c-13.3 0-24-10.7-24-24s10.7-24 24-24H212c6.6 0 12-5.4 12-12s-5.4-12-12-12H56c-13.3 0-24-10.7-24-24s10.7-24 24-24H212c6.6 0 12-5.4 12-12s-5.4-12-12-12H88c-13.3 0-24-10.7-24-24s10.7-24 24-24H224l0 0 0 0h93.2L271 219.1c-15-9.4-19.5-29.1-10.2-44.1z\"]\n};\nvar faSignLanguage = faHands;\nvar faSigning = faHands;\nvar faCalendarDay = {\n prefix: 'fas',\n iconName: 'calendar-day',\n icon: [448, 512, [], \"f783\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm80 64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80z\"]\n};\nvar faWaterLadder = {\n prefix: 'fas',\n iconName: 'water-ladder',\n icon: [576, 512, [\"ladder-water\", \"swimming-pool\"], \"f5c5\", \"M128 127.7C128 74.9 170.9 32 223.7 32c48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8c-17.5 0-31.7 14.2-31.7 31.7V224H384V127.7C384 74.9 426.9 32 479.7 32c48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8c-17.5 0-31.7 14.2-31.7 31.7V361c-1.6 1-3.3 2-4.8 3.1c-18 12.4-40.1 20.3-59.2 20.3h0V288H192v96.5c-19 0-41.2-7.9-59.1-20.3c-1.6-1.1-3.2-2.2-4.9-3.1V127.7zM306.5 389.9C329 405.4 356.5 416 384 416c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 469.7 417 480 384 480c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 405.2 165.1 416 192 416c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faLadderWater = faWaterLadder;\nvar faSwimmingPool = faWaterLadder;\nvar faArrowsUpDown = {\n prefix: 'fas',\n iconName: 'arrows-up-down',\n icon: [320, 512, [\"arrows-v\"], \"f07d\", \"M182.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L128 109.3V402.7L86.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96z\"]\n};\nvar faArrowsV = faArrowsUpDown;\nvar faFaceGrimace = {\n prefix: 'fas',\n iconName: 'face-grimace',\n icon: [512, 512, [128556, \"grimace\"], \"f57f\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm96-112h-8V360l55.3 0c-3.8 22.7-23.6 40-47.3 40zm47.3-56L344 344V304h8c23.8 0 43.5 17.3 47.3 40zM328 344H264V304h64v40zm0 56H264V360h64v40zm-80-96v40l-64 0V304h64zm0 56v40H184V360l64 0zm-80-16H112.7c3.8-22.7 23.6-40 47.3-40h8v40zm0 56h-8c-23.8 0-43.5-17.3-47.3-40H168v40zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrimace = faFaceGrimace;\nvar faWheelchairMove = {\n prefix: 'fas',\n iconName: 'wheelchair-move',\n icon: [448, 512, [\"wheelchair-alt\"], \"e2ce\", \"M320 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM204.5 121.3c-5.4-2.5-11.7-1.9-16.4 1.7l-40.9 30.7c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l40.9-30.7c23.7-17.8 55.3-21 82.1-8.4l90.4 42.5c29.1 13.7 36.8 51.6 15.2 75.5L299.1 224h97.4c30.3 0 53 27.7 47.1 57.4L415.4 422.3c-3.5 17.3-20.3 28.6-37.7 25.1s-28.6-20.3-25.1-37.7L377 288H306.7c8.6 19.6 13.3 41.2 13.3 64c0 88.4-71.6 160-160 160S0 440.4 0 352s71.6-160 160-160c11.1 0 22 1.1 32.4 3.3l54.2-54.2-42.1-19.8zM160 448a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faWheelchairAlt = faWheelchairMove;\nvar faTurnDown = {\n prefix: 'fas',\n iconName: 'turn-down',\n icon: [384, 512, [10549, \"level-down-alt\"], \"f3be\", \"M350 334.5c3.8 8.8 2 19-4.6 26l-136 144c-4.5 4.8-10.8 7.5-17.4 7.5s-12.9-2.7-17.4-7.5l-136-144c-6.6-7-8.4-17.2-4.6-26s12.5-14.5 22-14.5h88l0-192c0-17.7-14.3-32-32-32H32C14.3 96 0 81.7 0 64V32C0 14.3 14.3 0 32 0l80 0c70.7 0 128 57.3 128 128l0 192h88c9.6 0 18.2 5.7 22 14.5z\"]\n};\nvar faLevelDownAlt = faTurnDown;\nvar faPersonWalkingArrowRight = {\n prefix: 'fas',\n iconName: 'person-walking-arrow-right',\n icon: [640, 512, [], \"e552\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224H384c-17.7 0-32 14.3-32 32s14.3 32 32 32H530.7l-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80z\"]\n};\nvar faSquareEnvelope = {\n prefix: 'fas',\n iconName: 'square-envelope',\n icon: [448, 512, [\"envelope-square\"], \"f199\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM218 271.7L64.2 172.4C66 156.4 79.5 144 96 144H352c16.5 0 30 12.4 31.8 28.4L230 271.7c-1.8 1.2-3.9 1.8-6 1.8s-4.2-.6-6-1.8zm29.4 26.9L384 210.4V336c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V210.4l136.6 88.2c7 4.5 15.1 6.9 23.4 6.9s16.4-2.4 23.4-6.9z\"]\n};\nvar faEnvelopeSquare = faSquareEnvelope;\nvar faDice = {\n prefix: 'fas',\n iconName: 'dice',\n icon: [640, 512, [127922], \"f522\", \"M274.9 34.3c-28.1-28.1-73.7-28.1-101.8 0L34.3 173.1c-28.1 28.1-28.1 73.7 0 101.8L173.1 413.7c28.1 28.1 73.7 28.1 101.8 0L413.7 274.9c28.1-28.1 28.1-73.7 0-101.8L274.9 34.3zM200 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM96 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM224 376a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM352 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM224 120a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm96 328c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H461.7c11.6 36 3.1 77-25.4 105.5L320 413.8V448zM480 328a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faBowlingBall = {\n prefix: 'fas',\n iconName: 'bowling-ball',\n icon: [512, 512, [], \"f436\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM240 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM208 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-64-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBrain = {\n prefix: 'fas',\n iconName: 'brain',\n icon: [512, 512, [129504], \"f5dc\", \"M184 0c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56c-28.9 0-52.7-21.9-55.7-50.1c-5.2 1.4-10.7 2.1-16.3 2.1c-35.3 0-64-28.7-64-64c0-7.4 1.3-14.6 3.6-21.2C21.4 367.4 0 338.2 0 304c0-31.9 18.7-59.5 45.8-72.3C37.1 220.8 32 207 32 192c0-30.7 21.6-56.3 50.4-62.6C80.8 123.9 80 118 80 112c0-29.9 20.6-55.1 48.3-62.1C131.3 21.9 155.1 0 184 0zM328 0c28.9 0 52.6 21.9 55.7 49.9c27.8 7 48.3 32.1 48.3 62.1c0 6-.8 11.9-2.4 17.4c28.8 6.2 50.4 31.9 50.4 62.6c0 15-5.1 28.8-13.8 39.7C493.3 244.5 512 272.1 512 304c0 34.2-21.4 63.4-51.6 74.8c2.3 6.6 3.6 13.8 3.6 21.2c0 35.3-28.7 64-64 64c-5.6 0-11.1-.7-16.3-2.1c-3 28.2-26.8 50.1-55.7 50.1c-30.9 0-56-25.1-56-56V56c0-30.9 25.1-56 56-56z\"]\n};\nvar faBandage = {\n prefix: 'fas',\n iconName: 'bandage',\n icon: [640, 512, [129657, \"band-aid\"], \"f462\", \"M480 416h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H480V416zM448 96H192V416H448V96zM64 96C28.7 96 0 124.7 0 160V352c0 35.3 28.7 64 64 64h96V96H64zM248 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM248 304a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faBandAid = faBandage;\nvar faCalendarMinus = {\n prefix: 'fas',\n iconName: 'calendar-minus',\n icon: [512, 512, [], \"f272\", \"M160 0c17.7 0 32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H32V112c0-26.5 21.5-48 48-48h48V32c0-17.7 14.3-32 32-32zM32 192H480V464c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V192zM344 376c13.3 0 24-10.7 24-24s-10.7-24-24-24H168c-13.3 0-24 10.7-24 24s10.7 24 24 24H344z\"]\n};\nvar faCircleXmark = {\n prefix: 'fas',\n iconName: 'circle-xmark',\n icon: [512, 512, [61532, \"times-circle\", \"xmark-circle\"], \"f057\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesCircle = faCircleXmark;\nvar faXmarkCircle = faCircleXmark;\nvar faGifts = {\n prefix: 'fas',\n iconName: 'gifts',\n icon: [640, 512, [], \"f79c\", \"M200.6 32C205 19.5 198.5 5.8 186 1.4S159.8 3.5 155.4 16L144.7 46.2l-9.9-29.8C130.6 3.8 117-3 104.4 1.2S85 19 89.2 31.6l8.3 25-27.4-20c-10.7-7.8-25.7-5.4-33.5 5.3s-5.4 25.7 5.3 33.5L70.2 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H200.6c-5.4-9.4-8.6-20.3-8.6-32V256c0-29.9 20.5-55 48.2-62c1.8-31 17.1-58.2 40.1-76.1C271.7 104.7 256.9 96 240 96H217.8l28.3-20.6c10.7-7.8 13.1-22.8 5.3-33.5s-22.8-13.1-33.5-5.3L192.5 55.1 200.6 32zM363.5 185.5L393.1 224H344c-13.3 0-24-10.7-24-24c0-13.1 10.8-24 24.2-24c7.6 0 14.7 3.5 19.3 9.5zM272 200c0 8.4 1.4 16.5 4.1 24H272c-26.5 0-48 21.5-48 48v80H416V256h32v96H640V272c0-26.5-21.5-48-48-48h-4.1c2.7-7.5 4.1-15.6 4.1-24c0-39.9-32.5-72-72.2-72c-22.4 0-43.6 10.4-57.3 28.2L432 195.8l-30.5-39.6c-13.7-17.8-35-28.2-57.3-28.2c-39.7 0-72.2 32.1-72.2 72zM224 464c0 26.5 21.5 48 48 48H416V384H224v80zm224 48H592c26.5 0 48-21.5 48-48V384H448V512zm96-312c0 13.3-10.7 24-24 24H470.9l29.6-38.5c4.6-5.9 11.7-9.5 19.3-9.5c13.4 0 24.2 10.9 24.2 24z\"]\n};\nvar faHotel = {\n prefix: 'fas',\n iconName: 'hotel',\n icon: [512, 512, [127976], \"f594\", \"M0 32C0 14.3 14.3 0 32 0H480c17.7 0 32 14.3 32 32s-14.3 32-32 32V448c17.7 0 32 14.3 32 32s-14.3 32-32 32H304V464c0-26.5-21.5-48-48-48s-48 21.5-48 48v48H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V64C14.3 64 0 49.7 0 32zm96 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zM240 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H240zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zM112 192c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H112zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H368zM328 384c13.3 0 24.3-10.9 21-23.8c-10.6-41.5-48.2-72.2-93-72.2s-82.5 30.7-93 72.2c-3.3 12.8 7.8 23.8 21 23.8H328z\"]\n};\nvar faEarthAsia = {\n prefix: 'fas',\n iconName: 'earth-asia',\n icon: [512, 512, [127759, \"globe-asia\"], \"f57e\", \"M51.7 295.1l31.7 6.3c7.9 1.6 16-.9 21.7-6.6l15.4-15.4c11.6-11.6 31.1-8.4 38.4 6.2l9.3 18.5c4.8 9.6 14.6 15.7 25.4 15.7c15.2 0 26.1-14.6 21.7-29.2l-6-19.9c-4.6-15.4 6.9-30.9 23-30.9h2.3c13.4 0 25.9-6.7 33.3-17.8l10.7-16.1c5.6-8.5 5.3-19.6-.8-27.7l-16.1-21.5c-10.3-13.7-3.3-33.5 13.4-37.7l17-4.3c7.5-1.9 13.6-7.2 16.5-14.4l16.4-40.9C303.4 52.1 280.2 48 256 48C141.1 48 48 141.1 48 256c0 13.4 1.3 26.5 3.7 39.1zm407.7 4.6c-3-.3-6-.1-9 .8l-15.8 4.4c-6.7 1.9-13.8-.9-17.5-6.7l-2-3.1c-6-9.4-16.4-15.1-27.6-15.1s-21.6 5.7-27.6 15.1l-6.1 9.5c-1.4 2.2-3.4 4.1-5.7 5.3L312 330.1c-18.1 10.1-25.5 32.4-17 51.3l5.5 12.4c8.6 19.2 30.7 28.5 50.5 21.1l2.6-1c10-3.7 21.3-2.2 29.9 4.1l1.5 1.1c37.2-29.5 64.1-71.4 74.4-119.5zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm144.5 92.1c-2.1 8.6 3.1 17.3 11.6 19.4l32 8c8.6 2.1 17.3-3.1 19.4-11.6s-3.1-17.3-11.6-19.4l-32-8c-8.6-2.1-17.3 3.1-19.4 11.6zm92-20c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6l8-32c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6l-8 32zM343.2 113.7c-7.9-4-17.5-.7-21.5 7.2l-16 32c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l16-32c4-7.9 .7-17.5-7.2-21.5z\"]\n};\nvar faGlobeAsia = faEarthAsia;\nvar faIdCardClip = {\n prefix: 'fas',\n iconName: 'id-card-clip',\n icon: [576, 512, [\"id-card-alt\"], \"f47f\", \"M256 0h64c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM64 64H192v48c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64zM176 437.3c0 5.9 4.8 10.7 10.7 10.7H389.3c5.9 0 10.7-4.8 10.7-10.7c0-29.5-23.9-53.3-53.3-53.3H229.3c-29.5 0-53.3 23.9-53.3 53.3zM288 352a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faIdCardAlt = faIdCardClip;\nvar faMagnifyingGlassPlus = {\n prefix: 'fas',\n iconName: 'magnifying-glass-plus',\n icon: [512, 512, [\"search-plus\"], \"f00e\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faSearchPlus = faMagnifyingGlassPlus;\nvar faThumbsUp = {\n prefix: 'fas',\n iconName: 'thumbs-up',\n icon: [512, 512, [128077, 61575], \"f164\", \"M313.4 32.9c26 5.2 42.9 30.5 37.7 56.5l-2.3 11.4c-5.3 26.7-15.1 52.1-28.8 75.2H464c26.5 0 48 21.5 48 48c0 18.5-10.5 34.6-25.9 42.6C497 275.4 504 288.9 504 304c0 23.4-16.8 42.9-38.9 47.1c4.4 7.3 6.9 15.8 6.9 24.9c0 21.3-13.9 39.4-33.1 45.6c.7 3.3 1.1 6.8 1.1 10.4c0 26.5-21.5 48-48 48H294.5c-19 0-37.5-5.6-53.3-16.1l-38.5-25.7C176 420.4 160 390.4 160 358.3V320 272 247.1c0-29.2 13.3-56.7 36-75l7.4-5.9c26.5-21.2 44.6-51 51.2-84.2l2.3-11.4c5.2-26 30.5-42.9 56.5-37.7zM32 192H96c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32z\"]\n};\nvar faUserClock = {\n prefix: 'fas',\n iconName: 'user-clock',\n icon: [640, 512, [], \"f4fd\", \"M224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM178.3 304h91.4c20.6 0 40.4 3.5 58.8 9.9C323 331 320 349.1 320 368c0 59.5 29.5 112.1 74.8 144H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faHandDots = {\n prefix: 'fas',\n iconName: 'hand-dots',\n icon: [512, 512, [\"allergies\"], \"f461\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V336c0 1.5 0 3.1 .1 4.6L67.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L124.8 448c43.1 41.1 100.4 64 160 64H304c97.2 0 176-78.8 176-176V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V32zM240 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48-16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-16 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM240 432a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-48-48a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faAllergies = faHandDots;\nvar faFileInvoice = {\n prefix: 'fas',\n iconName: 'file-invoice',\n icon: [384, 512, [], \"f570\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM80 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 96H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm0 32v64H288V256H96zM240 416h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faWindowMinimize = {\n prefix: 'fas',\n iconName: 'window-minimize',\n icon: [512, 512, [128469], \"f2d1\", \"M32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faMugSaucer = {\n prefix: 'fas',\n iconName: 'mug-saucer',\n icon: [640, 512, [\"coffee\"], \"f0f4\", \"M96 64c0-17.7 14.3-32 32-32H448h64c70.7 0 128 57.3 128 128s-57.3 128-128 128H480c0 53-43 96-96 96H192c-53 0-96-43-96-96V64zM480 224h32c35.3 0 64-28.7 64-64s-28.7-64-64-64H480V224zM32 416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faCoffee = faMugSaucer;\nvar faBrush = {\n prefix: 'fas',\n iconName: 'brush',\n icon: [384, 512, [], \"f55d\", \"M162.4 6c-1.5-3.6-5-6-8.9-6h-19c-3.9 0-7.5 2.4-8.9 6L104.9 57.7c-3.2 8-14.6 8-17.8 0L66.4 6c-1.5-3.6-5-6-8.9-6H48C21.5 0 0 21.5 0 48V224v22.4V256H9.6 374.4 384v-9.6V224 48c0-26.5-21.5-48-48-48H230.5c-3.9 0-7.5 2.4-8.9 6L200.9 57.7c-3.2 8-14.6 8-17.8 0L162.4 6zM0 288v32c0 35.3 28.7 64 64 64h64v64c0 35.3 28.7 64 64 64s64-28.7 64-64V384h64c35.3 0 64-28.7 64-64V288H0zM192 432a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faMask = {\n prefix: 'fas',\n iconName: 'mask',\n icon: [576, 512, [], \"f6fa\", \"M288 64C64 64 0 160 0 272S80 448 176 448h8.4c24.2 0 46.4-13.7 57.2-35.4l23.2-46.3c4.4-8.8 13.3-14.3 23.2-14.3s18.8 5.5 23.2 14.3l23.2 46.3c10.8 21.7 33 35.4 57.2 35.4H400c96 0 176-64 176-176s-64-208-288-208zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm320-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faMagnifyingGlassMinus = {\n prefix: 'fas',\n iconName: 'magnifying-glass-minus',\n icon: [512, 512, [\"search-minus\"], \"f010\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z\"]\n};\nvar faSearchMinus = faMagnifyingGlassMinus;\nvar faRulerVertical = {\n prefix: 'fas',\n iconName: 'ruler-vertical',\n icon: [256, 512, [], \"f548\", \"M0 48C0 21.5 21.5 0 48 0H208c26.5 0 48 21.5 48 48V96H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48z\"]\n};\nvar faUserLarge = {\n prefix: 'fas',\n iconName: 'user-large',\n icon: [512, 512, [\"user-alt\"], \"f406\", \"M256 288A144 144 0 1 0 256 0a144 144 0 1 0 0 288zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7H481.3c17 0 30.7-13.8 30.7-30.7C512 392.2 439.8 320 350.7 320H161.3z\"]\n};\nvar faUserAlt = faUserLarge;\nvar faTrainTram = {\n prefix: 'fas',\n iconName: 'train-tram',\n icon: [448, 512, [128650], \"e5b4\", \"M86.8 48c-12.2 0-23.6 5.5-31.2 15L42.7 79C34.5 89.3 19.4 91 9 82.7S-3 59.4 5.3 49L18 33C34.7 12.2 60 0 86.8 0H361.2c26.7 0 52 12.2 68.7 33l12.8 16c8.3 10.4 6.6 25.5-3.8 33.7s-25.5 6.6-33.7-3.7L392.5 63c-7.6-9.5-19.1-15-31.2-15H248V96h40c53 0 96 43 96 96V352c0 30.6-14.3 57.8-36.6 75.4l65.5 65.5c7.1 7.1 2.1 19.1-7.9 19.1H365.3c-8.5 0-16.6-3.4-22.6-9.4L288 448H160l-54.6 54.6c-6 6-14.1 9.4-22.6 9.4H43c-10 0-15-12.1-7.9-19.1l65.5-65.5C78.3 409.8 64 382.6 64 352V192c0-53 43-96 96-96h40V48H86.8zM160 160c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H160zm32 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faUserNurse = {\n prefix: 'fas',\n iconName: 'user-nurse',\n icon: [448, 512, [], \"f82f\", \"M96 128V70.2c0-13.3 8.3-25.3 20.8-30l96-36c7.2-2.7 15.2-2.7 22.5 0l96 36c12.5 4.7 20.8 16.6 20.8 30V128h-.3c.2 2.6 .3 5.3 .3 8v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V136c0-2.7 .1-5.4 .3-8H96zm48 48c0 44.2 35.8 80 80 80s80-35.8 80-80V160H144v16zM111.9 327.7c10.5-3.4 21.8 .4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5C401 348.6 448 409.4 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6zM208 48V64H192c-4.4 0-8 3.6-8 8V88c0 4.4 3.6 8 8 8h16v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V96h16c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8H240V48c0-4.4-3.6-8-8-8H216c-4.4 0-8 3.6-8 8z\"]\n};\nvar faSyringe = {\n prefix: 'fas',\n iconName: 'syringe',\n icon: [512, 512, [128137], \"f48e\", \"M441 7l32 32 32 32c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15L417.9 128l55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-72-72L295 73c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l55 55L422.1 56 407 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM210.3 155.7l61.1-61.1c.3 .3 .6 .7 1 1l16 16 56 56 56 56 16 16c.3 .3 .6 .6 1 1l-191 191c-10.5 10.5-24.7 16.4-39.6 16.4H97.9L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57V325.3c0-14.9 5.9-29.1 16.4-39.6l43.3-43.3 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57z\"]\n};\nvar faCloudSun = {\n prefix: 'fas',\n iconName: 'cloud-sun',\n icon: [640, 512, [9925], \"f6c4\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 84.7 14.1c5.4 .9 10 4.5 12.1 9.6s1.5 10.9-1.6 15.4l-38.5 55c-2.2-.1-4.4-.2-6.7-.2c-23.3 0-45.1 6.2-64 17.1l0-1.1c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17c-4.5 3.2-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM639.9 431.9c0 44.2-35.8 80-80 80H288c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]\n};\nvar faStopwatch20 = {\n prefix: 'fas',\n iconName: 'stopwatch-20',\n icon: [448, 512, [], \"e06f\", \"M176 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h16V98.4C92.3 113.8 16 200 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-41.8-12.3-80.7-33.5-113.2l24.1-24.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L355.7 143c-28.1-23-62.2-38.8-99.7-44.6V64h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H176zM288 204c28.7 0 52 23.3 52 52v96c0 28.7-23.3 52-52 52s-52-23.3-52-52V256c0-28.7 23.3-52 52-52zm-12 52v96c0 6.6 5.4 12 12 12s12-5.4 12-12V256c0-6.6-5.4-12-12-12s-12 5.4-12 12zM159.5 244c-5.4 0-10.2 3.5-11.9 8.6l-.6 1.7c-3.5 10.5-14.8 16.1-25.3 12.6s-16.1-14.8-12.6-25.3l.6-1.7c7.2-21.5 27.2-35.9 49.8-35.9c29 0 52.5 23.5 52.5 52.5v2.2c0 13.4-4.9 26.4-13.8 36.4l-39 43.9c-6.2 7-10 15.7-10.9 24.9H192c11 0 20 9 20 20s-9 20-20 20H128c-11 0-20-9-20-20V368.3c0-20.6 7.5-40.4 21.2-55.8l39-43.9c2.4-2.7 3.7-6.2 3.7-9.8v-2.2c0-6.9-5.6-12.5-12.5-12.5z\"]\n};\nvar faSquareFull = {\n prefix: 'fas',\n iconName: 'square-full',\n icon: [512, 512, [128997, 128998, 128999, 129000, 129001, 129002, 129003, 11035, 11036], \"f45c\", \"M0 0H512V512H0V0z\"]\n};\nvar faMagnet = {\n prefix: 'fas',\n iconName: 'magnet',\n icon: [448, 512, [129522], \"f076\", \"M0 160v96C0 379.7 100.3 480 224 480s224-100.3 224-224V160H320v96c0 53-43 96-96 96s-96-43-96-96V160H0zm0-32H128V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64zm320 0H448V64c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32v64z\"]\n};\nvar faJar = {\n prefix: 'fas',\n iconName: 'jar',\n icon: [320, 512, [], \"e516\", \"M32 32C32 14.3 46.3 0 64 0H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H64C46.3 64 32 49.7 32 32zM0 160c0-35.3 28.7-64 64-64H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zm96 64c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H96z\"]\n};\nvar faNoteSticky = {\n prefix: 'fas',\n iconName: 'note-sticky',\n icon: [448, 512, [62026, \"sticky-note\"], \"f249\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H288V368c0-26.5 21.5-48 48-48H448V96c0-35.3-28.7-64-64-64H64zM448 352H402.7 336c-8.8 0-16 7.2-16 16v66.7V480l32-32 64-64 32-32z\"]\n};\nvar faStickyNote = faNoteSticky;\nvar faBugSlash = {\n prefix: 'fas',\n iconName: 'bug-slash',\n icon: [640, 512, [], \"e490\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L477.4 348.9c1.7-9.4 2.6-19 2.6-28.9h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H479.7c-1.1-14.1-5-27.5-11.1-39.5c.7-.6 1.4-1.2 2.1-1.9l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-.7 .7-1.3 1.4-1.9 2.1C409.2 164.1 393.1 160 376 160H264c-8.3 0-16.3 1-24 2.8L38.8 5.1zM320 0c-53 0-96 43-96 96v3.6c0 15.7 12.7 28.4 28.4 28.4H387.6c15.7 0 28.4-12.7 28.4-28.4V96c0-53-43-96-96-96zM160.3 256H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c0 24.6 5.5 47.8 15.4 68.6c-2.2 1.3-4.2 2.9-6 4.8l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l63.1-63.1c24.5 21.8 55.8 36.2 90.3 39.6V335.5L166.7 227.3c-3.4 9-5.6 18.7-6.4 28.7zM336 479.2c36.6-3.6 69.7-19.6 94.8-43.8L336 360.7V479.2z\"]\n};\nvar faArrowUpFromWaterPump = {\n prefix: 'fas',\n iconName: 'arrow-up-from-water-pump',\n icon: [576, 512, [], \"e4b6\", \"M112 0C85.5 0 64 21.5 64 48V256H48c-26.5 0-48 21.5-48 48v96c0 8 2 15.6 5.4 22.2c3.8-1.7 7.8-3.1 12-4.1c13.1-3.1 26.7-9.8 37.3-18.6c22.2-18.7 54.3-20.1 78.1-3.4c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c4.2 1 8.2 2.4 12 4.1C574 415.6 576 408 576 400V304c0-26.5-21.5-48-48-48H480l0-146.7 25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 109.3 416 256H288V48c0-26.5-21.5-48-48-48H112zM306.5 421.9c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nvar faBone = {\n prefix: 'fas',\n iconName: 'bone',\n icon: [576, 512, [129460], \"f5d7\", \"M153.7 144.8c6.9 16.3 20.6 31.2 38.3 31.2H384c17.7 0 31.4-14.9 38.3-31.2C434.4 116.1 462.9 96 496 96c44.2 0 80 35.8 80 80c0 30.4-17 56.9-42 70.4c-3.6 1.9-6 5.5-6 9.6s2.4 7.7 6 9.6c25 13.5 42 40 42 70.4c0 44.2-35.8 80-80 80c-33.1 0-61.6-20.1-73.7-48.8C415.4 350.9 401.7 336 384 336H192c-17.7 0-31.4 14.9-38.3 31.2C141.6 395.9 113.1 416 80 416c-44.2 0-80-35.8-80-80c0-30.4 17-56.9 42-70.4c3.6-1.9 6-5.5 6-9.6s-2.4-7.7-6-9.6C17 232.9 0 206.4 0 176c0-44.2 35.8-80 80-80c33.1 0 61.6 20.1 73.7 48.8z\"]\n};\nvar faUserInjured = {\n prefix: 'fas',\n iconName: 'user-injured',\n icon: [448, 512, [], \"f728\", \"M240 80H342.7c-7.9-19.5-20.4-36.5-36.2-49.9L240 80zm37.7-68.2C261.3 4.2 243.2 0 224 0c-53.7 0-99.7 33.1-118.7 80h81.4l91-68.2zM224 256c70.7 0 128-57.3 128-128c0-5.4-.3-10.8-1-16H97c-.7 5.2-1 10.6-1 16c0 70.7 57.3 128 128 128zM124 312.4c-9.7 3.1-19.1 7-28 11.7V512H243.7L181.5 408.2 124 312.4zm33-7.2L204.3 384H272c44.2 0 80 35.8 80 80c0 18-6 34.6-16 48h82.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3c-7.2 0-14.3 .4-21.3 1.3zM0 482.3C0 498.7 13.3 512 29.7 512H64V345.4C24.9 378.1 0 427.3 0 482.3zM320 464c0-26.5-21.5-48-48-48H223.5l57.1 95.2C303 507.2 320 487.6 320 464z\"]\n};\nvar faFaceSadTear = {\n prefix: 'fas',\n iconName: 'face-sad-tear',\n icon: [512, 512, [128546, \"sad-tear\"], \"f5b4\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm240 80c0-8.8 7.2-16 16-16c45 0 85.6 20.5 115.7 53.1c6 6.5 5.6 16.6-.9 22.6s-16.6 5.6-22.6-.9c-25-27.1-57.4-42.9-92.3-42.9c-8.8 0-16-7.2-16-16zm-80 80c-26.5 0-48-21-48-47c0-20 28.6-60.4 41.6-77.7c3.2-4.4 9.6-4.4 12.8 0C179.6 308.6 208 349 208 369c0 26-21.5 47-48 47zM367.6 208a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSadTear = faFaceSadTear;\nvar faPlane = {\n prefix: 'fas',\n iconName: 'plane',\n icon: [576, 512, [], \"f072\", \"M482.3 192c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64l-116.6 0L265.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6L112 320 68.8 377.6c-3 4-7.8 6.4-12.8 6.4l-42 0c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L32 256 .5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-7.8 6.3-14 14-14l42 0c5 0 9.8 2.4 12.8 6.4L112 192l102.9 0-49-171.6C162.9 10.2 170.6 0 181.2 0l56.2 0c11.5 0 22.1 6.2 27.8 16.1L365.7 192l116.6 0z\"]\n};\nvar faTentArrowsDown = {\n prefix: 'fas',\n iconName: 'tent-arrows-down',\n icon: [576, 512, [], \"e581\", \"M209.8 111.9c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36L136 24c0-13.3-10.7-24-24-24S88 10.7 88 24l0 122.1-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zm352 0c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V146.1l-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zM307.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S86.7 512 96 512H288V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nvar faExclamation = {\n prefix: 'fas',\n iconName: 'exclamation',\n icon: [64, 512, [10069, 10071, 61738], \"21\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V320c0 17.7 14.3 32 32 32s32-14.3 32-32V64zM32 480a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faArrowsSpin = {\n prefix: 'fas',\n iconName: 'arrows-spin',\n icon: [512, 512, [], \"e4bb\", \"M256 96c38.4 0 73.7 13.5 101.3 36.1l-32.6 32.6c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H448c8.8 0 16-7.2 16-16V64c0-6.5-3.9-12.3-9.9-14.8s-12.9-1.1-17.4 3.5l-34 34C363.4 52.6 312.1 32 256 32c-10.9 0-21.5 .8-32 2.3V99.2c10.3-2.1 21-3.2 32-3.2zM132.1 154.7l32.6 32.6c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8V64c0-8.8-7.2-16-16-16H64c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l34 34C52.6 148.6 32 199.9 32 256c0 10.9 .8 21.5 2.3 32H99.2c-2.1-10.3-3.2-21-3.2-32c0-38.4 13.5-73.7 36.1-101.3zM477.7 224H412.8c2.1 10.3 3.2 21 3.2 32c0 38.4-13.5 73.7-36.1 101.3l-32.6-32.6c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8V448c0 8.8 7.2 16 16 16H448c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-34-34C459.4 363.4 480 312.1 480 256c0-10.9-.8-21.5-2.3-32zM256 416c-38.4 0-73.7-13.5-101.3-36.1l32.6-32.6c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H64c-8.8 0-16 7.2-16 16l0 112c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l34-34C148.6 459.4 199.9 480 256 480c10.9 0 21.5-.8 32-2.3V412.8c-10.3 2.1-21 3.2-32 3.2z\"]\n};\nvar faPrint = {\n prefix: 'fas',\n iconName: 'print',\n icon: [512, 512, [128424, 128438, 9113], \"f02f\", \"M128 0C92.7 0 64 28.7 64 64v96h64V64H354.7L384 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0H128zM384 352v32 64H128V384 368 352H384zm64 32h32c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v96c0 17.7 14.3 32 32 32H64v64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384zM432 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTurkishLiraSign = {\n prefix: 'fas',\n iconName: 'turkish-lira-sign',\n icon: [384, 512, [\"try\", \"turkish-lira\"], \"e2bb\", \"M96 32c17.7 0 32 14.3 32 32V99.3L247.2 65.2c17-4.9 34.7 5 39.6 22s-5 34.7-22 39.6L128 165.9v29.4l119.2-34.1c17-4.9 34.7 5 39.6 22s-5 34.7-22 39.6L128 261.9V416h63.8c68.2 0 124.4-53.5 127.8-121.6l.4-8c.9-17.7 15.9-31.2 33.6-30.4s31.2 15.9 30.4 33.6l-.4 8C378.5 399.8 294.1 480 191.8 480H96c-17.7 0-32-14.3-32-32V280.1l-23.2 6.6c-17 4.9-34.7-5-39.6-22s5-34.7 22-39.6L64 213.6V184.1l-23.2 6.6c-17 4.9-34.7-5-39.6-22s5-34.7 22-39.6L64 117.6V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faTry = faTurkishLiraSign;\nvar faTurkishLira = faTurkishLiraSign;\nvar faDollarSign = {\n prefix: 'fas',\n iconName: 'dollar-sign',\n icon: [320, 512, [128178, 61781, \"dollar\", \"usd\"], \"24\", \"M160 0c17.7 0 32 14.3 32 32V67.7c1.6 .2 3.1 .4 4.7 .7c.4 .1 .7 .1 1.1 .2l48 8.8c17.4 3.2 28.9 19.9 25.7 37.2s-19.9 28.9-37.2 25.7l-47.5-8.7c-31.3-4.6-58.9-1.5-78.3 6.2s-27.2 18.3-29 28.1c-2 10.7-.5 16.7 1.2 20.4c1.8 3.9 5.5 8.3 12.8 13.2c16.3 10.7 41.3 17.7 73.7 26.3l2.9 .8c28.6 7.6 63.6 16.8 89.6 33.8c14.2 9.3 27.6 21.9 35.9 39.5c8.5 17.9 10.3 37.9 6.4 59.2c-6.9 38-33.1 63.4-65.6 76.7c-13.7 5.6-28.6 9.2-44.4 11V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.1c-.4-.1-.9-.1-1.3-.2l-.2 0 0 0c-24.4-3.8-64.5-14.3-91.5-26.3c-16.1-7.2-23.4-26.1-16.2-42.2s26.1-23.4 42.2-16.2c20.9 9.3 55.3 18.5 75.2 21.6c31.9 4.7 58.2 2 76-5.3c16.9-6.9 24.6-16.9 26.8-28.9c1.9-10.6 .4-16.7-1.3-20.4c-1.9-4-5.6-8.4-13-13.3c-16.4-10.7-41.5-17.7-74-26.3l-2.8-.7 0 0C119.4 279.3 84.4 270 58.4 253c-14.2-9.3-27.5-22-35.8-39.6c-8.4-17.9-10.1-37.9-6.1-59.2C23.7 116 52.3 91.2 84.8 78.3c13.3-5.3 27.9-8.9 43.2-11V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faDollar = faDollarSign;\nvar faUsd = faDollarSign;\nvar faX = {\n prefix: 'fas',\n iconName: 'x',\n icon: [384, 512, [120], \"58\", \"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z\"]\n};\nvar faMagnifyingGlassDollar = {\n prefix: 'fas',\n iconName: 'magnifying-glass-dollar',\n icon: [512, 512, [\"search-dollar\"], \"f688\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM228 104c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104z\"]\n};\nvar faSearchDollar = faMagnifyingGlassDollar;\nvar faUsersGear = {\n prefix: 'fas',\n iconName: 'users-gear',\n icon: [640, 512, [\"users-cog\"], \"f509\", \"M144 160A80 80 0 1 0 144 0a80 80 0 1 0 0 160zm368 0A80 80 0 1 0 512 0a80 80 0 1 0 0 160zM0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-26.6-23.5-43.3-57.8-43.3-96c0-7.6 .7-15 1.9-22.3c-13.6-6.3-28.7-9.7-44.6-9.7H106.7C47.8 192 0 239.8 0 298.7zM320 320c24 0 45.9-8.8 62.7-23.3c2.5-3.7 5.2-7.3 8-10.7c2.7-3.3 5.7-6.1 9-8.3C410 262.3 416 243.9 416 224c0-53-43-96-96-96s-96 43-96 96s43 96 96 96zm65.4 60.2c-10.3-5.9-18.1-16.2-20.8-28.2H261.3C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H455.2c-2.1-5.2-3.2-10.9-3.2-16.4v-3c-1.3-.7-2.7-1.5-4-2.3l-2.6 1.5c-16.8 9.7-40.5 8-54.7-9.7c-4.5-5.6-8.6-11.5-12.4-17.6l-.1-.2-.1-.2-2.4-4.1-.1-.2-.1-.2c-3.4-6.2-6.4-12.6-9-19.3c-8.2-21.2 2.2-42.6 19-52.3l2.7-1.5c0-.8 0-1.5 0-2.3s0-1.5 0-2.3l-2.7-1.5zM533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 17.4-3.5 33.9-9.7 49c2.5 .9 4.9 2 7.1 3.3l2.6 1.5c1.3-.8 2.6-1.6 4-2.3v-3c0-19.4 13.3-39.1 35.8-42.6c7.9-1.2 16-1.9 24.2-1.9s16.3 .6 24.2 1.9c22.5 3.5 35.8 23.2 35.8 42.6v3c1.3 .7 2.7 1.5 4 2.3l2.6-1.5c16.8-9.7 40.5-8 54.7 9.7c2.3 2.8 4.5 5.8 6.6 8.7c-2.1-57.1-49-102.7-106.6-102.7zm91.3 163.9c6.3-3.6 9.5-11.1 6.8-18c-2.1-5.5-4.6-10.8-7.4-15.9l-2.3-4c-3.1-5.1-6.5-9.9-10.2-14.5c-4.6-5.7-12.7-6.7-19-3L574.4 311c-8.9-7.6-19.1-13.6-30.4-17.6v-21c0-7.3-4.9-13.8-12.1-14.9c-6.5-1-13.1-1.5-19.9-1.5s-13.4 .5-19.9 1.5c-7.2 1.1-12.1 7.6-12.1 14.9v21c-11.2 4-21.5 10-30.4 17.6l-18.2-10.5c-6.3-3.6-14.4-2.6-19 3c-3.7 4.6-7.1 9.5-10.2 14.6l-2.3 3.9c-2.8 5.1-5.3 10.4-7.4 15.9c-2.6 6.8 .5 14.3 6.8 17.9l18.2 10.5c-1 5.7-1.6 11.6-1.6 17.6s.6 11.9 1.6 17.5l-18.2 10.5c-6.3 3.6-9.5 11.1-6.8 17.9c2.1 5.5 4.6 10.7 7.4 15.8l2.4 4.1c3 5.1 6.4 9.9 10.1 14.5c4.6 5.7 12.7 6.7 19 3L449.6 457c8.9 7.6 19.2 13.6 30.4 17.6v21c0 7.3 4.9 13.8 12.1 14.9c6.5 1 13.1 1.5 19.9 1.5s13.4-.5 19.9-1.5c7.2-1.1 12.1-7.6 12.1-14.9v-21c11.2-4 21.5-10 30.4-17.6l18.2 10.5c6.3 3.6 14.4 2.6 19-3c3.7-4.6 7.1-9.4 10.1-14.5l2.4-4.2c2.8-5.1 5.3-10.3 7.4-15.8c2.6-6.8-.5-14.3-6.8-17.9l-18.2-10.5c1-5.7 1.6-11.6 1.6-17.5s-.6-11.9-1.6-17.6l18.2-10.5zM472 384a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]\n};\nvar faUsersCog = faUsersGear;\nvar faPersonMilitaryPointing = {\n prefix: 'fas',\n iconName: 'person-military-pointing',\n icon: [576, 512, [], \"e54a\", \"M246.9 14.1C234 15.2 224 26 224 39c0 13.8 11.2 25 25 25H400c8.8 0 16-7.2 16-16V17.4C416 8 408 .7 398.7 1.4L246.9 14.1zM240 112c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H241.6c-1 5.2-1.6 10.5-1.6 16zM72 224c-22.1 0-40 17.9-40 40s17.9 40 40 40H224v89.4L386.8 230.5c-13.3-4.3-27.3-6.5-41.6-6.5H240 72zm345.7 20.9L246.6 416H416V369.7l53.6 90.6c11.2 19 35.8 25.3 54.8 14.1s25.3-35.8 14.1-54.8L462.3 290.8c-11.2-18.9-26.6-34.5-44.6-45.9zM224 448v32c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V448H224z\"]\n};\nvar faBuildingColumns = {\n prefix: 'fas',\n iconName: 'building-columns',\n icon: [512, 512, [\"bank\", \"institution\", \"museum\", \"university\"], \"f19c\", \"M243.4 2.6l-224 96c-14 6-21.8 21-18.7 35.8S16.8 160 32 160v8c0 13.3 10.7 24 24 24H456c13.3 0 24-10.7 24-24v-8c15.2 0 28.3-10.7 31.3-25.6s-4.8-29.9-18.7-35.8l-224-96c-8-3.4-17.2-3.4-25.2 0zM128 224H64V420.3c-.6 .3-1.2 .7-1.8 1.1l-48 32c-11.7 7.8-17 22.4-12.9 35.9S17.9 512 32 512H480c14.1 0 26.5-9.2 30.6-22.7s-1.1-28.1-12.9-35.9l-48-32c-.6-.4-1.2-.7-1.8-1.1V224H384V416H344V224H280V416H232V224H168V416H128V224zM256 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBank = faBuildingColumns;\nvar faInstitution = faBuildingColumns;\nvar faMuseum = faBuildingColumns;\nvar faUniversity = faBuildingColumns;\nvar faUmbrella = {\n prefix: 'fas',\n iconName: 'umbrella',\n icon: [576, 512, [], \"f0e9\", \"M288 0c17.7 0 32 14.3 32 32V49.7C451.8 63.4 557.7 161 573.9 285.9c2 15.6-17.3 24.4-27.8 12.7C532.1 283 504.8 272 480 272c-38.7 0-71 27.5-78.4 64.1c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9C359 299.5 326.7 272 288 272s-71 27.5-78.4 64.1c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9C167 299.5 134.7 272 96 272c-24.8 0-52.1 11-66.1 26.7C19.4 310.4 .1 301.5 2.1 285.9C18.3 161 124.2 63.4 256 49.7V32c0-17.7 14.3-32 32-32zm0 304c12.3 0 23.5 4.6 32 12.2V430.6c0 45-36.5 81.4-81.4 81.4c-30.8 0-59-17.4-72.8-45l-2.3-4.7c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l2.3 4.7c3 5.9 9 9.6 15.6 9.6c9.6 0 17.4-7.8 17.4-17.4V316.2c8.5-7.6 19.7-12.2 32-12.2z\"]\n};\nvar faTrowel = {\n prefix: 'fas',\n iconName: 'trowel',\n icon: [512, 512, [], \"e589\", \"M343.9 213.4L245.3 312l65.4 65.4c7.9 7.9 11.1 19.4 8.4 30.3s-10.8 19.6-21.5 22.9l-256 80c-11.4 3.5-23.8 .5-32.2-7.9S-2.1 481.8 1.5 470.5l80-256c3.3-10.7 12-18.9 22.9-21.5s22.4 .5 30.3 8.4L200 266.7l98.6-98.6c-14.3-14.6-14.2-38 .3-52.5l95.4-95.4c26.9-26.9 70.5-26.9 97.5 0s26.9 70.5 0 97.5l-95.4 95.4c-14.5 14.5-37.9 14.6-52.5 .3z\"]\n};\nvar faD = {\n prefix: 'fas',\n iconName: 'd',\n icon: [384, 512, [100], \"44\", \"M0 96C0 60.7 28.7 32 64 32h96c123.7 0 224 100.3 224 224s-100.3 224-224 224H64c-35.3 0-64-28.7-64-64V96zm160 0H64V416h96c88.4 0 160-71.6 160-160s-71.6-160-160-160z\"]\n};\nvar faStapler = {\n prefix: 'fas',\n iconName: 'stapler',\n icon: [640, 512, [], \"e5af\", \"M640 299.3V304 432c0 26.5-21.5 48-48 48H512 448 64c-17.7 0-32-14.3-32-32s14.3-32 32-32H448V368H96c-17.7 0-32-14.3-32-32V219.4L33.8 214C14.2 210.5 0 193.5 0 173.7c0-8.9 2.9-17.5 8.2-24.6l35.6-47.5C76.7 57.8 128.2 32 182.9 32c27 0 53.6 6.3 77.8 18.4L586.9 213.5C619.5 229.7 640 263 640 299.3zM448 304V288L128 230.9V304H448z\"]\n};\nvar faMasksTheater = {\n prefix: 'fas',\n iconName: 'masks-theater',\n icon: [640, 512, [127917, \"theater-masks\"], \"f630\", \"M74.6 373.2c41.7 36.1 108 82.5 166.1 73.7c6.1-.9 12.1-2.5 18-4.5c-9.2-12.3-17.3-24.4-24.2-35.4c-21.9-35-28.8-75.2-25.9-113.6c-20.6 4.1-39.2 13-54.7 25.4c-6.5 5.2-16.3 1.3-14.8-7c6.4-33.5 33-60.9 68.2-66.3c2.6-.4 5.3-.7 7.9-.8l19.4-131.3c2-13.8 8-32.7 25-45.9C278.2 53.2 310.5 37 363.2 32.2c-.8-.7-1.6-1.4-2.4-2.1C340.6 14.5 288.4-11.5 175.7 5.6S20.5 63 5.7 83.9C0 91.9-.8 102 .6 111.8L24.8 276.1c5.5 37.3 21.5 72.6 49.8 97.2zm87.7-219.6c4.4-3.1 10.8-2 11.8 3.3c.1 .5 .2 1.1 .3 1.6c3.2 21.8-11.6 42-33.1 45.3s-41.5-11.8-44.7-33.5c-.1-.5-.1-1.1-.2-1.6c-.6-5.4 5.2-8.4 10.3-6.7c9 3 18.8 3.9 28.7 2.4s19.1-5.3 26.8-10.8zM261.6 390c29.4 46.9 79.5 110.9 137.6 119.7s124.5-37.5 166.1-73.7c28.3-24.5 44.3-59.8 49.8-97.2l24.2-164.3c1.4-9.8 .6-19.9-5.1-27.9c-14.8-20.9-57.3-61.2-170-78.3S299.4 77.2 279.2 92.8c-7.8 6-11.5 15.4-12.9 25.2L242.1 282.3c-5.5 37.3-.4 75.8 19.6 107.7zM404.5 235.3c-7.7-5.5-16.8-9.3-26.8-10.8s-19.8-.6-28.7 2.4c-5.1 1.7-10.9-1.3-10.3-6.7c.1-.5 .1-1.1 .2-1.6c3.2-21.8 23.2-36.8 44.7-33.5s36.3 23.5 33.1 45.3c-.1 .5-.2 1.1-.3 1.6c-1 5.3-7.4 6.4-11.8 3.3zm136.2 15.5c-1 5.3-7.4 6.4-11.8 3.3c-7.7-5.5-16.8-9.3-26.8-10.8s-19.8-.6-28.7 2.4c-5.1 1.7-10.9-1.3-10.3-6.7c.1-.5 .1-1.1 .2-1.6c3.2-21.8 23.2-36.8 44.7-33.5s36.3 23.5 33.1 45.3c-.1 .5-.2 1.1-.3 1.6zM530 350.2c-19.6 44.7-66.8 72.5-116.8 64.9s-87.1-48.2-93-96.7c-1-8.3 8.9-12.1 15.2-6.7c23.9 20.8 53.6 35.3 87 40.3s66.1 .1 94.9-12.8c7.6-3.4 16 3.2 12.6 10.9z\"]\n};\nvar faTheaterMasks = faMasksTheater;\nvar faKipSign = {\n prefix: 'fas',\n iconName: 'kip-sign',\n icon: [384, 512, [], \"e1c4\", \"M340.8 88.3c13.4-11.5 15-31.7 3.5-45.1s-31.7-15-45.1-3.5L128 186.4V64c0-17.7-14.3-32-32-32S64 46.3 64 64V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V325.6L299.2 472.3c13.4 11.5 33.6 9.9 45.1-3.5s9.9-33.6-3.5-45.1L182.5 288H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H182.5L340.8 88.3z\"]\n};\nvar faHandPointLeft = {\n prefix: 'fas',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M32 96C14.3 96 0 110.3 0 128s14.3 32 32 32l208 0V96L32 96zM192 288c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm-64-64c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zm96 160c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H224zm88-96l-.6 0c5.4 9.4 8.6 20.3 8.6 32c0 13.2-4 25.4-10.8 35.6c24.9 8.7 42.8 32.5 42.8 60.4c0 11.7-3.1 22.6-8.6 32H352c88.4 0 160-71.6 160-160V226.3c0-42.4-16.9-83.1-46.9-113.1l-11.6-11.6C429.5 77.5 396.9 64 363 64l-27 0c-35.3 0-64 28.7-64 64v88c0 22.1 17.9 40 40 40s40-17.9 40-40V160c0-8.8 7.2-16 16-16s16 7.2 16 16v56c0 39.8-32.2 72-72 72z\"]\n};\nvar faHandshakeSimple = {\n prefix: 'fas',\n iconName: 'handshake-simple',\n icon: [640, 512, [129309, \"handshake-alt\"], \"f4c6\", \"M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L550.2 352H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H516h-4-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48H48c-26.5 0-48 21.5-48 48V304c0 26.5 21.5 48 48 48H156.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123z\"]\n};\nvar faHandshakeAlt = faHandshakeSimple;\nvar faJetFighter = {\n prefix: 'fas',\n iconName: 'jet-fighter',\n icon: [640, 512, [\"fighter-jet\"], \"f0fb\", \"M160 24c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H280L384 192H500.4c7.7 0 15.3 1.4 22.5 4.1L625 234.4c9 3.4 15 12 15 21.6s-6 18.2-15 21.6L522.9 315.9c-7.2 2.7-14.8 4.1-22.5 4.1H384L280 464h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V320H160l-54.6 54.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32V288c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32H82.7c8.5 0 16.6 3.4 22.6 9.4L160 192h32V48h-8c-13.3 0-24-10.7-24-24zM80 240c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"]\n};\nvar faFighterJet = faJetFighter;\nvar faSquareShareNodes = {\n prefix: 'fas',\n iconName: 'square-share-nodes',\n icon: [448, 512, [\"share-alt-square\"], \"f1e1\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM384 160c0 35.3-28.7 64-64 64c-15.4 0-29.5-5.4-40.6-14.5L194.1 256l85.3 46.5c11-9.1 25.2-14.5 40.6-14.5c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-2.5 .1-4.9 .4-7.3L174.5 300c-11.7 12.3-28.2 20-46.5 20c-35.3 0-64-28.7-64-64s28.7-64 64-64c18.3 0 34.8 7.7 46.5 20l81.9-44.7c-.3-2.4-.4-4.9-.4-7.3c0-35.3 28.7-64 64-64s64 28.7 64 64z\"]\n};\nvar faShareAltSquare = faSquareShareNodes;\nvar faBarcode = {\n prefix: 'fas',\n iconName: 'barcode',\n icon: [512, 512, [], \"f02a\", \"M24 32C10.7 32 0 42.7 0 56V456c0 13.3 10.7 24 24 24H40c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H24zm88 0c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16zm72 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H184zm96 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H280zM448 56V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H472c-13.3 0-24 10.7-24 24zm-64-8V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faPlusMinus = {\n prefix: 'fas',\n iconName: 'plus-minus',\n icon: [384, 512, [], \"e43c\", \"M224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V144H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H160V320c0 17.7 14.3 32 32 32s32-14.3 32-32V208H336c17.7 0 32-14.3 32-32s-14.3-32-32-32H224V32zM0 480c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z\"]\n};\nvar faVideo = {\n prefix: 'fas',\n iconName: 'video',\n icon: [576, 512, [\"video-camera\"], \"f03d\", \"M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2V384c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64L416 337.1V320 192 174.9l14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z\"]\n};\nvar faVideoCamera = faVideo;\nvar faGraduationCap = {\n prefix: 'fas',\n iconName: 'graduation-cap',\n icon: [640, 512, [127891, \"mortar-board\"], \"f19d\", \"M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9v28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5V291.9c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z\"]\n};\nvar faMortarBoard = faGraduationCap;\nvar faHandHoldingMedical = {\n prefix: 'fas',\n iconName: 'hand-holding-medical',\n icon: [576, 512, [], \"e05c\", \"M224 24V80H168c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h56v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176h56c13.3 0 24-10.7 24-24V104c0-13.3-10.7-24-24-24H320V24c0-13.3-10.7-24-24-24H248c-13.3 0-24 10.7-24 24zM559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-367-8.2l.9 0 0 0c-.3 0-.6 0-.9 0z\"]\n};\nvar faPersonCircleCheck = {\n prefix: 'fas',\n iconName: 'person-circle-check',\n icon: [576, 512, [], \"e53e\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zm136 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faTurnUp = {\n prefix: 'fas',\n iconName: 'turn-up',\n icon: [384, 512, [10548, \"level-up-alt\"], \"f3bf\", \"M350 177.5c3.8-8.8 2-19-4.6-26l-136-144C204.9 2.7 198.6 0 192 0s-12.9 2.7-17.4 7.5l-136 144c-6.6 7-8.4 17.2-4.6 26s12.5 14.5 22 14.5h88l0 192c0 17.7-14.3 32-32 32H32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32l80 0c70.7 0 128-57.3 128-128l0-192h88c9.6 0 18.2-5.7 22-14.5z\"]\n};\nvar faLevelUpAlt = faTurnUp;\nvar icons = {\n fa0: fa0,\n fa1: fa1,\n fa2: fa2,\n fa3: fa3,\n fa4: fa4,\n fa5: fa5,\n fa6: fa6,\n fa7: fa7,\n fa8: fa8,\n fa9: fa9,\n faFillDrip: faFillDrip,\n faArrowsToCircle: faArrowsToCircle,\n faCircleChevronRight: faCircleChevronRight,\n faChevronCircleRight: faChevronCircleRight,\n faAt: faAt,\n faTrashCan: faTrashCan,\n faTrashAlt: faTrashAlt,\n faTextHeight: faTextHeight,\n faUserXmark: faUserXmark,\n faUserTimes: faUserTimes,\n faStethoscope: faStethoscope,\n faMessage: faMessage,\n faCommentAlt: faCommentAlt,\n faInfo: faInfo,\n faDownLeftAndUpRightToCenter: faDownLeftAndUpRightToCenter,\n faCompressAlt: faCompressAlt,\n faExplosion: faExplosion,\n faFileLines: faFileLines,\n faFileAlt: faFileAlt,\n faFileText: faFileText,\n faWaveSquare: faWaveSquare,\n faRing: faRing,\n faBuildingUn: faBuildingUn,\n faDiceThree: faDiceThree,\n faCalendarDays: faCalendarDays,\n faCalendarAlt: faCalendarAlt,\n faAnchorCircleCheck: faAnchorCircleCheck,\n faBuildingCircleArrowRight: faBuildingCircleArrowRight,\n faVolleyball: faVolleyball,\n faVolleyballBall: faVolleyballBall,\n faArrowsUpToLine: faArrowsUpToLine,\n faSortDown: faSortDown,\n faSortDesc: faSortDesc,\n faCircleMinus: faCircleMinus,\n faMinusCircle: faMinusCircle,\n faDoorOpen: faDoorOpen,\n faRightFromBracket: faRightFromBracket,\n faSignOutAlt: faSignOutAlt,\n faAtom: faAtom,\n faSoap: faSoap,\n faIcons: faIcons,\n faHeartMusicCameraBolt: faHeartMusicCameraBolt,\n faMicrophoneLinesSlash: faMicrophoneLinesSlash,\n faMicrophoneAltSlash: faMicrophoneAltSlash,\n faBridgeCircleCheck: faBridgeCircleCheck,\n faPumpMedical: faPumpMedical,\n faFingerprint: faFingerprint,\n faHandPointRight: faHandPointRight,\n faMagnifyingGlassLocation: faMagnifyingGlassLocation,\n faSearchLocation: faSearchLocation,\n faForwardStep: faForwardStep,\n faStepForward: faStepForward,\n faFaceSmileBeam: faFaceSmileBeam,\n faSmileBeam: faSmileBeam,\n faFlagCheckered: faFlagCheckered,\n faFootball: faFootball,\n faFootballBall: faFootballBall,\n faSchoolCircleExclamation: faSchoolCircleExclamation,\n faCrop: faCrop,\n faAnglesDown: faAnglesDown,\n faAngleDoubleDown: faAngleDoubleDown,\n faUsersRectangle: faUsersRectangle,\n faPeopleRoof: faPeopleRoof,\n faPeopleLine: faPeopleLine,\n faBeerMugEmpty: faBeerMugEmpty,\n faBeer: faBeer,\n faDiagramPredecessor: faDiagramPredecessor,\n faArrowUpLong: faArrowUpLong,\n faLongArrowUp: faLongArrowUp,\n faFireFlameSimple: faFireFlameSimple,\n faBurn: faBurn,\n faPerson: faPerson,\n faMale: faMale,\n faLaptop: faLaptop,\n faFileCsv: faFileCsv,\n faMenorah: faMenorah,\n faTruckPlane: faTruckPlane,\n faRecordVinyl: faRecordVinyl,\n faFaceGrinStars: faFaceGrinStars,\n faGrinStars: faGrinStars,\n faBong: faBong,\n faSpaghettiMonsterFlying: faSpaghettiMonsterFlying,\n faPastafarianism: faPastafarianism,\n faArrowDownUpAcrossLine: faArrowDownUpAcrossLine,\n faSpoon: faSpoon,\n faUtensilSpoon: faUtensilSpoon,\n faJarWheat: faJarWheat,\n faEnvelopesBulk: faEnvelopesBulk,\n faMailBulk: faMailBulk,\n faFileCircleExclamation: faFileCircleExclamation,\n faCircleH: faCircleH,\n faHospitalSymbol: faHospitalSymbol,\n faPager: faPager,\n faAddressBook: faAddressBook,\n faContactBook: faContactBook,\n faStrikethrough: faStrikethrough,\n faK: faK,\n faLandmarkFlag: faLandmarkFlag,\n faPencil: faPencil,\n faPencilAlt: faPencilAlt,\n faBackward: faBackward,\n faCaretRight: faCaretRight,\n faComments: faComments,\n faPaste: faPaste,\n faFileClipboard: faFileClipboard,\n faCodePullRequest: faCodePullRequest,\n faClipboardList: faClipboardList,\n faTruckRampBox: faTruckRampBox,\n faTruckLoading: faTruckLoading,\n faUserCheck: faUserCheck,\n faVialVirus: faVialVirus,\n faSheetPlastic: faSheetPlastic,\n faBlog: faBlog,\n faUserNinja: faUserNinja,\n faPersonArrowUpFromLine: faPersonArrowUpFromLine,\n faScrollTorah: faScrollTorah,\n faTorah: faTorah,\n faBroomBall: faBroomBall,\n faQuidditch: faQuidditch,\n faQuidditchBroomBall: faQuidditchBroomBall,\n faToggleOff: faToggleOff,\n faBoxArchive: faBoxArchive,\n faArchive: faArchive,\n faPersonDrowning: faPersonDrowning,\n faArrowDown91: faArrowDown91,\n faSortNumericDesc: faSortNumericDesc,\n faSortNumericDownAlt: faSortNumericDownAlt,\n faFaceGrinTongueSquint: faFaceGrinTongueSquint,\n faGrinTongueSquint: faGrinTongueSquint,\n faSprayCan: faSprayCan,\n faTruckMonster: faTruckMonster,\n faW: faW,\n faEarthAfrica: faEarthAfrica,\n faGlobeAfrica: faGlobeAfrica,\n faRainbow: faRainbow,\n faCircleNotch: faCircleNotch,\n faTabletScreenButton: faTabletScreenButton,\n faTabletAlt: faTabletAlt,\n faPaw: faPaw,\n faCloud: faCloud,\n faTrowelBricks: faTrowelBricks,\n faFaceFlushed: faFaceFlushed,\n faFlushed: faFlushed,\n faHospitalUser: faHospitalUser,\n faTentArrowLeftRight: faTentArrowLeftRight,\n faGavel: faGavel,\n faLegal: faLegal,\n faBinoculars: faBinoculars,\n faMicrophoneSlash: faMicrophoneSlash,\n faBoxTissue: faBoxTissue,\n faMotorcycle: faMotorcycle,\n faBellConcierge: faBellConcierge,\n faConciergeBell: faConciergeBell,\n faPenRuler: faPenRuler,\n faPencilRuler: faPencilRuler,\n faPeopleArrows: faPeopleArrows,\n faPeopleArrowsLeftRight: faPeopleArrowsLeftRight,\n faMarsAndVenusBurst: faMarsAndVenusBurst,\n faSquareCaretRight: faSquareCaretRight,\n faCaretSquareRight: faCaretSquareRight,\n faScissors: faScissors,\n faCut: faCut,\n faSunPlantWilt: faSunPlantWilt,\n faToiletsPortable: faToiletsPortable,\n faHockeyPuck: faHockeyPuck,\n faTable: faTable,\n faMagnifyingGlassArrowRight: faMagnifyingGlassArrowRight,\n faTachographDigital: faTachographDigital,\n faDigitalTachograph: faDigitalTachograph,\n faUsersSlash: faUsersSlash,\n faClover: faClover,\n faReply: faReply,\n faMailReply: faMailReply,\n faStarAndCrescent: faStarAndCrescent,\n faHouseFire: faHouseFire,\n faSquareMinus: faSquareMinus,\n faMinusSquare: faMinusSquare,\n faHelicopter: faHelicopter,\n faCompass: faCompass,\n faSquareCaretDown: faSquareCaretDown,\n faCaretSquareDown: faCaretSquareDown,\n faFileCircleQuestion: faFileCircleQuestion,\n faLaptopCode: faLaptopCode,\n faSwatchbook: faSwatchbook,\n faPrescriptionBottle: faPrescriptionBottle,\n faBars: faBars,\n faNavicon: faNavicon,\n faPeopleGroup: faPeopleGroup,\n faHourglassEnd: faHourglassEnd,\n faHourglass3: faHourglass3,\n faHeartCrack: faHeartCrack,\n faHeartBroken: faHeartBroken,\n faSquareUpRight: faSquareUpRight,\n faExternalLinkSquareAlt: faExternalLinkSquareAlt,\n faFaceKissBeam: faFaceKissBeam,\n faKissBeam: faKissBeam,\n faFilm: faFilm,\n faRulerHorizontal: faRulerHorizontal,\n faPeopleRobbery: faPeopleRobbery,\n faLightbulb: faLightbulb,\n faCaretLeft: faCaretLeft,\n faCircleExclamation: faCircleExclamation,\n faExclamationCircle: faExclamationCircle,\n faSchoolCircleXmark: faSchoolCircleXmark,\n faArrowRightFromBracket: faArrowRightFromBracket,\n faSignOut: faSignOut,\n faCircleChevronDown: faCircleChevronDown,\n faChevronCircleDown: faChevronCircleDown,\n faUnlockKeyhole: faUnlockKeyhole,\n faUnlockAlt: faUnlockAlt,\n faCloudShowersHeavy: faCloudShowersHeavy,\n faHeadphonesSimple: faHeadphonesSimple,\n faHeadphonesAlt: faHeadphonesAlt,\n faSitemap: faSitemap,\n faCircleDollarToSlot: faCircleDollarToSlot,\n faDonate: faDonate,\n faMemory: faMemory,\n faRoadSpikes: faRoadSpikes,\n faFireBurner: faFireBurner,\n faFlag: faFlag,\n faHanukiah: faHanukiah,\n faFeather: faFeather,\n faVolumeLow: faVolumeLow,\n faVolumeDown: faVolumeDown,\n faCommentSlash: faCommentSlash,\n faCloudSunRain: faCloudSunRain,\n faCompress: faCompress,\n faWheatAwn: faWheatAwn,\n faWheatAlt: faWheatAlt,\n faAnkh: faAnkh,\n faHandsHoldingChild: faHandsHoldingChild,\n faAsterisk: faAsterisk,\n faSquareCheck: faSquareCheck,\n faCheckSquare: faCheckSquare,\n faPesetaSign: faPesetaSign,\n faHeading: faHeading,\n faHeader: faHeader,\n faGhost: faGhost,\n faList: faList,\n faListSquares: faListSquares,\n faSquarePhoneFlip: faSquarePhoneFlip,\n faPhoneSquareAlt: faPhoneSquareAlt,\n faCartPlus: faCartPlus,\n faGamepad: faGamepad,\n faCircleDot: faCircleDot,\n faDotCircle: faDotCircle,\n faFaceDizzy: faFaceDizzy,\n faDizzy: faDizzy,\n faEgg: faEgg,\n faHouseMedicalCircleXmark: faHouseMedicalCircleXmark,\n faCampground: faCampground,\n faFolderPlus: faFolderPlus,\n faFutbol: faFutbol,\n faFutbolBall: faFutbolBall,\n faSoccerBall: faSoccerBall,\n faPaintbrush: faPaintbrush,\n faPaintBrush: faPaintBrush,\n faLock: faLock,\n faGasPump: faGasPump,\n faHotTubPerson: faHotTubPerson,\n faHotTub: faHotTub,\n faMapLocation: faMapLocation,\n faMapMarked: faMapMarked,\n faHouseFloodWater: faHouseFloodWater,\n faTree: faTree,\n faBridgeLock: faBridgeLock,\n faSackDollar: faSackDollar,\n faPenToSquare: faPenToSquare,\n faEdit: faEdit,\n faCarSide: faCarSide,\n faShareNodes: faShareNodes,\n faShareAlt: faShareAlt,\n faHeartCircleMinus: faHeartCircleMinus,\n faHourglassHalf: faHourglassHalf,\n faHourglass2: faHourglass2,\n faMicroscope: faMicroscope,\n faSink: faSink,\n faBagShopping: faBagShopping,\n faShoppingBag: faShoppingBag,\n faArrowDownZA: faArrowDownZA,\n faSortAlphaDesc: faSortAlphaDesc,\n faSortAlphaDownAlt: faSortAlphaDownAlt,\n faMitten: faMitten,\n faPersonRays: faPersonRays,\n faUsers: faUsers,\n faEyeSlash: faEyeSlash,\n faFlaskVial: faFlaskVial,\n faHand: faHand,\n faHandPaper: faHandPaper,\n faOm: faOm,\n faWorm: faWorm,\n faHouseCircleXmark: faHouseCircleXmark,\n faPlug: faPlug,\n faChevronUp: faChevronUp,\n faHandSpock: faHandSpock,\n faStopwatch: faStopwatch,\n faFaceKiss: faFaceKiss,\n faKiss: faKiss,\n faBridgeCircleXmark: faBridgeCircleXmark,\n faFaceGrinTongue: faFaceGrinTongue,\n faGrinTongue: faGrinTongue,\n faChessBishop: faChessBishop,\n faFaceGrinWink: faFaceGrinWink,\n faGrinWink: faGrinWink,\n faEarDeaf: faEarDeaf,\n faDeaf: faDeaf,\n faDeafness: faDeafness,\n faHardOfHearing: faHardOfHearing,\n faRoadCircleCheck: faRoadCircleCheck,\n faDiceFive: faDiceFive,\n faSquareRss: faSquareRss,\n faRssSquare: faRssSquare,\n faLandMineOn: faLandMineOn,\n faICursor: faICursor,\n faStamp: faStamp,\n faStairs: faStairs,\n faI: faI,\n faHryvniaSign: faHryvniaSign,\n faHryvnia: faHryvnia,\n faPills: faPills,\n faFaceGrinWide: faFaceGrinWide,\n faGrinAlt: faGrinAlt,\n faTooth: faTooth,\n faV: faV,\n faBangladeshiTakaSign: faBangladeshiTakaSign,\n faBicycle: faBicycle,\n faStaffSnake: faStaffSnake,\n faRodAsclepius: faRodAsclepius,\n faRodSnake: faRodSnake,\n faStaffAesculapius: faStaffAesculapius,\n faHeadSideCoughSlash: faHeadSideCoughSlash,\n faTruckMedical: faTruckMedical,\n faAmbulance: faAmbulance,\n faWheatAwnCircleExclamation: faWheatAwnCircleExclamation,\n faSnowman: faSnowman,\n faMortarPestle: faMortarPestle,\n faRoadBarrier: faRoadBarrier,\n faSchool: faSchool,\n faIgloo: faIgloo,\n faJoint: faJoint,\n faAngleRight: faAngleRight,\n faHorse: faHorse,\n faQ: faQ,\n faG: faG,\n faNotesMedical: faNotesMedical,\n faTemperatureHalf: faTemperatureHalf,\n faTemperature2: faTemperature2,\n faThermometer2: faThermometer2,\n faThermometerHalf: faThermometerHalf,\n faDongSign: faDongSign,\n faCapsules: faCapsules,\n faPooStorm: faPooStorm,\n faPooBolt: faPooBolt,\n faFaceFrownOpen: faFaceFrownOpen,\n faFrownOpen: faFrownOpen,\n faHandPointUp: faHandPointUp,\n faMoneyBill: faMoneyBill,\n faBookmark: faBookmark,\n faAlignJustify: faAlignJustify,\n faUmbrellaBeach: faUmbrellaBeach,\n faHelmetUn: faHelmetUn,\n faBullseye: faBullseye,\n faBacon: faBacon,\n faHandPointDown: faHandPointDown,\n faArrowUpFromBracket: faArrowUpFromBracket,\n faFolder: faFolder,\n faFolderBlank: faFolderBlank,\n faFileWaveform: faFileWaveform,\n faFileMedicalAlt: faFileMedicalAlt,\n faRadiation: faRadiation,\n faChartSimple: faChartSimple,\n faMarsStroke: faMarsStroke,\n faVial: faVial,\n faGauge: faGauge,\n faDashboard: faDashboard,\n faGaugeMed: faGaugeMed,\n faTachometerAltAverage: faTachometerAltAverage,\n faWandMagicSparkles: faWandMagicSparkles,\n faMagicWandSparkles: faMagicWandSparkles,\n faE: faE,\n faPenClip: faPenClip,\n faPenAlt: faPenAlt,\n faBridgeCircleExclamation: faBridgeCircleExclamation,\n faUser: faUser,\n faSchoolCircleCheck: faSchoolCircleCheck,\n faDumpster: faDumpster,\n faVanShuttle: faVanShuttle,\n faShuttleVan: faShuttleVan,\n faBuildingUser: faBuildingUser,\n faSquareCaretLeft: faSquareCaretLeft,\n faCaretSquareLeft: faCaretSquareLeft,\n faHighlighter: faHighlighter,\n faKey: faKey,\n faBullhorn: faBullhorn,\n faGlobe: faGlobe,\n faSynagogue: faSynagogue,\n faPersonHalfDress: faPersonHalfDress,\n faRoadBridge: faRoadBridge,\n faLocationArrow: faLocationArrow,\n faC: faC,\n faTabletButton: faTabletButton,\n faBuildingLock: faBuildingLock,\n faPizzaSlice: faPizzaSlice,\n faMoneyBillWave: faMoneyBillWave,\n faChartArea: faChartArea,\n faAreaChart: faAreaChart,\n faHouseFlag: faHouseFlag,\n faPersonCircleMinus: faPersonCircleMinus,\n faBan: faBan,\n faCancel: faCancel,\n faCameraRotate: faCameraRotate,\n faSprayCanSparkles: faSprayCanSparkles,\n faAirFreshener: faAirFreshener,\n faStar: faStar,\n faRepeat: faRepeat,\n faCross: faCross,\n faBox: faBox,\n faVenusMars: faVenusMars,\n faArrowPointer: faArrowPointer,\n faMousePointer: faMousePointer,\n faMaximize: faMaximize,\n faExpandArrowsAlt: faExpandArrowsAlt,\n faChargingStation: faChargingStation,\n faShapes: faShapes,\n faTriangleCircleSquare: faTriangleCircleSquare,\n faShuffle: faShuffle,\n faRandom: faRandom,\n faPersonRunning: faPersonRunning,\n faRunning: faRunning,\n faMobileRetro: faMobileRetro,\n faGripLinesVertical: faGripLinesVertical,\n faSpider: faSpider,\n faHandsBound: faHandsBound,\n faFileInvoiceDollar: faFileInvoiceDollar,\n faPlaneCircleExclamation: faPlaneCircleExclamation,\n faXRay: faXRay,\n faSpellCheck: faSpellCheck,\n faSlash: faSlash,\n faComputerMouse: faComputerMouse,\n faMouse: faMouse,\n faArrowRightToBracket: faArrowRightToBracket,\n faSignIn: faSignIn,\n faShopSlash: faShopSlash,\n faStoreAltSlash: faStoreAltSlash,\n faServer: faServer,\n faVirusCovidSlash: faVirusCovidSlash,\n faShopLock: faShopLock,\n faHourglassStart: faHourglassStart,\n faHourglass1: faHourglass1,\n faBlenderPhone: faBlenderPhone,\n faBuildingWheat: faBuildingWheat,\n faPersonBreastfeeding: faPersonBreastfeeding,\n faRightToBracket: faRightToBracket,\n faSignInAlt: faSignInAlt,\n faVenus: faVenus,\n faPassport: faPassport,\n faHeartPulse: faHeartPulse,\n faHeartbeat: faHeartbeat,\n faPeopleCarryBox: faPeopleCarryBox,\n faPeopleCarry: faPeopleCarry,\n faTemperatureHigh: faTemperatureHigh,\n faMicrochip: faMicrochip,\n faCrown: faCrown,\n faWeightHanging: faWeightHanging,\n faXmarksLines: faXmarksLines,\n faFilePrescription: faFilePrescription,\n faWeightScale: faWeightScale,\n faWeight: faWeight,\n faUserGroup: faUserGroup,\n faUserFriends: faUserFriends,\n faArrowUpAZ: faArrowUpAZ,\n faSortAlphaUp: faSortAlphaUp,\n faChessKnight: faChessKnight,\n faFaceLaughSquint: faFaceLaughSquint,\n faLaughSquint: faLaughSquint,\n faWheelchair: faWheelchair,\n faCircleArrowUp: faCircleArrowUp,\n faArrowCircleUp: faArrowCircleUp,\n faToggleOn: faToggleOn,\n faPersonWalking: faPersonWalking,\n faWalking: faWalking,\n faL: faL,\n faFire: faFire,\n faBedPulse: faBedPulse,\n faProcedures: faProcedures,\n faShuttleSpace: faShuttleSpace,\n faSpaceShuttle: faSpaceShuttle,\n faFaceLaugh: faFaceLaugh,\n faLaugh: faLaugh,\n faFolderOpen: faFolderOpen,\n faHeartCirclePlus: faHeartCirclePlus,\n faCodeFork: faCodeFork,\n faCity: faCity,\n faMicrophoneLines: faMicrophoneLines,\n faMicrophoneAlt: faMicrophoneAlt,\n faPepperHot: faPepperHot,\n faUnlock: faUnlock,\n faColonSign: faColonSign,\n faHeadset: faHeadset,\n faStoreSlash: faStoreSlash,\n faRoadCircleXmark: faRoadCircleXmark,\n faUserMinus: faUserMinus,\n faMarsStrokeUp: faMarsStrokeUp,\n faMarsStrokeV: faMarsStrokeV,\n faChampagneGlasses: faChampagneGlasses,\n faGlassCheers: faGlassCheers,\n faClipboard: faClipboard,\n faHouseCircleExclamation: faHouseCircleExclamation,\n faFileArrowUp: faFileArrowUp,\n faFileUpload: faFileUpload,\n faWifi: faWifi,\n faWifi3: faWifi3,\n faWifiStrong: faWifiStrong,\n faBath: faBath,\n faBathtub: faBathtub,\n faUnderline: faUnderline,\n faUserPen: faUserPen,\n faUserEdit: faUserEdit,\n faSignature: faSignature,\n faStroopwafel: faStroopwafel,\n faBold: faBold,\n faAnchorLock: faAnchorLock,\n faBuildingNgo: faBuildingNgo,\n faManatSign: faManatSign,\n faNotEqual: faNotEqual,\n faBorderTopLeft: faBorderTopLeft,\n faBorderStyle: faBorderStyle,\n faMapLocationDot: faMapLocationDot,\n faMapMarkedAlt: faMapMarkedAlt,\n faJedi: faJedi,\n faSquarePollVertical: faSquarePollVertical,\n faPoll: faPoll,\n faMugHot: faMugHot,\n faCarBattery: faCarBattery,\n faBatteryCar: faBatteryCar,\n faGift: faGift,\n faDiceTwo: faDiceTwo,\n faChessQueen: faChessQueen,\n faGlasses: faGlasses,\n faChessBoard: faChessBoard,\n faBuildingCircleCheck: faBuildingCircleCheck,\n faPersonChalkboard: faPersonChalkboard,\n faMarsStrokeRight: faMarsStrokeRight,\n faMarsStrokeH: faMarsStrokeH,\n faHandBackFist: faHandBackFist,\n faHandRock: faHandRock,\n faSquareCaretUp: faSquareCaretUp,\n faCaretSquareUp: faCaretSquareUp,\n faCloudShowersWater: faCloudShowersWater,\n faChartBar: faChartBar,\n faBarChart: faBarChart,\n faHandsBubbles: faHandsBubbles,\n faHandsWash: faHandsWash,\n faLessThanEqual: faLessThanEqual,\n faTrain: faTrain,\n faEyeLowVision: faEyeLowVision,\n faLowVision: faLowVision,\n faCrow: faCrow,\n faSailboat: faSailboat,\n faWindowRestore: faWindowRestore,\n faSquarePlus: faSquarePlus,\n faPlusSquare: faPlusSquare,\n faToriiGate: faToriiGate,\n faFrog: faFrog,\n faBucket: faBucket,\n faImage: faImage,\n faMicrophone: faMicrophone,\n faCow: faCow,\n faCaretUp: faCaretUp,\n faScrewdriver: faScrewdriver,\n faFolderClosed: faFolderClosed,\n faHouseTsunami: faHouseTsunami,\n faSquareNfi: faSquareNfi,\n faArrowUpFromGroundWater: faArrowUpFromGroundWater,\n faMartiniGlass: faMartiniGlass,\n faGlassMartiniAlt: faGlassMartiniAlt,\n faRotateLeft: faRotateLeft,\n faRotateBack: faRotateBack,\n faRotateBackward: faRotateBackward,\n faUndoAlt: faUndoAlt,\n faTableColumns: faTableColumns,\n faColumns: faColumns,\n faLemon: faLemon,\n faHeadSideMask: faHeadSideMask,\n faHandshake: faHandshake,\n faGem: faGem,\n faDolly: faDolly,\n faDollyBox: faDollyBox,\n faSmoking: faSmoking,\n faMinimize: faMinimize,\n faCompressArrowsAlt: faCompressArrowsAlt,\n faMonument: faMonument,\n faSnowplow: faSnowplow,\n faAnglesRight: faAnglesRight,\n faAngleDoubleRight: faAngleDoubleRight,\n faCannabis: faCannabis,\n faCirclePlay: faCirclePlay,\n faPlayCircle: faPlayCircle,\n faTablets: faTablets,\n faEthernet: faEthernet,\n faEuroSign: faEuroSign,\n faEur: faEur,\n faEuro: faEuro,\n faChair: faChair,\n faCircleCheck: faCircleCheck,\n faCheckCircle: faCheckCircle,\n faCircleStop: faCircleStop,\n faStopCircle: faStopCircle,\n faCompassDrafting: faCompassDrafting,\n faDraftingCompass: faDraftingCompass,\n faPlateWheat: faPlateWheat,\n faIcicles: faIcicles,\n faPersonShelter: faPersonShelter,\n faNeuter: faNeuter,\n faIdBadge: faIdBadge,\n faMarker: faMarker,\n faFaceLaughBeam: faFaceLaughBeam,\n faLaughBeam: faLaughBeam,\n faHelicopterSymbol: faHelicopterSymbol,\n faUniversalAccess: faUniversalAccess,\n faCircleChevronUp: faCircleChevronUp,\n faChevronCircleUp: faChevronCircleUp,\n faLariSign: faLariSign,\n faVolcano: faVolcano,\n faPersonWalkingDashedLineArrowRight: faPersonWalkingDashedLineArrowRight,\n faSterlingSign: faSterlingSign,\n faGbp: faGbp,\n faPoundSign: faPoundSign,\n faViruses: faViruses,\n faSquarePersonConfined: faSquarePersonConfined,\n faUserTie: faUserTie,\n faArrowDownLong: faArrowDownLong,\n faLongArrowDown: faLongArrowDown,\n faTentArrowDownToLine: faTentArrowDownToLine,\n faCertificate: faCertificate,\n faReplyAll: faReplyAll,\n faMailReplyAll: faMailReplyAll,\n faSuitcase: faSuitcase,\n faPersonSkating: faPersonSkating,\n faSkating: faSkating,\n faFilterCircleDollar: faFilterCircleDollar,\n faFunnelDollar: faFunnelDollar,\n faCameraRetro: faCameraRetro,\n faCircleArrowDown: faCircleArrowDown,\n faArrowCircleDown: faArrowCircleDown,\n faFileImport: faFileImport,\n faArrowRightToFile: faArrowRightToFile,\n faSquareArrowUpRight: faSquareArrowUpRight,\n faExternalLinkSquare: faExternalLinkSquare,\n faBoxOpen: faBoxOpen,\n faScroll: faScroll,\n faSpa: faSpa,\n faLocationPinLock: faLocationPinLock,\n faPause: faPause,\n faHillAvalanche: faHillAvalanche,\n faTemperatureEmpty: faTemperatureEmpty,\n faTemperature0: faTemperature0,\n faThermometer0: faThermometer0,\n faThermometerEmpty: faThermometerEmpty,\n faBomb: faBomb,\n faRegistered: faRegistered,\n faAddressCard: faAddressCard,\n faContactCard: faContactCard,\n faVcard: faVcard,\n faScaleUnbalancedFlip: faScaleUnbalancedFlip,\n faBalanceScaleRight: faBalanceScaleRight,\n faSubscript: faSubscript,\n faDiamondTurnRight: faDiamondTurnRight,\n faDirections: faDirections,\n faBurst: faBurst,\n faHouseLaptop: faHouseLaptop,\n faLaptopHouse: faLaptopHouse,\n faFaceTired: faFaceTired,\n faTired: faTired,\n faMoneyBills: faMoneyBills,\n faSmog: faSmog,\n faCrutch: faCrutch,\n faFontAwesome: faFontAwesome,\n faFontAwesomeFlag: faFontAwesomeFlag,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faCloudArrowUp: faCloudArrowUp,\n faCloudUpload: faCloudUpload,\n faCloudUploadAlt: faCloudUploadAlt,\n faPalette: faPalette,\n faArrowsTurnRight: faArrowsTurnRight,\n faVest: faVest,\n faFerry: faFerry,\n faArrowsDownToPeople: faArrowsDownToPeople,\n faSeedling: faSeedling,\n faSprout: faSprout,\n faLeftRight: faLeftRight,\n faArrowsAltH: faArrowsAltH,\n faBoxesPacking: faBoxesPacking,\n faCircleArrowLeft: faCircleArrowLeft,\n faArrowCircleLeft: faArrowCircleLeft,\n faGroupArrowsRotate: faGroupArrowsRotate,\n faBowlFood: faBowlFood,\n faCandyCane: faCandyCane,\n faArrowDownWideShort: faArrowDownWideShort,\n faSortAmountAsc: faSortAmountAsc,\n faSortAmountDown: faSortAmountDown,\n faCloudBolt: faCloudBolt,\n faThunderstorm: faThunderstorm,\n faTextSlash: faTextSlash,\n faRemoveFormat: faRemoveFormat,\n faFaceSmileWink: faFaceSmileWink,\n faSmileWink: faSmileWink,\n faFileWord: faFileWord,\n faFilePowerpoint: faFilePowerpoint,\n faArrowsLeftRight: faArrowsLeftRight,\n faArrowsH: faArrowsH,\n faHouseLock: faHouseLock,\n faCloudArrowDown: faCloudArrowDown,\n faCloudDownload: faCloudDownload,\n faCloudDownloadAlt: faCloudDownloadAlt,\n faChildren: faChildren,\n faChalkboard: faChalkboard,\n faBlackboard: faBlackboard,\n faUserLargeSlash: faUserLargeSlash,\n faUserAltSlash: faUserAltSlash,\n faEnvelopeOpen: faEnvelopeOpen,\n faHandshakeSimpleSlash: faHandshakeSimpleSlash,\n faHandshakeAltSlash: faHandshakeAltSlash,\n faMattressPillow: faMattressPillow,\n faGuaraniSign: faGuaraniSign,\n faArrowsRotate: faArrowsRotate,\n faRefresh: faRefresh,\n faSync: faSync,\n faFireExtinguisher: faFireExtinguisher,\n faCruzeiroSign: faCruzeiroSign,\n faGreaterThanEqual: faGreaterThanEqual,\n faShieldHalved: faShieldHalved,\n faShieldAlt: faShieldAlt,\n faBookAtlas: faBookAtlas,\n faAtlas: faAtlas,\n faVirus: faVirus,\n faEnvelopeCircleCheck: faEnvelopeCircleCheck,\n faLayerGroup: faLayerGroup,\n faArrowsToDot: faArrowsToDot,\n faArchway: faArchway,\n faHeartCircleCheck: faHeartCircleCheck,\n faHouseChimneyCrack: faHouseChimneyCrack,\n faHouseDamage: faHouseDamage,\n faFileZipper: faFileZipper,\n faFileArchive: faFileArchive,\n faSquare: faSquare,\n faMartiniGlassEmpty: faMartiniGlassEmpty,\n faGlassMartini: faGlassMartini,\n faCouch: faCouch,\n faCediSign: faCediSign,\n faItalic: faItalic,\n faChurch: faChurch,\n faCommentsDollar: faCommentsDollar,\n faDemocrat: faDemocrat,\n faZ: faZ,\n faPersonSkiing: faPersonSkiing,\n faSkiing: faSkiing,\n faRoadLock: faRoadLock,\n faA: faA,\n faTemperatureArrowDown: faTemperatureArrowDown,\n faTemperatureDown: faTemperatureDown,\n faFeatherPointed: faFeatherPointed,\n faFeatherAlt: faFeatherAlt,\n faP: faP,\n faSnowflake: faSnowflake,\n faNewspaper: faNewspaper,\n faRectangleAd: faRectangleAd,\n faAd: faAd,\n faCircleArrowRight: faCircleArrowRight,\n faArrowCircleRight: faArrowCircleRight,\n faFilterCircleXmark: faFilterCircleXmark,\n faLocust: faLocust,\n faSort: faSort,\n faUnsorted: faUnsorted,\n faListOl: faListOl,\n faList12: faList12,\n faListNumeric: faListNumeric,\n faPersonDressBurst: faPersonDressBurst,\n faMoneyCheckDollar: faMoneyCheckDollar,\n faMoneyCheckAlt: faMoneyCheckAlt,\n faVectorSquare: faVectorSquare,\n faBreadSlice: faBreadSlice,\n faLanguage: faLanguage,\n faFaceKissWinkHeart: faFaceKissWinkHeart,\n faKissWinkHeart: faKissWinkHeart,\n faFilter: faFilter,\n faQuestion: faQuestion,\n faFileSignature: faFileSignature,\n faUpDownLeftRight: faUpDownLeftRight,\n faArrowsAlt: faArrowsAlt,\n faHouseChimneyUser: faHouseChimneyUser,\n faHandHoldingHeart: faHandHoldingHeart,\n faPuzzlePiece: faPuzzlePiece,\n faMoneyCheck: faMoneyCheck,\n faStarHalfStroke: faStarHalfStroke,\n faStarHalfAlt: faStarHalfAlt,\n faCode: faCode,\n faWhiskeyGlass: faWhiskeyGlass,\n faGlassWhiskey: faGlassWhiskey,\n faBuildingCircleExclamation: faBuildingCircleExclamation,\n faMagnifyingGlassChart: faMagnifyingGlassChart,\n faArrowUpRightFromSquare: faArrowUpRightFromSquare,\n faExternalLink: faExternalLink,\n faCubesStacked: faCubesStacked,\n faWonSign: faWonSign,\n faKrw: faKrw,\n faWon: faWon,\n faVirusCovid: faVirusCovid,\n faAustralSign: faAustralSign,\n faF: faF,\n faLeaf: faLeaf,\n faRoad: faRoad,\n faTaxi: faTaxi,\n faCab: faCab,\n faPersonCirclePlus: faPersonCirclePlus,\n faChartPie: faChartPie,\n faPieChart: faPieChart,\n faBoltLightning: faBoltLightning,\n faSackXmark: faSackXmark,\n faFileExcel: faFileExcel,\n faFileContract: faFileContract,\n faFishFins: faFishFins,\n faBuildingFlag: faBuildingFlag,\n faFaceGrinBeam: faFaceGrinBeam,\n faGrinBeam: faGrinBeam,\n faObjectUngroup: faObjectUngroup,\n faPoop: faPoop,\n faLocationPin: faLocationPin,\n faMapMarker: faMapMarker,\n faKaaba: faKaaba,\n faToiletPaper: faToiletPaper,\n faHelmetSafety: faHelmetSafety,\n faHardHat: faHardHat,\n faHatHard: faHatHard,\n faEject: faEject,\n faCircleRight: faCircleRight,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faPlaneCircleCheck: faPlaneCircleCheck,\n faFaceRollingEyes: faFaceRollingEyes,\n faMehRollingEyes: faMehRollingEyes,\n faObjectGroup: faObjectGroup,\n faChartLine: faChartLine,\n faLineChart: faLineChart,\n faMaskVentilator: faMaskVentilator,\n faArrowRight: faArrowRight,\n faSignsPost: faSignsPost,\n faMapSigns: faMapSigns,\n faCashRegister: faCashRegister,\n faPersonCircleQuestion: faPersonCircleQuestion,\n faH: faH,\n faTarp: faTarp,\n faScrewdriverWrench: faScrewdriverWrench,\n faTools: faTools,\n faArrowsToEye: faArrowsToEye,\n faPlugCircleBolt: faPlugCircleBolt,\n faHeart: faHeart,\n faMarsAndVenus: faMarsAndVenus,\n faHouseUser: faHouseUser,\n faHomeUser: faHomeUser,\n faDumpsterFire: faDumpsterFire,\n faHouseCrack: faHouseCrack,\n faMartiniGlassCitrus: faMartiniGlassCitrus,\n faCocktail: faCocktail,\n faFaceSurprise: faFaceSurprise,\n faSurprise: faSurprise,\n faBottleWater: faBottleWater,\n faCirclePause: faCirclePause,\n faPauseCircle: faPauseCircle,\n faToiletPaperSlash: faToiletPaperSlash,\n faAppleWhole: faAppleWhole,\n faAppleAlt: faAppleAlt,\n faKitchenSet: faKitchenSet,\n faR: faR,\n faTemperatureQuarter: faTemperatureQuarter,\n faTemperature1: faTemperature1,\n faThermometer1: faThermometer1,\n faThermometerQuarter: faThermometerQuarter,\n faCube: faCube,\n faBitcoinSign: faBitcoinSign,\n faShieldDog: faShieldDog,\n faSolarPanel: faSolarPanel,\n faLockOpen: faLockOpen,\n faElevator: faElevator,\n faMoneyBillTransfer: faMoneyBillTransfer,\n faMoneyBillTrendUp: faMoneyBillTrendUp,\n faHouseFloodWaterCircleArrowRight: faHouseFloodWaterCircleArrowRight,\n faSquarePollHorizontal: faSquarePollHorizontal,\n faPollH: faPollH,\n faCircle: faCircle,\n faBackwardFast: faBackwardFast,\n faFastBackward: faFastBackward,\n faRecycle: faRecycle,\n faUserAstronaut: faUserAstronaut,\n faPlaneSlash: faPlaneSlash,\n faTrademark: faTrademark,\n faBasketball: faBasketball,\n faBasketballBall: faBasketballBall,\n faSatelliteDish: faSatelliteDish,\n faCircleUp: faCircleUp,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faMobileScreenButton: faMobileScreenButton,\n faMobileAlt: faMobileAlt,\n faVolumeHigh: faVolumeHigh,\n faVolumeUp: faVolumeUp,\n faUsersRays: faUsersRays,\n faWallet: faWallet,\n faClipboardCheck: faClipboardCheck,\n faFileAudio: faFileAudio,\n faBurger: faBurger,\n faHamburger: faHamburger,\n faWrench: faWrench,\n faBugs: faBugs,\n faRupeeSign: faRupeeSign,\n faRupee: faRupee,\n faFileImage: faFileImage,\n faCircleQuestion: faCircleQuestion,\n faQuestionCircle: faQuestionCircle,\n faPlaneDeparture: faPlaneDeparture,\n faHandshakeSlash: faHandshakeSlash,\n faBookBookmark: faBookBookmark,\n faCodeBranch: faCodeBranch,\n faHatCowboy: faHatCowboy,\n faBridge: faBridge,\n faPhoneFlip: faPhoneFlip,\n faPhoneAlt: faPhoneAlt,\n faTruckFront: faTruckFront,\n faCat: faCat,\n faAnchorCircleExclamation: faAnchorCircleExclamation,\n faTruckField: faTruckField,\n faRoute: faRoute,\n faClipboardQuestion: faClipboardQuestion,\n faPanorama: faPanorama,\n faCommentMedical: faCommentMedical,\n faTeethOpen: faTeethOpen,\n faFileCircleMinus: faFileCircleMinus,\n faTags: faTags,\n faWineGlass: faWineGlass,\n faForwardFast: faForwardFast,\n faFastForward: faFastForward,\n faFaceMehBlank: faFaceMehBlank,\n faMehBlank: faMehBlank,\n faSquareParking: faSquareParking,\n faParking: faParking,\n faHouseSignal: faHouseSignal,\n faBarsProgress: faBarsProgress,\n faTasksAlt: faTasksAlt,\n faFaucetDrip: faFaucetDrip,\n faCartFlatbed: faCartFlatbed,\n faDollyFlatbed: faDollyFlatbed,\n faBanSmoking: faBanSmoking,\n faSmokingBan: faSmokingBan,\n faTerminal: faTerminal,\n faMobileButton: faMobileButton,\n faHouseMedicalFlag: faHouseMedicalFlag,\n faBasketShopping: faBasketShopping,\n faShoppingBasket: faShoppingBasket,\n faTape: faTape,\n faBusSimple: faBusSimple,\n faBusAlt: faBusAlt,\n faEye: faEye,\n faFaceSadCry: faFaceSadCry,\n faSadCry: faSadCry,\n faAudioDescription: faAudioDescription,\n faPersonMilitaryToPerson: faPersonMilitaryToPerson,\n faFileShield: faFileShield,\n faUserSlash: faUserSlash,\n faPen: faPen,\n faTowerObservation: faTowerObservation,\n faFileCode: faFileCode,\n faSignal: faSignal,\n faSignal5: faSignal5,\n faSignalPerfect: faSignalPerfect,\n faBus: faBus,\n faHeartCircleXmark: faHeartCircleXmark,\n faHouseChimney: faHouseChimney,\n faHomeLg: faHomeLg,\n faWindowMaximize: faWindowMaximize,\n faFaceFrown: faFaceFrown,\n faFrown: faFrown,\n faPrescription: faPrescription,\n faShop: faShop,\n faStoreAlt: faStoreAlt,\n faFloppyDisk: faFloppyDisk,\n faSave: faSave,\n faVihara: faVihara,\n faScaleUnbalanced: faScaleUnbalanced,\n faBalanceScaleLeft: faBalanceScaleLeft,\n faSortUp: faSortUp,\n faSortAsc: faSortAsc,\n faCommentDots: faCommentDots,\n faCommenting: faCommenting,\n faPlantWilt: faPlantWilt,\n faDiamond: faDiamond,\n faFaceGrinSquint: faFaceGrinSquint,\n faGrinSquint: faGrinSquint,\n faHandHoldingDollar: faHandHoldingDollar,\n faHandHoldingUsd: faHandHoldingUsd,\n faBacterium: faBacterium,\n faHandPointer: faHandPointer,\n faDrumSteelpan: faDrumSteelpan,\n faHandScissors: faHandScissors,\n faHandsPraying: faHandsPraying,\n faPrayingHands: faPrayingHands,\n faArrowRotateRight: faArrowRotateRight,\n faArrowRightRotate: faArrowRightRotate,\n faArrowRotateForward: faArrowRotateForward,\n faRedo: faRedo,\n faBiohazard: faBiohazard,\n faLocationCrosshairs: faLocationCrosshairs,\n faLocation: faLocation,\n faMarsDouble: faMarsDouble,\n faChildDress: faChildDress,\n faUsersBetweenLines: faUsersBetweenLines,\n faLungsVirus: faLungsVirus,\n faFaceGrinTears: faFaceGrinTears,\n faGrinTears: faGrinTears,\n faPhone: faPhone,\n faCalendarXmark: faCalendarXmark,\n faCalendarTimes: faCalendarTimes,\n faChildReaching: faChildReaching,\n faHeadSideVirus: faHeadSideVirus,\n faUserGear: faUserGear,\n faUserCog: faUserCog,\n faArrowUp19: faArrowUp19,\n faSortNumericUp: faSortNumericUp,\n faDoorClosed: faDoorClosed,\n faShieldVirus: faShieldVirus,\n faDiceSix: faDiceSix,\n faMosquitoNet: faMosquitoNet,\n faBridgeWater: faBridgeWater,\n faPersonBooth: faPersonBooth,\n faTextWidth: faTextWidth,\n faHatWizard: faHatWizard,\n faPenFancy: faPenFancy,\n faPersonDigging: faPersonDigging,\n faDigging: faDigging,\n faTrash: faTrash,\n faGaugeSimple: faGaugeSimple,\n faGaugeSimpleMed: faGaugeSimpleMed,\n faTachometerAverage: faTachometerAverage,\n faBookMedical: faBookMedical,\n faPoo: faPoo,\n faQuoteRight: faQuoteRight,\n faQuoteRightAlt: faQuoteRightAlt,\n faShirt: faShirt,\n faTShirt: faTShirt,\n faTshirt: faTshirt,\n faCubes: faCubes,\n faDivide: faDivide,\n faTengeSign: faTengeSign,\n faTenge: faTenge,\n faHeadphones: faHeadphones,\n faHandsHolding: faHandsHolding,\n faHandsClapping: faHandsClapping,\n faRepublican: faRepublican,\n faArrowLeft: faArrowLeft,\n faPersonCircleXmark: faPersonCircleXmark,\n faRuler: faRuler,\n faAlignLeft: faAlignLeft,\n faDiceD6: faDiceD6,\n faRestroom: faRestroom,\n faJ: faJ,\n faUsersViewfinder: faUsersViewfinder,\n faFileVideo: faFileVideo,\n faUpRightFromSquare: faUpRightFromSquare,\n faExternalLinkAlt: faExternalLinkAlt,\n faTableCells: faTableCells,\n faTh: faTh,\n faFilePdf: faFilePdf,\n faBookBible: faBookBible,\n faBible: faBible,\n faO: faO,\n faSuitcaseMedical: faSuitcaseMedical,\n faMedkit: faMedkit,\n faUserSecret: faUserSecret,\n faOtter: faOtter,\n faPersonDress: faPersonDress,\n faFemale: faFemale,\n faCommentDollar: faCommentDollar,\n faBusinessTime: faBusinessTime,\n faBriefcaseClock: faBriefcaseClock,\n faTableCellsLarge: faTableCellsLarge,\n faThLarge: faThLarge,\n faBookTanakh: faBookTanakh,\n faTanakh: faTanakh,\n faPhoneVolume: faPhoneVolume,\n faVolumeControlPhone: faVolumeControlPhone,\n faHatCowboySide: faHatCowboySide,\n faClipboardUser: faClipboardUser,\n faChild: faChild,\n faLiraSign: faLiraSign,\n faSatellite: faSatellite,\n faPlaneLock: faPlaneLock,\n faTag: faTag,\n faComment: faComment,\n faCakeCandles: faCakeCandles,\n faBirthdayCake: faBirthdayCake,\n faCake: faCake,\n faEnvelope: faEnvelope,\n faAnglesUp: faAnglesUp,\n faAngleDoubleUp: faAngleDoubleUp,\n faPaperclip: faPaperclip,\n faArrowRightToCity: faArrowRightToCity,\n faRibbon: faRibbon,\n faLungs: faLungs,\n faArrowUp91: faArrowUp91,\n faSortNumericUpAlt: faSortNumericUpAlt,\n faLitecoinSign: faLitecoinSign,\n faBorderNone: faBorderNone,\n faCircleNodes: faCircleNodes,\n faParachuteBox: faParachuteBox,\n faIndent: faIndent,\n faTruckFieldUn: faTruckFieldUn,\n faHourglass: faHourglass,\n faHourglassEmpty: faHourglassEmpty,\n faMountain: faMountain,\n faUserDoctor: faUserDoctor,\n faUserMd: faUserMd,\n faCircleInfo: faCircleInfo,\n faInfoCircle: faInfoCircle,\n faCloudMeatball: faCloudMeatball,\n faCamera: faCamera,\n faCameraAlt: faCameraAlt,\n faSquareVirus: faSquareVirus,\n faMeteor: faMeteor,\n faCarOn: faCarOn,\n faSleigh: faSleigh,\n faArrowDown19: faArrowDown19,\n faSortNumericAsc: faSortNumericAsc,\n faSortNumericDown: faSortNumericDown,\n faHandHoldingDroplet: faHandHoldingDroplet,\n faHandHoldingWater: faHandHoldingWater,\n faWater: faWater,\n faCalendarCheck: faCalendarCheck,\n faBraille: faBraille,\n faPrescriptionBottleMedical: faPrescriptionBottleMedical,\n faPrescriptionBottleAlt: faPrescriptionBottleAlt,\n faLandmark: faLandmark,\n faTruck: faTruck,\n faCrosshairs: faCrosshairs,\n faPersonCane: faPersonCane,\n faTent: faTent,\n faVestPatches: faVestPatches,\n faCheckDouble: faCheckDouble,\n faArrowDownAZ: faArrowDownAZ,\n faSortAlphaAsc: faSortAlphaAsc,\n faSortAlphaDown: faSortAlphaDown,\n faMoneyBillWheat: faMoneyBillWheat,\n faCookie: faCookie,\n faArrowRotateLeft: faArrowRotateLeft,\n faArrowLeftRotate: faArrowLeftRotate,\n faArrowRotateBack: faArrowRotateBack,\n faArrowRotateBackward: faArrowRotateBackward,\n faUndo: faUndo,\n faHardDrive: faHardDrive,\n faHdd: faHdd,\n faFaceGrinSquintTears: faFaceGrinSquintTears,\n faGrinSquintTears: faGrinSquintTears,\n faDumbbell: faDumbbell,\n faRectangleList: faRectangleList,\n faListAlt: faListAlt,\n faTarpDroplet: faTarpDroplet,\n faHouseMedicalCircleCheck: faHouseMedicalCircleCheck,\n faPersonSkiingNordic: faPersonSkiingNordic,\n faSkiingNordic: faSkiingNordic,\n faCalendarPlus: faCalendarPlus,\n faPlaneArrival: faPlaneArrival,\n faCircleLeft: faCircleLeft,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faTrainSubway: faTrainSubway,\n faSubway: faSubway,\n faChartGantt: faChartGantt,\n faIndianRupeeSign: faIndianRupeeSign,\n faIndianRupee: faIndianRupee,\n faInr: faInr,\n faCropSimple: faCropSimple,\n faCropAlt: faCropAlt,\n faMoneyBill1: faMoneyBill1,\n faMoneyBillAlt: faMoneyBillAlt,\n faLeftLong: faLeftLong,\n faLongArrowAltLeft: faLongArrowAltLeft,\n faDna: faDna,\n faVirusSlash: faVirusSlash,\n faMinus: faMinus,\n faSubtract: faSubtract,\n faChess: faChess,\n faArrowLeftLong: faArrowLeftLong,\n faLongArrowLeft: faLongArrowLeft,\n faPlugCircleCheck: faPlugCircleCheck,\n faStreetView: faStreetView,\n faFrancSign: faFrancSign,\n faVolumeOff: faVolumeOff,\n faHandsAslInterpreting: faHandsAslInterpreting,\n faAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n faAslInterpreting: faAslInterpreting,\n faHandsAmericanSignLanguageInterpreting: faHandsAmericanSignLanguageInterpreting,\n faGear: faGear,\n faCog: faCog,\n faDropletSlash: faDropletSlash,\n faTintSlash: faTintSlash,\n faMosque: faMosque,\n faMosquito: faMosquito,\n faStarOfDavid: faStarOfDavid,\n faPersonMilitaryRifle: faPersonMilitaryRifle,\n faCartShopping: faCartShopping,\n faShoppingCart: faShoppingCart,\n faVials: faVials,\n faPlugCirclePlus: faPlugCirclePlus,\n faPlaceOfWorship: faPlaceOfWorship,\n faGripVertical: faGripVertical,\n faArrowTurnUp: faArrowTurnUp,\n faLevelUp: faLevelUp,\n faU: faU,\n faSquareRootVariable: faSquareRootVariable,\n faSquareRootAlt: faSquareRootAlt,\n faClock: faClock,\n faClockFour: faClockFour,\n faBackwardStep: faBackwardStep,\n faStepBackward: faStepBackward,\n faPallet: faPallet,\n faFaucet: faFaucet,\n faBaseballBatBall: faBaseballBatBall,\n faS: faS,\n faTimeline: faTimeline,\n faKeyboard: faKeyboard,\n faCaretDown: faCaretDown,\n faHouseChimneyMedical: faHouseChimneyMedical,\n faClinicMedical: faClinicMedical,\n faTemperatureThreeQuarters: faTemperatureThreeQuarters,\n faTemperature3: faTemperature3,\n faThermometer3: faThermometer3,\n faThermometerThreeQuarters: faThermometerThreeQuarters,\n faMobileScreen: faMobileScreen,\n faMobileAndroidAlt: faMobileAndroidAlt,\n faPlaneUp: faPlaneUp,\n faPiggyBank: faPiggyBank,\n faBatteryHalf: faBatteryHalf,\n faBattery3: faBattery3,\n faMountainCity: faMountainCity,\n faCoins: faCoins,\n faKhanda: faKhanda,\n faSliders: faSliders,\n faSlidersH: faSlidersH,\n faFolderTree: faFolderTree,\n faNetworkWired: faNetworkWired,\n faMapPin: faMapPin,\n faHamsa: faHamsa,\n faCentSign: faCentSign,\n faFlask: faFlask,\n faPersonPregnant: faPersonPregnant,\n faWandSparkles: faWandSparkles,\n faEllipsisVertical: faEllipsisVertical,\n faEllipsisV: faEllipsisV,\n faTicket: faTicket,\n faPowerOff: faPowerOff,\n faRightLong: faRightLong,\n faLongArrowAltRight: faLongArrowAltRight,\n faFlagUsa: faFlagUsa,\n faLaptopFile: faLaptopFile,\n faTty: faTty,\n faTeletype: faTeletype,\n faDiagramNext: faDiagramNext,\n faPersonRifle: faPersonRifle,\n faHouseMedicalCircleExclamation: faHouseMedicalCircleExclamation,\n faClosedCaptioning: faClosedCaptioning,\n faPersonHiking: faPersonHiking,\n faHiking: faHiking,\n faVenusDouble: faVenusDouble,\n faImages: faImages,\n faCalculator: faCalculator,\n faPeoplePulling: faPeoplePulling,\n faN: faN,\n faCableCar: faCableCar,\n faTram: faTram,\n faCloudRain: faCloudRain,\n faBuildingCircleXmark: faBuildingCircleXmark,\n faShip: faShip,\n faArrowsDownToLine: faArrowsDownToLine,\n faDownload: faDownload,\n faFaceGrin: faFaceGrin,\n faGrin: faGrin,\n faDeleteLeft: faDeleteLeft,\n faBackspace: faBackspace,\n faEyeDropper: faEyeDropper,\n faEyeDropperEmpty: faEyeDropperEmpty,\n faEyedropper: faEyedropper,\n faFileCircleCheck: faFileCircleCheck,\n faForward: faForward,\n faMobile: faMobile,\n faMobileAndroid: faMobileAndroid,\n faMobilePhone: faMobilePhone,\n faFaceMeh: faFaceMeh,\n faMeh: faMeh,\n faAlignCenter: faAlignCenter,\n faBookSkull: faBookSkull,\n faBookDead: faBookDead,\n faIdCard: faIdCard,\n faDriversLicense: faDriversLicense,\n faOutdent: faOutdent,\n faDedent: faDedent,\n faHeartCircleExclamation: faHeartCircleExclamation,\n faHouse: faHouse,\n faHome: faHome,\n faHomeAlt: faHomeAlt,\n faHomeLgAlt: faHomeLgAlt,\n faCalendarWeek: faCalendarWeek,\n faLaptopMedical: faLaptopMedical,\n faB: faB,\n faFileMedical: faFileMedical,\n faDiceOne: faDiceOne,\n faKiwiBird: faKiwiBird,\n faArrowRightArrowLeft: faArrowRightArrowLeft,\n faExchange: faExchange,\n faRotateRight: faRotateRight,\n faRedoAlt: faRedoAlt,\n faRotateForward: faRotateForward,\n faUtensils: faUtensils,\n faCutlery: faCutlery,\n faArrowUpWideShort: faArrowUpWideShort,\n faSortAmountUp: faSortAmountUp,\n faMillSign: faMillSign,\n faBowlRice: faBowlRice,\n faSkull: faSkull,\n faTowerBroadcast: faTowerBroadcast,\n faBroadcastTower: faBroadcastTower,\n faTruckPickup: faTruckPickup,\n faUpLong: faUpLong,\n faLongArrowAltUp: faLongArrowAltUp,\n faStop: faStop,\n faCodeMerge: faCodeMerge,\n faUpload: faUpload,\n faHurricane: faHurricane,\n faMound: faMound,\n faToiletPortable: faToiletPortable,\n faCompactDisc: faCompactDisc,\n faFileArrowDown: faFileArrowDown,\n faFileDownload: faFileDownload,\n faCaravan: faCaravan,\n faShieldCat: faShieldCat,\n faBolt: faBolt,\n faZap: faZap,\n faGlassWater: faGlassWater,\n faOilWell: faOilWell,\n faVault: faVault,\n faMars: faMars,\n faToilet: faToilet,\n faPlaneCircleXmark: faPlaneCircleXmark,\n faYenSign: faYenSign,\n faCny: faCny,\n faJpy: faJpy,\n faRmb: faRmb,\n faYen: faYen,\n faRubleSign: faRubleSign,\n faRouble: faRouble,\n faRub: faRub,\n faRuble: faRuble,\n faSun: faSun,\n faGuitar: faGuitar,\n faFaceLaughWink: faFaceLaughWink,\n faLaughWink: faLaughWink,\n faHorseHead: faHorseHead,\n faBoreHole: faBoreHole,\n faIndustry: faIndustry,\n faCircleDown: faCircleDown,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowsTurnToDots: faArrowsTurnToDots,\n faFlorinSign: faFlorinSign,\n faArrowDownShortWide: faArrowDownShortWide,\n faSortAmountDesc: faSortAmountDesc,\n faSortAmountDownAlt: faSortAmountDownAlt,\n faLessThan: faLessThan,\n faAngleDown: faAngleDown,\n faCarTunnel: faCarTunnel,\n faHeadSideCough: faHeadSideCough,\n faGripLines: faGripLines,\n faThumbsDown: faThumbsDown,\n faUserLock: faUserLock,\n faArrowRightLong: faArrowRightLong,\n faLongArrowRight: faLongArrowRight,\n faAnchorCircleXmark: faAnchorCircleXmark,\n faEllipsis: faEllipsis,\n faEllipsisH: faEllipsisH,\n faChessPawn: faChessPawn,\n faKitMedical: faKitMedical,\n faFirstAid: faFirstAid,\n faPersonThroughWindow: faPersonThroughWindow,\n faToolbox: faToolbox,\n faHandsHoldingCircle: faHandsHoldingCircle,\n faBug: faBug,\n faCreditCard: faCreditCard,\n faCreditCardAlt: faCreditCardAlt,\n faCar: faCar,\n faAutomobile: faAutomobile,\n faHandHoldingHand: faHandHoldingHand,\n faBookOpenReader: faBookOpenReader,\n faBookReader: faBookReader,\n faMountainSun: faMountainSun,\n faArrowsLeftRightToLine: faArrowsLeftRightToLine,\n faDiceD20: faDiceD20,\n faTruckDroplet: faTruckDroplet,\n faFileCircleXmark: faFileCircleXmark,\n faTemperatureArrowUp: faTemperatureArrowUp,\n faTemperatureUp: faTemperatureUp,\n faMedal: faMedal,\n faBed: faBed,\n faSquareH: faSquareH,\n faHSquare: faHSquare,\n faPodcast: faPodcast,\n faTemperatureFull: faTemperatureFull,\n faTemperature4: faTemperature4,\n faThermometer4: faThermometer4,\n faThermometerFull: faThermometerFull,\n faBell: faBell,\n faSuperscript: faSuperscript,\n faPlugCircleXmark: faPlugCircleXmark,\n faStarOfLife: faStarOfLife,\n faPhoneSlash: faPhoneSlash,\n faPaintRoller: faPaintRoller,\n faHandshakeAngle: faHandshakeAngle,\n faHandsHelping: faHandsHelping,\n faLocationDot: faLocationDot,\n faMapMarkerAlt: faMapMarkerAlt,\n faFile: faFile,\n faGreaterThan: faGreaterThan,\n faPersonSwimming: faPersonSwimming,\n faSwimmer: faSwimmer,\n faArrowDown: faArrowDown,\n faDroplet: faDroplet,\n faTint: faTint,\n faEraser: faEraser,\n faEarthAmericas: faEarthAmericas,\n faEarth: faEarth,\n faEarthAmerica: faEarthAmerica,\n faGlobeAmericas: faGlobeAmericas,\n faPersonBurst: faPersonBurst,\n faDove: faDove,\n faBatteryEmpty: faBatteryEmpty,\n faBattery0: faBattery0,\n faSocks: faSocks,\n faInbox: faInbox,\n faSection: faSection,\n faGaugeHigh: faGaugeHigh,\n faTachometerAlt: faTachometerAlt,\n faTachometerAltFast: faTachometerAltFast,\n faEnvelopeOpenText: faEnvelopeOpenText,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalWide: faHospitalWide,\n faWineBottle: faWineBottle,\n faChessRook: faChessRook,\n faBarsStaggered: faBarsStaggered,\n faReorder: faReorder,\n faStream: faStream,\n faDharmachakra: faDharmachakra,\n faHotdog: faHotdog,\n faPersonWalkingWithCane: faPersonWalkingWithCane,\n faBlind: faBlind,\n faDrum: faDrum,\n faIceCream: faIceCream,\n faHeartCircleBolt: faHeartCircleBolt,\n faFax: faFax,\n faParagraph: faParagraph,\n faCheckToSlot: faCheckToSlot,\n faVoteYea: faVoteYea,\n faStarHalf: faStarHalf,\n faBoxesStacked: faBoxesStacked,\n faBoxes: faBoxes,\n faBoxesAlt: faBoxesAlt,\n faLink: faLink,\n faChain: faChain,\n faEarListen: faEarListen,\n faAssistiveListeningSystems: faAssistiveListeningSystems,\n faTreeCity: faTreeCity,\n faPlay: faPlay,\n faFont: faFont,\n faRupiahSign: faRupiahSign,\n faMagnifyingGlass: faMagnifyingGlass,\n faSearch: faSearch,\n faTableTennisPaddleBall: faTableTennisPaddleBall,\n faPingPongPaddleBall: faPingPongPaddleBall,\n faTableTennis: faTableTennis,\n faPersonDotsFromLine: faPersonDotsFromLine,\n faDiagnoses: faDiagnoses,\n faTrashCanArrowUp: faTrashCanArrowUp,\n faTrashRestoreAlt: faTrashRestoreAlt,\n faNairaSign: faNairaSign,\n faCartArrowDown: faCartArrowDown,\n faWalkieTalkie: faWalkieTalkie,\n faFilePen: faFilePen,\n faFileEdit: faFileEdit,\n faReceipt: faReceipt,\n faSquarePen: faSquarePen,\n faPenSquare: faPenSquare,\n faPencilSquare: faPencilSquare,\n faSuitcaseRolling: faSuitcaseRolling,\n faPersonCircleExclamation: faPersonCircleExclamation,\n faChevronDown: faChevronDown,\n faBatteryFull: faBatteryFull,\n faBattery: faBattery,\n faBattery5: faBattery5,\n faSkullCrossbones: faSkullCrossbones,\n faCodeCompare: faCodeCompare,\n faListUl: faListUl,\n faListDots: faListDots,\n faSchoolLock: faSchoolLock,\n faTowerCell: faTowerCell,\n faDownLong: faDownLong,\n faLongArrowAltDown: faLongArrowAltDown,\n faRankingStar: faRankingStar,\n faChessKing: faChessKing,\n faPersonHarassing: faPersonHarassing,\n faBrazilianRealSign: faBrazilianRealSign,\n faLandmarkDome: faLandmarkDome,\n faLandmarkAlt: faLandmarkAlt,\n faArrowUp: faArrowUp,\n faTv: faTv,\n faTelevision: faTelevision,\n faTvAlt: faTvAlt,\n faShrimp: faShrimp,\n faListCheck: faListCheck,\n faTasks: faTasks,\n faJugDetergent: faJugDetergent,\n faCircleUser: faCircleUser,\n faUserCircle: faUserCircle,\n faUserShield: faUserShield,\n faWind: faWind,\n faCarBurst: faCarBurst,\n faCarCrash: faCarCrash,\n faY: faY,\n faPersonSnowboarding: faPersonSnowboarding,\n faSnowboarding: faSnowboarding,\n faTruckFast: faTruckFast,\n faShippingFast: faShippingFast,\n faFish: faFish,\n faUserGraduate: faUserGraduate,\n faCircleHalfStroke: faCircleHalfStroke,\n faAdjust: faAdjust,\n faClapperboard: faClapperboard,\n faCircleRadiation: faCircleRadiation,\n faRadiationAlt: faRadiationAlt,\n faBaseball: faBaseball,\n faBaseballBall: faBaseballBall,\n faJetFighterUp: faJetFighterUp,\n faDiagramProject: faDiagramProject,\n faProjectDiagram: faProjectDiagram,\n faCopy: faCopy,\n faVolumeXmark: faVolumeXmark,\n faVolumeMute: faVolumeMute,\n faVolumeTimes: faVolumeTimes,\n faHandSparkles: faHandSparkles,\n faGrip: faGrip,\n faGripHorizontal: faGripHorizontal,\n faShareFromSquare: faShareFromSquare,\n faShareSquare: faShareSquare,\n faChildCombatant: faChildCombatant,\n faChildRifle: faChildRifle,\n faGun: faGun,\n faSquarePhone: faSquarePhone,\n faPhoneSquare: faPhoneSquare,\n faPlus: faPlus,\n faAdd: faAdd,\n faExpand: faExpand,\n faComputer: faComputer,\n faXmark: faXmark,\n faClose: faClose,\n faMultiply: faMultiply,\n faRemove: faRemove,\n faTimes: faTimes,\n faArrowsUpDownLeftRight: faArrowsUpDownLeftRight,\n faArrows: faArrows,\n faChalkboardUser: faChalkboardUser,\n faChalkboardTeacher: faChalkboardTeacher,\n faPesoSign: faPesoSign,\n faBuildingShield: faBuildingShield,\n faBaby: faBaby,\n faUsersLine: faUsersLine,\n faQuoteLeft: faQuoteLeft,\n faQuoteLeftAlt: faQuoteLeftAlt,\n faTractor: faTractor,\n faTrashArrowUp: faTrashArrowUp,\n faTrashRestore: faTrashRestore,\n faArrowDownUpLock: faArrowDownUpLock,\n faLinesLeaning: faLinesLeaning,\n faRulerCombined: faRulerCombined,\n faCopyright: faCopyright,\n faEquals: faEquals,\n faBlender: faBlender,\n faTeeth: faTeeth,\n faShekelSign: faShekelSign,\n faIls: faIls,\n faShekel: faShekel,\n faSheqel: faSheqel,\n faSheqelSign: faSheqelSign,\n faMap: faMap,\n faRocket: faRocket,\n faPhotoFilm: faPhotoFilm,\n faPhotoVideo: faPhotoVideo,\n faFolderMinus: faFolderMinus,\n faStore: faStore,\n faArrowTrendUp: faArrowTrendUp,\n faPlugCircleMinus: faPlugCircleMinus,\n faSignHanging: faSignHanging,\n faSign: faSign,\n faBezierCurve: faBezierCurve,\n faBellSlash: faBellSlash,\n faTablet: faTablet,\n faTabletAndroid: faTabletAndroid,\n faSchoolFlag: faSchoolFlag,\n faFill: faFill,\n faAngleUp: faAngleUp,\n faDrumstickBite: faDrumstickBite,\n faHollyBerry: faHollyBerry,\n faChevronLeft: faChevronLeft,\n faBacteria: faBacteria,\n faHandLizard: faHandLizard,\n faNotdef: faNotdef,\n faDisease: faDisease,\n faBriefcaseMedical: faBriefcaseMedical,\n faGenderless: faGenderless,\n faChevronRight: faChevronRight,\n faRetweet: faRetweet,\n faCarRear: faCarRear,\n faCarAlt: faCarAlt,\n faPumpSoap: faPumpSoap,\n faVideoSlash: faVideoSlash,\n faBatteryQuarter: faBatteryQuarter,\n faBattery2: faBattery2,\n faRadio: faRadio,\n faBabyCarriage: faBabyCarriage,\n faCarriageBaby: faCarriageBaby,\n faTrafficLight: faTrafficLight,\n faThermometer: faThermometer,\n faVrCardboard: faVrCardboard,\n faHandMiddleFinger: faHandMiddleFinger,\n faPercent: faPercent,\n faPercentage: faPercentage,\n faTruckMoving: faTruckMoving,\n faGlassWaterDroplet: faGlassWaterDroplet,\n faDisplay: faDisplay,\n faFaceSmile: faFaceSmile,\n faSmile: faSmile,\n faThumbtack: faThumbtack,\n faThumbTack: faThumbTack,\n faTrophy: faTrophy,\n faPersonPraying: faPersonPraying,\n faPray: faPray,\n faHammer: faHammer,\n faHandPeace: faHandPeace,\n faRotate: faRotate,\n faSyncAlt: faSyncAlt,\n faSpinner: faSpinner,\n faRobot: faRobot,\n faPeace: faPeace,\n faGears: faGears,\n faCogs: faCogs,\n faWarehouse: faWarehouse,\n faArrowUpRightDots: faArrowUpRightDots,\n faSplotch: faSplotch,\n faFaceGrinHearts: faFaceGrinHearts,\n faGrinHearts: faGrinHearts,\n faDiceFour: faDiceFour,\n faSimCard: faSimCard,\n faTransgender: faTransgender,\n faTransgenderAlt: faTransgenderAlt,\n faMercury: faMercury,\n faArrowTurnDown: faArrowTurnDown,\n faLevelDown: faLevelDown,\n faPersonFallingBurst: faPersonFallingBurst,\n faAward: faAward,\n faTicketSimple: faTicketSimple,\n faTicketAlt: faTicketAlt,\n faBuilding: faBuilding,\n faAnglesLeft: faAnglesLeft,\n faAngleDoubleLeft: faAngleDoubleLeft,\n faQrcode: faQrcode,\n faClockRotateLeft: faClockRotateLeft,\n faHistory: faHistory,\n faFaceGrinBeamSweat: faFaceGrinBeamSweat,\n faGrinBeamSweat: faGrinBeamSweat,\n faFileExport: faFileExport,\n faArrowRightFromFile: faArrowRightFromFile,\n faShield: faShield,\n faShieldBlank: faShieldBlank,\n faArrowUpShortWide: faArrowUpShortWide,\n faSortAmountUpAlt: faSortAmountUpAlt,\n faHouseMedical: faHouseMedical,\n faGolfBallTee: faGolfBallTee,\n faGolfBall: faGolfBall,\n faCircleChevronLeft: faCircleChevronLeft,\n faChevronCircleLeft: faChevronCircleLeft,\n faHouseChimneyWindow: faHouseChimneyWindow,\n faPenNib: faPenNib,\n faTentArrowTurnLeft: faTentArrowTurnLeft,\n faTents: faTents,\n faWandMagic: faWandMagic,\n faMagic: faMagic,\n faDog: faDog,\n faCarrot: faCarrot,\n faMoon: faMoon,\n faWineGlassEmpty: faWineGlassEmpty,\n faWineGlassAlt: faWineGlassAlt,\n faCheese: faCheese,\n faYinYang: faYinYang,\n faMusic: faMusic,\n faCodeCommit: faCodeCommit,\n faTemperatureLow: faTemperatureLow,\n faPersonBiking: faPersonBiking,\n faBiking: faBiking,\n faBroom: faBroom,\n faShieldHeart: faShieldHeart,\n faGopuram: faGopuram,\n faEarthOceania: faEarthOceania,\n faGlobeOceania: faGlobeOceania,\n faSquareXmark: faSquareXmark,\n faTimesSquare: faTimesSquare,\n faXmarkSquare: faXmarkSquare,\n faHashtag: faHashtag,\n faUpRightAndDownLeftFromCenter: faUpRightAndDownLeftFromCenter,\n faExpandAlt: faExpandAlt,\n faOilCan: faOilCan,\n faT: faT,\n faHippo: faHippo,\n faChartColumn: faChartColumn,\n faInfinity: faInfinity,\n faVialCircleCheck: faVialCircleCheck,\n faPersonArrowDownToLine: faPersonArrowDownToLine,\n faVoicemail: faVoicemail,\n faFan: faFan,\n faPersonWalkingLuggage: faPersonWalkingLuggage,\n faUpDown: faUpDown,\n faArrowsAltV: faArrowsAltV,\n faCloudMoonRain: faCloudMoonRain,\n faCalendar: faCalendar,\n faTrailer: faTrailer,\n faBahai: faBahai,\n faHaykal: faHaykal,\n faSdCard: faSdCard,\n faDragon: faDragon,\n faShoePrints: faShoePrints,\n faCirclePlus: faCirclePlus,\n faPlusCircle: faPlusCircle,\n faFaceGrinTongueWink: faFaceGrinTongueWink,\n faGrinTongueWink: faGrinTongueWink,\n faHandHolding: faHandHolding,\n faPlugCircleExclamation: faPlugCircleExclamation,\n faLinkSlash: faLinkSlash,\n faChainBroken: faChainBroken,\n faChainSlash: faChainSlash,\n faUnlink: faUnlink,\n faClone: faClone,\n faPersonWalkingArrowLoopLeft: faPersonWalkingArrowLoopLeft,\n faArrowUpZA: faArrowUpZA,\n faSortAlphaUpAlt: faSortAlphaUpAlt,\n faFireFlameCurved: faFireFlameCurved,\n faFireAlt: faFireAlt,\n faTornado: faTornado,\n faFileCirclePlus: faFileCirclePlus,\n faBookQuran: faBookQuran,\n faQuran: faQuran,\n faAnchor: faAnchor,\n faBorderAll: faBorderAll,\n faFaceAngry: faFaceAngry,\n faAngry: faAngry,\n faCookieBite: faCookieBite,\n faArrowTrendDown: faArrowTrendDown,\n faRss: faRss,\n faFeed: faFeed,\n faDrawPolygon: faDrawPolygon,\n faScaleBalanced: faScaleBalanced,\n faBalanceScale: faBalanceScale,\n faGaugeSimpleHigh: faGaugeSimpleHigh,\n faTachometer: faTachometer,\n faTachometerFast: faTachometerFast,\n faShower: faShower,\n faDesktop: faDesktop,\n faDesktopAlt: faDesktopAlt,\n faM: faM,\n faTableList: faTableList,\n faThList: faThList,\n faCommentSms: faCommentSms,\n faSms: faSms,\n faBook: faBook,\n faUserPlus: faUserPlus,\n faCheck: faCheck,\n faBatteryThreeQuarters: faBatteryThreeQuarters,\n faBattery4: faBattery4,\n faHouseCircleCheck: faHouseCircleCheck,\n faAngleLeft: faAngleLeft,\n faDiagramSuccessor: faDiagramSuccessor,\n faTruckArrowRight: faTruckArrowRight,\n faArrowsSplitUpAndLeft: faArrowsSplitUpAndLeft,\n faHandFist: faHandFist,\n faFistRaised: faFistRaised,\n faCloudMoon: faCloudMoon,\n faBriefcase: faBriefcase,\n faPersonFalling: faPersonFalling,\n faImagePortrait: faImagePortrait,\n faPortrait: faPortrait,\n faUserTag: faUserTag,\n faRug: faRug,\n faEarthEurope: faEarthEurope,\n faGlobeEurope: faGlobeEurope,\n faCartFlatbedSuitcase: faCartFlatbedSuitcase,\n faLuggageCart: faLuggageCart,\n faRectangleXmark: faRectangleXmark,\n faRectangleTimes: faRectangleTimes,\n faTimesRectangle: faTimesRectangle,\n faWindowClose: faWindowClose,\n faBahtSign: faBahtSign,\n faBookOpen: faBookOpen,\n faBookJournalWhills: faBookJournalWhills,\n faJournalWhills: faJournalWhills,\n faHandcuffs: faHandcuffs,\n faTriangleExclamation: faTriangleExclamation,\n faExclamationTriangle: faExclamationTriangle,\n faWarning: faWarning,\n faDatabase: faDatabase,\n faShare: faShare,\n faArrowTurnRight: faArrowTurnRight,\n faMailForward: faMailForward,\n faBottleDroplet: faBottleDroplet,\n faMaskFace: faMaskFace,\n faHillRockslide: faHillRockslide,\n faRightLeft: faRightLeft,\n faExchangeAlt: faExchangeAlt,\n faPaperPlane: faPaperPlane,\n faRoadCircleExclamation: faRoadCircleExclamation,\n faDungeon: faDungeon,\n faAlignRight: faAlignRight,\n faMoneyBill1Wave: faMoneyBill1Wave,\n faMoneyBillWaveAlt: faMoneyBillWaveAlt,\n faLifeRing: faLifeRing,\n faHands: faHands,\n faSignLanguage: faSignLanguage,\n faSigning: faSigning,\n faCalendarDay: faCalendarDay,\n faWaterLadder: faWaterLadder,\n faLadderWater: faLadderWater,\n faSwimmingPool: faSwimmingPool,\n faArrowsUpDown: faArrowsUpDown,\n faArrowsV: faArrowsV,\n faFaceGrimace: faFaceGrimace,\n faGrimace: faGrimace,\n faWheelchairMove: faWheelchairMove,\n faWheelchairAlt: faWheelchairAlt,\n faTurnDown: faTurnDown,\n faLevelDownAlt: faLevelDownAlt,\n faPersonWalkingArrowRight: faPersonWalkingArrowRight,\n faSquareEnvelope: faSquareEnvelope,\n faEnvelopeSquare: faEnvelopeSquare,\n faDice: faDice,\n faBowlingBall: faBowlingBall,\n faBrain: faBrain,\n faBandage: faBandage,\n faBandAid: faBandAid,\n faCalendarMinus: faCalendarMinus,\n faCircleXmark: faCircleXmark,\n faTimesCircle: faTimesCircle,\n faXmarkCircle: faXmarkCircle,\n faGifts: faGifts,\n faHotel: faHotel,\n faEarthAsia: faEarthAsia,\n faGlobeAsia: faGlobeAsia,\n faIdCardClip: faIdCardClip,\n faIdCardAlt: faIdCardAlt,\n faMagnifyingGlassPlus: faMagnifyingGlassPlus,\n faSearchPlus: faSearchPlus,\n faThumbsUp: faThumbsUp,\n faUserClock: faUserClock,\n faHandDots: faHandDots,\n faAllergies: faAllergies,\n faFileInvoice: faFileInvoice,\n faWindowMinimize: faWindowMinimize,\n faMugSaucer: faMugSaucer,\n faCoffee: faCoffee,\n faBrush: faBrush,\n faMask: faMask,\n faMagnifyingGlassMinus: faMagnifyingGlassMinus,\n faSearchMinus: faSearchMinus,\n faRulerVertical: faRulerVertical,\n faUserLarge: faUserLarge,\n faUserAlt: faUserAlt,\n faTrainTram: faTrainTram,\n faUserNurse: faUserNurse,\n faSyringe: faSyringe,\n faCloudSun: faCloudSun,\n faStopwatch20: faStopwatch20,\n faSquareFull: faSquareFull,\n faMagnet: faMagnet,\n faJar: faJar,\n faNoteSticky: faNoteSticky,\n faStickyNote: faStickyNote,\n faBugSlash: faBugSlash,\n faArrowUpFromWaterPump: faArrowUpFromWaterPump,\n faBone: faBone,\n faUserInjured: faUserInjured,\n faFaceSadTear: faFaceSadTear,\n faSadTear: faSadTear,\n faPlane: faPlane,\n faTentArrowsDown: faTentArrowsDown,\n faExclamation: faExclamation,\n faArrowsSpin: faArrowsSpin,\n faPrint: faPrint,\n faTurkishLiraSign: faTurkishLiraSign,\n faTry: faTry,\n faTurkishLira: faTurkishLira,\n faDollarSign: faDollarSign,\n faDollar: faDollar,\n faUsd: faUsd,\n faX: faX,\n faMagnifyingGlassDollar: faMagnifyingGlassDollar,\n faSearchDollar: faSearchDollar,\n faUsersGear: faUsersGear,\n faUsersCog: faUsersCog,\n faPersonMilitaryPointing: faPersonMilitaryPointing,\n faBuildingColumns: faBuildingColumns,\n faBank: faBank,\n faInstitution: faInstitution,\n faMuseum: faMuseum,\n faUniversity: faUniversity,\n faUmbrella: faUmbrella,\n faTrowel: faTrowel,\n faD: faD,\n faStapler: faStapler,\n faMasksTheater: faMasksTheater,\n faTheaterMasks: faTheaterMasks,\n faKipSign: faKipSign,\n faHandPointLeft: faHandPointLeft,\n faHandshakeSimple: faHandshakeSimple,\n faHandshakeAlt: faHandshakeAlt,\n faJetFighter: faJetFighter,\n faFighterJet: faFighterJet,\n faSquareShareNodes: faSquareShareNodes,\n faShareAltSquare: faShareAltSquare,\n faBarcode: faBarcode,\n faPlusMinus: faPlusMinus,\n faVideo: faVideo,\n faVideoCamera: faVideoCamera,\n faGraduationCap: faGraduationCap,\n faMortarBoard: faMortarBoard,\n faHandHoldingMedical: faHandHoldingMedical,\n faPersonCircleCheck: faPersonCircleCheck,\n faTurnUp: faTurnUp,\n faLevelUpAlt: faLevelUpAlt\n};\n\n\n\n\n//# sourceURL=webpack://demo/./node_modules/@fortawesome/free-solid-svg-icons/index.mjs?");
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ id: moduleId,
/******/ loaded: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/node module decorator */
/******/ (() => {
/******/ __webpack_require__.nmd = (module) => {
/******/ module.paths = [];
/******/ if (!module.children) module.children = [];
/******/ return module;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/nonce */
/******/ (() => {
/******/ __webpack_require__.nc = undefined;
/******/ })();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module can't be inlined because the eval devtool is used.
/******/ var __webpack_exports__ = __webpack_require__("./src/000_index.tsx");
/******/
/******/ })()
;