(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else if(typeof exports === 'object') exports["GUI"] = factory(); else root["GUI"] = factory(); })(self, () => { return /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./node_modules/@microbit/microbit-universal-hex/dist/esm5/ihex.js" /*!*************************************************************************!*\ !*** ./node_modules/@microbit/microbit-universal-hex/dist/esm5/ihex.js ***! \*************************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ MAX_RECORD_STR_LEN: () => (/* binding */ MAX_RECORD_STR_LEN), /* harmony export */ RecordType: () => (/* binding */ RecordType), /* harmony export */ blockEndRecord: () => (/* binding */ blockEndRecord), /* harmony export */ blockStartRecord: () => (/* binding */ blockStartRecord), /* harmony export */ convertExtSegToLinAddressRecord: () => (/* binding */ convertExtSegToLinAddressRecord), /* harmony export */ convertRecordTo: () => (/* binding */ convertRecordTo), /* harmony export */ createRecord: () => (/* binding */ createRecord), /* harmony export */ endOfFileRecord: () => (/* binding */ endOfFileRecord), /* harmony export */ extLinAddressRecord: () => (/* binding */ extLinAddressRecord), /* harmony export */ findDataFieldLength: () => (/* binding */ findDataFieldLength), /* harmony export */ getRecordData: () => (/* binding */ getRecordData), /* harmony export */ getRecordType: () => (/* binding */ getRecordType), /* harmony export */ iHexToRecordStrs: () => (/* binding */ iHexToRecordStrs), /* harmony export */ paddedDataRecord: () => (/* binding */ paddedDataRecord), /* harmony export */ parseRecord: () => (/* binding */ parseRecord) /* harmony export */ }); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "./node_modules/@microbit/microbit-universal-hex/dist/esm5/utils.js"); /** * Generate and process Intel Hex records. * @packageDocumentation * * (c) 2020 Micro:bit Educational Foundation and contributors. * SPDX-License-Identifier: MIT */ /** Values for the Record Type field, including Universal Hex custom types. */ var RecordType; (function (RecordType) { RecordType[RecordType["Data"] = 0] = "Data"; RecordType[RecordType["EndOfFile"] = 1] = "EndOfFile"; RecordType[RecordType["ExtendedSegmentAddress"] = 2] = "ExtendedSegmentAddress"; RecordType[RecordType["StartSegmentAddress"] = 3] = "StartSegmentAddress"; RecordType[RecordType["ExtendedLinearAddress"] = 4] = "ExtendedLinearAddress"; RecordType[RecordType["StartLinearAddress"] = 5] = "StartLinearAddress"; RecordType[RecordType["BlockStart"] = 10] = "BlockStart"; RecordType[RecordType["BlockEnd"] = 11] = "BlockEnd"; RecordType[RecordType["PaddedData"] = 12] = "PaddedData"; RecordType[RecordType["CustomData"] = 13] = "CustomData"; RecordType[RecordType["OtherData"] = 14] = "OtherData"; })(RecordType || (RecordType = {})); /** * The maximum data bytes per record is 0xFF, 16 and 32 bytes are the two most * common lengths, but DAPLink doesn't support more than 32 bytes. */ var RECORD_DATA_MAX_BYTES = 32; /** * Constants for the record character lengths. */ var START_CODE_STR = ':'; var START_CODE_INDEX = 0; var START_CODE_STR_LEN = START_CODE_STR.length; var BYTE_COUNT_STR_INDEX = START_CODE_INDEX + START_CODE_STR_LEN; var BYTE_COUNT_STR_LEN = 2; var ADDRESS_STR_INDEX = BYTE_COUNT_STR_INDEX + BYTE_COUNT_STR_LEN; var ADDRESS_STR_LEN = 4; var RECORD_TYPE_STR_INDEX = ADDRESS_STR_INDEX + ADDRESS_STR_LEN; var RECORD_TYPE_STR_LEN = 2; var DATA_STR_INDEX = RECORD_TYPE_STR_INDEX + RECORD_TYPE_STR_LEN; var DATA_STR_LEN_MIN = 0; var CHECKSUM_STR_LEN = 2; var MIN_RECORD_STR_LEN = START_CODE_STR_LEN + BYTE_COUNT_STR_LEN + ADDRESS_STR_LEN + RECORD_TYPE_STR_LEN + DATA_STR_LEN_MIN + CHECKSUM_STR_LEN; var MAX_RECORD_STR_LEN = MIN_RECORD_STR_LEN - DATA_STR_LEN_MIN + RECORD_DATA_MAX_BYTES * 2; /** * Checks if a given number is a valid Record type. * * @param recordType Number to check * @returns True if it's a valid Record type. */ function isRecordTypeValid(recordType) { // Checking ranges is more efficient than object key comparison // This also allow us use a const enum (compilation replaces it by literals) if ((recordType >= RecordType.Data && recordType <= RecordType.StartLinearAddress) || (recordType >= RecordType.BlockStart && recordType <= RecordType.OtherData)) { return true; } return false; } /** * Calculates the Intel Hex checksum. * * This is basically the LSB of the two's complement of the sum of all bytes. * * @param dataBytes A byte array to calculate the checksum into. * @returns Checksum byte. */ function calcChecksumByte(dataBytes) { var sum = dataBytes.reduce(function (accumulator, currentValue) { return accumulator + currentValue; }, 0); return -sum & 0xff; } /** * Creates an Intel Hex record with normal or custom record types. * * @param address - The two least significant bytes for the data address. * @param recordType - Record type, could be one of the standard types or any * of the custom types created for forming a Universal Hex. * @param dataBytes - Byte array with the data to include in the record. * @returns A string with the Intel Hex record. */ function createRecord(address, recordType, dataBytes) { if (address < 0 || address > 0xffff) { throw new Error("Record (" + recordType + ") address out of range: " + address); } var byteCount = dataBytes.length; if (byteCount > RECORD_DATA_MAX_BYTES) { throw new Error("Record (" + recordType + ") data has too many bytes (" + byteCount + ")."); } if (!isRecordTypeValid(recordType)) { throw new Error("Record type '" + recordType + "' is not valid."); } var recordContent = _utils__WEBPACK_IMPORTED_MODULE_0__.concatUint8Arrays([ new Uint8Array([byteCount, address >> 8, address & 0xff, recordType]), dataBytes, ]); var recordContentStr = _utils__WEBPACK_IMPORTED_MODULE_0__.byteArrayToHexStr(recordContent); var checksumStr = _utils__WEBPACK_IMPORTED_MODULE_0__.byteToHexStrFast(calcChecksumByte(recordContent)); return "" + START_CODE_STR + recordContentStr + checksumStr; } /** * Check if an Intel Hex record conforms to the following rules: * - Correct length of characters * - Starts with a colon * * TODO: Apply more rules. * * @param iHexRecord - Single Intel Hex record to check. * @returns A boolean indicating if the record is valid. */ function validateRecord(iHexRecord) { if (iHexRecord.length < MIN_RECORD_STR_LEN) { throw new Error("Record length too small: " + iHexRecord); } if (iHexRecord.length > MAX_RECORD_STR_LEN) { throw new Error("Record length is too large: " + iHexRecord); } if (iHexRecord[0] !== ':') { throw new Error("Record does not start with a \":\": " + iHexRecord); } return true; } /** * Retrieves the Record Type form an Intel Hex record line. * * @param iHexRecord Intel hex record line without line terminator. * @returns The RecordType value. */ function getRecordType(iHexRecord) { validateRecord(iHexRecord); var recordTypeCharStart = START_CODE_STR_LEN + BYTE_COUNT_STR_LEN + ADDRESS_STR_LEN; var recordTypeStr = iHexRecord.slice(recordTypeCharStart, recordTypeCharStart + RECORD_TYPE_STR_LEN); var recordType = parseInt(recordTypeStr, 16); if (!isRecordTypeValid(recordType)) { throw new Error("Record type '" + recordTypeStr + "' from record '" + iHexRecord + "' is not valid."); } return recordType; } /** * Retrieves the data field from a record. * * @param iHexRecord Intel Hex record string. * @returns The record Data in a byte array. */ function getRecordData(iHexRecord) { try { // The only thing after the Data bytes is the Checksum (2 characters) return _utils__WEBPACK_IMPORTED_MODULE_0__.hexStrToBytes(iHexRecord.slice(DATA_STR_INDEX, -2)); } catch (e) { throw new Error("Could not parse Intel Hex record \"" + iHexRecord + "\": " + e.message); } } /** * Parses an Intel Hex record into an Record object with its respective fields. * * @param iHexRecord Intel hex record line without line terminator. * @returns New object with the Record interface. */ function parseRecord(iHexRecord) { validateRecord(iHexRecord); var recordBytes; try { recordBytes = _utils__WEBPACK_IMPORTED_MODULE_0__.hexStrToBytes(iHexRecord.substring(1)); } catch (e) { throw new Error("Could not parse Intel Hex record \"" + iHexRecord + "\": " + e.message); } var byteCountIndex = 0; var byteCount = recordBytes[0]; var addressIndex = byteCountIndex + BYTE_COUNT_STR_LEN / 2; var address = (recordBytes[addressIndex] << 8) + recordBytes[addressIndex + 1]; var recordTypeIndex = addressIndex + ADDRESS_STR_LEN / 2; var recordType = recordBytes[recordTypeIndex]; var dataIndex = recordTypeIndex + RECORD_TYPE_STR_LEN / 2; var checksumIndex = dataIndex + byteCount; var data = recordBytes.slice(dataIndex, checksumIndex); var checksum = recordBytes[checksumIndex]; var totalLength = checksumIndex + CHECKSUM_STR_LEN / 2; if (recordBytes.length > totalLength) { throw new Error("Parsed record \"" + iHexRecord + "\" is larger than indicated by the byte count." + ("\n\tExpected: " + totalLength + "; Length: " + recordBytes.length + ".")); } return { byteCount: byteCount, address: address, recordType: recordType, data: data, checksum: checksum, }; } /** * Creates an End Of File Intel Hex record. * * @returns End of File record with new line. */ function endOfFileRecord() { // No need to use createRecord(), this record is always the same return ':00000001FF'; } /** * Creates an Extended Linear Address record from a 4 byte address. * * @param address - Full 32 bit address. * @returns The Extended Linear Address Intel Hex record. */ function extLinAddressRecord(address) { if (address < 0 || address > 0xffffffff) { throw new Error("Address '" + address + "' for Extended Linear Address record is out of range."); } return createRecord(0, RecordType.ExtendedLinearAddress, new Uint8Array([(address >> 24) & 0xff, (address >> 16) & 0xff])); } /** * Creates a Block Start (custom) Intel Hex Record. * * @param boardId Board ID to embed into the record, 0 to 0xFFF. * @returns A Block Start (custom) Intel Hex record. */ function blockStartRecord(boardId) { if (boardId < 0 || boardId > 0xffff) { throw new Error('Board ID out of range when creating Block Start record.'); } return createRecord(0, RecordType.BlockStart, new Uint8Array([(boardId >> 8) & 0xff, boardId & 0xff, 0xc0, 0xde])); } /** * Create Block End (custom) Intel Hex Record. * * The Data field in this Record will be ignored and can be used for padding. * * @param padBytesLen Number of bytes to add to the Data field. * @returns A Block End (custom) Intel Hex record. */ function blockEndRecord(padBytesLen) { // This function is called very often with the same arguments, so cache // those results for better performance switch (padBytesLen) { case 0x4: // Common for blocks that have full Data records with 0x10 bytes and a // single Extended Linear Address record return ':0400000BFFFFFFFFF5'; case 0x0c: // The most common padding, when a block has 10 full (0x10) Data records return ':0C00000BFFFFFFFFFFFFFFFFFFFFFFFFF5'; default: // Input sanitation will be done in createRecord, no need to do it here too var recordData = new Uint8Array(padBytesLen).fill(0xff); return createRecord(0, RecordType.BlockEnd, recordData); } } /** * Create a Padded Data (custom) Intel Hex Record. * This record is used to add padding data, to be ignored by DAPLink, to be able * to create blocks of 512-bytes. * * @param padBytesLen Number of bytes to add to the Data field. * @returns A Padded Data (custom) Intel Hex record. */ function paddedDataRecord(padBytesLen) { // Input sanitation will be done in createRecord, no need to do it here too var recordData = new Uint8Array(padBytesLen).fill(0xff); return createRecord(0, RecordType.PaddedData, recordData); } /** * Changes the record type of a Record to a Custom Data type. * * The data field is kept, but changing the record type will trigger the * checksum to be updated as well. * * @param iHexRecord Intel hex record line without line terminator. * @returns A Custom Data Intel Hex record with the same data field. */ function convertRecordTo(iHexRecord, recordType) { var oRecord = parseRecord(iHexRecord); var recordContent = new Uint8Array(oRecord.data.length + 4); recordContent[0] = oRecord.data.length; recordContent[1] = oRecord.address >> 8; recordContent[2] = oRecord.address & 0xff; recordContent[3] = recordType; recordContent.set(oRecord.data, 4); var recordContentStr = _utils__WEBPACK_IMPORTED_MODULE_0__.byteArrayToHexStr(recordContent); var checksumStr = _utils__WEBPACK_IMPORTED_MODULE_0__.byteToHexStrFast(calcChecksumByte(recordContent)); return "" + START_CODE_STR + recordContentStr + checksumStr; } /** * Converts and Extended Segment Linear Address record to an Extended Linear * Address record. * * @throws {Error} When the record does not contain exactly 2 bytes. * @throws {Error} When the Segmented Address is not a multiple of 0x1000. * * @param iHexRecord Intel hex record line without line terminator. */ function convertExtSegToLinAddressRecord(iHexRecord) { var segmentAddress = getRecordData(iHexRecord); if (segmentAddress.length !== 2 || segmentAddress[0] & 0xf || // Only process multiples of 0x1000 segmentAddress[1] !== 0) { throw new Error("Invalid Extended Segment Address record " + iHexRecord); } var startAddress = segmentAddress[0] << 12; return extLinAddressRecord(startAddress); } /** * Separates an Intel Hex file (string) into an array of Record strings. * * @param iHexStr Intel Hex file as a string. * @returns Array of Records in string format. */ function iHexToRecordStrs(iHexStr) { // For some reason this is quicker than .split(/\r?\n/) // Up to x200 faster in Chrome (!) and x1.5 faster in Firefox var output = iHexStr.replace(/\r/g, '').split('\n'); // Boolean filter removes all falsy values as some of these files contain // multiple empty lines we want to remove return output.filter(Boolean); } /** * Iterates through the beginning of an array of Intel Hex records to find the * longest record data field length. * * Once it finds 12 records at the maximum size found so far (starts at 16 * bytes) it will stop iterating. * * This is useful to identify the expected max size of the data records for an * Intel Hex, and then be able to generate new custom records of the same size. * * @param iHexRecords Array of Intel Hex Records. * @returns Number of data bytes in a full record. */ function findDataFieldLength(iHexRecords) { var maxDataBytes = 16; var maxDataBytesCount = 0; for (var _i = 0, iHexRecords_1 = iHexRecords; _i < iHexRecords_1.length; _i++) { var record = iHexRecords_1[_i]; var dataBytesLength = (record.length - MIN_RECORD_STR_LEN) / 2; if (dataBytesLength > maxDataBytes) { maxDataBytes = dataBytesLength; maxDataBytesCount = 0; } else if (dataBytesLength === maxDataBytes) { maxDataBytesCount++; } if (maxDataBytesCount > 12) { break; } } if (maxDataBytes > RECORD_DATA_MAX_BYTES) { throw new Error("Intel Hex record data size is too large: " + maxDataBytes); } return maxDataBytes; } //# sourceMappingURL=ihex.js.map /***/ }, /***/ "./node_modules/@microbit/microbit-universal-hex/dist/esm5/universal-hex.js" /*!**********************************************************************************!*\ !*** ./node_modules/@microbit/microbit-universal-hex/dist/esm5/universal-hex.js ***! \**********************************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createUniversalHex: () => (/* binding */ createUniversalHex), /* harmony export */ iHexToCustomFormatBlocks: () => (/* binding */ iHexToCustomFormatBlocks), /* harmony export */ iHexToCustomFormatSection: () => (/* binding */ iHexToCustomFormatSection), /* harmony export */ isMakeCodeForV1Hex: () => (/* binding */ isMakeCodeForV1Hex), /* harmony export */ isUniversalHex: () => (/* binding */ isUniversalHex), /* harmony export */ microbitBoardId: () => (/* binding */ microbitBoardId), /* harmony export */ separateUniversalHex: () => (/* binding */ separateUniversalHex) /* harmony export */ }); /* harmony import */ var _ihex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ihex */ "./node_modules/@microbit/microbit-universal-hex/dist/esm5/ihex.js"); /** * Convert between standard Intel Hex strings and Universal Hex strings. * * This module provides the main functionality to convert Intel Hex strings * (with their respective Board IDs) into the Universal Hex format. * * It can also separate a Universal Hex string into the individual Intel Hex * strings that forms it. * * The content here assumes familiarity with the * [Universal Hex Specification](https://github.com/microbit-foundation/spec-universal-hex) * and the rest of * [this library documentation](https://microbit-foundation.github.io/microbit-universal-hex/). * @packageDocumentation * * (c) 2020 Micro:bit Educational Foundation and the project contributors. * SPDX-License-Identifier: MIT */ var V1_BOARD_IDS = [0x9900, 0x9901]; var BLOCK_SIZE = 512; /** * The Board ID is used to identify the different targets from a Universal Hex. * In this case the target represents a micro:bit version. * For micro:bit V1 (v1.3, v1.3B and v1.5) the `boardId` is `0x9900`, and for * V2 `0x9903`. */ var microbitBoardId; (function (microbitBoardId) { microbitBoardId[microbitBoardId["V1"] = 39168] = "V1"; microbitBoardId[microbitBoardId["V2"] = 39171] = "V2"; })(microbitBoardId || (microbitBoardId = {})); /** * Converts an Intel Hex string into a Hex string using the 512 byte blocks * format and the Universal Hex specific record types. * * The output of this function is not a fully formed Universal Hex, but one part * of a Universal Hex, ready to be merged by the calling code. * * More information on this "block" format: * https://github.com/microbit-foundation/spec-universal-hex * * @throws {Error} When the Board ID is not between 0 and 2^16. * @throws {Error} When there is an EoF record not at the end of the file. * * @param iHexStr - Intel Hex string to convert into the custom format with 512 * byte blocks and the customer records. * @returns New Intel Hex string with the custom format. */ function iHexToCustomFormatBlocks(iHexStr, boardId) { // Hex files for v1.3 and v1.5 continue using the normal Data Record Type var replaceDataRecord = !V1_BOARD_IDS.includes(boardId); // Generate some constant records var startRecord = _ihex__WEBPACK_IMPORTED_MODULE_0__.blockStartRecord(boardId); var currentExtAddr = _ihex__WEBPACK_IMPORTED_MODULE_0__.extLinAddressRecord(0); // Pre-calculate known record lengths var extAddrRecordLen = currentExtAddr.length; var startRecordLen = startRecord.length; var endRecordBaseLen = _ihex__WEBPACK_IMPORTED_MODULE_0__.blockEndRecord(0).length; var padRecordBaseLen = _ihex__WEBPACK_IMPORTED_MODULE_0__.paddedDataRecord(0).length; var hexRecords = _ihex__WEBPACK_IMPORTED_MODULE_0__.iHexToRecordStrs(iHexStr); var recordPaddingCapacity = _ihex__WEBPACK_IMPORTED_MODULE_0__.findDataFieldLength(hexRecords); if (!hexRecords.length) return ''; if (isUniversalHexRecords(hexRecords)) { throw new Error("Board ID " + boardId + " Hex is already a Universal Hex."); } // Each loop iteration corresponds to a 512-bytes block var ih = 0; var blockLines = []; while (ih < hexRecords.length) { var blockLen = 0; // Check for an extended linear record to not repeat it after a block start var firstRecordType = _ihex__WEBPACK_IMPORTED_MODULE_0__.getRecordType(hexRecords[ih]); if (firstRecordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.ExtendedLinearAddress) { currentExtAddr = hexRecords[ih]; ih++; } else if (firstRecordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.ExtendedSegmentAddress) { currentExtAddr = _ihex__WEBPACK_IMPORTED_MODULE_0__.convertExtSegToLinAddressRecord(hexRecords[ih]); ih++; } blockLines.push(currentExtAddr); blockLen += extAddrRecordLen + 1; blockLines.push(startRecord); blockLen += startRecordLen + 1; blockLen += endRecordBaseLen + 1; var endOfFile = false; while (hexRecords[ih] && BLOCK_SIZE >= blockLen + hexRecords[ih].length + 1) { var record = hexRecords[ih++]; var recordType = _ihex__WEBPACK_IMPORTED_MODULE_0__.getRecordType(record); if (replaceDataRecord && recordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.Data) { record = _ihex__WEBPACK_IMPORTED_MODULE_0__.convertRecordTo(record, _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.CustomData); } else if (recordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.ExtendedLinearAddress) { currentExtAddr = record; } else if (recordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.ExtendedSegmentAddress) { record = _ihex__WEBPACK_IMPORTED_MODULE_0__.convertExtSegToLinAddressRecord(record); currentExtAddr = record; } else if (recordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.EndOfFile) { endOfFile = true; break; } blockLines.push(record); blockLen += record.length + 1; } if (endOfFile) { // Error if we encounter an EoF record and it's not the end of the file if (ih !== hexRecords.length) { // Might be MakeCode hex for V1 as they did this with the EoF record if (isMakeCodeForV1HexRecords(hexRecords)) { throw new Error("Board ID " + boardId + " Hex is from MakeCode, import this hex into the MakeCode editor to create a Universal Hex."); } else { throw new Error("EoF record found at record " + ih + " of " + hexRecords.length + " in Board ID " + boardId + " hex"); } } // The EoF record goes after the Block End Record, it won't break 512-byte // boundary as it was already calculated in the previous loop that it fits blockLines.push(_ihex__WEBPACK_IMPORTED_MODULE_0__.blockEndRecord(0)); blockLines.push(_ihex__WEBPACK_IMPORTED_MODULE_0__.endOfFileRecord()); } else { // We might need additional padding records // const charsLeft = BLOCK_SIZE - blockLen; while (BLOCK_SIZE - blockLen > recordPaddingCapacity * 2) { var record = _ihex__WEBPACK_IMPORTED_MODULE_0__.paddedDataRecord(Math.min((BLOCK_SIZE - blockLen - (padRecordBaseLen + 1)) / 2, recordPaddingCapacity)); blockLines.push(record); blockLen += record.length + 1; } blockLines.push(_ihex__WEBPACK_IMPORTED_MODULE_0__.blockEndRecord((BLOCK_SIZE - blockLen) / 2)); } } blockLines.push(''); // Ensure there is a blank new line at the end return blockLines.join('\n'); } /** * Converts an Intel Hex string into a Hex string using custom records and * aligning the content size to a 512-byte boundary. * * The output of this function is not a fully formed Universal Hex, but one part * of a Universal Hex, ready to be merged by the calling code. * * More information on this "section" format: * https://github.com/microbit-foundation/spec-universal-hex * * @throws {Error} When the Board ID is not between 0 and 2^16. * @throws {Error} When there is an EoF record not at the end of the file. * * @param iHexStr - Intel Hex string to convert into the custom format with 512 * byte blocks and the customer records. * @returns New Intel Hex string with the custom format. */ function iHexToCustomFormatSection(iHexStr, boardId) { var sectionLines = []; var sectionLen = 0; var ih = 0; var addRecordLength = function (record) { sectionLen += record.length + 1; // Extra character counted for '\n' }; var addRecord = function (record) { sectionLines.push(record); addRecordLength(record); }; var hexRecords = _ihex__WEBPACK_IMPORTED_MODULE_0__.iHexToRecordStrs(iHexStr); if (!hexRecords.length) return ''; if (isUniversalHexRecords(hexRecords)) { throw new Error("Board ID " + boardId + " Hex is already a Universal Hex."); } // If first record is not an Extended Segmented/Linear Address we start at 0x0 var iHexFirstRecordType = _ihex__WEBPACK_IMPORTED_MODULE_0__.getRecordType(hexRecords[0]); if (iHexFirstRecordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.ExtendedLinearAddress) { addRecord(hexRecords[0]); ih++; } else if (iHexFirstRecordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.ExtendedSegmentAddress) { addRecord(_ihex__WEBPACK_IMPORTED_MODULE_0__.convertExtSegToLinAddressRecord(hexRecords[0])); ih++; } else { addRecord(_ihex__WEBPACK_IMPORTED_MODULE_0__.extLinAddressRecord(0)); } // Add the Block Start record to the beginning of the segment addRecord(_ihex__WEBPACK_IMPORTED_MODULE_0__.blockStartRecord(boardId)); // Iterate through the rest of the records and add them var replaceDataRecord = !V1_BOARD_IDS.includes(boardId); var endOfFile = false; while (ih < hexRecords.length) { var record = hexRecords[ih++]; var recordType = _ihex__WEBPACK_IMPORTED_MODULE_0__.getRecordType(record); if (recordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.Data) { addRecord(replaceDataRecord ? _ihex__WEBPACK_IMPORTED_MODULE_0__.convertRecordTo(record, _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.CustomData) : record); } else if (recordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.ExtendedSegmentAddress) { addRecord(_ihex__WEBPACK_IMPORTED_MODULE_0__.convertExtSegToLinAddressRecord(record)); } else if (recordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.ExtendedLinearAddress) { addRecord(record); } else if (recordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.EndOfFile) { endOfFile = true; break; } } if (ih !== hexRecords.length) { // The End Of File record was encountered mid-file, might be a MakeCode hex if (isMakeCodeForV1HexRecords(hexRecords)) { throw new Error("Board ID " + boardId + " Hex is from MakeCode, import this hex into the MakeCode editor to create a Universal Hex."); } else { throw new Error("EoF record found at record " + ih + " of " + hexRecords.length + " in Board ID " + boardId + " hex "); } } // Add to the section size calculation the minimum length for the Block End // record that will be placed at the end (no padding included yet) addRecordLength(_ihex__WEBPACK_IMPORTED_MODULE_0__.blockEndRecord(0)); // Calculate padding required to end in a 512-byte boundary var recordNoDataLenChars = _ihex__WEBPACK_IMPORTED_MODULE_0__.paddedDataRecord(0).length + 1; var recordDataMaxBytes = _ihex__WEBPACK_IMPORTED_MODULE_0__.findDataFieldLength(hexRecords); var paddingCapacityChars = recordDataMaxBytes * 2; var charsNeeded = (BLOCK_SIZE - (sectionLen % BLOCK_SIZE)) % BLOCK_SIZE; while (charsNeeded > paddingCapacityChars) { var byteLen = (charsNeeded - recordNoDataLenChars) >> 1; // Integer div 2 var record = _ihex__WEBPACK_IMPORTED_MODULE_0__.paddedDataRecord(Math.min(byteLen, recordDataMaxBytes)); addRecord(record); charsNeeded = (BLOCK_SIZE - (sectionLen % BLOCK_SIZE)) % BLOCK_SIZE; } sectionLines.push(_ihex__WEBPACK_IMPORTED_MODULE_0__.blockEndRecord(charsNeeded >> 1)); if (endOfFile) sectionLines.push(_ihex__WEBPACK_IMPORTED_MODULE_0__.endOfFileRecord()); sectionLines.push(''); // Ensure there is a blank new line at the end return sectionLines.join('\n'); } /** * Creates a Universal Hex from a collection of Intel Hex strings and their * board IDs. * * For the current micro:bit board versions use the values from the * `microbitBoardId` enum. * * @param hexes An array of objects containing an Intel Hex string and the board * ID associated with it. * @param blocks Indicate if the Universal Hex format should be "blocks" * instead of "sections". The current specification recommends using the * default "sections" format as is much quicker in micro:bits with DAPLink * version 0234. * @returns A Universal Hex string. */ function createUniversalHex(hexes, blocks) { if (blocks === void 0) { blocks = false; } if (!hexes.length) return ''; var iHexToCustomFormat = blocks ? iHexToCustomFormatBlocks : iHexToCustomFormatSection; var eofNlRecord = _ihex__WEBPACK_IMPORTED_MODULE_0__.endOfFileRecord() + '\n'; var customHexes = []; // We remove the EoF record from all but the last hex file so that the last // blocks are padded and there is single EoF record for (var i = 0; i < hexes.length - 1; i++) { var customHex = iHexToCustomFormat(hexes[i].hex, hexes[i].boardId); if (customHex.endsWith(eofNlRecord)) { customHex = customHex.slice(0, customHex.length - eofNlRecord.length); } customHexes.push(customHex); } // Process the last hex file with a guaranteed EoF record var lastCustomHex = iHexToCustomFormat(hexes[hexes.length - 1].hex, hexes[hexes.length - 1].boardId); customHexes.push(lastCustomHex); if (!lastCustomHex.endsWith(eofNlRecord)) { customHexes.push(eofNlRecord); } return customHexes.join(''); } /** * Checks if the provided hex string is a Universal Hex. * * Very simple test only checking for the opening Extended Linear Address and * Block Start records. * * The string is manually iterated as this method can be x20 faster than * breaking the string into records and checking their types with the ihex * functions. * * @param hexStr Hex string to check * @return True if the hex is an Universal Hex. */ function isUniversalHex(hexStr) { // Check the beginning of the Extended Linear Address record var elaRecordBeginning = ':02000004'; if (hexStr.slice(0, elaRecordBeginning.length) !== elaRecordBeginning) { return false; } // Find the index for the next record, as we have unknown line endings var i = elaRecordBeginning.length; while (hexStr[++i] !== ':' && i < _ihex__WEBPACK_IMPORTED_MODULE_0__.MAX_RECORD_STR_LEN + 3) ; // Check the beginning of the Block Start record var blockStartBeginning = ':0400000A'; if (hexStr.slice(i, i + blockStartBeginning.length) !== blockStartBeginning) { return false; } return true; } /** * Checks if the provided array of hex records form part of a Universal Hex. * * @param records Array of hex records to check. * @return True if the records belong to a Universal Hex. */ function isUniversalHexRecords(records) { return (_ihex__WEBPACK_IMPORTED_MODULE_0__.getRecordType(records[0]) === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.ExtendedLinearAddress && _ihex__WEBPACK_IMPORTED_MODULE_0__.getRecordType(records[1]) === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.BlockStart && _ihex__WEBPACK_IMPORTED_MODULE_0__.getRecordType(records[records.length - 1]) === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.EndOfFile); } /** * Checks if the array of records belongs to an Intel Hex file from MakeCode for * micro:bit V1. * * @param records Array of hex records to check. * @return True if the records belong to a MakeCode hex file for micro:bit V1. */ function isMakeCodeForV1HexRecords(records) { var i = records.indexOf(_ihex__WEBPACK_IMPORTED_MODULE_0__.endOfFileRecord()); if (i === records.length - 1) { // A MakeCode v0 hex file will place the metadata in RAM before the EoF while (--i > 0) { if (records[i] === _ihex__WEBPACK_IMPORTED_MODULE_0__.extLinAddressRecord(0x20000000)) { return true; } } } while (++i < records.length) { // Other data records used to store the MakeCode project metadata (v2 and v3) if (_ihex__WEBPACK_IMPORTED_MODULE_0__.getRecordType(records[i]) === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.OtherData) { return true; } // In MakeCode v1 metadata went to RAM memory space 0x2000_0000 if (records[i] === _ihex__WEBPACK_IMPORTED_MODULE_0__.extLinAddressRecord(0x20000000)) { return true; } } return false; } /** * Checks if the Hex string is an Intel Hex file from MakeCode for micro:bit V1. * * @param hexStr Hex string to check * @return True if the hex is an Universal Hex. */ function isMakeCodeForV1Hex(hexStr) { return isMakeCodeForV1HexRecords(_ihex__WEBPACK_IMPORTED_MODULE_0__.iHexToRecordStrs(hexStr)); } /** * Separates a Universal Hex into its individual Intel Hexes. * * @param universalHexStr Universal Hex string with the Universal Hex. * @returns An array of object with boardId and hex keys. */ function separateUniversalHex(universalHexStr) { var records = _ihex__WEBPACK_IMPORTED_MODULE_0__.iHexToRecordStrs(universalHexStr); if (!records.length) throw new Error('Empty Universal Hex.'); if (!isUniversalHexRecords(records)) { throw new Error('Universal Hex format invalid.'); } var passThroughRecords = [ _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.Data, _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.EndOfFile, _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.ExtendedSegmentAddress, _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.StartSegmentAddress, ]; // Initialise the structure to hold the different hexes var hexes = {}; var currentBoardId = 0; for (var i = 0; i < records.length; i++) { var record = records[i]; var recordType = _ihex__WEBPACK_IMPORTED_MODULE_0__.getRecordType(record); if (passThroughRecords.includes(recordType)) { hexes[currentBoardId].hex.push(record); } else if (recordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.CustomData) { hexes[currentBoardId].hex.push(_ihex__WEBPACK_IMPORTED_MODULE_0__.convertRecordTo(record, _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.Data)); } else if (recordType === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.ExtendedLinearAddress) { // Extended Linear Address can be found as the start of a new block // No need to check array size as it's confirmed hex ends with an EoF var nextRecord = records[i + 1]; if (_ihex__WEBPACK_IMPORTED_MODULE_0__.getRecordType(nextRecord) === _ihex__WEBPACK_IMPORTED_MODULE_0__.RecordType.BlockStart) { // Processes the Block Start record (only first 2 bytes for Board ID) var blockStartData = _ihex__WEBPACK_IMPORTED_MODULE_0__.getRecordData(nextRecord); if (blockStartData.length !== 4) { throw new Error("Block Start record invalid: " + nextRecord); } currentBoardId = (blockStartData[0] << 8) + blockStartData[1]; hexes[currentBoardId] = hexes[currentBoardId] || { boardId: currentBoardId, lastExtAdd: record, hex: [record], }; i++; } if (hexes[currentBoardId].lastExtAdd !== record) { hexes[currentBoardId].lastExtAdd = record; hexes[currentBoardId].hex.push(record); } } } // Form the return object with the same format as createUniversalHex() input var returnArray = []; Object.keys(hexes).forEach(function (boardId) { // Ensure all hexes (and not just the last) contain the EoF record var hex = hexes[boardId].hex; if (hex[hex.length - 1] !== _ihex__WEBPACK_IMPORTED_MODULE_0__.endOfFileRecord()) { hex[hex.length] = _ihex__WEBPACK_IMPORTED_MODULE_0__.endOfFileRecord(); } returnArray.push({ boardId: hexes[boardId].boardId, hex: hex.join('\n') + '\n', }); }); return returnArray; } //# sourceMappingURL=universal-hex.js.map /***/ }, /***/ "./node_modules/@microbit/microbit-universal-hex/dist/esm5/utils.js" /*!**************************************************************************!*\ !*** ./node_modules/@microbit/microbit-universal-hex/dist/esm5/utils.js ***! \**************************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ byteArrayToHexStr: () => (/* binding */ byteArrayToHexStr), /* harmony export */ byteToHexStr: () => (/* binding */ byteToHexStr), /* harmony export */ byteToHexStrFast: () => (/* binding */ byteToHexStrFast), /* harmony export */ concatUint8Arrays: () => (/* binding */ concatUint8Arrays), /* harmony export */ hexStrToBytes: () => (/* binding */ hexStrToBytes) /* harmony export */ }); /** * General utilities. * @packageDocumentation * * (c) 2020 Micro:bit Educational Foundation and the project contributors. * SPDX-License-Identifier: MIT */ /** * Convert from a string with a hexadecimal number into a Uint8Array byte array. * * @export * @param hexStr A string with a hexadecimal number. * @returns A Uint8Array with the number broken down in bytes. */ function hexStrToBytes(hexStr) { if (hexStr.length % 2 !== 0) { throw new Error("Hex string \"" + hexStr + "\" is not divisible by 2."); } var byteArray = hexStr.match(/.{1,2}/g); if (byteArray) { return new Uint8Array(byteArray.map(function (byteStr) { var byteNum = parseInt(byteStr, 16); if (Number.isNaN(byteNum)) { throw new Error("There were some non-hex characters in \"" + hexStr + "\"."); } else { return byteNum; } })); } else { return new Uint8Array(); } } /** * Convert a positive integer byte (0 to 0xFF) into a hex string. * * @export * @param byte Number to convert into a hex string. * @param prefix Boolean to add '0x' to the beginning of the string. * @returns String with hex value, padded to always at least 2 characters. */ function byteToHexStr(byte, prefix) { if (prefix === void 0) { prefix = false; } if (!Number.isInteger(byte)) { throw new Error("Number to convert to hex is not an integer: " + byte); } if (byte < 0 || byte > 0xff) { throw new Error("Number to convert to hex does not fit in an unsigned byte: " + byte); } var hexStr = byteToHexStrFast(byte); return prefix ? "0x" + hexStr : hexStr; } /** * A version of byteToHexStr() without input sanitation, only to be called when * the caller can guarantee the input is a positive integer between 0 and 0xFF. * * @export * @param byte Number to convert into a hex string. * @returns String with hex value, padded to always have 2 characters. */ function byteToHexStrFast(byte) { return byte.toString(16).toUpperCase().padStart(2, '0'); } /** * Converts a Uint8Array into a string with base 16 hex digits. It doesn't * include an opening '0x'. * * @export * @param byteArray Uint8Array to convert to hex. * @returns String with base 16 hex digits. */ function byteArrayToHexStr(byteArray) { return byteArray.reduce(function (accumulator, current) { return accumulator + current.toString(16).toUpperCase().padStart(2, '0'); }, ''); } /** * Concatenates an array of Uint8Arrays into a single Uint8Array. * * @export * @param arraysToConcat Arrays to concatenate. * @returns Single concatenated Uint8Array. */ function concatUint8Arrays(arraysToConcat) { var fullLength = arraysToConcat.reduce(function (accumulator, currentValue) { return accumulator + currentValue.length; }, 0); var combined = new Uint8Array(fullLength); arraysToConcat.reduce(function (accumulator, currentArray) { combined.set(currentArray, accumulator); return accumulator + currentArray.length; }, 0); return combined; } //# sourceMappingURL=utils.js.map /***/ }, /***/ "./node_modules/@scratch/paper/dist/paper-full.js" /*!********************************************************!*\ !*** ./node_modules/@scratch/paper/dist/paper-full.js ***! \********************************************************/ (module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! * Paper.js v0.12.7 - The Swiss Army Knife of Vector Graphics Scripting. * http://paperjs.org/ * * Copyright (c) 2011 - 2020, Jürg Lehni & Jonathan Puckey * http://juerglehni.com/ & https://puckey.studio/ * * Distributed under the MIT license. See LICENSE file for details. * * All rights reserved. * * Date: Thu Dec 1 12:02:03 2022 -0800 * *** * * Straps.js - Class inheritance library with support for bean-style accessors * * Copyright (c) 2006 - 2020 Jürg Lehni * http://juerglehni.com/ * * Distributed under the MIT license. * *** * * Acorn.js * https://marijnhaverbeke.nl/acorn/ * * Acorn is a tiny, fast JavaScript parser written in JavaScript, * created by Marijn Haverbeke and released under an MIT license. * */ var paper = function(self, undefined) { self = self || __webpack_require__(/*! ./node/self.js */ "?fcde"); var window = self.window ? self.window : self, document = self.document; var Base = new function() { var hidden = /^(statics|enumerable|beans|preserve)$/, array = [], slice = array.slice, create = Object.create, describe = Object.getOwnPropertyDescriptor, define = Object.defineProperty, forEach = array.forEach || function(iter, bind) { for (var i = 0, l = this.length; i < l; i++) { iter.call(bind, this[i], i, this); } }, forIn = function(iter, bind) { for (var i in this) { if (this.hasOwnProperty(i)) iter.call(bind, this[i], i, this); } }, set = Object.assign || function(dst) { for (var i = 1, l = arguments.length; i < l; i++) { var src = arguments[i]; for (var key in src) { if (src.hasOwnProperty(key)) dst[key] = src[key]; } } return dst; }, each = function(obj, iter, bind) { if (obj) { var desc = describe(obj, 'length'); (desc && typeof desc.value === 'number' ? forEach : forIn) .call(obj, iter, bind = bind || obj); } return bind; }; function inject(dest, src, enumerable, beans, preserve) { var beansNames = {}; function field(name, val) { val = val || (val = describe(src, name)) && (val.get ? val : val.value); if (typeof val === 'string' && val[0] === '#') val = dest[val.substring(1)] || val; var isFunc = typeof val === 'function', res = val, prev = preserve || isFunc && !val.base ? (val && val.get ? name in dest : dest[name]) : null, bean; if (!preserve || !prev) { if (isFunc && prev) val.base = prev; if (isFunc && beans !== false && (bean = name.match(/^([gs]et|is)(([A-Z])(.*))$/))) beansNames[bean[3].toLowerCase() + bean[4]] = bean[2]; if (!res || isFunc || !res.get || typeof res.get !== 'function' || !Base.isPlainObject(res)) { res = { value: res, writable: true }; } if ((describe(dest, name) || { configurable: true }).configurable) { res.configurable = true; res.enumerable = enumerable != null ? enumerable : !bean; } define(dest, name, res); } } if (src) { for (var name in src) { if (src.hasOwnProperty(name) && !hidden.test(name)) field(name); } for (var name in beansNames) { var part = beansNames[name], set = dest['set' + part], get = dest['get' + part] || set && dest['is' + part]; if (get && (beans === true || get.length === 0)) field(name, { get: get, set: set }); } } return dest; } function Base() { for (var i = 0, l = arguments.length; i < l; i++) { var src = arguments[i]; if (src) set(this, src); } return this; } return inject(Base, { inject: function(src) { if (src) { var statics = src.statics === true ? src : src.statics, beans = src.beans, preserve = src.preserve; if (statics !== src) inject(this.prototype, src, src.enumerable, beans, preserve); inject(this, statics, null, beans, preserve); } for (var i = 1, l = arguments.length; i < l; i++) this.inject(arguments[i]); return this; }, extend: function() { var base = this, ctor, proto; for (var i = 0, obj, l = arguments.length; i < l && !(ctor && proto); i++) { obj = arguments[i]; ctor = ctor || obj.initialize; proto = proto || obj.prototype; } ctor = ctor || function() { base.apply(this, arguments); }; proto = ctor.prototype = proto || create(this.prototype); define(proto, 'constructor', { value: ctor, writable: true, configurable: true }); inject(ctor, this); if (arguments.length) this.inject.apply(ctor, arguments); ctor.base = base; return ctor; } }).inject({ enumerable: false, initialize: Base, set: Base, inject: function() { for (var i = 0, l = arguments.length; i < l; i++) { var src = arguments[i]; if (src) { inject(this, src, src.enumerable, src.beans, src.preserve); } } return this; }, extend: function() { var res = create(this); return res.inject.apply(res, arguments); }, each: function(iter, bind) { return each(this, iter, bind); }, clone: function() { return new this.constructor(this); }, statics: { set: set, each: each, create: create, define: define, describe: describe, clone: function(obj) { return set(new obj.constructor(), obj); }, isPlainObject: function(obj) { var ctor = obj != null && obj.constructor; return ctor && (ctor === Object || ctor === Base || ctor.name === 'Object'); }, pick: function(a, b) { return a !== undefined ? a : b; }, slice: function(list, begin, end) { return slice.call(list, begin, end); } } }); }; if (true) module.exports = Base; Base.inject({ enumerable: false, toString: function() { return this._id != null ? (this._class || 'Object') + (this._name ? " '" + this._name + "'" : ' @' + this._id) : '{ ' + Base.each(this, function(value, key) { if (!/^_/.test(key)) { var type = typeof value; this.push(key + ': ' + (type === 'number' ? Formatter.instance.number(value) : type === 'string' ? "'" + value + "'" : value)); } }, []).join(', ') + ' }'; }, getClassName: function() { return this._class || ''; }, importJSON: function(json) { return Base.importJSON(json, this); }, exportJSON: function(options) { return Base.exportJSON(this, options); }, toJSON: function() { return Base.serialize(this); }, set: function(props, exclude) { if (props) Base.filter(this, props, exclude, this._prioritize); return this; } }, { beans: false, statics: { exports: {}, extend: function extend() { var res = extend.base.apply(this, arguments), name = res.prototype._class; if (name && !Base.exports[name]) Base.exports[name] = res; return res; }, equals: function(obj1, obj2) { if (obj1 === obj2) return true; if (obj1 && obj1.equals) return obj1.equals(obj2); if (obj2 && obj2.equals) return obj2.equals(obj1); if (obj1 && obj2 && typeof obj1 === 'object' && typeof obj2 === 'object') { if (Array.isArray(obj1) && Array.isArray(obj2)) { var length = obj1.length; if (length !== obj2.length) return false; while (length--) { if (!Base.equals(obj1[length], obj2[length])) return false; } } else { var keys = Object.keys(obj1), length = keys.length; if (length !== Object.keys(obj2).length) return false; while (length--) { var key = keys[length]; if (!(obj2.hasOwnProperty(key) && Base.equals(obj1[key], obj2[key]))) return false; } } return true; } return false; }, read: function(list, start, options, amount) { if (this === Base) { var value = this.peek(list, start); list.__index++; return value; } var proto = this.prototype, readIndex = proto._readIndex, begin = start || readIndex && list.__index || 0, length = list.length, obj = list[begin]; amount = amount || length - begin; if (obj instanceof this || options && options.readNull && obj == null && amount <= 1) { if (readIndex) list.__index = begin + 1; return obj && options && options.clone ? obj.clone() : obj; } obj = Base.create(proto); if (readIndex) obj.__read = true; obj = obj.initialize.apply(obj, begin > 0 || begin + amount < length ? Base.slice(list, begin, begin + amount) : list) || obj; if (readIndex) { list.__index = begin + obj.__read; var filtered = obj.__filtered; if (filtered) { list.__filtered = filtered; obj.__filtered = undefined; } obj.__read = undefined; } return obj; }, peek: function(list, start) { return list[list.__index = start || list.__index || 0]; }, remain: function(list) { return list.length - (list.__index || 0); }, readList: function(list, start, options, amount) { var res = [], entry, begin = start || 0, end = amount ? begin + amount : list.length; for (var i = begin; i < end; i++) { res.push(Array.isArray(entry = list[i]) ? this.read(entry, 0, options) : this.read(list, i, options, 1)); } return res; }, readNamed: function(list, name, start, options, amount) { var value = this.getNamed(list, name), hasValue = value !== undefined; if (hasValue) { var filtered = list.__filtered; if (!filtered) { var source = this.getSource(list); filtered = list.__filtered = Base.create(source); filtered.__unfiltered = source; } filtered[name] = undefined; } return this.read(hasValue ? [value] : list, start, options, amount); }, readSupported: function(list, dest) { var source = this.getSource(list), that = this, read = false; if (source) { Object.keys(source).forEach(function(key) { if (key in dest) { var value = that.readNamed(list, key); if (value !== undefined) { dest[key] = value; } read = true; } }); } return read; }, getSource: function(list) { var source = list.__source; if (source === undefined) { var arg = list.length === 1 && list[0]; source = list.__source = arg && Base.isPlainObject(arg) ? arg : null; } return source; }, getNamed: function(list, name) { var source = this.getSource(list); if (source) { return name ? source[name] : list.__filtered || source; } }, hasNamed: function(list, name) { return !!this.getNamed(list, name); }, filter: function(dest, source, exclude, prioritize) { var processed; function handleKey(key) { if (!(exclude && key in exclude) && !(processed && key in processed)) { var value = source[key]; if (value !== undefined) dest[key] = value; } } if (prioritize) { var keys = {}; for (var i = 0, key, l = prioritize.length; i < l; i++) { if ((key = prioritize[i]) in source) { handleKey(key); keys[key] = true; } } processed = keys; } Object.keys(source.__unfiltered || source).forEach(handleKey); return dest; }, isPlainValue: function(obj, asString) { return Base.isPlainObject(obj) || Array.isArray(obj) || asString && typeof obj === 'string'; }, serialize: function(obj, options, compact, dictionary) { options = options || {}; var isRoot = !dictionary, res; if (isRoot) { options.formatter = new Formatter(options.precision); dictionary = { length: 0, definitions: {}, references: {}, add: function(item, create) { var id = '#' + item._id, ref = this.references[id]; if (!ref) { this.length++; var res = create.call(item), name = item._class; if (name && res[0] !== name) res.unshift(name); this.definitions[id] = res; ref = this.references[id] = [id]; } return ref; } }; } if (obj && obj._serialize) { res = obj._serialize(options, dictionary); var name = obj._class; if (name && !obj._compactSerialize && (isRoot || !compact) && res[0] !== name) { res.unshift(name); } } else if (Array.isArray(obj)) { res = []; for (var i = 0, l = obj.length; i < l; i++) res[i] = Base.serialize(obj[i], options, compact, dictionary); } else if (Base.isPlainObject(obj)) { res = {}; var keys = Object.keys(obj); for (var i = 0, l = keys.length; i < l; i++) { var key = keys[i]; res[key] = Base.serialize(obj[key], options, compact, dictionary); } } else if (typeof obj === 'number') { res = options.formatter.number(obj, options.precision); } else { res = obj; } return isRoot && dictionary.length > 0 ? [['dictionary', dictionary.definitions], res] : res; }, deserialize: function(json, create, _data, _setDictionary, _isRoot) { var res = json, isFirst = !_data, hasDictionary = isFirst && json && json.length && json[0][0] === 'dictionary'; _data = _data || {}; if (Array.isArray(json)) { var type = json[0], isDictionary = type === 'dictionary'; if (json.length == 1 && /^#/.test(type)) { return _data.dictionary[type]; } type = Base.exports[type]; res = []; for (var i = type ? 1 : 0, l = json.length; i < l; i++) { res.push(Base.deserialize(json[i], create, _data, isDictionary, hasDictionary)); } if (type) { var args = res; if (create) { res = create(type, args, isFirst || _isRoot); } else { res = new type(args); } } } else if (Base.isPlainObject(json)) { res = {}; if (_setDictionary) _data.dictionary = res; for (var key in json) res[key] = Base.deserialize(json[key], create, _data); } return hasDictionary ? res[1] : res; }, exportJSON: function(obj, options) { var json = Base.serialize(obj, options); return options && options.asString == false ? json : JSON.stringify(json); }, importJSON: function(json, target) { return Base.deserialize( typeof json === 'string' ? JSON.parse(json) : json, function(ctor, args, isRoot) { var useTarget = isRoot && target && target.constructor === ctor, obj = useTarget ? target : Base.create(ctor.prototype); if (args.length === 1 && obj instanceof Item && (useTarget || !(obj instanceof Layer))) { var arg = args[0]; if (Base.isPlainObject(arg)) { arg.insert = false; if (useTarget) { args = args.concat([{ insert: true }]); } } } (useTarget ? obj.set : ctor).apply(obj, args); if (useTarget) target = null; return obj; }); }, push: function(list, items) { var itemsLength = items.length; if (itemsLength < 4096) { list.push.apply(list, items); } else { var startLength = list.length; list.length += itemsLength; for (var i = 0; i < itemsLength; i++) { list[startLength + i] = items[i]; } } return list; }, splice: function(list, items, index, remove) { var amount = items && items.length, append = index === undefined; index = append ? list.length : index; if (index > list.length) index = list.length; for (var i = 0; i < amount; i++) items[i]._index = index + i; if (append) { Base.push(list, items); return []; } else { var args = [index, remove]; if (items) Base.push(args, items); var removed = list.splice.apply(list, args); for (var i = 0, l = removed.length; i < l; i++) removed[i]._index = undefined; for (var i = index + amount, l = list.length; i < l; i++) list[i]._index = i; return removed; } }, capitalize: function(str) { return str.replace(/\b[a-z]/g, function(match) { return match.toUpperCase(); }); }, camelize: function(str) { return str.replace(/-(.)/g, function(match, chr) { return chr.toUpperCase(); }); }, hyphenate: function(str) { return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); } }}); var Emitter = { on: function(type, func) { if (typeof type !== 'string') { Base.each(type, function(value, key) { this.on(key, value); }, this); } else { var types = this._eventTypes, entry = types && types[type], handlers = this._callbacks = this._callbacks || {}; handlers = handlers[type] = handlers[type] || []; if (handlers.indexOf(func) === -1) { handlers.push(func); if (entry && entry.install && handlers.length === 1) entry.install.call(this, type); } } return this; }, off: function(type, func) { if (typeof type !== 'string') { Base.each(type, function(value, key) { this.off(key, value); }, this); return; } var types = this._eventTypes, entry = types && types[type], handlers = this._callbacks && this._callbacks[type], index; if (handlers) { if (!func || (index = handlers.indexOf(func)) !== -1 && handlers.length === 1) { if (entry && entry.uninstall) entry.uninstall.call(this, type); delete this._callbacks[type]; } else if (index !== -1) { handlers.splice(index, 1); } } return this; }, once: function(type, func) { return this.on(type, function handler() { func.apply(this, arguments); this.off(type, handler); }); }, emit: function(type, event) { var handlers = this._callbacks && this._callbacks[type]; if (!handlers) return false; var args = Base.slice(arguments, 1), setTarget = event && event.target && !event.currentTarget; handlers = handlers.slice(); if (setTarget) event.currentTarget = this; for (var i = 0, l = handlers.length; i < l; i++) { if (handlers[i].apply(this, args) == false) { if (event && event.stop) event.stop(); break; } } if (setTarget) delete event.currentTarget; return true; }, responds: function(type) { return !!(this._callbacks && this._callbacks[type]); }, attach: '#on', detach: '#off', fire: '#emit', _installEvents: function(install) { var types = this._eventTypes, handlers = this._callbacks, key = install ? 'install' : 'uninstall'; if (types) { for (var type in handlers) { if (handlers[type].length > 0) { var entry = types[type], func = entry && entry[key]; if (func) func.call(this, type); } } } }, statics: { inject: function inject(src) { var events = src._events; if (events) { var types = {}; Base.each(events, function(entry, key) { var isString = typeof entry === 'string', name = isString ? entry : key, part = Base.capitalize(name), type = name.substring(2).toLowerCase(); types[type] = isString ? {} : entry; name = '_' + name; src['get' + part] = function() { return this[name]; }; src['set' + part] = function(func) { var prev = this[name]; if (prev) this.off(type, prev); if (func) this.on(type, func); this[name] = func; }; }); src._eventTypes = types; } return inject.base.apply(this, arguments); } } }; var PaperScope = Base.extend({ _class: 'PaperScope', initialize: function PaperScope() { paper = this; this.settings = new Base({ applyMatrix: true, insertItems: true, handleSize: 4, hitTolerance: 0 }); this.project = null; this.projects = []; this.tools = []; this._id = PaperScope._id++; PaperScope._scopes[this._id] = this; var proto = PaperScope.prototype; if (!this.support) { var ctx = CanvasProvider.getContext(1, 1) || {}; proto.support = { nativeDash: 'setLineDash' in ctx || 'mozDash' in ctx, nativeBlendModes: BlendMode.nativeModes }; CanvasProvider.release(ctx); } if (!this.agent) { var user = self.navigator.userAgent.toLowerCase(), os = (/(darwin|win|mac|linux|freebsd|sunos)/.exec(user)||[])[0], platform = os === 'darwin' ? 'mac' : os, agent = proto.agent = proto.browser = { platform: platform }; if (platform) agent[platform] = true; user.replace( /(opera|chrome|safari|webkit|firefox|msie|trident|atom|node|jsdom)\/?\s*([.\d]+)(?:.*version\/([.\d]+))?(?:.*rv\:v?([.\d]+))?/g, function(match, n, v1, v2, rv) { if (!agent.chrome) { var v = n === 'opera' ? v2 : /^(node|trident)$/.test(n) ? rv : v1; agent.version = v; agent.versionNumber = parseFloat(v); n = { trident: 'msie', jsdom: 'node' }[n] || n; agent.name = n; agent[n] = true; } } ); if (agent.chrome) delete agent.webkit; if (agent.atom) delete agent.chrome; } }, version: "0.12.7", getView: function() { var project = this.project; return project && project._view; }, getPaper: function() { return this; }, execute: function(code, options) { var exports = paper.PaperScript.execute(code, this, options); View.updateFocus(); return exports; }, install: function(scope) { var that = this; Base.each(['project', 'view', 'tool'], function(key) { Base.define(scope, key, { configurable: true, get: function() { return that[key]; } }); }); for (var key in this) if (!/^_/.test(key) && this[key]) scope[key] = this[key]; }, setup: function(element) { paper = this; this.project = new Project(element); return this; }, createCanvas: function(width, height) { return CanvasProvider.getCanvas(width, height); }, activate: function() { paper = this; }, clear: function() { var projects = this.projects, tools = this.tools; for (var i = projects.length - 1; i >= 0; i--) projects[i].remove(); for (var i = tools.length - 1; i >= 0; i--) tools[i].remove(); }, remove: function() { this.clear(); delete PaperScope._scopes[this._id]; }, statics: new function() { function handleAttribute(name) { name += 'Attribute'; return function(el, attr) { return el[name](attr) || el[name]('data-paper-' + attr); }; } return { _scopes: {}, _id: 0, get: function(id) { return this._scopes[id] || null; }, getAttribute: handleAttribute('get'), hasAttribute: handleAttribute('has') }; } }); var PaperScopeItem = Base.extend(Emitter, { initialize: function(activate) { this._scope = paper; this._index = this._scope[this._list].push(this) - 1; if (activate || !this._scope[this._reference]) this.activate(); }, activate: function() { if (!this._scope) return false; var prev = this._scope[this._reference]; if (prev && prev !== this) prev.emit('deactivate'); this._scope[this._reference] = this; this.emit('activate', prev); return true; }, isActive: function() { return this._scope[this._reference] === this; }, remove: function() { if (this._index == null) return false; Base.splice(this._scope[this._list], null, this._index, 1); if (this._scope[this._reference] == this) this._scope[this._reference] = null; this._scope = null; return true; }, getView: function() { return this._scope.getView(); } }); var CollisionDetection = { findItemBoundsCollisions: function(items1, items2, tolerance) { function getBounds(items) { var bounds = new Array(items.length); for (var i = 0; i < items.length; i++) { var rect = items[i].getBounds(); bounds[i] = [rect.left, rect.top, rect.right, rect.bottom]; } return bounds; } var bounds1 = getBounds(items1), bounds2 = !items2 || items2 === items1 ? bounds1 : getBounds(items2); return this.findBoundsCollisions(bounds1, bounds2, tolerance || 0); }, findCurveBoundsCollisions: function(curves1, curves2, tolerance, bothAxis) { function getBounds(curves) { var min = Math.min, max = Math.max, bounds = new Array(curves.length); for (var i = 0; i < curves.length; i++) { var v = curves[i]; bounds[i] = [ min(v[0], v[2], v[4], v[6]), min(v[1], v[3], v[5], v[7]), max(v[0], v[2], v[4], v[6]), max(v[1], v[3], v[5], v[7]) ]; } return bounds; } var bounds1 = getBounds(curves1), bounds2 = !curves2 || curves2 === curves1 ? bounds1 : getBounds(curves2); if (bothAxis) { var hor = this.findBoundsCollisions( bounds1, bounds2, tolerance || 0, false, true), ver = this.findBoundsCollisions( bounds1, bounds2, tolerance || 0, true, true), list = []; for (var i = 0, l = hor.length; i < l; i++) { list[i] = { hor: hor[i], ver: ver[i] }; } return list; } return this.findBoundsCollisions(bounds1, bounds2, tolerance || 0); }, findBoundsCollisions: function(boundsA, boundsB, tolerance, sweepVertical, onlySweepAxisCollisions) { var self = !boundsB || boundsA === boundsB, allBounds = self ? boundsA : boundsA.concat(boundsB), lengthA = boundsA.length, lengthAll = allBounds.length; function binarySearch(indices, coord, value) { var lo = 0, hi = indices.length; while (lo < hi) { var mid = (hi + lo) >>> 1; if (allBounds[indices[mid]][coord] < value) { lo = mid + 1; } else { hi = mid; } } return lo - 1; } var pri0 = sweepVertical ? 1 : 0, pri1 = pri0 + 2, sec0 = sweepVertical ? 0 : 1, sec1 = sec0 + 2; var allIndicesByPri0 = new Array(lengthAll); for (var i = 0; i < lengthAll; i++) { allIndicesByPri0[i] = i; } allIndicesByPri0.sort(function(i1, i2) { return allBounds[i1][pri0] - allBounds[i2][pri0]; }); var activeIndicesByPri1 = [], allCollisions = new Array(lengthA); for (var i = 0; i < lengthAll; i++) { var curIndex = allIndicesByPri0[i], curBounds = allBounds[curIndex], origIndex = self ? curIndex : curIndex - lengthA, isCurrentA = curIndex < lengthA, isCurrentB = self || !isCurrentA, curCollisions = isCurrentA ? [] : null; if (activeIndicesByPri1.length) { var pruneCount = binarySearch(activeIndicesByPri1, pri1, curBounds[pri0] - tolerance) + 1; activeIndicesByPri1.splice(0, pruneCount); if (self && onlySweepAxisCollisions) { curCollisions = curCollisions.concat(activeIndicesByPri1); for (var j = 0; j < activeIndicesByPri1.length; j++) { var activeIndex = activeIndicesByPri1[j]; allCollisions[activeIndex].push(origIndex); } } else { var curSec1 = curBounds[sec1], curSec0 = curBounds[sec0]; for (var j = 0; j < activeIndicesByPri1.length; j++) { var activeIndex = activeIndicesByPri1[j], activeBounds = allBounds[activeIndex], isActiveA = activeIndex < lengthA, isActiveB = self || activeIndex >= lengthA; if ( onlySweepAxisCollisions || ( isCurrentA && isActiveB || isCurrentB && isActiveA ) && ( curSec1 >= activeBounds[sec0] - tolerance && curSec0 <= activeBounds[sec1] + tolerance ) ) { if (isCurrentA && isActiveB) { curCollisions.push( self ? activeIndex : activeIndex - lengthA); } if (isCurrentB && isActiveA) { allCollisions[activeIndex].push(origIndex); } } } } } if (isCurrentA) { if (boundsA === boundsB) { curCollisions.push(curIndex); } allCollisions[curIndex] = curCollisions; } if (activeIndicesByPri1.length) { var curPri1 = curBounds[pri1], index = binarySearch(activeIndicesByPri1, pri1, curPri1); activeIndicesByPri1.splice(index + 1, 0, curIndex); } else { activeIndicesByPri1.push(curIndex); } } for (var i = 0; i < allCollisions.length; i++) { var collisions = allCollisions[i]; if (collisions) { collisions.sort(function(i1, i2) { return i1 - i2; }); } } return allCollisions; } }; var Formatter = Base.extend({ initialize: function(precision) { this.precision = Base.pick(precision, 5); this.multiplier = Math.pow(10, this.precision); }, number: function(val) { return this.precision < 16 ? Math.round(val * this.multiplier) / this.multiplier : val; }, pair: function(val1, val2, separator) { return this.number(val1) + (separator || ',') + this.number(val2); }, point: function(val, separator) { return this.number(val.x) + (separator || ',') + this.number(val.y); }, size: function(val, separator) { return this.number(val.width) + (separator || ',') + this.number(val.height); }, rectangle: function(val, separator) { return this.point(val, separator) + (separator || ',') + this.size(val, separator); } }); Formatter.instance = new Formatter(); var Numerical = new function() { var abscissas = [ [ 0.5773502691896257645091488], [0,0.7745966692414833770358531], [ 0.3399810435848562648026658,0.8611363115940525752239465], [0,0.5384693101056830910363144,0.9061798459386639927976269], [ 0.2386191860831969086305017,0.6612093864662645136613996,0.9324695142031520278123016], [0,0.4058451513773971669066064,0.7415311855993944398638648,0.9491079123427585245261897], [ 0.1834346424956498049394761,0.5255324099163289858177390,0.7966664774136267395915539,0.9602898564975362316835609], [0,0.3242534234038089290385380,0.6133714327005903973087020,0.8360311073266357942994298,0.9681602395076260898355762], [ 0.1488743389816312108848260,0.4333953941292471907992659,0.6794095682990244062343274,0.8650633666889845107320967,0.9739065285171717200779640], [0,0.2695431559523449723315320,0.5190961292068118159257257,0.7301520055740493240934163,0.8870625997680952990751578,0.9782286581460569928039380], [ 0.1252334085114689154724414,0.3678314989981801937526915,0.5873179542866174472967024,0.7699026741943046870368938,0.9041172563704748566784659,0.9815606342467192506905491], [0,0.2304583159551347940655281,0.4484927510364468528779129,0.6423493394403402206439846,0.8015780907333099127942065,0.9175983992229779652065478,0.9841830547185881494728294], [ 0.1080549487073436620662447,0.3191123689278897604356718,0.5152486363581540919652907,0.6872929048116854701480198,0.8272013150697649931897947,0.9284348836635735173363911,0.9862838086968123388415973], [0,0.2011940939974345223006283,0.3941513470775633698972074,0.5709721726085388475372267,0.7244177313601700474161861,0.8482065834104272162006483,0.9372733924007059043077589,0.9879925180204854284895657], [ 0.0950125098376374401853193,0.2816035507792589132304605,0.4580167776572273863424194,0.6178762444026437484466718,0.7554044083550030338951012,0.8656312023878317438804679,0.9445750230732325760779884,0.9894009349916499325961542] ]; var weights = [ [1], [0.8888888888888888888888889,0.5555555555555555555555556], [0.6521451548625461426269361,0.3478548451374538573730639], [0.5688888888888888888888889,0.4786286704993664680412915,0.2369268850561890875142640], [0.4679139345726910473898703,0.3607615730481386075698335,0.1713244923791703450402961], [0.4179591836734693877551020,0.3818300505051189449503698,0.2797053914892766679014678,0.1294849661688696932706114], [0.3626837833783619829651504,0.3137066458778872873379622,0.2223810344533744705443560,0.1012285362903762591525314], [0.3302393550012597631645251,0.3123470770400028400686304,0.2606106964029354623187429,0.1806481606948574040584720,0.0812743883615744119718922], [0.2955242247147528701738930,0.2692667193099963550912269,0.2190863625159820439955349,0.1494513491505805931457763,0.0666713443086881375935688], [0.2729250867779006307144835,0.2628045445102466621806889,0.2331937645919904799185237,0.1862902109277342514260976,0.1255803694649046246346943,0.0556685671161736664827537], [0.2491470458134027850005624,0.2334925365383548087608499,0.2031674267230659217490645,0.1600783285433462263346525,0.1069393259953184309602547,0.0471753363865118271946160], [0.2325515532308739101945895,0.2262831802628972384120902,0.2078160475368885023125232,0.1781459807619457382800467,0.1388735102197872384636018,0.0921214998377284479144218,0.0404840047653158795200216], [0.2152638534631577901958764,0.2051984637212956039659241,0.1855383974779378137417166,0.1572031671581935345696019,0.1215185706879031846894148,0.0801580871597602098056333,0.0351194603317518630318329], [0.2025782419255612728806202,0.1984314853271115764561183,0.1861610000155622110268006,0.1662692058169939335532009,0.1395706779261543144478048,0.1071592204671719350118695,0.0703660474881081247092674,0.0307532419961172683546284], [0.1894506104550684962853967,0.1826034150449235888667637,0.1691565193950025381893121,0.1495959888165767320815017,0.1246289712555338720524763,0.0951585116824927848099251,0.0622535239386478928628438,0.0271524594117540948517806] ]; var abs = Math.abs, sqrt = Math.sqrt, pow = Math.pow, log2 = Math.log2 || function(x) { return Math.log(x) * Math.LOG2E; }, EPSILON = 1e-12, MACHINE_EPSILON = 1.12e-16; function clamp(value, min, max) { return value < min ? min : value > max ? max : value; } function getDiscriminant(a, b, c) { function split(v) { var x = v * 134217729, y = v - x, hi = y + x, lo = v - hi; return [hi, lo]; } var D = b * b - a * c, E = b * b + a * c; if (abs(D) * 3 < E) { var ad = split(a), bd = split(b), cd = split(c), p = b * b, dp = (bd[0] * bd[0] - p + 2 * bd[0] * bd[1]) + bd[1] * bd[1], q = a * c, dq = (ad[0] * cd[0] - q + ad[0] * cd[1] + ad[1] * cd[0]) + ad[1] * cd[1]; D = (p - q) + (dp - dq); } return D; } function getNormalizationFactor() { var norm = Math.max.apply(Math, arguments); return norm && (norm < 1e-8 || norm > 1e8) ? pow(2, -Math.round(log2(norm))) : 0; } return { EPSILON: EPSILON, MACHINE_EPSILON: MACHINE_EPSILON, CURVETIME_EPSILON: 1e-8, GEOMETRIC_EPSILON: 1e-7, TRIGONOMETRIC_EPSILON: 1e-8, KAPPA: 4 * (sqrt(2) - 1) / 3, isZero: function(val) { return val >= -EPSILON && val <= EPSILON; }, isMachineZero: function(val) { return val >= -MACHINE_EPSILON && val <= MACHINE_EPSILON; }, clamp: clamp, integrate: function(f, a, b, n) { var x = abscissas[n - 2], w = weights[n - 2], A = (b - a) * 0.5, B = A + a, i = 0, m = (n + 1) >> 1, sum = n & 1 ? w[i++] * f(B) : 0; while (i < m) { var Ax = A * x[i]; sum += w[i++] * (f(B + Ax) + f(B - Ax)); } return A * sum; }, findRoot: function(f, df, x, a, b, n, tolerance) { for (var i = 0; i < n; i++) { var fx = f(x), dx = fx / df(x), nx = x - dx; if (abs(dx) < tolerance) { x = nx; break; } if (fx > 0) { b = x; x = nx <= a ? (a + b) * 0.5 : nx; } else { a = x; x = nx >= b ? (a + b) * 0.5 : nx; } } return clamp(x, a, b); }, solveQuadratic: function(a, b, c, roots, min, max) { var x1, x2 = Infinity; if (abs(a) < EPSILON) { if (abs(b) < EPSILON) return abs(c) < EPSILON ? -1 : 0; x1 = -c / b; } else { b *= -0.5; var D = getDiscriminant(a, b, c); if (D && abs(D) < MACHINE_EPSILON) { var f = getNormalizationFactor(abs(a), abs(b), abs(c)); if (f) { a *= f; b *= f; c *= f; D = getDiscriminant(a, b, c); } } if (D >= -MACHINE_EPSILON) { var Q = D < 0 ? 0 : sqrt(D), R = b + (b < 0 ? -Q : Q); if (R === 0) { x1 = c / a; x2 = -x1; } else { x1 = R / a; x2 = c / R; } } } var count = 0, boundless = min == null, minB = min - EPSILON, maxB = max + EPSILON; if (isFinite(x1) && (boundless || x1 > minB && x1 < maxB)) roots[count++] = boundless ? x1 : clamp(x1, min, max); if (x2 !== x1 && isFinite(x2) && (boundless || x2 > minB && x2 < maxB)) roots[count++] = boundless ? x2 : clamp(x2, min, max); return count; }, solveCubic: function(a, b, c, d, roots, min, max) { var f = getNormalizationFactor(abs(a), abs(b), abs(c), abs(d)), x, b1, c2, qd, q; if (f) { a *= f; b *= f; c *= f; d *= f; } function evaluate(x0) { x = x0; var tmp = a * x; b1 = tmp + b; c2 = b1 * x + c; qd = (tmp + b1) * x + c2; q = c2 * x + d; } if (abs(a) < EPSILON) { a = b; b1 = c; c2 = d; x = Infinity; } else if (abs(d) < EPSILON) { b1 = b; c2 = c; x = 0; } else { evaluate(-(b / a) / 3); var t = q / a, r = pow(abs(t), 1/3), s = t < 0 ? -1 : 1, td = -qd / a, rd = td > 0 ? 1.324717957244746 * Math.max(r, sqrt(td)) : r, x0 = x - s * rd; if (x0 !== x) { do { evaluate(x0); x0 = qd === 0 ? x : x - q / qd / (1 + MACHINE_EPSILON); } while (s * x0 > s * x); if (abs(a) * x * x > abs(d / x)) { c2 = -d / x; b1 = (c2 - c) / x; } } } var count = Numerical.solveQuadratic(a, b1, c2, roots, min, max), boundless = min == null; if (isFinite(x) && (count === 0 || count > 0 && x !== roots[0] && x !== roots[1]) && (boundless || x > min - EPSILON && x < max + EPSILON)) roots[count++] = boundless ? x : clamp(x, min, max); return count; } }; }; var UID = { _id: 1, _pools: {}, get: function(name) { if (name) { var pool = this._pools[name]; if (!pool) pool = this._pools[name] = { _id: 1 }; return pool._id++; } else { return this._id++; } } }; var Point = Base.extend({ _class: 'Point', _readIndex: true, initialize: function Point(arg0, arg1) { var type = typeof arg0, reading = this.__read, read = 0; if (type === 'number') { var hasY = typeof arg1 === 'number'; this._set(arg0, hasY ? arg1 : arg0); if (reading) read = hasY ? 2 : 1; } else if (type === 'undefined' || arg0 === null) { this._set(0, 0); if (reading) read = arg0 === null ? 1 : 0; } else { var obj = type === 'string' ? arg0.split(/[\s,]+/) || [] : arg0; read = 1; if (Array.isArray(obj)) { this._set(+obj[0], +(obj.length > 1 ? obj[1] : obj[0])); } else if ('x' in obj) { this._set(obj.x || 0, obj.y || 0); } else if ('width' in obj) { this._set(obj.width || 0, obj.height || 0); } else if ('angle' in obj) { this._set(obj.length || 0, 0); this.setAngle(obj.angle || 0); } else { this._set(0, 0); read = 0; } } if (reading) this.__read = read; return this; }, set: '#initialize', _set: function(x, y) { this.x = x; this.y = y; return this; }, equals: function(point) { return this === point || point && (this.x === point.x && this.y === point.y || Array.isArray(point) && this.x === point[0] && this.y === point[1]) || false; }, clone: function() { return new Point(this.x, this.y); }, toString: function() { var f = Formatter.instance; return '{ x: ' + f.number(this.x) + ', y: ' + f.number(this.y) + ' }'; }, _serialize: function(options) { var f = options.formatter; return [f.number(this.x), f.number(this.y)]; }, getLength: function() { return Math.sqrt(this.x * this.x + this.y * this.y); }, setLength: function(length) { if (this.isZero()) { var angle = this._angle || 0; this._set( Math.cos(angle) * length, Math.sin(angle) * length ); } else { var scale = length / this.getLength(); if (Numerical.isZero(scale)) this.getAngle(); this._set( this.x * scale, this.y * scale ); } }, getAngle: function() { return this.getAngleInRadians.apply(this, arguments) * 180 / Math.PI; }, setAngle: function(angle) { this.setAngleInRadians.call(this, angle * Math.PI / 180); }, getAngleInDegrees: '#getAngle', setAngleInDegrees: '#setAngle', getAngleInRadians: function() { if (!arguments.length) { return this.isZero() ? this._angle || 0 : this._angle = Math.atan2(this.y, this.x); } else { var point = Point.read(arguments), div = this.getLength() * point.getLength(); if (Numerical.isZero(div)) { return NaN; } else { var a = this.dot(point) / div; return Math.acos(a < -1 ? -1 : a > 1 ? 1 : a); } } }, setAngleInRadians: function(angle) { this._angle = angle; if (!this.isZero()) { var length = this.getLength(); this._set( Math.cos(angle) * length, Math.sin(angle) * length ); } }, getQuadrant: function() { return this.x >= 0 ? this.y >= 0 ? 1 : 4 : this.y >= 0 ? 2 : 3; } }, { beans: false, getDirectedAngle: function() { var point = Point.read(arguments); return Math.atan2(this.cross(point), this.dot(point)) * 180 / Math.PI; }, getDistance: function() { var args = arguments, point = Point.read(args), x = point.x - this.x, y = point.y - this.y, d = x * x + y * y, squared = Base.read(args); return squared ? d : Math.sqrt(d); }, normalize: function(length) { if (length === undefined) length = 1; var current = this.getLength(), scale = current !== 0 ? length / current : 0, point = new Point(this.x * scale, this.y * scale); if (scale >= 0) point._angle = this._angle; return point; }, rotate: function(angle, center) { if (angle === 0) return this.clone(); angle = angle * Math.PI / 180; var point = center ? this.subtract(center) : this, sin = Math.sin(angle), cos = Math.cos(angle); point = new Point( point.x * cos - point.y * sin, point.x * sin + point.y * cos ); return center ? point.add(center) : point; }, transform: function(matrix) { return matrix ? matrix._transformPoint(this) : this; }, add: function() { var point = Point.read(arguments); return new Point(this.x + point.x, this.y + point.y); }, subtract: function() { var point = Point.read(arguments); return new Point(this.x - point.x, this.y - point.y); }, multiply: function() { var point = Point.read(arguments); return new Point(this.x * point.x, this.y * point.y); }, divide: function() { var point = Point.read(arguments); return new Point(this.x / point.x, this.y / point.y); }, modulo: function() { var point = Point.read(arguments); return new Point(this.x % point.x, this.y % point.y); }, negate: function() { return new Point(-this.x, -this.y); }, isInside: function() { return Rectangle.read(arguments).contains(this); }, isClose: function() { var args = arguments, point = Point.read(args), tolerance = Base.read(args); return this.getDistance(point) <= tolerance; }, isCollinear: function() { var point = Point.read(arguments); return Point.isCollinear(this.x, this.y, point.x, point.y); }, isColinear: '#isCollinear', isOrthogonal: function() { var point = Point.read(arguments); return Point.isOrthogonal(this.x, this.y, point.x, point.y); }, isZero: function() { var isZero = Numerical.isZero; return isZero(this.x) && isZero(this.y); }, isNaN: function() { return isNaN(this.x) || isNaN(this.y); }, isInQuadrant: function(q) { return this.x * (q > 1 && q < 4 ? -1 : 1) >= 0 && this.y * (q > 2 ? -1 : 1) >= 0; }, dot: function() { var point = Point.read(arguments); return this.x * point.x + this.y * point.y; }, cross: function() { var point = Point.read(arguments); return this.x * point.y - this.y * point.x; }, project: function() { var point = Point.read(arguments), scale = point.isZero() ? 0 : this.dot(point) / point.dot(point); return new Point( point.x * scale, point.y * scale ); }, statics: { min: function() { var args = arguments, point1 = Point.read(args), point2 = Point.read(args); return new Point( Math.min(point1.x, point2.x), Math.min(point1.y, point2.y) ); }, max: function() { var args = arguments, point1 = Point.read(args), point2 = Point.read(args); return new Point( Math.max(point1.x, point2.x), Math.max(point1.y, point2.y) ); }, random: function() { return new Point(Math.random(), Math.random()); }, isCollinear: function(x1, y1, x2, y2) { return Math.abs(x1 * y2 - y1 * x2) <= Math.sqrt((x1 * x1 + y1 * y1) * (x2 * x2 + y2 * y2)) * 1e-8; }, isOrthogonal: function(x1, y1, x2, y2) { return Math.abs(x1 * x2 + y1 * y2) <= Math.sqrt((x1 * x1 + y1 * y1) * (x2 * x2 + y2 * y2)) * 1e-8; } } }, Base.each(['round', 'ceil', 'floor', 'abs'], function(key) { var op = Math[key]; this[key] = function() { return new Point(op(this.x), op(this.y)); }; }, {})); var LinkedPoint = Point.extend({ initialize: function Point(x, y, owner, setter) { this._x = x; this._y = y; this._owner = owner; this._setter = setter; }, _set: function(x, y, _dontNotify) { this._x = x; this._y = y; if (!_dontNotify) this._owner[this._setter](this); return this; }, getX: function() { return this._x; }, setX: function(x) { this._x = x; this._owner[this._setter](this); }, getY: function() { return this._y; }, setY: function(y) { this._y = y; this._owner[this._setter](this); }, isSelected: function() { return !!(this._owner._selection & this._getSelection()); }, setSelected: function(selected) { this._owner._changeSelection(this._getSelection(), selected); }, _getSelection: function() { return this._setter === 'setPosition' ? 4 : 0; } }); var Size = Base.extend({ _class: 'Size', _readIndex: true, initialize: function Size(arg0, arg1) { var type = typeof arg0, reading = this.__read, read = 0; if (type === 'number') { var hasHeight = typeof arg1 === 'number'; this._set(arg0, hasHeight ? arg1 : arg0); if (reading) read = hasHeight ? 2 : 1; } else if (type === 'undefined' || arg0 === null) { this._set(0, 0); if (reading) read = arg0 === null ? 1 : 0; } else { var obj = type === 'string' ? arg0.split(/[\s,]+/) || [] : arg0; read = 1; if (Array.isArray(obj)) { this._set(+obj[0], +(obj.length > 1 ? obj[1] : obj[0])); } else if ('width' in obj) { this._set(obj.width || 0, obj.height || 0); } else if ('x' in obj) { this._set(obj.x || 0, obj.y || 0); } else { this._set(0, 0); read = 0; } } if (reading) this.__read = read; return this; }, set: '#initialize', _set: function(width, height) { this.width = width; this.height = height; return this; }, equals: function(size) { return size === this || size && (this.width === size.width && this.height === size.height || Array.isArray(size) && this.width === size[0] && this.height === size[1]) || false; }, clone: function() { return new Size(this.width, this.height); }, toString: function() { var f = Formatter.instance; return '{ width: ' + f.number(this.width) + ', height: ' + f.number(this.height) + ' }'; }, _serialize: function(options) { var f = options.formatter; return [f.number(this.width), f.number(this.height)]; }, add: function() { var size = Size.read(arguments); return new Size(this.width + size.width, this.height + size.height); }, subtract: function() { var size = Size.read(arguments); return new Size(this.width - size.width, this.height - size.height); }, multiply: function() { var size = Size.read(arguments); return new Size(this.width * size.width, this.height * size.height); }, divide: function() { var size = Size.read(arguments); return new Size(this.width / size.width, this.height / size.height); }, modulo: function() { var size = Size.read(arguments); return new Size(this.width % size.width, this.height % size.height); }, negate: function() { return new Size(-this.width, -this.height); }, isZero: function() { var isZero = Numerical.isZero; return isZero(this.width) && isZero(this.height); }, isNaN: function() { return isNaN(this.width) || isNaN(this.height); }, statics: { min: function(size1, size2) { return new Size( Math.min(size1.width, size2.width), Math.min(size1.height, size2.height)); }, max: function(size1, size2) { return new Size( Math.max(size1.width, size2.width), Math.max(size1.height, size2.height)); }, random: function() { return new Size(Math.random(), Math.random()); } } }, Base.each(['round', 'ceil', 'floor', 'abs'], function(key) { var op = Math[key]; this[key] = function() { return new Size(op(this.width), op(this.height)); }; }, {})); var LinkedSize = Size.extend({ initialize: function Size(width, height, owner, setter) { this._width = width; this._height = height; this._owner = owner; this._setter = setter; }, _set: function(width, height, _dontNotify) { this._width = width; this._height = height; if (!_dontNotify) this._owner[this._setter](this); return this; }, getWidth: function() { return this._width; }, setWidth: function(width) { this._width = width; this._owner[this._setter](this); }, getHeight: function() { return this._height; }, setHeight: function(height) { this._height = height; this._owner[this._setter](this); } }); var Rectangle = Base.extend({ _class: 'Rectangle', _readIndex: true, beans: true, initialize: function Rectangle(arg0, arg1, arg2, arg3) { var args = arguments, type = typeof arg0, read; if (type === 'number') { this._set(arg0, arg1, arg2, arg3); read = 4; } else if (type === 'undefined' || arg0 === null) { this._set(0, 0, 0, 0); read = arg0 === null ? 1 : 0; } else if (args.length === 1) { if (Array.isArray(arg0)) { this._set.apply(this, arg0); read = 1; } else if (arg0.x !== undefined || arg0.width !== undefined) { this._set(arg0.x || 0, arg0.y || 0, arg0.width || 0, arg0.height || 0); read = 1; } else if (arg0.from === undefined && arg0.to === undefined) { this._set(0, 0, 0, 0); if (Base.readSupported(args, this)) { read = 1; } } } if (read === undefined) { var frm = Point.readNamed(args, 'from'), next = Base.peek(args), x = frm.x, y = frm.y, width, height; if (next && next.x !== undefined || Base.hasNamed(args, 'to')) { var to = Point.readNamed(args, 'to'); width = to.x - x; height = to.y - y; if (width < 0) { x = to.x; width = -width; } if (height < 0) { y = to.y; height = -height; } } else { var size = Size.read(args); width = size.width; height = size.height; } this._set(x, y, width, height); read = args.__index; } var filtered = args.__filtered; if (filtered) this.__filtered = filtered; if (this.__read) this.__read = read; return this; }, set: '#initialize', _set: function(x, y, width, height) { this.x = x; this.y = y; this.width = width; this.height = height; return this; }, clone: function() { return new Rectangle(this.x, this.y, this.width, this.height); }, equals: function(rect) { var rt = Base.isPlainValue(rect) ? Rectangle.read(arguments) : rect; return rt === this || rt && this.x === rt.x && this.y === rt.y && this.width === rt.width && this.height === rt.height || false; }, toString: function() { var f = Formatter.instance; return '{ x: ' + f.number(this.x) + ', y: ' + f.number(this.y) + ', width: ' + f.number(this.width) + ', height: ' + f.number(this.height) + ' }'; }, _serialize: function(options) { var f = options.formatter; return [f.number(this.x), f.number(this.y), f.number(this.width), f.number(this.height)]; }, getPoint: function(_dontLink) { var ctor = _dontLink ? Point : LinkedPoint; return new ctor(this.x, this.y, this, 'setPoint'); }, setPoint: function() { var point = Point.read(arguments); this.x = point.x; this.y = point.y; }, getSize: function(_dontLink) { var ctor = _dontLink ? Size : LinkedSize; return new ctor(this.width, this.height, this, 'setSize'); }, _fw: 1, _fh: 1, setSize: function() { var size = Size.read(arguments), sx = this._sx, sy = this._sy, w = size.width, h = size.height; if (sx) { this.x += (this.width - w) * sx; } if (sy) { this.y += (this.height - h) * sy; } this.width = w; this.height = h; this._fw = this._fh = 1; }, getLeft: function() { return this.x; }, setLeft: function(left) { if (!this._fw) { var amount = left - this.x; this.width -= this._sx === 0.5 ? amount * 2 : amount; } this.x = left; this._sx = this._fw = 0; }, getTop: function() { return this.y; }, setTop: function(top) { if (!this._fh) { var amount = top - this.y; this.height -= this._sy === 0.5 ? amount * 2 : amount; } this.y = top; this._sy = this._fh = 0; }, getRight: function() { return this.x + this.width; }, setRight: function(right) { if (!this._fw) { var amount = right - this.x; this.width = this._sx === 0.5 ? amount * 2 : amount; } this.x = right - this.width; this._sx = 1; this._fw = 0; }, getBottom: function() { return this.y + this.height; }, setBottom: function(bottom) { if (!this._fh) { var amount = bottom - this.y; this.height = this._sy === 0.5 ? amount * 2 : amount; } this.y = bottom - this.height; this._sy = 1; this._fh = 0; }, getCenterX: function() { return this.x + this.width / 2; }, setCenterX: function(x) { if (this._fw || this._sx === 0.5) { this.x = x - this.width / 2; } else { if (this._sx) { this.x += (x - this.x) * 2 * this._sx; } this.width = (x - this.x) * 2; } this._sx = 0.5; this._fw = 0; }, getCenterY: function() { return this.y + this.height / 2; }, setCenterY: function(y) { if (this._fh || this._sy === 0.5) { this.y = y - this.height / 2; } else { if (this._sy) { this.y += (y - this.y) * 2 * this._sy; } this.height = (y - this.y) * 2; } this._sy = 0.5; this._fh = 0; }, getCenter: function(_dontLink) { var ctor = _dontLink ? Point : LinkedPoint; return new ctor(this.getCenterX(), this.getCenterY(), this, 'setCenter'); }, setCenter: function() { var point = Point.read(arguments); this.setCenterX(point.x); this.setCenterY(point.y); return this; }, getArea: function() { return this.width * this.height; }, isEmpty: function() { return this.width === 0 || this.height === 0; }, contains: function(arg) { return arg && arg.width !== undefined || (Array.isArray(arg) ? arg : arguments).length === 4 ? this._containsRectangle(Rectangle.read(arguments)) : this._containsPoint(Point.read(arguments)); }, _containsPoint: function(point) { var x = point.x, y = point.y; return x >= this.x && y >= this.y && x <= this.x + this.width && y <= this.y + this.height; }, _containsRectangle: function(rect) { var x = rect.x, y = rect.y; return x >= this.x && y >= this.y && x + rect.width <= this.x + this.width && y + rect.height <= this.y + this.height; }, intersects: function() { var rect = Rectangle.read(arguments), epsilon = Base.read(arguments) || 0; return rect.x + rect.width > this.x - epsilon && rect.y + rect.height > this.y - epsilon && rect.x < this.x + this.width + epsilon && rect.y < this.y + this.height + epsilon; }, intersect: function() { var rect = Rectangle.read(arguments), x1 = Math.max(this.x, rect.x), y1 = Math.max(this.y, rect.y), x2 = Math.min(this.x + this.width, rect.x + rect.width), y2 = Math.min(this.y + this.height, rect.y + rect.height); return new Rectangle(x1, y1, x2 - x1, y2 - y1); }, unite: function() { var rect = Rectangle.read(arguments), x1 = Math.min(this.x, rect.x), y1 = Math.min(this.y, rect.y), x2 = Math.max(this.x + this.width, rect.x + rect.width), y2 = Math.max(this.y + this.height, rect.y + rect.height); return new Rectangle(x1, y1, x2 - x1, y2 - y1); }, include: function() { var point = Point.read(arguments); var x1 = Math.min(this.x, point.x), y1 = Math.min(this.y, point.y), x2 = Math.max(this.x + this.width, point.x), y2 = Math.max(this.y + this.height, point.y); return new Rectangle(x1, y1, x2 - x1, y2 - y1); }, expand: function() { var amount = Size.read(arguments), hor = amount.width, ver = amount.height; return new Rectangle(this.x - hor / 2, this.y - ver / 2, this.width + hor, this.height + ver); }, scale: function(hor, ver) { return this.expand(this.width * hor - this.width, this.height * (ver === undefined ? hor : ver) - this.height); } }, Base.each([ ['Top', 'Left'], ['Top', 'Right'], ['Bottom', 'Left'], ['Bottom', 'Right'], ['Left', 'Center'], ['Top', 'Center'], ['Right', 'Center'], ['Bottom', 'Center'] ], function(parts, index) { var part = parts.join(''), xFirst = /^[RL]/.test(part); if (index >= 4) parts[1] += xFirst ? 'Y' : 'X'; var x = parts[xFirst ? 0 : 1], y = parts[xFirst ? 1 : 0], getX = 'get' + x, getY = 'get' + y, setX = 'set' + x, setY = 'set' + y, get = 'get' + part, set = 'set' + part; this[get] = function(_dontLink) { var ctor = _dontLink ? Point : LinkedPoint; return new ctor(this[getX](), this[getY](), this, set); }; this[set] = function() { var point = Point.read(arguments); this[setX](point.x); this[setY](point.y); }; }, { beans: true } )); var LinkedRectangle = Rectangle.extend({ initialize: function Rectangle(x, y, width, height, owner, setter) { this._set(x, y, width, height, true); this._owner = owner; this._setter = setter; }, _set: function(x, y, width, height, _dontNotify) { this._x = x; this._y = y; this._width = width; this._height = height; if (!_dontNotify) this._owner[this._setter](this); return this; } }, new function() { var proto = Rectangle.prototype; return Base.each(['x', 'y', 'width', 'height'], function(key) { var part = Base.capitalize(key), internal = '_' + key; this['get' + part] = function() { return this[internal]; }; this['set' + part] = function(value) { this[internal] = value; if (!this._dontNotify) this._owner[this._setter](this); }; }, Base.each(['Point', 'Size', 'Center', 'Left', 'Top', 'Right', 'Bottom', 'CenterX', 'CenterY', 'TopLeft', 'TopRight', 'BottomLeft', 'BottomRight', 'LeftCenter', 'TopCenter', 'RightCenter', 'BottomCenter'], function(key) { var name = 'set' + key; this[name] = function() { this._dontNotify = true; proto[name].apply(this, arguments); this._dontNotify = false; this._owner[this._setter](this); }; }, { isSelected: function() { return !!(this._owner._selection & 2); }, setSelected: function(selected) { var owner = this._owner; if (owner._changeSelection) { owner._changeSelection(2, selected); } } }) ); }); var Matrix = Base.extend({ _class: 'Matrix', initialize: function Matrix(arg, _dontNotify) { var args = arguments, count = args.length, ok = true; if (count >= 6) { this._set.apply(this, args); } else if (count === 1 || count === 2) { if (arg instanceof Matrix) { this._set(arg._a, arg._b, arg._c, arg._d, arg._tx, arg._ty, _dontNotify); } else if (Array.isArray(arg)) { this._set.apply(this, _dontNotify ? arg.concat([_dontNotify]) : arg); } else { ok = false; } } else if (!count) { this.reset(); } else { ok = false; } if (!ok) { throw new Error('Unsupported matrix parameters'); } return this; }, set: '#initialize', _set: function(a, b, c, d, tx, ty, _dontNotify) { this._a = a; this._b = b; this._c = c; this._d = d; this._tx = tx; this._ty = ty; if (!_dontNotify) this._changed(); return this; }, _serialize: function(options, dictionary) { return Base.serialize(this.getValues(), options, true, dictionary); }, _changed: function() { var owner = this._owner; if (owner) { if (owner._applyMatrix) { owner.transform(null, true); } else { owner._changed(25); } } }, clone: function() { return new Matrix(this._a, this._b, this._c, this._d, this._tx, this._ty); }, equals: function(mx) { return mx === this || mx && this._a === mx._a && this._b === mx._b && this._c === mx._c && this._d === mx._d && this._tx === mx._tx && this._ty === mx._ty; }, toString: function() { var f = Formatter.instance; return '[[' + [f.number(this._a), f.number(this._c), f.number(this._tx)].join(', ') + '], [' + [f.number(this._b), f.number(this._d), f.number(this._ty)].join(', ') + ']]'; }, reset: function(_dontNotify) { this._a = this._d = 1; this._b = this._c = this._tx = this._ty = 0; if (!_dontNotify) this._changed(); return this; }, apply: function(recursively, _setApplyMatrix) { var owner = this._owner; if (owner) { owner.transform(null, Base.pick(recursively, true), _setApplyMatrix); return this.isIdentity(); } return false; }, translate: function() { var point = Point.read(arguments), x = point.x, y = point.y; this._tx += x * this._a + y * this._c; this._ty += x * this._b + y * this._d; this._changed(); return this; }, scale: function() { var args = arguments, scale = Point.read(args), center = Point.read(args, 0, { readNull: true }); if (center) this.translate(center); this._a *= scale.x; this._b *= scale.x; this._c *= scale.y; this._d *= scale.y; if (center) this.translate(center.negate()); this._changed(); return this; }, rotate: function(angle ) { angle *= Math.PI / 180; var center = Point.read(arguments, 1), x = center.x, y = center.y, cos = Math.cos(angle), sin = Math.sin(angle), tx = x - x * cos + y * sin, ty = y - x * sin - y * cos, a = this._a, b = this._b, c = this._c, d = this._d; this._a = cos * a + sin * c; this._b = cos * b + sin * d; this._c = -sin * a + cos * c; this._d = -sin * b + cos * d; this._tx += tx * a + ty * c; this._ty += tx * b + ty * d; this._changed(); return this; }, shear: function() { var args = arguments, shear = Point.read(args), center = Point.read(args, 0, { readNull: true }); if (center) this.translate(center); var a = this._a, b = this._b; this._a += shear.y * this._c; this._b += shear.y * this._d; this._c += shear.x * a; this._d += shear.x * b; if (center) this.translate(center.negate()); this._changed(); return this; }, skew: function() { var args = arguments, skew = Point.read(args), center = Point.read(args, 0, { readNull: true }), toRadians = Math.PI / 180, shear = new Point(Math.tan(skew.x * toRadians), Math.tan(skew.y * toRadians)); return this.shear(shear, center); }, append: function(mx, _dontNotify) { if (mx) { var a1 = this._a, b1 = this._b, c1 = this._c, d1 = this._d, a2 = mx._a, b2 = mx._c, c2 = mx._b, d2 = mx._d, tx2 = mx._tx, ty2 = mx._ty; this._a = a2 * a1 + c2 * c1; this._c = b2 * a1 + d2 * c1; this._b = a2 * b1 + c2 * d1; this._d = b2 * b1 + d2 * d1; this._tx += tx2 * a1 + ty2 * c1; this._ty += tx2 * b1 + ty2 * d1; if (!_dontNotify) this._changed(); } return this; }, prepend: function(mx, _dontNotify) { if (mx) { var a1 = this._a, b1 = this._b, c1 = this._c, d1 = this._d, tx1 = this._tx, ty1 = this._ty, a2 = mx._a, b2 = mx._c, c2 = mx._b, d2 = mx._d, tx2 = mx._tx, ty2 = mx._ty; this._a = a2 * a1 + b2 * b1; this._c = a2 * c1 + b2 * d1; this._b = c2 * a1 + d2 * b1; this._d = c2 * c1 + d2 * d1; this._tx = a2 * tx1 + b2 * ty1 + tx2; this._ty = c2 * tx1 + d2 * ty1 + ty2; if (!_dontNotify) this._changed(); } return this; }, appended: function(mx) { return this.clone().append(mx); }, prepended: function(mx) { return this.clone().prepend(mx); }, invert: function() { var a = this._a, b = this._b, c = this._c, d = this._d, tx = this._tx, ty = this._ty, det = a * d - b * c, res = null; if (det && !isNaN(det) && isFinite(tx) && isFinite(ty)) { this._a = d / det; this._b = -b / det; this._c = -c / det; this._d = a / det; this._tx = (c * ty - d * tx) / det; this._ty = (b * tx - a * ty) / det; res = this; } return res; }, inverted: function() { return this.clone().invert(); }, concatenate: '#append', preConcatenate: '#prepend', chain: '#appended', _shiftless: function() { return new Matrix(this._a, this._b, this._c, this._d, 0, 0); }, _orNullIfIdentity: function() { return this.isIdentity() ? null : this; }, isIdentity: function() { return this._a === 1 && this._b === 0 && this._c === 0 && this._d === 1 && this._tx === 0 && this._ty === 0; }, isInvertible: function() { var det = this._a * this._d - this._c * this._b; return det && !isNaN(det) && isFinite(this._tx) && isFinite(this._ty); }, isSingular: function() { return !this.isInvertible(); }, transform: function( src, dst, count) { return arguments.length < 3 ? this._transformPoint(Point.read(arguments)) : this._transformCoordinates(src, dst, count); }, _transformPoint: function(point, dest, _dontNotify) { var x = point.x, y = point.y; if (!dest) dest = new Point(); return dest._set( x * this._a + y * this._c + this._tx, x * this._b + y * this._d + this._ty, _dontNotify); }, _transformCoordinates: function(src, dst, count) { for (var i = 0, max = 2 * count; i < max; i += 2) { var x = src[i], y = src[i + 1]; dst[i] = x * this._a + y * this._c + this._tx; dst[i + 1] = x * this._b + y * this._d + this._ty; } return dst; }, _transformCorners: function(rect) { var x1 = rect.x, y1 = rect.y, x2 = x1 + rect.width, y2 = y1 + rect.height, coords = [ x1, y1, x2, y1, x2, y2, x1, y2 ]; return this._transformCoordinates(coords, coords, 4); }, _transformBounds: function(bounds, dest, _dontNotify) { var coords = this._transformCorners(bounds), min = coords.slice(0, 2), max = min.slice(); for (var i = 2; i < 8; i++) { var val = coords[i], j = i & 1; if (val < min[j]) { min[j] = val; } else if (val > max[j]) { max[j] = val; } } if (!dest) dest = new Rectangle(); return dest._set(min[0], min[1], max[0] - min[0], max[1] - min[1], _dontNotify); }, inverseTransform: function() { return this._inverseTransform(Point.read(arguments)); }, _inverseTransform: function(point, dest, _dontNotify) { var a = this._a, b = this._b, c = this._c, d = this._d, tx = this._tx, ty = this._ty, det = a * d - b * c, res = null; if (det && !isNaN(det) && isFinite(tx) && isFinite(ty)) { var x = point.x - this._tx, y = point.y - this._ty; if (!dest) dest = new Point(); res = dest._set( (x * d - y * c) / det, (y * a - x * b) / det, _dontNotify); } return res; }, decompose: function() { var a = this._a, b = this._b, c = this._c, d = this._d, det = a * d - b * c, sqrt = Math.sqrt, atan2 = Math.atan2, degrees = 180 / Math.PI, rotate, scale, skew; if (a !== 0 || b !== 0) { var r = sqrt(a * a + b * b); rotate = Math.acos(a / r) * (b > 0 ? 1 : -1); scale = [r, det / r]; skew = [atan2(a * c + b * d, r * r), 0]; } else if (c !== 0 || d !== 0) { var s = sqrt(c * c + d * d); rotate = Math.asin(c / s) * (d > 0 ? 1 : -1); scale = [det / s, s]; skew = [0, atan2(a * c + b * d, s * s)]; } else { rotate = 0; skew = scale = [0, 0]; } return { translation: this.getTranslation(), rotation: rotate * degrees, scaling: new Point(scale), skewing: new Point(skew[0] * degrees, skew[1] * degrees) }; }, getValues: function() { return [ this._a, this._b, this._c, this._d, this._tx, this._ty ]; }, getTranslation: function() { return new Point(this._tx, this._ty); }, getScaling: function() { return this.decompose().scaling; }, getRotation: function() { return this.decompose().rotation; }, applyToContext: function(ctx) { if (!this.isIdentity()) { ctx.transform(this._a, this._b, this._c, this._d, this._tx, this._ty); } } }, Base.each(['a', 'b', 'c', 'd', 'tx', 'ty'], function(key) { var part = Base.capitalize(key), prop = '_' + key; this['get' + part] = function() { return this[prop]; }; this['set' + part] = function(value) { this[prop] = value; this._changed(); }; }, {})); var Line = Base.extend({ _class: 'Line', initialize: function Line(arg0, arg1, arg2, arg3, arg4) { var asVector = false; if (arguments.length >= 4) { this._px = arg0; this._py = arg1; this._vx = arg2; this._vy = arg3; asVector = arg4; } else { this._px = arg0.x; this._py = arg0.y; this._vx = arg1.x; this._vy = arg1.y; asVector = arg2; } if (!asVector) { this._vx -= this._px; this._vy -= this._py; } }, getPoint: function() { return new Point(this._px, this._py); }, getVector: function() { return new Point(this._vx, this._vy); }, getLength: function() { return this.getVector().getLength(); }, intersect: function(line, isInfinite) { return Line.intersect( this._px, this._py, this._vx, this._vy, line._px, line._py, line._vx, line._vy, true, isInfinite); }, getSide: function(point, isInfinite) { return Line.getSide( this._px, this._py, this._vx, this._vy, point.x, point.y, true, isInfinite); }, getDistance: function(point) { return Math.abs(this.getSignedDistance(point)); }, getSignedDistance: function(point) { return Line.getSignedDistance(this._px, this._py, this._vx, this._vy, point.x, point.y, true); }, isCollinear: function(line) { return Point.isCollinear(this._vx, this._vy, line._vx, line._vy); }, isOrthogonal: function(line) { return Point.isOrthogonal(this._vx, this._vy, line._vx, line._vy); }, statics: { intersect: function(p1x, p1y, v1x, v1y, p2x, p2y, v2x, v2y, asVector, isInfinite) { if (!asVector) { v1x -= p1x; v1y -= p1y; v2x -= p2x; v2y -= p2y; } var cross = v1x * v2y - v1y * v2x; if (!Numerical.isMachineZero(cross)) { var dx = p1x - p2x, dy = p1y - p2y, u1 = (v2x * dy - v2y * dx) / cross, u2 = (v1x * dy - v1y * dx) / cross, epsilon = 1e-12, uMin = -epsilon, uMax = 1 + epsilon; if (isInfinite || uMin < u1 && u1 < uMax && uMin < u2 && u2 < uMax) { if (!isInfinite) { u1 = u1 <= 0 ? 0 : u1 >= 1 ? 1 : u1; } return new Point( p1x + u1 * v1x, p1y + u1 * v1y); } } }, getSide: function(px, py, vx, vy, x, y, asVector, isInfinite) { if (!asVector) { vx -= px; vy -= py; } var v2x = x - px, v2y = y - py, ccw = v2x * vy - v2y * vx; if (!isInfinite && Numerical.isMachineZero(ccw)) { ccw = (v2x * vx + v2x * vx) / (vx * vx + vy * vy); if (ccw >= 0 && ccw <= 1) ccw = 0; } return ccw < 0 ? -1 : ccw > 0 ? 1 : 0; }, getSignedDistance: function(px, py, vx, vy, x, y, asVector) { if (!asVector) { vx -= px; vy -= py; } return vx === 0 ? (vy > 0 ? x - px : px - x) : vy === 0 ? (vx < 0 ? y - py : py - y) : ((x - px) * vy - (y - py) * vx) / ( vy > vx ? vy * Math.sqrt(1 + (vx * vx) / (vy * vy)) : vx * Math.sqrt(1 + (vy * vy) / (vx * vx)) ); }, getDistance: function(px, py, vx, vy, x, y, asVector) { return Math.abs( Line.getSignedDistance(px, py, vx, vy, x, y, asVector)); } } }); var Project = PaperScopeItem.extend({ _class: 'Project', _list: 'projects', _reference: 'project', _compactSerialize: true, initialize: function Project(element) { PaperScopeItem.call(this, true); this._children = []; this._namedChildren = {}; this._activeLayer = null; this._currentStyle = new Style(null, null, this); this._view = View.create(this, element || CanvasProvider.getCanvas(1, 1)); this._selectionItems = {}; this._selectionCount = 0; this._updateVersion = 0; }, _serialize: function(options, dictionary) { return Base.serialize(this._children, options, true, dictionary); }, _changed: function(flags, item) { if (flags & 1) { var view = this._view; if (view) { view._needsUpdate = true; if (!view._requested && view._autoUpdate) view.requestUpdate(); } } var changes = this._changes; if (changes && item) { var changesById = this._changesById, id = item._id, entry = changesById[id]; if (entry) { entry.flags |= flags; } else { changes.push(changesById[id] = { item: item, flags: flags }); } } }, clear: function() { var children = this._children; for (var i = children.length - 1; i >= 0; i--) children[i].remove(); }, isEmpty: function() { return !this._children.length; }, remove: function remove() { if (!remove.base.call(this)) return false; if (this._view) this._view.remove(); return true; }, getView: function() { return this._view; }, getCurrentStyle: function() { return this._currentStyle; }, setCurrentStyle: function(style) { this._currentStyle.set(style); }, getIndex: function() { return this._index; }, getOptions: function() { return this._scope.settings; }, getLayers: function() { return this._children; }, getActiveLayer: function() { return this._activeLayer || new Layer({ project: this, insert: true }); }, getSymbolDefinitions: function() { var definitions = [], ids = {}; this.getItems({ class: SymbolItem, match: function(item) { var definition = item._definition, id = definition._id; if (!ids[id]) { ids[id] = true; definitions.push(definition); } return false; } }); return definitions; }, getSymbols: 'getSymbolDefinitions', getSelectedItems: function() { var selectionItems = this._selectionItems, items = []; for (var id in selectionItems) { var item = selectionItems[id], selection = item._selection; if ((selection & 1) && item.isInserted()) { items.push(item); } else if (!selection) { this._updateSelection(item); } } return items; }, _updateSelection: function(item) { var id = item._id, selectionItems = this._selectionItems; if (item._selection) { if (selectionItems[id] !== item) { this._selectionCount++; selectionItems[id] = item; } } else if (selectionItems[id] === item) { this._selectionCount--; delete selectionItems[id]; } }, selectAll: function() { var children = this._children; for (var i = 0, l = children.length; i < l; i++) children[i].setFullySelected(true); }, deselectAll: function() { var selectionItems = this._selectionItems; for (var i in selectionItems) selectionItems[i].setFullySelected(false); }, addLayer: function(layer) { return this.insertLayer(undefined, layer); }, insertLayer: function(index, layer) { if (layer instanceof Layer) { layer._remove(false, true); Base.splice(this._children, [layer], index, 0); layer._setProject(this, true); var name = layer._name; if (name) layer.setName(name); if (this._changes) layer._changed(5); if (!this._activeLayer) this._activeLayer = layer; } else { layer = null; } return layer; }, _insertItem: function(index, item, _created) { item = this.insertLayer(index, item) || (this._activeLayer || this._insertItem(undefined, new Layer(Item.NO_INSERT), true)) .insertChild(index, item); if (_created && item.activate) item.activate(); return item; }, getItems: function(options) { return Item._getItems(this, options); }, getItem: function(options) { return Item._getItems(this, options, null, null, true)[0] || null; }, importJSON: function(json) { this.activate(); var layer = this._activeLayer; return Base.importJSON(json, layer && layer.isEmpty() && layer); }, removeOn: function(type) { var sets = this._removeSets; if (sets) { if (type === 'mouseup') sets.mousedrag = null; var set = sets[type]; if (set) { for (var id in set) { var item = set[id]; for (var key in sets) { var other = sets[key]; if (other && other != set) delete other[item._id]; } item.remove(); } sets[type] = null; } } }, draw: function(ctx, matrix, pixelRatio) { this._updateVersion++; ctx.save(); matrix.applyToContext(ctx); var children = this._children, param = new Base({ offset: new Point(0, 0), pixelRatio: pixelRatio, viewMatrix: matrix.isIdentity() ? null : matrix, matrices: [new Matrix()], updateMatrix: true }); for (var i = 0, l = children.length; i < l; i++) { children[i].draw(ctx, param); } ctx.restore(); if (this._selectionCount > 0) { ctx.save(); ctx.strokeWidth = 1; var items = this._selectionItems, size = this._scope.settings.handleSize, version = this._updateVersion; for (var id in items) { items[id]._drawSelection(ctx, matrix, size, items, version); } ctx.restore(); } } }); var Item = Base.extend(Emitter, { statics: { extend: function extend(src) { if (src._serializeFields) src._serializeFields = Base.set({}, this.prototype._serializeFields, src._serializeFields); return extend.base.apply(this, arguments); }, NO_INSERT: { insert: false } }, _class: 'Item', _name: null, _applyMatrix: true, _canApplyMatrix: true, _canScaleStroke: false, _pivot: null, _visible: true, _blendMode: 'normal', _opacity: 1, _locked: false, _guide: false, _clipMask: false, _selection: 0, _selectBounds: true, _selectChildren: false, _serializeFields: { name: null, applyMatrix: null, matrix: new Matrix(), pivot: null, visible: true, blendMode: 'normal', opacity: 1, locked: false, guide: false, clipMask: false, selected: false, data: {} }, _prioritize: ['applyMatrix'] }, new function() { var handlers = ['onMouseDown', 'onMouseUp', 'onMouseDrag', 'onClick', 'onDoubleClick', 'onMouseMove', 'onMouseEnter', 'onMouseLeave']; return Base.each(handlers, function(name) { this._events[name] = { install: function(type) { this.getView()._countItemEvent(type, 1); }, uninstall: function(type) { this.getView()._countItemEvent(type, -1); } }; }, { _events: { onFrame: { install: function() { this.getView()._animateItem(this, true); }, uninstall: function() { this.getView()._animateItem(this, false); } }, onLoad: {}, onError: {} }, statics: { _itemHandlers: handlers } } ); }, { initialize: function Item() { }, _initialize: function(props, point) { var hasProps = props && Base.isPlainObject(props), internal = hasProps && props.internal === true, matrix = this._matrix = new Matrix(), project = hasProps && props.project || paper.project, settings = paper.settings; this._id = internal ? null : UID.get(); this._parent = this._index = null; this._applyMatrix = this._canApplyMatrix && settings.applyMatrix; if (point) matrix.translate(point); matrix._owner = this; this._style = new Style(project._currentStyle, this, project); if (internal || hasProps && props.insert == false || !settings.insertItems && !(hasProps && props.insert === true)) { this._setProject(project); } else { (hasProps && props.parent || project) ._insertItem(undefined, this, true); } if (hasProps && props !== Item.NO_INSERT) { this.set(props, { internal: true, insert: true, project: true, parent: true }); } return hasProps; }, _serialize: function(options, dictionary) { var props = {}, that = this; function serialize(fields) { for (var key in fields) { var value = that[key]; if (!Base.equals(value, key === 'leading' ? fields.fontSize * 1.2 : fields[key])) { props[key] = Base.serialize(value, options, key !== 'data', dictionary); } } } serialize(this._serializeFields); if (!(this instanceof Group)) serialize(this._style._defaults); return [ this._class, props ]; }, _changed: function(flags) { var symbol = this._symbol, cacheParent = this._parent || symbol, project = this._project; if (flags & 8) { this._bounds = this._position = this._decomposed = undefined; } if (flags & 16) { this._globalMatrix = undefined; } if (cacheParent && (flags & 72)) { Item._clearBoundsCache(cacheParent); } if (flags & 2) { Item._clearBoundsCache(this); } if (project) project._changed(flags, this); if (symbol) symbol._changed(flags); }, getId: function() { return this._id; }, getName: function() { return this._name; }, setName: function(name) { if (this._name) this._removeNamed(); if (name === (+name) + '') throw new Error( 'Names consisting only of numbers are not supported.'); var owner = this._getOwner(); if (name && owner) { var children = owner._children, namedChildren = owner._namedChildren; (namedChildren[name] = namedChildren[name] || []).push(this); if (!(name in children)) children[name] = this; } this._name = name || undefined; this._changed(256); }, getStyle: function() { return this._style; }, setStyle: function(style) { this.getStyle().set(style); } }, Base.each(['locked', 'visible', 'blendMode', 'opacity', 'guide'], function(name) { var part = Base.capitalize(name), key = '_' + name, flags = { locked: 256, visible: 265 }; this['get' + part] = function() { return this[key]; }; this['set' + part] = function(value) { if (value != this[key]) { this[key] = value; this._changed(flags[name] || 257); } }; }, {}), { beans: true, getSelection: function() { return this._selection; }, setSelection: function(selection) { if (selection !== this._selection) { this._selection = selection; var project = this._project; if (project) { project._updateSelection(this); this._changed(257); } } }, _changeSelection: function(flag, selected) { var selection = this._selection; this.setSelection(selected ? selection | flag : selection & ~flag); }, isSelected: function() { if (this._selectChildren) { var children = this._children; for (var i = 0, l = children.length; i < l; i++) if (children[i].isSelected()) return true; } return !!(this._selection & 1); }, setSelected: function(selected) { if (this._selectChildren) { var children = this._children; for (var i = 0, l = children.length; i < l; i++) children[i].setSelected(selected); } this._changeSelection(1, selected); }, isFullySelected: function() { var children = this._children, selected = !!(this._selection & 1); if (children && selected) { for (var i = 0, l = children.length; i < l; i++) if (!children[i].isFullySelected()) return false; return true; } return selected; }, setFullySelected: function(selected) { var children = this._children; if (children) { for (var i = 0, l = children.length; i < l; i++) children[i].setFullySelected(selected); } this._changeSelection(1, selected); }, isClipMask: function() { return this._clipMask; }, setClipMask: function(clipMask) { if (this._clipMask != (clipMask = !!clipMask)) { this._clipMask = clipMask; if (clipMask) { this.setFillColor(null); this.setStrokeColor(null); } this._changed(257); if (this._parent) this._parent._changed(2048); } }, getData: function() { if (!this._data) this._data = {}; return this._data; }, setData: function(data) { this._data = data; }, getPosition: function(_dontLink) { var ctor = _dontLink ? Point : LinkedPoint; var position = this._position || (this._position = this._getPositionFromBounds()); return new ctor(position.x, position.y, this, 'setPosition'); }, setPosition: function() { this.translate(Point.read(arguments).subtract(this.getPosition(true))); }, _getPositionFromBounds: function(bounds) { return this._pivot ? this._matrix._transformPoint(this._pivot) : (bounds || this.getBounds()).getCenter(true); }, getPivot: function() { var pivot = this._pivot; return pivot ? new LinkedPoint(pivot.x, pivot.y, this, 'setPivot') : null; }, setPivot: function() { this._pivot = Point.read(arguments, 0, { clone: true, readNull: true }); this._position = undefined; } }, Base.each({ getStrokeBounds: { stroke: true }, getHandleBounds: { handle: true }, getInternalBounds: { internal: true }, getDrawnBounds: { stroke: true, drawnTextBounds: true }, }, function(options, key) { this[key] = function(matrix) { return this.getBounds(matrix, options); }; }, { beans: true, getBounds: function(matrix, options) { var hasMatrix = options || matrix instanceof Matrix, opts = Base.set({}, hasMatrix ? options : matrix, this._boundsOptions); if (!opts.stroke || this.getStrokeScaling()) opts.cacheItem = this; var rect = this._getCachedBounds(hasMatrix && matrix, opts).rect; return !arguments.length ? new LinkedRectangle(rect.x, rect.y, rect.width, rect.height, this, 'setBounds') : rect; }, setBounds: function() { var rect = Rectangle.read(arguments), bounds = this.getBounds(), _matrix = this._matrix, matrix = new Matrix(), center = rect.getCenter(); matrix.translate(center); if (rect.width != bounds.width || rect.height != bounds.height) { if (!_matrix.isInvertible()) { _matrix.set(_matrix._backup || new Matrix().translate(_matrix.getTranslation())); bounds = this.getBounds(); } matrix.scale( bounds.width !== 0 ? rect.width / bounds.width : 0, bounds.height !== 0 ? rect.height / bounds.height : 0); } center = bounds.getCenter(); matrix.translate(-center.x, -center.y); this.transform(matrix); }, _getBounds: function(matrix, options) { var children = this._children; if (!children || !children.length) return new Rectangle(); Item._updateBoundsCache(this, options.cacheItem); return Item._getBounds(children, matrix, options); }, _getBoundsCacheKey: function(options, internal) { return [ options.stroke ? 1 : 0, options.handle ? 1 : 0, options.drawnTextBounds? 1 : 0, internal ? 1 : 0 ].join(''); }, _getCachedBounds: function(matrix, options, noInternal) { matrix = matrix && matrix._orNullIfIdentity(); var internal = options.internal && !noInternal, cacheItem = options.cacheItem, _matrix = internal ? null : this._matrix._orNullIfIdentity(), cacheKey = cacheItem && (!matrix || matrix.equals(_matrix)) && this._getBoundsCacheKey(options, internal), bounds = this._bounds; Item._updateBoundsCache(this._parent || this._symbol, cacheItem); if (cacheKey && bounds && cacheKey in bounds) { var cached = bounds[cacheKey]; return { rect: cached.rect.clone(), nonscaling: cached.nonscaling }; } var res = this._getBounds(matrix || _matrix, options), rect = res.rect || res, style = this._style, nonscaling = res.nonscaling || style.hasStroke() && !style.getStrokeScaling(); if (cacheKey) { if (!bounds) { this._bounds = bounds = {}; } var cached = bounds[cacheKey] = { rect: rect.clone(), nonscaling: nonscaling, internal: internal }; } return { rect: rect, nonscaling: nonscaling }; }, _getStrokeMatrix: function(matrix, options) { var parent = this.getStrokeScaling() ? null : options && options.internal ? this : this._parent || this._symbol && this._symbol._item, mx = parent ? parent.getViewMatrix().invert() : matrix; return mx && mx._shiftless(); }, statics: { _updateBoundsCache: function(parent, item) { if (parent && item) { var id = item._id, ref = parent._boundsCache = parent._boundsCache || { ids: {}, list: [] }; if (!ref.ids[id]) { ref.list.push(item); ref.ids[id] = item; } } }, _clearBoundsCache: function(item) { var cache = item._boundsCache; if (cache) { item._bounds = item._position = item._boundsCache = undefined; for (var i = 0, list = cache.list, l = list.length; i < l; i++){ var other = list[i]; if (other !== item) { other._bounds = other._position = undefined; if (other._boundsCache) Item._clearBoundsCache(other); } } } }, _getBounds: function(items, matrix, options) { var x1 = Infinity, x2 = -x1, y1 = x1, y2 = x2, nonscaling = false; options = options || {}; for (var i = 0, l = items.length; i < l; i++) { var item = items[i]; if (item._visible && !item.isEmpty(true)) { var bounds = item._getCachedBounds( matrix && matrix.appended(item._matrix), options, true), rect = bounds.rect; x1 = Math.min(rect.x, x1); y1 = Math.min(rect.y, y1); x2 = Math.max(rect.x + rect.width, x2); y2 = Math.max(rect.y + rect.height, y2); if (bounds.nonscaling) nonscaling = true; } } return { rect: isFinite(x1) ? new Rectangle(x1, y1, x2 - x1, y2 - y1) : new Rectangle(), nonscaling: nonscaling }; } } }), { beans: true, _decompose: function() { return this._applyMatrix ? null : this._decomposed || (this._decomposed = this._matrix.decompose()); }, getRotation: function() { var decomposed = this._decompose(); return decomposed ? decomposed.rotation : 0; }, setRotation: function(rotation) { var current = this.getRotation(); if (current != null && rotation != null) { var decomposed = this._decomposed; this.rotate(rotation - current); if (decomposed) { decomposed.rotation = rotation; this._decomposed = decomposed; } } }, getScaling: function() { var decomposed = this._decompose(), s = decomposed && decomposed.scaling; return new LinkedPoint(s ? s.x : 1, s ? s.y : 1, this, 'setScaling'); }, setScaling: function() { var current = this.getScaling(), scaling = Point.read(arguments, 0, { clone: true, readNull: true }); if (current && scaling && !current.equals(scaling)) { var rotation = this.getRotation(), decomposed = this._decomposed, matrix = new Matrix(), center = this.getPosition(true); matrix.translate(center); if (rotation) matrix.rotate(rotation); matrix.scale(scaling.x / current.x, scaling.y / current.y); if (rotation) matrix.rotate(-rotation); matrix.translate(center.negate()); this.transform(matrix); if (decomposed) { decomposed.scaling = scaling; this._decomposed = decomposed; } } }, getMatrix: function() { return this._matrix; }, setMatrix: function() { var matrix = this._matrix; matrix.initialize.apply(matrix, arguments); }, getGlobalMatrix: function(_dontClone) { var matrix = this._globalMatrix; if (matrix) { var parent = this._parent; var parents = []; while (parent) { if (!parent._globalMatrix) { matrix = null; for (var i = 0, l = parents.length; i < l; i++) { parents[i]._globalMatrix = null; } break; } parents.push(parent); parent = parent._parent; } } if (!matrix) { matrix = this._globalMatrix = this._matrix.clone(); var parent = this._parent; if (parent) matrix.prepend(parent.getGlobalMatrix(true)); } return _dontClone ? matrix : matrix.clone(); }, getViewMatrix: function() { return this.getGlobalMatrix().prepend(this.getView()._matrix); }, getApplyMatrix: function() { return this._applyMatrix; }, setApplyMatrix: function(apply) { if (this._applyMatrix = this._canApplyMatrix && !!apply) this.transform(null, true); }, getTransformContent: '#getApplyMatrix', setTransformContent: '#setApplyMatrix', }, { getProject: function() { return this._project; }, _setProject: function(project, installEvents) { if (this._project !== project) { if (this._project) this._installEvents(false); this._project = project; var children = this._children; for (var i = 0, l = children && children.length; i < l; i++) children[i]._setProject(project); installEvents = true; } if (installEvents) this._installEvents(true); }, getView: function() { return this._project._view; }, _installEvents: function _installEvents(install) { _installEvents.base.call(this, install); var children = this._children; for (var i = 0, l = children && children.length; i < l; i++) children[i]._installEvents(install); }, getLayer: function() { var parent = this; while (parent = parent._parent) { if (parent instanceof Layer) return parent; } return null; }, getParent: function() { return this._parent; }, setParent: function(item) { return item.addChild(this); }, _getOwner: '#getParent', getChildren: function() { return this._children; }, setChildren: function(items) { this.removeChildren(); this.addChildren(items); }, getFirstChild: function() { return this._children && this._children[0] || null; }, getLastChild: function() { return this._children && this._children[this._children.length - 1] || null; }, getNextSibling: function() { var owner = this._getOwner(); return owner && owner._children[this._index + 1] || null; }, getPreviousSibling: function() { var owner = this._getOwner(); return owner && owner._children[this._index - 1] || null; }, getIndex: function() { return this._index; }, equals: function(item) { return item === this || item && this._class === item._class && this._style.equals(item._style) && this._matrix.equals(item._matrix) && this._locked === item._locked && this._visible === item._visible && this._blendMode === item._blendMode && this._opacity === item._opacity && this._clipMask === item._clipMask && this._guide === item._guide && this._equals(item) || false; }, _equals: function(item) { return Base.equals(this._children, item._children); }, clone: function(options) { var copy = new this.constructor(Item.NO_INSERT), children = this._children, insert = Base.pick(options ? options.insert : undefined, options === undefined || options === true), deep = Base.pick(options ? options.deep : undefined, true); if (children) copy.copyAttributes(this); if (!children || deep) copy.copyContent(this); if (!children) copy.copyAttributes(this); if (insert) copy.insertAbove(this); var name = this._name, parent = this._parent; if (name && parent) { var children = parent._children, orig = name, i = 1; while (children[name]) name = orig + ' ' + (i++); if (name !== orig) copy.setName(name); } return copy; }, copyContent: function(source) { var children = source._children; for (var i = 0, l = children && children.length; i < l; i++) { this.addChild(children[i].clone(false), true); } }, copyAttributes: function(source, excludeMatrix) { this.setStyle(source._style); var keys = ['_locked', '_visible', '_blendMode', '_opacity', '_clipMask', '_guide']; for (var i = 0, l = keys.length; i < l; i++) { var key = keys[i]; if (source.hasOwnProperty(key)) this[key] = source[key]; } if (!excludeMatrix) this._matrix.set(source._matrix, true); this.setApplyMatrix(source._applyMatrix); this.setPivot(source._pivot); this.setSelection(source._selection); var data = source._data, name = source._name; this._data = data ? Base.clone(data) : null; if (name) this.setName(name); }, rasterize: function(resolution, insert, boundRect) { var bounds = boundRect ? boundRect : this.getStrokeBounds(), scale = (resolution || this.getView().getResolution()) / 72, topLeft = bounds.getTopLeft().floor(), bottomRight = bounds.getBottomRight().ceil(), size = new Size(bottomRight.subtract(topLeft)), raster = new Raster(Item.NO_INSERT); if (!size.isZero()) { var canvas = CanvasProvider.getCanvas(size.multiply(scale)), ctx = canvas.getContext('2d'), matrix = new Matrix().scale(scale).translate(topLeft.negate()); ctx.imageSmoothingEnabled = false; ctx.save(); matrix.applyToContext(ctx); this.draw(ctx, new Base({ matrices: [matrix] })); ctx.restore(); raster.setCanvas(canvas); } raster.transform(new Matrix().translate(topLeft.add(size.divide(2))) .scale(1 / scale)); if (insert === undefined || insert) raster.insertAbove(this); return raster; }, contains: function() { var matrix = this._matrix; return ( matrix.isInvertible() && !!this._contains(matrix._inverseTransform(Point.read(arguments))) ); }, _contains: function(point) { var children = this._children; if (children) { for (var i = children.length - 1; i >= 0; i--) { if (children[i].contains(point)) return true; } return false; } return point.isInside(this.getInternalBounds()); }, isInside: function() { return Rectangle.read(arguments).contains(this.getBounds()); }, _asPathItem: function() { return new Path.Rectangle({ rectangle: this.getInternalBounds(), matrix: this._matrix, insert: false, }); }, intersects: function(item, _matrix) { if (!(item instanceof Item)) return false; return this._asPathItem().getIntersections(item._asPathItem(), null, _matrix, true).length > 0; } }, new function() { function hitTest() { var args = arguments; return this._hitTest( Point.read(args), HitResult.getOptions(args)); } function hitTestAll() { var args = arguments, point = Point.read(args), options = HitResult.getOptions(args), all = []; this._hitTest(point, new Base({ all: all }, options)); return all; } function hitTestChildren(point, options, viewMatrix, _exclude) { var children = this._children; if (children) { for (var i = children.length - 1; i >= 0; i--) { var child = children[i]; var res = child !== _exclude && child._hitTest(point, options, viewMatrix); if (res && !options.all) return res; } } return null; } Project.inject({ hitTest: hitTest, hitTestAll: hitTestAll, _hitTest: hitTestChildren }); return { hitTest: hitTest, hitTestAll: hitTestAll, _hitTestChildren: hitTestChildren, }; }, { _hitTest: function(point, options, parentViewMatrix) { if (this._locked || !this._visible || this._guide && !options.guides || this.isEmpty()) { return null; } var matrix = this._matrix, viewMatrix = parentViewMatrix ? parentViewMatrix.appended(matrix) : this.getGlobalMatrix().prepend(this.getView()._matrix), tolerance = Math.max(options.tolerance, 1e-12), tolerancePadding = options._tolerancePadding = new Size( Path._getStrokePadding(tolerance, matrix._shiftless().invert())); point = matrix._inverseTransform(point); if (!point || !this._children && !this.getBounds({ internal: true, stroke: true, handle: true }) .expand(tolerancePadding.multiply(2))._containsPoint(point)) { return null; } var checkSelf = !(options.guides && !this._guide || options.selected && !this.isSelected() || options.type && options.type !== Base.hyphenate(this._class) || options.class && !(this instanceof options.class)), match = options.match, that = this, bounds, res; function filter(hit) { if (hit && match && !match(hit)) hit = null; if (hit && options.all) options.all.push(hit); return hit; } function checkPoint(type, part) { var pt = part ? bounds['get' + part]() : that.getPosition(); if (point.subtract(pt).divide(tolerancePadding).length <= 1) { return new HitResult(type, that, { name: part ? Base.hyphenate(part) : type, point: pt }); } } var checkPosition = options.position, checkCenter = options.center, checkBounds = options.bounds; if (checkSelf && this._parent && (checkPosition || checkCenter || checkBounds)) { if (checkCenter || checkBounds) { bounds = this.getInternalBounds(); } res = checkPosition && checkPoint('position') || checkCenter && checkPoint('center', 'Center'); if (!res && checkBounds) { var points = [ 'TopLeft', 'TopRight', 'BottomLeft', 'BottomRight', 'LeftCenter', 'TopCenter', 'RightCenter', 'BottomCenter' ]; for (var i = 0; i < 8 && !res; i++) { res = checkPoint('bounds', points[i]); } } res = filter(res); } if (!res) { res = this._hitTestChildren(point, options, viewMatrix) || checkSelf && filter(this._hitTestSelf(point, options, viewMatrix, this.getStrokeScaling() ? null : viewMatrix._shiftless().invert())) || null; } if (res && res.point) { res.point = matrix.transform(res.point); } return res; }, _hitTestSelf: function(point, options) { if (options.fill && this.hasFill() && this._contains(point)) return new HitResult('fill', this); }, matches: function(name, compare) { function matchObject(obj1, obj2) { for (var i in obj1) { if (obj1.hasOwnProperty(i)) { var val1 = obj1[i], val2 = obj2[i]; if (Base.isPlainObject(val1) && Base.isPlainObject(val2)) { if (!matchObject(val1, val2)) return false; } else if (!Base.equals(val1, val2)) { return false; } } } return true; } var type = typeof name; if (type === 'object') { for (var key in name) { if (name.hasOwnProperty(key) && !this.matches(key, name[key])) return false; } return true; } else if (type === 'function') { return name(this); } else if (name === 'match') { return compare(this); } else { var value = /^(empty|editable)$/.test(name) ? this['is' + Base.capitalize(name)]() : name === 'type' ? Base.hyphenate(this._class) : this[name]; if (name === 'class') { if (typeof compare === 'function') return this instanceof compare; value = this._class; } if (typeof compare === 'function') { return !!compare(value); } else if (compare) { if (compare.test) { return compare.test(value); } else if (Base.isPlainObject(compare)) { return matchObject(compare, value); } } return Base.equals(value, compare); } }, getItems: function(options) { return Item._getItems(this, options, this._matrix); }, getItem: function(options) { return Item._getItems(this, options, this._matrix, null, true)[0] || null; }, statics: { _getItems: function _getItems(item, options, matrix, param, firstOnly) { if (!param) { var obj = typeof options === 'object' && options, overlapping = obj && obj.overlapping, inside = obj && obj.inside, bounds = overlapping || inside, rect = bounds && Rectangle.read([bounds]); param = { items: [], recursive: obj && obj.recursive !== false, inside: !!inside, overlapping: !!overlapping, rect: rect, path: overlapping && new Path.Rectangle({ rectangle: rect, insert: false }) }; if (obj) { options = Base.filter({}, options, { recursive: true, inside: true, overlapping: true }); } } var children = item._children, items = param.items, rect = param.rect; matrix = rect && (matrix || new Matrix()); for (var i = 0, l = children && children.length; i < l; i++) { var child = children[i], childMatrix = matrix && matrix.appended(child._matrix), add = true; if (rect) { var bounds = child.getBounds(childMatrix); if (!rect.intersects(bounds)) continue; if (!(rect.contains(bounds) || param.overlapping && (bounds.contains(rect) || param.path.intersects(child, childMatrix)))) add = false; } if (add && child.matches(options)) { items.push(child); if (firstOnly) break; } if (param.recursive !== false) { _getItems(child, options, childMatrix, param, firstOnly); } if (firstOnly && items.length > 0) break; } return items; } } }, { importJSON: function(json) { var res = Base.importJSON(json, this); return res !== this ? this.addChild(res) : res; }, addChild: function(item) { return this.insertChild(undefined, item); }, insertChild: function(index, item) { var res = item ? this.insertChildren(index, [item]) : null; return res && res[0]; }, addChildren: function(items) { return this.insertChildren(this._children.length, items); }, insertChildren: function(index, items) { var children = this._children; if (children && items && items.length > 0) { items = Base.slice(items); var inserted = {}; for (var i = items.length - 1; i >= 0; i--) { var item = items[i], id = item && item._id; if (!item || inserted[id]) { items.splice(i, 1); } else { item._remove(false, true); inserted[id] = true; } } Base.splice(children, items, index, 0); var project = this._project, notifySelf = project._changes; for (var i = 0, l = items.length; i < l; i++) { var item = items[i], name = item._name; item._parent = this; item._setProject(project, true); if (name) item.setName(name); if (notifySelf) item._changed(5); } this._changed(11); } else { items = null; } return items; }, _insertItem: '#insertChild', _insertAt: function(item, offset) { var owner = item && item._getOwner(), res = item !== this && owner ? this : null; if (res) { res._remove(false, true); owner._insertItem(item._index + offset, res); } return res; }, insertAbove: function(item) { return this._insertAt(item, 1); }, insertBelow: function(item) { return this._insertAt(item, 0); }, sendToBack: function() { var owner = this._getOwner(); return owner ? owner._insertItem(0, this) : null; }, bringToFront: function() { var owner = this._getOwner(); return owner ? owner._insertItem(undefined, this) : null; }, appendTop: '#addChild', appendBottom: function(item) { return this.insertChild(0, item); }, moveAbove: '#insertAbove', moveBelow: '#insertBelow', addTo: function(owner) { return owner._insertItem(undefined, this); }, copyTo: function(owner) { return this.clone(false).addTo(owner); }, reduce: function(options) { var children = this._children; if (children && children.length === 1) { var child = children[0].reduce(options); if (this._parent) { child.insertAbove(this); this.remove(); } else { child.remove(); } return child; } return this; }, _removeNamed: function() { var owner = this._getOwner(); if (owner) { var children = owner._children, namedChildren = owner._namedChildren, name = this._name, namedArray = namedChildren[name], index = namedArray ? namedArray.indexOf(this) : -1; if (index !== -1) { if (children[name] == this) delete children[name]; namedArray.splice(index, 1); if (namedArray.length) { children[name] = namedArray[0]; } else { delete namedChildren[name]; } } } }, _remove: function(notifySelf, notifyParent) { var owner = this._getOwner(), project = this._project, index = this._index; if (this._style) this._style._dispose(); if (owner) { if (this._name) this._removeNamed(); if (index != null) { if (project._activeLayer === this) project._activeLayer = this.getNextSibling() || this.getPreviousSibling(); Base.splice(owner._children, null, index, 1); } this._installEvents(false); if (notifySelf && project._changes) this._changed(5); if (notifyParent) owner._changed(11, this); this._parent = null; return true; } return false; }, remove: function() { return this._remove(true, true); }, replaceWith: function(item) { var ok = item && item.insertBelow(this); if (ok) this.remove(); return ok; }, removeChildren: function(start, end) { if (!this._children) return null; start = start || 0; end = Base.pick(end, this._children.length); var removed = Base.splice(this._children, null, start, end - start); for (var i = removed.length - 1; i >= 0; i--) { removed[i]._remove(true, false); } if (removed.length > 0) this._changed(11); return removed; }, clear: '#removeChildren', reverseChildren: function() { if (this._children) { this._children.reverse(); for (var i = 0, l = this._children.length; i < l; i++) this._children[i]._index = i; this._changed(11); } }, isEmpty: function(recursively) { var children = this._children; var numChildren = children ? children.length : 0; if (recursively) { for (var i = 0; i < numChildren; i++) { if (!children[i].isEmpty(recursively)) { return false; } } return true; } return !numChildren; }, isEditable: function() { var item = this; while (item) { if (!item._visible || item._locked) return false; item = item._parent; } return true; }, hasFill: function() { return this.getStyle().hasFill(); }, hasStroke: function() { return this.getStyle().hasStroke(); }, hasShadow: function() { return this.getStyle().hasShadow(); }, _getOrder: function(item) { function getList(item) { var list = []; do { list.unshift(item); } while (item = item._parent); return list; } var list1 = getList(this), list2 = getList(item); for (var i = 0, l = Math.min(list1.length, list2.length); i < l; i++) { if (list1[i] != list2[i]) { return list1[i]._index < list2[i]._index ? 1 : -1; } } return 0; }, hasChildren: function() { return this._children && this._children.length > 0; }, isInserted: function() { return this._parent ? this._parent.isInserted() : false; }, isAbove: function(item) { return this._getOrder(item) === -1; }, isBelow: function(item) { return this._getOrder(item) === 1; }, isParent: function(item) { return this._parent === item; }, isChild: function(item) { return item && item._parent === this; }, isDescendant: function(item) { var parent = this; while (parent = parent._parent) { if (parent === item) return true; } return false; }, isAncestor: function(item) { return item ? item.isDescendant(this) : false; }, isSibling: function(item) { return this._parent === item._parent; }, isGroupedWith: function(item) { var parent = this._parent; while (parent) { if (parent._parent && /^(Group|Layer|CompoundPath)$/.test(parent._class) && item.isDescendant(parent)) return true; parent = parent._parent; } return false; }, }, Base.each(['rotate', 'scale', 'shear', 'skew'], function(key) { var rotate = key === 'rotate'; this[key] = function() { var args = arguments, value = (rotate ? Base : Point).read(args), center = Point.read(args, 0, { readNull: true }); return this.transform(new Matrix()[key](value, center || this.getPosition(true))); }; }, { translate: function() { var mx = new Matrix(); return this.transform(mx.translate.apply(mx, arguments)); }, transform: function(matrix, _applyRecursively, _setApplyMatrix) { var _matrix = this._matrix, transformMatrix = matrix && !matrix.isIdentity(), applyMatrix = ( _setApplyMatrix && this._canApplyMatrix || this._applyMatrix && ( transformMatrix || !_matrix.isIdentity() || _applyRecursively && this._children ) ); if (!transformMatrix && !applyMatrix) return this; if (transformMatrix) { if (!matrix.isInvertible() && _matrix.isInvertible()) _matrix._backup = _matrix.getValues(); _matrix.prepend(matrix, true); var style = this._style, fillColor = style.getFillColor(true), strokeColor = style.getStrokeColor(true); if (fillColor) fillColor.transform(matrix); if (strokeColor) strokeColor.transform(matrix); } if (applyMatrix && (applyMatrix = this._transformContent( _matrix, _applyRecursively, _setApplyMatrix))) { var pivot = this._pivot; if (pivot) _matrix._transformPoint(pivot, pivot, true); _matrix.reset(true); if (_setApplyMatrix && this._canApplyMatrix) this._applyMatrix = true; } var bounds = this._bounds, position = this._position; if (transformMatrix || applyMatrix) { this._changed(25); } var decomp = transformMatrix && bounds && matrix.decompose(); if (decomp && decomp.skewing.isZero() && decomp.rotation % 90 === 0) { for (var key in bounds) { var cache = bounds[key]; if (cache.nonscaling) { delete bounds[key]; } else if (applyMatrix || !cache.internal) { var rect = cache.rect; matrix._transformBounds(rect, rect); } } this._bounds = bounds; var cached = bounds[this._getBoundsCacheKey( this._boundsOptions || {})]; if (cached) { this._position = this._getPositionFromBounds(cached.rect); } } else if (transformMatrix && position && this._pivot) { this._position = matrix._transformPoint(position, position); } return this; }, _transformContent: function(matrix, applyRecursively, setApplyMatrix) { var children = this._children; if (children) { for (var i = 0, l = children.length; i < l; i++) { children[i].transform(matrix, applyRecursively, setApplyMatrix); } return true; } }, globalToLocal: function() { return this.getGlobalMatrix(true)._inverseTransform( Point.read(arguments)); }, localToGlobal: function() { return this.getGlobalMatrix(true)._transformPoint( Point.read(arguments)); }, parentToLocal: function() { return this._matrix._inverseTransform(Point.read(arguments)); }, localToParent: function() { return this._matrix._transformPoint(Point.read(arguments)); }, fitBounds: function(rectangle, fill) { rectangle = Rectangle.read(arguments); var bounds = this.getBounds(), itemRatio = bounds.height / bounds.width, rectRatio = rectangle.height / rectangle.width, scale = (fill ? itemRatio > rectRatio : itemRatio < rectRatio) ? rectangle.width / bounds.width : rectangle.height / bounds.height, newBounds = new Rectangle(new Point(), new Size(bounds.width * scale, bounds.height * scale)); newBounds.setCenter(rectangle.getCenter()); this.setBounds(newBounds); } }), { _setStyles: function(ctx, param, viewMatrix, strokeMatrix) { var style = this._style, matrix = this._matrix; if (style.hasFill()) { ctx.fillStyle = style.getFillColor().toCanvasStyle(ctx, matrix, strokeMatrix); } if (style.hasStroke()) { ctx.strokeStyle = style.getStrokeColor().toCanvasStyle(ctx, matrix, strokeMatrix); ctx.lineWidth = style.getStrokeWidth(); var strokeJoin = style.getStrokeJoin(), strokeCap = style.getStrokeCap(), miterLimit = style.getMiterLimit(); if (strokeJoin) ctx.lineJoin = strokeJoin; if (strokeCap) ctx.lineCap = strokeCap; if (miterLimit) ctx.miterLimit = miterLimit; if (paper.support.nativeDash) { var dashArray = style.getDashArray(), dashOffset = style.getDashOffset(); if (dashArray && dashArray.length) { if ('setLineDash' in ctx) { ctx.setLineDash(dashArray); ctx.lineDashOffset = dashOffset; } else { ctx.mozDash = dashArray; ctx.mozDashOffset = dashOffset; } } } } if (style.hasShadow()) { var pixelRatio = param.pixelRatio || 1, mx = viewMatrix._shiftless().prepend( new Matrix().scale(pixelRatio, pixelRatio)), blur = mx.transform(new Point(style.getShadowBlur(), 0)), offset = mx.transform(this.getShadowOffset()); ctx.shadowColor = style.getShadowColor().toCanvasStyle(ctx); ctx.shadowBlur = blur.getLength(); ctx.shadowOffsetX = offset.x; ctx.shadowOffsetY = offset.y; } }, draw: function(ctx, param, parentStrokeMatrix) { var updateVersion = this._updateVersion = this._project._updateVersion; if (!this._visible || this._opacity === 0) return; var matrices = param.matrices, viewMatrix = param.viewMatrix, matrix = this._matrix, globalMatrix = matrices[matrices.length - 1].appended(matrix); if (!globalMatrix.isInvertible()) return; viewMatrix = viewMatrix ? viewMatrix.appended(globalMatrix) : globalMatrix; matrices.push(globalMatrix); if (param.updateMatrix) { this._globalMatrix = globalMatrix; } var blendMode = this._blendMode, opacity = Numerical.clamp(this._opacity, 0, 1), normalBlend = blendMode === 'normal', nativeBlend = BlendMode.nativeModes[blendMode], direct = normalBlend && opacity === 1 || param.dontStart || param.clip || (nativeBlend || normalBlend && opacity < 1) && this._canComposite(), pixelRatio = param.pixelRatio || 1, mainCtx, itemOffset, prevOffset; if (!direct) { var bounds = this.getStrokeBounds(viewMatrix); if (!bounds.width || !bounds.height) { matrices.pop(); return; } prevOffset = param.offset; itemOffset = param.offset = bounds.getTopLeft().floor(); mainCtx = ctx; ctx = CanvasProvider.getContext(bounds.getSize().ceil().add(1) .multiply(pixelRatio)); if (pixelRatio !== 1) ctx.scale(pixelRatio, pixelRatio); } ctx.save(); var strokeMatrix = parentStrokeMatrix ? parentStrokeMatrix.appended(matrix) : this._canScaleStroke && !this.getStrokeScaling(true) && viewMatrix, clip = !direct && param.clipItem, transform = !strokeMatrix || clip; if (direct) { ctx.globalAlpha = opacity; if (nativeBlend) ctx.globalCompositeOperation = blendMode; } else if (transform) { ctx.translate(-itemOffset.x, -itemOffset.y); } if (transform) { (direct ? matrix : viewMatrix).applyToContext(ctx); } if (clip) { param.clipItem.draw(ctx, param.extend({ clip: true })); } if (strokeMatrix) { ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0); var offset = param.offset; if (offset) ctx.translate(-offset.x, -offset.y); } this._draw(ctx, param, viewMatrix, strokeMatrix); ctx.restore(); matrices.pop(); if (param.clip && !param.dontFinish) { ctx.clip(this.getFillRule()); } if (!direct) { BlendMode.process(blendMode, ctx, mainCtx, opacity, itemOffset.subtract(prevOffset).multiply(pixelRatio)); CanvasProvider.release(ctx); param.offset = prevOffset; } }, _isUpdated: function(updateVersion) { var parent = this._parent; if (parent instanceof CompoundPath) return parent._isUpdated(updateVersion); var updated = this._updateVersion === updateVersion; if (!updated && parent && parent._visible && parent._isUpdated(updateVersion)) { this._updateVersion = updateVersion; updated = true; } return updated; }, _drawSelection: function(ctx, matrix, size, selectionItems, updateVersion) { var selection = this._selection, itemSelected = selection & 1, boundsSelected = selection & 2 || itemSelected && this._selectBounds, positionSelected = selection & 4; if (!this._drawSelected) itemSelected = false; if ((itemSelected || boundsSelected || positionSelected) && this._isUpdated(updateVersion)) { var layer, color = this.getSelectedColor(true) || (layer = this.getLayer()) && layer.getSelectedColor(true), mx = matrix.appended(this.getGlobalMatrix(true)), half = size / 2; ctx.strokeStyle = ctx.fillStyle = color ? color.toCanvasStyle(ctx) : '#009dec'; ctx.lineWidth=2.5; if (itemSelected) this._drawSelected(ctx, mx, selectionItems); if (positionSelected) { var pos = this.getPosition(true), parent = this._parent, point = parent ? parent.localToGlobal(pos) : pos, x = point.x, y = point.y; ctx.beginPath(); ctx.arc(x, y, half, 0, Math.PI * 2, true); ctx.stroke(); var deltas = [[0, -1], [1, 0], [0, 1], [-1, 0]], start = half, end = size + 1; for (var i = 0; i < 4; i++) { var delta = deltas[i], dx = delta[0], dy = delta[1]; ctx.moveTo(x + dx * start, y + dy * start); ctx.lineTo(x + dx * end, y + dy * end); ctx.stroke(); } } if (boundsSelected) { var coords = mx._transformCorners(this.getInternalBounds()); ctx.beginPath(); for (var i = 0; i < 8; i++) { ctx[!i ? 'moveTo' : 'lineTo'](coords[i], coords[++i]); } ctx.closePath(); ctx.stroke(); for (var i = 0; i < 8; i++) { ctx.fillRect(coords[i] - half, coords[++i] - half, size, size); } } } }, _canComposite: function() { return false; } }, Base.each(['down', 'drag', 'up', 'move'], function(key) { this['removeOn' + Base.capitalize(key)] = function() { var hash = {}; hash[key] = true; return this.removeOn(hash); }; }, { removeOn: function(obj) { for (var name in obj) { if (obj[name]) { var key = 'mouse' + name, project = this._project, sets = project._removeSets = project._removeSets || {}; sets[key] = sets[key] || {}; sets[key][this._id] = this; } } return this; } }), { tween: function(from, to, options) { if (!options) { options = to; to = from; from = null; if (!options) { options = to; to = null; } } var easing = options && options.easing, start = options && options.start, duration = options != null && ( typeof options === 'number' ? options : options.duration ), tween = new Tween(this, from, to, duration, easing, start); function onFrame(event) { tween._handleFrame(event.time * 1000); if (!tween.running) { this.off('frame', onFrame); } } if (duration) { this.on('frame', onFrame); } return tween; }, tweenTo: function(to, options) { return this.tween(null, to, options); }, tweenFrom: function(from, options) { return this.tween(from, null, options); } }); var Group = Item.extend({ _class: 'Group', _selectBounds: false, _selectChildren: true, _serializeFields: { children: [] }, initialize: function Group(arg) { this._children = []; this._namedChildren = {}; if (!this._initialize(arg)) this.addChildren(Array.isArray(arg) ? arg : arguments); }, _changed: function _changed(flags) { _changed.base.call(this, flags); if (flags & 2050) { this._clipItem = undefined; } }, _getClipItem: function() { var clipItem = this._clipItem; if (clipItem === undefined) { clipItem = null; var children = this._children; for (var i = 0, l = children.length; i < l; i++) { if (children[i]._clipMask) { clipItem = children[i]; break; } } this._clipItem = clipItem; } return clipItem; }, isClipped: function() { return !!this._getClipItem(); }, setClipped: function(clipped) { var child = this.getFirstChild(); if (child) child.setClipMask(clipped); }, _getBounds: function _getBounds(matrix, options) { var clipItem = this._getClipItem(); return clipItem ? clipItem._getCachedBounds(clipItem._matrix.prepended(matrix), Base.set({}, options, { stroke: false })) : _getBounds.base.call(this, matrix, options); }, _hitTestChildren: function _hitTestChildren(point, options, viewMatrix) { var clipItem = this._getClipItem(); return (!clipItem || clipItem.contains(point)) && _hitTestChildren.base.call(this, point, options, viewMatrix, clipItem); }, _draw: function(ctx, param) { var clip = param.clip, clipItem = !clip && this._getClipItem(); param = param.extend({ clipItem: clipItem, clip: false }); if (clip) { ctx.beginPath(); param.dontStart = param.dontFinish = true; } else if (clipItem) { clipItem.draw(ctx, param.extend({ clip: true })); } var children = this._children; for (var i = 0, l = children.length; i < l; i++) { var item = children[i]; if (item !== clipItem) item.draw(ctx, param); } } }); var Layer = Group.extend({ _class: 'Layer', initialize: function Layer() { Group.apply(this, arguments); }, _getOwner: function() { return this._parent || this._index != null && this._project; }, isInserted: function isInserted() { return this._parent ? isInserted.base.call(this) : this._index != null; }, activate: function() { this._project._activeLayer = this; }, _hitTestSelf: function() { } }); var Shape = Item.extend({ _class: 'Shape', _applyMatrix: false, _canApplyMatrix: false, _canScaleStroke: true, _serializeFields: { type: null, size: null, radius: null }, initialize: function Shape(props, point) { this._initialize(props, point); }, _equals: function(item) { return this._type === item._type && this._size.equals(item._size) && Base.equals(this._radius, item._radius); }, copyContent: function(source) { this.setType(source._type); this.setSize(source._size); this.setRadius(source._radius); }, getType: function() { return this._type; }, setType: function(type) { this._type = type; }, getShape: '#getType', setShape: '#setType', getSize: function() { var size = this._size; return new LinkedSize(size.width, size.height, this, 'setSize'); }, setSize: function() { var size = Size.read(arguments); if (!this._size) { this._size = size.clone(); } else if (!this._size.equals(size)) { var type = this._type, width = size.width, height = size.height; if (type === 'rectangle') { this._radius.set(Size.min(this._radius, size.divide(2).abs())); } else if (type === 'circle') { width = height = (width + height) / 2; this._radius = width / 2; } else if (type === 'ellipse') { this._radius._set(width / 2, height / 2); } this._size._set(width, height); this._changed(9); } }, getRadius: function() { var rad = this._radius; return this._type === 'circle' ? rad : new LinkedSize(rad.width, rad.height, this, 'setRadius'); }, setRadius: function(radius) { var type = this._type; if (type === 'circle') { if (radius === this._radius) return; var size = radius * 2; this._radius = radius; this._size._set(size, size); } else { radius = Size.read(arguments); if (!this._radius) { this._radius = radius.clone(); } else { if (this._radius.equals(radius)) return; this._radius.set(radius); if (type === 'rectangle') { var size = Size.max(this._size, radius.multiply(2)); this._size.set(size); } else if (type === 'ellipse') { this._size._set(radius.width * 2, radius.height * 2); } } } this._changed(9); }, isEmpty: function() { return false; }, toPath: function(insert) { var path = new Path[Base.capitalize(this._type)]({ center: new Point(), size: this._size, radius: this._radius, insert: false }); path.copyAttributes(this); if (paper.settings.applyMatrix) path.setApplyMatrix(true); if (insert === undefined || insert) path.insertAbove(this); return path; }, toShape: '#clone', _asPathItem: function() { return this.toPath(false); }, _draw: function(ctx, param, viewMatrix, strokeMatrix) { var style = this._style, hasFill = style.hasFill(), hasStroke = style.hasStroke(), dontPaint = param.dontFinish || param.clip, untransformed = !strokeMatrix; if (hasFill || hasStroke || dontPaint) { var type = this._type, radius = this._radius, isCircle = type === 'circle'; if (!param.dontStart) ctx.beginPath(); if (untransformed && isCircle) { ctx.arc(0, 0, radius, 0, Math.PI * 2, true); } else { var rx = isCircle ? radius : radius.width, ry = isCircle ? radius : radius.height, size = this._size, width = size.width, height = size.height; if (untransformed && type === 'rectangle' && rx === 0 && ry === 0) { ctx.rect(-width / 2, -height / 2, width, height); } else { var x = width / 2, y = height / 2, kappa = 1 - 0.5522847498307936, cx = rx * kappa, cy = ry * kappa, c = [ -x, -y + ry, -x, -y + cy, -x + cx, -y, -x + rx, -y, x - rx, -y, x - cx, -y, x, -y + cy, x, -y + ry, x, y - ry, x, y - cy, x - cx, y, x - rx, y, -x + rx, y, -x + cx, y, -x, y - cy, -x, y - ry ]; if (strokeMatrix) strokeMatrix.transform(c, c, 32); ctx.moveTo(c[0], c[1]); ctx.bezierCurveTo(c[2], c[3], c[4], c[5], c[6], c[7]); if (x !== rx) ctx.lineTo(c[8], c[9]); ctx.bezierCurveTo(c[10], c[11], c[12], c[13], c[14], c[15]); if (y !== ry) ctx.lineTo(c[16], c[17]); ctx.bezierCurveTo(c[18], c[19], c[20], c[21], c[22], c[23]); if (x !== rx) ctx.lineTo(c[24], c[25]); ctx.bezierCurveTo(c[26], c[27], c[28], c[29], c[30], c[31]); } } ctx.closePath(); } if (!dontPaint && (hasFill || hasStroke)) { this._setStyles(ctx, param, viewMatrix, strokeMatrix); if (hasFill) { ctx.fill(style.getFillRule()); ctx.shadowColor = 'rgba(0,0,0,0)'; } if (hasStroke) ctx.stroke(); } }, _canComposite: function() { return !(this.hasFill() && this.hasStroke()); }, _getBounds: function(matrix, options) { var rect = new Rectangle(this._size).setCenter(0, 0), style = this._style, strokeWidth = options.stroke && style.hasStroke() && style.getStrokeWidth(); if (matrix) rect = matrix._transformBounds(rect); return strokeWidth ? rect.expand(Path._getStrokePadding(strokeWidth, this._getStrokeMatrix(matrix, options))) : rect; } }, new function() { function getCornerCenter(that, point, expand) { var radius = that._radius; if (!radius.isZero()) { var halfSize = that._size.divide(2); for (var q = 1; q <= 4; q++) { var dir = new Point(q > 1 && q < 4 ? -1 : 1, q > 2 ? -1 : 1), corner = dir.multiply(halfSize), center = corner.subtract(dir.multiply(radius)), rect = new Rectangle( expand ? corner.add(dir.multiply(expand)) : corner, center); if (rect.contains(point)) return { point: center, quadrant: q }; } } } function isOnEllipseStroke(point, radius, padding, quadrant) { var vector = point.divide(radius); return (!quadrant || vector.isInQuadrant(quadrant)) && vector.subtract(vector.normalize()).multiply(radius) .divide(padding).length <= 1; } return { _contains: function _contains(point) { if (this._type === 'rectangle') { var center = getCornerCenter(this, point); return center ? point.subtract(center.point).divide(this._radius) .getLength() <= 1 : _contains.base.call(this, point); } else { return point.divide(this.size).getLength() <= 0.5; } }, _hitTestSelf: function _hitTestSelf(point, options, viewMatrix, strokeMatrix) { var hit = false, style = this._style, hitStroke = options.stroke && style.hasStroke(), hitFill = options.fill && style.hasFill(); if (hitStroke || hitFill) { var type = this._type, radius = this._radius, strokeRadius = hitStroke ? style.getStrokeWidth() / 2 : 0, strokePadding = options._tolerancePadding.add( Path._getStrokePadding(strokeRadius, !style.getStrokeScaling() && strokeMatrix)); if (type === 'rectangle') { var padding = strokePadding.multiply(2), center = getCornerCenter(this, point, padding); if (center) { hit = isOnEllipseStroke(point.subtract(center.point), radius, strokePadding, center.quadrant); } else { var rect = new Rectangle(this._size).setCenter(0, 0), outer = rect.expand(padding), inner = rect.expand(padding.negate()); hit = outer._containsPoint(point) && !inner._containsPoint(point); } } else { hit = isOnEllipseStroke(point, radius, strokePadding); } } return hit ? new HitResult(hitStroke ? 'stroke' : 'fill', this) : _hitTestSelf.base.apply(this, arguments); } }; }, { statics: new function() { function createShape(type, point, size, radius, args) { var item = Base.create(Shape.prototype); item._type = type; item._size = size; item._radius = radius; item._initialize(Base.getNamed(args), point); return item; } return { Circle: function() { var args = arguments, center = Point.readNamed(args, 'center'), radius = Base.readNamed(args, 'radius'); return createShape('circle', center, new Size(radius * 2), radius, args); }, Rectangle: function() { var args = arguments, rect = Rectangle.readNamed(args, 'rectangle'), radius = Size.min(Size.readNamed(args, 'radius'), rect.getSize(true).divide(2)); return createShape('rectangle', rect.getCenter(true), rect.getSize(true), radius, args); }, Ellipse: function() { var args = arguments, ellipse = Shape._readEllipse(args), radius = ellipse.radius; return createShape('ellipse', ellipse.center, radius.multiply(2), radius, args); }, _readEllipse: function(args) { var center, radius; if (Base.hasNamed(args, 'radius')) { center = Point.readNamed(args, 'center'); radius = Size.readNamed(args, 'radius'); } else { var rect = Rectangle.readNamed(args, 'rectangle'); center = rect.getCenter(true); radius = rect.getSize(true).divide(2); } return { center: center, radius: radius }; } }; }}); var Raster = Item.extend({ _class: 'Raster', _applyMatrix: false, _canApplyMatrix: false, _boundsOptions: { stroke: false, handle: false }, _serializeFields: { crossOrigin: null, source: null }, _prioritize: ['crossOrigin'], _smoothing: false, beans: true, initialize: function Raster(source, position) { if (!this._initialize(source, position !== undefined && Point.read(arguments))) { var image, type = typeof source, object = type === 'string' ? document.getElementById(source) : type === 'object' ? source : null; if (object && object !== Item.NO_INSERT) { if (object.getContext || object.naturalHeight != null) { image = object; } else if (object) { var size = Size.read(arguments); if (!size.isZero()) { image = CanvasProvider.getCanvas(size); } } } if (image) { this.setImage(image); } else { this.setSource(source); } } if (!this._size) { this._size = new Size(); this._loaded = false; } }, _equals: function(item) { return this.getSource() === item.getSource(); }, copyContent: function(source) { var image = source._image, canvas = source._canvas; if (image) { this._setImage(image); } else if (canvas) { var copyCanvas = CanvasProvider.getCanvas(source._size); copyCanvas.getContext('2d').drawImage(canvas, 0, 0); this._setImage(copyCanvas); } this._crossOrigin = source._crossOrigin; }, getSize: function() { var size = this._size; return new LinkedSize(size ? size.width : 0, size ? size.height : 0, this, 'setSize'); }, setSize: function() { var size = Size.read(arguments); if (!size.equals(this._size)) { if (size.width > 0 && size.height > 0) { var element = this.getElement(); this._setImage(CanvasProvider.getCanvas(size)); if (element) this.getContext(true).drawImage(element, 0, 0, size.width, size.height); } else { if (this._canvas) CanvasProvider.release(this._canvas); this._size = size.clone(); } } }, getWidth: function() { return this._size ? this._size.width : 0; }, setWidth: function(width) { this.setSize(width, this.getHeight()); }, getHeight: function() { return this._size ? this._size.height : 0; }, setHeight: function(height) { this.setSize(this.getWidth(), height); }, getLoaded: function() { return this._loaded; }, isEmpty: function() { var size = this._size; return !size || size.width === 0 && size.height === 0; }, getResolution: function() { var matrix = this._matrix, orig = new Point(0, 0).transform(matrix), u = new Point(1, 0).transform(matrix).subtract(orig), v = new Point(0, 1).transform(matrix).subtract(orig); return new Size( 72 / u.getLength(), 72 / v.getLength() ); }, getPpi: '#getResolution', getImage: function() { return this._image; }, setImage: function(image) { var that = this; function emit(event) { var view = that.getView(), type = event && event.type || 'load'; if (view && that.responds(type)) { paper = view._scope; that.emit(type, new Event(event)); } } this._setImage(image); if (this._loaded) { setTimeout(emit, 0); } else if (image) { DomEvent.add(image, { load: function(event) { that._setImage(image); emit(event); }, error: emit }); } }, _setImage: function(image) { if (this._canvas) CanvasProvider.release(this._canvas); if (image && image.getContext) { this._image = null; this._canvas = image; this._loaded = true; } else { this._image = image; this._canvas = null; this._loaded = !!(image && image.src && image.complete); } this._size = new Size( image ? image.naturalWidth || image.width : 0, image ? image.naturalHeight || image.height : 0); this._context = null; this._changed(1033); }, getCanvas: function() { if (!this._canvas) { var ctx = CanvasProvider.getContext(this._size); try { if (this._image) ctx.drawImage(this._image, 0, 0); this._canvas = ctx.canvas; } catch (e) { CanvasProvider.release(ctx); } } return this._canvas; }, setCanvas: '#setImage', getContext: function(_change) { if (!this._context) this._context = this.getCanvas().getContext('2d'); if (_change) { this._image = null; this._changed(1025); } return this._context; }, setContext: function(context) { this._context = context; }, getSource: function() { var image = this._image; return image && image.src || this.toDataURL(); }, setSource: function(src) { var image = new self.Image(), crossOrigin = this._crossOrigin; if (crossOrigin) image.crossOrigin = crossOrigin; if (src) image.src = src; this.setImage(image); }, getCrossOrigin: function() { var image = this._image; return image && image.crossOrigin || this._crossOrigin || ''; }, setCrossOrigin: function(crossOrigin) { this._crossOrigin = crossOrigin; var image = this._image; if (image) image.crossOrigin = crossOrigin; }, getSmoothing: function() { return this._smoothing; }, setSmoothing: function(smoothing) { this._smoothing = smoothing; this._changed(257); }, getElement: function() { return this._canvas || this._loaded && this._image; } }, { beans: false, getSubCanvas: function() { var rect = Rectangle.read(arguments), ctx = CanvasProvider.getContext(rect.getSize()); var clippedStartX = Math.max(0, rect.x); var clippedStartY = Math.max(0, rect.y); var clippedEndX = Math.min(this.getCanvas().width, rect.x + rect.width); var clippedEndY = Math.min(this.getCanvas().height, rect.y + rect.height); ctx.drawImage(this.getCanvas(), clippedStartX, clippedStartY, clippedEndX - clippedStartX, clippedEndY - clippedStartY, clippedStartX - rect.x, clippedStartY - rect.y, clippedEndX - clippedStartX, clippedEndY - clippedStartY ); return ctx.canvas; }, getSubRaster: function() { var rect = Rectangle.read(arguments), raster = new Raster(Item.NO_INSERT); raster._setImage(this.getSubCanvas(rect)); raster.translate(rect.getCenter().subtract(this.getSize().divide(2))); raster._matrix.prepend(this._matrix); raster.insertAbove(this); return raster; }, toDataURL: function() { var image = this._image, src = image && image.src; if (/^data:/.test(src)) return src; var canvas = this.getCanvas(); return canvas ? canvas.toDataURL.apply(canvas, arguments) : null; }, drawImage: function(image ) { var point = Point.read(arguments, 1); this.getContext(true).drawImage(image, point.x, point.y); }, getAverageColor: function(object) { var bounds, path; if (!object) { bounds = this.getBounds(); } else if (object instanceof PathItem) { path = object; bounds = object.getBounds(); } else if (typeof object === 'object') { if ('width' in object) { bounds = new Rectangle(object); } else if ('x' in object) { bounds = new Rectangle(object.x - 0.5, object.y - 0.5, 1, 1); } } if (!bounds) return null; var sampleSize = 32, width = Math.min(bounds.width, sampleSize), height = Math.min(bounds.height, sampleSize); var ctx = Raster._sampleContext; if (!ctx) { ctx = Raster._sampleContext = CanvasProvider.getContext( new Size(sampleSize)); } else { ctx.clearRect(0, 0, sampleSize + 1, sampleSize + 1); } ctx.save(); var matrix = new Matrix() .scale(width / bounds.width, height / bounds.height) .translate(-bounds.x, -bounds.y); matrix.applyToContext(ctx); if (path) path.draw(ctx, new Base({ clip: true, matrices: [matrix] })); this._matrix.applyToContext(ctx); var element = this.getElement(), size = this._size; if (element) ctx.drawImage(element, -size.width / 2, -size.height / 2); ctx.restore(); var pixels = ctx.getImageData(0.5, 0.5, Math.ceil(width), Math.ceil(height)).data, channels = [0, 0, 0], total = 0; for (var i = 0, l = pixels.length; i < l; i += 4) { var alpha = pixels[i + 3]; total += alpha; alpha /= 255; channels[0] += pixels[i] * alpha; channels[1] += pixels[i + 1] * alpha; channels[2] += pixels[i + 2] * alpha; } for (var i = 0; i < 3; i++) channels[i] /= total; return total ? Color.read(channels) : null; }, getPixel: function() { var point = Point.read(arguments); var data = this.getContext().getImageData(point.x, point.y, 1, 1).data; return new Color('rgb', [data[0] / 255, data[1] / 255, data[2] / 255], data[3] / 255); }, setPixel: function() { var args = arguments, point = Point.read(args), color = Color.read(args), components = color._convert('rgb'), alpha = color._alpha, ctx = this.getContext(true), imageData = ctx.createImageData(1, 1), data = imageData.data; data[0] = components[0] * 255; data[1] = components[1] * 255; data[2] = components[2] * 255; data[3] = alpha != null ? alpha * 255 : 255; ctx.putImageData(imageData, point.x, point.y); }, clear: function() { var size = this._size; this.getContext(true).clearRect(0, 0, size.width + 1, size.height + 1); }, createImageData: function() { var size = Size.read(arguments); return this.getContext().createImageData(size.width, size.height); }, getImageData: function() { var rect = Rectangle.read(arguments); if (rect.isEmpty()) rect = new Rectangle(this._size); return this.getContext().getImageData(rect.x, rect.y, rect.width, rect.height); }, setImageData: function(data ) { var point = Point.read(arguments, 1); this.getContext(true).putImageData(data, point.x, point.y); }, _getBounds: function(matrix, options) { var rect = new Rectangle(this._size).setCenter(0, 0); return matrix ? matrix._transformBounds(rect) : rect; }, _hitTestSelf: function(point) { if (this._contains(point)) { var that = this; return new HitResult('pixel', that, { offset: point.add(that._size.divide(2)).round(), color: { get: function() { return that.getPixel(this.offset); } } }); } }, _draw: function(ctx, param, viewMatrix) { var element = this.getElement(); if (element && element.width > 0 && element.height > 0) { ctx.globalAlpha = Numerical.clamp(this._opacity, 0, 1); this._setStyles(ctx, param, viewMatrix); DomElement.setPrefixed( ctx, 'imageSmoothingEnabled', this._smoothing ); ctx.drawImage(element, -this._size.width / 2, -this._size.height / 2); } }, _canComposite: function() { return true; } }); var SymbolItem = Item.extend({ _class: 'SymbolItem', _applyMatrix: false, _canApplyMatrix: false, _boundsOptions: { stroke: true }, _serializeFields: { symbol: null }, initialize: function SymbolItem(arg0, arg1) { if (!this._initialize(arg0, arg1 !== undefined && Point.read(arguments, 1))) this.setDefinition(arg0 instanceof SymbolDefinition ? arg0 : new SymbolDefinition(arg0)); }, _equals: function(item) { return this._definition === item._definition; }, copyContent: function(source) { this.setDefinition(source._definition); }, getDefinition: function() { return this._definition; }, setDefinition: function(definition) { this._definition = definition; this._changed(9); }, getSymbol: '#getDefinition', setSymbol: '#setDefinition', isEmpty: function() { return this._definition._item.isEmpty(); }, _getBounds: function(matrix, options) { var item = this._definition._item; return item._getCachedBounds(item._matrix.prepended(matrix), options); }, _hitTestSelf: function(point, options, viewMatrix) { var opts = options.extend({ all: false }); var res = this._definition._item._hitTest(point, opts, viewMatrix); if (res) res.item = this; return res; }, _draw: function(ctx, param) { this._definition._item.draw(ctx, param); } }); var SymbolDefinition = Base.extend({ _class: 'SymbolDefinition', initialize: function SymbolDefinition(item, dontCenter) { this._id = UID.get(); this.project = paper.project; if (item) this.setItem(item, dontCenter); }, _serialize: function(options, dictionary) { return dictionary.add(this, function() { return Base.serialize([this._class, this._item], options, false, dictionary); }); }, _changed: function(flags) { if (flags & 8) Item._clearBoundsCache(this); if (flags & 1) this.project._changed(flags); }, getItem: function() { return this._item; }, setItem: function(item, _dontCenter) { if (item._symbol) item = item.clone(); if (this._item) this._item._symbol = null; this._item = item; item.remove(); item.setSelected(false); if (!_dontCenter) item.setPosition(new Point()); item._symbol = this; this._changed(9); }, getDefinition: '#getItem', setDefinition: '#setItem', place: function(position) { return new SymbolItem(this, position); }, clone: function() { return new SymbolDefinition(this._item.clone(false)); }, equals: function(symbol) { return symbol === this || symbol && this._item.equals(symbol._item) || false; } }); var HitResult = Base.extend({ _class: 'HitResult', initialize: function HitResult(type, item, values) { this.type = type; this.item = item; if (values) this.inject(values); }, statics: { getOptions: function(args) { var options = args && Base.read(args); return new Base({ type: null, tolerance: paper.settings.hitTolerance, fill: !options, stroke: !options, segments: !options, handles: false, ends: false, position: false, center: false, bounds: false, guides: false, selected: false }, options); } } }); var Segment = Base.extend({ _class: 'Segment', beans: true, _selection: 0, initialize: function Segment(arg0, arg1, arg2, arg3, arg4, arg5) { var count = arguments.length, point, handleIn, handleOut, selection; if (count > 0) { if (arg0 == null || typeof arg0 === 'object') { if (count === 1 && arg0 && 'point' in arg0) { point = arg0.point; handleIn = arg0.handleIn; handleOut = arg0.handleOut; selection = arg0.selection; } else { point = arg0; handleIn = arg1; handleOut = arg2; selection = arg3; } } else { point = [ arg0, arg1 ]; handleIn = arg2 !== undefined ? [ arg2, arg3 ] : null; handleOut = arg4 !== undefined ? [ arg4, arg5 ] : null; } } new SegmentPoint(point, this, '_point'); new SegmentPoint(handleIn, this, '_handleIn'); new SegmentPoint(handleOut, this, '_handleOut'); if (selection) this.setSelection(selection); }, _serialize: function(options, dictionary) { var point = this._point, selection = this._selection, obj = selection || this.hasHandles() ? [point, this._handleIn, this._handleOut] : point; if (selection) obj.push(selection); return Base.serialize(obj, options, true, dictionary); }, _changed: function(point) { var path = this._path; if (!path) return; var curves = path._curves, index = this._index, curve; if (curves) { if ((!point || point === this._point || point === this._handleIn) && (curve = index > 0 ? curves[index - 1] : path._closed ? curves[curves.length - 1] : null)) curve._changed(); if ((!point || point === this._point || point === this._handleOut) && (curve = curves[index])) curve._changed(); } path._changed(41); }, getPoint: function() { return this._point; }, setPoint: function() { this._point.set(Point.read(arguments)); }, getHandleIn: function() { return this._handleIn; }, setHandleIn: function() { this._handleIn.set(Point.read(arguments)); }, getHandleOut: function() { return this._handleOut; }, setHandleOut: function() { this._handleOut.set(Point.read(arguments)); }, hasHandles: function() { return !this._handleIn.isZero() || !this._handleOut.isZero(); }, isSmooth: function() { var handleIn = this._handleIn, handleOut = this._handleOut; return !handleIn.isZero() && !handleOut.isZero() && handleIn.isCollinear(handleOut); }, clearHandles: function() { this._handleIn._set(0, 0); this._handleOut._set(0, 0); }, getSelection: function() { return this._selection; }, setSelection: function(selection) { var oldSelection = this._selection, path = this._path; this._selection = selection = selection || 0; if (path && selection !== oldSelection) { path._updateSelection(this, oldSelection, selection); path._changed(257); } }, _changeSelection: function(flag, selected) { var selection = this._selection; this.setSelection(selected ? selection | flag : selection & ~flag); }, isSelected: function() { return !!(this._selection & 7); }, setSelected: function(selected) { this._changeSelection(7, selected); }, getIndex: function() { return this._index !== undefined ? this._index : null; }, getPath: function() { return this._path || null; }, getCurve: function() { var path = this._path, index = this._index; if (path) { if (index > 0 && !path._closed && index === path._segments.length - 1) index--; return path.getCurves()[index] || null; } return null; }, getLocation: function() { var curve = this.getCurve(); return curve ? new CurveLocation(curve, this === curve._segment1 ? 0 : 1) : null; }, getNext: function() { var segments = this._path && this._path._segments; return segments && (segments[this._index + 1] || this._path._closed && segments[0]) || null; }, smooth: function(options, _first, _last) { var opts = options || {}, type = opts.type, factor = opts.factor, prev = this.getPrevious(), next = this.getNext(), p0 = (prev || this)._point, p1 = this._point, p2 = (next || this)._point, d1 = p0.getDistance(p1), d2 = p1.getDistance(p2); if (!type || type === 'catmull-rom') { var a = factor === undefined ? 0.5 : factor, d1_a = Math.pow(d1, a), d1_2a = d1_a * d1_a, d2_a = Math.pow(d2, a), d2_2a = d2_a * d2_a; if (!_first && prev) { var A = 2 * d2_2a + 3 * d2_a * d1_a + d1_2a, N = 3 * d2_a * (d2_a + d1_a); this.setHandleIn(N !== 0 ? new Point( (d2_2a * p0._x + A * p1._x - d1_2a * p2._x) / N - p1._x, (d2_2a * p0._y + A * p1._y - d1_2a * p2._y) / N - p1._y) : new Point()); } if (!_last && next) { var A = 2 * d1_2a + 3 * d1_a * d2_a + d2_2a, N = 3 * d1_a * (d1_a + d2_a); this.setHandleOut(N !== 0 ? new Point( (d1_2a * p2._x + A * p1._x - d2_2a * p0._x) / N - p1._x, (d1_2a * p2._y + A * p1._y - d2_2a * p0._y) / N - p1._y) : new Point()); } } else if (type === 'geometric') { if (prev && next) { var vector = p0.subtract(p2), t = factor === undefined ? 0.4 : factor, k = t * d1 / (d1 + d2); if (!_first) this.setHandleIn(vector.multiply(k)); if (!_last) this.setHandleOut(vector.multiply(k - t)); } } else { throw new Error('Smoothing method \'' + type + '\' not supported.'); } }, getPrevious: function() { var segments = this._path && this._path._segments; return segments && (segments[this._index - 1] || this._path._closed && segments[segments.length - 1]) || null; }, isFirst: function() { return !this._index; }, isLast: function() { var path = this._path; return path && this._index === path._segments.length - 1 || false; }, reverse: function() { var handleIn = this._handleIn, handleOut = this._handleOut, tmp = handleIn.clone(); handleIn.set(handleOut); handleOut.set(tmp); }, reversed: function() { return new Segment(this._point, this._handleOut, this._handleIn); }, remove: function() { return this._path ? !!this._path.removeSegment(this._index) : false; }, clone: function() { return new Segment(this._point, this._handleIn, this._handleOut); }, equals: function(segment) { return segment === this || segment && this._class === segment._class && this._point.equals(segment._point) && this._handleIn.equals(segment._handleIn) && this._handleOut.equals(segment._handleOut) || false; }, toString: function() { var parts = [ 'point: ' + this._point ]; if (!this._handleIn.isZero()) parts.push('handleIn: ' + this._handleIn); if (!this._handleOut.isZero()) parts.push('handleOut: ' + this._handleOut); return '{ ' + parts.join(', ') + ' }'; }, transform: function(matrix) { this._transformCoordinates(matrix, new Array(6), true); this._changed(); }, interpolate: function(from, to, factor) { var u = 1 - factor, v = factor, point1 = from._point, point2 = to._point, handleIn1 = from._handleIn, handleIn2 = to._handleIn, handleOut2 = to._handleOut, handleOut1 = from._handleOut; this._point._set( u * point1._x + v * point2._x, u * point1._y + v * point2._y, true); this._handleIn._set( u * handleIn1._x + v * handleIn2._x, u * handleIn1._y + v * handleIn2._y, true); this._handleOut._set( u * handleOut1._x + v * handleOut2._x, u * handleOut1._y + v * handleOut2._y, true); this._changed(); }, _transformCoordinates: function(matrix, coords, change) { var point = this._point, handleIn = !change || !this._handleIn.isZero() ? this._handleIn : null, handleOut = !change || !this._handleOut.isZero() ? this._handleOut : null, x = point._x, y = point._y, i = 2; coords[0] = x; coords[1] = y; if (handleIn) { coords[i++] = handleIn._x + x; coords[i++] = handleIn._y + y; } if (handleOut) { coords[i++] = handleOut._x + x; coords[i++] = handleOut._y + y; } if (matrix) { matrix._transformCoordinates(coords, coords, i / 2); x = coords[0]; y = coords[1]; if (change) { point._x = x; point._y = y; i = 2; if (handleIn) { handleIn._x = coords[i++] - x; handleIn._y = coords[i++] - y; } if (handleOut) { handleOut._x = coords[i++] - x; handleOut._y = coords[i++] - y; } } else { if (!handleIn) { coords[i++] = x; coords[i++] = y; } if (!handleOut) { coords[i++] = x; coords[i++] = y; } } } return coords; } }); var SegmentPoint = Point.extend({ initialize: function SegmentPoint(point, owner, key) { var x, y, selected; if (!point) { x = y = 0; } else if ((x = point[0]) !== undefined) { y = point[1]; } else { var pt = point; if ((x = pt.x) === undefined) { pt = Point.read(arguments); x = pt.x; } y = pt.y; selected = pt.selected; } this._x = x; this._y = y; this._owner = owner; owner[key] = this; if (selected) this.setSelected(true); }, _set: function(x, y) { this._x = x; this._y = y; this._owner._changed(this); return this; }, getX: function() { return this._x; }, setX: function(x) { this._x = x; this._owner._changed(this); }, getY: function() { return this._y; }, setY: function(y) { this._y = y; this._owner._changed(this); }, isZero: function() { var isZero = Numerical.isZero; return isZero(this._x) && isZero(this._y); }, isSelected: function() { return !!(this._owner._selection & this._getSelection()); }, setSelected: function(selected) { this._owner._changeSelection(this._getSelection(), selected); }, _getSelection: function() { var owner = this._owner; return this === owner._point ? 1 : this === owner._handleIn ? 2 : this === owner._handleOut ? 4 : 0; } }); var Curve = Base.extend({ _class: 'Curve', beans: true, initialize: function Curve(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { var count = arguments.length, seg1, seg2, point1, point2, handle1, handle2; if (count === 3) { this._path = arg0; seg1 = arg1; seg2 = arg2; } else if (!count) { seg1 = new Segment(); seg2 = new Segment(); } else if (count === 1) { if ('segment1' in arg0) { seg1 = new Segment(arg0.segment1); seg2 = new Segment(arg0.segment2); } else if ('point1' in arg0) { point1 = arg0.point1; handle1 = arg0.handle1; handle2 = arg0.handle2; point2 = arg0.point2; } else if (Array.isArray(arg0)) { point1 = [arg0[0], arg0[1]]; point2 = [arg0[6], arg0[7]]; handle1 = [arg0[2] - arg0[0], arg0[3] - arg0[1]]; handle2 = [arg0[4] - arg0[6], arg0[5] - arg0[7]]; } } else if (count === 2) { seg1 = new Segment(arg0); seg2 = new Segment(arg1); } else if (count === 4) { point1 = arg0; handle1 = arg1; handle2 = arg2; point2 = arg3; } else if (count === 8) { point1 = [arg0, arg1]; point2 = [arg6, arg7]; handle1 = [arg2 - arg0, arg3 - arg1]; handle2 = [arg4 - arg6, arg5 - arg7]; } this._segment1 = seg1 || new Segment(point1, null, handle1); this._segment2 = seg2 || new Segment(point2, handle2, null); }, _serialize: function(options, dictionary) { return Base.serialize(this.hasHandles() ? [this.getPoint1(), this.getHandle1(), this.getHandle2(), this.getPoint2()] : [this.getPoint1(), this.getPoint2()], options, true, dictionary); }, _changed: function() { this._length = this._bounds = undefined; }, clone: function() { return new Curve(this._segment1, this._segment2); }, toString: function() { var parts = [ 'point1: ' + this._segment1._point ]; if (!this._segment1._handleOut.isZero()) parts.push('handle1: ' + this._segment1._handleOut); if (!this._segment2._handleIn.isZero()) parts.push('handle2: ' + this._segment2._handleIn); parts.push('point2: ' + this._segment2._point); return '{ ' + parts.join(', ') + ' }'; }, classify: function() { return Curve.classify(this.getValues()); }, remove: function() { var removed = false; if (this._path) { var segment2 = this._segment2, handleOut = segment2._handleOut; removed = segment2.remove(); if (removed) this._segment1._handleOut.set(handleOut); } return removed; }, getPoint1: function() { return this._segment1._point; }, setPoint1: function() { this._segment1._point.set(Point.read(arguments)); }, getPoint2: function() { return this._segment2._point; }, setPoint2: function() { this._segment2._point.set(Point.read(arguments)); }, getHandle1: function() { return this._segment1._handleOut; }, setHandle1: function() { this._segment1._handleOut.set(Point.read(arguments)); }, getHandle2: function() { return this._segment2._handleIn; }, setHandle2: function() { this._segment2._handleIn.set(Point.read(arguments)); }, getSegment1: function() { return this._segment1; }, getSegment2: function() { return this._segment2; }, getPath: function() { return this._path; }, getIndex: function() { return this._segment1._index; }, getNext: function() { var curves = this._path && this._path._curves; return curves && (curves[this._segment1._index + 1] || this._path._closed && curves[0]) || null; }, getPrevious: function() { var curves = this._path && this._path._curves; return curves && (curves[this._segment1._index - 1] || this._path._closed && curves[curves.length - 1]) || null; }, isFirst: function() { return !this._segment1._index; }, isLast: function() { var path = this._path; return path && this._segment1._index === path._curves.length - 1 || false; }, isSelected: function() { return this.getPoint1().isSelected() && this.getHandle1().isSelected() && this.getHandle2().isSelected() && this.getPoint2().isSelected(); }, setSelected: function(selected) { this.getPoint1().setSelected(selected); this.getHandle1().setSelected(selected); this.getHandle2().setSelected(selected); this.getPoint2().setSelected(selected); }, getValues: function(matrix) { return Curve.getValues(this._segment1, this._segment2, matrix); }, getPoints: function() { var coords = this.getValues(), points = []; for (var i = 0; i < 8; i += 2) points.push(new Point(coords[i], coords[i + 1])); return points; } }, { getLength: function() { if (this._length == null) this._length = Curve.getLength(this.getValues(), 0, 1); return this._length; }, getArea: function() { return Curve.getArea(this.getValues()); }, getLine: function() { return new Line(this._segment1._point, this._segment2._point); }, getPart: function(from, to) { return new Curve(Curve.getPart(this.getValues(), from, to)); }, getPartLength: function(from, to) { return Curve.getLength(this.getValues(), from, to); }, divideAt: function(location) { return this.divideAtTime(location && location.curve === this ? location.time : this.getTimeAt(location)); }, divideAtTime: function(time, _setHandles) { var tMin = 1e-8, tMax = 1 - tMin, res = null; if (time >= tMin && time <= tMax) { var parts = Curve.subdivide(this.getValues(), time), left = parts[0], right = parts[1], setHandles = _setHandles || this.hasHandles(), seg1 = this._segment1, seg2 = this._segment2, path = this._path; if (setHandles) { seg1._handleOut._set(left[2] - left[0], left[3] - left[1]); seg2._handleIn._set(right[4] - right[6],right[5] - right[7]); } var x = left[6], y = left[7], segment = new Segment(new Point(x, y), setHandles && new Point(left[4] - x, left[5] - y), setHandles && new Point(right[2] - x, right[3] - y)); if (path) { path.insert(seg1._index + 1, segment); res = this.getNext(); } else { this._segment2 = segment; this._changed(); res = new Curve(segment, seg2); } } return res; }, splitAt: function(location) { var path = this._path; return path ? path.splitAt(location) : null; }, splitAtTime: function(time) { return this.splitAt(this.getLocationAtTime(time)); }, divide: function(offset, isTime) { return this.divideAtTime(offset === undefined ? 0.5 : isTime ? offset : this.getTimeAt(offset)); }, split: function(offset, isTime) { return this.splitAtTime(offset === undefined ? 0.5 : isTime ? offset : this.getTimeAt(offset)); }, reversed: function() { return new Curve(this._segment2.reversed(), this._segment1.reversed()); }, clearHandles: function() { this._segment1._handleOut._set(0, 0); this._segment2._handleIn._set(0, 0); }, statics: { getValues: function(segment1, segment2, matrix, straight) { var p1 = segment1._point, h1 = segment1._handleOut, h2 = segment2._handleIn, p2 = segment2._point, x1 = p1.x, y1 = p1.y, x2 = p2.x, y2 = p2.y, values = straight ? [ x1, y1, x1, y1, x2, y2, x2, y2 ] : [ x1, y1, x1 + h1._x, y1 + h1._y, x2 + h2._x, y2 + h2._y, x2, y2 ]; if (matrix) matrix._transformCoordinates(values, values, 4); return values; }, subdivide: function(v, t) { var x0 = v[0], y0 = v[1], x1 = v[2], y1 = v[3], x2 = v[4], y2 = v[5], x3 = v[6], y3 = v[7]; if (t === undefined) t = 0.5; var u = 1 - t, x4 = u * x0 + t * x1, y4 = u * y0 + t * y1, x5 = u * x1 + t * x2, y5 = u * y1 + t * y2, x6 = u * x2 + t * x3, y6 = u * y2 + t * y3, x7 = u * x4 + t * x5, y7 = u * y4 + t * y5, x8 = u * x5 + t * x6, y8 = u * y5 + t * y6, x9 = u * x7 + t * x8, y9 = u * y7 + t * y8; return [ [x0, y0, x4, y4, x7, y7, x9, y9], [x9, y9, x8, y8, x6, y6, x3, y3] ]; }, getMonoCurves: function(v, dir) { var curves = [], io = dir ? 0 : 1, o0 = v[io + 0], o1 = v[io + 2], o2 = v[io + 4], o3 = v[io + 6]; if ((o0 >= o1) === (o1 >= o2) && (o1 >= o2) === (o2 >= o3) || Curve.isStraight(v)) { curves.push(v); } else { var a = 3 * (o1 - o2) - o0 + o3, b = 2 * (o0 + o2) - 4 * o1, c = o1 - o0, tMin = 1e-8, tMax = 1 - tMin, roots = [], n = Numerical.solveQuadratic(a, b, c, roots, tMin, tMax); if (!n) { curves.push(v); } else { roots.sort(); var t = roots[0], parts = Curve.subdivide(v, t); curves.push(parts[0]); if (n > 1) { t = (roots[1] - t) / (1 - t); parts = Curve.subdivide(parts[1], t); curves.push(parts[0]); } curves.push(parts[1]); } } return curves; }, solveCubic: function (v, coord, val, roots, min, max) { var v0 = v[coord], v1 = v[coord + 2], v2 = v[coord + 4], v3 = v[coord + 6], res = 0; if ( !(v0 < val && v3 < val && v1 < val && v2 < val || v0 > val && v3 > val && v1 > val && v2 > val)) { var c = 3 * (v1 - v0), b = 3 * (v2 - v1) - c, a = v3 - v0 - c - b; res = Numerical.solveCubic(a, b, c, v0 - val, roots, min, max); } return res; }, getTimeOf: function(v, point) { var p0 = new Point(v[0], v[1]), p3 = new Point(v[6], v[7]), epsilon = 1e-12, geomEpsilon = 1e-7, t = point.isClose(p0, epsilon) ? 0 : point.isClose(p3, epsilon) ? 1 : null; if (t === null) { var coords = [point.x, point.y], roots = []; for (var c = 0; c < 2; c++) { var count = Curve.solveCubic(v, c, coords[c], roots, 0, 1); for (var i = 0; i < count; i++) { var u = roots[i]; if (point.isClose(Curve.getPoint(v, u), geomEpsilon)) return u; } } } return point.isClose(p0, geomEpsilon) ? 0 : point.isClose(p3, geomEpsilon) ? 1 : null; }, getNearestTime: function(v, point) { if (Curve.isStraight(v)) { var x0 = v[0], y0 = v[1], x3 = v[6], y3 = v[7], vx = x3 - x0, vy = y3 - y0, det = vx * vx + vy * vy; if (det === 0) return 0; var u = ((point.x - x0) * vx + (point.y - y0) * vy) / det; return u < 1e-12 ? 0 : u > 0.999999999999 ? 1 : Curve.getTimeOf(v, new Point(x0 + u * vx, y0 + u * vy)); } var count = 100, minDist = Infinity, minT = 0; function refine(t) { if (t >= 0 && t <= 1) { var dist = point.getDistance(Curve.getPoint(v, t), true); if (dist < minDist) { minDist = dist; minT = t; return true; } } } for (var i = 0; i <= count; i++) refine(i / count); var step = 1 / (count * 2); while (step > 1e-8) { if (!refine(minT - step) && !refine(minT + step)) step /= 2; } return minT; }, getPart: function(v, from, to) { var flip = from > to; if (flip) { var tmp = from; from = to; to = tmp; } if (from > 0) v = Curve.subdivide(v, from)[1]; if (to < 1) v = Curve.subdivide(v, (to - from) / (1 - from))[0]; return flip ? [v[6], v[7], v[4], v[5], v[2], v[3], v[0], v[1]] : v; }, isFlatEnough: function(v, flatness) { var x0 = v[0], y0 = v[1], x1 = v[2], y1 = v[3], x2 = v[4], y2 = v[5], x3 = v[6], y3 = v[7], ux = 3 * x1 - 2 * x0 - x3, uy = 3 * y1 - 2 * y0 - y3, vx = 3 * x2 - 2 * x3 - x0, vy = 3 * y2 - 2 * y3 - y0; return Math.max(ux * ux, vx * vx) + Math.max(uy * uy, vy * vy) <= 16 * flatness * flatness; }, getArea: function(v) { var x0 = v[0], y0 = v[1], x1 = v[2], y1 = v[3], x2 = v[4], y2 = v[5], x3 = v[6], y3 = v[7]; return 3 * ((y3 - y0) * (x1 + x2) - (x3 - x0) * (y1 + y2) + y1 * (x0 - x2) - x1 * (y0 - y2) + y3 * (x2 + x0 / 3) - x3 * (y2 + y0 / 3)) / 20; }, getBounds: function(v) { var min = v.slice(0, 2), max = min.slice(), roots = [0, 0]; for (var i = 0; i < 2; i++) Curve._addBounds(v[i], v[i + 2], v[i + 4], v[i + 6], i, 0, min, max, roots); return new Rectangle(min[0], min[1], max[0] - min[0], max[1] - min[1]); }, _addBounds: function(v0, v1, v2, v3, coord, padding, min, max, roots) { function add(value, padding) { var left = value - padding, right = value + padding; if (left < min[coord]) min[coord] = left; if (right > max[coord]) max[coord] = right; } padding /= 2; var minPad = min[coord] - padding, maxPad = max[coord] + padding; if ( v0 < minPad || v1 < minPad || v2 < minPad || v3 < minPad || v0 > maxPad || v1 > maxPad || v2 > maxPad || v3 > maxPad) { if (v1 < v0 != v1 < v3 && v2 < v0 != v2 < v3) { add(v0, padding); add(v3, padding); } else { var a = 3 * (v1 - v2) - v0 + v3, b = 2 * (v0 + v2) - 4 * v1, c = v1 - v0, count = Numerical.solveQuadratic(a, b, c, roots), tMin = 1e-8, tMax = 1 - tMin; add(v3, 0); for (var i = 0; i < count; i++) { var t = roots[i], u = 1 - t; if (tMin <= t && t <= tMax) add(u * u * u * v0 + 3 * u * u * t * v1 + 3 * u * t * t * v2 + t * t * t * v3, padding); } } } } }}, Base.each( ['getBounds', 'getStrokeBounds', 'getHandleBounds'], function(name) { this[name] = function() { if (!this._bounds) this._bounds = {}; var bounds = this._bounds[name]; if (!bounds) { bounds = this._bounds[name] = Path[name]( [this._segment1, this._segment2], false, this._path); } return bounds.clone(); }; }, { }), Base.each({ isStraight: function(p1, h1, h2, p2) { if (h1.isZero() && h2.isZero()) { return true; } else { var v = p2.subtract(p1); if (v.isZero()) { return false; } else if (v.isCollinear(h1) && v.isCollinear(h2)) { var l = new Line(p1, p2), epsilon = 1e-7; if (l.getDistance(p1.add(h1)) < epsilon && l.getDistance(p2.add(h2)) < epsilon) { var div = v.dot(v), s1 = v.dot(h1) / div, s2 = v.dot(h2) / div; return s1 >= 0 && s1 <= 1 && s2 <= 0 && s2 >= -1; } } } return false; }, isLinear: function(p1, h1, h2, p2) { var third = p2.subtract(p1).divide(3); return h1.equals(third) && h2.negate().equals(third); } }, function(test, name) { this[name] = function(epsilon) { var seg1 = this._segment1, seg2 = this._segment2; return test(seg1._point, seg1._handleOut, seg2._handleIn, seg2._point, epsilon); }; this.statics[name] = function(v, epsilon) { var x0 = v[0], y0 = v[1], x3 = v[6], y3 = v[7]; return test( new Point(x0, y0), new Point(v[2] - x0, v[3] - y0), new Point(v[4] - x3, v[5] - y3), new Point(x3, y3), epsilon); }; }, { statics: {}, hasHandles: function() { return !this._segment1._handleOut.isZero() || !this._segment2._handleIn.isZero(); }, hasLength: function(epsilon) { return (!this.getPoint1().equals(this.getPoint2()) || this.hasHandles()) && this.getLength() > (epsilon || 0); }, isCollinear: function(curve) { return curve && this.isStraight() && curve.isStraight() && this.getLine().isCollinear(curve.getLine()); }, isHorizontal: function() { return this.isStraight() && Math.abs(this.getTangentAtTime(0.5).y) < 1e-8; }, isVertical: function() { return this.isStraight() && Math.abs(this.getTangentAtTime(0.5).x) < 1e-8; } }), { beans: false, getLocationAt: function(offset, _isTime) { return this.getLocationAtTime( _isTime ? offset : this.getTimeAt(offset)); }, getLocationAtTime: function(t) { return t != null && t >= 0 && t <= 1 ? new CurveLocation(this, t) : null; }, getTimeAt: function(offset, start) { return Curve.getTimeAt(this.getValues(), offset, start); }, getParameterAt: '#getTimeAt', getTimesWithTangent: function () { var tangent = Point.read(arguments); return tangent.isZero() ? [] : Curve.getTimesWithTangent(this.getValues(), tangent); }, getOffsetAtTime: function(t) { return this.getPartLength(0, t); }, getLocationOf: function() { return this.getLocationAtTime(this.getTimeOf(Point.read(arguments))); }, getOffsetOf: function() { var loc = this.getLocationOf.apply(this, arguments); return loc ? loc.getOffset() : null; }, getTimeOf: function() { return Curve.getTimeOf(this.getValues(), Point.read(arguments)); }, getParameterOf: '#getTimeOf', getNearestLocation: function() { var point = Point.read(arguments), values = this.getValues(), t = Curve.getNearestTime(values, point), pt = Curve.getPoint(values, t); return new CurveLocation(this, t, pt, null, point.getDistance(pt)); }, getNearestPoint: function() { var loc = this.getNearestLocation.apply(this, arguments); return loc ? loc.getPoint() : loc; } }, new function() { var methods = ['getPoint', 'getTangent', 'getNormal', 'getWeightedTangent', 'getWeightedNormal', 'getCurvature']; return Base.each(methods, function(name) { this[name + 'At'] = function(location, _isTime) { var values = this.getValues(); return Curve[name](values, _isTime ? location : Curve.getTimeAt(values, location)); }; this[name + 'AtTime'] = function(time) { return Curve[name](this.getValues(), time); }; }, { statics: { _evaluateMethods: methods } } ); }, new function() { function getLengthIntegrand(v) { var x0 = v[0], y0 = v[1], x1 = v[2], y1 = v[3], x2 = v[4], y2 = v[5], x3 = v[6], y3 = v[7], ax = 9 * (x1 - x2) + 3 * (x3 - x0), bx = 6 * (x0 + x2) - 12 * x1, cx = 3 * (x1 - x0), ay = 9 * (y1 - y2) + 3 * (y3 - y0), by = 6 * (y0 + y2) - 12 * y1, cy = 3 * (y1 - y0); return function(t) { var dx = (ax * t + bx) * t + cx, dy = (ay * t + by) * t + cy; return Math.sqrt(dx * dx + dy * dy); }; } function getIterations(a, b) { return Math.max(2, Math.min(16, Math.ceil(Math.abs(b - a) * 32))); } function evaluate(v, t, type, normalized) { if (t == null || t < 0 || t > 1) return null; var x0 = v[0], y0 = v[1], x1 = v[2], y1 = v[3], x2 = v[4], y2 = v[5], x3 = v[6], y3 = v[7], isZero = Numerical.isZero; if (isZero(x1 - x0) && isZero(y1 - y0)) { x1 = x0; y1 = y0; } if (isZero(x2 - x3) && isZero(y2 - y3)) { x2 = x3; y2 = y3; } var cx = 3 * (x1 - x0), bx = 3 * (x2 - x1) - cx, ax = x3 - x0 - cx - bx, cy = 3 * (y1 - y0), by = 3 * (y2 - y1) - cy, ay = y3 - y0 - cy - by, x, y; if (type === 0) { x = t === 0 ? x0 : t === 1 ? x3 : ((ax * t + bx) * t + cx) * t + x0; y = t === 0 ? y0 : t === 1 ? y3 : ((ay * t + by) * t + cy) * t + y0; } else { var tMin = 1e-8, tMax = 1 - tMin; if (t < tMin) { x = cx; y = cy; } else if (t > tMax) { x = 3 * (x3 - x2); y = 3 * (y3 - y2); } else { x = (3 * ax * t + 2 * bx) * t + cx; y = (3 * ay * t + 2 * by) * t + cy; } if (normalized) { if (x === 0 && y === 0 && (t < tMin || t > tMax)) { x = x2 - x1; y = y2 - y1; } var len = Math.sqrt(x * x + y * y); if (len) { x /= len; y /= len; } } if (type === 3) { var x2 = 6 * ax * t + 2 * bx, y2 = 6 * ay * t + 2 * by, d = Math.pow(x * x + y * y, 3 / 2); x = d !== 0 ? (x * y2 - y * x2) / d : 0; y = 0; } } return type === 2 ? new Point(y, -x) : new Point(x, y); } return { statics: { classify: function(v) { var x0 = v[0], y0 = v[1], x1 = v[2], y1 = v[3], x2 = v[4], y2 = v[5], x3 = v[6], y3 = v[7], a1 = x0 * (y3 - y2) + y0 * (x2 - x3) + x3 * y2 - y3 * x2, a2 = x1 * (y0 - y3) + y1 * (x3 - x0) + x0 * y3 - y0 * x3, a3 = x2 * (y1 - y0) + y2 * (x0 - x1) + x1 * y0 - y1 * x0, d3 = 3 * a3, d2 = d3 - a2, d1 = d2 - a2 + a1, l = Math.sqrt(d1 * d1 + d2 * d2 + d3 * d3), s = l !== 0 ? 1 / l : 0, isZero = Numerical.isZero, serpentine = 'serpentine'; d1 *= s; d2 *= s; d3 *= s; function type(type, t1, t2) { var hasRoots = t1 !== undefined, t1Ok = hasRoots && t1 > 0 && t1 < 1, t2Ok = hasRoots && t2 > 0 && t2 < 1; if (hasRoots && (!(t1Ok || t2Ok) || type === 'loop' && !(t1Ok && t2Ok))) { type = 'arch'; t1Ok = t2Ok = false; } return { type: type, roots: t1Ok || t2Ok ? t1Ok && t2Ok ? t1 < t2 ? [t1, t2] : [t2, t1] : [t1Ok ? t1 : t2] : null }; } if (isZero(d1)) { return isZero(d2) ? type(isZero(d3) ? 'line' : 'quadratic') : type(serpentine, d3 / (3 * d2)); } var d = 3 * d2 * d2 - 4 * d1 * d3; if (isZero(d)) { return type('cusp', d2 / (2 * d1)); } var f1 = d > 0 ? Math.sqrt(d / 3) : Math.sqrt(-d), f2 = 2 * d1; return type(d > 0 ? serpentine : 'loop', (d2 + f1) / f2, (d2 - f1) / f2); }, getLength: function(v, a, b, ds) { if (a === undefined) a = 0; if (b === undefined) b = 1; if (Curve.isStraight(v)) { var c = v; if (b < 1) { c = Curve.subdivide(c, b)[0]; a /= b; } if (a > 0) { c = Curve.subdivide(c, a)[1]; } var dx = c[6] - c[0], dy = c[7] - c[1]; return Math.sqrt(dx * dx + dy * dy); } return Numerical.integrate(ds || getLengthIntegrand(v), a, b, getIterations(a, b)); }, getTimeAt: function(v, offset, start) { if (start === undefined) start = offset < 0 ? 1 : 0; if (offset === 0) return start; var abs = Math.abs, epsilon = 1e-12, forward = offset > 0, a = forward ? start : 0, b = forward ? 1 : start, ds = getLengthIntegrand(v), rangeLength = Curve.getLength(v, a, b, ds), diff = abs(offset) - rangeLength; if (abs(diff) < epsilon) { return forward ? b : a; } else if (diff > epsilon) { return null; } var guess = offset / rangeLength, length = 0; function f(t) { length += Numerical.integrate(ds, start, t, getIterations(start, t)); start = t; return length - offset; } return Numerical.findRoot(f, ds, start + guess, a, b, 32, 1e-12); }, getPoint: function(v, t) { return evaluate(v, t, 0, false); }, getTangent: function(v, t) { return evaluate(v, t, 1, true); }, getWeightedTangent: function(v, t) { return evaluate(v, t, 1, false); }, getNormal: function(v, t) { return evaluate(v, t, 2, true); }, getWeightedNormal: function(v, t) { return evaluate(v, t, 2, false); }, getCurvature: function(v, t) { return evaluate(v, t, 3, false).x; }, getPeaks: function(v) { var x0 = v[0], y0 = v[1], x1 = v[2], y1 = v[3], x2 = v[4], y2 = v[5], x3 = v[6], y3 = v[7], ax = -x0 + 3 * x1 - 3 * x2 + x3, bx = 3 * x0 - 6 * x1 + 3 * x2, cx = -3 * x0 + 3 * x1, ay = -y0 + 3 * y1 - 3 * y2 + y3, by = 3 * y0 - 6 * y1 + 3 * y2, cy = -3 * y0 + 3 * y1, tMin = 1e-8, tMax = 1 - tMin, roots = []; Numerical.solveCubic( 9 * (ax * ax + ay * ay), 9 * (ax * bx + by * ay), 2 * (bx * bx + by * by) + 3 * (cx * ax + cy * ay), (cx * bx + by * cy), roots, tMin, tMax); return roots.sort(); } }}; }, new function() { function addLocation(locations, include, c1, t1, c2, t2, overlap) { var excludeStart = !overlap && c1.getPrevious() === c2, excludeEnd = !overlap && c1 !== c2 && c1.getNext() === c2, tMin = 1e-8, tMax = 1 - tMin; if (t1 !== null && t1 >= (excludeStart ? tMin : 0) && t1 <= (excludeEnd ? tMax : 1)) { if (t2 !== null && t2 >= (excludeEnd ? tMin : 0) && t2 <= (excludeStart ? tMax : 1)) { var loc1 = new CurveLocation(c1, t1, null, overlap), loc2 = new CurveLocation(c2, t2, null, overlap); loc1._intersection = loc2; loc2._intersection = loc1; if (!include || include(loc1)) { CurveLocation.insert(locations, loc1, true); } } } } function addCurveIntersections(v1, v2, c1, c2, locations, include, flip, recursion, calls, tMin, tMax, uMin, uMax) { if (++calls >= 4096 || ++recursion >= 40) return calls; var fatLineEpsilon = 1e-9, q0x = v2[0], q0y = v2[1], q3x = v2[6], q3y = v2[7], getSignedDistance = Line.getSignedDistance, d1 = getSignedDistance(q0x, q0y, q3x, q3y, v2[2], v2[3]), d2 = getSignedDistance(q0x, q0y, q3x, q3y, v2[4], v2[5]), factor = d1 * d2 > 0 ? 3 / 4 : 4 / 9, dMin = factor * Math.min(0, d1, d2), dMax = factor * Math.max(0, d1, d2), dp0 = getSignedDistance(q0x, q0y, q3x, q3y, v1[0], v1[1]), dp1 = getSignedDistance(q0x, q0y, q3x, q3y, v1[2], v1[3]), dp2 = getSignedDistance(q0x, q0y, q3x, q3y, v1[4], v1[5]), dp3 = getSignedDistance(q0x, q0y, q3x, q3y, v1[6], v1[7]), hull = getConvexHull(dp0, dp1, dp2, dp3), top = hull[0], bottom = hull[1], tMinClip, tMaxClip; if (d1 === 0 && d2 === 0 && dp0 === 0 && dp1 === 0 && dp2 === 0 && dp3 === 0 || (tMinClip = clipConvexHull(top, bottom, dMin, dMax)) == null || (tMaxClip = clipConvexHull(top.reverse(), bottom.reverse(), dMin, dMax)) == null) return calls; var tMinNew = tMin + (tMax - tMin) * tMinClip, tMaxNew = tMin + (tMax - tMin) * tMaxClip; if (Math.max(uMax - uMin, tMaxNew - tMinNew) < fatLineEpsilon) { var t = (tMinNew + tMaxNew) / 2, u = (uMin + uMax) / 2; addLocation(locations, include, flip ? c2 : c1, flip ? u : t, flip ? c1 : c2, flip ? t : u); } else { v1 = Curve.getPart(v1, tMinClip, tMaxClip); var uDiff = uMax - uMin; if (tMaxClip - tMinClip > 0.8) { if (tMaxNew - tMinNew > uDiff) { var parts = Curve.subdivide(v1, 0.5), t = (tMinNew + tMaxNew) / 2; calls = addCurveIntersections( v2, parts[0], c2, c1, locations, include, !flip, recursion, calls, uMin, uMax, tMinNew, t); calls = addCurveIntersections( v2, parts[1], c2, c1, locations, include, !flip, recursion, calls, uMin, uMax, t, tMaxNew); } else { var parts = Curve.subdivide(v2, 0.5), u = (uMin + uMax) / 2; calls = addCurveIntersections( parts[0], v1, c2, c1, locations, include, !flip, recursion, calls, uMin, u, tMinNew, tMaxNew); calls = addCurveIntersections( parts[1], v1, c2, c1, locations, include, !flip, recursion, calls, u, uMax, tMinNew, tMaxNew); } } else { if (uDiff === 0 || uDiff >= fatLineEpsilon) { calls = addCurveIntersections( v2, v1, c2, c1, locations, include, !flip, recursion, calls, uMin, uMax, tMinNew, tMaxNew); } else { calls = addCurveIntersections( v1, v2, c1, c2, locations, include, flip, recursion, calls, tMinNew, tMaxNew, uMin, uMax); } } } return calls; } function getConvexHull(dq0, dq1, dq2, dq3) { var p0 = [ 0, dq0 ], p1 = [ 1 / 3, dq1 ], p2 = [ 2 / 3, dq2 ], p3 = [ 1, dq3 ], dist1 = dq1 - (2 * dq0 + dq3) / 3, dist2 = dq2 - (dq0 + 2 * dq3) / 3, hull; if (dist1 * dist2 < 0) { hull = [[p0, p1, p3], [p0, p2, p3]]; } else { var distRatio = dist1 / dist2; hull = [ distRatio >= 2 ? [p0, p1, p3] : distRatio <= 0.5 ? [p0, p2, p3] : [p0, p1, p2, p3], [p0, p3] ]; } return (dist1 || dist2) < 0 ? hull.reverse() : hull; } function clipConvexHull(hullTop, hullBottom, dMin, dMax) { if (hullTop[0][1] < dMin) { return clipConvexHullPart(hullTop, true, dMin); } else if (hullBottom[0][1] > dMax) { return clipConvexHullPart(hullBottom, false, dMax); } else { return hullTop[0][0]; } } function clipConvexHullPart(part, top, threshold) { var px = part[0][0], py = part[0][1]; for (var i = 1, l = part.length; i < l; i++) { var qx = part[i][0], qy = part[i][1]; if (top ? qy >= threshold : qy <= threshold) { return qy === threshold ? qx : px + (threshold - py) * (qx - px) / (qy - py); } px = qx; py = qy; } return null; } function getCurveLineIntersections(v, px, py, vx, vy) { var isZero = Numerical.isZero; if (isZero(vx) && isZero(vy)) { var t = Curve.getTimeOf(v, new Point(px, py)); return t === null ? [] : [t]; } var angle = Math.atan2(-vy, vx), sin = Math.sin(angle), cos = Math.cos(angle), rv = [], roots = []; for (var i = 0; i < 8; i += 2) { var x = v[i] - px, y = v[i + 1] - py; rv.push( x * cos - y * sin, x * sin + y * cos); } Curve.solveCubic(rv, 1, 0, roots, 0, 1); return roots; } function addCurveLineIntersections(v1, v2, c1, c2, locations, include, flip) { var x1 = v2[0], y1 = v2[1], x2 = v2[6], y2 = v2[7], roots = getCurveLineIntersections(v1, x1, y1, x2 - x1, y2 - y1); for (var i = 0, l = roots.length; i < l; i++) { var t1 = roots[i], p1 = Curve.getPoint(v1, t1), t2 = Curve.getTimeOf(v2, p1); if (t2 !== null) { addLocation(locations, include, flip ? c2 : c1, flip ? t2 : t1, flip ? c1 : c2, flip ? t1 : t2); } } } function addLineIntersection(v1, v2, c1, c2, locations, include) { var pt = Line.intersect( v1[0], v1[1], v1[6], v1[7], v2[0], v2[1], v2[6], v2[7]); if (pt) { addLocation(locations, include, c1, Curve.getTimeOf(v1, pt), c2, Curve.getTimeOf(v2, pt)); } } function getCurveIntersections(v1, v2, c1, c2, locations, include) { var epsilon = 1e-12, min = Math.min, max = Math.max; if (max(v1[0], v1[2], v1[4], v1[6]) + epsilon > min(v2[0], v2[2], v2[4], v2[6]) && min(v1[0], v1[2], v1[4], v1[6]) - epsilon < max(v2[0], v2[2], v2[4], v2[6]) && max(v1[1], v1[3], v1[5], v1[7]) + epsilon > min(v2[1], v2[3], v2[5], v2[7]) && min(v1[1], v1[3], v1[5], v1[7]) - epsilon < max(v2[1], v2[3], v2[5], v2[7])) { var overlaps = getOverlaps(v1, v2); if (overlaps) { for (var i = 0; i < 2; i++) { var overlap = overlaps[i]; addLocation(locations, include, c1, overlap[0], c2, overlap[1], true); } } else { var straight1 = Curve.isStraight(v1), straight2 = Curve.isStraight(v2), straight = straight1 && straight2, flip = straight1 && !straight2, before = locations.length; (straight ? addLineIntersection : straight1 || straight2 ? addCurveLineIntersections : addCurveIntersections)( flip ? v2 : v1, flip ? v1 : v2, flip ? c2 : c1, flip ? c1 : c2, locations, include, flip, 0, 0, 0, 1, 0, 1); if (!straight || locations.length === before) { for (var i = 0; i < 4; i++) { var t1 = i >> 1, t2 = i & 1, i1 = t1 * 6, i2 = t2 * 6, p1 = new Point(v1[i1], v1[i1 + 1]), p2 = new Point(v2[i2], v2[i2 + 1]); if (p1.isClose(p2, epsilon)) { addLocation(locations, include, c1, t1, c2, t2); } } } } } return locations; } function getSelfIntersection(v1, c1, locations, include) { var info = Curve.classify(v1); if (info.type === 'loop') { var roots = info.roots; addLocation(locations, include, c1, roots[0], c1, roots[1]); } return locations; } function getIntersections(curves1, curves2, include, matrix1, matrix2, _returnFirst) { var epsilon = 1e-7, self = !curves2; if (self) curves2 = curves1; var length1 = curves1.length, length2 = curves2.length, values1 = new Array(length1), values2 = self ? values1 : new Array(length2), locations = []; for (var i = 0; i < length1; i++) { values1[i] = curves1[i].getValues(matrix1); } if (!self) { for (var i = 0; i < length2; i++) { values2[i] = curves2[i].getValues(matrix2); } } var boundsCollisions = CollisionDetection.findCurveBoundsCollisions( values1, values2, epsilon); for (var index1 = 0; index1 < length1; index1++) { var curve1 = curves1[index1], v1 = values1[index1]; if (self) { getSelfIntersection(v1, curve1, locations, include); } var collisions1 = boundsCollisions[index1]; if (collisions1) { for (var j = 0; j < collisions1.length; j++) { if (_returnFirst && locations.length) return locations; var index2 = collisions1[j]; if (!self || index2 > index1) { var curve2 = curves2[index2], v2 = values2[index2]; getCurveIntersections( v1, v2, curve1, curve2, locations, include); } } } } return locations; } function getOverlaps(v1, v2) { function getSquaredLineLength(v) { var x = v[6] - v[0], y = v[7] - v[1]; return x * x + y * y; } var abs = Math.abs, getDistance = Line.getDistance, timeEpsilon = 1e-8, geomEpsilon = 1e-7, straight1 = Curve.isStraight(v1), straight2 = Curve.isStraight(v2), straightBoth = straight1 && straight2, flip = getSquaredLineLength(v1) < getSquaredLineLength(v2), l1 = flip ? v2 : v1, l2 = flip ? v1 : v2, px = l1[0], py = l1[1], vx = l1[6] - px, vy = l1[7] - py; if (getDistance(px, py, vx, vy, l2[0], l2[1], true) < geomEpsilon && getDistance(px, py, vx, vy, l2[6], l2[7], true) < geomEpsilon) { if (!straightBoth && getDistance(px, py, vx, vy, l1[2], l1[3], true) < geomEpsilon && getDistance(px, py, vx, vy, l1[4], l1[5], true) < geomEpsilon && getDistance(px, py, vx, vy, l2[2], l2[3], true) < geomEpsilon && getDistance(px, py, vx, vy, l2[4], l2[5], true) < geomEpsilon) { straight1 = straight2 = straightBoth = true; } } else if (straightBoth) { return null; } if (straight1 ^ straight2) { return null; } var v = [v1, v2], pairs = []; for (var i = 0; i < 4 && pairs.length < 2; i++) { var i1 = i & 1, i2 = i1 ^ 1, t1 = i >> 1, t2 = Curve.getTimeOf(v[i1], new Point( v[i2][t1 ? 6 : 0], v[i2][t1 ? 7 : 1])); if (t2 != null) { var pair = i1 ? [t1, t2] : [t2, t1]; if (!pairs.length || abs(pair[0] - pairs[0][0]) > timeEpsilon && abs(pair[1] - pairs[0][1]) > timeEpsilon) { pairs.push(pair); } } if (i > 2 && !pairs.length) break; } if (pairs.length !== 2) { pairs = null; } else if (!straightBoth) { var o1 = Curve.getPart(v1, pairs[0][0], pairs[1][0]), o2 = Curve.getPart(v2, pairs[0][1], pairs[1][1]); if (abs(o2[2] - o1[2]) > geomEpsilon || abs(o2[3] - o1[3]) > geomEpsilon || abs(o2[4] - o1[4]) > geomEpsilon || abs(o2[5] - o1[5]) > geomEpsilon) pairs = null; } return pairs; } function getTimesWithTangent(v, tangent) { var x0 = v[0], y0 = v[1], x1 = v[2], y1 = v[3], x2 = v[4], y2 = v[5], x3 = v[6], y3 = v[7], normalized = tangent.normalize(), tx = normalized.x, ty = normalized.y, ax = 3 * x3 - 9 * x2 + 9 * x1 - 3 * x0, ay = 3 * y3 - 9 * y2 + 9 * y1 - 3 * y0, bx = 6 * x2 - 12 * x1 + 6 * x0, by = 6 * y2 - 12 * y1 + 6 * y0, cx = 3 * x1 - 3 * x0, cy = 3 * y1 - 3 * y0, den = 2 * ax * ty - 2 * ay * tx, times = []; if (Math.abs(den) < Numerical.CURVETIME_EPSILON) { var num = ax * cy - ay * cx, den = ax * by - ay * bx; if (den != 0) { var t = -num / den; if (t >= 0 && t <= 1) times.push(t); } } else { var delta = (bx * bx - 4 * ax * cx) * ty * ty + (-2 * bx * by + 4 * ay * cx + 4 * ax * cy) * tx * ty + (by * by - 4 * ay * cy) * tx * tx, k = bx * ty - by * tx; if (delta >= 0 && den != 0) { var d = Math.sqrt(delta), t0 = -(k + d) / den, t1 = (-k + d) / den; if (t0 >= 0 && t0 <= 1) times.push(t0); if (t1 >= 0 && t1 <= 1) times.push(t1); } } return times; } return { getIntersections: function(curve) { var v1 = this.getValues(), v2 = curve && curve !== this && curve.getValues(); return v2 ? getCurveIntersections(v1, v2, this, curve, []) : getSelfIntersection(v1, this, []); }, statics: { getOverlaps: getOverlaps, getIntersections: getIntersections, getCurveLineIntersections: getCurveLineIntersections, getTimesWithTangent: getTimesWithTangent } }; }); var CurveLocation = Base.extend({ _class: 'CurveLocation', initialize: function CurveLocation(curve, time, point, _overlap, _distance) { if (time >= 0.99999999) { var next = curve.getNext(); if (next) { time = 0; curve = next; } } this._setCurve(curve); this._time = time; this._point = point || curve.getPointAtTime(time); this._overlap = _overlap; this._distance = _distance; this._intersection = this._next = this._previous = null; }, _setPath: function(path) { this._path = path; this._version = path ? path._version : 0; }, _setCurve: function(curve) { this._setPath(curve._path); this._curve = curve; this._segment = null; this._segment1 = curve._segment1; this._segment2 = curve._segment2; }, _setSegment: function(segment) { var curve = segment.getCurve(); if (curve) { this._setCurve(curve); } else { this._setPath(segment._path); this._segment1 = segment; this._segment2 = null; } this._segment = segment; this._time = segment === this._segment1 ? 0 : 1; this._point = segment._point.clone(); }, getSegment: function() { var segment = this._segment; if (!segment) { var curve = this.getCurve(), time = this.getTime(); if (time === 0) { segment = curve._segment1; } else if (time === 1) { segment = curve._segment2; } else if (time != null) { segment = curve.getPartLength(0, time) < curve.getPartLength(time, 1) ? curve._segment1 : curve._segment2; } this._segment = segment; } return segment; }, getCurve: function() { var path = this._path, that = this; if (path && path._version !== this._version) { this._time = this._offset = this._curveOffset = this._curve = null; } function trySegment(segment) { var curve = segment && segment.getCurve(); if (curve && (that._time = curve.getTimeOf(that._point)) != null) { that._setCurve(curve); return curve; } } return this._curve || trySegment(this._segment) || trySegment(this._segment1) || trySegment(this._segment2.getPrevious()); }, getPath: function() { var curve = this.getCurve(); return curve && curve._path; }, getIndex: function() { var curve = this.getCurve(); return curve && curve.getIndex(); }, getTime: function() { var curve = this.getCurve(), time = this._time; return curve && time == null ? this._time = curve.getTimeOf(this._point) : time; }, getParameter: '#getTime', getPoint: function() { return this._point; }, getOffset: function() { var offset = this._offset; if (offset == null) { offset = 0; var path = this.getPath(), index = this.getIndex(); if (path && index != null) { var curves = path.getCurves(); for (var i = 0; i < index; i++) offset += curves[i].getLength(); } this._offset = offset += this.getCurveOffset(); } return offset; }, getCurveOffset: function() { var offset = this._curveOffset; if (offset == null) { var curve = this.getCurve(), time = this.getTime(); this._curveOffset = offset = time != null && curve && curve.getPartLength(0, time); } return offset; }, getIntersection: function() { return this._intersection; }, getDistance: function() { return this._distance; }, divide: function() { var curve = this.getCurve(), res = curve && curve.divideAtTime(this.getTime()); if (res) { this._setSegment(res._segment1); } return res; }, split: function() { var curve = this.getCurve(), path = curve._path, res = curve && curve.splitAtTime(this.getTime()); if (res) { this._setSegment(path.getLastSegment()); } return res; }, equals: function(loc, _ignoreOther) { var res = this === loc; if (!res && loc instanceof CurveLocation) { var c1 = this.getCurve(), c2 = loc.getCurve(), p1 = c1._path, p2 = c2._path; if (p1 === p2) { var abs = Math.abs, epsilon = 1e-7, diff = abs(this.getOffset() - loc.getOffset()), i1 = !_ignoreOther && this._intersection, i2 = !_ignoreOther && loc._intersection; res = (diff < epsilon || p1 && abs(p1.getLength() - diff) < epsilon) && (!i1 && !i2 || i1 && i2 && i1.equals(i2, true)); } } return res; }, toString: function() { var parts = [], point = this.getPoint(), f = Formatter.instance; if (point) parts.push('point: ' + point); var index = this.getIndex(); if (index != null) parts.push('index: ' + index); var time = this.getTime(); if (time != null) parts.push('time: ' + f.number(time)); if (this._distance != null) parts.push('distance: ' + f.number(this._distance)); return '{ ' + parts.join(', ') + ' }'; }, isTouching: function() { var inter = this._intersection; if (inter && this.getTangent().isCollinear(inter.getTangent())) { var curve1 = this.getCurve(), curve2 = inter.getCurve(); return !(curve1.isStraight() && curve2.isStraight() && curve1.getLine().intersect(curve2.getLine())); } return false; }, isCrossing: function() { var inter = this._intersection; if (!inter) return false; var t1 = this.getTime(), t2 = inter.getTime(), tMin = 1e-8, tMax = 1 - tMin, t1Inside = t1 >= tMin && t1 <= tMax, t2Inside = t2 >= tMin && t2 <= tMax; if (t1Inside && t2Inside) return !this.isTouching(); var c2 = this.getCurve(), c1 = c2 && t1 < tMin ? c2.getPrevious() : c2, c4 = inter.getCurve(), c3 = c4 && t2 < tMin ? c4.getPrevious() : c4; if (t1 > tMax) c2 = c2.getNext(); if (t2 > tMax) c4 = c4.getNext(); if (!c1 || !c2 || !c3 || !c4) return false; var offsets = []; function addOffsets(curve, end) { var v = curve.getValues(), roots = Curve.classify(v).roots || Curve.getPeaks(v), count = roots.length, offset = Curve.getLength(v, end && count ? roots[count - 1] : 0, !end && count ? roots[0] : 1); offsets.push(count ? offset : offset / 32); } function isInRange(angle, min, max) { return min < max ? angle > min && angle < max : angle > min || angle < max; } if (!t1Inside) { addOffsets(c1, true); addOffsets(c2, false); } if (!t2Inside) { addOffsets(c3, true); addOffsets(c4, false); } var pt = this.getPoint(), offset = Math.min.apply(Math, offsets), v2 = t1Inside ? c2.getTangentAtTime(t1) : c2.getPointAt(offset).subtract(pt), v1 = t1Inside ? v2.negate() : c1.getPointAt(-offset).subtract(pt), v4 = t2Inside ? c4.getTangentAtTime(t2) : c4.getPointAt(offset).subtract(pt), v3 = t2Inside ? v4.negate() : c3.getPointAt(-offset).subtract(pt), a1 = v1.getAngle(), a2 = v2.getAngle(), a3 = v3.getAngle(), a4 = v4.getAngle(); return !!(t1Inside ? (isInRange(a1, a3, a4) ^ isInRange(a2, a3, a4)) && (isInRange(a1, a4, a3) ^ isInRange(a2, a4, a3)) : (isInRange(a3, a1, a2) ^ isInRange(a4, a1, a2)) && (isInRange(a3, a2, a1) ^ isInRange(a4, a2, a1))); }, hasOverlap: function() { return !!this._overlap; } }, Base.each(Curve._evaluateMethods, function(name) { var get = name + 'At'; this[name] = function() { var curve = this.getCurve(), time = this.getTime(); return time != null && curve && curve[get](time, true); }; }, { preserve: true }), new function() { function insert(locations, loc, merge) { var length = locations.length, l = 0, r = length - 1; function search(index, dir) { for (var i = index + dir; i >= -1 && i <= length; i += dir) { var loc2 = locations[((i % length) + length) % length]; if (!loc.getPoint().isClose(loc2.getPoint(), 1e-7)) break; if (loc.equals(loc2)) return loc2; } return null; } while (l <= r) { var m = (l + r) >>> 1, loc2 = locations[m], found; if (merge && (found = loc.equals(loc2) ? loc2 : (search(m, -1) || search(m, 1)))) { if (loc._overlap) { found._overlap = found._intersection._overlap = true; } return found; } var path1 = loc.getPath(), path2 = loc2.getPath(), diff = path1 !== path2 ? path1._id - path2._id : (loc.getIndex() + loc.getTime()) - (loc2.getIndex() + loc2.getTime()); if (diff < 0) { r = m - 1; } else { l = m + 1; } } locations.splice(l, 0, loc); return loc; } return { statics: { insert: insert, expand: function(locations) { var expanded = locations.slice(); for (var i = locations.length - 1; i >= 0; i--) { insert(expanded, locations[i]._intersection, false); } return expanded; } }}; }); var PathItem = Item.extend({ _class: 'PathItem', _selectBounds: false, _canScaleStroke: true, beans: true, initialize: function PathItem() { }, statics: { create: function(arg) { var data, segments, compound; if (Base.isPlainObject(arg)) { segments = arg.segments; data = arg.pathData; } else if (Array.isArray(arg)) { segments = arg; } else if (typeof arg === 'string') { data = arg; } if (segments) { var first = segments[0]; compound = first && Array.isArray(first[0]); } else if (data) { compound = (data.match(/m/gi) || []).length > 1 || /z\s*\S+/i.test(data); } var ctor = compound ? CompoundPath : Path; return new ctor(arg); } }, _asPathItem: function() { return this; }, isClockwise: function() { return this.getArea() >= 0; }, setClockwise: function(clockwise) { if (this.isClockwise() != (clockwise = !!clockwise)) this.reverse(); }, setPathData: function(data) { var parts = data && data.match(/[mlhvcsqtaz][^mlhvcsqtaz]*/ig), coords, relative = false, previous, control, current = new Point(), start = new Point(); function getCoord(index, coord) { var val = +coords[index]; if (relative) val += current[coord]; return val; } function getPoint(index) { return new Point( getCoord(index, 'x'), getCoord(index + 1, 'y') ); } this.clear(); for (var i = 0, l = parts && parts.length; i < l; i++) { var part = parts[i], command = part[0], lower = command.toLowerCase(); coords = part.match(/[+-]?(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?/g); var length = coords && coords.length; relative = command === lower; if (previous === 'z' && !/[mz]/.test(lower)) this.moveTo(current); switch (lower) { case 'm': case 'l': var move = lower === 'm'; for (var j = 0; j < length; j += 2) { this[move ? 'moveTo' : 'lineTo'](current = getPoint(j)); if (move) { start = current; move = false; } } control = current; break; case 'h': case 'v': var coord = lower === 'h' ? 'x' : 'y'; current = current.clone(); for (var j = 0; j < length; j++) { current[coord] = getCoord(j, coord); this.lineTo(current); } control = current; break; case 'c': for (var j = 0; j < length; j += 6) { this.cubicCurveTo( getPoint(j), control = getPoint(j + 2), current = getPoint(j + 4)); } break; case 's': for (var j = 0; j < length; j += 4) { this.cubicCurveTo( /[cs]/.test(previous) ? current.multiply(2).subtract(control) : current, control = getPoint(j), current = getPoint(j + 2)); previous = lower; } break; case 'q': for (var j = 0; j < length; j += 4) { this.quadraticCurveTo( control = getPoint(j), current = getPoint(j + 2)); } break; case 't': for (var j = 0; j < length; j += 2) { this.quadraticCurveTo( control = (/[qt]/.test(previous) ? current.multiply(2).subtract(control) : current), current = getPoint(j)); previous = lower; } break; case 'a': for (var j = 0; j < length; j += 7) { this.arcTo(current = getPoint(j + 5), new Size(+coords[j], +coords[j + 1]), +coords[j + 2], +coords[j + 4], +coords[j + 3]); } break; case 'z': this.closePath(1e-12); current = start; break; } previous = lower; } }, _canComposite: function() { return !(this.hasFill() && this.hasStroke()); }, _contains: function(point) { var winding = point.isInside( this.getBounds({ internal: true, handle: true })) ? this._getWinding(point) : {}; return winding.onPath || !!(this.getFillRule() === 'evenodd' ? winding.windingL & 1 || winding.windingR & 1 : winding.winding); }, getIntersections: function(path, include, _matrix, _returnFirst) { var self = this === path || !path, matrix1 = this._matrix._orNullIfIdentity(), matrix2 = self ? matrix1 : (_matrix || path._matrix)._orNullIfIdentity(); return self || this.getBounds(matrix1).intersects( path.getBounds(matrix2), 1e-12) ? Curve.getIntersections( this.getCurves(), !self && path.getCurves(), include, matrix1, matrix2, _returnFirst) : []; }, getCrossings: function(path) { return this.getIntersections(path, function(inter) { return inter.isCrossing(); }); }, getNearestLocation: function() { var point = Point.read(arguments), curves = this.getCurves(), minDist = Infinity, minLoc = null; for (var i = 0, l = curves.length; i < l; i++) { var loc = curves[i].getNearestLocation(point); if (loc._distance < minDist) { minDist = loc._distance; minLoc = loc; } } return minLoc; }, getNearestPoint: function() { var loc = this.getNearestLocation.apply(this, arguments); return loc ? loc.getPoint() : loc; }, interpolate: function(from, to, factor) { var isPath = !this._children, name = isPath ? '_segments' : '_children', itemsFrom = from[name], itemsTo = to[name], items = this[name]; if (!itemsFrom || !itemsTo || itemsFrom.length !== itemsTo.length) { throw new Error('Invalid operands in interpolate() call: ' + from + ', ' + to); } var current = items.length, length = itemsTo.length; if (current < length) { var ctor = isPath ? Segment : Path; for (var i = current; i < length; i++) { this.add(new ctor()); } } else if (current > length) { this[isPath ? 'removeSegments' : 'removeChildren'](length, current); } for (var i = 0; i < length; i++) { items[i].interpolate(itemsFrom[i], itemsTo[i], factor); } if (isPath) { this.setClosed(from._closed); this._changed(9); } }, compare: function(path) { var ok = false; if (path) { var paths1 = this._children || [this], paths2 = path._children ? path._children.slice() : [path], length1 = paths1.length, length2 = paths2.length, matched = [], count = 0; ok = true; var boundsOverlaps = CollisionDetection.findItemBoundsCollisions(paths1, paths2, Numerical.GEOMETRIC_EPSILON); for (var i1 = length1 - 1; i1 >= 0 && ok; i1--) { var path1 = paths1[i1]; ok = false; var pathBoundsOverlaps = boundsOverlaps[i1]; if (pathBoundsOverlaps) { for (var i2 = pathBoundsOverlaps.length - 1; i2 >= 0 && !ok; i2--) { if (path1.compare(paths2[pathBoundsOverlaps[i2]])) { if (!matched[pathBoundsOverlaps[i2]]) { matched[pathBoundsOverlaps[i2]] = true; count++; } ok = true; } } } } ok = ok && count === length2; } return ok; }, }); var Path = PathItem.extend({ _class: 'Path', _serializeFields: { segments: [], closed: false }, initialize: function Path(arg) { this._closed = false; this._segments = []; this._version = 0; var args = arguments, segments = Array.isArray(arg) ? typeof arg[0] === 'object' ? arg : args : arg && (arg.size === undefined && (arg.x !== undefined || arg.point !== undefined)) ? args : null; if (segments && segments.length > 0) { this.setSegments(segments); } else { this._curves = undefined; this._segmentSelection = 0; if (!segments && typeof arg === 'string') { this.setPathData(arg); arg = null; } } this._initialize(!segments && arg); }, _equals: function(item) { return this._closed === item._closed && Base.equals(this._segments, item._segments); }, copyContent: function(source) { this.setSegments(source._segments); this._closed = source._closed; }, _changed: function _changed(flags) { _changed.base.call(this, flags); if (flags & 8) { this._length = this._area = undefined; if (flags & 32) { this._version++; } else if (this._curves) { for (var i = 0, l = this._curves.length; i < l; i++) this._curves[i]._changed(); } } else if (flags & 64) { this._bounds = undefined; } }, getStyle: function() { var parent = this._parent; return (parent instanceof CompoundPath ? parent : this)._style; }, getSegments: function() { return this._segments; }, setSegments: function(segments) { var fullySelected = this.isFullySelected(), length = segments && segments.length; this._segments.length = 0; this._segmentSelection = 0; this._curves = undefined; if (length) { var last = segments[length - 1]; if (typeof last === 'boolean') { this.setClosed(last); length--; } this._add(Segment.readList(segments, 0, {}, length)); } if (fullySelected) this.setFullySelected(true); }, getFirstSegment: function() { return this._segments[0]; }, getLastSegment: function() { return this._segments[this._segments.length - 1]; }, getCurves: function() { var curves = this._curves, segments = this._segments; if (!curves) { var length = this._countCurves(); curves = this._curves = new Array(length); for (var i = 0; i < length; i++) curves[i] = new Curve(this, segments[i], segments[i + 1] || segments[0]); } return curves; }, getFirstCurve: function() { return this.getCurves()[0]; }, getLastCurve: function() { var curves = this.getCurves(); return curves[curves.length - 1]; }, isClosed: function() { return this._closed; }, setClosed: function(closed) { if (this._closed != (closed = !!closed)) { this._closed = closed; if (this._curves) { var length = this._curves.length = this._countCurves(); if (closed) this._curves[length - 1] = new Curve(this, this._segments[length - 1], this._segments[0]); } this._changed(41); } } }, { beans: true, getPathData: function(_matrix, _precision) { var segments = this._segments, length = segments.length, f = new Formatter(_precision), coords = new Array(6), first = true, curX, curY, prevX, prevY, inX, inY, outX, outY, parts = []; function addSegment(segment, skipLine) { segment._transformCoordinates(_matrix, coords); curX = coords[0]; curY = coords[1]; if (first) { parts.push('M' + f.pair(curX, curY)); first = false; } else { inX = coords[2]; inY = coords[3]; if (inX === curX && inY === curY && outX === prevX && outY === prevY) { if (!skipLine) { var dx = curX - prevX, dy = curY - prevY; parts.push( dx === 0 ? 'v' + f.number(dy) : dy === 0 ? 'h' + f.number(dx) : 'l' + f.pair(dx, dy)); } } else { parts.push('c' + f.pair(outX - prevX, outY - prevY) + ' ' + f.pair( inX - prevX, inY - prevY) + ' ' + f.pair(curX - prevX, curY - prevY)); } } prevX = curX; prevY = curY; outX = coords[4]; outY = coords[5]; } if (!length) return ''; for (var i = 0; i < length; i++) addSegment(segments[i]); if (this._closed && length > 0) { addSegment(segments[0], true); parts.push('z'); } return parts.join(''); }, isEmpty: function() { return !this._segments.length; }, _transformContent: function(matrix) { var segments = this._segments, coords = new Array(6); for (var i = 0, l = segments.length; i < l; i++) segments[i]._transformCoordinates(matrix, coords, true); return true; }, _add: function(segs, index) { var segments = this._segments, curves = this._curves, amount = segs.length, append = index == null, index = append ? segments.length : index; for (var i = 0; i < amount; i++) { var segment = segs[i]; if (segment._path) segment = segs[i] = segment.clone(); segment._path = this; segment._index = index + i; if (segment._selection) this._updateSelection(segment, 0, segment._selection); } if (append) { Base.push(segments, segs); } else { segments.splice.apply(segments, [index, 0].concat(segs)); for (var i = index + amount, l = segments.length; i < l; i++) segments[i]._index = i; } if (curves) { var total = this._countCurves(), start = index > 0 && index + amount - 1 === total ? index - 1 : index, insert = start, end = Math.min(start + amount, total); if (segs._curves) { curves.splice.apply(curves, [start, 0].concat(segs._curves)); insert += segs._curves.length; } for (var i = insert; i < end; i++) curves.splice(i, 0, new Curve(this, null, null)); this._adjustCurves(start, end); } this._changed(41); return segs; }, _adjustCurves: function(start, end) { var segments = this._segments, curves = this._curves, curve; for (var i = start; i < end; i++) { curve = curves[i]; curve._path = this; curve._segment1 = segments[i]; curve._segment2 = segments[i + 1] || segments[0]; curve._changed(); } if (curve = curves[this._closed && !start ? segments.length - 1 : start - 1]) { curve._segment2 = segments[start] || segments[0]; curve._changed(); } if (curve = curves[end]) { curve._segment1 = segments[end]; curve._changed(); } }, _countCurves: function() { var length = this._segments.length; return !this._closed && length > 0 ? length - 1 : length; }, add: function(segment1 ) { var args = arguments; return args.length > 1 && typeof segment1 !== 'number' ? this._add(Segment.readList(args)) : this._add([ Segment.read(args) ])[0]; }, insert: function(index, segment1 ) { var args = arguments; return args.length > 2 && typeof segment1 !== 'number' ? this._add(Segment.readList(args, 1), index) : this._add([ Segment.read(args, 1) ], index)[0]; }, addSegment: function() { return this._add([ Segment.read(arguments) ])[0]; }, insertSegment: function(index ) { return this._add([ Segment.read(arguments, 1) ], index)[0]; }, addSegments: function(segments) { return this._add(Segment.readList(segments)); }, insertSegments: function(index, segments) { return this._add(Segment.readList(segments), index); }, removeSegment: function(index) { return this.removeSegments(index, index + 1)[0] || null; }, removeSegments: function(start, end, _includeCurves) { start = start || 0; end = Base.pick(end, this._segments.length); var segments = this._segments, curves = this._curves, count = segments.length, removed = segments.splice(start, end - start), amount = removed.length; if (!amount) return removed; for (var i = 0; i < amount; i++) { var segment = removed[i]; if (segment._selection) this._updateSelection(segment, segment._selection, 0); segment._index = segment._path = null; } for (var i = start, l = segments.length; i < l; i++) segments[i]._index = i; if (curves) { var index = start > 0 && end === count + (this._closed ? 1 : 0) ? start - 1 : start, curves = curves.splice(index, amount); for (var i = curves.length - 1; i >= 0; i--) curves[i]._path = null; if (_includeCurves) removed._curves = curves.slice(1); this._adjustCurves(index, index); } this._changed(41); return removed; }, clear: '#removeSegments', hasHandles: function() { var segments = this._segments; for (var i = 0, l = segments.length; i < l; i++) { if (segments[i].hasHandles()) return true; } return false; }, clearHandles: function() { var segments = this._segments; for (var i = 0, l = segments.length; i < l; i++) segments[i].clearHandles(); }, getLength: function() { if (this._length == null) { var curves = this.getCurves(), length = 0; for (var i = 0, l = curves.length; i < l; i++) length += curves[i].getLength(); this._length = length; } return this._length; }, getArea: function() { var area = this._area; if (area == null) { var segments = this._segments, closed = this._closed; area = 0; for (var i = 0, l = segments.length; i < l; i++) { var last = i + 1 === l; area += Curve.getArea(Curve.getValues( segments[i], segments[last ? 0 : i + 1], null, last && !closed)); } this._area = area; } return area; }, isFullySelected: function() { var length = this._segments.length; return this.isSelected() && length > 0 && this._segmentSelection === length * 7; }, setFullySelected: function(selected) { if (selected) this._selectSegments(true); this.setSelected(selected); }, setSelection: function setSelection(selection) { if (!(selection & 1)) this._selectSegments(false); setSelection.base.call(this, selection); }, _selectSegments: function(selected) { var segments = this._segments, length = segments.length, selection = selected ? 7 : 0; this._segmentSelection = selection * length; for (var i = 0; i < length; i++) segments[i]._selection = selection; }, _updateSelection: function(segment, oldSelection, newSelection) { segment._selection = newSelection; var selection = this._segmentSelection += newSelection - oldSelection; if (selection > 0) this.setSelected(true); }, divideAt: function(location) { var loc = this.getLocationAt(location), curve; return loc && (curve = loc.getCurve().divideAt(loc.getCurveOffset())) ? curve._segment1 : null; }, splitAt: function(location) { var loc = this.getLocationAt(location), index = loc && loc.index, time = loc && loc.time, tMin = 1e-8, tMax = 1 - tMin; if (time > tMax) { index++; time = 0; } var curves = this.getCurves(); if (index >= 0 && index < curves.length) { if (time >= tMin) { curves[index++].divideAtTime(time); } var segs = this.removeSegments(index, this._segments.length, true), path; if (this._closed) { this.setClosed(false); path = this; } else { path = new Path(Item.NO_INSERT); path.insertAbove(this); path.copyAttributes(this); } path._add(segs, 0); this.addSegment(segs[0]); return path; } return null; }, split: function(index, time) { var curve, location = time === undefined ? index : (curve = this.getCurves()[index]) && curve.getLocationAtTime(time); return location != null ? this.splitAt(location) : null; }, join: function(path, tolerance) { var epsilon = tolerance || 0; if (path && path !== this) { var segments = path._segments, last1 = this.getLastSegment(), last2 = path.getLastSegment(); if (!last2) return this; if (last1 && last1._point.isClose(last2._point, epsilon)) path.reverse(); var first2 = path.getFirstSegment(); if (last1 && last1._point.isClose(first2._point, epsilon)) { last1.setHandleOut(first2._handleOut); this._add(segments.slice(1)); } else { var first1 = this.getFirstSegment(); if (first1 && first1._point.isClose(first2._point, epsilon)) path.reverse(); last2 = path.getLastSegment(); if (first1 && first1._point.isClose(last2._point, epsilon)) { first1.setHandleIn(last2._handleIn); this._add(segments.slice(0, segments.length - 1), 0); } else { this._add(segments.slice()); } } if (path._closed) this._add([segments[0]]); path.remove(); } var first = this.getFirstSegment(), last = this.getLastSegment(); if (first !== last && first._point.isClose(last._point, epsilon)) { first.setHandleIn(last._handleIn); last.remove(); this.setClosed(true); } return this; }, reduce: function(options) { var curves = this.getCurves(), simplify = options && options.simplify, tolerance = simplify ? 1e-7 : 0; for (var i = curves.length - 1; i >= 0; i--) { var curve = curves[i]; if (!curve.hasHandles() && (!curve.hasLength(tolerance) || simplify && curve.isCollinear(curve.getNext()))) curve.remove(); } return this; }, reverse: function() { this._segments.reverse(); for (var i = 0, l = this._segments.length; i < l; i++) { var segment = this._segments[i]; var handleIn = segment._handleIn; segment._handleIn = segment._handleOut; segment._handleOut = handleIn; segment._index = i; } this._curves = null; this._changed(9); }, flatten: function(flatness) { var flattener = new PathFlattener(this, flatness || 0.25, 256, true), parts = flattener.parts, length = parts.length, segments = []; for (var i = 0; i < length; i++) { segments.push(new Segment(parts[i].curve.slice(0, 2))); } if (!this._closed && length > 0) { segments.push(new Segment(parts[length - 1].curve.slice(6))); } this.setSegments(segments); }, simplify: function(tolerance) { var segments = new PathFitter(this).fit(tolerance || 2.5); if (segments) this.setSegments(segments); return !!segments; }, smooth: function(options) { var that = this, opts = options || {}, type = opts.type || 'asymmetric', segments = this._segments, length = segments.length, closed = this._closed; function getIndex(value, _default) { var index = value && value.index; if (index != null) { var path = value.path; if (path && path !== that) throw new Error(value._class + ' ' + index + ' of ' + path + ' is not part of ' + that); if (_default && value instanceof Curve) index++; } else { index = typeof value === 'number' ? value : _default; } return Math.min(index < 0 && closed ? index % length : index < 0 ? index + length : index, length - 1); } var loop = closed && opts.from === undefined && opts.to === undefined, from = getIndex(opts.from, 0), to = getIndex(opts.to, length - 1); if (from > to) { if (closed) { from -= length; } else { var tmp = from; from = to; to = tmp; } } if (/^(?:asymmetric|continuous)$/.test(type)) { var asymmetric = type === 'asymmetric', min = Math.min, amount = to - from + 1, n = amount - 1, padding = loop ? min(amount, 4) : 1, paddingLeft = padding, paddingRight = padding, knots = []; if (!closed) { paddingLeft = min(1, from); paddingRight = min(1, length - to - 1); } n += paddingLeft + paddingRight; if (n <= 1) return; for (var i = 0, j = from - paddingLeft; i <= n; i++, j++) { knots[i] = segments[(j < 0 ? j + length : j) % length]._point; } var x = knots[0]._x + 2 * knots[1]._x, y = knots[0]._y + 2 * knots[1]._y, f = 2, n_1 = n - 1, rx = [x], ry = [y], rf = [f], px = [], py = []; for (var i = 1; i < n; i++) { var internal = i < n_1, a = internal ? 1 : asymmetric ? 1 : 2, b = internal ? 4 : asymmetric ? 2 : 7, u = internal ? 4 : asymmetric ? 3 : 8, v = internal ? 2 : asymmetric ? 0 : 1, m = a / f; f = rf[i] = b - m; x = rx[i] = u * knots[i]._x + v * knots[i + 1]._x - m * x; y = ry[i] = u * knots[i]._y + v * knots[i + 1]._y - m * y; } px[n_1] = rx[n_1] / rf[n_1]; py[n_1] = ry[n_1] / rf[n_1]; for (var i = n - 2; i >= 0; i--) { px[i] = (rx[i] - px[i + 1]) / rf[i]; py[i] = (ry[i] - py[i + 1]) / rf[i]; } px[n] = (3 * knots[n]._x - px[n_1]) / 2; py[n] = (3 * knots[n]._y - py[n_1]) / 2; for (var i = paddingLeft, max = n - paddingRight, j = from; i <= max; i++, j++) { var segment = segments[j < 0 ? j + length : j], pt = segment._point, hx = px[i] - pt._x, hy = py[i] - pt._y; if (loop || i < max) segment.setHandleOut(hx, hy); if (loop || i > paddingLeft) segment.setHandleIn(-hx, -hy); } } else { for (var i = from; i <= to; i++) { segments[i < 0 ? i + length : i].smooth(opts, !loop && i === from, !loop && i === to); } } }, toShape: function(insert) { if (!this._closed) return null; var segments = this._segments, type, size, radius, topCenter; function isCollinear(i, j) { var seg1 = segments[i], seg2 = seg1.getNext(), seg3 = segments[j], seg4 = seg3.getNext(); return seg1._handleOut.isZero() && seg2._handleIn.isZero() && seg3._handleOut.isZero() && seg4._handleIn.isZero() && seg2._point.subtract(seg1._point).isCollinear( seg4._point.subtract(seg3._point)); } function isOrthogonal(i) { var seg2 = segments[i], seg1 = seg2.getPrevious(), seg3 = seg2.getNext(); return seg1._handleOut.isZero() && seg2._handleIn.isZero() && seg2._handleOut.isZero() && seg3._handleIn.isZero() && seg2._point.subtract(seg1._point).isOrthogonal( seg3._point.subtract(seg2._point)); } function isArc(i) { var seg1 = segments[i], seg2 = seg1.getNext(), handle1 = seg1._handleOut, handle2 = seg2._handleIn, kappa = 0.5522847498307936; if (handle1.isOrthogonal(handle2)) { var pt1 = seg1._point, pt2 = seg2._point, corner = new Line(pt1, handle1, true).intersect( new Line(pt2, handle2, true), true); return corner && Numerical.isZero(handle1.getLength() / corner.subtract(pt1).getLength() - kappa) && Numerical.isZero(handle2.getLength() / corner.subtract(pt2).getLength() - kappa); } return false; } function getDistance(i, j) { return segments[i]._point.getDistance(segments[j]._point); } if (!this.hasHandles() && segments.length === 4 && isCollinear(0, 2) && isCollinear(1, 3) && isOrthogonal(1)) { type = Shape.Rectangle; size = new Size(getDistance(0, 3), getDistance(0, 1)); topCenter = segments[1]._point.add(segments[2]._point).divide(2); } else if (segments.length === 8 && isArc(0) && isArc(2) && isArc(4) && isArc(6) && isCollinear(1, 5) && isCollinear(3, 7)) { type = Shape.Rectangle; size = new Size(getDistance(1, 6), getDistance(0, 3)); radius = size.subtract(new Size(getDistance(0, 7), getDistance(1, 2))).divide(2); topCenter = segments[3]._point.add(segments[4]._point).divide(2); } else if (segments.length === 4 && isArc(0) && isArc(1) && isArc(2) && isArc(3)) { if (Numerical.isZero(getDistance(0, 2) - getDistance(1, 3))) { type = Shape.Circle; radius = getDistance(0, 2) / 2; } else { type = Shape.Ellipse; radius = new Size(getDistance(2, 0) / 2, getDistance(3, 1) / 2); } topCenter = segments[1]._point; } if (type) { var center = this.getPosition(true), shape = new type({ center: center, size: size, radius: radius, insert: false }); shape.copyAttributes(this, true); shape._matrix.prepend(this._matrix); shape.rotate(topCenter.subtract(center).getAngle() + 90); if (insert === undefined || insert) shape.insertAbove(this); return shape; } return null; }, toPath: '#clone', compare: function compare(path) { if (!path || path instanceof CompoundPath) return compare.base.call(this, path); var curves1 = this.getCurves(), curves2 = path.getCurves(), length1 = curves1.length, length2 = curves2.length; if (!length1 || !length2) { return length1 == length2; } var v1 = curves1[0].getValues(), values2 = [], pos1 = 0, pos2, end1 = 0, end2; for (var i = 0; i < length2; i++) { var v2 = curves2[i].getValues(); values2.push(v2); var overlaps = Curve.getOverlaps(v1, v2); if (overlaps) { pos2 = !i && overlaps[0][0] > 0 ? length2 - 1 : i; end2 = overlaps[0][1]; break; } } var abs = Math.abs, epsilon = 1e-8, v2 = values2[pos2], start2; while (v1 && v2) { var overlaps = Curve.getOverlaps(v1, v2); if (overlaps) { var t1 = overlaps[0][0]; if (abs(t1 - end1) < epsilon) { end1 = overlaps[1][0]; if (end1 === 1) { v1 = ++pos1 < length1 ? curves1[pos1].getValues() : null; end1 = 0; } var t2 = overlaps[0][1]; if (abs(t2 - end2) < epsilon) { if (!start2) start2 = [pos2, t2]; end2 = overlaps[1][1]; if (end2 === 1) { if (++pos2 >= length2) pos2 = 0; v2 = values2[pos2] || curves2[pos2].getValues(); end2 = 0; } if (!v1) { return start2[0] === pos2 && start2[1] === end2; } continue; } } } break; } return false; }, _hitTestSelf: function(point, options, viewMatrix, strokeMatrix) { var that = this, style = this.getStyle(), segments = this._segments, numSegments = segments.length, closed = this._closed, tolerancePadding = options._tolerancePadding, strokePadding = tolerancePadding, join, cap, miterLimit, area, loc, res, hitStroke = options.stroke && (style.hasStroke() || options.hitUnstrokedPaths), hitFill = options.fill && (style.hasFill() || options.hitUnfilledPaths), hitCurves = options.curves, strokeRadius = hitStroke ? style.getStrokeWidth() / 2 : hitFill && options.tolerance > 0 || hitCurves ? 0 : null; if (strokeRadius !== null) { if (strokeRadius > 0) { join = style.getStrokeJoin(); cap = style.getStrokeCap(); miterLimit = style.getMiterLimit(); strokePadding = strokePadding.add( Path._getStrokePadding(strokeRadius, strokeMatrix)); } else { join = cap = 'round'; } } function isCloseEnough(pt, padding) { return point.subtract(pt).divide(padding).length <= 1; } function checkSegmentPoint(seg, pt, name) { if (!options.selected || pt.isSelected()) { var anchor = seg._point; if (pt !== anchor) pt = pt.add(anchor); if (isCloseEnough(pt, strokePadding)) { return new HitResult(name, that, { segment: seg, point: pt }); } } } function checkSegmentPoints(seg, ends) { return (ends || options.segments) && checkSegmentPoint(seg, seg._point, 'segment') || (!ends && options.handles) && ( checkSegmentPoint(seg, seg._handleIn, 'handle-in') || checkSegmentPoint(seg, seg._handleOut, 'handle-out')); } function addToArea(point) { area.add(point); } function checkSegmentStroke(segment) { var isJoin = closed || segment._index > 0 && segment._index < numSegments - 1; if ((isJoin ? join : cap) === 'round') { return isCloseEnough(segment._point, strokePadding); } else { area = new Path({ internal: true, closed: true }); if (isJoin) { if (!segment.isSmooth()) { Path._addBevelJoin(segment, join, strokeRadius, miterLimit, null, strokeMatrix, addToArea, true); } } else if (cap === 'square') { Path._addSquareCap(segment, cap, strokeRadius, null, strokeMatrix, addToArea, true); } if (!area.isEmpty()) { var loc; return area.contains(point) || (loc = area.getNearestLocation(point)) && isCloseEnough(loc.getPoint(), tolerancePadding); } } } if (options.ends && !options.segments && !closed) { if (res = checkSegmentPoints(segments[0], true) || checkSegmentPoints(segments[numSegments - 1], true)) return res; } else if (options.segments || options.handles) { for (var i = 0; i < numSegments; i++) if (res = checkSegmentPoints(segments[i])) return res; } if (strokeRadius !== null) { loc = this.getNearestLocation(point); if (loc) { var time = loc.getTime(); if (time === 0 || time === 1 && numSegments > 1) { if (!checkSegmentStroke(loc.getSegment())) loc = null; } else if (!isCloseEnough(loc.getPoint(), strokePadding)) { loc = null; } } if (!loc && join === 'miter' && numSegments > 1) { for (var i = 0; i < numSegments; i++) { var segment = segments[i]; if (point.getDistance(segment._point) <= miterLimit * strokeRadius && checkSegmentStroke(segment)) { loc = segment.getLocation(); break; } } } } return !loc && hitFill && this._contains(point) || loc && !hitStroke && !hitCurves ? new HitResult('fill', this) : loc ? new HitResult(hitStroke ? 'stroke' : 'curve', this, { location: loc, point: loc.getPoint() }) : null; } }, Base.each(Curve._evaluateMethods, function(name) { this[name + 'At'] = function(offset) { var loc = this.getLocationAt(offset); return loc && loc[name](); }; }, { beans: false, getLocationOf: function() { var point = Point.read(arguments), curves = this.getCurves(); for (var i = 0, l = curves.length; i < l; i++) { var loc = curves[i].getLocationOf(point); if (loc) return loc; } return null; }, getOffsetOf: function() { var loc = this.getLocationOf.apply(this, arguments); return loc ? loc.getOffset() : null; }, getLocationAt: function(offset) { if (typeof offset === 'number') { var curves = this.getCurves(), length = 0; for (var i = 0, l = curves.length; i < l; i++) { var start = length, curve = curves[i]; length += curve.getLength(); if (length > offset) { return curve.getLocationAt(offset - start); } } if (curves.length > 0 && offset <= this.getLength()) { return new CurveLocation(curves[curves.length - 1], 1); } } else if (offset && offset.getPath && offset.getPath() === this) { return offset; } return null; }, getOffsetsWithTangent: function() { var tangent = Point.read(arguments); if (tangent.isZero()) { return []; } var offsets = []; var curveStart = 0; var curves = this.getCurves(); for (var i = 0, l = curves.length; i < l; i++) { var curve = curves[i]; var curveTimes = curve.getTimesWithTangent(tangent); for (var j = 0, m = curveTimes.length; j < m; j++) { var offset = curveStart + curve.getOffsetAtTime(curveTimes[j]); if (offsets.indexOf(offset) < 0) { offsets.push(offset); } } curveStart += curve.length; } return offsets; } }), new function() { function drawHandles(ctx, segments, matrix, size, isFullySelected) { if (size <= 0) return; var half = size / 2, coords = new Array(6), pX, pY; function drawHandle(index) { var hX = coords[index], hY = coords[index + 1]; if (pX != hX || pY != hY) { ctx.beginPath(); ctx.moveTo(pX, pY); ctx.lineTo(hX, hY); ctx.moveTo(hX - half, hY); ctx.lineTo(hX, hY + half); ctx.lineTo(hX + half, hY); ctx.lineTo(hX, hY - half); ctx.closePath(); ctx.stroke(); } } for (var i = 0, l = segments.length; i < l; i++) { var segment = segments[i], selection = segment._selection; segment._transformCoordinates(matrix, coords); pX = coords[0]; pY = coords[1]; if (selection & 2 && !isFullySelected) drawHandle(2); if (selection & 4 && !isFullySelected) drawHandle(4); ctx.beginPath(); ctx.arc(pX, pY, half, 0, Math.PI * 2, true); ctx.stroke(); var fillStyle = ctx.fillStyle; if (!(selection & 1)) { ctx.fillStyle = 'rgba(255, 255, 255, 0.5)'; } ctx.fill(); ctx.fillStyle = fillStyle; } } function drawSegments(ctx, path, matrix) { var segments = path._segments, length = segments.length, coords = new Array(6), first = true, curX, curY, prevX, prevY, inX, inY, outX, outY; function drawSegment(segment) { if (matrix) { segment._transformCoordinates(matrix, coords); curX = coords[0]; curY = coords[1]; } else { var point = segment._point; curX = point._x; curY = point._y; } if (first) { ctx.moveTo(curX, curY); first = false; } else { if (matrix) { inX = coords[2]; inY = coords[3]; } else { var handle = segment._handleIn; inX = curX + handle._x; inY = curY + handle._y; } if (inX === curX && inY === curY && outX === prevX && outY === prevY) { ctx.lineTo(curX, curY); } else { ctx.bezierCurveTo(outX, outY, inX, inY, curX, curY); } } prevX = curX; prevY = curY; if (matrix) { outX = coords[4]; outY = coords[5]; } else { var handle = segment._handleOut; outX = prevX + handle._x; outY = prevY + handle._y; } } for (var i = 0; i < length; i++) drawSegment(segments[i]); if (path._closed && length > 0) drawSegment(segments[0]); } return { _draw: function(ctx, param, viewMatrix, strokeMatrix) { var dontStart = param.dontStart, dontPaint = param.dontFinish || param.clip, style = this.getStyle(), hasFill = style.hasFill(), hasStroke = style.hasStroke(), dashArray = style.getDashArray(), dashLength = !paper.support.nativeDash && hasStroke && dashArray && dashArray.length; if (!dontStart) ctx.beginPath(); if (hasFill || hasStroke && !dashLength || dontPaint) { drawSegments(ctx, this, strokeMatrix); if (this._closed) ctx.closePath(); } function getOffset(i) { return dashArray[((i % dashLength) + dashLength) % dashLength]; } if (!dontPaint && (hasFill || hasStroke)) { this._setStyles(ctx, param, viewMatrix, strokeMatrix); if (hasFill) { ctx.fill(style.getFillRule()); ctx.shadowColor = 'rgba(0,0,0,0)'; } if (hasStroke) { if (dashLength) { if (!dontStart) ctx.beginPath(); var flattener = new PathFlattener(this, 0.25, 32, false, strokeMatrix), length = flattener.length, from = -style.getDashOffset(), to, i = 0; from = from % length; while (from > 0) { from -= getOffset(i--) + getOffset(i--); } while (from < length) { to = from + getOffset(i++); if (from > 0 || to > 0) flattener.drawPart(ctx, Math.max(from, 0), Math.max(to, 0)); from = to + getOffset(i++); } } ctx.stroke(); } } }, _drawSelected: function(ctx, matrix) { ctx.beginPath(); drawSegments(ctx, this, matrix); ctx.stroke(); drawHandles(ctx, this._segments, matrix, paper.settings.handleSize, this.isFullySelected()); } }; }, new function() { function getCurrentSegment(that) { var segments = that._segments; if (!segments.length) throw new Error('Use a moveTo() command first'); return segments[segments.length - 1]; } return { moveTo: function() { var segments = this._segments; if (segments.length === 1) this.removeSegment(0); if (!segments.length) this._add([ new Segment(Point.read(arguments)) ]); }, moveBy: function() { throw new Error('moveBy() is unsupported on Path items.'); }, lineTo: function() { this._add([ new Segment(Point.read(arguments)) ]); }, cubicCurveTo: function() { var args = arguments, handle1 = Point.read(args), handle2 = Point.read(args), to = Point.read(args), current = getCurrentSegment(this); current.setHandleOut(handle1.subtract(current._point)); this._add([ new Segment(to, handle2.subtract(to)) ]); }, quadraticCurveTo: function() { var args = arguments, handle = Point.read(args), to = Point.read(args), current = getCurrentSegment(this)._point; this.cubicCurveTo( handle.add(current.subtract(handle).multiply(1 / 3)), handle.add(to.subtract(handle).multiply(1 / 3)), to ); }, curveTo: function() { var args = arguments, through = Point.read(args), to = Point.read(args), t = Base.pick(Base.read(args), 0.5), t1 = 1 - t, current = getCurrentSegment(this)._point, handle = through.subtract(current.multiply(t1 * t1)) .subtract(to.multiply(t * t)).divide(2 * t * t1); if (handle.isNaN()) throw new Error( 'Cannot put a curve through points with parameter = ' + t); this.quadraticCurveTo(handle, to); }, arcTo: function() { var args = arguments, abs = Math.abs, sqrt = Math.sqrt, current = getCurrentSegment(this), from = current._point, to = Point.read(args), through, peek = Base.peek(args), clockwise = Base.pick(peek, true), center, extent, vector, matrix; if (typeof clockwise === 'boolean') { var middle = from.add(to).divide(2), through = middle.add(middle.subtract(from).rotate( clockwise ? -90 : 90)); } else if (Base.remain(args) <= 2) { through = to; to = Point.read(args); } else if (!from.equals(to)) { var radius = Size.read(args), isZero = Numerical.isZero; if (isZero(radius.width) || isZero(radius.height)) return this.lineTo(to); var rotation = Base.read(args), clockwise = !!Base.read(args), large = !!Base.read(args), middle = from.add(to).divide(2), pt = from.subtract(middle).rotate(-rotation), x = pt.x, y = pt.y, rx = abs(radius.width), ry = abs(radius.height), rxSq = rx * rx, rySq = ry * ry, xSq = x * x, ySq = y * y; var factor = sqrt(xSq / rxSq + ySq / rySq); if (factor > 1) { rx *= factor; ry *= factor; rxSq = rx * rx; rySq = ry * ry; } factor = (rxSq * rySq - rxSq * ySq - rySq * xSq) / (rxSq * ySq + rySq * xSq); if (abs(factor) < 1e-12) factor = 0; if (factor < 0) throw new Error( 'Cannot create an arc with the given arguments'); center = new Point(rx * y / ry, -ry * x / rx) .multiply((large === clockwise ? -1 : 1) * sqrt(factor)) .rotate(rotation).add(middle); matrix = new Matrix().translate(center).rotate(rotation) .scale(rx, ry); vector = matrix._inverseTransform(from); extent = vector.getDirectedAngle(matrix._inverseTransform(to)); if (!clockwise && extent > 0) extent -= 360; else if (clockwise && extent < 0) extent += 360; } if (through) { var l1 = new Line(from.add(through).divide(2), through.subtract(from).rotate(90), true), l2 = new Line(through.add(to).divide(2), to.subtract(through).rotate(90), true), line = new Line(from, to), throughSide = line.getSide(through); center = l1.intersect(l2, true); if (!center) { if (!throughSide) return this.lineTo(to); throw new Error( 'Cannot create an arc with the given arguments'); } vector = from.subtract(center); extent = vector.getDirectedAngle(to.subtract(center)); var centerSide = line.getSide(center, true); if (centerSide === 0) { extent = throughSide * abs(extent); } else if (throughSide === centerSide) { extent += extent < 0 ? 360 : -360; } } if (extent) { var epsilon = 1e-7, ext = abs(extent), count = ext >= 360 ? 4 : Math.ceil((ext - epsilon) / 90), inc = extent / count, half = inc * Math.PI / 360, z = 4 / 3 * Math.sin(half) / (1 + Math.cos(half)), segments = []; for (var i = 0; i <= count; i++) { var pt = to, out = null; if (i < count) { out = vector.rotate(90).multiply(z); if (matrix) { pt = matrix._transformPoint(vector); out = matrix._transformPoint(vector.add(out)) .subtract(pt); } else { pt = center.add(vector); } } if (!i) { current.setHandleOut(out); } else { var _in = vector.rotate(-90).multiply(z); if (matrix) { _in = matrix._transformPoint(vector.add(_in)) .subtract(pt); } segments.push(new Segment(pt, _in, out)); } vector = vector.rotate(inc); } this._add(segments); } }, lineBy: function() { var to = Point.read(arguments), current = getCurrentSegment(this)._point; this.lineTo(current.add(to)); }, curveBy: function() { var args = arguments, through = Point.read(args), to = Point.read(args), parameter = Base.read(args), current = getCurrentSegment(this)._point; this.curveTo(current.add(through), current.add(to), parameter); }, cubicCurveBy: function() { var args = arguments, handle1 = Point.read(args), handle2 = Point.read(args), to = Point.read(args), current = getCurrentSegment(this)._point; this.cubicCurveTo(current.add(handle1), current.add(handle2), current.add(to)); }, quadraticCurveBy: function() { var args = arguments, handle = Point.read(args), to = Point.read(args), current = getCurrentSegment(this)._point; this.quadraticCurveTo(current.add(handle), current.add(to)); }, arcBy: function() { var args = arguments, current = getCurrentSegment(this)._point, point = current.add(Point.read(args)), clockwise = Base.pick(Base.peek(args), true); if (typeof clockwise === 'boolean') { this.arcTo(point, clockwise); } else { this.arcTo(point, current.add(Point.read(args))); } }, closePath: function(tolerance) { this.setClosed(true); this.join(this, tolerance); } }; }, { _getBounds: function(matrix, options) { var method = options.handle ? 'getHandleBounds' : options.stroke ? 'getStrokeBounds' : 'getBounds'; return Path[method](this._segments, this._closed, this, matrix, options); }, statics: { getBounds: function(segments, closed, path, matrix, options, strokePadding) { var first = segments[0]; if (!first) return new Rectangle(); var coords = new Array(6), prevCoords = first._transformCoordinates(matrix, new Array(6)), min = prevCoords.slice(0, 2), max = min.slice(), roots = new Array(2); function processSegment(segment) { segment._transformCoordinates(matrix, coords); for (var i = 0; i < 2; i++) { Curve._addBounds( prevCoords[i], prevCoords[i + 4], coords[i + 2], coords[i], i, strokePadding ? strokePadding[i] : 0, min, max, roots); } var tmp = prevCoords; prevCoords = coords; coords = tmp; } for (var i = 1, l = segments.length; i < l; i++) processSegment(segments[i]); if (closed) processSegment(first); return new Rectangle(min[0], min[1], max[0] - min[0], max[1] - min[1]); }, getStrokeBounds: function(segments, closed, path, matrix, options) { var style = path.getStyle(), stroke = style.hasStroke(), strokeWidth = style.getStrokeWidth(), strokeMatrix = stroke && path._getStrokeMatrix(matrix, options), strokePadding = stroke && Path._getStrokePadding(strokeWidth, strokeMatrix), bounds = Path.getBounds(segments, closed, path, matrix, options, strokePadding); if (!stroke) return bounds; var strokeRadius = strokeWidth / 2, join = style.getStrokeJoin(), cap = style.getStrokeCap(), miterLimit = style.getMiterLimit(), joinBounds = new Rectangle(new Size(strokePadding)); function addPoint(point) { bounds = bounds.include(point); } function addRound(segment) { bounds = bounds.unite( joinBounds.setCenter(segment._point.transform(matrix))); } function addJoin(segment, join) { if (join === 'round' || segment.isSmooth()) { addRound(segment); } else { Path._addBevelJoin(segment, join, strokeRadius, miterLimit, matrix, strokeMatrix, addPoint); } } function addCap(segment, cap) { if (cap === 'round') { addRound(segment); } else { Path._addSquareCap(segment, cap, strokeRadius, matrix, strokeMatrix, addPoint); } } var length = segments.length - (closed ? 0 : 1); if (length > 0) { for (var i = 1; i < length; i++) { addJoin(segments[i], join); } if (closed) { addJoin(segments[0], join); } else { addCap(segments[0], cap); addCap(segments[segments.length - 1], cap); } } return bounds; }, _getStrokePadding: function(radius, matrix) { if (!matrix) return [radius, radius]; var hor = new Point(radius, 0).transform(matrix), ver = new Point(0, radius).transform(matrix), phi = hor.getAngleInRadians(), a = hor.getLength(), b = ver.getLength(); var sin = Math.sin(phi), cos = Math.cos(phi), tan = Math.tan(phi), tx = Math.atan2(b * tan, a), ty = Math.atan2(b, tan * a); return [Math.abs(a * Math.cos(tx) * cos + b * Math.sin(tx) * sin), Math.abs(b * Math.sin(ty) * cos + a * Math.cos(ty) * sin)]; }, _addBevelJoin: function(segment, join, radius, miterLimit, matrix, strokeMatrix, addPoint, isArea) { var curve2 = segment.getCurve(), curve1 = curve2.getPrevious(), point = curve2.getPoint1().transform(matrix), normal1 = curve1.getNormalAtTime(1).multiply(radius) .transform(strokeMatrix), normal2 = curve2.getNormalAtTime(0).multiply(radius) .transform(strokeMatrix), angle = normal1.getDirectedAngle(normal2); if (angle < 0 || angle >= 180) { normal1 = normal1.negate(); normal2 = normal2.negate(); } if (isArea) addPoint(point); addPoint(point.add(normal1)); if (join === 'miter') { var corner = new Line(point.add(normal1), new Point(-normal1.y, normal1.x), true ).intersect(new Line(point.add(normal2), new Point(-normal2.y, normal2.x), true ), true); if (corner && point.getDistance(corner) <= miterLimit * radius) { addPoint(corner); } } addPoint(point.add(normal2)); }, _addSquareCap: function(segment, cap, radius, matrix, strokeMatrix, addPoint, isArea) { var point = segment._point.transform(matrix), loc = segment.getLocation(), normal = loc.getNormal() .multiply(loc.getTime() === 0 ? radius : -radius) .transform(strokeMatrix); if (cap === 'square') { if (isArea) { addPoint(point.subtract(normal)); addPoint(point.add(normal)); } point = point.add(normal.rotate(-90)); } addPoint(point.add(normal)); addPoint(point.subtract(normal)); }, getHandleBounds: function(segments, closed, path, matrix, options) { var style = path.getStyle(), stroke = options.stroke && style.hasStroke(), strokePadding, joinPadding; if (stroke) { var strokeMatrix = path._getStrokeMatrix(matrix, options), strokeRadius = style.getStrokeWidth() / 2, joinRadius = strokeRadius; if (style.getStrokeJoin() === 'miter') joinRadius = strokeRadius * style.getMiterLimit(); if (style.getStrokeCap() === 'square') joinRadius = Math.max(joinRadius, strokeRadius * Math.SQRT2); strokePadding = Path._getStrokePadding(strokeRadius, strokeMatrix); joinPadding = Path._getStrokePadding(joinRadius, strokeMatrix); } var coords = new Array(6), x1 = Infinity, x2 = -x1, y1 = x1, y2 = x2; for (var i = 0, l = segments.length; i < l; i++) { var segment = segments[i]; segment._transformCoordinates(matrix, coords); for (var j = 0; j < 6; j += 2) { var padding = !j ? joinPadding : strokePadding, paddingX = padding ? padding[0] : 0, paddingY = padding ? padding[1] : 0, x = coords[j], y = coords[j + 1], xn = x - paddingX, xx = x + paddingX, yn = y - paddingY, yx = y + paddingY; if (xn < x1) x1 = xn; if (xx > x2) x2 = xx; if (yn < y1) y1 = yn; if (yx > y2) y2 = yx; } } return new Rectangle(x1, y1, x2 - x1, y2 - y1); } }}); Path.inject({ statics: new function() { var kappa = 0.5522847498307936, ellipseSegments = [ new Segment([-1, 0], [0, kappa ], [0, -kappa]), new Segment([0, -1], [-kappa, 0], [kappa, 0 ]), new Segment([1, 0], [0, -kappa], [0, kappa ]), new Segment([0, 1], [kappa, 0 ], [-kappa, 0]) ]; function createPath(segments, closed, args) { var props = Base.getNamed(args), path = new Path(props && props.insert == false && Item.NO_INSERT); path._add(segments); path._closed = closed; return path.set(props, { insert: true }); } function createEllipse(center, radius, args) { var segments = new Array(4); for (var i = 0; i < 4; i++) { var segment = ellipseSegments[i]; segments[i] = new Segment( segment._point.multiply(radius).add(center), segment._handleIn.multiply(radius), segment._handleOut.multiply(radius) ); } return createPath(segments, true, args); } return { Line: function() { var args = arguments; return createPath([ new Segment(Point.readNamed(args, 'from')), new Segment(Point.readNamed(args, 'to')) ], false, args); }, Circle: function() { var args = arguments, center = Point.readNamed(args, 'center'), radius = Base.readNamed(args, 'radius'); return createEllipse(center, new Size(radius), args); }, Rectangle: function() { var args = arguments, rect = Rectangle.readNamed(args, 'rectangle'), radius = Size.readNamed(args, 'radius', 0, { readNull: true }), bl = rect.getBottomLeft(true), tl = rect.getTopLeft(true), tr = rect.getTopRight(true), br = rect.getBottomRight(true), segments; if (!radius || radius.isZero()) { segments = [ new Segment(bl), new Segment(tl), new Segment(tr), new Segment(br) ]; } else { radius = Size.min(radius, rect.getSize(true).divide(2)); var rx = radius.width, ry = radius.height, hx = rx * kappa, hy = ry * kappa; segments = [ new Segment(bl.add(rx, 0), null, [-hx, 0]), new Segment(bl.subtract(0, ry), [0, hy]), new Segment(tl.add(0, ry), null, [0, -hy]), new Segment(tl.add(rx, 0), [-hx, 0], null), new Segment(tr.subtract(rx, 0), null, [hx, 0]), new Segment(tr.add(0, ry), [0, -hy], null), new Segment(br.subtract(0, ry), null, [0, hy]), new Segment(br.subtract(rx, 0), [hx, 0]) ]; } return createPath(segments, true, args); }, RoundRectangle: '#Rectangle', Ellipse: function() { var args = arguments, ellipse = Shape._readEllipse(args); return createEllipse(ellipse.center, ellipse.radius, args); }, Oval: '#Ellipse', Arc: function() { var args = arguments, from = Point.readNamed(args, 'from'), through = Point.readNamed(args, 'through'), to = Point.readNamed(args, 'to'), props = Base.getNamed(args), path = new Path(props && props.insert == false && Item.NO_INSERT); path.moveTo(from); path.arcTo(through, to); return path.set(props); }, RegularPolygon: function() { var args = arguments, center = Point.readNamed(args, 'center'), sides = Base.readNamed(args, 'sides'), radius = Base.readNamed(args, 'radius'), step = 360 / sides, three = sides % 3 === 0, vector = new Point(0, three ? -radius : radius), offset = three ? -1 : 0.5, segments = new Array(sides); for (var i = 0; i < sides; i++) segments[i] = new Segment(center.add( vector.rotate((i + offset) * step))); return createPath(segments, true, args); }, Star: function() { var args = arguments, center = Point.readNamed(args, 'center'), points = Base.readNamed(args, 'points') * 2, radius1 = Base.readNamed(args, 'radius1'), radius2 = Base.readNamed(args, 'radius2'), step = 360 / points, vector = new Point(0, -1), segments = new Array(points); for (var i = 0; i < points; i++) segments[i] = new Segment(center.add(vector.rotate(step * i) .multiply(i % 2 ? radius2 : radius1))); return createPath(segments, true, args); } }; }}); var CompoundPath = PathItem.extend({ _class: 'CompoundPath', _serializeFields: { children: [] }, beans: true, initialize: function CompoundPath(arg) { this._children = []; this._namedChildren = {}; if (!this._initialize(arg)) { if (typeof arg === 'string') { this.setPathData(arg); } else { this.addChildren(Array.isArray(arg) ? arg : arguments); } } }, insertChildren: function insertChildren(index, items) { var list = items, first = list[0]; if (first && typeof first[0] === 'number') list = [list]; for (var i = items.length - 1; i >= 0; i--) { var item = list[i]; if (list === items && !(item instanceof Path)) list = Base.slice(list); if (Array.isArray(item)) { list[i] = new Path({ segments: item, insert: false }); } else if (item instanceof CompoundPath) { list.splice.apply(list, [i, 1].concat(item.removeChildren())); item.remove(); } } return insertChildren.base.call(this, index, list); }, reduce: function reduce(options) { var children = this._children; for (var i = children.length - 1; i >= 0; i--) { var path = children[i].reduce(options); if (path.isEmpty()) path.remove(); } if (!children.length) { var path = new Path(Item.NO_INSERT); path.copyAttributes(this); path.insertAbove(this); this.remove(); return path; } return reduce.base.call(this); }, isClosed: function() { var children = this._children; for (var i = 0, l = children.length; i < l; i++) { if (!children[i]._closed) return false; } return true; }, setClosed: function(closed) { var children = this._children; for (var i = 0, l = children.length; i < l; i++) { children[i].setClosed(closed); } }, getFirstSegment: function() { var first = this.getFirstChild(); return first && first.getFirstSegment(); }, getLastSegment: function() { var last = this.getLastChild(); return last && last.getLastSegment(); }, getCurves: function() { var children = this._children, curves = []; for (var i = 0, l = children.length; i < l; i++) { Base.push(curves, children[i].getCurves()); } return curves; }, getFirstCurve: function() { var first = this.getFirstChild(); return first && first.getFirstCurve(); }, getLastCurve: function() { var last = this.getLastChild(); return last && last.getLastCurve(); }, getArea: function() { var children = this._children, area = 0; for (var i = 0, l = children.length; i < l; i++) area += children[i].getArea(); return area; }, getLength: function() { var children = this._children, length = 0; for (var i = 0, l = children.length; i < l; i++) length += children[i].getLength(); return length; }, getPathData: function(_matrix, _precision) { var children = this._children, paths = []; for (var i = 0, l = children.length; i < l; i++) { var child = children[i], mx = child._matrix; paths.push(child.getPathData(_matrix && !mx.isIdentity() ? _matrix.appended(mx) : _matrix, _precision)); } return paths.join(''); }, _hitTestChildren: function _hitTestChildren(point, options, viewMatrix) { return _hitTestChildren.base.call(this, point, options.class === Path || options.type === 'path' || options.hitUnfilledPaths ? options : Base.set({}, options, { fill: false }), viewMatrix); }, _draw: function(ctx, param, viewMatrix, strokeMatrix) { var children = this._children; if (!children.length) return; param = param.extend({ dontStart: true, dontFinish: true }); ctx.beginPath(); for (var i = 0, l = children.length; i < l; i++) children[i].draw(ctx, param, strokeMatrix); if (!param.clip) { this._setStyles(ctx, param, viewMatrix, strokeMatrix); var style = this._style; if (style.hasFill()) { ctx.fill(style.getFillRule()); ctx.shadowColor = 'rgba(0,0,0,0)'; } if (style.hasStroke()) ctx.stroke(); } }, _drawSelected: function(ctx, matrix, selectionItems) { var children = this._children; for (var i = 0, l = children.length; i < l; i++) { var child = children[i], mx = child._matrix; if (!selectionItems[child._id]) { child._drawSelected(ctx, mx.isIdentity() ? matrix : matrix.appended(mx)); } } } }, new function() { function getCurrentPath(that, check) { var children = that._children; if (check && !children.length) throw new Error('Use a moveTo() command first'); return children[children.length - 1]; } return Base.each(['lineTo', 'cubicCurveTo', 'quadraticCurveTo', 'curveTo', 'arcTo', 'lineBy', 'cubicCurveBy', 'quadraticCurveBy', 'curveBy', 'arcBy'], function(key) { this[key] = function() { var path = getCurrentPath(this, true); path[key].apply(path, arguments); }; }, { moveTo: function() { var current = getCurrentPath(this), path = current && current.isEmpty() ? current : new Path(Item.NO_INSERT); if (path !== current) this.addChild(path); path.moveTo.apply(path, arguments); }, moveBy: function() { var current = getCurrentPath(this, true), last = current && current.getLastSegment(), point = Point.read(arguments); this.moveTo(last ? point.add(last._point) : point); }, closePath: function(tolerance) { getCurrentPath(this, true).closePath(tolerance); } } ); }, Base.each(['reverse', 'flatten', 'simplify', 'smooth'], function(key) { this[key] = function(param) { var children = this._children, res; for (var i = 0, l = children.length; i < l; i++) { res = children[i][key](param) || res; } return res; }; }, {})); PathItem.inject(new function() { var min = Math.min, max = Math.max, abs = Math.abs, operators = { unite: { '1': true, '2': true }, intersect: { '2': true }, subtract: { '1': true }, exclude: { '1': true, '-1': true } }; function getPaths(path) { return path._children || [path]; } function preparePath(path, resolve) { var res = path .clone(false) .reduce({ simplify: true }) .transform(null, true, true); if (resolve) { var paths = getPaths(res); for (var i = 0, l = paths.length; i < l; i++) { var path = paths[i]; if (!path._closed && !path.isEmpty()) { path.closePath(1e-12); path.getFirstSegment().setHandleIn(0, 0); path.getLastSegment().setHandleOut(0, 0); } } res = res .resolveCrossings() .reorient(res.getFillRule() === 'nonzero', true); } return res; } function createResult(paths, simplify, path1, path2, options) { var result = new CompoundPath(Item.NO_INSERT); result.addChildren(paths, true); result = result.reduce({ simplify: simplify }); if (!(options && options.insert == false)) { result.insertAbove(path2 && path1.isSibling(path2) && path1.getIndex() < path2.getIndex() ? path2 : path1); } result.copyAttributes(path1, true); return result; } function filterIntersection(inter) { return inter.hasOverlap() || inter.isCrossing(); } function traceBoolean(path1, path2, operation, options) { if (options && (options.trace == false || options.stroke) && /^(subtract|intersect)$/.test(operation)) return splitBoolean(path1, path2, operation); var _path1 = preparePath(path1, true), _path2 = path2 && path1 !== path2 && preparePath(path2, true), operator = operators[operation]; operator[operation] = true; if (_path2 && (operator.subtract || operator.exclude) ^ (_path2.isClockwise() ^ _path1.isClockwise())) _path2.reverse(); var crossings = divideLocations(CurveLocation.expand( _path1.getIntersections(_path2, filterIntersection))), paths1 = getPaths(_path1), paths2 = _path2 && getPaths(_path2), segments = [], curves = [], paths; function collectPaths(paths) { for (var i = 0, l = paths.length; i < l; i++) { var path = paths[i]; Base.push(segments, path._segments); Base.push(curves, path.getCurves()); path._overlapsOnly = true; } } function getCurves(indices) { var list = []; for (var i = 0, l = indices && indices.length; i < l; i++) { list.push(curves[indices[i]]); } return list; } if (crossings.length) { collectPaths(paths1); if (paths2) collectPaths(paths2); var curvesValues = new Array(curves.length); for (var i = 0, l = curves.length; i < l; i++) { curvesValues[i] = curves[i].getValues(); } var curveCollisions = CollisionDetection.findCurveBoundsCollisions( curvesValues, curvesValues, 0, true); var curveCollisionsMap = {}; for (var i = 0; i < curves.length; i++) { var curve = curves[i], id = curve._path._id, map = curveCollisionsMap[id] = curveCollisionsMap[id] || {}; map[curve.getIndex()] = { hor: getCurves(curveCollisions[i].hor), ver: getCurves(curveCollisions[i].ver) }; } for (var i = 0, l = crossings.length; i < l; i++) { propagateWinding(crossings[i]._segment, _path1, _path2, curveCollisionsMap, operator); } for (var i = 0, l = segments.length; i < l; i++) { var segment = segments[i], inter = segment._intersection; if (!segment._winding) { propagateWinding(segment, _path1, _path2, curveCollisionsMap, operator); } if (!(inter && inter._overlap)) segment._path._overlapsOnly = false; } paths = tracePaths(segments, operator); } else { paths = reorientPaths( paths2 ? paths1.concat(paths2) : paths1.slice(), function(w) { return !!operator[w]; }); } return createResult(paths, true, path1, path2, options); } function splitBoolean(path1, path2, operation) { var _path1 = preparePath(path1), _path2 = preparePath(path2), crossings = _path1.getIntersections(_path2, filterIntersection), subtract = operation === 'subtract', divide = operation === 'divide', added = {}, paths = []; function addPath(path) { if (!added[path._id] && (divide || _path2.contains(path.getPointAt(path.getLength() / 2)) ^ subtract)) { paths.unshift(path); return added[path._id] = true; } } for (var i = crossings.length - 1; i >= 0; i--) { var path = crossings[i].split(); if (path) { if (addPath(path)) path.getFirstSegment().setHandleIn(0, 0); _path1.getLastSegment().setHandleOut(0, 0); } } addPath(_path1); return createResult(paths, false, path1, path2); } function linkIntersections(from, to) { var prev = from; while (prev) { if (prev === to) return; prev = prev._previous; } while (from._next && from._next !== to) from = from._next; if (!from._next) { while (to._previous) to = to._previous; from._next = to; to._previous = from; } } function clearCurveHandles(curves) { for (var i = curves.length - 1; i >= 0; i--) curves[i].clearHandles(); } function reorientPaths(paths, isInside, clockwise) { var length = paths && paths.length; if (length) { var lookup = Base.each(paths, function (path, i) { this[path._id] = { container: null, winding: path.isClockwise() ? 1 : -1, index: i }; }, {}), sorted = paths.slice().sort(function (a, b) { return abs(b.getArea()) - abs(a.getArea()); }), first = sorted[0]; var collisions = CollisionDetection.findItemBoundsCollisions(sorted, null, Numerical.GEOMETRIC_EPSILON); if (clockwise == null) clockwise = first.isClockwise(); for (var i = 0; i < length; i++) { var path1 = sorted[i], entry1 = lookup[path1._id], containerWinding = 0, indices = collisions[i]; if (indices) { var point = null; for (var j = indices.length - 1; j >= 0; j--) { if (indices[j] < i) { point = point || path1.getInteriorPoint(); var path2 = sorted[indices[j]]; if (path2.contains(point)) { var entry2 = lookup[path2._id]; containerWinding = entry2.winding; entry1.winding += containerWinding; entry1.container = entry2.exclude ? entry2.container : path2; break; } } } } if (isInside(entry1.winding) === isInside(containerWinding)) { entry1.exclude = true; paths[entry1.index] = null; } else { var container = entry1.container; path1.setClockwise( container ? !container.isClockwise() : clockwise); } } } return paths; } function divideLocations(locations, include, clearLater) { var results = include && [], tMin = 1e-8, tMax = 1 - tMin, clearHandles = false, clearCurves = clearLater || [], clearLookup = clearLater && {}, renormalizeLocs, prevCurve, prevTime; function getId(curve) { return curve._path._id + '.' + curve._segment1._index; } for (var i = (clearLater && clearLater.length) - 1; i >= 0; i--) { var curve = clearLater[i]; if (curve._path) clearLookup[getId(curve)] = true; } for (var i = locations.length - 1; i >= 0; i--) { var loc = locations[i], time = loc._time, origTime = time, exclude = include && !include(loc), curve = loc._curve, segment; if (curve) { if (curve !== prevCurve) { clearHandles = !curve.hasHandles() || clearLookup && clearLookup[getId(curve)]; renormalizeLocs = []; prevTime = null; prevCurve = curve; } else if (prevTime >= tMin) { time /= prevTime; } } if (exclude) { if (renormalizeLocs) renormalizeLocs.push(loc); continue; } else if (include) { results.unshift(loc); } prevTime = origTime; if (time < tMin) { segment = curve._segment1; } else if (time > tMax) { segment = curve._segment2; } else { var newCurve = curve.divideAtTime(time, true); if (clearHandles) clearCurves.push(curve, newCurve); segment = newCurve._segment1; for (var j = renormalizeLocs.length - 1; j >= 0; j--) { var l = renormalizeLocs[j]; l._time = (l._time - time) / (1 - time); } } loc._setSegment(segment); var inter = segment._intersection, dest = loc._intersection; if (inter) { linkIntersections(inter, dest); var other = inter; while (other) { linkIntersections(other._intersection, inter); other = other._next; } } else { segment._intersection = dest; } } if (!clearLater) clearCurveHandles(clearCurves); return results || locations; } function getWinding(point, curves, dir, closed, dontFlip) { var curvesList = Array.isArray(curves) ? curves : curves[dir ? 'hor' : 'ver']; var ia = dir ? 1 : 0, io = ia ^ 1, pv = [point.x, point.y], pa = pv[ia], po = pv[io], windingEpsilon = 1e-9, qualityEpsilon = 1e-6, paL = pa - windingEpsilon, paR = pa + windingEpsilon, windingL = 0, windingR = 0, pathWindingL = 0, pathWindingR = 0, onPath = false, onAnyPath = false, quality = 1, roots = [], vPrev, vClose; function addWinding(v) { var o0 = v[io + 0], o3 = v[io + 6]; if (po < min(o0, o3) || po > max(o0, o3)) { return; } var a0 = v[ia + 0], a1 = v[ia + 2], a2 = v[ia + 4], a3 = v[ia + 6]; if (o0 === o3) { if (a0 < paR && a3 > paL || a3 < paR && a0 > paL) { onPath = true; } return; } var t = po === o0 ? 0 : po === o3 ? 1 : paL > max(a0, a1, a2, a3) || paR < min(a0, a1, a2, a3) ? 1 : Curve.solveCubic(v, io, po, roots, 0, 1) > 0 ? roots[0] : 1, a = t === 0 ? a0 : t === 1 ? a3 : Curve.getPoint(v, t)[dir ? 'y' : 'x'], winding = o0 > o3 ? 1 : -1, windingPrev = vPrev[io] > vPrev[io + 6] ? 1 : -1, a3Prev = vPrev[ia + 6]; if (po !== o0) { if (a < paL) { pathWindingL += winding; } else if (a > paR) { pathWindingR += winding; } else { onPath = true; } if (a > pa - qualityEpsilon && a < pa + qualityEpsilon) quality /= 2; } else { if (winding !== windingPrev) { if (a0 < paL) { pathWindingL += winding; } else if (a0 > paR) { pathWindingR += winding; } } else if (a0 != a3Prev) { if (a3Prev < paR && a > paR) { pathWindingR += winding; onPath = true; } else if (a3Prev > paL && a < paL) { pathWindingL += winding; onPath = true; } } quality /= 4; } vPrev = v; return !dontFlip && a > paL && a < paR && Curve.getTangent(v, t)[dir ? 'x' : 'y'] === 0 && getWinding(point, curves, !dir, closed, true); } function handleCurve(v) { var o0 = v[io + 0], o1 = v[io + 2], o2 = v[io + 4], o3 = v[io + 6]; if (po <= max(o0, o1, o2, o3) && po >= min(o0, o1, o2, o3)) { var a0 = v[ia + 0], a1 = v[ia + 2], a2 = v[ia + 4], a3 = v[ia + 6], monoCurves = paL > max(a0, a1, a2, a3) || paR < min(a0, a1, a2, a3) ? [v] : Curve.getMonoCurves(v, dir), res; for (var i = 0, l = monoCurves.length; i < l; i++) { if (res = addWinding(monoCurves[i])) return res; } } } for (var i = 0, l = curvesList.length; i < l; i++) { var curve = curvesList[i], path = curve._path, v = curve.getValues(), res; if (!i || curvesList[i - 1]._path !== path) { vPrev = null; if (!path._closed) { vClose = Curve.getValues( path.getLastCurve().getSegment2(), curve.getSegment1(), null, !closed); if (vClose[io] !== vClose[io + 6]) { vPrev = vClose; } } if (!vPrev) { vPrev = v; var prev = path.getLastCurve(); while (prev && prev !== curve) { var v2 = prev.getValues(); if (v2[io] !== v2[io + 6]) { vPrev = v2; break; } prev = prev.getPrevious(); } } } if (res = handleCurve(v)) return res; if (i + 1 === l || curvesList[i + 1]._path !== path) { if (vClose && (res = handleCurve(vClose))) return res; if (onPath && !pathWindingL && !pathWindingR) { pathWindingL = pathWindingR = path.isClockwise(closed) ^ dir ? 1 : -1; } windingL += pathWindingL; windingR += pathWindingR; pathWindingL = pathWindingR = 0; if (onPath) { onAnyPath = true; onPath = false; } vClose = null; } } windingL = abs(windingL); windingR = abs(windingR); return { winding: max(windingL, windingR), windingL: windingL, windingR: windingR, quality: quality, onPath: onAnyPath }; } function propagateWinding(segment, path1, path2, curveCollisionsMap, operator) { var chain = [], start = segment, totalLength = 0, winding; do { var curve = segment.getCurve(); if (curve) { var length = curve.getLength(); chain.push({ segment: segment, curve: curve, length: length }); totalLength += length; } segment = segment.getNext(); } while (segment && !segment._intersection && segment !== start); var offsets = [0.5, 0.25, 0.75], winding = { winding: 0, quality: -1 }, tMin = 1e-3, tMax = 1 - tMin; for (var i = 0; i < offsets.length && winding.quality < 0.5; i++) { var length = totalLength * offsets[i]; for (var j = 0, l = chain.length; j < l; j++) { var entry = chain[j], curveLength = entry.length; if (length <= curveLength) { var curve = entry.curve, path = curve._path, parent = path._parent, operand = parent instanceof CompoundPath ? parent : path, t = Numerical.clamp(curve.getTimeAt(length), tMin, tMax), pt = curve.getPointAtTime(t), dir = abs(curve.getTangentAtTime(t).y) < Math.SQRT1_2; var wind = null; if (operator.subtract && path2) { var otherPath = operand === path1 ? path2 : path1, pathWinding = otherPath._getWinding(pt, dir, true); if (operand === path1 && pathWinding.winding || operand === path2 && !pathWinding.winding) { if (pathWinding.quality < 1) { continue; } else { wind = { winding: 0, quality: 1 }; } } } wind = wind || getWinding( pt, curveCollisionsMap[path._id][curve.getIndex()], dir, true); if (wind.quality > winding.quality) winding = wind; break; } length -= curveLength; } } for (var j = chain.length - 1; j >= 0; j--) { chain[j].segment._winding = winding; } } function tracePaths(segments, operator) { var paths = [], starts; function isValid(seg) { var winding; return !!(seg && !seg._visited && (!operator || operator[(winding = seg._winding || {}).winding] && !(operator.unite && winding.winding === 2 && winding.windingL && winding.windingR))); } function isStart(seg) { if (seg) { for (var i = 0, l = starts.length; i < l; i++) { if (seg === starts[i]) return true; } } return false; } function visitPath(path) { var segments = path._segments; for (var i = 0, l = segments.length; i < l; i++) { segments[i]._visited = true; } } function getCrossingSegments(segment, collectStarts) { var inter = segment._intersection, start = inter, crossings = []; if (collectStarts) starts = [segment]; function collect(inter, end) { while (inter && inter !== end) { var other = inter._segment, path = other && other._path; if (path) { var next = other.getNext() || path.getFirstSegment(), nextInter = next._intersection; if (other !== segment && (isStart(other) || isStart(next) || next && (isValid(other) && (isValid(next) || nextInter && isValid(nextInter._segment)))) ) { crossings.push(other); } if (collectStarts) starts.push(other); } inter = inter._next; } } if (inter) { collect(inter); while (inter && inter._previous) inter = inter._previous; collect(inter, start); } return crossings; } segments.sort(function(seg1, seg2) { var inter1 = seg1._intersection, inter2 = seg2._intersection, over1 = !!(inter1 && inter1._overlap), over2 = !!(inter2 && inter2._overlap), path1 = seg1._path, path2 = seg2._path; return over1 ^ over2 ? over1 ? 1 : -1 : !inter1 ^ !inter2 ? inter1 ? 1 : -1 : path1 !== path2 ? path1._id - path2._id : seg1._index - seg2._index; }); for (var i = 0, l = segments.length; i < l; i++) { var seg = segments[i], valid = isValid(seg), path = null, finished = false, closed = true, branches = [], branch, visited, handleIn; if (valid && seg._path._overlapsOnly) { var path1 = seg._path, path2 = seg._intersection._segment._path; if (path1.compare(path2)) { if (path1.getArea()) paths.push(path1.clone(false)); visitPath(path1); visitPath(path2); valid = false; } } while (valid) { var first = !path, crossings = getCrossingSegments(seg, first), other = crossings.shift(), finished = !first && (isStart(seg) || isStart(other)), cross = !finished && other; if (first) { path = new Path(Item.NO_INSERT); branch = null; } if (finished) { if (seg.isFirst() || seg.isLast()) closed = seg._path._closed; seg._visited = true; break; } if (cross && branch) { branches.push(branch); branch = null; } if (!branch) { if (cross) crossings.push(seg); branch = { start: path._segments.length, crossings: crossings, visited: visited = [], handleIn: handleIn }; } if (cross) seg = other; if (!isValid(seg)) { path.removeSegments(branch.start); for (var j = 0, k = visited.length; j < k; j++) { visited[j]._visited = false; } visited.length = 0; do { seg = branch && branch.crossings.shift(); if (!seg || !seg._path) { seg = null; branch = branches.pop(); if (branch) { visited = branch.visited; handleIn = branch.handleIn; } } } while (branch && !isValid(seg)); if (!seg) break; } var next = seg.getNext(); path.add(new Segment(seg._point, handleIn, next && seg._handleOut)); seg._visited = true; visited.push(seg); seg = next || seg._path.getFirstSegment(); handleIn = next && next._handleIn; } if (finished) { if (closed) { path.getFirstSegment().setHandleIn(handleIn); path.setClosed(closed); } if (path.getArea() !== 0) { paths.push(path); } } } return paths; } return { _getWinding: function(point, dir, closed) { return getWinding(point, this.getCurves(), dir, closed); }, unite: function(path, options) { return traceBoolean(this, path, 'unite', options); }, intersect: function(path, options) { return traceBoolean(this, path, 'intersect', options); }, subtract: function(path, options) { return traceBoolean(this, path, 'subtract', options); }, exclude: function(path, options) { return traceBoolean(this, path, 'exclude', options); }, divide: function(path, options) { return options && (options.trace == false || options.stroke) ? splitBoolean(this, path, 'divide') : createResult([ this.subtract(path, options), this.intersect(path, options) ], true, this, path, options); }, resolveCrossings: function() { var children = this._children, paths = children || [this]; function hasOverlap(seg, path) { var inter = seg && seg._intersection; return inter && inter._overlap && inter._path === path; } var hasOverlaps = false, hasCrossings = false, intersections = this.getIntersections(null, function(inter) { return inter.hasOverlap() && (hasOverlaps = true) || inter.isCrossing() && (hasCrossings = true); }), clearCurves = hasOverlaps && hasCrossings && []; intersections = CurveLocation.expand(intersections); if (hasOverlaps) { var overlaps = divideLocations(intersections, function(inter) { return inter.hasOverlap(); }, clearCurves); for (var i = overlaps.length - 1; i >= 0; i--) { var overlap = overlaps[i], path = overlap._path, seg = overlap._segment, prev = seg.getPrevious(), next = seg.getNext(); if (hasOverlap(prev, path) && hasOverlap(next, path)) { seg.remove(); prev._handleOut._set(0, 0); next._handleIn._set(0, 0); if (prev !== seg && !prev.getCurve().hasLength()) { next._handleIn.set(prev._handleIn); prev.remove(); } } } } if (hasCrossings) { divideLocations(intersections, hasOverlaps && function(inter) { var curve1 = inter.getCurve(), seg1 = inter.getSegment(), other = inter._intersection, curve2 = other._curve, seg2 = other._segment; if (curve1 && curve2 && curve1._path && curve2._path) return true; if (seg1) seg1._intersection = null; if (seg2) seg2._intersection = null; }, clearCurves); if (clearCurves) clearCurveHandles(clearCurves); paths = tracePaths(Base.each(paths, function(path) { Base.push(this, path._segments); }, [])); } var length = paths.length, item; if (length > 1 && children) { if (paths !== children) this.setChildren(paths); item = this; } else if (length === 1 && !children) { if (paths[0] !== this) this.setSegments(paths[0].removeSegments()); item = this; } if (!item) { item = new CompoundPath(Item.NO_INSERT); item.addChildren(paths); item = item.reduce(); item.copyAttributes(this); this.replaceWith(item); } return item; }, reorient: function(nonZero, clockwise) { var children = this._children; if (children && children.length) { this.setChildren(reorientPaths(this.removeChildren(), function(w) { return !!(nonZero ? w : w & 1); }, clockwise)); } else if (clockwise !== undefined) { this.setClockwise(clockwise); } return this; }, getInteriorPoint: function() { var bounds = this.getBounds(), point = bounds.getCenter(true); if (!this.contains(point)) { var curves = this.getCurves(), y = point.y, intercepts = [], roots = []; for (var i = 0, l = curves.length; i < l; i++) { var v = curves[i].getValues(), o0 = v[1], o1 = v[3], o2 = v[5], o3 = v[7]; if (y >= min(o0, o1, o2, o3) && y <= max(o0, o1, o2, o3)) { var monoCurves = Curve.getMonoCurves(v); for (var j = 0, m = monoCurves.length; j < m; j++) { var mv = monoCurves[j], mo0 = mv[1], mo3 = mv[7]; if ((mo0 !== mo3) && (y >= mo0 && y <= mo3 || y >= mo3 && y <= mo0)){ var x = y === mo0 ? mv[0] : y === mo3 ? mv[6] : Curve.solveCubic(mv, 1, y, roots, 0, 1) === 1 ? Curve.getPoint(mv, roots[0]).x : (mv[0] + mv[6]) / 2; intercepts.push(x); } } } } if (intercepts.length > 1) { intercepts.sort(function(a, b) { return a - b; }); point.x = (intercepts[0] + intercepts[1]) / 2; } } return point; } }; }); var PathFlattener = Base.extend({ _class: 'PathFlattener', initialize: function(path, flatness, maxRecursion, ignoreStraight, matrix) { var curves = [], parts = [], length = 0, minSpan = 1 / (maxRecursion || 32), segments = path._segments, segment1 = segments[0], segment2; function addCurve(segment1, segment2) { var curve = Curve.getValues(segment1, segment2, matrix); curves.push(curve); computeParts(curve, segment1._index, 0, 1); } function computeParts(curve, index, t1, t2) { if ((t2 - t1) > minSpan && !(ignoreStraight && Curve.isStraight(curve)) && !Curve.isFlatEnough(curve, flatness || 0.25)) { var halves = Curve.subdivide(curve, 0.5), tMid = (t1 + t2) / 2; computeParts(halves[0], index, t1, tMid); computeParts(halves[1], index, tMid, t2); } else { var dx = curve[6] - curve[0], dy = curve[7] - curve[1], dist = Math.sqrt(dx * dx + dy * dy); if (dist > 0) { length += dist; parts.push({ offset: length, curve: curve, index: index, time: t2, }); } } } for (var i = 1, l = segments.length; i < l; i++) { segment2 = segments[i]; addCurve(segment1, segment2); segment1 = segment2; } if (path._closed) addCurve(segment2 || segment1, segments[0]); this.curves = curves; this.parts = parts; this.length = length; this.index = 0; }, _get: function(offset) { var parts = this.parts, length = parts.length, start, i, j = this.index; for (;;) { i = j; if (!j || parts[--j].offset < offset) break; } for (; i < length; i++) { var part = parts[i]; if (part.offset >= offset) { this.index = i; var prev = parts[i - 1], prevTime = prev && prev.index === part.index ? prev.time : 0, prevOffset = prev ? prev.offset : 0; return { index: part.index, time: prevTime + (part.time - prevTime) * (offset - prevOffset) / (part.offset - prevOffset) }; } } return { index: parts[length - 1].index, time: 1 }; }, drawPart: function(ctx, from, to) { var start = this._get(from), end = this._get(to); for (var i = start.index, l = end.index; i <= l; i++) { var curve = Curve.getPart(this.curves[i], i === start.index ? start.time : 0, i === end.index ? end.time : 1); if (i === start.index) ctx.moveTo(curve[0], curve[1]); ctx.bezierCurveTo.apply(ctx, curve.slice(2)); } } }, Base.each(Curve._evaluateMethods, function(name) { this[name + 'At'] = function(offset) { var param = this._get(offset); return Curve[name](this.curves[param.index], param.time); }; }, {}) ); var PathFitter = Base.extend({ initialize: function(path) { var points = this.points = [], segments = path._segments, closed = path._closed; for (var i = 0, prev, l = segments.length; i < l; i++) { var point = segments[i].point; if (!prev || !prev.equals(point)) { points.push(prev = point.clone()); } } if (closed) { points.unshift(points[points.length - 1]); points.push(points[1]); } this.closed = closed; }, fit: function(error) { var points = this.points, length = points.length, segments = null; if (length > 0) { segments = [new Segment(points[0])]; if (length > 1) { this.fitCubic(segments, error, 0, length - 1, points[1].subtract(points[0]), points[length - 2].subtract(points[length - 1])); if (this.closed) { segments.shift(); segments.pop(); } } } return segments; }, fitCubic: function(segments, error, first, last, tan1, tan2) { var points = this.points; if (last - first === 1) { var pt1 = points[first], pt2 = points[last], dist = pt1.getDistance(pt2) / 3; this.addCurve(segments, [pt1, pt1.add(tan1.normalize(dist)), pt2.add(tan2.normalize(dist)), pt2]); return; } var uPrime = this.chordLengthParameterize(first, last), maxError = Math.max(error, error * error), split, parametersInOrder = true; for (var i = 0; i <= 4; i++) { var curve = this.generateBezier(first, last, uPrime, tan1, tan2); var max = this.findMaxError(first, last, curve, uPrime); if (max.error < error && parametersInOrder) { this.addCurve(segments, curve); return; } split = max.index; if (max.error >= maxError) break; parametersInOrder = this.reparameterize(first, last, uPrime, curve); maxError = max.error; } var tanCenter = points[split - 1].subtract(points[split + 1]); this.fitCubic(segments, error, first, split, tan1, tanCenter); this.fitCubic(segments, error, split, last, tanCenter.negate(), tan2); }, addCurve: function(segments, curve) { var prev = segments[segments.length - 1]; prev.setHandleOut(curve[1].subtract(curve[0])); segments.push(new Segment(curve[3], curve[2].subtract(curve[3]))); }, generateBezier: function(first, last, uPrime, tan1, tan2) { var epsilon = 1e-12, abs = Math.abs, points = this.points, pt1 = points[first], pt2 = points[last], C = [[0, 0], [0, 0]], X = [0, 0]; for (var i = 0, l = last - first + 1; i < l; i++) { var u = uPrime[i], t = 1 - u, b = 3 * u * t, b0 = t * t * t, b1 = b * t, b2 = b * u, b3 = u * u * u, a1 = tan1.normalize(b1), a2 = tan2.normalize(b2), tmp = points[first + i] .subtract(pt1.multiply(b0 + b1)) .subtract(pt2.multiply(b2 + b3)); C[0][0] += a1.dot(a1); C[0][1] += a1.dot(a2); C[1][0] = C[0][1]; C[1][1] += a2.dot(a2); X[0] += a1.dot(tmp); X[1] += a2.dot(tmp); } var detC0C1 = C[0][0] * C[1][1] - C[1][0] * C[0][1], alpha1, alpha2; if (abs(detC0C1) > epsilon) { var detC0X = C[0][0] * X[1] - C[1][0] * X[0], detXC1 = X[0] * C[1][1] - X[1] * C[0][1]; alpha1 = detXC1 / detC0C1; alpha2 = detC0X / detC0C1; } else { var c0 = C[0][0] + C[0][1], c1 = C[1][0] + C[1][1]; alpha1 = alpha2 = abs(c0) > epsilon ? X[0] / c0 : abs(c1) > epsilon ? X[1] / c1 : 0; } var segLength = pt2.getDistance(pt1), eps = epsilon * segLength, handle1, handle2; if (alpha1 < eps || alpha2 < eps) { alpha1 = alpha2 = segLength / 3; } else { var line = pt2.subtract(pt1); handle1 = tan1.normalize(alpha1); handle2 = tan2.normalize(alpha2); if (handle1.dot(line) - handle2.dot(line) > segLength * segLength) { alpha1 = alpha2 = segLength / 3; handle1 = handle2 = null; } } return [pt1, pt1.add(handle1 || tan1.normalize(alpha1)), pt2.add(handle2 || tan2.normalize(alpha2)), pt2]; }, reparameterize: function(first, last, u, curve) { for (var i = first; i <= last; i++) { u[i - first] = this.findRoot(curve, this.points[i], u[i - first]); } for (var i = 1, l = u.length; i < l; i++) { if (u[i] <= u[i - 1]) return false; } return true; }, findRoot: function(curve, point, u) { var curve1 = [], curve2 = []; for (var i = 0; i <= 2; i++) { curve1[i] = curve[i + 1].subtract(curve[i]).multiply(3); } for (var i = 0; i <= 1; i++) { curve2[i] = curve1[i + 1].subtract(curve1[i]).multiply(2); } var pt = this.evaluate(3, curve, u), pt1 = this.evaluate(2, curve1, u), pt2 = this.evaluate(1, curve2, u), diff = pt.subtract(point), df = pt1.dot(pt1) + diff.dot(pt2); return Numerical.isMachineZero(df) ? u : u - diff.dot(pt1) / df; }, evaluate: function(degree, curve, t) { var tmp = curve.slice(); for (var i = 1; i <= degree; i++) { for (var j = 0; j <= degree - i; j++) { tmp[j] = tmp[j].multiply(1 - t).add(tmp[j + 1].multiply(t)); } } return tmp[0]; }, chordLengthParameterize: function(first, last) { var u = [0]; for (var i = first + 1; i <= last; i++) { u[i - first] = u[i - first - 1] + this.points[i].getDistance(this.points[i - 1]); } for (var i = 1, m = last - first; i <= m; i++) { u[i] /= u[m]; } return u; }, findMaxError: function(first, last, curve, u) { var index = Math.floor((last - first + 1) / 2), maxDist = 0; for (var i = first + 1; i < last; i++) { var P = this.evaluate(3, curve, u[i - first]); var v = P.subtract(this.points[i]); var dist = v.x * v.x + v.y * v.y; if (dist >= maxDist) { maxDist = dist; index = i; } } return { error: maxDist, index: index }; } }); var TextItem = Item.extend({ _class: 'TextItem', _applyMatrix: false, _canApplyMatrix: false, _serializeFields: { content: null }, _boundsOptions: { stroke: false, handle: false }, initialize: function TextItem(arg) { this._content = ''; this._lines = []; var hasProps = arg && Base.isPlainObject(arg) && arg.x === undefined && arg.y === undefined; this._initialize(hasProps && arg, !hasProps && Point.read(arguments)); }, _equals: function(item) { return this._content === item._content; }, copyContent: function(source) { this.setContent(source._content); }, getContent: function() { return this._content; }, setContent: function(content) { this._content = '' + content; this._lines = this._content.split(/\r\n|\n|\r/mg); this._changed(521); }, isEmpty: function() { return !this._content; }, getCharacterStyle: '#getStyle', setCharacterStyle: '#setStyle', getParagraphStyle: '#getStyle', setParagraphStyle: '#setStyle' }); var PointText = TextItem.extend({ _class: 'PointText', initialize: function PointText() { TextItem.apply(this, arguments); }, getPoint: function() { var point = this._matrix.getTranslation(); return new LinkedPoint(point.x, point.y, this, 'setPoint'); }, setPoint: function() { var point = Point.read(arguments); this.translate(point.subtract(this._matrix.getTranslation())); }, _draw: function(ctx, param, viewMatrix) { if (!this._content) return; this._setStyles(ctx, param, viewMatrix); var lines = this._lines, style = this._style, hasFill = style.hasFill(), hasStroke = style.hasStroke(), leading = style.getLeading(), shadowColor = ctx.shadowColor; ctx.font = style.getFontStyle(); ctx.textAlign = style.getJustification(); for (var i = 0, l = lines.length; i < l; i++) { ctx.shadowColor = shadowColor; var line = lines[i]; if (hasFill) { ctx.fillText(line, 0, 0); ctx.shadowColor = 'rgba(0,0,0,0)'; } if (hasStroke) ctx.strokeText(line, 0, 0); ctx.translate(0, leading); } }, _getBounds: function(matrix, options) { var rect = options.drawnTextBounds ? this._getDrawnTextSize() : this._getMeasuredTextSize(); return matrix ? matrix._transformBounds(rect, rect) : rect; }, _getMeasuredTextSize: function() { var style = this._style, lines = this._lines, numLines = lines.length, justification = style.getJustification(), leading = style.getLeading(), width = this.getView().getTextWidth(style.getFontStyle(), lines), x = 0; if (justification !== 'left') x -= width / (justification === 'center' ? 2: 1); return new Rectangle(x, numLines ? - 0.75 * leading : 0, width, numLines * leading); }, _getDrawnTextSize: function() { var style = this._style; var lines = this._lines; var numLines = lines.length; var leading = style.getLeading(); var justification = style.getJustification(); var svg = SvgElement.create('svg', { version: '1.1', xmlns: SvgElement.svg }); var node = SvgElement.create('text'); node.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'); svg.appendChild(node); for (var i = 0; i < numLines; i++) { var tspanNode = SvgElement.create('tspan', { x: '0', dy: i === 0 ? '0' : leading + 'px' }); tspanNode.textContent = this._lines[i]; node.appendChild(tspanNode); } var element = document.createElement('span'); element.style.visibility = ('hidden'); element.style.whiteSpace = 'pre'; element.style.fontSize = this.fontSize + 'px'; element.style.fontFamily = this.font; element.style.lineHeight = this.leading / this.fontSize; var bbox; try { element.appendChild(svg); document.body.appendChild(element); bbox = svg.getBBox(); } finally { document.body.removeChild(element); } var halfStrokeWidth = this.strokeWidth / 2; var width = bbox.width + (halfStrokeWidth * 2); var height = bbox.height + (halfStrokeWidth * 2); var x = bbox.x - halfStrokeWidth; var y = bbox.y - halfStrokeWidth; if (justification !== 'left') { var eltWidth = this.getView().getTextWidth(style.getFontStyle(), lines); x -= eltWidth / (justification === 'center' ? 2: 1); } return new Rectangle(x, y, width + 1, Math.max(height, numLines * leading)); }, _hitTestSelf: function(point, options) { if (options.fill && (this.hasFill() || options.hitUnfilledPaths) && this._contains(point)) return new HitResult('fill', this); } }); var Color = Base.extend(new function() { var types = { gray: ['gray'], rgb: ['red', 'green', 'blue'], hsb: ['hue', 'saturation', 'brightness'], hsl: ['hue', 'saturation', 'lightness'], gradient: ['gradient', 'origin', 'destination', 'highlight'] }; var componentParsers = {}, namedColors = { transparent: [0, 0, 0, 0] }, colorCtx; function fromCSS(string) { var match = string.match( /^#([\da-f]{2})([\da-f]{2})([\da-f]{2})([\da-f]{2})?$/i ) || string.match( /^#([\da-f])([\da-f])([\da-f])([\da-f])?$/i ), type = 'rgb', components; if (match) { var amount = match[4] ? 4 : 3; components = new Array(amount); for (var i = 0; i < amount; i++) { var value = match[i + 1]; components[i] = parseInt(value.length == 1 ? value + value : value, 16) / 255; } } else if (match = string.match(/^(rgb|hsl)a?\((.*)\)$/)) { type = match[1]; components = match[2].trim().split(/[,\s]+/g); var isHSL = type === 'hsl'; for (var i = 0, l = Math.min(components.length, 4); i < l; i++) { var component = components[i]; var value = parseFloat(component); if (isHSL) { if (i === 0) { var unit = component.match(/([a-z]*)$/)[1]; value *= ({ turn: 360, rad: 180 / Math.PI, grad: 0.9 }[unit] || 1); } else if (i < 3) { value /= 100; } } else if (i < 3) { value /= /%$/.test(component) ? 100 : 255; } components[i] = value; } } else { var color = namedColors[string]; if (!color) { if (window) { if (!colorCtx) { colorCtx = CanvasProvider.getContext(1, 1); colorCtx.globalCompositeOperation = 'copy'; } colorCtx.fillStyle = 'rgba(0,0,0,0)'; colorCtx.fillStyle = string; colorCtx.fillRect(0, 0, 1, 1); var data = colorCtx.getImageData(0, 0, 1, 1).data; color = namedColors[string] = [ data[0] / 255, data[1] / 255, data[2] / 255 ]; } else { color = [0, 0, 0]; } } components = color.slice(); } return [type, components]; } var hsbIndices = [ [0, 3, 1], [2, 0, 1], [1, 0, 3], [1, 2, 0], [3, 1, 0], [0, 1, 2] ]; var converters = { 'rgb-hsb': function(r, g, b) { var max = Math.max(r, g, b), min = Math.min(r, g, b), delta = max - min, h = delta === 0 ? 0 : ( max == r ? (g - b) / delta + (g < b ? 6 : 0) : max == g ? (b - r) / delta + 2 : (r - g) / delta + 4) * 60; return [h, max === 0 ? 0 : delta / max, max]; }, 'hsb-rgb': function(h, s, b) { h = (((h / 60) % 6) + 6) % 6; var i = Math.floor(h), f = h - i, i = hsbIndices[i], v = [ b, b * (1 - s), b * (1 - s * f), b * (1 - s * (1 - f)) ]; return [v[i[0]], v[i[1]], v[i[2]]]; }, 'rgb-hsl': function(r, g, b) { var max = Math.max(r, g, b), min = Math.min(r, g, b), delta = max - min, achromatic = delta === 0, h = achromatic ? 0 : ( max == r ? (g - b) / delta + (g < b ? 6 : 0) : max == g ? (b - r) / delta + 2 : (r - g) / delta + 4) * 60, l = (max + min) / 2, s = achromatic ? 0 : l < 0.5 ? delta / (max + min) : delta / (2 - max - min); return [h, s, l]; }, 'hsl-rgb': function(h, s, l) { h = (((h / 360) % 1) + 1) % 1; if (s === 0) return [l, l, l]; var t3s = [ h + 1 / 3, h, h - 1 / 3 ], t2 = l < 0.5 ? l * (1 + s) : l + s - l * s, t1 = 2 * l - t2, c = []; for (var i = 0; i < 3; i++) { var t3 = t3s[i]; if (t3 < 0) t3 += 1; if (t3 > 1) t3 -= 1; c[i] = 6 * t3 < 1 ? t1 + (t2 - t1) * 6 * t3 : 2 * t3 < 1 ? t2 : 3 * t3 < 2 ? t1 + (t2 - t1) * ((2 / 3) - t3) * 6 : t1; } return c; }, 'rgb-gray': function(r, g, b) { return [r * 0.2989 + g * 0.587 + b * 0.114]; }, 'gray-rgb': function(g) { return [g, g, g]; }, 'gray-hsb': function(g) { return [0, 0, g]; }, 'gray-hsl': function(g) { return [0, 0, g]; }, 'gradient-rgb': function() { return []; }, 'rgb-gradient': function() { return []; } }; return Base.each(types, function(properties, type) { componentParsers[type] = []; Base.each(properties, function(name, index) { var part = Base.capitalize(name), hasOverlap = /^(hue|saturation)$/.test(name), parser = componentParsers[type][index] = type === 'gradient' ? name === 'gradient' ? function(value) { var current = this._components[0]; value = Gradient.read( Array.isArray(value) ? value : arguments, 0, { readNull: true } ); if (current !== value) { if (current) current._removeOwner(this); if (value) value._addOwner(this); } return value; } : function() { return Point.read(arguments, 0, { readNull: name === 'highlight', clone: true }); } : function(value) { return value == null || isNaN(value) ? 0 : +value; }; this['get' + part] = function() { return this._type === type || hasOverlap && /^hs[bl]$/.test(this._type) ? this._components[index] : this._convert(type)[index]; }; this['set' + part] = function(value) { if (this._type !== type && !(hasOverlap && /^hs[bl]$/.test(this._type))) { this._components = this._convert(type); this._properties = types[type]; this._type = type; } this._components[index] = parser.call(this, value); this._changed(); }; }, this); }, { _class: 'Color', _readIndex: true, initialize: function Color(arg) { var args = arguments, reading = this.__read, read = 0, type, components, alpha, values; if (Array.isArray(arg)) { args = arg; arg = args[0]; } var argType = arg != null && typeof arg; if (argType === 'string' && arg in types) { type = arg; arg = args[1]; if (Array.isArray(arg)) { components = arg; alpha = args[2]; } else { if (reading) read = 1; args = Base.slice(args, 1); argType = typeof arg; } } if (!components) { values = argType === 'number' ? args : argType === 'object' && arg.length != null ? arg : null; if (values) { if (!type) type = values.length >= 3 ? 'rgb' : 'gray'; var length = types[type].length; alpha = values[length]; if (reading) { read += values === arguments ? length + (alpha != null ? 1 : 0) : 1; } if (values.length > length) values = Base.slice(values, 0, length); } else if (argType === 'string') { var converted = fromCSS(arg); type = converted[0]; components = converted[1]; if (components.length === 4) { alpha = components[3]; components.length--; } } else if (argType === 'object') { if (arg.constructor === Color) { type = arg._type; components = arg._components.slice(); alpha = arg._alpha; if (type === 'gradient') { for (var i = 1, l = components.length; i < l; i++) { var point = components[i]; if (point) components[i] = point.clone(); } } } else if (arg.constructor === Gradient) { type = 'gradient'; values = args; } else { type = 'hue' in arg ? 'lightness' in arg ? 'hsl' : 'hsb' : 'gradient' in arg || 'stops' in arg || 'radial' in arg ? 'gradient' : 'gray' in arg ? 'gray' : 'rgb'; var properties = types[type], parsers = componentParsers[type]; this._components = components = []; for (var i = 0, l = properties.length; i < l; i++) { var value = arg[properties[i]]; if (value == null && !i && type === 'gradient' && 'stops' in arg) { value = { stops: arg.stops, radial: arg.radial }; } value = parsers[i].call(this, value); if (value != null) components[i] = value; } alpha = arg.alpha; } } if (reading && type) read = 1; } this._type = type || 'rgb'; if (!components) { this._components = components = []; var parsers = componentParsers[this._type]; for (var i = 0, l = parsers.length; i < l; i++) { var value = parsers[i].call(this, values && values[i]); if (value != null) components[i] = value; } } this._components = components; this._properties = types[this._type]; this._alpha = alpha; if (reading) this.__read = read; return this; }, set: '#initialize', _serialize: function(options, dictionary) { var components = this.getComponents(); return Base.serialize( /^(gray|rgb)$/.test(this._type) ? components : [this._type].concat(components), options, true, dictionary); }, _changed: function() { this._canvasStyle = null; if (this._owner) { if (this._setter) { this._owner[this._setter](this); } else { this._owner._changed(129); } } }, _convert: function(type) { var converter; return this._type === type ? this._components.slice() : (converter = converters[this._type + '-' + type]) ? converter.apply(this, this._components) : converters['rgb-' + type].apply(this, converters[this._type + '-rgb'].apply(this, this._components)); }, convert: function(type) { return new Color(type, this._convert(type), this._alpha); }, getType: function() { return this._type; }, setType: function(type) { this._components = this._convert(type); this._properties = types[type]; this._type = type; }, getComponents: function() { var components = this._components.slice(); if (this._alpha != null) components.push(this._alpha); return components; }, getAlpha: function() { return this._alpha != null ? this._alpha : 1; }, setAlpha: function(alpha) { this._alpha = alpha == null ? null : Math.min(Math.max(alpha, 0), 1); this._changed(); }, hasAlpha: function() { return this._alpha != null; }, equals: function(color) { var col = Base.isPlainValue(color, true) ? Color.read(arguments) : color; return col === this || col && this._class === col._class && this._type === col._type && this.getAlpha() === col.getAlpha() && Base.equals(this._components, col._components) || false; }, toString: function() { var properties = this._properties, parts = [], isGradient = this._type === 'gradient', f = Formatter.instance; for (var i = 0, l = properties.length; i < l; i++) { var value = this._components[i]; if (value != null) parts.push(properties[i] + ': ' + (isGradient ? value : f.number(value))); } if (this._alpha != null) parts.push('alpha: ' + f.number(this._alpha)); return '{ ' + parts.join(', ') + ' }'; }, toCSS: function(hex) { var components = this._convert('rgb'), alpha = hex || this._alpha == null ? 1 : this._alpha; function convert(val) { return Math.round((val < 0 ? 0 : val > 1 ? 1 : val) * 255); } components = [ convert(components[0]), convert(components[1]), convert(components[2]) ]; if (alpha < 1) components.push(alpha < 0 ? 0 : alpha); return hex ? '#' + ((1 << 24) + (components[0] << 16) + (components[1] << 8) + components[2]).toString(16).slice(1) : (components.length == 4 ? 'rgba(' : 'rgb(') + components.join(',') + ')'; }, toCanvasStyle: function(ctx, matrix, strokeMatrix) { var strokeMayChange = this._type === 'gradient' && strokeMatrix; if (this._canvasStyle && !strokeMayChange) return this._canvasStyle; if (this._type !== 'gradient') return this._canvasStyle = this.toCSS(); var components = this._components, gradient = components[0], stops = gradient._stops, origin = components[1], destination = components[2], highlight = components[3], inverse = matrix && matrix.inverted(), canvasGradient; if (inverse) { origin = inverse._transformPoint(origin); destination = inverse._transformPoint(destination); if (highlight) highlight = inverse._transformPoint(highlight); } if (strokeMatrix) { origin = strokeMatrix._transformPoint(origin); destination = strokeMatrix._transformPoint(destination); if (highlight) highlight = strokeMatrix._transformPoint(highlight); } if (gradient._radial) { var radius = destination.getDistance(origin); if (highlight) { var vector = highlight.subtract(origin); if (vector.getLength() > radius) highlight = origin.add(vector.normalize(radius - 0.1)); } var start = highlight || origin; canvasGradient = ctx.createRadialGradient(start.x, start.y, 0, origin.x, origin.y, radius); } else { canvasGradient = ctx.createLinearGradient(origin.x, origin.y, destination.x, destination.y); } for (var i = 0, l = stops.length; i < l; i++) { var stop = stops[i], offset = stop._offset; canvasGradient.addColorStop( offset == null ? i / (l - 1) : offset, stop._color.toCanvasStyle()); } if (!strokeMayChange) this._canvasStyle = canvasGradient; return canvasGradient; }, transform: function(matrix) { if (this._type === 'gradient') { var components = this._components; for (var i = 1, l = components.length; i < l; i++) { var point = components[i]; matrix._transformPoint(point, point, true); } this._changed(); } }, statics: { _types: types, random: function() { var random = Math.random; return new Color(random(), random(), random()); }, _setOwner: function(color, owner, setter) { if (color) { if (color._owner && owner && color._owner !== owner) { color = color.clone(); } if (!color._owner ^ !owner) { color._owner = owner || null; color._setter = setter || null; } } return color; } } }); }, new function() { var operators = { add: function(a, b) { return a + b; }, subtract: function(a, b) { return a - b; }, multiply: function(a, b) { return a * b; }, divide: function(a, b) { return a / b; } }; return Base.each(operators, function(operator, name) { this[name] = function(color) { color = Color.read(arguments); var type = this._type, components1 = this._components, components2 = color._convert(type); for (var i = 0, l = components1.length; i < l; i++) components2[i] = operator(components1[i], components2[i]); return new Color(type, components2, this._alpha != null ? operator(this._alpha, color.getAlpha()) : null); }; }, { }); }); var Gradient = Base.extend({ _class: 'Gradient', initialize: function Gradient(stops, radial) { this._id = UID.get(); if (stops && Base.isPlainObject(stops)) { this.set(stops); stops = radial = null; } if (this._stops == null) { this.setStops(stops || ['white', 'black']); } if (this._radial == null) { this.setRadial(typeof radial === 'string' && radial === 'radial' || radial || false); } }, _serialize: function(options, dictionary) { return dictionary.add(this, function() { return Base.serialize([this._stops, this._radial], options, true, dictionary); }); }, _changed: function() { for (var i = 0, l = this._owners && this._owners.length; i < l; i++) { this._owners[i]._changed(); } }, _addOwner: function(color) { if (!this._owners) this._owners = []; this._owners.push(color); }, _removeOwner: function(color) { var index = this._owners ? this._owners.indexOf(color) : -1; if (index != -1) { this._owners.splice(index, 1); if (!this._owners.length) this._owners = undefined; } }, clone: function() { var stops = []; for (var i = 0, l = this._stops.length; i < l; i++) { stops[i] = this._stops[i].clone(); } return new Gradient(stops, this._radial); }, getStops: function() { return this._stops; }, setStops: function(stops) { if (stops.length < 2) { throw new Error( 'Gradient stop list needs to contain at least two stops.'); } var _stops = this._stops; if (_stops) { for (var i = 0, l = _stops.length; i < l; i++) _stops[i]._owner = undefined; } _stops = this._stops = GradientStop.readList(stops, 0, { clone: true }); for (var i = 0, l = _stops.length; i < l; i++) _stops[i]._owner = this; this._changed(); }, getRadial: function() { return this._radial; }, setRadial: function(radial) { this._radial = radial; this._changed(); }, equals: function(gradient) { if (gradient === this) return true; if (gradient && this._class === gradient._class) { var stops1 = this._stops, stops2 = gradient._stops, length = stops1.length; if (length === stops2.length) { for (var i = 0; i < length; i++) { if (!stops1[i].equals(stops2[i])) return false; } return true; } } return false; } }); var GradientStop = Base.extend({ _class: 'GradientStop', initialize: function GradientStop(arg0, arg1) { var color = arg0, offset = arg1; if (typeof arg0 === 'object' && arg1 === undefined) { if (Array.isArray(arg0) && typeof arg0[0] !== 'number') { color = arg0[0]; offset = arg0[1]; } else if ('color' in arg0 || 'offset' in arg0 || 'rampPoint' in arg0) { color = arg0.color; offset = arg0.offset || arg0.rampPoint || 0; } } this.setColor(color); this.setOffset(offset); }, clone: function() { return new GradientStop(this._color.clone(), this._offset); }, _serialize: function(options, dictionary) { var color = this._color, offset = this._offset; return Base.serialize(offset == null ? [color] : [color, offset], options, true, dictionary); }, _changed: function() { if (this._owner) this._owner._changed(129); }, getOffset: function() { return this._offset; }, setOffset: function(offset) { this._offset = offset; this._changed(); }, getRampPoint: '#getOffset', setRampPoint: '#setOffset', getColor: function() { return this._color; }, setColor: function() { Color._setOwner(this._color, null); this._color = Color._setOwner(Color.read(arguments, 0), this, 'setColor'); this._changed(); }, equals: function(stop) { return stop === this || stop && this._class === stop._class && this._color.equals(stop._color) && this._offset == stop._offset || false; } }); var Style = Base.extend(new function() { var itemDefaults = { fillColor: null, fillRule: 'nonzero', strokeColor: null, strokeWidth: 1, strokeCap: 'butt', strokeJoin: 'miter', strokeScaling: true, miterLimit: 10, dashOffset: 0, dashArray: [], shadowColor: null, shadowBlur: 0, shadowOffset: new Point(), selectedColor: null }, groupDefaults = Base.set({}, itemDefaults, { fontFamily: 'sans-serif', fontWeight: 'normal', fontSize: 12, leading: null, justification: 'left' }), textDefaults = Base.set({}, groupDefaults, { fillColor: new Color() }), flags = { strokeWidth: 193, strokeCap: 193, strokeJoin: 193, strokeScaling: 201, miterLimit: 193, fontFamily: 9, fontWeight: 9, fontSize: 9, font: 9, leading: 9, justification: 9 }, item = { beans: true }, fields = { _class: 'Style', beans: true, initialize: function Style(style, _owner, _project) { this._values = {}; this._owner = _owner; this._project = _owner && _owner._project || _project || paper.project; this._defaults = !_owner || _owner instanceof Group ? groupDefaults : _owner instanceof TextItem ? textDefaults : itemDefaults; if (style) this.set(style); } }; Base.each(groupDefaults, function(value, key) { var isColor = /Color$/.test(key), isPoint = key === 'shadowOffset', part = Base.capitalize(key), flag = flags[key], set = 'set' + part, get = 'get' + part; fields[set] = function(value) { var owner = this._owner, children = owner && owner._children, applyToChildren = children && children.length > 0 && !(owner instanceof CompoundPath); if (applyToChildren) { for (var i = 0, l = children.length; i < l; i++) children[i]._style[set](value); } if ((key === 'selectedColor' || !applyToChildren) && key in this._defaults) { var old = this._values[key]; if (old !== value) { if (isColor) { if (old) { Color._setOwner(old, null); old._canvasStyle = null; } if (value && value.constructor === Color) { value = Color._setOwner(value, owner, applyToChildren && set); } } this._values[key] = value; if (owner) owner._changed(flag || 129); } } }; fields[get] = function(_dontMerge) { var owner = this._owner, children = owner && owner._children, applyToChildren = children && children.length > 0 && !(owner instanceof CompoundPath), value; if (applyToChildren && !_dontMerge) { for (var i = 0, l = children.length; i < l; i++) { var childValue = children[i]._style[get](); if (!i) { value = childValue; } else if (!Base.equals(value, childValue)) { return undefined; } } } else if (key in this._defaults) { var value = this._values[key]; if (value === undefined) { value = this._defaults[key]; if (value && value.clone) { value = value.clone(); } } else { var ctor = isColor ? Color : isPoint ? Point : null; if (ctor && !(value && value.constructor === ctor)) { this._values[key] = value = ctor.read([value], 0, { readNull: true, clone: true }); } } } if (value && isColor) { value = Color._setOwner(value, owner, applyToChildren && set); } return value; }; item[get] = function(_dontMerge) { return this._style[get](_dontMerge); }; item[set] = function(value) { this._style[set](value); }; }); Base.each({ Font: 'FontFamily', WindingRule: 'FillRule' }, function(value, key) { var get = 'get' + key, set = 'set' + key; fields[get] = item[get] = '#get' + value; fields[set] = item[set] = '#set' + value; }); Item.inject(item); return fields; }, { set: function(style) { var isStyle = style instanceof Style, values = isStyle ? style._values : style; if (values) { for (var key in values) { if (key in this._defaults) { var value = values[key]; this[key] = value && isStyle && value.clone ? value.clone() : value; } } } }, equals: function(style) { function compare(style1, style2, secondary) { var values1 = style1._values, values2 = style2._values, defaults2 = style2._defaults; for (var key in values1) { var value1 = values1[key], value2 = values2[key]; if (!(secondary && key in values2) && !Base.equals(value1, value2 === undefined ? defaults2[key] : value2)) return false; } return true; } return style === this || style && this._class === style._class && compare(this, style) && compare(style, this, true) || false; }, _dispose: function() { var color; color = this.getFillColor(); if (color) color._canvasStyle = null; color = this.getStrokeColor(); if (color) color._canvasStyle = null; color = this.getShadowColor(); if (color) color._canvasStyle = null; }, hasFill: function() { var color = this.getFillColor(); return !!color && color.alpha > 0; }, hasStroke: function() { var color = this.getStrokeColor(); return !!color && color.alpha > 0 && this.getStrokeWidth() > 0; }, hasShadow: function() { var color = this.getShadowColor(); return !!color && color.alpha > 0 && (this.getShadowBlur() > 0 || !this.getShadowOffset().isZero()); }, getView: function() { return this._project._view; }, getFontStyle: function() { var fontSize = this.getFontSize(); return this.getFontWeight() + ' ' + fontSize + (/[a-z]/i.test(fontSize + '') ? ' ' : 'px ') + this.getFontFamily(); }, getFont: '#getFontFamily', setFont: '#setFontFamily', getLeading: function getLeading() { var leading = getLeading.base.call(this), fontSize = this.getFontSize(); if (/pt|em|%|px/.test(fontSize)) fontSize = this.getView().getPixelSize(fontSize); return leading != null ? leading : fontSize * 1.2; } }); var DomElement = new function() { function handlePrefix(el, name, set, value) { var prefixes = ['', 'webkit', 'moz', 'Moz', 'ms', 'o'], suffix = name[0].toUpperCase() + name.substring(1); for (var i = 0; i < 6; i++) { var prefix = prefixes[i], key = prefix ? prefix + suffix : name; if (key in el) { if (set) { el[key] = value; } else { return el[key]; } break; } } } return { getStyles: function(el) { var doc = el && el.nodeType !== 9 ? el.ownerDocument : el, view = doc && doc.defaultView; return view && view.getComputedStyle(el, ''); }, getBounds: function(el, viewport) { var doc = el.ownerDocument, body = doc.body, html = doc.documentElement, rect; try { rect = el.getBoundingClientRect(); } catch (e) { rect = { left: 0, top: 0, width: 0, height: 0 }; } var x = rect.left - (html.clientLeft || body.clientLeft || 0), y = rect.top - (html.clientTop || body.clientTop || 0); if (!viewport) { var view = doc.defaultView; x += view.pageXOffset || html.scrollLeft || body.scrollLeft; y += view.pageYOffset || html.scrollTop || body.scrollTop; } return new Rectangle(x, y, rect.width, rect.height); }, getViewportBounds: function(el) { var doc = el.ownerDocument, view = doc.defaultView, html = doc.documentElement; return new Rectangle(0, 0, view.innerWidth || html.clientWidth, view.innerHeight || html.clientHeight ); }, getOffset: function(el, viewport) { return DomElement.getBounds(el, viewport).getPoint(); }, getSize: function(el) { return DomElement.getBounds(el, true).getSize(); }, isInvisible: function(el) { return DomElement.getSize(el).equals(new Size(0, 0)); }, isInView: function(el) { return !DomElement.isInvisible(el) && DomElement.getViewportBounds(el).intersects( DomElement.getBounds(el, true)); }, isInserted: function(el) { return document.body.contains(el); }, getPrefixed: function(el, name) { return el && handlePrefix(el, name); }, setPrefixed: function(el, name, value) { if (typeof name === 'object') { for (var key in name) handlePrefix(el, key, true, name[key]); } else { handlePrefix(el, name, true, value); } } }; }; var DomEvent = { add: function(el, events) { if (el) { for (var type in events) { var func = events[type], parts = type.split(/[\s,]+/g); for (var i = 0, l = parts.length; i < l; i++) { var name = parts[i]; var options = ( el === document && (name === 'touchstart' || name === 'touchmove') ) ? { passive: false } : false; el.addEventListener(name, func, options); } } } }, remove: function(el, events) { if (el) { for (var type in events) { var func = events[type], parts = type.split(/[\s,]+/g); for (var i = 0, l = parts.length; i < l; i++) el.removeEventListener(parts[i], func, false); } } }, getPoint: function(event) { var pos = event.targetTouches ? event.targetTouches.length ? event.targetTouches[0] : event.changedTouches[0] : event; return new Point( pos.pageX || pos.clientX + document.documentElement.scrollLeft, pos.pageY || pos.clientY + document.documentElement.scrollTop ); }, getTarget: function(event) { return event.target || event.srcElement; }, getRelatedTarget: function(event) { return event.relatedTarget || event.toElement; }, getOffset: function(event, target) { return DomEvent.getPoint(event).subtract(DomElement.getOffset( target || DomEvent.getTarget(event))); } }; DomEvent.requestAnimationFrame = new function() { var nativeRequest = DomElement.getPrefixed(window, 'requestAnimationFrame'), requested = false, callbacks = [], timer; function handleCallbacks() { var functions = callbacks; callbacks = []; for (var i = 0, l = functions.length; i < l; i++) functions[i](); requested = nativeRequest && callbacks.length; if (requested) nativeRequest(handleCallbacks); } return function(callback) { callbacks.push(callback); if (nativeRequest) { if (!requested) { nativeRequest(handleCallbacks); requested = true; } } else if (!timer) { timer = setInterval(handleCallbacks, 1000 / 60); } }; }; var View = Base.extend(Emitter, { _class: 'View', initialize: function View(project, element) { function getSize(name) { return element[name] || parseInt(element.getAttribute(name), 10); } function getCanvasSize() { var size = DomElement.getSize(element); return size.isNaN() || size.isZero() ? new Size(getSize('width'), getSize('height')) : size; } var size; if (window && element) { this._id = element.getAttribute('id'); if (this._id == null) element.setAttribute('id', this._id = 'paper-view-' + View._id++); DomEvent.add(element, this._viewEvents); var none = 'none'; DomElement.setPrefixed(element.style, { userDrag: none, userSelect: none, touchCallout: none, contentZooming: none, tapHighlightColor: 'rgba(0,0,0,0)' }); if (PaperScope.hasAttribute(element, 'resize')) { var that = this; DomEvent.add(window, this._windowEvents = { resize: function() { that.setViewSize(getCanvasSize()); } }); } size = getCanvasSize(); if (PaperScope.hasAttribute(element, 'stats') && typeof Stats !== 'undefined') { this._stats = new Stats(); var stats = this._stats.domElement, style = stats.style, offset = DomElement.getOffset(element); style.position = 'absolute'; style.left = offset.x + 'px'; style.top = offset.y + 'px'; document.body.appendChild(stats); } } else { size = new Size(element); element = null; } this._project = project; this._scope = project._scope; this._element = element; if (!this._pixelRatio) this._pixelRatio = window && window.devicePixelRatio || 1; this._setElementSize(size.width, size.height); this._viewSize = size; View._views.push(this); View._viewsById[this._id] = this; (this._matrix = new Matrix())._owner = this; if (!View._focused) View._focused = this; this._frameItems = {}; this._frameItemCount = 0; this._itemEvents = { native: {}, virtual: {} }; this._autoUpdate = !paper.agent.node; this._needsUpdate = false; }, remove: function() { if (!this._project) return false; if (View._focused === this) View._focused = null; View._views.splice(View._views.indexOf(this), 1); delete View._viewsById[this._id]; var project = this._project; if (project._view === this) project._view = null; DomEvent.remove(this._element, this._viewEvents); DomEvent.remove(window, this._windowEvents); this._element = this._project = null; this.off('frame'); this._animate = false; this._frameItems = {}; return true; }, _events: Base.each( Item._itemHandlers.concat(['onResize', 'onKeyDown', 'onKeyUp']), function(name) { this[name] = {}; }, { onFrame: { install: function() { this.play(); }, uninstall: function() { this.pause(); } } } ), _animate: false, _time: 0, _count: 0, getAutoUpdate: function() { return this._autoUpdate; }, setAutoUpdate: function(autoUpdate) { this._autoUpdate = autoUpdate; if (autoUpdate) this.requestUpdate(); }, update: function() { }, draw: function() { this.update(); }, requestUpdate: function() { if (!this._requested) { var that = this; DomEvent.requestAnimationFrame(function() { that._requested = false; if (that._animate) { that.requestUpdate(); var element = that._element; if ((!DomElement.getPrefixed(document, 'hidden') || PaperScope.getAttribute(element, 'keepalive') === 'true') && DomElement.isInView(element)) { that._handleFrame(); } } if (that._autoUpdate) that.update(); }); this._requested = true; } }, play: function() { this._animate = true; this.requestUpdate(); }, pause: function() { this._animate = false; }, _handleFrame: function() { paper = this._scope; var now = Date.now() / 1000, delta = this._last ? now - this._last : 0; this._last = now; this.emit('frame', new Base({ delta: delta, time: this._time += delta, count: this._count++ })); if (this._stats) this._stats.update(); }, _animateItem: function(item, animate) { var items = this._frameItems; if (animate) { items[item._id] = { item: item, time: 0, count: 0 }; if (++this._frameItemCount === 1) this.on('frame', this._handleFrameItems); } else { delete items[item._id]; if (--this._frameItemCount === 0) { this.off('frame', this._handleFrameItems); } } }, _handleFrameItems: function(event) { for (var i in this._frameItems) { var entry = this._frameItems[i]; entry.item.emit('frame', new Base(event, { time: entry.time += event.delta, count: entry.count++ })); } }, _changed: function() { this._project._changed(4097); this._bounds = this._decomposed = undefined; }, getElement: function() { return this._element; }, getPixelRatio: function() { return this._pixelRatio; }, getResolution: function() { return this._pixelRatio * 72; }, getViewSize: function() { var size = this._viewSize; return new LinkedSize(size.width, size.height, this, 'setViewSize'); }, setViewSize: function() { var size = Size.read(arguments), delta = size.subtract(this._viewSize); if (delta.isZero()) return; this._setElementSize(size.width, size.height); this._viewSize.set(size); this._changed(); this.emit('resize', { size: size, delta: delta }); if (this._autoUpdate) { this.update(); } }, _setElementSize: function(width, height) { var element = this._element; if (element) { if (element.width !== width) element.width = width; if (element.height !== height) element.height = height; } }, getBounds: function() { if (!this._bounds) this._bounds = this._matrix.inverted()._transformBounds( new Rectangle(new Point(), this._viewSize)); return this._bounds; }, getSize: function() { return this.getBounds().getSize(); }, isVisible: function() { return DomElement.isInView(this._element); }, isInserted: function() { return DomElement.isInserted(this._element); }, getPixelSize: function(size) { var element = this._element, pixels; if (element) { var parent = element.parentNode, temp = document.createElement('div'); temp.style.fontSize = size; parent.appendChild(temp); pixels = parseFloat(DomElement.getStyles(temp).fontSize); parent.removeChild(temp); } else { pixels = parseFloat(pixels); } return pixels; }, getTextWidth: function(font, lines) { return 0; } }, Base.each(['rotate', 'scale', 'shear', 'skew'], function(key) { var rotate = key === 'rotate'; this[key] = function() { var args = arguments, value = (rotate ? Base : Point).read(args), center = Point.read(args, 0, { readNull: true }); return this.transform(new Matrix()[key](value, center || this.getCenter(true))); }; }, { _decompose: function() { return this._decomposed || (this._decomposed = this._matrix.decompose()); }, translate: function() { var mx = new Matrix(); return this.transform(mx.translate.apply(mx, arguments)); }, getCenter: function() { return this.getBounds().getCenter(); }, setCenter: function() { var center = Point.read(arguments); this.translate(this.getCenter().subtract(center)); }, getZoom: function() { var scaling = this._decompose().scaling; return (scaling.x + scaling.y) / 2; }, setZoom: function(zoom) { this.transform(new Matrix().scale(zoom / this.getZoom(), this.getCenter())); }, getRotation: function() { return this._decompose().rotation; }, setRotation: function(rotation) { var current = this.getRotation(); if (current != null && rotation != null) { this.rotate(rotation - current); } }, getScaling: function() { var scaling = this._decompose().scaling; return new LinkedPoint(scaling.x, scaling.y, this, 'setScaling'); }, setScaling: function() { var current = this.getScaling(), scaling = Point.read(arguments, 0, { clone: true, readNull: true }); if (current && scaling) { this.scale(scaling.x / current.x, scaling.y / current.y); } }, getMatrix: function() { return this._matrix; }, setMatrix: function() { var matrix = this._matrix; matrix.initialize.apply(matrix, arguments); }, transform: function(matrix) { this._matrix.append(matrix); }, scrollBy: function() { this.translate(Point.read(arguments).negate()); } }), { projectToView: function() { return this._matrix._transformPoint(Point.read(arguments)); }, viewToProject: function() { return this._matrix._inverseTransform(Point.read(arguments)); }, getEventPoint: function(event) { return this.viewToProject(DomEvent.getOffset(event, this._element)); }, }, { statics: { _views: [], _viewsById: {}, _id: 0, create: function(project, element) { if (document && typeof element === 'string') element = document.getElementById(element); var ctor = window ? CanvasView : View; return new ctor(project, element); } } }, new function() { if (!window) return; var prevFocus, tempFocus, dragging = false, mouseDown = false; function getView(event) { var target = DomEvent.getTarget(event); return target.getAttribute && View._viewsById[ target.getAttribute('id')]; } function updateFocus() { var view = View._focused; if (!view || !view.isVisible()) { for (var i = 0, l = View._views.length; i < l; i++) { if ((view = View._views[i]).isVisible()) { View._focused = tempFocus = view; break; } } } } function handleMouseMove(view, event, point) { view._handleMouseEvent('mousemove', event, point); } var navigator = window.navigator, mousedown, mousemove, mouseup; if (navigator.pointerEnabled || navigator.msPointerEnabled) { mousedown = 'pointerdown MSPointerDown'; mousemove = 'pointermove MSPointerMove'; mouseup = 'pointerup pointercancel MSPointerUp MSPointerCancel'; } else { mousedown = 'touchstart'; mousemove = 'touchmove'; mouseup = 'touchend touchcancel'; if (!('ontouchstart' in window && navigator.userAgent.match( /mobile|tablet|ip(ad|hone|od)|android|silk/i))) { mousedown += ' mousedown'; mousemove += ' mousemove'; mouseup += ' mouseup'; } } var viewEvents = {}, docEvents = { mouseout: function(event) { var view = View._focused, target = DomEvent.getRelatedTarget(event); if (view && (!target || target.nodeName === 'HTML')) { var offset = DomEvent.getOffset(event, view._element), x = offset.x, abs = Math.abs, ax = abs(x), max = 1 << 25, diff = ax - max; offset.x = abs(diff) < ax ? diff * (x < 0 ? -1 : 1) : x; handleMouseMove(view, event, view.viewToProject(offset)); } }, scroll: updateFocus }; viewEvents[mousedown] = function(event) { var view = View._focused = getView(event); if (!dragging) { dragging = true; view._handleMouseEvent('mousedown', event); } }; docEvents[mousemove] = function(event) { var view = View._focused; if (!mouseDown) { var target = getView(event); if (target) { if (view !== target) { if (view) handleMouseMove(view, event); if (!prevFocus) prevFocus = view; view = View._focused = tempFocus = target; } } else if (tempFocus && tempFocus === view) { if (prevFocus && !prevFocus.isInserted()) prevFocus = null; view = View._focused = prevFocus; prevFocus = null; updateFocus(); } } if (view) handleMouseMove(view, event); }; docEvents[mousedown] = function() { mouseDown = true; }; docEvents[mouseup] = function(event) { var view = View._focused; if (view && dragging) view._handleMouseEvent('mouseup', event); mouseDown = dragging = false; }; DomEvent.add(document, docEvents); DomEvent.add(window, { load: updateFocus }); var called = false, prevented = false, fallbacks = { doubleclick: 'click', mousedrag: 'mousemove' }, wasInView = false, overView, downPoint, lastPoint, downItem, overItem, dragItem, clickItem, clickTime, dblClick; function emitMouseEvent(obj, target, type, event, point, prevPoint, stopItem) { var stopped = false, mouseEvent; function emit(obj, type) { if (obj.responds(type)) { if (!mouseEvent) { mouseEvent = new MouseEvent(type, event, point, target || obj, prevPoint ? point.subtract(prevPoint) : null); } if (obj.emit(type, mouseEvent)) { called = true; if (mouseEvent.prevented) prevented = true; if (mouseEvent.stopped) return stopped = true; } } else { var fallback = fallbacks[type]; if (fallback) return emit(obj, fallback); } } while (obj && obj !== stopItem) { if (emit(obj, type)) break; obj = obj._parent; } return stopped; } function emitMouseEvents(view, hitItem, type, event, point, prevPoint) { view._project.removeOn(type); prevented = called = false; return (dragItem && emitMouseEvent(dragItem, null, type, event, point, prevPoint) || hitItem && hitItem !== dragItem && !hitItem.isDescendant(dragItem) && emitMouseEvent(hitItem, null, type === 'mousedrag' ? 'mousemove' : type, event, point, prevPoint, dragItem) || emitMouseEvent(view, dragItem || hitItem || view, type, event, point, prevPoint)); } var itemEventsMap = { mousedown: { mousedown: 1, mousedrag: 1, click: 1, doubleclick: 1 }, mouseup: { mouseup: 1, mousedrag: 1, click: 1, doubleclick: 1 }, mousemove: { mousedrag: 1, mousemove: 1, mouseenter: 1, mouseleave: 1 } }; return { _viewEvents: viewEvents, _handleMouseEvent: function(type, event, point) { var itemEvents = this._itemEvents, hitItems = itemEvents.native[type], nativeMove = type === 'mousemove', tool = this._scope.tool, view = this; function responds(type) { return itemEvents.virtual[type] || view.responds(type) || tool && tool.responds(type); } if (nativeMove && dragging && responds('mousedrag')) type = 'mousedrag'; if (!point) point = this.getEventPoint(event); var inView = this.getBounds().contains(point), hit = hitItems && inView && view._project.hitTest(point, { tolerance: 0, fill: true, stroke: true }), hitItem = hit && hit.item || null, handle = false, mouse = {}; mouse[type.substr(5)] = true; if (hitItems && hitItem !== overItem) { if (overItem) { emitMouseEvent(overItem, null, 'mouseleave', event, point); } if (hitItem) { emitMouseEvent(hitItem, null, 'mouseenter', event, point); } overItem = hitItem; } if (wasInView ^ inView) { emitMouseEvent(this, null, inView ? 'mouseenter' : 'mouseleave', event, point); overView = inView ? this : null; handle = true; } if ((inView || mouse.drag) && !point.equals(lastPoint)) { emitMouseEvents(this, hitItem, nativeMove ? type : 'mousemove', event, point, lastPoint); handle = true; } wasInView = inView; if (mouse.down && inView || mouse.up && downPoint) { emitMouseEvents(this, hitItem, type, event, point, downPoint); if (mouse.down) { dblClick = hitItem === clickItem && (Date.now() - clickTime < 300); downItem = clickItem = hitItem; if (!prevented && hitItem) { var item = hitItem; while (item && !item.responds('mousedrag')) item = item._parent; if (item) dragItem = hitItem; } downPoint = point; } else if (mouse.up) { if (!prevented && hitItem === downItem) { clickTime = Date.now(); emitMouseEvents(this, hitItem, dblClick ? 'doubleclick' : 'click', event, point, downPoint); dblClick = false; } downItem = dragItem = null; } wasInView = false; handle = true; } lastPoint = point; if (handle && tool) { called = tool._handleMouseEvent(type, event, point, mouse) || called; } if ( event.cancelable !== false && (called && !mouse.move || mouse.down && responds('mouseup')) ) { event.preventDefault(); } }, _handleKeyEvent: function(type, event, key, character) { var scope = this._scope, tool = scope.tool, keyEvent; function emit(obj) { if (obj.responds(type)) { paper = scope; obj.emit(type, keyEvent = keyEvent || new KeyEvent(type, event, key, character)); } } if (this.isVisible()) { emit(this); if (tool && tool.responds(type)) emit(tool); } }, _countItemEvent: function(type, sign) { var itemEvents = this._itemEvents, native = itemEvents.native, virtual = itemEvents.virtual; for (var key in itemEventsMap) { native[key] = (native[key] || 0) + (itemEventsMap[key][type] || 0) * sign; } virtual[type] = (virtual[type] || 0) + sign; }, statics: { updateFocus: updateFocus, _resetState: function() { dragging = mouseDown = called = wasInView = false; prevFocus = tempFocus = overView = downPoint = lastPoint = downItem = overItem = dragItem = clickItem = clickTime = dblClick = null; } } }; }); var CanvasView = View.extend({ _class: 'CanvasView', initialize: function CanvasView(project, canvas) { if (!(canvas instanceof window.HTMLCanvasElement)) { var size = Size.read(arguments, 1); if (size.isZero()) throw new Error( 'Cannot create CanvasView with the provided argument: ' + Base.slice(arguments, 1)); canvas = CanvasProvider.getCanvas(size); } var ctx = this._context = canvas.getContext('2d'); ctx.save(); this._pixelRatio = 1; if (!/^off|false$/.test(PaperScope.getAttribute(canvas, 'hidpi'))) { var deviceRatio = window.devicePixelRatio || 1, backingStoreRatio = DomElement.getPrefixed(ctx, 'backingStorePixelRatio') || 1; this._pixelRatio = deviceRatio / backingStoreRatio; } View.call(this, project, canvas); this._needsUpdate = true; }, remove: function remove() { this._context.restore(); return remove.base.call(this); }, _setElementSize: function _setElementSize(width, height) { var pixelRatio = this._pixelRatio; _setElementSize.base.call(this, width * pixelRatio, height * pixelRatio); if (pixelRatio !== 1) { var element = this._element, ctx = this._context; if (!PaperScope.hasAttribute(element, 'resize')) { var style = element.style; style.width = width + 'px'; style.height = height + 'px'; } ctx.restore(); ctx.save(); ctx.scale(pixelRatio, pixelRatio); } }, getContext: function() { return this._context; }, getPixelSize: function getPixelSize(size) { var agent = paper.agent, pixels; if (agent && agent.firefox) { pixels = getPixelSize.base.call(this, size); } else { var ctx = this._context, prevFont = ctx.font; ctx.font = size + ' serif'; pixels = parseFloat(ctx.font); ctx.font = prevFont; } return pixels; }, getTextWidth: function(font, lines) { var ctx = this._context, prevFont = ctx.font, width = 0; ctx.font = font; for (var i = 0, l = lines.length; i < l; i++) width = Math.max(width, ctx.measureText(lines[i]).width); ctx.font = prevFont; return width; }, update: function() { if (!this._needsUpdate) return false; var project = this._project, ctx = this._context, size = this._viewSize; ctx.clearRect(0, 0, size.width + 1, size.height + 1); if (project) project.draw(ctx, this._matrix, this._pixelRatio); this._needsUpdate = false; return true; } }); var Event = Base.extend({ _class: 'Event', initialize: function Event(event) { this.event = event; this.type = event && event.type; }, prevented: false, stopped: false, preventDefault: function() { this.prevented = true; this.event.preventDefault(); }, stopPropagation: function() { this.stopped = true; this.event.stopPropagation(); }, stop: function() { this.stopPropagation(); this.preventDefault(); }, getTimeStamp: function() { return this.event.timeStamp; }, getModifiers: function() { return Key.modifiers; } }); var KeyEvent = Event.extend({ _class: 'KeyEvent', initialize: function KeyEvent(type, event, key, character) { this.type = type; this.event = event; this.key = key; this.character = character; }, toString: function() { return "{ type: '" + this.type + "', key: '" + this.key + "', character: '" + this.character + "', modifiers: " + this.getModifiers() + " }"; } }); var Key = new function() { var keyLookup = { '\t': 'tab', ' ': 'space', '\b': 'backspace', '\x7f': 'delete', 'Spacebar': 'space', 'Del': 'delete', 'Win': 'meta', 'Esc': 'escape' }, charLookup = { 'tab': '\t', 'space': ' ', 'enter': '\r' }, keyMap = {}, charMap = {}, metaFixMap, downKey, modifiers = new Base({ shift: false, control: false, alt: false, meta: false, capsLock: false, space: false }).inject({ option: { get: function() { return this.alt; } }, command: { get: function() { var agent = paper && paper.agent; return agent && agent.mac ? this.meta : this.control; } } }); function getKey(event) { var key = event.key || event.keyIdentifier; key = /^U\+/.test(key) ? String.fromCharCode(parseInt(key.substr(2), 16)) : /^Arrow[A-Z]/.test(key) ? key.substr(5) : key === 'Unidentified' || key === undefined ? String.fromCharCode(event.keyCode) : key; return keyLookup[key] || (key.length > 1 ? Base.hyphenate(key) : key.toLowerCase()); } function handleKey(down, key, character, event) { var type = down ? 'keydown' : 'keyup', view = View._focused, name; keyMap[key] = down; if (down) { charMap[key] = character; } else { delete charMap[key]; } if (key.length > 1 && (name = Base.camelize(key)) in modifiers) { modifiers[name] = down; var agent = paper && paper.agent; if (name === 'meta' && agent && agent.mac) { if (down) { metaFixMap = {}; } else { for (var k in metaFixMap) { if (k in charMap) handleKey(false, k, metaFixMap[k], event); } metaFixMap = null; } } } else if (down && metaFixMap) { metaFixMap[key] = character; } if (view) { view._handleKeyEvent(down ? 'keydown' : 'keyup', event, key, character); } } DomEvent.add(document, { keydown: function(event) { var key = getKey(event), agent = paper && paper.agent; if (key.length > 1 || agent && (agent.chrome && (event.altKey || agent.mac && event.metaKey || !agent.mac && event.ctrlKey))) { handleKey(true, key, charLookup[key] || (key.length > 1 ? '' : key), event); } else { downKey = key; } }, keypress: function(event) { if (downKey) { var key = getKey(event), code = event.charCode, character = code >= 32 ? String.fromCharCode(code) : key.length > 1 ? '' : key; if (key !== downKey) { key = character.toLowerCase(); } handleKey(true, key, character, event); downKey = null; } }, keyup: function(event) { var key = getKey(event); if (key in charMap) handleKey(false, key, charMap[key], event); } }); DomEvent.add(window, { blur: function(event) { for (var key in charMap) handleKey(false, key, charMap[key], event); } }); return { modifiers: modifiers, isDown: function(key) { return !!keyMap[key]; } }; }; var MouseEvent = Event.extend({ _class: 'MouseEvent', initialize: function MouseEvent(type, event, point, target, delta) { this.type = type; this.event = event; this.point = point; this.target = target; this.delta = delta; }, toString: function() { return "{ type: '" + this.type + "', point: " + this.point + ', target: ' + this.target + (this.delta ? ', delta: ' + this.delta : '') + ', modifiers: ' + this.getModifiers() + ' }'; } }); var ToolEvent = Event.extend({ _class: 'ToolEvent', _item: null, initialize: function ToolEvent(tool, type, event) { this.tool = tool; this.type = type; this.event = event; }, _choosePoint: function(point, toolPoint) { return point ? point : toolPoint ? toolPoint.clone() : null; }, getPoint: function() { return this._choosePoint(this._point, this.tool._point); }, setPoint: function(point) { this._point = point; }, getLastPoint: function() { return this._choosePoint(this._lastPoint, this.tool._lastPoint); }, setLastPoint: function(lastPoint) { this._lastPoint = lastPoint; }, getDownPoint: function() { return this._choosePoint(this._downPoint, this.tool._downPoint); }, setDownPoint: function(downPoint) { this._downPoint = downPoint; }, getMiddlePoint: function() { if (!this._middlePoint && this.tool._lastPoint) { return this.tool._point.add(this.tool._lastPoint).divide(2); } return this._middlePoint; }, setMiddlePoint: function(middlePoint) { this._middlePoint = middlePoint; }, getDelta: function() { return !this._delta && this.tool._lastPoint ? this.tool._point.subtract(this.tool._lastPoint) : this._delta; }, setDelta: function(delta) { this._delta = delta; }, getCount: function() { return this.tool[/^mouse(down|up)$/.test(this.type) ? '_downCount' : '_moveCount']; }, setCount: function(count) { this.tool[/^mouse(down|up)$/.test(this.type) ? 'downCount' : 'count'] = count; }, getItem: function() { if (!this._item) { var result = this.tool._scope.project.hitTest(this.getPoint()); if (result) { var item = result.item, parent = item._parent; while (/^(Group|CompoundPath)$/.test(parent._class)) { item = parent; parent = parent._parent; } this._item = item; } } return this._item; }, setItem: function(item) { this._item = item; }, toString: function() { return '{ type: ' + this.type + ', point: ' + this.getPoint() + ', count: ' + this.getCount() + ', modifiers: ' + this.getModifiers() + ' }'; } }); var Tool = PaperScopeItem.extend({ _class: 'Tool', _list: 'tools', _reference: 'tool', _events: ['onMouseDown', 'onMouseUp', 'onMouseDrag', 'onMouseMove', 'onActivate', 'onDeactivate', 'onEditOptions', 'onKeyDown', 'onKeyUp'], initialize: function Tool(props) { PaperScopeItem.call(this); this._moveCount = -1; this._downCount = -1; this.set(props); }, getMinDistance: function() { return this._minDistance; }, setMinDistance: function(minDistance) { this._minDistance = minDistance; if (minDistance != null && this._maxDistance != null && minDistance > this._maxDistance) { this._maxDistance = minDistance; } }, getMaxDistance: function() { return this._maxDistance; }, setMaxDistance: function(maxDistance) { this._maxDistance = maxDistance; if (this._minDistance != null && maxDistance != null && maxDistance < this._minDistance) { this._minDistance = maxDistance; } }, getFixedDistance: function() { return this._minDistance == this._maxDistance ? this._minDistance : null; }, setFixedDistance: function(distance) { this._minDistance = this._maxDistance = distance; }, _handleMouseEvent: function(type, event, point, mouse) { paper = this._scope; if (mouse.drag && !this.responds(type)) type = 'mousemove'; var move = mouse.move || mouse.drag, responds = this.responds(type), minDistance = this.minDistance, maxDistance = this.maxDistance, called = false, tool = this; function update(minDistance, maxDistance) { var pt = point, toolPoint = move ? tool._point : (tool._downPoint || pt); if (move) { if (tool._moveCount >= 0 && pt.equals(toolPoint)) { return false; } if (toolPoint && (minDistance != null || maxDistance != null)) { var vector = pt.subtract(toolPoint), distance = vector.getLength(); if (distance < (minDistance || 0)) return false; if (maxDistance) { pt = toolPoint.add(vector.normalize( Math.min(distance, maxDistance))); } } tool._moveCount++; } tool._point = pt; tool._lastPoint = toolPoint || pt; if (mouse.down) { tool._moveCount = -1; tool._downPoint = pt; tool._downCount++; } return true; } function emit() { if (responds) { called = tool.emit(type, new ToolEvent(tool, type, event)) || called; } } if (mouse.down) { update(); emit(); } else if (mouse.up) { update(null, maxDistance); emit(); } else if (responds) { while (update(minDistance, maxDistance)) emit(); } return called; } }); var Tween = Base.extend(Emitter, { _class: 'Tween', statics: { easings: { linear: function(t) { return t; }, easeInQuad: function(t) { return t * t; }, easeOutQuad: function(t) { return t * (2 - t); }, easeInOutQuad: function(t) { return t < 0.5 ? 2 * t * t : -1 + 2 * (2 - t) * t; }, easeInCubic: function(t) { return t * t * t; }, easeOutCubic: function(t) { return --t * t * t + 1; }, easeInOutCubic: function(t) { return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1; }, easeInQuart: function(t) { return t * t * t * t; }, easeOutQuart: function(t) { return 1 - (--t) * t * t * t; }, easeInOutQuart: function(t) { return t < 0.5 ? 8 * t * t * t * t : 1 - 8 * (--t) * t * t * t; }, easeInQuint: function(t) { return t * t * t * t * t; }, easeOutQuint: function(t) { return 1 + --t * t * t * t * t; }, easeInOutQuint: function(t) { return t < 0.5 ? 16 * t * t * t * t * t : 1 + 16 * (--t) * t * t * t * t; } } }, initialize: function Tween(object, from, to, duration, easing, start) { this.object = object; var type = typeof easing; var isFunction = type === 'function'; this.type = isFunction ? type : type === 'string' ? easing : 'linear'; this.easing = isFunction ? easing : Tween.easings[this.type]; this.duration = duration; this.running = false; this._then = null; this._startTime = null; var state = from || to; this._keys = state ? Object.keys(state) : []; this._parsedKeys = this._parseKeys(this._keys); this._from = state && this._getState(from); this._to = state && this._getState(to); if (start !== false) { this.start(); } }, then: function(then) { this._then = then; return this; }, start: function() { this._startTime = null; this.running = true; return this; }, stop: function() { this.running = false; return this; }, update: function(progress) { if (this.running) { if (progress > 1) { progress = 1; this.running = false; } var factor = this.easing(progress), keys = this._keys, getValue = function(value) { return typeof value === 'function' ? value(factor, progress) : value; }; for (var i = 0, l = keys && keys.length; i < l; i++) { var key = keys[i], from = getValue(this._from[key]), to = getValue(this._to[key]), value = (from && to && from.__add && to.__add) ? to.__subtract(from).__multiply(factor).__add(from) : ((to - from) * factor) + from; this._setProperty(this._parsedKeys[key], value); } if (!this.running && this._then) { this._then(this.object); } if (this.responds('update')) { this.emit('update', new Base({ progress: progress, factor: factor })); } } return this; }, _events: { onUpdate: {} }, _handleFrame: function(time) { var startTime = this._startTime, progress = startTime ? (time - startTime) / this.duration : 0; if (!startTime) { this._startTime = time; } this.update(progress); }, _getState: function(state) { var keys = this._keys, result = {}; for (var i = 0, l = keys.length; i < l; i++) { var key = keys[i], path = this._parsedKeys[key], current = this._getProperty(path), value; if (state) { var resolved = this._resolveValue(current, state[key]); this._setProperty(path, resolved); value = this._getProperty(path); value = value && value.clone ? value.clone() : value; this._setProperty(path, current); } else { value = current && current.clone ? current.clone() : current; } result[key] = value; } return result; }, _resolveValue: function(current, value) { if (value) { if (Array.isArray(value) && value.length === 2) { var operator = value[0]; return ( operator && operator.match && operator.match(/^[+\-\*\/]=/) ) ? this._calculate(current, operator[0], value[1]) : value; } else if (typeof value === 'string') { var match = value.match(/^[+\-*/]=(.*)/); if (match) { var parsed = JSON.parse(match[1].replace( /(['"])?([a-zA-Z0-9_]+)(['"])?:/g, '"$2": ' )); return this._calculate(current, value[0], parsed); } } } return value; }, _calculate: function(left, operator, right) { return paper.PaperScript.calculateBinary(left, operator, right); }, _parseKeys: function(keys) { var parsed = {}; for (var i = 0, l = keys.length; i < l; i++) { var key = keys[i], path = key .replace(/\.([^.]*)/g, '/$1') .replace(/\[['"]?([^'"\]]*)['"]?\]/g, '/$1'); parsed[key] = path.split('/'); } return parsed; }, _getProperty: function(path, offset) { var obj = this.object; for (var i = 0, l = path.length - (offset || 0); i < l && obj; i++) { obj = obj[path[i]]; } return obj; }, _setProperty: function(path, value) { var dest = this._getProperty(path, 1); if (dest) { dest[path[path.length - 1]] = value; } } }); var Http = { request: function(options) { var xhr = new self.XMLHttpRequest(); xhr.open((options.method || 'get').toUpperCase(), options.url, Base.pick(options.async, true)); if (options.mimeType) xhr.overrideMimeType(options.mimeType); xhr.onload = function() { var status = xhr.status; if (status === 0 || status === 200) { if (options.onLoad) { options.onLoad.call(xhr, xhr.responseText); } } else { xhr.onerror(); } }; xhr.onerror = function() { var status = xhr.status, message = 'Could not load "' + options.url + '" (Status: ' + status + ')'; if (options.onError) { options.onError(message, status); } else { throw new Error(message); } }; return xhr.send(null); } }; var CanvasProvider = { canvases: [], getCanvas: function(width, height) { if (!window) return null; var canvas, clear = true; if (typeof width === 'object') { height = width.height; width = width.width; } if (this.canvases.length) { canvas = this.canvases.pop(); } else { canvas = document.createElement('canvas'); clear = false; } var ctx = canvas.getContext('2d'); if (!ctx) { throw new Error('Canvas ' + canvas + ' is unable to provide a 2D context.'); } if (canvas.width === width && canvas.height === height) { if (clear) ctx.clearRect(0, 0, width + 1, height + 1); } else { canvas.width = width; canvas.height = height; } ctx.save(); return canvas; }, getContext: function(width, height) { var canvas = this.getCanvas(width, height); return canvas ? canvas.getContext('2d') : null; }, release: function(obj) { var canvas = obj && obj.canvas ? obj.canvas : obj; if (canvas && canvas.getContext) { canvas.getContext('2d').restore(); this.canvases.push(canvas); } } }; var BlendMode = new function() { var min = Math.min, max = Math.max, abs = Math.abs, sr, sg, sb, sa, br, bg, bb, ba, dr, dg, db; function getLum(r, g, b) { return 0.2989 * r + 0.587 * g + 0.114 * b; } function setLum(r, g, b, l) { var d = l - getLum(r, g, b); dr = r + d; dg = g + d; db = b + d; var l = getLum(dr, dg, db), mn = min(dr, dg, db), mx = max(dr, dg, db); if (mn < 0) { var lmn = l - mn; dr = l + (dr - l) * l / lmn; dg = l + (dg - l) * l / lmn; db = l + (db - l) * l / lmn; } if (mx > 255) { var ln = 255 - l, mxl = mx - l; dr = l + (dr - l) * ln / mxl; dg = l + (dg - l) * ln / mxl; db = l + (db - l) * ln / mxl; } } function getSat(r, g, b) { return max(r, g, b) - min(r, g, b); } function setSat(r, g, b, s) { var col = [r, g, b], mx = max(r, g, b), mn = min(r, g, b), md; mn = mn === r ? 0 : mn === g ? 1 : 2; mx = mx === r ? 0 : mx === g ? 1 : 2; md = min(mn, mx) === 0 ? max(mn, mx) === 1 ? 2 : 1 : 0; if (col[mx] > col[mn]) { col[md] = (col[md] - col[mn]) * s / (col[mx] - col[mn]); col[mx] = s; } else { col[md] = col[mx] = 0; } col[mn] = 0; dr = col[0]; dg = col[1]; db = col[2]; } var modes = { multiply: function() { dr = br * sr / 255; dg = bg * sg / 255; db = bb * sb / 255; }, screen: function() { dr = br + sr - (br * sr / 255); dg = bg + sg - (bg * sg / 255); db = bb + sb - (bb * sb / 255); }, overlay: function() { dr = br < 128 ? 2 * br * sr / 255 : 255 - 2 * (255 - br) * (255 - sr) / 255; dg = bg < 128 ? 2 * bg * sg / 255 : 255 - 2 * (255 - bg) * (255 - sg) / 255; db = bb < 128 ? 2 * bb * sb / 255 : 255 - 2 * (255 - bb) * (255 - sb) / 255; }, 'soft-light': function() { var t = sr * br / 255; dr = t + br * (255 - (255 - br) * (255 - sr) / 255 - t) / 255; t = sg * bg / 255; dg = t + bg * (255 - (255 - bg) * (255 - sg) / 255 - t) / 255; t = sb * bb / 255; db = t + bb * (255 - (255 - bb) * (255 - sb) / 255 - t) / 255; }, 'hard-light': function() { dr = sr < 128 ? 2 * sr * br / 255 : 255 - 2 * (255 - sr) * (255 - br) / 255; dg = sg < 128 ? 2 * sg * bg / 255 : 255 - 2 * (255 - sg) * (255 - bg) / 255; db = sb < 128 ? 2 * sb * bb / 255 : 255 - 2 * (255 - sb) * (255 - bb) / 255; }, 'color-dodge': function() { dr = br === 0 ? 0 : sr === 255 ? 255 : min(255, 255 * br / (255 - sr)); dg = bg === 0 ? 0 : sg === 255 ? 255 : min(255, 255 * bg / (255 - sg)); db = bb === 0 ? 0 : sb === 255 ? 255 : min(255, 255 * bb / (255 - sb)); }, 'color-burn': function() { dr = br === 255 ? 255 : sr === 0 ? 0 : max(0, 255 - (255 - br) * 255 / sr); dg = bg === 255 ? 255 : sg === 0 ? 0 : max(0, 255 - (255 - bg) * 255 / sg); db = bb === 255 ? 255 : sb === 0 ? 0 : max(0, 255 - (255 - bb) * 255 / sb); }, darken: function() { dr = br < sr ? br : sr; dg = bg < sg ? bg : sg; db = bb < sb ? bb : sb; }, lighten: function() { dr = br > sr ? br : sr; dg = bg > sg ? bg : sg; db = bb > sb ? bb : sb; }, difference: function() { dr = br - sr; if (dr < 0) dr = -dr; dg = bg - sg; if (dg < 0) dg = -dg; db = bb - sb; if (db < 0) db = -db; }, exclusion: function() { dr = br + sr * (255 - br - br) / 255; dg = bg + sg * (255 - bg - bg) / 255; db = bb + sb * (255 - bb - bb) / 255; }, hue: function() { setSat(sr, sg, sb, getSat(br, bg, bb)); setLum(dr, dg, db, getLum(br, bg, bb)); }, saturation: function() { setSat(br, bg, bb, getSat(sr, sg, sb)); setLum(dr, dg, db, getLum(br, bg, bb)); }, luminosity: function() { setLum(br, bg, bb, getLum(sr, sg, sb)); }, color: function() { setLum(sr, sg, sb, getLum(br, bg, bb)); }, add: function() { dr = min(br + sr, 255); dg = min(bg + sg, 255); db = min(bb + sb, 255); }, subtract: function() { dr = max(br - sr, 0); dg = max(bg - sg, 0); db = max(bb - sb, 0); }, average: function() { dr = (br + sr) / 2; dg = (bg + sg) / 2; db = (bb + sb) / 2; }, negation: function() { dr = 255 - abs(255 - sr - br); dg = 255 - abs(255 - sg - bg); db = 255 - abs(255 - sb - bb); } }; var nativeModes = this.nativeModes = Base.each([ 'source-over', 'source-in', 'source-out', 'source-atop', 'destination-over', 'destination-in', 'destination-out', 'destination-atop', 'lighter', 'darker', 'copy', 'xor' ], function(mode) { this[mode] = true; }, {}); var ctx = CanvasProvider.getContext(1, 1); if (ctx) { Base.each(modes, function(func, mode) { var darken = mode === 'darken', ok = false; ctx.save(); try { ctx.fillStyle = darken ? '#300' : '#a00'; ctx.fillRect(0, 0, 1, 1); ctx.globalCompositeOperation = mode; if (ctx.globalCompositeOperation === mode) { ctx.fillStyle = darken ? '#a00' : '#300'; ctx.fillRect(0, 0, 1, 1); ok = ctx.getImageData(0, 0, 1, 1).data[0] !== darken ? 170 : 51; } } catch (e) {} ctx.restore(); nativeModes[mode] = ok; }); CanvasProvider.release(ctx); } this.process = function(mode, srcContext, dstContext, alpha, offset) { var srcCanvas = srcContext.canvas, normal = mode === 'normal'; if (normal || nativeModes[mode]) { dstContext.save(); dstContext.setTransform(1, 0, 0, 1, 0, 0); dstContext.globalAlpha = alpha; if (!normal) dstContext.globalCompositeOperation = mode; dstContext.drawImage(srcCanvas, offset.x, offset.y); dstContext.restore(); } else { var process = modes[mode]; if (!process) return; var dstData = dstContext.getImageData(offset.x, offset.y, srcCanvas.width, srcCanvas.height), dst = dstData.data, src = srcContext.getImageData(0, 0, srcCanvas.width, srcCanvas.height).data; for (var i = 0, l = dst.length; i < l; i += 4) { sr = src[i]; br = dst[i]; sg = src[i + 1]; bg = dst[i + 1]; sb = src[i + 2]; bb = dst[i + 2]; sa = src[i + 3]; ba = dst[i + 3]; process(); var a1 = sa * alpha / 255, a2 = 1 - a1; dst[i] = a1 * dr + a2 * br; dst[i + 1] = a1 * dg + a2 * bg; dst[i + 2] = a1 * db + a2 * bb; dst[i + 3] = sa * alpha + a2 * ba; } dstContext.putImageData(dstData, offset.x, offset.y); } }; }; var SvgElement = new function() { var svg = 'http://www.w3.org/2000/svg', xmlns = 'http://www.w3.org/2000/xmlns', xlink = 'http://www.w3.org/1999/xlink', attributeNamespace = { href: xlink, xlink: xmlns, xmlns: xmlns + '/', 'xmlns:xlink': xmlns + '/' }; function create(tag, attributes, formatter) { return set(document.createElementNS(svg, tag), attributes, formatter); } function get(node, name) { var namespace = attributeNamespace[name], value = namespace ? node.getAttributeNS(namespace, name) : node.getAttribute(name); return value === 'null' ? null : value; } function set(node, attributes, formatter) { for (var name in attributes) { var value = attributes[name], namespace = attributeNamespace[name]; if (typeof value === 'number' && formatter) value = formatter.number(value); if (namespace) { node.setAttributeNS(namespace, name, value); } else { node.setAttribute(name, value); } } return node; } return { svg: svg, xmlns: xmlns, xlink: xlink, create: create, get: get, set: set }; }; var SvgStyles = Base.each({ fillColor: ['fill', 'color'], fillRule: ['fill-rule', 'string'], strokeColor: ['stroke', 'color'], strokeWidth: ['stroke-width', 'number'], strokeCap: ['stroke-linecap', 'string'], strokeJoin: ['stroke-linejoin', 'string'], strokeScaling: ['vector-effect', 'lookup', { true: 'none', false: 'non-scaling-stroke' }, function(item, value) { return !value && (item instanceof PathItem || item instanceof Shape || item instanceof TextItem); }], miterLimit: ['stroke-miterlimit', 'number'], dashArray: ['stroke-dasharray', 'array'], dashOffset: ['stroke-dashoffset', 'number'], fontFamily: ['font-family', 'string'], fontWeight: ['font-weight', 'string'], fontSize: ['font-size', 'number'], justification: ['text-anchor', 'lookup', { left: 'start', center: 'middle', right: 'end' }], opacity: ['opacity', 'number'], blendMode: ['mix-blend-mode', 'style'] }, function(entry, key) { var part = Base.capitalize(key), lookup = entry[2]; this[key] = { type: entry[1], property: key, attribute: entry[0], toSVG: lookup, fromSVG: lookup && Base.each(lookup, function(value, name) { this[value] = name; }, {}), exportFilter: entry[3], get: 'get' + part, set: 'set' + part }; }, {}); new function() { var formatter; function getTransform(matrix, coordinates, center) { var attrs = new Base(), trans = matrix.getTranslation(); if (coordinates) { var point; if (matrix.isInvertible()) { matrix = matrix._shiftless(); point = matrix._inverseTransform(trans); trans = null; } else { point = new Point(); } attrs[center ? 'cx' : 'x'] = point.x; attrs[center ? 'cy' : 'y'] = point.y; } if (!matrix.isIdentity()) { var decomposed = matrix.decompose(); if (decomposed) { var parts = [], angle = decomposed.rotation, scale = decomposed.scaling, skew = decomposed.skewing; if (trans && !trans.isZero()) parts.push('translate(' + formatter.point(trans) + ')'); if (angle) parts.push('rotate(' + formatter.number(angle) + ')'); if (!Numerical.isZero(scale.x - 1) || !Numerical.isZero(scale.y - 1)) parts.push('scale(' + formatter.point(scale) +')'); if (skew.x) parts.push('skewX(' + formatter.number(skew.x) + ')'); if (skew.y) parts.push('skewY(' + formatter.number(skew.y) + ')'); attrs.transform = parts.join(' '); } else { attrs.transform = 'matrix(' + matrix.getValues().join(',') + ')'; } } return attrs; } function exportGroup(item, options) { var attrs = getTransform(item._matrix), children = item._children; var node = SvgElement.create('g', attrs, formatter); for (var i = 0, l = children.length; i < l; i++) { var child = children[i]; var childNode = exportSVG(child, options); if (childNode) { if (child.isClipMask()) { var clip = SvgElement.create('clipPath'); clip.appendChild(childNode); setDefinition(child, clip, 'clip'); SvgElement.set(node, { 'clip-path': 'url(#' + clip.id + ')' }); } else { node.appendChild(childNode); } } } return node; } function exportRaster(item, options) { var attrs = getTransform(item._matrix, true), size = item.getSize(), image = item.getImage(); attrs.x -= size.width / 2; attrs.y -= size.height / 2; attrs.width = size.width; attrs.height = size.height; attrs.href = options.embedImages == false && image && image.src || item.toDataURL(); return SvgElement.create('image', attrs, formatter); } function exportPath(item, options) { var matchShapes = options.matchShapes; if (matchShapes) { var shape = item.toShape(false); if (shape) return exportShape(shape, options); } var segments = item._segments, length = segments.length, type, attrs = getTransform(item._matrix); if (matchShapes && length >= 2 && !item.hasHandles()) { if (length > 2) { type = item._closed ? 'polygon' : 'polyline'; var parts = []; for (var i = 0; i < length; i++) { parts.push(formatter.point(segments[i]._point)); } attrs.points = parts.join(' '); } else { type = 'line'; var start = segments[0]._point, end = segments[1]._point; attrs.set({ x1: start.x, y1: start.y, x2: end.x, y2: end.y }); } } else { type = 'path'; attrs.d = item.getPathData(null, options.precision); } return SvgElement.create(type, attrs, formatter); } function exportShape(item) { var type = item._type, radius = item._radius, attrs = getTransform(item._matrix, true, type !== 'rectangle'); if (type === 'rectangle') { type = 'rect'; var size = item._size, width = size.width, height = size.height; attrs.x -= width / 2; attrs.y -= height / 2; attrs.width = width; attrs.height = height; if (radius.isZero()) radius = null; } if (radius) { if (type === 'circle') { attrs.r = radius; } else { attrs.rx = radius.width; attrs.ry = radius.height; } } return SvgElement.create(type, attrs, formatter); } function exportCompoundPath(item, options) { var attrs = getTransform(item._matrix); var data = item.getPathData(null, options.precision); if (data) attrs.d = data; return SvgElement.create('path', attrs, formatter); } function exportSymbolItem(item, options) { var attrs = getTransform(item._matrix, true), definition = item._definition, node = getDefinition(definition, 'symbol'), definitionItem = definition._item, bounds = definitionItem.getStrokeBounds(); if (!node) { node = SvgElement.create('symbol', { viewBox: formatter.rectangle(bounds) }); node.appendChild(exportSVG(definitionItem, options)); setDefinition(definition, node, 'symbol'); } attrs.href = '#' + node.id; attrs.x += bounds.x; attrs.y += bounds.y; attrs.width = bounds.width; attrs.height = bounds.height; attrs.overflow = 'visible'; return SvgElement.create('use', attrs, formatter); } function exportGradient(color, item) { var gradientNode = getDefinition(color, 'color'); if (!gradientNode) { var gradient = color.getGradient(), radial = gradient._radial, origin = color.getOrigin(), destination = color.getDestination(), attrs; if (radial) { attrs = { cx: origin.x, cy: origin.y, r: origin.getDistance(destination) }; var highlight = color.getHighlight(); if (highlight) { attrs.fx = highlight.x; attrs.fy = highlight.y; } } else { attrs = { x1: origin.x, y1: origin.y, x2: destination.x, y2: destination.y }; } if (item instanceof paper.PointText) { attrs.gradientTransform = getTransform( item._matrix.clone().invert(), false, formatter).transform; } attrs.gradientUnits = 'userSpaceOnUse'; gradientNode = SvgElement.create((radial ? 'radial' : 'linear') + 'Gradient', attrs, formatter); var stops = gradient._stops; for (var i = 0, l = stops.length; i < l; i++) { var stop = stops[i], stopColor = stop._color, alpha = stopColor.getAlpha(), offset = stop._offset; attrs = { offset: offset == null ? i / (l - 1) : offset }; if (stopColor) attrs['stop-color'] = stopColor.toCSS(true); if (alpha < 1) attrs['stop-opacity'] = alpha; gradientNode.appendChild( SvgElement.create('stop', attrs, formatter)); } setDefinition(color, gradientNode, 'color'); } return 'url(#' + gradientNode.id + ')'; } function exportText(item) { var node = SvgElement.create('text', getTransform(item._matrix, false), formatter); node.setAttribute('font-size', item.fontSize); node.setAttribute('xml:space', 'preserve'); for (var i = 0; i < item._lines.length; i++) { var tspanNode = SvgElement.create('tspan', { x: '0', dy: i === 0 ? '0' : item.getLeading() + 'px' }, formatter); tspanNode.textContent = item._lines[i] ? item._lines[i] : ' '; node.appendChild(tspanNode); } return node; } var exporters = { Group: exportGroup, Layer: exportGroup, Raster: exportRaster, Path: exportPath, Shape: exportShape, CompoundPath: exportCompoundPath, SymbolItem: exportSymbolItem, PointText: exportText }; function applyStyle(item, node, isRoot) { var attrs = {}, parent = !isRoot && item.getParent(), style = []; if (item._name != null) attrs.id = item._name; Base.each(SvgStyles, function(entry) { var get = entry.get, type = entry.type, value = item[get](); if (value === undefined) return; if (entry.exportFilter ? entry.exportFilter(item, value) : !parent || !Base.equals(parent[get](), value) || item instanceof paper.PointText) { if (type === 'color' && value != null) { var alpha = value.getAlpha(); if (alpha < 1) attrs[entry.attribute + '-opacity'] = alpha; } if (type === 'style') { style.push(entry.attribute + ': ' + value); } else { attrs[entry.attribute] = value == null ? 'none' : type === 'color' ? value.gradient ? exportGradient(value, item) : value.toCSS(true) : type === 'array' ? value.join(',') : type === 'lookup' ? entry.toSVG[value] : value; } } }); if (style.length) attrs.style = style.join(';'); if (attrs.opacity === 1) delete attrs.opacity; if (!item._visible) attrs.visibility = 'hidden'; return SvgElement.set(node, attrs, formatter); } var definitions; function getDefinition(item, type) { if (!definitions) definitions = { ids: {}, svgs: {} }; return item && definitions.svgs[type + '-' + (item._id || item.__id || (item.__id = UID.get('svg')))]; } function setDefinition(item, node, type) { if (!definitions) getDefinition(); var typeId = definitions.ids[type] = (definitions.ids[type] || 0) + 1; node.id = type + '-' + typeId; definitions.svgs[type + '-' + (item._id || item.__id)] = node; } function exportDefinitions(node, options) { var svg = node, defs = null; if (definitions) { svg = node.nodeName.toLowerCase() === 'svg' && node; for (var i in definitions.svgs) { if (!defs) { if (!svg) { svg = SvgElement.create('svg'); svg.appendChild(node); } defs = svg.insertBefore(SvgElement.create('defs'), svg.firstChild); } defs.appendChild(definitions.svgs[i]); } definitions = null; } return options.asString ? new self.XMLSerializer().serializeToString(svg) : svg; } function exportSVG(item, options, isRoot) { var exporter = exporters[item._class], node = exporter && exporter(item, options); if (node) { var onExport = options.onExport; if (onExport) node = onExport(item, node, options) || node; var data = JSON.stringify(item._data); if (data && data !== '{}' && data !== 'null') node.setAttribute('data-paper-data', data); } return node && applyStyle(item, node, isRoot); } function setOptions(options) { if (!options) options = {}; formatter = new Formatter(options.precision); return options; } Item.inject({ exportSVG: function(options) { options = setOptions(options); return exportDefinitions(exportSVG(this, options, true), options); } }); Project.inject({ exportSVG: function(options) { options = setOptions(options); var children = this._children, view = this.getView(), bounds = Base.pick(options.bounds, 'view'), mx = options.matrix || bounds === 'view' && view._matrix, matrix = mx && Matrix.read([mx]), rect = bounds === 'view' ? new Rectangle([0, 0], view.getViewSize()) : bounds === 'content' ? Item._getBounds(children, matrix, { stroke: true, drawnTextBounds: true }) .rect : Rectangle.read([bounds], 0, { readNull: true }), attrs = { version: '1.1', xmlns: SvgElement.svg, 'xmlns:xlink': SvgElement.xlink, }; if (rect) { attrs.width = rect.width; attrs.height = rect.height; if (rect.x || rect.x === 0 || rect.y || rect.y === 0) attrs.viewBox = formatter.rectangle(rect); } var node = SvgElement.create('svg', attrs, formatter), parent = node; if (matrix && !matrix.isIdentity()) { parent = node.appendChild(SvgElement.create('g', getTransform(matrix), formatter)); } for (var i = 0, l = children.length; i < l; i++) { parent.appendChild(exportSVG(children[i], options, true)); } return exportDefinitions(node, options); } }); }; new function() { var definitions = {}, rootSize; function getValue(node, name, isString, allowNull, allowPercent, defaultValue) { var value = SvgElement.get(node, name) || defaultValue, res = value == null ? allowNull ? null : isString ? '' : 0 : isString ? value : parseFloat(value); return /%\s*$/.test(value) ? (res / 100) * (allowPercent ? 1 : rootSize[/x|^width/.test(name) ? 'width' : 'height']) : res; } function getPoint(node, x, y, allowNull, allowPercent, defaultX, defaultY) { x = getValue(node, x || 'x', false, allowNull, allowPercent, defaultX); y = getValue(node, y || 'y', false, allowNull, allowPercent, defaultY); return allowNull && (x == null || y == null) ? null : new Point(x, y); } function getSize(node, w, h, allowNull, allowPercent) { w = getValue(node, w || 'width', false, allowNull, allowPercent); h = getValue(node, h || 'height', false, allowNull, allowPercent); return allowNull && (w == null || h == null) ? null : new Size(w, h); } function convertValue(value, type, lookup) { return value === 'none' ? null : type === 'number' ? parseFloat(value) : type === 'array' ? value ? value.split(/[\s,]+/g).map(parseFloat) : [] : type === 'color' ? getDefinition(value) || value : type === 'lookup' ? lookup[value] : value; } function importGroup(node, type, options, isRoot) { var nodes = node.childNodes, isClip = type === 'clippath', isDefs = type === 'defs', item = new Group(), project = item._project, currentStyle = project._currentStyle, children = []; if (!isClip && !isDefs) { item = applyAttributes(item, node, isRoot); project._currentStyle = item._style.clone(); } if (isRoot) { var defs = node.querySelectorAll('defs'); for (var i = 0, l = defs.length; i < l; i++) { importNode(defs[i], options, false); } } for (var i = 0, l = nodes.length; i < l; i++) { var childNode = nodes[i], child; if (childNode.nodeType === 1 && !/^defs$/i.test(childNode.nodeName) && (child = importNode(childNode, options, false)) && !(child instanceof SymbolDefinition)) children.push(child); } item.addChildren(children); if (isClip) item = applyAttributes(item.reduce(), node, isRoot); project._currentStyle = currentStyle; if (isClip || isDefs) { item.remove(); item = null; } return item; } function importPoly(node, type) { var coords = node.getAttribute('points').match( /[+-]?(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?/g), points = []; for (var i = 0, l = coords.length; i < l; i += 2) points.push(new Point( parseFloat(coords[i]), parseFloat(coords[i + 1]))); var path = new Path(points); if (type === 'polygon') path.closePath(); return path; } function importPath(node) { return PathItem.create(node.getAttribute('d')); } function importGradient(node, type) { var id = (getValue(node, 'href', true) || '').substring(1), radial = type === 'radialgradient', gradient; if (id) { gradient = definitions[id].getGradient(); if (gradient._radial ^ radial) { gradient = gradient.clone(); gradient._radial = radial; } } else { var nodes = node.childNodes, stops = []; for (var i = 0, l = nodes.length; i < l; i++) { var child = nodes[i]; if (child.nodeType === 1) stops.push(applyAttributes(new GradientStop(), child)); } gradient = new Gradient(stops, radial); } var origin, destination, highlight, scaleToBounds = getValue(node, 'gradientUnits', true) !== 'userSpaceOnUse'; if (radial) { origin = getPoint(node, 'cx', 'cy', false, scaleToBounds, '50%', '50%'); destination = origin.add( getValue(node, 'r', false, false, scaleToBounds, '50%'), 0); highlight = getPoint(node, 'fx', 'fy', true, scaleToBounds); } else { origin = getPoint(node, 'x1', 'y1', false, scaleToBounds, '0%', '0%'); destination = getPoint(node, 'x2', 'y2', false, scaleToBounds, '100%', '0%'); } var color = applyAttributes( new Color(gradient, origin, destination, highlight), node); color._scaleToBounds = scaleToBounds; return null; } var importers = { '#document': function (node, type, options, isRoot) { var nodes = node.childNodes; for (var i = 0, l = nodes.length; i < l; i++) { var child = nodes[i]; if (child.nodeType === 1) return importNode(child, options, isRoot); } }, g: importGroup, svg: importGroup, clippath: importGroup, polygon: importPoly, polyline: importPoly, path: importPath, lineargradient: importGradient, radialgradient: importGradient, image: function (node) { var raster = new Raster(getValue(node, 'href', true)); raster.on('load', function() { var size = getSize(node); this.setSize(size); var center = getPoint(node).add(size.divide(2)); this._matrix.append(new Matrix().translate(center)); }); return raster; }, symbol: function(node, type, options, isRoot) { return new SymbolDefinition( importGroup(node, type, options, isRoot), true); }, defs: importGroup, use: function(node) { var id = (getValue(node, 'href', true) || '').substring(1), definition = definitions[id], point = getPoint(node); return definition ? definition instanceof SymbolDefinition ? definition.place(point) : definition.clone().translate(point) : null; }, circle: function(node) { return new Shape.Circle( getPoint(node, 'cx', 'cy'), getValue(node, 'r')); }, ellipse: function(node) { return new Shape.Ellipse({ center: getPoint(node, 'cx', 'cy'), radius: getSize(node, 'rx', 'ry') }); }, rect: function(node) { return new Shape.Rectangle(new Rectangle( getPoint(node), getSize(node) ), getSize(node, 'rx', 'ry')); }, line: function(node) { return new Path.Line( getPoint(node, 'x1', 'y1'), getPoint(node, 'x2', 'y2')); }, text: function(node) { var fontSize = parseFloat(node.getAttribute("font-size")); var alignmentBaseline = node.getAttribute("alignment-baseline"); if (node.childElementCount === 0) { var text = new PointText(); text.setContent(node.textContent.trim() || ''); text.translate(0, text._style.getLeading()); if (!isNaN(fontSize)) text.setFontSize(fontSize); return text; } else { var lines = []; var spacing = 1.2; for (var i = 0; i < node.childNodes.length; i++) { var child = node.childNodes[i]; if (!child.getAttribute) continue; lines.push(child.textContent); var dyString = child.getAttribute('dy'); if (dyString) { var dy = parseFloat(dyString); if (!isNaN(dy)) { if (dyString.endsWith('em')) { spacing = dy; } else if (dyString.endsWith('px') && !isNaN(fontSize)) { spacing = dy / fontSize; } } } } var text = new PointText(); if (!isNaN(fontSize)) text.setFontSize(fontSize); text.setLeading(text.fontSize * spacing); if (alignmentBaseline === 'text-before-edge') { text.setContent(' '); text.translate(0, text.bounds.height); } text.setContent(lines.join('\n')); return text; } }, switch: importGroup }; function applyTransform(item, value, name, node) { if (item.transform) { var transforms = (node.getAttribute(name) || '').split(/\)\s*/g), matrix = new Matrix(); for (var i = 0, l = transforms.length; i < l; i++) { var transform = transforms[i]; if (!transform) break; var parts = transform.split(/\(\s*/), command = parts[0], v = parts[1].split(/[\s,]+/g); for (var j = 0, m = v.length; j < m; j++) v[j] = parseFloat(v[j]); switch (command) { case 'matrix': matrix.append( new Matrix(v[0], v[1], v[2], v[3], v[4], v[5])); break; case 'rotate': matrix.rotate(v[0], v[1] || 0, v[2] || 0); break; case 'translate': matrix.translate(v[0], v[1] || 0); break; case 'scale': matrix.scale(v); break; case 'skewX': matrix.skew(v[0], 0); break; case 'skewY': matrix.skew(0, v[0]); break; } } item.transform(matrix); } } function applyOpacity(item, value, name) { var key = name === 'fill-opacity' ? 'getFillColor' : 'getStrokeColor', color = item[key] && item[key](); if (color) color.setAlpha(parseFloat(value)); } var attributes = Base.set(Base.each(SvgStyles, function(entry) { this[entry.attribute] = function(item, value) { if (item[entry.set]) { item[entry.set](convertValue(value, entry.type, entry.fromSVG)); if (entry.type === 'color') { var color = item[entry.get](); if (color) { if (color._scaleToBounds) { var bounds = item.getBounds(); color.transform(new Matrix() .translate(bounds.getPoint()) .scale(bounds.getSize())); } } } } }; }, {}), { id: function(item, value) { definitions[value] = item; }, 'clip-path': function(item, value) { var clip = getDefinition(value); if (clip) { clip = clip.clone(); clip.setClipMask(true); if (item instanceof Group) { item.insertChild(0, clip); } else { return new Group(clip, item); } } }, gradientTransform: applyTransform, transform: applyTransform, 'fill-opacity': applyOpacity, 'stroke-opacity': applyOpacity, visibility: function(item, value) { if (item.setVisible) item.setVisible(value === 'visible'); }, display: function(item, value) { if (item.setVisible) item.setVisible(value !== null); }, 'stop-color': function(item, value) { if (item.setColor) item.setColor(value); }, 'stop-opacity': function(item, value) { if (item._color) item._color.setAlpha(parseFloat(value)); }, offset: function(item, value) { if (item.setOffset) { var percent = value.match(/(.*)%$/); item.setOffset(percent ? percent[1] / 100 : parseFloat(value)); } }, viewBox: function(item, value, name, node, styles) { var rect = new Rectangle(convertValue(value, 'array')), size = getSize(node, null, null, true), group, matrix; if (item instanceof Group) { var scale = size ? size.divide(rect.getSize()) : 1, matrix = new Matrix().scale(scale) .translate(rect.getPoint().negate()); group = item; } else if (item instanceof SymbolDefinition) { if (size) rect.setSize(size); group = item._item; } if (group) { if (getAttribute(node, 'overflow', styles) !== 'visible') { var clip = new Shape.Rectangle(rect); clip.setClipMask(true); group.addChild(clip); } if (matrix) group.transform(matrix); } }, 'fill-rule': function(item, value) { if (value === 'evenodd' || value === 'nonzero') item.fillRule = value; } }); function getAttribute(node, name, styles) { var attr = node.attributes[name], value = attr && attr.value; if (!value && node.style) { var style = Base.camelize(name); value = node.style[style]; if (!value && styles.node[style] !== styles.parent[style]) value = styles.node[style]; } return !value ? undefined : value === 'none' ? null : value; } function applyAttributes(item, node, isRoot) { var parent = node.parentNode, styles = { node: DomElement.getStyles(node) || {}, parent: !isRoot && !/^defs$/i.test(parent.tagName) && DomElement.getStyles(parent) || {} }; Base.each(attributes, function(apply, name) { var value = getAttribute(node, name, styles); item = value !== undefined && apply(item, value, name, node, styles) || item; }); return item; } function getDefinition(value) { var match = value && value.match(/\((?:["'#]*)([^"')]+)/), name = match && match[1], res = name && definitions[window ? name.replace(window.location.href.split('#')[0] + '#', '') : name]; if (res && res._scaleToBounds) { res = res.clone(); res._scaleToBounds = true; } return res; } function importNode(node, options, isRoot) { var type = node.nodeName.toLowerCase(), isElement = type !== '#document', body = document.body, container, parent, next; if (isRoot && isElement) { rootSize = paper.getView().getSize(); rootSize = getSize(node, null, null, true) || rootSize; container = SvgElement.create('svg', { style: 'stroke-width: 1px; stroke-miterlimit: 10' }); parent = node.parentNode; next = node.nextSibling; container.appendChild(node); body.appendChild(container); } var settings = paper.settings, applyMatrix = settings.applyMatrix, insertItems = settings.insertItems; settings.applyMatrix = false; settings.insertItems = false; var importer = importers[type], item = importer && importer(node, type, options, isRoot) || null; settings.insertItems = insertItems; settings.applyMatrix = applyMatrix; if (item) { if (isElement && !(item instanceof Group)) item = applyAttributes(item, node, isRoot); var onImport = options.onImport, data = isElement && node.getAttribute('data-paper-data'); if (onImport) item = onImport(node, item, options) || item; if (options.expandShapes && item instanceof Shape) { item.remove(); item = item.toPath(); } if (data) item._data = JSON.parse(data); } if (container) { body.removeChild(container); if (parent) { if (next) { parent.insertBefore(node, next); } else { parent.appendChild(node); } } } if (isRoot) { definitions = {}; if (item && Base.pick(options.applyMatrix, applyMatrix)) item.matrix.apply(true, true); } return item; } function importSVG(source, options, owner) { if (!source) return null; options = typeof options === 'function' ? { onLoad: options } : options || {}; var scope = paper, item = null; function onLoad(svg) { try { var node = typeof svg === 'object' ? svg : new self.DOMParser().parseFromString( svg, 'image/svg+xml' ); if (!node.nodeName) { node = null; throw new Error('Unsupported SVG source: ' + source); } paper = scope; item = importNode(node, options, true); if (!options || options.insert !== false) { owner._insertItem(undefined, item); } var onLoad = options.onLoad; if (onLoad) onLoad(item, svg); } catch (e) { onError(e); } } function onError(message, status) { var onError = options.onError; if (onError) { onError(message, status); } else { throw new Error(message); } } if (typeof source === 'string' && !/^[\s\S]* 3) { cats.sort(function(a, b) {return b.length - a.length;}); f += "switch(str.length){"; for (var i = 0; i < cats.length; ++i) { var cat = cats[i]; f += "case " + cat[0].length + ":"; compareTo(cat); } f += "}"; } else { compareTo(words); } return new Function("str", f); } var isReservedWord3 = makePredicate("abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile"); var isReservedWord5 = makePredicate("class enum extends super const export import"); var isStrictReservedWord = makePredicate("implements interface let package private protected public static yield"); var isStrictBadIdWord = makePredicate("eval arguments"); var isKeyword = makePredicate("break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this"); var nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/; var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; var nonASCIIidentifierChars = "\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u0620-\u0649\u0672-\u06d3\u06e7-\u06e8\u06fb-\u06fc\u0730-\u074a\u0800-\u0814\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0840-\u0857\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962-\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09d7\u09df-\u09e0\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5f-\u0b60\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2-\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d46-\u0d48\u0d57\u0d62-\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e34-\u0e3a\u0e40-\u0e45\u0e50-\u0e59\u0eb4-\u0eb9\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f41-\u0f47\u0f71-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1029\u1040-\u1049\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u170e-\u1710\u1720-\u1730\u1740-\u1750\u1772\u1773\u1780-\u17b2\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1920-\u192b\u1930-\u193b\u1951-\u196d\u19b0-\u19c0\u19c8-\u19c9\u19d0-\u19d9\u1a00-\u1a15\u1a20-\u1a53\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b46-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1bb0-\u1bb9\u1be6-\u1bf3\u1c00-\u1c22\u1c40-\u1c49\u1c5b-\u1c7d\u1cd0-\u1cd2\u1d00-\u1dbe\u1e01-\u1f15\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2d81-\u2d96\u2de0-\u2dff\u3021-\u3028\u3099\u309a\ua640-\ua66d\ua674-\ua67d\ua69f\ua6f0-\ua6f1\ua7f8-\ua800\ua806\ua80b\ua823-\ua827\ua880-\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8f3-\ua8f7\ua900-\ua909\ua926-\ua92d\ua930-\ua945\ua980-\ua983\ua9b3-\ua9c0\uaa00-\uaa27\uaa40-\uaa41\uaa4c-\uaa4d\uaa50-\uaa59\uaa7b\uaae0-\uaae9\uaaf2-\uaaf3\uabc0-\uabe1\uabec\uabed\uabf0-\uabf9\ufb20-\ufb28\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); var newline = /[\n\r\u2028\u2029]/; var lineBreak = /\r\n|[\n\r\u2028\u2029]/g; var isIdentifierStart = exports.isIdentifierStart = function(code) { if (code < 65) return code === 36; if (code < 91) return true; if (code < 97) return code === 95; if (code < 123)return true; return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); }; var isIdentifierChar = exports.isIdentifierChar = function(code) { if (code < 48) return code === 36; if (code < 58) return true; if (code < 65) return false; if (code < 91) return true; if (code < 97) return code === 95; if (code < 123)return true; return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); }; function line_loc_t() { this.line = tokCurLine; this.column = tokPos - tokLineStart; } function initTokenState() { tokCurLine = 1; tokPos = tokLineStart = 0; tokRegexpAllowed = true; skipSpace(); } function finishToken(type, val) { tokEnd = tokPos; if (options.locations) tokEndLoc = new line_loc_t; tokType = type; skipSpace(); tokVal = val; tokRegexpAllowed = type.beforeExpr; } function skipBlockComment() { var startLoc = options.onComment && options.locations && new line_loc_t; var start = tokPos, end = input.indexOf("*/", tokPos += 2); if (end === -1) raise(tokPos - 2, "Unterminated comment"); tokPos = end + 2; if (options.locations) { lineBreak.lastIndex = start; var match; while ((match = lineBreak.exec(input)) && match.index < tokPos) { ++tokCurLine; tokLineStart = match.index + match[0].length; } } if (options.onComment) options.onComment(true, input.slice(start + 2, end), start, tokPos, startLoc, options.locations && new line_loc_t); } function skipLineComment() { var start = tokPos; var startLoc = options.onComment && options.locations && new line_loc_t; var ch = input.charCodeAt(tokPos+=2); while (tokPos < inputLen && ch !== 10 && ch !== 13 && ch !== 8232 && ch !== 8233) { ++tokPos; ch = input.charCodeAt(tokPos); } if (options.onComment) options.onComment(false, input.slice(start + 2, tokPos), start, tokPos, startLoc, options.locations && new line_loc_t); } function skipSpace() { while (tokPos < inputLen) { var ch = input.charCodeAt(tokPos); if (ch === 32) { ++tokPos; } else if (ch === 13) { ++tokPos; var next = input.charCodeAt(tokPos); if (next === 10) { ++tokPos; } if (options.locations) { ++tokCurLine; tokLineStart = tokPos; } } else if (ch === 10 || ch === 8232 || ch === 8233) { ++tokPos; if (options.locations) { ++tokCurLine; tokLineStart = tokPos; } } else if (ch > 8 && ch < 14) { ++tokPos; } else if (ch === 47) { var next = input.charCodeAt(tokPos + 1); if (next === 42) { skipBlockComment(); } else if (next === 47) { skipLineComment(); } else break; } else if (ch === 160) { ++tokPos; } else if (ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) { ++tokPos; } else { break; } } } function readToken_dot() { var next = input.charCodeAt(tokPos + 1); if (next >= 48 && next <= 57) return readNumber(true); ++tokPos; return finishToken(_dot); } function readToken_slash() { var next = input.charCodeAt(tokPos + 1); if (tokRegexpAllowed) {++tokPos; return readRegexp();} if (next === 61) return finishOp(_assign, 2); return finishOp(_slash, 1); } function readToken_mult_modulo() { var next = input.charCodeAt(tokPos + 1); if (next === 61) return finishOp(_assign, 2); return finishOp(_multiplyModulo, 1); } function readToken_pipe_amp(code) { var next = input.charCodeAt(tokPos + 1); if (next === code) return finishOp(code === 124 ? _logicalOR : _logicalAND, 2); if (next === 61) return finishOp(_assign, 2); return finishOp(code === 124 ? _bitwiseOR : _bitwiseAND, 1); } function readToken_caret() { var next = input.charCodeAt(tokPos + 1); if (next === 61) return finishOp(_assign, 2); return finishOp(_bitwiseXOR, 1); } function readToken_plus_min(code) { var next = input.charCodeAt(tokPos + 1); if (next === code) { if (next == 45 && input.charCodeAt(tokPos + 2) == 62 && newline.test(input.slice(lastEnd, tokPos))) { tokPos += 3; skipLineComment(); skipSpace(); return readToken(); } return finishOp(_incDec, 2); } if (next === 61) return finishOp(_assign, 2); return finishOp(_plusMin, 1); } function readToken_lt_gt(code) { var next = input.charCodeAt(tokPos + 1); var size = 1; if (next === code) { size = code === 62 && input.charCodeAt(tokPos + 2) === 62 ? 3 : 2; if (input.charCodeAt(tokPos + size) === 61) return finishOp(_assign, size + 1); return finishOp(_bitShift, size); } if (next == 33 && code == 60 && input.charCodeAt(tokPos + 2) == 45 && input.charCodeAt(tokPos + 3) == 45) { tokPos += 4; skipLineComment(); skipSpace(); return readToken(); } if (next === 61) size = input.charCodeAt(tokPos + 2) === 61 ? 3 : 2; return finishOp(_relational, size); } function readToken_eq_excl(code) { var next = input.charCodeAt(tokPos + 1); if (next === 61) return finishOp(_equality, input.charCodeAt(tokPos + 2) === 61 ? 3 : 2); return finishOp(code === 61 ? _eq : _prefix, 1); } function getTokenFromCode(code) { switch(code) { case 46: return readToken_dot(); case 40: ++tokPos; return finishToken(_parenL); case 41: ++tokPos; return finishToken(_parenR); case 59: ++tokPos; return finishToken(_semi); case 44: ++tokPos; return finishToken(_comma); case 91: ++tokPos; return finishToken(_bracketL); case 93: ++tokPos; return finishToken(_bracketR); case 123: ++tokPos; return finishToken(_braceL); case 125: ++tokPos; return finishToken(_braceR); case 58: ++tokPos; return finishToken(_colon); case 63: ++tokPos; return finishToken(_question); case 48: var next = input.charCodeAt(tokPos + 1); if (next === 120 || next === 88) return readHexNumber(); case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: return readNumber(false); case 34: case 39: return readString(code); case 47: return readToken_slash(code); case 37: case 42: return readToken_mult_modulo(); case 124: case 38: return readToken_pipe_amp(code); case 94: return readToken_caret(); case 43: case 45: return readToken_plus_min(code); case 60: case 62: return readToken_lt_gt(code); case 61: case 33: return readToken_eq_excl(code); case 126: return finishOp(_prefix, 1); } return false; } function readToken(forceRegexp) { if (!forceRegexp) tokStart = tokPos; else tokPos = tokStart + 1; if (options.locations) tokStartLoc = new line_loc_t; if (forceRegexp) return readRegexp(); if (tokPos >= inputLen) return finishToken(_eof); var code = input.charCodeAt(tokPos); if (isIdentifierStart(code) || code === 92 ) return readWord(); var tok = getTokenFromCode(code); if (tok === false) { var ch = String.fromCharCode(code); if (ch === "\\" || nonASCIIidentifierStart.test(ch)) return readWord(); raise(tokPos, "Unexpected character '" + ch + "'"); } return tok; } function finishOp(type, size) { var str = input.slice(tokPos, tokPos + size); tokPos += size; finishToken(type, str); } function readRegexp() { var content = "", escaped, inClass, start = tokPos; for (;;) { if (tokPos >= inputLen) raise(start, "Unterminated regular expression"); var ch = input.charAt(tokPos); if (newline.test(ch)) raise(start, "Unterminated regular expression"); if (!escaped) { if (ch === "[") inClass = true; else if (ch === "]" && inClass) inClass = false; else if (ch === "/" && !inClass) break; escaped = ch === "\\"; } else escaped = false; ++tokPos; } var content = input.slice(start, tokPos); ++tokPos; var mods = readWord1(); if (mods && !/^[gmsiy]*$/.test(mods)) raise(start, "Invalid regexp flag"); try { var value = new RegExp(content, mods); } catch (e) { if (e instanceof SyntaxError) raise(start, e.message); raise(e); } return finishToken(_regexp, value); } function readInt(radix, len) { var start = tokPos, total = 0; for (var i = 0, e = len == null ? Infinity : len; i < e; ++i) { var code = input.charCodeAt(tokPos), val; if (code >= 97) val = code - 97 + 10; else if (code >= 65) val = code - 65 + 10; else if (code >= 48 && code <= 57) val = code - 48; else val = Infinity; if (val >= radix) break; ++tokPos; total = total * radix + val; } if (tokPos === start || len != null && tokPos - start !== len) return null; return total; } function readHexNumber() { tokPos += 2; var val = readInt(16); if (val == null) raise(tokStart + 2, "Expected hexadecimal number"); if (isIdentifierStart(input.charCodeAt(tokPos))) raise(tokPos, "Identifier directly after number"); return finishToken(_num, val); } function readNumber(startsWithDot) { var start = tokPos, isFloat = false, octal = input.charCodeAt(tokPos) === 48; if (!startsWithDot && readInt(10) === null) raise(start, "Invalid number"); if (input.charCodeAt(tokPos) === 46) { ++tokPos; readInt(10); isFloat = true; } var next = input.charCodeAt(tokPos); if (next === 69 || next === 101) { next = input.charCodeAt(++tokPos); if (next === 43 || next === 45) ++tokPos; if (readInt(10) === null) raise(start, "Invalid number"); isFloat = true; } if (isIdentifierStart(input.charCodeAt(tokPos))) raise(tokPos, "Identifier directly after number"); var str = input.slice(start, tokPos), val; if (isFloat) val = parseFloat(str); else if (!octal || str.length === 1) val = parseInt(str, 10); else if (/[89]/.test(str) || strict) raise(start, "Invalid number"); else val = parseInt(str, 8); return finishToken(_num, val); } function readString(quote) { tokPos++; var out = ""; for (;;) { if (tokPos >= inputLen) raise(tokStart, "Unterminated string constant"); var ch = input.charCodeAt(tokPos); if (ch === quote) { ++tokPos; return finishToken(_string, out); } if (ch === 92) { ch = input.charCodeAt(++tokPos); var octal = /^[0-7]+/.exec(input.slice(tokPos, tokPos + 3)); if (octal) octal = octal[0]; while (octal && parseInt(octal, 8) > 255) octal = octal.slice(0, -1); if (octal === "0") octal = null; ++tokPos; if (octal) { if (strict) raise(tokPos - 2, "Octal literal in strict mode"); out += String.fromCharCode(parseInt(octal, 8)); tokPos += octal.length - 1; } else { switch (ch) { case 110: out += "\n"; break; case 114: out += "\r"; break; case 120: out += String.fromCharCode(readHexChar(2)); break; case 117: out += String.fromCharCode(readHexChar(4)); break; case 85: out += String.fromCharCode(readHexChar(8)); break; case 116: out += "\t"; break; case 98: out += "\b"; break; case 118: out += "\u000b"; break; case 102: out += "\f"; break; case 48: out += "\0"; break; case 13: if (input.charCodeAt(tokPos) === 10) ++tokPos; case 10: if (options.locations) { tokLineStart = tokPos; ++tokCurLine; } break; default: out += String.fromCharCode(ch); break; } } } else { if (ch === 13 || ch === 10 || ch === 8232 || ch === 8233) raise(tokStart, "Unterminated string constant"); out += String.fromCharCode(ch); ++tokPos; } } } function readHexChar(len) { var n = readInt(16, len); if (n === null) raise(tokStart, "Bad character escape sequence"); return n; } var containsEsc; function readWord1() { containsEsc = false; var word, first = true, start = tokPos; for (;;) { var ch = input.charCodeAt(tokPos); if (isIdentifierChar(ch)) { if (containsEsc) word += input.charAt(tokPos); ++tokPos; } else if (ch === 92) { if (!containsEsc) word = input.slice(start, tokPos); containsEsc = true; if (input.charCodeAt(++tokPos) != 117) raise(tokPos, "Expecting Unicode escape sequence \\uXXXX"); ++tokPos; var esc = readHexChar(4); var escStr = String.fromCharCode(esc); if (!escStr) raise(tokPos - 1, "Invalid Unicode escape"); if (!(first ? isIdentifierStart(esc) : isIdentifierChar(esc))) raise(tokPos - 4, "Invalid Unicode escape"); word += escStr; } else { break; } first = false; } return containsEsc ? word : input.slice(start, tokPos); } function readWord() { var word = readWord1(); var type = _name; if (!containsEsc && isKeyword(word)) type = keywordTypes[word]; return finishToken(type, word); } function next() { lastStart = tokStart; lastEnd = tokEnd; lastEndLoc = tokEndLoc; readToken(); } function setStrict(strct) { strict = strct; tokPos = tokStart; if (options.locations) { while (tokPos < tokLineStart) { tokLineStart = input.lastIndexOf("\n", tokLineStart - 2) + 1; --tokCurLine; } } skipSpace(); readToken(); } function node_t() { this.type = null; this.start = tokStart; this.end = null; } function node_loc_t() { this.start = tokStartLoc; this.end = null; if (sourceFile !== null) this.source = sourceFile; } function startNode() { var node = new node_t(); if (options.locations) node.loc = new node_loc_t(); if (options.directSourceFile) node.sourceFile = options.directSourceFile; if (options.ranges) node.range = [tokStart, 0]; return node; } function startNodeFrom(other) { var node = new node_t(); node.start = other.start; if (options.locations) { node.loc = new node_loc_t(); node.loc.start = other.loc.start; } if (options.ranges) node.range = [other.range[0], 0]; return node; } function finishNode(node, type) { node.type = type; node.end = lastEnd; if (options.locations) node.loc.end = lastEndLoc; if (options.ranges) node.range[1] = lastEnd; return node; } function isUseStrict(stmt) { return options.ecmaVersion >= 5 && stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && stmt.expression.value === "use strict"; } function eat(type) { if (tokType === type) { next(); return true; } } function canInsertSemicolon() { return !options.strictSemicolons && (tokType === _eof || tokType === _braceR || newline.test(input.slice(lastEnd, tokStart))); } function semicolon() { if (!eat(_semi) && !canInsertSemicolon()) unexpected(); } function expect(type) { if (tokType === type) next(); else unexpected(); } function unexpected() { raise(tokStart, "Unexpected token"); } function checkLVal(expr) { if (expr.type !== "Identifier" && expr.type !== "MemberExpression") raise(expr.start, "Assigning to rvalue"); if (strict && expr.type === "Identifier" && isStrictBadIdWord(expr.name)) raise(expr.start, "Assigning to " + expr.name + " in strict mode"); } function parseTopLevel(program) { lastStart = lastEnd = tokPos; if (options.locations) lastEndLoc = new line_loc_t; inFunction = strict = null; labels = []; readToken(); var node = program || startNode(), first = true; if (!program) node.body = []; while (tokType !== _eof) { var stmt = parseStatement(); node.body.push(stmt); if (first && isUseStrict(stmt)) setStrict(true); first = false; } return finishNode(node, "Program"); } var loopLabel = {kind: "loop"}, switchLabel = {kind: "switch"}; function parseStatement() { if (tokType === _slash || tokType === _assign && tokVal == "/=") readToken(true); var starttype = tokType, node = startNode(); switch (starttype) { case _break: case _continue: next(); var isBreak = starttype === _break; if (eat(_semi) || canInsertSemicolon()) node.label = null; else if (tokType !== _name) unexpected(); else { node.label = parseIdent(); semicolon(); } for (var i = 0; i < labels.length; ++i) { var lab = labels[i]; if (node.label == null || lab.name === node.label.name) { if (lab.kind != null && (isBreak || lab.kind === "loop")) break; if (node.label && isBreak) break; } } if (i === labels.length) raise(node.start, "Unsyntactic " + starttype.keyword); return finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement"); case _debugger: next(); semicolon(); return finishNode(node, "DebuggerStatement"); case _do: next(); labels.push(loopLabel); node.body = parseStatement(); labels.pop(); expect(_while); node.test = parseParenExpression(); semicolon(); return finishNode(node, "DoWhileStatement"); case _for: next(); labels.push(loopLabel); expect(_parenL); if (tokType === _semi) return parseFor(node, null); if (tokType === _var) { var init = startNode(); next(); parseVar(init, true); finishNode(init, "VariableDeclaration"); if (init.declarations.length === 1 && eat(_in)) return parseForIn(node, init); return parseFor(node, init); } var init = parseExpression(false, true); if (eat(_in)) {checkLVal(init); return parseForIn(node, init);} return parseFor(node, init); case _function: next(); return parseFunction(node, true); case _if: next(); node.test = parseParenExpression(); node.consequent = parseStatement(); node.alternate = eat(_else) ? parseStatement() : null; return finishNode(node, "IfStatement"); case _return: if (!inFunction && !options.allowReturnOutsideFunction) raise(tokStart, "'return' outside of function"); next(); if (eat(_semi) || canInsertSemicolon()) node.argument = null; else { node.argument = parseExpression(); semicolon(); } return finishNode(node, "ReturnStatement"); case _switch: next(); node.discriminant = parseParenExpression(); node.cases = []; expect(_braceL); labels.push(switchLabel); for (var cur, sawDefault; tokType != _braceR;) { if (tokType === _case || tokType === _default) { var isCase = tokType === _case; if (cur) finishNode(cur, "SwitchCase"); node.cases.push(cur = startNode()); cur.consequent = []; next(); if (isCase) cur.test = parseExpression(); else { if (sawDefault) raise(lastStart, "Multiple default clauses"); sawDefault = true; cur.test = null; } expect(_colon); } else { if (!cur) unexpected(); cur.consequent.push(parseStatement()); } } if (cur) finishNode(cur, "SwitchCase"); next(); labels.pop(); return finishNode(node, "SwitchStatement"); case _throw: next(); if (newline.test(input.slice(lastEnd, tokStart))) raise(lastEnd, "Illegal newline after throw"); node.argument = parseExpression(); semicolon(); return finishNode(node, "ThrowStatement"); case _try: next(); node.block = parseBlock(); node.handler = null; if (tokType === _catch) { var clause = startNode(); next(); expect(_parenL); clause.param = parseIdent(); if (strict && isStrictBadIdWord(clause.param.name)) raise(clause.param.start, "Binding " + clause.param.name + " in strict mode"); expect(_parenR); clause.guard = null; clause.body = parseBlock(); node.handler = finishNode(clause, "CatchClause"); } node.guardedHandlers = empty; node.finalizer = eat(_finally) ? parseBlock() : null; if (!node.handler && !node.finalizer) raise(node.start, "Missing catch or finally clause"); return finishNode(node, "TryStatement"); case _var: next(); parseVar(node); semicolon(); return finishNode(node, "VariableDeclaration"); case _while: next(); node.test = parseParenExpression(); labels.push(loopLabel); node.body = parseStatement(); labels.pop(); return finishNode(node, "WhileStatement"); case _with: if (strict) raise(tokStart, "'with' in strict mode"); next(); node.object = parseParenExpression(); node.body = parseStatement(); return finishNode(node, "WithStatement"); case _braceL: return parseBlock(); case _semi: next(); return finishNode(node, "EmptyStatement"); default: var maybeName = tokVal, expr = parseExpression(); if (starttype === _name && expr.type === "Identifier" && eat(_colon)) { for (var i = 0; i < labels.length; ++i) if (labels[i].name === maybeName) raise(expr.start, "Label '" + maybeName + "' is already declared"); var kind = tokType.isLoop ? "loop" : tokType === _switch ? "switch" : null; labels.push({name: maybeName, kind: kind}); node.body = parseStatement(); labels.pop(); node.label = expr; return finishNode(node, "LabeledStatement"); } else { node.expression = expr; semicolon(); return finishNode(node, "ExpressionStatement"); } } } function parseParenExpression() { expect(_parenL); var val = parseExpression(); expect(_parenR); return val; } function parseBlock(allowStrict) { var node = startNode(), first = true, strict = false, oldStrict; node.body = []; expect(_braceL); while (!eat(_braceR)) { var stmt = parseStatement(); node.body.push(stmt); if (first && allowStrict && isUseStrict(stmt)) { oldStrict = strict; setStrict(strict = true); } first = false; } if (strict && !oldStrict) setStrict(false); return finishNode(node, "BlockStatement"); } function parseFor(node, init) { node.init = init; expect(_semi); node.test = tokType === _semi ? null : parseExpression(); expect(_semi); node.update = tokType === _parenR ? null : parseExpression(); expect(_parenR); node.body = parseStatement(); labels.pop(); return finishNode(node, "ForStatement"); } function parseForIn(node, init) { node.left = init; node.right = parseExpression(); expect(_parenR); node.body = parseStatement(); labels.pop(); return finishNode(node, "ForInStatement"); } function parseVar(node, noIn) { node.declarations = []; node.kind = "var"; for (;;) { var decl = startNode(); decl.id = parseIdent(); if (strict && isStrictBadIdWord(decl.id.name)) raise(decl.id.start, "Binding " + decl.id.name + " in strict mode"); decl.init = eat(_eq) ? parseExpression(true, noIn) : null; node.declarations.push(finishNode(decl, "VariableDeclarator")); if (!eat(_comma)) break; } return node; } function parseExpression(noComma, noIn) { var expr = parseMaybeAssign(noIn); if (!noComma && tokType === _comma) { var node = startNodeFrom(expr); node.expressions = [expr]; while (eat(_comma)) node.expressions.push(parseMaybeAssign(noIn)); return finishNode(node, "SequenceExpression"); } return expr; } function parseMaybeAssign(noIn) { var left = parseMaybeConditional(noIn); if (tokType.isAssign) { var node = startNodeFrom(left); node.operator = tokVal; node.left = left; next(); node.right = parseMaybeAssign(noIn); checkLVal(left); return finishNode(node, "AssignmentExpression"); } return left; } function parseMaybeConditional(noIn) { var expr = parseExprOps(noIn); if (eat(_question)) { var node = startNodeFrom(expr); node.test = expr; node.consequent = parseExpression(true); expect(_colon); node.alternate = parseExpression(true, noIn); return finishNode(node, "ConditionalExpression"); } return expr; } function parseExprOps(noIn) { return parseExprOp(parseMaybeUnary(), -1, noIn); } function parseExprOp(left, minPrec, noIn) { var prec = tokType.binop; if (prec != null && (!noIn || tokType !== _in)) { if (prec > minPrec) { var node = startNodeFrom(left); node.left = left; node.operator = tokVal; var op = tokType; next(); node.right = parseExprOp(parseMaybeUnary(), prec, noIn); var exprNode = finishNode(node, (op === _logicalOR || op === _logicalAND) ? "LogicalExpression" : "BinaryExpression"); return parseExprOp(exprNode, minPrec, noIn); } } return left; } function parseMaybeUnary() { if (tokType.prefix) { var node = startNode(), update = tokType.isUpdate; node.operator = tokVal; node.prefix = true; tokRegexpAllowed = true; next(); node.argument = parseMaybeUnary(); if (update) checkLVal(node.argument); else if (strict && node.operator === "delete" && node.argument.type === "Identifier") raise(node.start, "Deleting local variable in strict mode"); return finishNode(node, update ? "UpdateExpression" : "UnaryExpression"); } var expr = parseExprSubscripts(); while (tokType.postfix && !canInsertSemicolon()) { var node = startNodeFrom(expr); node.operator = tokVal; node.prefix = false; node.argument = expr; checkLVal(expr); next(); expr = finishNode(node, "UpdateExpression"); } return expr; } function parseExprSubscripts() { return parseSubscripts(parseExprAtom()); } function parseSubscripts(base, noCalls) { if (eat(_dot)) { var node = startNodeFrom(base); node.object = base; node.property = parseIdent(true); node.computed = false; return parseSubscripts(finishNode(node, "MemberExpression"), noCalls); } else if (eat(_bracketL)) { var node = startNodeFrom(base); node.object = base; node.property = parseExpression(); node.computed = true; expect(_bracketR); return parseSubscripts(finishNode(node, "MemberExpression"), noCalls); } else if (!noCalls && eat(_parenL)) { var node = startNodeFrom(base); node.callee = base; node.arguments = parseExprList(_parenR, false); return parseSubscripts(finishNode(node, "CallExpression"), noCalls); } else return base; } function parseExprAtom() { switch (tokType) { case _this: var node = startNode(); next(); return finishNode(node, "ThisExpression"); case _name: return parseIdent(); case _num: case _string: case _regexp: var node = startNode(); node.value = tokVal; node.raw = input.slice(tokStart, tokEnd); next(); return finishNode(node, "Literal"); case _null: case _true: case _false: var node = startNode(); node.value = tokType.atomValue; node.raw = tokType.keyword; next(); return finishNode(node, "Literal"); case _parenL: var tokStartLoc1 = tokStartLoc, tokStart1 = tokStart; next(); var val = parseExpression(); val.start = tokStart1; val.end = tokEnd; if (options.locations) { val.loc.start = tokStartLoc1; val.loc.end = tokEndLoc; } if (options.ranges) val.range = [tokStart1, tokEnd]; expect(_parenR); return val; case _bracketL: var node = startNode(); next(); node.elements = parseExprList(_bracketR, true, true); return finishNode(node, "ArrayExpression"); case _braceL: return parseObj(); case _function: var node = startNode(); next(); return parseFunction(node, false); case _new: return parseNew(); default: unexpected(); } } function parseNew() { var node = startNode(); next(); node.callee = parseSubscripts(parseExprAtom(), true); if (eat(_parenL)) node.arguments = parseExprList(_parenR, false); else node.arguments = empty; return finishNode(node, "NewExpression"); } function parseObj() { var node = startNode(), first = true, sawGetSet = false; node.properties = []; next(); while (!eat(_braceR)) { if (!first) { expect(_comma); if (options.allowTrailingCommas && eat(_braceR)) break; } else first = false; var prop = {key: parsePropertyName()}, isGetSet = false, kind; if (eat(_colon)) { prop.value = parseExpression(true); kind = prop.kind = "init"; } else if (options.ecmaVersion >= 5 && prop.key.type === "Identifier" && (prop.key.name === "get" || prop.key.name === "set")) { isGetSet = sawGetSet = true; kind = prop.kind = prop.key.name; prop.key = parsePropertyName(); if (tokType !== _parenL) unexpected(); prop.value = parseFunction(startNode(), false); } else unexpected(); if (prop.key.type === "Identifier" && (strict || sawGetSet)) { for (var i = 0; i < node.properties.length; ++i) { var other = node.properties[i]; if (other.key.name === prop.key.name) { var conflict = kind == other.kind || isGetSet && other.kind === "init" || kind === "init" && (other.kind === "get" || other.kind === "set"); if (conflict && !strict && kind === "init" && other.kind === "init") conflict = false; if (conflict) raise(prop.key.start, "Redefinition of property"); } } } node.properties.push(prop); } return finishNode(node, "ObjectExpression"); } function parsePropertyName() { if (tokType === _num || tokType === _string) return parseExprAtom(); return parseIdent(true); } function parseFunction(node, isStatement) { if (tokType === _name) node.id = parseIdent(); else if (isStatement) unexpected(); else node.id = null; node.params = []; var first = true; expect(_parenL); while (!eat(_parenR)) { if (!first) expect(_comma); else first = false; node.params.push(parseIdent()); } var oldInFunc = inFunction, oldLabels = labels; inFunction = true; labels = []; node.body = parseBlock(true); inFunction = oldInFunc; labels = oldLabels; if (strict || node.body.body.length && isUseStrict(node.body.body[0])) { for (var i = node.id ? -1 : 0; i < node.params.length; ++i) { var id = i < 0 ? node.id : node.params[i]; if (isStrictReservedWord(id.name) || isStrictBadIdWord(id.name)) raise(id.start, "Defining '" + id.name + "' in strict mode"); if (i >= 0) for (var j = 0; j < i; ++j) if (id.name === node.params[j].name) raise(id.start, "Argument name clash in strict mode"); } } return finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression"); } function parseExprList(close, allowTrailingComma, allowEmpty) { var elts = [], first = true; while (!eat(close)) { if (!first) { expect(_comma); if (allowTrailingComma && options.allowTrailingCommas && eat(close)) break; } else first = false; if (allowEmpty && tokType === _comma) elts.push(null); else elts.push(parseExpression(true)); } return elts; } function parseIdent(liberal) { var node = startNode(); if (liberal && options.forbidReserved == "everywhere") liberal = false; if (tokType === _name) { if (!liberal && (options.forbidReserved && (options.ecmaVersion === 3 ? isReservedWord3 : isReservedWord5)(tokVal) || strict && isStrictReservedWord(tokVal)) && input.slice(tokStart, tokEnd).indexOf("\\") == -1) raise(tokStart, "The keyword '" + tokVal + "' is reserved"); node.name = tokVal; } else if (liberal && tokType.keyword) { node.name = tokType.keyword; } else { unexpected(); } tokRegexpAllowed = false; next(); return finishNode(node, "Identifier"); } }); if (!acorn.version) acorn = null; } function parse(code, options) { return (global.acorn || acorn).parse(code, options); } var binaryOperators = { '+': '__add', '-': '__subtract', '*': '__multiply', '/': '__divide', '%': '__modulo', '==': '__equals', '!=': '__equals' }; var unaryOperators = { '-': '__negate', '+': '__self' }; var fields = Base.each( ['add', 'subtract', 'multiply', 'divide', 'modulo', 'equals', 'negate'], function(name) { this['__' + name] = '#' + name; }, { __self: function() { return this; } } ); Point.inject(fields); Size.inject(fields); Color.inject(fields); function __$__(left, operator, right) { var handler = binaryOperators[operator]; if (left && left[handler]) { var res = left[handler](right); return operator === '!=' ? !res : res; } switch (operator) { case '+': return left + right; case '-': return left - right; case '*': return left * right; case '/': return left / right; case '%': return left % right; case '==': return left == right; case '!=': return left != right; } } function $__(operator, value) { var handler = unaryOperators[operator]; if (value && value[handler]) return value[handler](); switch (operator) { case '+': return +value; case '-': return -value; } } function compile(code, options) { if (!code) return ''; options = options || {}; var insertions = []; function getOffset(offset) { for (var i = 0, l = insertions.length; i < l; i++) { var insertion = insertions[i]; if (insertion[0] >= offset) break; offset += insertion[1]; } return offset; } function getCode(node) { return code.substring(getOffset(node.range[0]), getOffset(node.range[1])); } function getBetween(left, right) { return code.substring(getOffset(left.range[1]), getOffset(right.range[0])); } function replaceCode(node, str) { var start = getOffset(node.range[0]), end = getOffset(node.range[1]), insert = 0; for (var i = insertions.length - 1; i >= 0; i--) { if (start > insertions[i][0]) { insert = i + 1; break; } } insertions.splice(insert, 0, [start, str.length - end + start]); code = code.substring(0, start) + str + code.substring(end); } function handleOverloading(node, parent) { switch (node.type) { case 'UnaryExpression': if (node.operator in unaryOperators && node.argument.type !== 'Literal') { var arg = getCode(node.argument); replaceCode(node, '$__("' + node.operator + '", ' + arg + ')'); } break; case 'BinaryExpression': if (node.operator in binaryOperators && node.left.type !== 'Literal') { var left = getCode(node.left), right = getCode(node.right), between = getBetween(node.left, node.right), operator = node.operator; replaceCode(node, '__$__(' + left + ',' + between.replace(new RegExp('\\' + operator), '"' + operator + '"') + ', ' + right + ')'); } break; case 'UpdateExpression': case 'AssignmentExpression': var parentType = parent && parent.type; if (!( parentType === 'ForStatement' || parentType === 'BinaryExpression' && /^[=!<>]/.test(parent.operator) || parentType === 'MemberExpression' && parent.computed )) { if (node.type === 'UpdateExpression') { var arg = getCode(node.argument), exp = '__$__(' + arg + ', "' + node.operator[0] + '", 1)', str = arg + ' = ' + exp; if (node.prefix) { str = '(' + str + ')'; } else if ( parentType === 'AssignmentExpression' || parentType === 'VariableDeclarator' || parentType === 'BinaryExpression' ) { if (getCode(parent.left || parent.id) === arg) str = exp; str = arg + '; ' + str; } replaceCode(node, str); } else { if (/^.=$/.test(node.operator) && node.left.type !== 'Literal') { var left = getCode(node.left), right = getCode(node.right), exp = left + ' = __$__(' + left + ', "' + node.operator[0] + '", ' + right + ')'; replaceCode(node, /^\(.*\)$/.test(getCode(node)) ? '(' + exp + ')' : exp); } } } break; } } function handleExports(node) { switch (node.type) { case 'ExportDefaultDeclaration': replaceCode({ range: [node.start, node.declaration.start] }, 'module.exports = '); break; case 'ExportNamedDeclaration': var declaration = node.declaration; var specifiers = node.specifiers; if (declaration) { var declarations = declaration.declarations; if (declarations) { declarations.forEach(function(dec) { replaceCode(dec, 'module.exports.' + getCode(dec)); }); replaceCode({ range: [ node.start, declaration.start + declaration.kind.length ] }, ''); } } else if (specifiers) { var exports = specifiers.map(function(specifier) { var name = getCode(specifier); return 'module.exports.' + name + ' = ' + name + '; '; }).join(''); if (exports) { replaceCode(node, exports); } } break; } } function walkAST(node, parent, paperFeatures) { if (node) { for (var key in node) { if (key !== 'range' && key !== 'loc') { var value = node[key]; if (Array.isArray(value)) { for (var i = 0, l = value.length; i < l; i++) { walkAST(value[i], node, paperFeatures); } } else if (value && typeof value === 'object') { walkAST(value, node, paperFeatures); } } } if (paperFeatures.operatorOverloading !== false) { handleOverloading(node, parent); } if (paperFeatures.moduleExports !== false) { handleExports(node); } } } function encodeVLQ(value) { var res = '', base64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; value = (Math.abs(value) << 1) + (value < 0 ? 1 : 0); while (value || !res) { var next = value & (32 - 1); value >>= 5; if (value) next |= 32; res += base64[next]; } return res; } var url = options.url || '', sourceMaps = options.sourceMaps, paperFeatures = options.paperFeatures || {}, source = options.source || code, offset = options.offset || 0, agent = paper.agent, version = agent.versionNumber, offsetCode = false, lineBreaks = /\r\n|\n|\r/mg, map; if (sourceMaps && (agent.chrome && version >= 30 || agent.webkit && version >= 537.76 || agent.firefox && version >= 23 || agent.node)) { if (agent.node) { offset -= 2; } else if (window && url && !window.location.href.indexOf(url)) { var html = document.getElementsByTagName('html')[0].innerHTML; offset = html.substr(0, html.indexOf(code) + 1).match( lineBreaks).length + 1; } offsetCode = offset > 0 && !( agent.chrome && version >= 36 || agent.safari && version >= 600 || agent.firefox && version >= 40 || agent.node); var mappings = ['AA' + encodeVLQ(offsetCode ? 0 : offset) + 'A']; mappings.length = (code.match(lineBreaks) || []).length + 1 + (offsetCode ? offset : 0); map = { version: 3, file: url, names:[], mappings: mappings.join(';AACA'), sourceRoot: '', sources: [url], sourcesContent: [source] }; } if ( paperFeatures.operatorOverloading !== false || paperFeatures.moduleExports !== false ) { walkAST(parse(code, { ranges: true, preserveParens: true, sourceType: 'module' }), null, paperFeatures); } if (map) { if (offsetCode) { code = new Array(offset + 1).join('\n') + code; } if (/^(inline|both)$/.test(sourceMaps)) { code += "\n//# sourceMappingURL=data:application/json;base64," + self.btoa(unescape(encodeURIComponent( JSON.stringify(map)))); } code += "\n//# sourceURL=" + (url || 'paperscript'); } return { url: url, source: source, code: code, map: map }; } function execute(code, scope, options) { paper = scope; var view = scope.getView(), tool = /\btool\.\w+|\s+on(?:Key|Mouse)(?:Up|Down|Move|Drag)\b/ .test(code) && !/\bnew\s+Tool\b/.test(code) ? new Tool() : null, toolHandlers = tool ? tool._events : [], handlers = ['onFrame', 'onResize'].concat(toolHandlers), params = [], args = [], func, compiled = typeof code === 'object' ? code : compile(code, options); code = compiled.code; function expose(scope, hidden) { for (var key in scope) { if ((hidden || !/^_/.test(key)) && new RegExp('([\\b\\s\\W]|^)' + key.replace(/\$/g, '\\$') + '\\b').test(code)) { params.push(key); args.push(scope[key]); } } } expose({ __$__: __$__, $__: $__, paper: scope, tool: tool }, true); expose(scope); code = 'var module = { exports: {} }; ' + code; var exports = Base.each(handlers, function(key) { if (new RegExp('\\s+' + key + '\\b').test(code)) { params.push(key); this.push('module.exports.' + key + ' = ' + key + ';'); } }, []).join('\n'); if (exports) { code += '\n' + exports; } code += '\nreturn module.exports;'; var agent = paper.agent; if (document && (agent.chrome || agent.firefox && agent.versionNumber < 40)) { var script = document.createElement('script'), head = document.head || document.getElementsByTagName('head')[0]; if (agent.firefox) code = '\n' + code; script.appendChild(document.createTextNode( 'document.__paperscript__ = function(' + params + ') {' + code + '\n}' )); head.appendChild(script); func = document.__paperscript__; delete document.__paperscript__; head.removeChild(script); } else { func = Function(params, code); } var exports = func && func.apply(scope, args); var obj = exports || {}; Base.each(toolHandlers, function(key) { var value = obj[key]; if (value) tool[key] = value; }); if (view) { if (obj.onResize) view.setOnResize(obj.onResize); view.emit('resize', { size: view.size, delta: new Point() }); if (obj.onFrame) view.setOnFrame(obj.onFrame); view.requestUpdate(); } return exports; } function loadScript(script) { if (/^text\/(?:x-|)paperscript$/.test(script.type) && PaperScope.getAttribute(script, 'ignore') !== 'true') { var canvasId = PaperScope.getAttribute(script, 'canvas'), canvas = document.getElementById(canvasId), src = script.src || script.getAttribute('data-src'), async = PaperScope.hasAttribute(script, 'async'), scopeAttribute = 'data-paper-scope'; if (!canvas) throw new Error('Unable to find canvas with id "' + canvasId + '"'); var scope = PaperScope.get(canvas.getAttribute(scopeAttribute)) || new PaperScope().setup(canvas); canvas.setAttribute(scopeAttribute, scope._id); if (src) { Http.request({ url: src, async: async, mimeType: 'text/plain', onLoad: function(code) { execute(code, scope, src); } }); } else { execute(script.innerHTML, scope, script.baseURI); } script.setAttribute('data-paper-ignore', 'true'); return scope; } } function loadAll() { Base.each(document && document.getElementsByTagName('script'), loadScript); } function load(script) { return script ? loadScript(script) : loadAll(); } if (window) { if (document.readyState === 'complete') { setTimeout(loadAll); } else { DomEvent.add(window, { load: loadAll }); } } return { compile: compile, execute: execute, load: load, parse: parse, calculateBinary: __$__, calculateUnary: $__ }; }.call(this); var paper = new (PaperScope.inject(Base.exports, { Base: Base, Numerical: Numerical, Key: Key, DomEvent: DomEvent, DomElement: DomElement, document: document, window: window, Symbol: SymbolDefinition, PlacedSymbol: SymbolItem }))(); if (paper.agent.node) { __webpack_require__(/*! ./node/extend.js */ "?9c55")(paper); } if (true) { !(__WEBPACK_AMD_DEFINE_FACTORY__ = (paper), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else // removed by dead control flow {} return paper; }.call(this, typeof self === 'object' ? self : null); /***/ }, /***/ "./node_modules/@vernier/godirect/dist/godirect.min.cjs.js" /*!*****************************************************************!*\ !*** ./node_modules/@vernier/godirect/dist/godirect.min.cjs.js ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; /** * Copyright (c) 2023 Vernier Software. All rights reserved. * This code may only be used under the BSD 3-Clause license found at * https://raw.githubusercontent.com/VernierST/godirect-js/main/LICENSE */ function t(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function e(e){return function(){var r=this,n=arguments;return new Promise((function(o,i){var a=e.apply(r,n);function u(e){t(a,o,i,u,c,"next",e)}function c(e){t(a,o,i,u,c,"throw",e)}u(void 0)}))}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&G[0]<4?1:+(G[0]+G[1])),!V&&dt&&(!(G=dt.match(/Edge\/(\d+)/))||G[1]>=74)&&(G=dt.match(/Chrome\/(\d+)/))&&(V=+G[1]);var wt=V,xt=wt,St=g,kt=!!Object.getOwnPropertySymbols&&!St((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&xt&&xt<41})),Et=kt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,_t=lt,Ot=T,At=pt,jt=Et,Pt=y.Object,Tt=jt?function(t){return"symbol"==typeof t}:function(t){var e=_t("Symbol");return Ot(e)&&At(e.prototype,Pt(t))},Mt=y.String,Lt=function(t){try{return Mt(t)}catch(t){return"Object"}},Rt=T,It=Lt,Ct=y.TypeError,Ut=function(t){if(Rt(t))return t;throw Ct(It(t)+" is not a function")},Nt=Ut,Dt=function(t,e){var r=t[e];return null==r?void 0:Nt(r)},Ft=C,Gt=T,Vt=it,zt=y.TypeError,Wt={exports:{}},Bt=y,Qt=Object.defineProperty,Ht=function(t,e){try{Qt(Bt,t,{value:e,configurable:!0,writable:!0})}catch(r){Bt[t]=e}return e},qt=y["__core-js_shared__"]||Ht("__core-js_shared__",{}),Kt=qt;(Wt.exports=function(t,e){return Kt[t]||(Kt[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.21.0",mode:"pure",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.21.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Yt=tt,Jt=y.Object,Xt=function(t){return Jt(Yt(t))},$t=Xt,Zt=P({}.hasOwnProperty),te=Object.hasOwn||function(t,e){return Zt($t(t),e)},ee=P,re=0,ne=Math.random(),oe=ee(1..toString),ie=function(t){return"Symbol("+(void 0===t?"":t)+")_"+oe(++re+ne,36)},ae=y,ue=Wt.exports,ce=te,se=ie,fe=kt,le=Et,pe=ue("wks"),he=ae.Symbol,ve=he&&he.for,de=le?he:he&&he.withoutSetter||se,ye=function(t){if(!ce(pe,t)||!fe&&"string"!=typeof pe[t]){var e="Symbol."+t;fe&&ce(he,t)?pe[t]=he[t]:pe[t]=le&&ve?ve(e):de(e)}return pe[t]},ge=C,me=it,be=Tt,we=Dt,xe=function(t,e){var r,n;if("string"===e&&Gt(r=t.toString)&&!Vt(n=Ft(r,t)))return n;if(Gt(r=t.valueOf)&&!Vt(n=Ft(r,t)))return n;if("string"!==e&&Gt(r=t.toString)&&!Vt(n=Ft(r,t)))return n;throw zt("Can't convert object to primitive value")},Se=ye,ke=y.TypeError,Ee=Se("toPrimitive"),_e=function(t,e){if(!me(t)||be(t))return t;var r,n=we(t,Ee);if(n){if(void 0===e&&(e="default"),r=ge(n,t,e),!me(r)||be(r))return r;throw ke("Can't convert object to primitive value")}return void 0===e&&(e="number"),xe(t,e)},Oe=Tt,Ae=function(t){var e=_e(t,"string");return Oe(e)?e:e+""},je=it,Pe=y.document,Te=je(Pe)&&je(Pe.createElement),Me=function(t){return Te?Pe.createElement(t):{}},Le=Me,Re=!L&&!g((function(){return 7!=Object.defineProperty(Le("div"),"a",{get:function(){return 7}}).a})),Ie=L,Ce=C,Ue=U,Ne=z,De=nt,Fe=Ae,Ge=te,Ve=Re,ze=Object.getOwnPropertyDescriptor;M.f=Ie?ze:function(t,e){if(t=De(t),e=Fe(e),Ve)try{return ze(t,e)}catch(t){}if(Ge(t,e))return Ne(!Ce(Ue.f,t,e),t[e])};var We=g,Be=T,Qe=/#|\.prototype\./,He=function(t,e){var r=Ke[qe(t)];return r==Je||r!=Ye&&(Be(e)?We(e):!!e)},qe=He.normalize=function(t){return String(t).replace(Qe,".").toLowerCase()},Ke=He.data={},Ye=He.NATIVE="N",Je=He.POLYFILL="P",Xe=He,$e=Ut,Ze=m,tr=P(P.bind),er=function(t,e){return $e(t),void 0===e?t:Ze?tr(t,e):function(){return t.apply(e,arguments)}},rr={},nr=L&&g((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),or=y,ir=it,ar=or.String,ur=or.TypeError,cr=function(t){if(ir(t))return t;throw ur(ar(t)+" is not an object")},sr=L,fr=Re,lr=nr,pr=cr,hr=Ae,vr=y.TypeError,dr=Object.defineProperty,yr=Object.getOwnPropertyDescriptor;rr.f=sr?lr?function(t,e,r){if(pr(t),e=hr(e),pr(r),"function"==typeof t&&"prototype"===e&&"value"in r&&"writable"in r&&!r.writable){var n=yr(t,e);n&&n.writable&&(t[e]=r.value,r={configurable:"configurable"in r?r.configurable:n.configurable,enumerable:"enumerable"in r?r.enumerable:n.enumerable,writable:!1})}return dr(t,e,r)}:dr:function(t,e,r){if(pr(t),e=hr(e),pr(r),fr)try{return dr(t,e,r)}catch(t){}if("get"in r||"set"in r)throw vr("Accessors not supported");return"value"in r&&(t[e]=r.value),t};var gr=rr,mr=z,br=L?function(t,e,r){return gr.f(t,e,mr(1,r))}:function(t,e,r){return t[e]=r,t},wr=y,xr=k,Sr=P,kr=T,Er=M.f,_r=Xe,Or=at,Ar=er,jr=br,Pr=te,Tr=function(t){var e=function(r,n,o){if(this instanceof e){switch(arguments.length){case 0:return new t;case 1:return new t(r);case 2:return new t(r,n)}return new t(r,n,o)}return xr(t,this,arguments)};return e.prototype=t.prototype,e},Mr=function(t,e){var r,n,o,i,a,u,c,s,f=t.target,l=t.global,p=t.stat,h=t.proto,v=l?wr:p?wr[f]:(wr[f]||{}).prototype,d=l?Or:Or[f]||jr(Or,f,{})[f],y=d.prototype;for(o in e)r=!_r(l?o:f+(p?".":"#")+o,t.forced)&&v&&Pr(v,o),a=d[o],r&&(u=t.noTargetGet?(s=Er(v,o))&&s.value:v[o]),i=r&&u?u:e[o],r&&typeof a==typeof i||(c=t.bind&&r?Ar(i,wr):t.wrap&&r?Tr(i):h&&kr(i)?Sr(i):i,(t.sham||i&&i.sham||a&&a.sham)&&jr(c,"sham",!0),jr(d,o,c),h&&(Pr(Or,n=f+"Prototype")||jr(Or,n,{}),jr(Or[n],o,i),t.real&&y&&!y[o]&&jr(y,o,i)))},Lr=Wt.exports,Rr=ie,Ir=Lr("keys"),Cr=function(t){return Ir[t]||(Ir[t]=Rr(t))},Ur=!g((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),Nr=y,Dr=te,Fr=T,Gr=Xt,Vr=Ur,zr=Cr("IE_PROTO"),Wr=Nr.Object,Br=Wr.prototype,Qr=Vr?Wr.getPrototypeOf:function(t){var e=Gr(t);if(Dr(e,zr))return e[zr];var r=e.constructor;return Fr(r)&&e instanceof r?r.prototype:e instanceof Wr?Br:null},Hr=y,qr=T,Kr=Hr.String,Yr=Hr.TypeError,Jr=P,Xr=cr,$r=function(t){if("object"==typeof t||qr(t))return t;throw Yr("Can't set "+Kr(t)+" as a prototype")},Zr=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Jr(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return Xr(r),$r(n),e?t(r,n):r.__proto__=n,r}}():void 0),tn={},en=Math.ceil,rn=Math.floor,nn=function(t){var e=+t;return e!=e||0===e?0:(e>0?rn:en)(e)},on=nn,an=Math.max,un=Math.min,cn=function(t,e){var r=on(t);return r<0?an(r+e,0):un(r,e)},sn=nn,fn=Math.min,ln=function(t){return t>0?fn(sn(t),9007199254740991):0},pn=ln,hn=function(t){return pn(t.length)},vn=nt,dn=cn,yn=hn,gn=function(t){return function(e,r,n){var o,i=vn(e),a=yn(i),u=dn(n,a);if(t&&r!=r){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},mn={includes:gn(!0),indexOf:gn(!1)},bn={},wn=te,xn=nt,Sn=mn.indexOf,kn=bn,En=P([].push),_n=function(t,e){var r,n=xn(t),o=0,i=[];for(r in n)!wn(kn,r)&&wn(n,r)&&En(i,r);for(;e.length>o;)wn(n,r=e[o++])&&(~Sn(i,r)||En(i,r));return i},On=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],An=_n,jn=On.concat("length","prototype");tn.f=Object.getOwnPropertyNames||function(t){return An(t,jn)};var Pn={};Pn.f=Object.getOwnPropertySymbols;var Tn=lt,Mn=tn,Ln=Pn,Rn=cr,In=P([].concat),Cn=Tn("Reflect","ownKeys")||function(t){var e=Mn.f(Rn(t)),r=Ln.f;return r?In(e,r(t)):e},Un=te,Nn=Cn,Dn=M,Fn=rr,Gn={},Vn=_n,zn=On,Wn=Object.keys||function(t){return Vn(t,zn)},Bn=L,Qn=nr,Hn=rr,qn=cr,Kn=nt,Yn=Wn;Gn.f=Bn&&!Qn?Object.defineProperties:function(t,e){qn(t);for(var r,n=Kn(e),o=Yn(e),i=o.length,a=0;i>a;)Hn.f(t,r=o[a++],n[r]);return t};var Jn,Xn=lt("document","documentElement"),$n=cr,Zn=Gn,to=On,eo=bn,ro=Xn,no=Me,oo=Cr("IE_PROTO"),io=function(){},ao=function(t){return" * * Has one line before it which is invalid according to GLSL ES 3.00 * * @param {string} shaderSource The source of the shader * @returns {{shaderSource: string, lineOffset: number}} * @private */ function prepShaderSource(shaderSource) { let lineOffset = 0; if (spaceRE.test(shaderSource)) { lineOffset = 1; shaderSource = shaderSource.replace(spaceRE, ''); } return {lineOffset, shaderSource}; } /** * @param {module:twgl.ProgramOptions} progOptions * @param {string} msg * @return null * @private */ function reportError(progOptions, msg) { progOptions.errorCallback(msg); if (progOptions.callback) { setTimeout(() => { progOptions.callback(`${msg}\n${progOptions.errors.join('\n')}`); }); } return null; } /** * Loads a shader. * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use. * @param {string} shaderSource The shader source. * @param {number} shaderType The type of shader. * @param {module:twgl.ProgramOptions} progOptions * @return {WebGLShader} The created shader. * @private */ function loadShader(gl, shaderSource, shaderType, progOptions) { // Create the shader object const shader = gl.createShader(shaderType); // Load the shader source gl.shaderSource(shader, prepShaderSource(shaderSource).shaderSource); // Compile the shader gl.compileShader(shader); if (!progOptions.callback && !checkShaderStatus(gl, shaderType, shader, progOptions.errorCallback)) { gl.deleteShader(shader); return null; } return shader; } /** * Check Shader status * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use. * @param {number} shaderType The shader type * @param {WebGLShader} shader The shader * @param {ErrorCallback} [errFn] function to receive error message. * @return {bool} true if shader is ok. * @private */ function checkShaderStatus(gl, shaderType, shader, errFn) { errFn = errFn || error$1; // Check the compile status const compiled = gl.getShaderParameter(shader, COMPILE_STATUS); if (!compiled) { // Something went wrong during compilation; get the error const lastError = gl.getShaderInfoLog(shader); const {lineOffset, shaderSource} = prepShaderSource(gl.getShaderSource(shader)); errFn(`${addLineNumbersWithError(shaderSource, lastError, lineOffset)}\nError compiling ${glEnumToString(gl, shaderType)}: ${lastError}`); } return compiled; } /** * @typedef {Object} ProgramOptions * @property {function(string)} [errorCallback] callback for errors * @property {Object.} [attribLocations] a attribute name to location map * @property {(module:twgl.BufferInfo|Object.|string[])} [transformFeedbackVaryings] If passed * a BufferInfo will use the attribs names inside. If passed an object of AttribInfos will use the names from that object. Otherwise * you can pass an array of names. * @property {number} [transformFeedbackMode] the mode to pass `gl.transformFeedbackVaryings`. Defaults to `SEPARATE_ATTRIBS`. * @property {ProgramCallback} [callback] callback for async program compilation. * @memberOf module:twgl */ /** * Gets the program options based on all these optional arguments * @param {module:twgl.ProgramOptions|string[]} [opt_attribs] Options for the program or an array of attribs names. Locations will be assigned by index if not passed in * @param {number[]} [opt_locations] The locations for the. A parallel array to opt_attribs letting you assign locations. * @param {module:twgl.ErrorCallback} [opt_errorCallback] callback for errors. By default it just prints an error to the console * on error. If you want something else pass an callback. It's passed an error message. * @return {module:twgl.ProgramOptions} an instance of ProgramOptions based on the arguments passed in * @private */ function getProgramOptions(opt_attribs, opt_locations, opt_errorCallback) { let transformFeedbackVaryings; let transformFeedbackMode; let callback; if (typeof opt_locations === 'function') { opt_errorCallback = opt_locations; opt_locations = undefined; } if (typeof opt_attribs === 'function') { opt_errorCallback = opt_attribs; opt_attribs = undefined; } else if (opt_attribs && !Array.isArray(opt_attribs)) { // If we have an errorCallback we can just return this object // Otherwise we need to construct one with default errorCallback if (opt_attribs.errorCallback && opt_attribs.errors) { return opt_attribs; } const opt = opt_attribs; opt_errorCallback = opt.errorCallback; opt_attribs = opt.attribLocations; transformFeedbackVaryings = opt.transformFeedbackVaryings; transformFeedbackMode = opt.transformFeedbackMode; callback = opt.callback; } const errorCallback = opt_errorCallback || error$1; const errors = []; const options = { errorCallback(msg, ...args) { errors.push(msg); errorCallback(msg, ...args); }, transformFeedbackVaryings, transformFeedbackMode, callback, errors, }; if (opt_attribs) { let attribLocations = {}; if (Array.isArray(opt_attribs)) { opt_attribs.forEach(function(attrib, ndx) { attribLocations[attrib] = opt_locations ? opt_locations[ndx] : ndx; }); } else { attribLocations = opt_attribs; } options.attribLocations = attribLocations; } return options; } const defaultShaderType = [ "VERTEX_SHADER", "FRAGMENT_SHADER", ]; function getShaderTypeFromScriptType(gl, scriptType) { if (scriptType.indexOf("frag") >= 0) { return FRAGMENT_SHADER; } else if (scriptType.indexOf("vert") >= 0) { return VERTEX_SHADER; } return undefined; } function deleteShaders(gl, shaders) { shaders.forEach(function(shader) { gl.deleteShader(shader); }); } const wait = (ms = 0) => new Promise(resolve => setTimeout(resolve, ms)); /** * Creates a program, attaches (and/or compiles) shaders, binds attrib locations, links the * program. * * NOTE: There are 4 signatures for this function * * twgl.createProgram(gl, [vs, fs], options); * twgl.createProgram(gl, [vs, fs], opt_errFunc); * twgl.createProgram(gl, [vs, fs], opt_attribs, opt_errFunc); * twgl.createProgram(gl, [vs, fs], opt_attribs, opt_locations, opt_errFunc); * * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use. * @param {WebGLShader[]|string[]} shaders The shaders to attach, or element ids for their source, or strings that contain their source * @param {module:twgl.ProgramOptions|string[]|module:twgl.ErrorCallback} [opt_attribs] Options for the program or an array of attribs names or an error callback. Locations will be assigned by index if not passed in * @param {number[]} [opt_locations|module:twgl.ErrorCallback] The locations for the. A parallel array to opt_attribs letting you assign locations or an error callback. * @param {module:twgl.ErrorCallback} [opt_errorCallback] callback for errors. By default it just prints an error to the console * on error. If you want something else pass an callback. It's passed an error message. * @return {WebGLProgram?} the created program or null if error of a callback was provided. * @memberOf module:twgl/programs */ function createProgram( gl, shaders, opt_attribs, opt_locations, opt_errorCallback) { // This code is really convoluted, because it may or may not be async // Maybe it would be better to have a separate function const progOptions = getProgramOptions(opt_attribs, opt_locations, opt_errorCallback); const realShaders = []; const newShaders = []; for (let ndx = 0; ndx < shaders.length; ++ndx) { let shader = shaders[ndx]; if (typeof (shader) === 'string') { const elem = getElementById(shader); const src = elem ? elem.text : shader; let type = gl[defaultShaderType[ndx]]; if (elem && elem.type) { type = getShaderTypeFromScriptType(gl, elem.type) || type; } shader = loadShader(gl, src, type, progOptions); newShaders.push(shader); } if (isShader(gl, shader)) { realShaders.push(shader); } } if (realShaders.length !== shaders.length) { deleteShaders(gl, newShaders); return reportError(progOptions, "not enough shaders for program"); } const program = gl.createProgram(); realShaders.forEach(function(shader) { gl.attachShader(program, shader); }); if (progOptions.attribLocations) { Object.keys(progOptions.attribLocations).forEach(function(attrib) { gl.bindAttribLocation(program, progOptions.attribLocations[attrib], attrib); }); } let varyings = progOptions.transformFeedbackVaryings; if (varyings) { if (varyings.attribs) { varyings = varyings.attribs; } if (!Array.isArray(varyings)) { varyings = Object.keys(varyings); } gl.transformFeedbackVaryings(program, varyings, progOptions.transformFeedbackMode || SEPARATE_ATTRIBS); } gl.linkProgram(program); if (progOptions.callback) { checkForProgramLinkCompletionAsync(gl, program, progOptions); return null; } else { if (!checkProgramStatus(gl, program, progOptions.errorCallback)) { gl.deleteProgram(program); deleteShaders(gl, newShaders); return null; } return program; } } /** * Same as createProgram but returns a promise * * NOTE: There are 4 signatures for this function * * twgl.createProgramAsync(gl, [vs, fs], options); * twgl.createProgramAsync(gl, [vs, fs], opt_errFunc); * twgl.createProgramAsync(gl, [vs, fs], opt_attribs, opt_errFunc); * twgl.createProgramAsync(gl, [vs, fs], opt_attribs, opt_locations, opt_errFunc); * * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use. * @param {WebGLShader[]|string[]} shaders The shaders to attach, or element ids for their source, or strings that contain their source * @param {module:twgl.ProgramOptions|string[]|module:twgl.ErrorCallback} [opt_attribs] Options for the program or an array of attribs names or an error callback. Locations will be assigned by index if not passed in * @param {number[]} [opt_locations|module:twgl.ErrorCallback] The locations for the. A parallel array to opt_attribs letting you assign locations or an error callback. * @param {module:twgl.ErrorCallback} [opt_errorCallback] callback for errors. By default it just prints an error to the console * on error. If you want something else pass an callback. It's passed an error message. * @return {Promise} The created program * @memberOf module:twgl/programs */ function createProgramAsync(gl, shaders, ...args) { return new Promise((resolve, reject) => { const programOptions = getProgramOptions(...args); programOptions.callback = (err, program) => { if (err) { reject(err); } else { resolve(program); } }; createProgram(gl, shaders, programOptions); }); } /** * Same as createProgramInfo but returns a promise * @param {WebGLRenderingContext} gl The WebGLRenderingContext * to use. * @param {string[]} shaderSources Array of sources for the * shaders or ids. The first is assumed to be the vertex shader, * the second the fragment shader. * @param {module:twgl.ProgramOptions|string[]|module:twgl.ErrorCallback} [opt_attribs] Options for the program or an array of attribs names or an error callback. Locations will be assigned by index if not passed in * @param {number[]} [opt_locations|module:twgl.ErrorCallback] The locations for the. A parallel array to opt_attribs letting you assign locations or an error callback. * @param {module:twgl.ErrorCallback} [opt_errorCallback] callback for errors. By default it just prints an error to the console * on error. If you want something else pass an callback. It's passed an error message. * @return {Promise} The created ProgramInfo * @memberOf module:twgl/programs */ function createProgramInfoAsync(gl, shaders, ...args) { return new Promise((resolve, reject) => { const programOptions = getProgramOptions(...args); programOptions.callback = (err, programInfo) => { if (err) { reject(err); } else { resolve(programInfo); } }; createProgramInfo(gl, shaders, programOptions); }); } /** * Asynchronously wait for program to link. * Note: if 'KHR_parallel_shader_compile' extension does not * exist then compilation will not be truly async. * @param {WebGLRenderingContext} gl The context * @param {WebGLProgram} program The program * @param {module:twgl.ProgramOptions} progOptions Options for the program or an array of attribs names or an error callback. Locations will be assigned by index if not passed in * @private */ async function checkForProgramLinkCompletionAsync(gl, program, progOptions) { const ext = gl.getExtension('KHR_parallel_shader_compile'); const checkFn = ext ? (gl, program) => gl.getProgramParameter(program, ext.COMPLETION_STATUS_KHR) : () => true; let waitTime = 0; do { await wait(waitTime); // must wait at least once waitTime = 1000 / 60; } while (!checkFn(gl, program)); const success = checkProgramStatus(gl, program, progOptions.errorCallback); const err = success ? undefined : progOptions.errors.join('\n'); if (!success) { const errFn = progOptions.errorCallback || error$1; errFn(err); gl.deleteProgram(program); // TODO: delete shaders, but only shaders that were created newly for this // program program = null; } progOptions.callback(err, program); } /** * Check a program's link status * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use. * @param {WebGLProgram} program Program to check * @param {ErrorCallback} [errFn] func for errors * @return {bool} true if program is ok * @private */ function checkProgramStatus(gl, program, errFn) { errFn = errFn || error$1; // Check the link status const linked = gl.getProgramParameter(program, LINK_STATUS); if (!linked) { // something went wrong with the link const lastError = gl.getProgramInfoLog(program); errFn(`Error in program linking: ${lastError}`); } return linked; } /** * Loads a shader from a script tag. * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use. * @param {string} scriptId The id of the script tag. * @param {number} [opt_shaderType] The type of shader. If not passed in it will * be derived from the type of the script tag. * @param {module:twgl.ProgramOptions} [progOptions] callback for errors. * @return {WebGLShader?} The created shader or null if error. * @private */ function createShaderFromScript( gl, scriptId, opt_shaderType, progOptions) { let shaderSource = ""; const shaderScript = getElementById(scriptId); if (!shaderScript) { return reportError(progOptions, `unknown script element: ${scriptId}`); } shaderSource = shaderScript.text; const shaderType = opt_shaderType || getShaderTypeFromScriptType(gl, shaderScript.type); if (!shaderType) { return reportError(progOptions, 'unknown shader type'); } return loadShader(gl, shaderSource, shaderType, progOptions); } /** * Creates a program from 2 script tags. * * NOTE: There are 4 signatures for this function * * twgl.createProgramFromScripts(gl, [vs, fs], opt_options); * twgl.createProgramFromScripts(gl, [vs, fs], opt_errFunc); * twgl.createProgramFromScripts(gl, [vs, fs], opt_attribs, opt_errFunc); * twgl.createProgramFromScripts(gl, [vs, fs], opt_attribs, opt_locations, opt_errFunc); * * @param {WebGLRenderingContext} gl The WebGLRenderingContext * to use. * @param {string[]} shaderScriptIds Array of ids of the script * tags for the shaders. The first is assumed to be the * vertex shader, the second the fragment shader. * @param {module:twgl.ProgramOptions|string[]|module:twgl.ErrorCallback} [opt_attribs] Options for the program or an array of attribs names or an error callback. Locations will be assigned by index if not passed in * @param {number[]} [opt_locations|module:twgl.ErrorCallback] The locations for the. A parallel array to opt_attribs letting you assign locations or an error callback. * @param {module:twgl.ErrorCallback} [opt_errorCallback] callback for errors. By default it just prints an error to the console * on error. If you want something else pass an callback. It's passed an error message. * @return {WebGLProgram?} the created program or null if error or a callback was provided. * @memberOf module:twgl/programs */ function createProgramFromScripts( gl, shaderScriptIds, opt_attribs, opt_locations, opt_errorCallback) { const progOptions = getProgramOptions(opt_attribs, opt_locations, opt_errorCallback); const shaders = []; for (let ii = 0; ii < shaderScriptIds.length; ++ii) { const shader = createShaderFromScript( gl, shaderScriptIds[ii], gl[defaultShaderType[ii]], progOptions); if (!shader) { return null; } shaders.push(shader); } return createProgram(gl, shaders, progOptions); } /** * Creates a program from 2 sources. * * NOTE: There are 4 signatures for this function * * twgl.createProgramFromSource(gl, [vs, fs], opt_options); * twgl.createProgramFromSource(gl, [vs, fs], opt_errFunc); * twgl.createProgramFromSource(gl, [vs, fs], opt_attribs, opt_errFunc); * twgl.createProgramFromSource(gl, [vs, fs], opt_attribs, opt_locations, opt_errFunc); * * @param {WebGLRenderingContext} gl The WebGLRenderingContext * to use. * @param {string[]} shaderSources Array of sources for the * shaders. The first is assumed to be the vertex shader, * the second the fragment shader. * @param {module:twgl.ProgramOptions|string[]|module:twgl.ErrorCallback} [opt_attribs] Options for the program or an array of attribs names or an error callback. Locations will be assigned by index if not passed in * @param {number[]} [opt_locations|module:twgl.ErrorCallback] The locations for the. A parallel array to opt_attribs letting you assign locations or an error callback. * @param {module:twgl.ErrorCallback} [opt_errorCallback] callback for errors. By default it just prints an error to the console * on error. If you want something else pass an callback. It's passed an error message. * @return {WebGLProgram?} the created program or null if error or a callback was provided. * @memberOf module:twgl/programs */ function createProgramFromSources( gl, shaderSources, opt_attribs, opt_locations, opt_errorCallback) { const progOptions = getProgramOptions(opt_attribs, opt_locations, opt_errorCallback); const shaders = []; for (let ii = 0; ii < shaderSources.length; ++ii) { const shader = loadShader(gl, shaderSources[ii], gl[defaultShaderType[ii]], progOptions); if (!progOptions.callback && !shader) { return null; } shaders.push(shader); } return createProgram(gl, shaders, progOptions); } /** * Returns true if attribute/uniform is a reserved/built in * * It makes no sense to me why GL returns these because it's * illegal to call `gl.getUniformLocation` and `gl.getAttribLocation` * with names that start with `gl_` (and `webgl_` in WebGL) * * I can only assume they are there because they might count * when computing the number of uniforms/attributes used when you want to * know if you are near the limit. That doesn't really make sense * to me but the fact that these get returned are in the spec. * * @param {WebGLActiveInfo} info As returned from `gl.getActiveUniform` or * `gl.getActiveAttrib`. * @return {bool} true if it's reserved * @private */ function isBuiltIn(info) { const name = info.name; return name.startsWith("gl_") || name.startsWith("webgl_"); } const tokenRE = /(\.|\[|]|\w+)/g; const isDigit = s => s >= '0' && s <= '9'; function addSetterToUniformTree(fullPath, setter, node, uniformSetters) { const tokens = fullPath.split(tokenRE).filter(s => s !== ''); let tokenNdx = 0; let path = ''; for (;;) { const token = tokens[tokenNdx++]; // has to be name or number path += token; const isArrayIndex = isDigit(token[0]); const accessor = isArrayIndex ? parseInt(token) : token; if (isArrayIndex) { path += tokens[tokenNdx++]; // skip ']' } const isLastToken = tokenNdx === tokens.length; if (isLastToken) { node[accessor] = setter; break; } else { const token = tokens[tokenNdx++]; // has to be . or [ const isArray = token === '['; const child = node[accessor] || (isArray ? [] : {}); node[accessor] = child; node = child; uniformSetters[path] = uniformSetters[path] || function(node) { return function(value) { setUniformTree(node, value); }; }(child); path += token; } } } /** * Creates setter functions for all uniforms of a shader * program. * * @see {@link module:twgl.setUniforms} * * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use. * @param {WebGLProgram} program the program to create setters for. * @returns {Object.} an object with a setter by name for each uniform * @memberOf module:twgl/programs */ function createUniformSetters(gl, program) { let textureUnit = 0; /** * Creates a setter for a uniform of the given program with it's * location embedded in the setter. * @param {WebGLProgram} program * @param {WebGLUniformInfo} uniformInfo * @returns {function} the created setter. */ function createUniformSetter(program, uniformInfo, location) { const isArray = uniformInfo.name.endsWith("[0]"); const type = uniformInfo.type; const typeInfo = typeMap[type]; if (!typeInfo) { throw new Error(`unknown type: 0x${type.toString(16)}`); // we should never get here. } let setter; if (typeInfo.bindPoint) { // it's a sampler const unit = textureUnit; textureUnit += uniformInfo.size; if (isArray) { setter = typeInfo.arraySetter(gl, type, unit, location, uniformInfo.size); } else { setter = typeInfo.setter(gl, type, unit, location, uniformInfo.size); } } else { if (typeInfo.arraySetter && isArray) { setter = typeInfo.arraySetter(gl, location); } else { setter = typeInfo.setter(gl, location); } } setter.location = location; return setter; } const uniformSetters = {}; const uniformTree = {}; const numUniforms = gl.getProgramParameter(program, ACTIVE_UNIFORMS); for (let ii = 0; ii < numUniforms; ++ii) { const uniformInfo = gl.getActiveUniform(program, ii); if (isBuiltIn(uniformInfo)) { continue; } let name = uniformInfo.name; // remove the array suffix. if (name.endsWith("[0]")) { name = name.substr(0, name.length - 3); } const location = gl.getUniformLocation(program, uniformInfo.name); // the uniform will have no location if it's in a uniform block if (location) { const setter = createUniformSetter(program, uniformInfo, location); uniformSetters[name] = setter; addSetterToUniformTree(name, setter, uniformTree, uniformSetters); } } return uniformSetters; } /** * @typedef {Object} TransformFeedbackInfo * @property {number} index index of transform feedback * @property {number} type GL type * @property {number} size 1 - 4 * @memberOf module:twgl */ /** * Create TransformFeedbackInfo for passing to bindTransformFeedbackInfo. * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use. * @param {WebGLProgram} program an existing WebGLProgram. * @return {Object} * @memberOf module:twgl */ function createTransformFeedbackInfo(gl, program) { const info = {}; const numVaryings = gl.getProgramParameter(program, TRANSFORM_FEEDBACK_VARYINGS); for (let ii = 0; ii < numVaryings; ++ii) { const varying = gl.getTransformFeedbackVarying(program, ii); info[varying.name] = { index: ii, type: varying.type, size: varying.size, }; } return info; } /** * Binds buffers for transform feedback. * * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use. * @param {(module:twgl.ProgramInfo|Object)} transformFeedbackInfo A ProgramInfo or TransformFeedbackInfo. * @param {(module:twgl.BufferInfo|Object)} [bufferInfo] A BufferInfo or set of AttribInfos. * @memberOf module:twgl */ function bindTransformFeedbackInfo(gl, transformFeedbackInfo, bufferInfo) { if (transformFeedbackInfo.transformFeedbackInfo) { transformFeedbackInfo = transformFeedbackInfo.transformFeedbackInfo; } if (bufferInfo.attribs) { bufferInfo = bufferInfo.attribs; } for (const name in bufferInfo) { const varying = transformFeedbackInfo[name]; if (varying) { const buf = bufferInfo[name]; if (buf.offset) { gl.bindBufferRange(TRANSFORM_FEEDBACK_BUFFER, varying.index, buf.buffer, buf.offset, buf.size); } else { gl.bindBufferBase(TRANSFORM_FEEDBACK_BUFFER, varying.index, buf.buffer); } } } } /** * Creates a transform feedback and sets the buffers * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use. * @param {module:twgl.ProgramInfo} programInfo A ProgramInfo as returned from {@link module:twgl.createProgramInfo} * @param {(module:twgl.BufferInfo|Object)} [bufferInfo] A BufferInfo or set of AttribInfos. * @return {WebGLTransformFeedback} the created transform feedback * @memberOf module:twgl */ function createTransformFeedback(gl, programInfo, bufferInfo) { const tf = gl.createTransformFeedback(); gl.bindTransformFeedback(TRANSFORM_FEEDBACK, tf); gl.useProgram(programInfo.program); bindTransformFeedbackInfo(gl, programInfo, bufferInfo); gl.bindTransformFeedback(TRANSFORM_FEEDBACK, null); return tf; } /** * @typedef {Object} UniformData * @property {string} name The name of the uniform * @property {number} type The WebGL type enum for this uniform * @property {number} size The number of elements for this uniform * @property {number} blockNdx The block index this uniform appears in * @property {number} offset The byte offset in the block for this uniform's value * @memberOf module:twgl */ /** * The specification for one UniformBlockObject * * @typedef {Object} BlockSpec * @property {number} index The index of the block. * @property {number} size The size in bytes needed for the block * @property {number[]} uniformIndices The indices of the uniforms used by the block. These indices * correspond to entries in a UniformData array in the {@link module:twgl.UniformBlockSpec}. * @property {bool} usedByVertexShader Self explanatory * @property {bool} usedByFragmentShader Self explanatory * @property {bool} used Self explanatory * @memberOf module:twgl */ /** * A `UniformBlockSpec` represents the data needed to create and bind * UniformBlockObjects for a given program * * @typedef {Object} UniformBlockSpec * @property {Object.} blockSpecs The BlockSpec for each block by block name * @property {UniformData[]} uniformData An array of data for each uniform by uniform index. * @memberOf module:twgl */ /** * Creates a UniformBlockSpec for the given program. * * A UniformBlockSpec represents the data needed to create and bind * UniformBlockObjects * * @param {WebGL2RenderingContext} gl A WebGL2 Rendering Context * @param {WebGLProgram} program A WebGLProgram for a successfully linked program * @return {module:twgl.UniformBlockSpec} The created UniformBlockSpec * @memberOf module:twgl/programs */ function createUniformBlockSpecFromProgram(gl, program) { const numUniforms = gl.getProgramParameter(program, ACTIVE_UNIFORMS); const uniformData = []; const uniformIndices = []; for (let ii = 0; ii < numUniforms; ++ii) { uniformIndices.push(ii); uniformData.push({}); const uniformInfo = gl.getActiveUniform(program, ii); uniformData[ii].name = uniformInfo.name; } [ [ "UNIFORM_TYPE", "type" ], [ "UNIFORM_SIZE", "size" ], // num elements [ "UNIFORM_BLOCK_INDEX", "blockNdx" ], [ "UNIFORM_OFFSET", "offset", ], ].forEach(function(pair) { const pname = pair[0]; const key = pair[1]; gl.getActiveUniforms(program, uniformIndices, gl[pname]).forEach(function(value, ndx) { uniformData[ndx][key] = value; }); }); const blockSpecs = {}; const numUniformBlocks = gl.getProgramParameter(program, ACTIVE_UNIFORM_BLOCKS); for (let ii = 0; ii < numUniformBlocks; ++ii) { const name = gl.getActiveUniformBlockName(program, ii); const blockSpec = { index: gl.getUniformBlockIndex(program, name), usedByVertexShader: gl.getActiveUniformBlockParameter(program, ii, UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER), usedByFragmentShader: gl.getActiveUniformBlockParameter(program, ii, UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER), size: gl.getActiveUniformBlockParameter(program, ii, UNIFORM_BLOCK_DATA_SIZE), uniformIndices: gl.getActiveUniformBlockParameter(program, ii, UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES), }; blockSpec.used = blockSpec.usedByVertexShader || blockSpec.usedByFragmentShader; blockSpecs[name] = blockSpec; } return { blockSpecs: blockSpecs, uniformData: uniformData, }; } const arraySuffixRE = /\[\d+\]\.$/; // better way to check? const pad = (v, padding) => ((v + (padding - 1)) / padding | 0) * padding; function createUniformBlockUniformSetter(view, isArray, rows, cols) { if (isArray || rows) { cols = cols || 1; const numElements = view.length; const totalRows = numElements / 4; return function(value) { let dst = 0; let src = 0; for (let row = 0; row < totalRows; ++row) { for (let col = 0; col < cols; ++col) { view[dst++] = value[src++]; } dst += 4 - cols; } }; } else { return function(value) { if (value.length) { view.set(value); } else { view[0] = value; } }; } } /** * Represents a UniformBlockObject including an ArrayBuffer with all the uniform values * and a corresponding WebGLBuffer to hold those values on the GPU * * @typedef {Object} UniformBlockInfo * @property {string} name The name of the block * @property {ArrayBuffer} array The array buffer that contains the uniform values * @property {Float32Array} asFloat A float view on the array buffer. This is useful * inspecting the contents of the buffer in the debugger. * @property {WebGLBuffer} buffer A WebGL buffer that will hold a copy of the uniform values for rendering. * @property {number} [offset] offset into buffer * @property {Object} uniforms A uniform name to ArrayBufferView map. * each Uniform has a correctly typed `ArrayBufferView` into array at the correct offset * and length of that uniform. So for example a float uniform would have a 1 float `Float32Array` * view. A single mat4 would have a 16 element `Float32Array` view. An ivec2 would have an * `Int32Array` view, etc. * @property {Object} setters A setter for this uniform. * The reason to use setters is elements of arrays are padded to vec4 sizes which * means if you want to set an array of 4 floats you'd need to set 16 values * (or set elements 0, 4, 8, 12). In other words * `someBlockInfo.uniforms.some4FloatArrayUniform.set([0, , , , 1, , , , 2, , , , 3])` * where as the setter handles just passing in [0, 1, 2, 3] either directly as in * `someBlockInfo.setter.some4FloatArrayUniform.set([0, 1, 2, 3])` (not recommended) * or via {@link module:twgl.setBlockUniforms} * @memberOf module:twgl */ /** * Creates a `UniformBlockInfo` for the specified block * * Note: **If the blockName matches no existing blocks a warning is printed to the console and a dummy * `UniformBlockInfo` is returned**. This is because when debugging GLSL * it is common to comment out large portions of a shader or for example set * the final output to a constant. When that happens blocks get optimized out. * If this function did not create dummy blocks your code would crash when debugging. * * @param {WebGL2RenderingContext} gl A WebGL2RenderingContext * @param {WebGLProgram} program A WebGLProgram * @param {module:twgl.UniformBlockSpec} uniformBlockSpec. A UniformBlockSpec as returned * from {@link module:twgl.createUniformBlockSpecFromProgram}. * @param {string} blockName The name of the block. * @return {module:twgl.UniformBlockInfo} The created UniformBlockInfo * @memberOf module:twgl/programs */ function createUniformBlockInfoFromProgram(gl, program, uniformBlockSpec, blockName) { const blockSpecs = uniformBlockSpec.blockSpecs; const uniformData = uniformBlockSpec.uniformData; const blockSpec = blockSpecs[blockName]; if (!blockSpec) { warn$1("no uniform block object named:", blockName); return { name: blockName, uniforms: {}, }; } const array = new ArrayBuffer(blockSpec.size); const buffer = gl.createBuffer(); const uniformBufferIndex = blockSpec.index; gl.bindBuffer(UNIFORM_BUFFER, buffer); gl.uniformBlockBinding(program, blockSpec.index, uniformBufferIndex); let prefix = blockName + "."; if (arraySuffixRE.test(prefix)) { prefix = prefix.replace(arraySuffixRE, "."); } const uniforms = {}; const setters = {}; const setterTree = {}; blockSpec.uniformIndices.forEach(function(uniformNdx) { const data = uniformData[uniformNdx]; let name = data.name; if (name.startsWith(prefix)) { name = name.substr(prefix.length); } const isArray = name.endsWith('[0]'); if (isArray) { name = name.substr(0, name.length - 3); } const typeInfo = typeMap[data.type]; const Type = typeInfo.Type; const byteLength = isArray ? pad(typeInfo.size, 16) * data.size : typeInfo.size * data.size; const uniformView = new Type(array, data.offset, byteLength / Type.BYTES_PER_ELEMENT); uniforms[name] = uniformView; // Note: I'm not sure what to do here. The original // idea was to create TypedArray views into each part // of the block. This is useful, for example if you have // a block with { mat4: model; mat4 view; mat4 projection; } // you'll get a Float32Array for each one suitable for // passing to most JS math libraries including twgl's and glMatrix.js. // // But, if you have a an array of structures, especially if that // array is large, you get a whole bunch of TypedArray views. // Every one of them has overhead and switching between them all // is probably a cache miss. In that case it would really be better // to just have one view (asFloat) and have all the setters // just reference the correct portion. But, then you can't easily // treat a matrix, or a vec4, as a standalone thing like you can // with all the views. // // Another problem with the views is they are not shared. With // uniforms you have one set of setters. With UniformBlockInfo // you have a set of setters *pre block instance*. That's because // TypedArray views can't be mapped to different buffers. // // My gut right now is if you really want the speed and compactness // then you should probably roll your own solution. TWGL's goal // here is ease of use as AFAICT there is no simple generic efficient // solution. const setter = createUniformBlockUniformSetter(uniformView, isArray, typeInfo.rows, typeInfo.cols); setters[name] = setter; addSetterToUniformTree(name, setter, setterTree, setters); }); return { name: blockName, array, asFloat: new Float32Array(array), // for debugging buffer, uniforms, setters, }; } /** * Creates a `UniformBlockInfo` for the specified block * * Note: **If the blockName matches no existing blocks a warning is printed to the console and a dummy * `UniformBlockInfo` is returned**. This is because when debugging GLSL * it is common to comment out large portions of a shader or for example set * the final output to a constant. When that happens blocks get optimized out. * If this function did not create dummy blocks your code would crash when debugging. * * @param {WebGL2RenderingContext} gl A WebGL2RenderingContext * @param {module:twgl.ProgramInfo} programInfo a `ProgramInfo` * as returned from {@link module:twgl.createProgramInfo} * @param {string} blockName The name of the block. * @return {module:twgl.UniformBlockInfo} The created UniformBlockInfo * @memberOf module:twgl/programs */ function createUniformBlockInfo(gl, programInfo, blockName) { return createUniformBlockInfoFromProgram(gl, programInfo.program, programInfo.uniformBlockSpec, blockName); } /** * Binds a uniform block to the matching uniform block point. * Matches by blocks by name so blocks must have the same name not just the same * structure. * * If you have changed any values and you upload the values into the corresponding WebGLBuffer * call {@link module:twgl.setUniformBlock} instead. * * @param {WebGL2RenderingContext} gl A WebGL 2 rendering context. * @param {(module:twgl.ProgramInfo|module:twgl.UniformBlockSpec)} programInfo a `ProgramInfo` * as returned from {@link module:twgl.createProgramInfo} or or `UniformBlockSpec` as * returned from {@link module:twgl.createUniformBlockSpecFromProgram}. * @param {module:twgl.UniformBlockInfo} uniformBlockInfo a `UniformBlockInfo` as returned from * {@link module:twgl.createUniformBlockInfo}. * @return {bool} true if buffer was bound. If the programInfo has no block with the same block name * no buffer is bound. * @memberOf module:twgl/programs */ function bindUniformBlock(gl, programInfo, uniformBlockInfo) { const uniformBlockSpec = programInfo.uniformBlockSpec || programInfo; const blockSpec = uniformBlockSpec.blockSpecs[uniformBlockInfo.name]; if (blockSpec) { const bufferBindIndex = blockSpec.index; gl.bindBufferRange(UNIFORM_BUFFER, bufferBindIndex, uniformBlockInfo.buffer, uniformBlockInfo.offset || 0, uniformBlockInfo.array.byteLength); return true; } return false; } /** * Uploads the current uniform values to the corresponding WebGLBuffer * and binds that buffer to the program's corresponding bind point for the uniform block object. * * If you haven't changed any values and you only need to bind the uniform block object * call {@link module:twgl.bindUniformBlock} instead. * * @param {WebGL2RenderingContext} gl A WebGL 2 rendering context. * @param {(module:twgl.ProgramInfo|module:twgl.UniformBlockSpec)} programInfo a `ProgramInfo` * as returned from {@link module:twgl.createProgramInfo} or or `UniformBlockSpec` as * returned from {@link module:twgl.createUniformBlockSpecFromProgram}. * @param {module:twgl.UniformBlockInfo} uniformBlockInfo a `UniformBlockInfo` as returned from * {@link module:twgl.createUniformBlockInfo}. * @memberOf module:twgl/programs */ function setUniformBlock(gl, programInfo, uniformBlockInfo) { if (bindUniformBlock(gl, programInfo, uniformBlockInfo)) { gl.bufferData(UNIFORM_BUFFER, uniformBlockInfo.array, DYNAMIC_DRAW); } } /** * Sets values of a uniform block object * * @param {module:twgl.UniformBlockInfo} uniformBlockInfo A UniformBlockInfo as returned by {@link module:twgl.createUniformBlockInfo}. * @param {Object.} values A uniform name to value map where the value is correct for the given * type of uniform. So for example given a block like * * uniform SomeBlock { * float someFloat; * vec2 someVec2; * vec3 someVec3Array[2]; * int someInt; * } * * You can set the values of the uniform block with * * twgl.setBlockUniforms(someBlockInfo, { * someFloat: 12.3, * someVec2: [1, 2], * someVec3Array: [1, 2, 3, 4, 5, 6], * someInt: 5, * } * * Arrays can be JavaScript arrays or typed arrays * * You can also fill out structure and array values either via * shortcut. Example * * // -- in shader -- * struct Light { * float intensity; * vec4 color; * float nearFar[2]; * }; * uniform Lights { * Light lights[2]; * }; * * // in JavaScript * * twgl.setBlockUniforms(someBlockInfo, { * lights: [ * { intensity: 5.0, color: [1, 0, 0, 1], nearFar[0.1, 10] }, * { intensity: 2.0, color: [0, 0, 1, 1], nearFar[0.2, 15] }, * ], * }); * * or the more traditional way * * twgl.setBlockUniforms(someBlockInfo, { * "lights[0].intensity": 5.0, * "lights[0].color": [1, 0, 0, 1], * "lights[0].nearFar": [0.1, 10], * "lights[1].intensity": 2.0, * "lights[1].color": [0, 0, 1, 1], * "lights[1].nearFar": [0.2, 15], * }); * * You can also specify partial paths * * twgl.setBlockUniforms(someBlockInfo, { * 'lights[1]': { intensity: 5.0, color: [1, 0, 0, 1], nearFar[0.2, 15] }, * }); * * But you can not specify leaf array indices. * * twgl.setBlockUniforms(someBlockInfo, { * 'lights[1].nearFar[1]': 15, // BAD! nearFar is a leaf * 'lights[1].nearFar': [0.2, 15], // GOOD * }); * * **IMPORTANT!**, packing in a UniformBlock is unintuitive. * For example the actual layout of `someVec3Array` above in memory * is `1, 2, 3, unused, 4, 5, 6, unused`. twgl takes in 6 values * as shown about and copies them, skipping the padding. This might * be confusing if you're already familiar with Uniform blocks. * * If you want to deal with the padding yourself you can access the array * buffer views directly. eg: * * someBlockInfo.someVec3Array.set([1, 2, 3, 0, 4, 5, 6, 0]); * * Any name that doesn't match will be ignored * @memberOf module:twgl/programs */ function setBlockUniforms(uniformBlockInfo, values) { const setters = uniformBlockInfo.setters; for (const name in values) { const setter = setters[name]; if (setter) { const value = values[name]; setter(value); } } } function setUniformTree(tree, values) { for (const name in values) { const prop = tree[name]; if (typeof prop === 'function') { prop(values[name]); } else { setUniformTree(tree[name], values[name]); } } } /** * Set uniforms and binds related textures. * * example: * * const programInfo = createProgramInfo( * gl, ["some-vs", "some-fs"]); * * const tex1 = gl.createTexture(); * const tex2 = gl.createTexture(); * * ... assume we setup the textures with data ... * * const uniforms = { * u_someSampler: tex1, * u_someOtherSampler: tex2, * u_someColor: [1,0,0,1], * u_somePosition: [0,1,1], * u_someMatrix: [ * 1,0,0,0, * 0,1,0,0, * 0,0,1,0, * 0,0,0,0, * ], * }; * * gl.useProgram(program); * * This will automatically bind the textures AND set the * uniforms. * * twgl.setUniforms(programInfo, uniforms); * * For the example above it is equivalent to * * var texUnit = 0; * gl.activeTexture(gl.TEXTURE0 + texUnit); * gl.bindTexture(gl.TEXTURE_2D, tex1); * gl.uniform1i(u_someSamplerLocation, texUnit++); * gl.activeTexture(gl.TEXTURE0 + texUnit); * gl.bindTexture(gl.TEXTURE_2D, tex2); * gl.uniform1i(u_someSamplerLocation, texUnit++); * gl.uniform4fv(u_someColorLocation, [1, 0, 0, 1]); * gl.uniform3fv(u_somePositionLocation, [0, 1, 1]); * gl.uniformMatrix4fv(u_someMatrix, false, [ * 1,0,0,0, * 0,1,0,0, * 0,0,1,0, * 0,0,0,0, * ]); * * Note it is perfectly reasonable to call `setUniforms` multiple times. For example * * const uniforms = { * u_someSampler: tex1, * u_someOtherSampler: tex2, * }; * * const moreUniforms { * u_someColor: [1,0,0,1], * u_somePosition: [0,1,1], * u_someMatrix: [ * 1,0,0,0, * 0,1,0,0, * 0,0,1,0, * 0,0,0,0, * ], * }; * * twgl.setUniforms(programInfo, uniforms); * twgl.setUniforms(programInfo, moreUniforms); * * You can also add WebGLSamplers to uniform samplers as in * * const uniforms = { * u_someSampler: { * texture: someWebGLTexture, * sampler: someWebGLSampler, * }, * }; * * In which case both the sampler and texture will be bound to the * same unit. * * @param {(module:twgl.ProgramInfo|Object.)} setters a `ProgramInfo` as returned from `createProgramInfo` or the setters returned from * `createUniformSetters`. * @param {Object.} values an object with values for the * uniforms. * You can pass multiple objects by putting them in an array or by calling with more arguments.For example * * const sharedUniforms = { * u_fogNear: 10, * u_projection: ... * ... * }; * * const localUniforms = { * u_world: ... * u_diffuseColor: ... * }; * * twgl.setUniforms(programInfo, sharedUniforms, localUniforms); * * // is the same as * * twgl.setUniforms(programInfo, [sharedUniforms, localUniforms]); * * // is the same as * * twgl.setUniforms(programInfo, sharedUniforms); * twgl.setUniforms(programInfo, localUniforms}; * * You can also fill out structure and array values either via * shortcut. Example * * // -- in shader -- * struct Light { * float intensity; * vec4 color; * float nearFar[2]; * }; * uniform Light lights[2]; * * // in JavaScript * * twgl.setUniforms(programInfo, { * lights: [ * { intensity: 5.0, color: [1, 0, 0, 1], nearFar[0.1, 10] }, * { intensity: 2.0, color: [0, 0, 1, 1], nearFar[0.2, 15] }, * ], * }); * * or the more traditional way * * twgl.setUniforms(programInfo, { * "lights[0].intensity": 5.0, * "lights[0].color": [1, 0, 0, 1], * "lights[0].nearFar": [0.1, 10], * "lights[1].intensity": 2.0, * "lights[1].color": [0, 0, 1, 1], * "lights[1].nearFar": [0.2, 15], * }); * * You can also specify partial paths * * twgl.setUniforms(programInfo, { * 'lights[1]': { intensity: 5.0, color: [1, 0, 0, 1], nearFar[0.2, 15] }, * }); * * But you can not specify leaf array indices * * twgl.setUniforms(programInfo, { * 'lights[1].nearFar[1]': 15, // BAD! nearFar is a leaf * 'lights[1].nearFar': [0.2, 15], // GOOD * }); * * @memberOf module:twgl/programs */ function setUniforms(setters, ...args) { // eslint-disable-line const actualSetters = setters.uniformSetters || setters; const numArgs = args.length; for (let aNdx = 0; aNdx < numArgs; ++aNdx) { const values = args[aNdx]; if (Array.isArray(values)) { const numValues = values.length; for (let ii = 0; ii < numValues; ++ii) { setUniforms(actualSetters, values[ii]); } } else { for (const name in values) { const setter = actualSetters[name]; if (setter) { setter(values[name]); } } } } } /** * Alias for `setUniforms` * @function * @param {(module:twgl.ProgramInfo|Object.)} setters a `ProgramInfo` as returned from `createProgramInfo` or the setters returned from * `createUniformSetters`. * @param {Object.} values an object with values for the * @memberOf module:twgl/programs */ const setUniformsAndBindTextures = setUniforms; /** * Creates setter functions for all attributes of a shader * program. You can pass this to {@link module:twgl.setBuffersAndAttributes} to set all your buffers and attributes. * * @see {@link module:twgl.setAttributes} for example * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use. * @param {WebGLProgram} program the program to create setters for. * @return {Object.} an object with a setter for each attribute by name. * @memberOf module:twgl/programs */ function createAttributeSetters(gl, program) { const attribSetters = { }; const numAttribs = gl.getProgramParameter(program, ACTIVE_ATTRIBUTES); for (let ii = 0; ii < numAttribs; ++ii) { const attribInfo = gl.getActiveAttrib(program, ii); if (isBuiltIn(attribInfo)) { continue; } const index = gl.getAttribLocation(program, attribInfo.name); const typeInfo = attrTypeMap[attribInfo.type]; const setter = typeInfo.setter(gl, index, typeInfo); setter.location = index; attribSetters[attribInfo.name] = setter; } return attribSetters; } /** * Sets attributes and binds buffers (deprecated... use {@link module:twgl.setBuffersAndAttributes}) * * Example: * * const program = createProgramFromScripts( * gl, ["some-vs", "some-fs"); * * const attribSetters = createAttributeSetters(program); * * const positionBuffer = gl.createBuffer(); * const texcoordBuffer = gl.createBuffer(); * * const attribs = { * a_position: {buffer: positionBuffer, numComponents: 3}, * a_texcoord: {buffer: texcoordBuffer, numComponents: 2}, * }; * * gl.useProgram(program); * * This will automatically bind the buffers AND set the * attributes. * * setAttributes(attribSetters, attribs); * * Properties of attribs. For each attrib you can add * properties: * * * type: the type of data in the buffer. Default = gl.FLOAT * * normalize: whether or not to normalize the data. Default = false * * stride: the stride. Default = 0 * * offset: offset into the buffer. Default = 0 * * divisor: the divisor for instances. Default = undefined * * For example if you had 3 value float positions, 2 value * float texcoord and 4 value uint8 colors you'd setup your * attribs like this * * const attribs = { * a_position: {buffer: positionBuffer, numComponents: 3}, * a_texcoord: {buffer: texcoordBuffer, numComponents: 2}, * a_color: { * buffer: colorBuffer, * numComponents: 4, * type: gl.UNSIGNED_BYTE, * normalize: true, * }, * }; * * @param {Object.} setters Attribute setters as returned from createAttributeSetters * @param {Object.} buffers AttribInfos mapped by attribute name. * @memberOf module:twgl/programs * @deprecated use {@link module:twgl.setBuffersAndAttributes} * @private */ function setAttributes(setters, buffers) { for (const name in buffers) { const setter = setters[name]; if (setter) { setter(buffers[name]); } } } /** * Sets attributes and buffers including the `ELEMENT_ARRAY_BUFFER` if appropriate * * Example: * * const programInfo = createProgramInfo( * gl, ["some-vs", "some-fs"); * * const arrays = { * position: { numComponents: 3, data: [0, 0, 0, 10, 0, 0, 0, 10, 0, 10, 10, 0], }, * texcoord: { numComponents: 2, data: [0, 0, 0, 1, 1, 0, 1, 1], }, * }; * * const bufferInfo = createBufferInfoFromArrays(gl, arrays); * * gl.useProgram(programInfo.program); * * This will automatically bind the buffers AND set the * attributes. * * setBuffersAndAttributes(gl, programInfo, bufferInfo); * * For the example above it is equivalent to * * gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer); * gl.enableVertexAttribArray(a_positionLocation); * gl.vertexAttribPointer(a_positionLocation, 3, gl.FLOAT, false, 0, 0); * gl.bindBuffer(gl.ARRAY_BUFFER, texcoordBuffer); * gl.enableVertexAttribArray(a_texcoordLocation); * gl.vertexAttribPointer(a_texcoordLocation, 4, gl.FLOAT, false, 0, 0); * * @param {WebGLRenderingContext} gl A WebGLRenderingContext. * @param {(module:twgl.ProgramInfo|Object.)} setters A `ProgramInfo` as returned from {@link module:twgl.createProgramInfo} or Attribute setters as returned from {@link module:twgl.createAttributeSetters} * @param {(module:twgl.BufferInfo|module:twgl.VertexArrayInfo)} buffers a `BufferInfo` as returned from {@link module:twgl.createBufferInfoFromArrays}. * or a `VertexArrayInfo` as returned from {@link module:twgl.createVertexArrayInfo} * @memberOf module:twgl/programs */ function setBuffersAndAttributes(gl, programInfo, buffers) { if (buffers.vertexArrayObject) { gl.bindVertexArray(buffers.vertexArrayObject); } else { setAttributes(programInfo.attribSetters || programInfo, buffers.attribs); if (buffers.indices) { gl.bindBuffer(ELEMENT_ARRAY_BUFFER$1, buffers.indices); } } } /** * @typedef {Object} ProgramInfo * @property {WebGLProgram} program A shader program * @property {Object} uniformSetters object of setters as returned from createUniformSetters, * @property {Object} attribSetters object of setters as returned from createAttribSetters, * @property {module:twgl.UniformBlockSpec} [uniformBlockSpec] a uniform block spec for making UniformBlockInfos with createUniformBlockInfo etc.. * @property {Object} [transformFeedbackInfo] info for transform feedbacks * @memberOf module:twgl */ /** * Creates a ProgramInfo from an existing program. * * A ProgramInfo contains * * programInfo = { * program: WebGLProgram, * uniformSetters: object of setters as returned from createUniformSetters, * attribSetters: object of setters as returned from createAttribSetters, * } * * @param {WebGLRenderingContext} gl The WebGLRenderingContext * to use. * @param {WebGLProgram} program an existing WebGLProgram. * @return {module:twgl.ProgramInfo} The created ProgramInfo. * @memberOf module:twgl/programs */ function createProgramInfoFromProgram(gl, program) { const uniformSetters = createUniformSetters(gl, program); const attribSetters = createAttributeSetters(gl, program); const programInfo = { program, uniformSetters, attribSetters, }; if (isWebGL2(gl)) { programInfo.uniformBlockSpec = createUniformBlockSpecFromProgram(gl, program); programInfo.transformFeedbackInfo = createTransformFeedbackInfo(gl, program); } return programInfo; } const notIdRE = /\s|{|}|;/; /** * Creates a ProgramInfo from 2 sources. * * A ProgramInfo contains * * programInfo = { * program: WebGLProgram, * uniformSetters: object of setters as returned from createUniformSetters, * attribSetters: object of setters as returned from createAttribSetters, * } * * NOTE: There are 4 signatures for this function * * twgl.createProgramInfo(gl, [vs, fs], options); * twgl.createProgramInfo(gl, [vs, fs], opt_errFunc); * twgl.createProgramInfo(gl, [vs, fs], opt_attribs, opt_errFunc); * twgl.createProgramInfo(gl, [vs, fs], opt_attribs, opt_locations, opt_errFunc); * * @param {WebGLRenderingContext} gl The WebGLRenderingContext * to use. * @param {string[]} shaderSources Array of sources for the * shaders or ids. The first is assumed to be the vertex shader, * the second the fragment shader. * @param {module:twgl.ProgramOptions|string[]|module:twgl.ErrorCallback} [opt_attribs] Options for the program or an array of attribs names or an error callback. Locations will be assigned by index if not passed in * @param {number[]} [opt_locations|module:twgl.ErrorCallback] The locations for the. A parallel array to opt_attribs letting you assign locations or an error callback. * @param {module:twgl.ErrorCallback} [opt_errorCallback] callback for errors. By default it just prints an error to the console * on error. If you want something else pass an callback. It's passed an error message. * @return {module:twgl.ProgramInfo?} The created ProgramInfo or null if it failed to link or compile * @memberOf module:twgl/programs */ function createProgramInfo( gl, shaderSources, opt_attribs, opt_locations, opt_errorCallback) { const progOptions = getProgramOptions(opt_attribs, opt_locations, opt_errorCallback); const errors = []; shaderSources = shaderSources.map(function(source) { // Lets assume if there is no \n it's an id if (!notIdRE.test(source)) { const script = getElementById(source); if (!script) { const err = `no element with id: ${source}`; progOptions.errorCallback(err); errors.push(err); } else { source = script.text; } } return source; }); if (errors.length) { return reportError(progOptions, ''); } const origCallback = progOptions.callback; if (origCallback) { progOptions.callback = (err, program) => { let programInfo; if (!err) { programInfo = createProgramInfoFromProgram(gl, program); } origCallback(err, programInfo); }; } const program = createProgramFromSources(gl, shaderSources, progOptions); if (!program) { return null; } return createProgramInfoFromProgram(gl, program); } var programs = /*#__PURE__*/Object.freeze({ __proto__: null, createAttributeSetters: createAttributeSetters, createProgram: createProgram, createProgramAsync: createProgramAsync, createProgramFromScripts: createProgramFromScripts, createProgramFromSources: createProgramFromSources, createProgramInfo: createProgramInfo, createProgramInfoAsync: createProgramInfoAsync, createProgramInfoFromProgram: createProgramInfoFromProgram, createUniformSetters: createUniformSetters, createUniformBlockSpecFromProgram: createUniformBlockSpecFromProgram, createUniformBlockInfoFromProgram: createUniformBlockInfoFromProgram, createUniformBlockInfo: createUniformBlockInfo, createTransformFeedback: createTransformFeedback, createTransformFeedbackInfo: createTransformFeedbackInfo, bindTransformFeedbackInfo: bindTransformFeedbackInfo, setAttributes: setAttributes, setBuffersAndAttributes: setBuffersAndAttributes, setUniforms: setUniforms, setUniformsAndBindTextures: setUniformsAndBindTextures, setUniformBlock: setUniformBlock, setBlockUniforms: setBlockUniforms, bindUniformBlock: bindUniformBlock }); /* * Copyright 2019 Gregg Tavares * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. */ const TRIANGLES = 0x0004; const UNSIGNED_SHORT$3 = 0x1403; /** * Drawing related functions * * For backward compatibility they are available at both `twgl.draw` and `twgl` * itself * * See {@link module:twgl} for core functions * * @module twgl/draw */ /** * Calls `gl.drawElements` or `gl.drawArrays`, whichever is appropriate * * normally you'd call `gl.drawElements` or `gl.drawArrays` yourself * but calling this means if you switch from indexed data to non-indexed * data you don't have to remember to update your draw call. * * @param {WebGLRenderingContext} gl A WebGLRenderingContext * @param {(module:twgl.BufferInfo|module:twgl.VertexArrayInfo)} bufferInfo A BufferInfo as returned from {@link module:twgl.createBufferInfoFromArrays} or * a VertexArrayInfo as returned from {@link module:twgl.createVertexArrayInfo} * @param {number} [type] eg (gl.TRIANGLES, gl.LINES, gl.POINTS, gl.TRIANGLE_STRIP, ...). Defaults to `gl.TRIANGLES` * @param {number} [count] An optional count. Defaults to bufferInfo.numElements * @param {number} [offset] An optional offset. Defaults to 0. * @param {number} [instanceCount] An optional instanceCount. if set then `drawArraysInstanced` or `drawElementsInstanced` will be called * @memberOf module:twgl/draw */ function drawBufferInfo(gl, bufferInfo, type, count, offset, instanceCount) { type = type === undefined ? TRIANGLES : type; const indices = bufferInfo.indices; const elementType = bufferInfo.elementType; const numElements = count === undefined ? bufferInfo.numElements : count; offset = offset === undefined ? 0 : offset; if (elementType || indices) { if (instanceCount !== undefined) { gl.drawElementsInstanced(type, numElements, elementType === undefined ? UNSIGNED_SHORT$3 : bufferInfo.elementType, offset, instanceCount); } else { gl.drawElements(type, numElements, elementType === undefined ? UNSIGNED_SHORT$3 : bufferInfo.elementType, offset); } } else { if (instanceCount !== undefined) { gl.drawArraysInstanced(type, offset, numElements, instanceCount); } else { gl.drawArrays(type, offset, numElements); } } } /** * A DrawObject is useful for putting objects in to an array and passing them to {@link module:twgl.drawObjectList}. * * You need either a `BufferInfo` or a `VertexArrayInfo`. * * @typedef {Object} DrawObject * @property {boolean} [active] whether or not to draw. Default = `true` (must be `false` to be not true). In other words `undefined` = `true` * @property {number} [type] type to draw eg. `gl.TRIANGLES`, `gl.LINES`, etc... * @property {module:twgl.ProgramInfo} programInfo A ProgramInfo as returned from {@link module:twgl.createProgramInfo} * @property {module:twgl.BufferInfo} [bufferInfo] A BufferInfo as returned from {@link module:twgl.createBufferInfoFromArrays} * @property {module:twgl.VertexArrayInfo} [vertexArrayInfo] A VertexArrayInfo as returned from {@link module:twgl.createVertexArrayInfo} * @property {Object} uniforms The values for the uniforms. * You can pass multiple objects by putting them in an array. For example * * var sharedUniforms = { * u_fogNear: 10, * u_projection: ... * ... * }; * * var localUniforms = { * u_world: ... * u_diffuseColor: ... * }; * * var drawObj = { * ... * uniforms: [sharedUniforms, localUniforms], * }; * * @property {number} [offset] the offset to pass to `gl.drawArrays` or `gl.drawElements`. Defaults to 0. * @property {number} [count] the count to pass to `gl.drawArrays` or `gl.drawElements`. Defaults to bufferInfo.numElements. * @property {number} [instanceCount] the number of instances. Defaults to undefined. * @memberOf module:twgl */ /** * Draws a list of objects * @param {WebGLRenderingContext} gl A WebGLRenderingContext * @param {DrawObject[]} objectsToDraw an array of objects to draw. * @memberOf module:twgl/draw */ function drawObjectList(gl, objectsToDraw) { let lastUsedProgramInfo = null; let lastUsedBufferInfo = null; objectsToDraw.forEach(function(object) { if (object.active === false) { return; } const programInfo = object.programInfo; const bufferInfo = object.vertexArrayInfo || object.bufferInfo; let bindBuffers = false; const type = object.type === undefined ? TRIANGLES : object.type; if (programInfo !== lastUsedProgramInfo) { lastUsedProgramInfo = programInfo; gl.useProgram(programInfo.program); // We have to rebind buffers when changing programs because we // only bind buffers the program uses. So if 2 programs use the same // bufferInfo but the 1st one uses only positions the when the // we switch to the 2nd one some of the attributes will not be on. bindBuffers = true; } // Setup all the needed attributes. if (bindBuffers || bufferInfo !== lastUsedBufferInfo) { if (lastUsedBufferInfo && lastUsedBufferInfo.vertexArrayObject && !bufferInfo.vertexArrayObject) { gl.bindVertexArray(null); } lastUsedBufferInfo = bufferInfo; setBuffersAndAttributes(gl, programInfo, bufferInfo); } // Set the uniforms. setUniforms(programInfo, object.uniforms); // Draw drawBufferInfo(gl, bufferInfo, type, object.count, object.offset, object.instanceCount); }); if (lastUsedBufferInfo && lastUsedBufferInfo.vertexArrayObject) { gl.bindVertexArray(null); } } var draw = /*#__PURE__*/Object.freeze({ __proto__: null, drawBufferInfo: drawBufferInfo, drawObjectList: drawObjectList }); /* * Copyright 2019 Gregg Tavares * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. */ const FRAMEBUFFER = 0x8d40; const RENDERBUFFER = 0x8d41; const TEXTURE_2D$2 = 0x0de1; const UNSIGNED_BYTE$3 = 0x1401; /* PixelFormat */ const DEPTH_COMPONENT$1 = 0x1902; const RGBA$1 = 0x1908; const DEPTH_COMPONENT24$1 = 0x81a6; const DEPTH_COMPONENT32F$1 = 0x8cac; const DEPTH24_STENCIL8$1 = 0x88f0; const DEPTH32F_STENCIL8$1 = 0x8cad; /* Framebuffer Object. */ const RGBA4$1 = 0x8056; const RGB5_A1$1 = 0x8057; const RGB565$1 = 0x8D62; const DEPTH_COMPONENT16$1 = 0x81A5; const STENCIL_INDEX = 0x1901; const STENCIL_INDEX8 = 0x8D48; const DEPTH_STENCIL$1 = 0x84F9; const COLOR_ATTACHMENT0 = 0x8CE0; const DEPTH_ATTACHMENT = 0x8D00; const STENCIL_ATTACHMENT = 0x8D20; const DEPTH_STENCIL_ATTACHMENT = 0x821A; /* TextureWrapMode */ const CLAMP_TO_EDGE$1 = 0x812F; /* TextureMagFilter */ const LINEAR$1 = 0x2601; /** * The options for a framebuffer attachment. * * Note: For a `format` that is a texture include all the texture * options from {@link module:twgl.TextureOptions} for example * `min`, `mag`, `clamp`, etc... Note that unlike {@link module:twgl.TextureOptions} * `auto` defaults to `false` for attachment textures but `min` and `mag` default * to `gl.LINEAR` and `wrap` defaults to `CLAMP_TO_EDGE` * * @typedef {Object} AttachmentOptions * @property {number} [attachmentPoint] The attachment point. Defaults * to `gl.COLOR_ATTACHMENT0 + ndx` unless type is a depth or stencil type * then it's gl.DEPTH_ATTACHMENT or `gl.DEPTH_STENCIL_ATTACHMENT` depending * on the format or attachment type. * @property {number} [format] The format. If one of `gl.RGBA4`, * `gl.RGB565`, `gl.RGB5_A1`, `gl.DEPTH_COMPONENT16`, * `gl.STENCIL_INDEX8` or `gl.DEPTH_STENCIL` then will create a * renderbuffer. Otherwise will create a texture. Default = `gl.RGBA` * @property {number} [type] The type. Used for texture. Default = `gl.UNSIGNED_BYTE`. * @property {number} [target] The texture target for `gl.framebufferTexture2D`. * Defaults to `gl.TEXTURE_2D`. Set to appropriate face for cube maps. * @property {number} [samples] The number of samples. Default = 1 * @property {number} [level] level for `gl.framebufferTexture2D`. Defaults to 0. * @property {number} [layer] layer for `gl.framebufferTextureLayer`. Defaults to undefined. * If set then `gl.framebufferTextureLayer` is called, if not then `gl.framebufferTexture2D` * @property {(WebGLRenderbuffer | WebGLTexture)} [attachment] An existing renderbuffer or texture. * If provided will attach this Object. This allows you to share * attachments across framebuffers. * @memberOf module:twgl * @mixes module:twgl.TextureOptions */ const defaultAttachments = [ { format: RGBA$1, type: UNSIGNED_BYTE$3, min: LINEAR$1, wrap: CLAMP_TO_EDGE$1, }, { format: DEPTH_STENCIL$1, }, ]; const attachmentsByFormat = {}; attachmentsByFormat[DEPTH_STENCIL$1] = DEPTH_STENCIL_ATTACHMENT; attachmentsByFormat[STENCIL_INDEX] = STENCIL_ATTACHMENT; attachmentsByFormat[STENCIL_INDEX8] = STENCIL_ATTACHMENT; attachmentsByFormat[DEPTH_COMPONENT$1] = DEPTH_ATTACHMENT; attachmentsByFormat[DEPTH_COMPONENT16$1] = DEPTH_ATTACHMENT; attachmentsByFormat[DEPTH_COMPONENT24$1] = DEPTH_ATTACHMENT; attachmentsByFormat[DEPTH_COMPONENT32F$1] = DEPTH_ATTACHMENT; attachmentsByFormat[DEPTH24_STENCIL8$1] = DEPTH_STENCIL_ATTACHMENT; attachmentsByFormat[DEPTH32F_STENCIL8$1] = DEPTH_STENCIL_ATTACHMENT; function getAttachmentPointForFormat(format, internalFormat) { return attachmentsByFormat[format] || attachmentsByFormat[internalFormat]; } const renderbufferFormats = {}; renderbufferFormats[RGBA4$1] = true; renderbufferFormats[RGB5_A1$1] = true; renderbufferFormats[RGB565$1] = true; renderbufferFormats[DEPTH_STENCIL$1] = true; renderbufferFormats[DEPTH_COMPONENT16$1] = true; renderbufferFormats[STENCIL_INDEX] = true; renderbufferFormats[STENCIL_INDEX8] = true; function isRenderbufferFormat(format) { return renderbufferFormats[format]; } const MAX_COLOR_ATTACHMENT_POINTS = 32; // even an 3090 only supports 8 but WebGL/OpenGL ES define constants for 32 function isColorAttachmentPoint(attachmentPoint) { return attachmentPoint >= COLOR_ATTACHMENT0 && attachmentPoint < COLOR_ATTACHMENT0 + MAX_COLOR_ATTACHMENT_POINTS; } /** * @typedef {Object} FramebufferInfo * @property {WebGLFramebuffer} framebuffer The WebGLFramebuffer for this framebufferInfo * @property {Array.<(WebGLRenderbuffer | WebGLTexture)>} attachments The created attachments in the same order as passed in to {@link module:twgl.createFramebufferInfo}. * @property {number} width The width of the framebuffer and its attachments * @property {number} height The width of the framebuffer and its attachments * @memberOf module:twgl */ /** * Creates a framebuffer and attachments. * * This returns a {@link module:twgl.FramebufferInfo} because it needs to return the attachments as well as the framebuffer. * It also leaves the framebuffer it just created as the currently bound `FRAMEBUFFER`. * Note: If this is WebGL2 or if you called {@link module:twgl.addExtensionsToContext} then it will set the drawBuffers * to `[COLOR_ATTACHMENT0, COLOR_ATTACHMENT1, ...]` for how ever many color attachments were created. * * The simplest usage * * // create an RGBA/UNSIGNED_BYTE texture and DEPTH_STENCIL renderbuffer * const fbi = twgl.createFramebufferInfo(gl); * * More complex usage * * // create an RGB565 renderbuffer and a STENCIL_INDEX8 renderbuffer * const attachments = [ * { format: RGB565, mag: NEAREST }, * { format: STENCIL_INDEX8 }, * ] * const fbi = twgl.createFramebufferInfo(gl, attachments); * * Passing in a specific size * * const width = 256; * const height = 256; * const fbi = twgl.createFramebufferInfo(gl, attachments, width, height); * * **Note!!** It is up to you to check if the framebuffer is renderable by calling `gl.checkFramebufferStatus`. * [WebGL1 only guarantees 3 combinations of attachments work](https://www.khronos.org/registry/webgl/specs/latest/1.0/#6.6). * * @param {WebGLRenderingContext} gl the WebGLRenderingContext * @param {module:twgl.AttachmentOptions[]} [attachments] which attachments to create. If not provided the default is a framebuffer with an * `RGBA`, `UNSIGNED_BYTE` texture `COLOR_ATTACHMENT0` and a `DEPTH_STENCIL` renderbuffer `DEPTH_STENCIL_ATTACHMENT`. * @param {number} [width] the width for the attachments. Default = size of drawingBuffer * @param {number} [height] the height for the attachments. Default = size of drawingBuffer * @return {module:twgl.FramebufferInfo} the framebuffer and attachments. * @memberOf module:twgl/framebuffers */ function createFramebufferInfo(gl, attachments, width, height) { const target = FRAMEBUFFER; const fb = gl.createFramebuffer(); gl.bindFramebuffer(target, fb); width = width || gl.drawingBufferWidth; height = height || gl.drawingBufferHeight; attachments = attachments || defaultAttachments; const usedColorAttachmentsPoints = []; const framebufferInfo = { framebuffer: fb, attachments: [], width: width, height: height, }; attachments.forEach(function(attachmentOptions, i) { let attachment = attachmentOptions.attachment; const samples = attachmentOptions.samples; const format = attachmentOptions.format; let attachmentPoint = attachmentOptions.attachmentPoint || getAttachmentPointForFormat(format, attachmentOptions.internalFormat); if (!attachmentPoint) { attachmentPoint = COLOR_ATTACHMENT0 + i; } if (isColorAttachmentPoint(attachmentPoint)) { usedColorAttachmentsPoints.push(attachmentPoint); } if (!attachment) { if (samples !== undefined || isRenderbufferFormat(format)) { attachment = gl.createRenderbuffer(); gl.bindRenderbuffer(RENDERBUFFER, attachment); if (samples > 1) { gl.renderbufferStorageMultisample(RENDERBUFFER, samples, format, width, height); } else { gl.renderbufferStorage(RENDERBUFFER, format, width, height); } } else { const textureOptions = Object.assign({}, attachmentOptions); textureOptions.width = width; textureOptions.height = height; if (textureOptions.auto === undefined) { textureOptions.auto = false; textureOptions.min = textureOptions.min || textureOptions.minMag || LINEAR$1; textureOptions.mag = textureOptions.mag || textureOptions.minMag || LINEAR$1; textureOptions.wrapS = textureOptions.wrapS || textureOptions.wrap || CLAMP_TO_EDGE$1; textureOptions.wrapT = textureOptions.wrapT || textureOptions.wrap || CLAMP_TO_EDGE$1; } attachment = createTexture(gl, textureOptions); } } if (isRenderbuffer(gl, attachment)) { gl.framebufferRenderbuffer(target, attachmentPoint, RENDERBUFFER, attachment); } else if (isTexture(gl, attachment)) { if (attachmentOptions.layer !== undefined) { gl.framebufferTextureLayer( target, attachmentPoint, attachment, attachmentOptions.level || 0, attachmentOptions.layer); } else { gl.framebufferTexture2D( target, attachmentPoint, attachmentOptions.target || TEXTURE_2D$2, attachment, attachmentOptions.level || 0); } } else { throw new Error('unknown attachment type'); } framebufferInfo.attachments.push(attachment); }); if (gl.drawBuffers) { gl.drawBuffers(usedColorAttachmentsPoints); } return framebufferInfo; } /** * Resizes the attachments of a framebuffer. * * You need to pass in the same `attachments` as you passed in {@link module:twgl.createFramebufferInfo} * because TWGL has no idea the format/type of each attachment. * * The simplest usage * * // create an RGBA/UNSIGNED_BYTE texture and DEPTH_STENCIL renderbuffer * const fbi = twgl.createFramebufferInfo(gl); * * ... * * function render() { * if (twgl.resizeCanvasToDisplaySize(gl.canvas)) { * // resize the attachments * twgl.resizeFramebufferInfo(gl, fbi); * } * * More complex usage * * // create an RGB565 renderbuffer and a STENCIL_INDEX8 renderbuffer * const attachments = [ * { format: RGB565, mag: NEAREST }, * { format: STENCIL_INDEX8 }, * ] * const fbi = twgl.createFramebufferInfo(gl, attachments); * * ... * * function render() { * if (twgl.resizeCanvasToDisplaySize(gl.canvas)) { * // resize the attachments to match * twgl.resizeFramebufferInfo(gl, fbi, attachments); * } * * @param {WebGLRenderingContext} gl the WebGLRenderingContext * @param {module:twgl.FramebufferInfo} framebufferInfo a framebufferInfo as returned from {@link module:twgl.createFramebufferInfo}. * @param {module:twgl.AttachmentOptions[]} [attachments] the same attachments options as passed to {@link module:twgl.createFramebufferInfo}. * @param {number} [width] the width for the attachments. Default = size of drawingBuffer * @param {number} [height] the height for the attachments. Default = size of drawingBuffer * @memberOf module:twgl/framebuffers */ function resizeFramebufferInfo(gl, framebufferInfo, attachments, width, height) { width = width || gl.drawingBufferWidth; height = height || gl.drawingBufferHeight; framebufferInfo.width = width; framebufferInfo.height = height; attachments = attachments || defaultAttachments; attachments.forEach(function(attachmentOptions, ndx) { const attachment = framebufferInfo.attachments[ndx]; const format = attachmentOptions.format; const samples = attachmentOptions.samples; if (samples !== undefined || isRenderbuffer(gl, attachment)) { gl.bindRenderbuffer(RENDERBUFFER, attachment); if (samples > 1) { gl.renderbufferStorageMultisample(RENDERBUFFER, samples, format, width, height); } else { gl.renderbufferStorage(RENDERBUFFER, format, width, height); } } else if (isTexture(gl, attachment)) { resizeTexture(gl, attachment, attachmentOptions, width, height); } else { throw new Error('unknown attachment type'); } }); } /** * Binds a framebuffer * * This function pretty much solely exists because I spent hours * trying to figure out why something I wrote wasn't working only * to realize I forget to set the viewport dimensions. * My hope is this function will fix that. * * It is effectively the same as * * gl.bindFramebuffer(gl.FRAMEBUFFER, someFramebufferInfo.framebuffer); * gl.viewport(0, 0, someFramebufferInfo.width, someFramebufferInfo.height); * * @param {WebGLRenderingContext} gl the WebGLRenderingContext * @param {module:twgl.FramebufferInfo|null} [framebufferInfo] a framebufferInfo as returned from {@link module:twgl.createFramebufferInfo}. * If falsy will bind the canvas. * @param {number} [target] The target. If not passed `gl.FRAMEBUFFER` will be used. * @memberOf module:twgl/framebuffers */ function bindFramebufferInfo(gl, framebufferInfo, target) { target = target || FRAMEBUFFER; if (framebufferInfo) { gl.bindFramebuffer(target, framebufferInfo.framebuffer); gl.viewport(0, 0, framebufferInfo.width, framebufferInfo.height); } else { gl.bindFramebuffer(target, null); gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight); } } var framebuffers = /*#__PURE__*/Object.freeze({ __proto__: null, bindFramebufferInfo: bindFramebufferInfo, createFramebufferInfo: createFramebufferInfo, resizeFramebufferInfo: resizeFramebufferInfo }); /* * Copyright 2019 Gregg Tavares * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. */ /** * vertex array object related functions * * You should generally not need to use these functions. They are provided * for those cases where you're doing something out of the ordinary * and you need lower level access. * * For backward compatibility they are available at both `twgl.attributes` and `twgl` * itself * * See {@link module:twgl} for core functions * * @module twgl/vertexArrays */ const ELEMENT_ARRAY_BUFFER$2 = 0x8893; /** * @typedef {Object} VertexArrayInfo * @property {number} numElements The number of elements to pass to `gl.drawArrays` or `gl.drawElements`. * @property {number} [elementType] The type of indices `UNSIGNED_BYTE`, `UNSIGNED_SHORT` etc.. * @property {WebGLVertexArrayObject} [vertexArrayObject] a vertex array object * @memberOf module:twgl */ /** * Creates a VertexArrayInfo from a BufferInfo and one or more ProgramInfos * * This can be passed to {@link module:twgl.setBuffersAndAttributes} and to * {@link module:twgl:drawBufferInfo}. * * > **IMPORTANT:** Vertex Array Objects are **not** a direct analog for a BufferInfo. Vertex Array Objects * assign buffers to specific attributes at creation time. That means they can only be used with programs * who's attributes use the same attribute locations for the same purposes. * * > Bind your attribute locations by passing an array of attribute names to {@link module:twgl.createProgramInfo} * or use WebGL 2's GLSL ES 3's `layout(location = )` to make sure locations match. * * also * * > **IMPORTANT:** After calling twgl.setBuffersAndAttribute with a BufferInfo that uses a Vertex Array Object * that Vertex Array Object will be bound. That means **ANY MANIPULATION OF ELEMENT_ARRAY_BUFFER or ATTRIBUTES** * will affect the Vertex Array Object state. * * > Call `gl.bindVertexArray(null)` to get back manipulating the global attributes and ELEMENT_ARRAY_BUFFER. * * @param {WebGLRenderingContext} gl A WebGLRenderingContext * @param {module:twgl.ProgramInfo|module:twgl.ProgramInfo[]} programInfo a programInfo or array of programInfos * @param {module:twgl.BufferInfo} bufferInfo BufferInfo as returned from createBufferInfoFromArrays etc... * * You need to make sure every attribute that will be used is bound. So for example assume shader 1 * uses attributes A, B, C and shader 2 uses attributes A, B, D. If you only pass in the programInfo * for shader 1 then only attributes A, B, and C will have their attributes set because TWGL doesn't * now attribute D's location. * * So, you can pass in both shader 1 and shader 2's programInfo * * @return {module:twgl.VertexArrayInfo} The created VertexArrayInfo * * @memberOf module:twgl/vertexArrays */ function createVertexArrayInfo(gl, programInfos, bufferInfo) { const vao = gl.createVertexArray(); gl.bindVertexArray(vao); if (!programInfos.length) { programInfos = [programInfos]; } programInfos.forEach(function(programInfo) { setBuffersAndAttributes(gl, programInfo, bufferInfo); }); gl.bindVertexArray(null); return { numElements: bufferInfo.numElements, elementType: bufferInfo.elementType, vertexArrayObject: vao, }; } /** * Creates a vertex array object and then sets the attributes on it * * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use. * @param {Object.} setters Attribute setters as returned from createAttributeSetters * @param {Object.} attribs AttribInfos mapped by attribute name. * @param {WebGLBuffer} [indices] an optional ELEMENT_ARRAY_BUFFER of indices * * @return {WebGLVertexArrayObject|null} The created WebGLVertexArrayObject * * @memberOf module:twgl/vertexArrays */ function createVAOAndSetAttributes(gl, setters, attribs, indices) { const vao = gl.createVertexArray(); gl.bindVertexArray(vao); setAttributes(setters, attribs); if (indices) { gl.bindBuffer(ELEMENT_ARRAY_BUFFER$2, indices); } // We unbind this because otherwise any change to ELEMENT_ARRAY_BUFFER // like when creating buffers for other stuff will mess up this VAO's binding gl.bindVertexArray(null); return vao; } /** * Creates a vertex array object and then sets the attributes * on it * * @param {WebGLRenderingContext} gl The WebGLRenderingContext * to use. * @param {Object.| module:twgl.ProgramInfo} programInfo as returned from createProgramInfo or Attribute setters as returned from createAttributeSetters * @param {module:twgl.BufferInfo} bufferInfo BufferInfo as returned from createBufferInfoFromArrays etc... * @param {WebGLBuffer} [indices] an optional ELEMENT_ARRAY_BUFFER of indices * * @return {WebGLVertexArrayObject|null} The created WebGLVertexArrayObject * * @memberOf module:twgl/vertexArrays */ function createVAOFromBufferInfo(gl, programInfo, bufferInfo) { return createVAOAndSetAttributes(gl, programInfo.attribSetters || programInfo, bufferInfo.attribs, bufferInfo.indices); } var vertexArrays = /*#__PURE__*/Object.freeze({ __proto__: null, createVertexArrayInfo: createVertexArrayInfo, createVAOAndSetAttributes: createVAOAndSetAttributes, createVAOFromBufferInfo: createVAOFromBufferInfo }); /* * Copyright 2019 Gregg Tavares * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. */ const defaults$2 = { addExtensionsToContext: true, }; /** * Various default settings for twgl. * * Note: You can call this any number of times. Example: * * twgl.setDefaults({ textureColor: [1, 0, 0, 1] }); * twgl.setDefaults({ attribPrefix: 'a_' }); * * is equivalent to * * twgl.setDefaults({ * textureColor: [1, 0, 0, 1], * attribPrefix: 'a_', * }); * * @typedef {Object} Defaults * @property {string} [attribPrefix] The prefix to stick on attributes * * When writing shaders I prefer to name attributes with `a_`, uniforms with `u_` and varyings with `v_` * as it makes it clear where they came from. But, when building geometry I prefer using un-prefixed names. * * In other words I'll create arrays of geometry like this * * const arrays = { * position: ... * normal: ... * texcoord: ... * }; * * But need those mapped to attributes and my attributes start with `a_`. * * Default: `""` * * @property {number[]} [textureColor] Array of 4 values in the range 0 to 1 * * The default texture color is used when loading textures from * urls. Because the URL will be loaded async we'd like to be * able to use the texture immediately. By putting a 1x1 pixel * color in the texture we can start using the texture before * the URL has loaded. * * Default: `[0.5, 0.75, 1, 1]` * * @property {string} [crossOrigin] * * If not undefined sets the crossOrigin attribute on images * that twgl creates when downloading images for textures. * * Also see {@link module:twgl.TextureOptions}. * * @property {bool} [addExtensionsToContext] * * If true, then, when twgl will try to add any supported WebGL extensions * directly to the context under their normal GL names. For example * if ANGLE_instances_arrays exists then twgl would enable it, * add the functions `vertexAttribDivisor`, `drawArraysInstanced`, * `drawElementsInstanced`, and the constant `VERTEX_ATTRIB_ARRAY_DIVISOR` * to the `WebGLRenderingContext`. * * @memberOf module:twgl */ /** * Sets various defaults for twgl. * * In the interest of terseness which is kind of the point * of twgl I've integrated a few of the older functions here * * @param {module:twgl.Defaults} newDefaults The default settings. * @memberOf module:twgl */ function setDefaults$2(newDefaults) { copyExistingProperties(newDefaults, defaults$2); setDefaults(newDefaults); // eslint-disable-line setDefaults$1(newDefaults); // eslint-disable-line } const prefixRE = /^(.*?)_/; function addExtensionToContext(gl, extensionName) { glEnumToString(gl, 0); const ext = gl.getExtension(extensionName); if (ext) { const enums = {}; const fnSuffix = prefixRE.exec(extensionName)[1]; const enumSuffix = '_' + fnSuffix; for (const key in ext) { const value = ext[key]; const isFunc = typeof (value) === 'function'; const suffix = isFunc ? fnSuffix : enumSuffix; let name = key; // examples of where this is not true are WEBGL_compressed_texture_s3tc // and WEBGL_compressed_texture_pvrtc if (key.endsWith(suffix)) { name = key.substring(0, key.length - suffix.length); } if (gl[name] !== undefined) { if (!isFunc && gl[name] !== value) { warn(name, gl[name], value, key); } } else { if (isFunc) { gl[name] = function(origFn) { return function() { return origFn.apply(ext, arguments); }; }(value); } else { gl[name] = value; enums[name] = value; } } } // pass the modified enums to glEnumToString enums.constructor = { name: ext.constructor.name, }; glEnumToString(enums, 0); } return ext; } /* * If you're wondering why the code doesn't just iterate * over all extensions using `gl.getExtensions` is that it's possible * some future extension is incompatible with this code. Rather than * have thing suddenly break it seems better to manually add to this * list. * */ const supportedExtensions = [ 'ANGLE_instanced_arrays', 'EXT_blend_minmax', 'EXT_color_buffer_float', 'EXT_color_buffer_half_float', 'EXT_disjoint_timer_query', 'EXT_disjoint_timer_query_webgl2', 'EXT_frag_depth', 'EXT_sRGB', 'EXT_shader_texture_lod', 'EXT_texture_filter_anisotropic', 'OES_element_index_uint', 'OES_standard_derivatives', 'OES_texture_float', 'OES_texture_float_linear', 'OES_texture_half_float', 'OES_texture_half_float_linear', 'OES_vertex_array_object', 'WEBGL_color_buffer_float', 'WEBGL_compressed_texture_atc', 'WEBGL_compressed_texture_etc1', 'WEBGL_compressed_texture_pvrtc', 'WEBGL_compressed_texture_s3tc', 'WEBGL_compressed_texture_s3tc_srgb', 'WEBGL_depth_texture', 'WEBGL_draw_buffers', ]; /** * Attempts to enable all of the following extensions * and add their functions and constants to the * `WebGLRenderingContext` using their normal non-extension like names. * * ANGLE_instanced_arrays * EXT_blend_minmax * EXT_color_buffer_float * EXT_color_buffer_half_float * EXT_disjoint_timer_query * EXT_disjoint_timer_query_webgl2 * EXT_frag_depth * EXT_sRGB * EXT_shader_texture_lod * EXT_texture_filter_anisotropic * OES_element_index_uint * OES_standard_derivatives * OES_texture_float * OES_texture_float_linear * OES_texture_half_float * OES_texture_half_float_linear * OES_vertex_array_object * WEBGL_color_buffer_float * WEBGL_compressed_texture_atc * WEBGL_compressed_texture_etc1 * WEBGL_compressed_texture_pvrtc * WEBGL_compressed_texture_s3tc * WEBGL_compressed_texture_s3tc_srgb * WEBGL_depth_texture * WEBGL_draw_buffers * * For example if `ANGLE_instanced_arrays` exists then the functions * `drawArraysInstanced`, `drawElementsInstanced`, `vertexAttribDivisor` * and the constant `VERTEX_ATTRIB_ARRAY_DIVISOR` are added to the * `WebGLRenderingContext`. * * Note that if you want to know if the extension exists you should * probably call `gl.getExtension` for each extension. Alternatively * you can check for the existence of the functions or constants that * are expected to be added. For example * * if (gl.drawBuffers) { * // Either WEBGL_draw_buffers was enabled OR you're running in WebGL2 * .... * * @param {WebGLRenderingContext} gl A WebGLRenderingContext * @memberOf module:twgl */ function addExtensionsToContext(gl) { for (let ii = 0; ii < supportedExtensions.length; ++ii) { addExtensionToContext(gl, supportedExtensions[ii]); } } /** * Creates a webgl context. * @param {HTMLCanvasElement} canvas The canvas tag to get * context from. If one is not passed in one will be * created. * @return {WebGLRenderingContext} The created context. * @private */ function create3DContext(canvas, opt_attribs) { const names = ["webgl", "experimental-webgl"]; let context = null; for (let ii = 0; ii < names.length; ++ii) { context = canvas.getContext(names[ii], opt_attribs); if (context) { if (defaults$2.addExtensionsToContext) { addExtensionsToContext(context); } break; } } return context; } /** * Gets a WebGL1 context. * * Note: Will attempt to enable Vertex Array Objects * and add WebGL2 entry points. (unless you first set defaults with * `twgl.setDefaults({enableVertexArrayObjects: false})`; * * @param {HTMLCanvasElement} canvas a canvas element. * @param {WebGLContextAttributes} [opt_attribs] optional webgl context creation attributes * @return {WebGLRenderingContext} The created context. * @memberOf module:twgl * @deprecated * @private */ function getWebGLContext(canvas, opt_attribs) { const gl = create3DContext(canvas, opt_attribs); return gl; } /** * Creates a webgl context. * * Will return a WebGL2 context if possible. * * You can check if it's WebGL2 with * * twgl.isWebGL2(gl); * * @param {HTMLCanvasElement} canvas The canvas tag to get * context from. If one is not passed in one will be * created. * @return {WebGLRenderingContext} The created context. */ function createContext(canvas, opt_attribs) { const names = ["webgl2", "webgl", "experimental-webgl"]; let context = null; for (let ii = 0; ii < names.length; ++ii) { context = canvas.getContext(names[ii], opt_attribs); if (context) { if (defaults$2.addExtensionsToContext) { addExtensionsToContext(context); } break; } } return context; } /** * Gets a WebGL context. Will create a WebGL2 context if possible. * * You can check if it's WebGL2 with * * function isWebGL2(gl) { * return gl.getParameter(gl.VERSION).indexOf("WebGL 2.0 ") == 0; * } * * Note: For a WebGL1 context will attempt to enable Vertex Array Objects * and add WebGL2 entry points. (unless you first set defaults with * `twgl.setDefaults({enableVertexArrayObjects: false})`; * * @param {HTMLCanvasElement} canvas a canvas element. * @param {WebGLContextAttributes} [opt_attribs] optional webgl context creation attributes * @return {WebGLRenderingContext} The created context. * @memberOf module:twgl */ function getContext(canvas, opt_attribs) { const gl = createContext(canvas, opt_attribs); return gl; } /** * Resize a canvas to match the size it's displayed. * @param {HTMLCanvasElement} canvas The canvas to resize. * @param {number} [multiplier] So you can pass in `window.devicePixelRatio` or other scale value if you want to. * @return {boolean} true if the canvas was resized. * @memberOf module:twgl */ function resizeCanvasToDisplaySize(canvas, multiplier) { multiplier = multiplier || 1; multiplier = Math.max(0, multiplier); const width = canvas.clientWidth * multiplier | 0; const height = canvas.clientHeight * multiplier | 0; if (canvas.width !== width || canvas.height !== height) { canvas.width = width; canvas.height = height; return true; } return false; } /***/ }, /***/ "./node_modules/unicode-trie/index.js" /*!********************************************!*\ !*** ./node_modules/unicode-trie/index.js ***! \********************************************/ (module, __unused_webpack_exports, __webpack_require__) { // Generated by CoffeeScript 1.7.1 var UnicodeTrie, inflate; inflate = __webpack_require__(/*! tiny-inflate */ "./node_modules/tiny-inflate/index.js"); UnicodeTrie = (function() { var DATA_BLOCK_LENGTH, DATA_GRANULARITY, DATA_MASK, INDEX_1_OFFSET, INDEX_2_BLOCK_LENGTH, INDEX_2_BMP_LENGTH, INDEX_2_MASK, INDEX_SHIFT, LSCP_INDEX_2_LENGTH, LSCP_INDEX_2_OFFSET, OMITTED_BMP_INDEX_1_LENGTH, SHIFT_1, SHIFT_1_2, SHIFT_2, UTF8_2B_INDEX_2_LENGTH, UTF8_2B_INDEX_2_OFFSET; SHIFT_1 = 6 + 5; SHIFT_2 = 5; SHIFT_1_2 = SHIFT_1 - SHIFT_2; OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> SHIFT_1; INDEX_2_BLOCK_LENGTH = 1 << SHIFT_1_2; INDEX_2_MASK = INDEX_2_BLOCK_LENGTH - 1; INDEX_SHIFT = 2; DATA_BLOCK_LENGTH = 1 << SHIFT_2; DATA_MASK = DATA_BLOCK_LENGTH - 1; LSCP_INDEX_2_OFFSET = 0x10000 >> SHIFT_2; LSCP_INDEX_2_LENGTH = 0x400 >> SHIFT_2; INDEX_2_BMP_LENGTH = LSCP_INDEX_2_OFFSET + LSCP_INDEX_2_LENGTH; UTF8_2B_INDEX_2_OFFSET = INDEX_2_BMP_LENGTH; UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; INDEX_1_OFFSET = UTF8_2B_INDEX_2_OFFSET + UTF8_2B_INDEX_2_LENGTH; DATA_GRANULARITY = 1 << INDEX_SHIFT; function UnicodeTrie(data) { var isBuffer, uncompressedLength, view; isBuffer = typeof data.readUInt32BE === 'function' && typeof data.slice === 'function'; if (isBuffer || data instanceof Uint8Array) { if (isBuffer) { this.highStart = data.readUInt32BE(0); this.errorValue = data.readUInt32BE(4); uncompressedLength = data.readUInt32BE(8); data = data.slice(12); } else { view = new DataView(data.buffer); this.highStart = view.getUint32(0); this.errorValue = view.getUint32(4); uncompressedLength = view.getUint32(8); data = data.subarray(12); } data = inflate(data, new Uint8Array(uncompressedLength)); data = inflate(data, new Uint8Array(uncompressedLength)); this.data = new Uint32Array(data.buffer); } else { this.data = data.data, this.highStart = data.highStart, this.errorValue = data.errorValue; } } UnicodeTrie.prototype.get = function(codePoint) { var index; if (codePoint < 0 || codePoint > 0x10ffff) { return this.errorValue; } if (codePoint < 0xd800 || (codePoint > 0xdbff && codePoint <= 0xffff)) { index = (this.data[codePoint >> SHIFT_2] << INDEX_SHIFT) + (codePoint & DATA_MASK); return this.data[index]; } if (codePoint <= 0xffff) { index = (this.data[LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> SHIFT_2)] << INDEX_SHIFT) + (codePoint & DATA_MASK); return this.data[index]; } if (codePoint < this.highStart) { index = this.data[(INDEX_1_OFFSET - OMITTED_BMP_INDEX_1_LENGTH) + (codePoint >> SHIFT_1)]; index = this.data[index + ((codePoint >> SHIFT_2) & INDEX_2_MASK)]; index = (index << INDEX_SHIFT) + (codePoint & DATA_MASK); return this.data[index]; } return this.data[this.data.length - DATA_GRANULARITY]; }; return UnicodeTrie; })(); module.exports = UnicodeTrie; /***/ }, /***/ "./node_modules/uri-js/dist/es5/uri.all.js" /*!*************************************************!*\ !*** ./node_modules/uri-js/dist/es5/uri.all.js ***! \*************************************************/ (__unused_webpack_module, exports) { /** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ (function (global, factory) { true ? factory(exports) : 0; }(this, (function (exports) { 'use strict'; function merge() { for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) { sets[_key] = arguments[_key]; } if (sets.length > 1) { sets[0] = sets[0].slice(0, -1); var xl = sets.length - 1; for (var x = 1; x < xl; ++x) { sets[x] = sets[x].slice(1, -1); } sets[xl] = sets[xl].slice(1); return sets.join(''); } else { return sets[0]; } } function subexp(str) { return "(?:" + str + ")"; } function typeOf(o) { return o === undefined ? "undefined" : o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase(); } function toUpperCase(str) { return str.toUpperCase(); } function toArray(obj) { return obj !== undefined && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : []; } function assign(target, source) { var obj = target; if (source) { for (var key in source) { obj[key] = source[key]; } } return obj; } function buildExps(isIRI) { var ALPHA$$ = "[A-Za-z]", CR$ = "[\\x0D]", DIGIT$$ = "[0-9]", DQUOTE$$ = "[\\x22]", HEXDIG$$ = merge(DIGIT$$, "[A-Fa-f]"), //case-insensitive LF$$ = "[\\x0A]", SP$$ = "[\\x20]", PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)), //expanded GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), UCSCHAR$$ = isIRI ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", //subset, excludes bidi control characters IPRIVATE$$ = isIRI ? "[\\uE000-\\uF8FF]" : "[]", //subset UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), USERINFO$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]")) + "*"), DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), //relaxed parsing rules IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), H16$ = subexp(HEXDIG$$ + "{1,4}"), LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), // 6( h16 ":" ) ls32 IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), // "::" 5( h16 ":" ) ls32 IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), //[ h16 ] "::" 4( h16 ":" ) ls32 IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), //[ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), //[ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), //[ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), //[ *4( h16 ":" ) h16 ] "::" ls32 IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), //[ *5( h16 ":" ) h16 ] "::" h16 IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), //[ *6( h16 ":" ) h16 ] "::" IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), ZONEID$ = subexp(subexp(UNRESERVED$$ + "|" + PCT_ENCODED$) + "+"), //RFC 6874 IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), //RFC 6874 IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + ZONEID$), //RFC 6874, with relaxed parsing rules IPVFUTURE$ = subexp("[vV]" + HEXDIG$$ + "+\\." + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]") + "+"), IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), //RFC 6874 REG_NAME$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$)) + "*"), HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")" + "|" + REG_NAME$), PORT$ = subexp(DIGIT$$ + "*"), AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), PCHAR$ = subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@]")), SEGMENT$ = subexp(PCHAR$ + "*"), SEGMENT_NZ$ = subexp(PCHAR$ + "+"), SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\@]")) + "+"), PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), //simplified PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), //simplified PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), //simplified PATH_EMPTY$ = "(?!" + PCHAR$ + ")", PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$"; return { NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), ESCAPE: new RegExp(merge("[^]", UNRESERVED$$, SUB_DELIMS$$), "g"), UNRESERVED: new RegExp(UNRESERVED$$, "g"), OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$, RESERVED$$), "g"), PCT_ENCODED: new RegExp(PCT_ENCODED$, "g"), IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"), IPV6ADDRESS: new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$") //RFC 6874, with relaxed parsing rules }; } var URI_PROTOCOL = buildExps(false); var IRI_PROTOCOL = buildExps(true); var slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); var toConsumableArray = function (arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } }; /** Highest positive signed 32-bit float value */ var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 /** Bootstring parameters */ var base = 36; var tMin = 1; var tMax = 26; var skew = 38; var damp = 700; var initialBias = 72; var initialN = 128; // 0x80 var delimiter = '-'; // '\x2D' /** Regular expressions */ var regexPunycode = /^xn--/; var regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators /** Error messages */ var errors = { 'overflow': 'Overflow: input needs wider integers to process', 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', 'invalid-input': 'Invalid input' }; /** Convenience shortcuts */ var baseMinusTMin = base - tMin; var floor = Math.floor; var stringFromCharCode = String.fromCharCode; /*--------------------------------------------------------------------------*/ /** * A generic error utility function. * @private * @param {String} type The error type. * @returns {Error} Throws a `RangeError` with the applicable error message. */ function error$1(type) { throw new RangeError(errors[type]); } /** * A generic `Array#map` utility function. * @private * @param {Array} array The array to iterate over. * @param {Function} callback The function that gets called for every array * item. * @returns {Array} A new array of values returned by the callback function. */ function map(array, fn) { var result = []; var length = array.length; while (length--) { result[length] = fn(array[length]); } return result; } /** * A simple `Array#map`-like wrapper to work with domain name strings or email * addresses. * @private * @param {String} domain The domain name or email address. * @param {Function} callback The function that gets called for every * character. * @returns {Array} A new string of characters returned by the callback * function. */ function mapDomain(string, fn) { var parts = string.split('@'); var result = ''; if (parts.length > 1) { // In email addresses, only the domain name should be punycoded. Leave // the local part (i.e. everything up to `@`) intact. result = parts[0] + '@'; string = parts[1]; } // Avoid `split(regex)` for IE8 compatibility. See #17. string = string.replace(regexSeparators, '\x2E'); var labels = string.split('.'); var encoded = map(labels, fn).join('.'); return result + encoded; } /** * Creates an array containing the numeric code points of each Unicode * character in the string. While JavaScript uses UCS-2 internally, * this function will convert a pair of surrogate halves (each of which * UCS-2 exposes as separate characters) into a single code point, * matching UTF-16. * @see `punycode.ucs2.encode` * @see * @memberOf punycode.ucs2 * @name decode * @param {String} string The Unicode input string (UCS-2). * @returns {Array} The new array of code points. */ function ucs2decode(string) { var output = []; var counter = 0; var length = string.length; while (counter < length) { var value = string.charCodeAt(counter++); if (value >= 0xD800 && value <= 0xDBFF && counter < length) { // It's a high surrogate, and there is a next character. var extra = string.charCodeAt(counter++); if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); } else { // It's an unmatched surrogate; only append this code unit, in case the // next code unit is the high surrogate of a surrogate pair. output.push(value); counter--; } } else { output.push(value); } } return output; } /** * Creates a string based on an array of numeric code points. * @see `punycode.ucs2.decode` * @memberOf punycode.ucs2 * @name encode * @param {Array} codePoints The array of numeric code points. * @returns {String} The new Unicode string (UCS-2). */ var ucs2encode = function ucs2encode(array) { return String.fromCodePoint.apply(String, toConsumableArray(array)); }; /** * Converts a basic code point into a digit/integer. * @see `digitToBasic()` * @private * @param {Number} codePoint The basic numeric code point value. * @returns {Number} The numeric value of a basic code point (for use in * representing integers) in the range `0` to `base - 1`, or `base` if * the code point does not represent a value. */ var basicToDigit = function basicToDigit(codePoint) { if (codePoint - 0x30 < 0x0A) { return codePoint - 0x16; } if (codePoint - 0x41 < 0x1A) { return codePoint - 0x41; } if (codePoint - 0x61 < 0x1A) { return codePoint - 0x61; } return base; }; /** * Converts a digit/integer into a basic code point. * @see `basicToDigit()` * @private * @param {Number} digit The numeric value of a basic code point. * @returns {Number} The basic code point whose value (when used for * representing integers) is `digit`, which needs to be in the range * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is * used; else, the lowercase form is used. The behavior is undefined * if `flag` is non-zero and `digit` has no uppercase form. */ var digitToBasic = function digitToBasic(digit, flag) { // 0..25 map to ASCII a..z or A..Z // 26..35 map to ASCII 0..9 return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); }; /** * Bias adaptation function as per section 3.4 of RFC 3492. * https://tools.ietf.org/html/rfc3492#section-3.4 * @private */ var adapt = function adapt(delta, numPoints, firstTime) { var k = 0; delta = firstTime ? floor(delta / damp) : delta >> 1; delta += floor(delta / numPoints); for (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) { delta = floor(delta / baseMinusTMin); } return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); }; /** * Converts a Punycode string of ASCII-only symbols to a string of Unicode * symbols. * @memberOf punycode * @param {String} input The Punycode string of ASCII-only symbols. * @returns {String} The resulting string of Unicode symbols. */ var decode = function decode(input) { // Don't use UCS-2. var output = []; var inputLength = input.length; var i = 0; var n = initialN; var bias = initialBias; // Handle the basic code points: let `basic` be the number of input code // points before the last delimiter, or `0` if there is none, then copy // the first basic code points to the output. var basic = input.lastIndexOf(delimiter); if (basic < 0) { basic = 0; } for (var j = 0; j < basic; ++j) { // if it's not a basic code point if (input.charCodeAt(j) >= 0x80) { error$1('not-basic'); } output.push(input.charCodeAt(j)); } // Main decoding loop: start just after the last delimiter if any basic code // points were copied; start at the beginning otherwise. for (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{ // `index` is the index of the next character to be consumed. // Decode a generalized variable-length integer into `delta`, // which gets added to `i`. The overflow checking is easier // if we increase `i` as we go, then subtract off its starting // value at the end to obtain `delta`. var oldi = i; for (var w = 1, k = base;; /* no condition */k += base) { if (index >= inputLength) { error$1('invalid-input'); } var digit = basicToDigit(input.charCodeAt(index++)); if (digit >= base || digit > floor((maxInt - i) / w)) { error$1('overflow'); } i += digit * w; var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; if (digit < t) { break; } var baseMinusT = base - t; if (w > floor(maxInt / baseMinusT)) { error$1('overflow'); } w *= baseMinusT; } var out = output.length + 1; bias = adapt(i - oldi, out, oldi == 0); // `i` was supposed to wrap around from `out` to `0`, // incrementing `n` each time, so we'll fix that now: if (floor(i / out) > maxInt - n) { error$1('overflow'); } n += floor(i / out); i %= out; // Insert `n` at position `i` of the output. output.splice(i++, 0, n); } return String.fromCodePoint.apply(String, output); }; /** * Converts a string of Unicode symbols (e.g. a domain name label) to a * Punycode string of ASCII-only symbols. * @memberOf punycode * @param {String} input The string of Unicode symbols. * @returns {String} The resulting Punycode string of ASCII-only symbols. */ var encode = function encode(input) { var output = []; // Convert the input in UCS-2 to an array of Unicode code points. input = ucs2decode(input); // Cache the length. var inputLength = input.length; // Initialize the state. var n = initialN; var delta = 0; var bias = initialBias; // Handle the basic code points. var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var _currentValue2 = _step.value; if (_currentValue2 < 0x80) { output.push(stringFromCharCode(_currentValue2)); } } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator.return) { _iterator.return(); } } finally { if (_didIteratorError) { throw _iteratorError; } } } var basicLength = output.length; var handledCPCount = basicLength; // `handledCPCount` is the number of code points that have been handled; // `basicLength` is the number of basic code points. // Finish the basic string with a delimiter unless it's empty. if (basicLength) { output.push(delimiter); } // Main encoding loop: while (handledCPCount < inputLength) { // All non-basic code points < n have been handled already. Find the next // larger one: var m = maxInt; var _iteratorNormalCompletion2 = true; var _didIteratorError2 = false; var _iteratorError2 = undefined; try { for (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { var currentValue = _step2.value; if (currentValue >= n && currentValue < m) { m = currentValue; } } // Increase `delta` enough to advance the decoder's state to , // but guard against overflow. } catch (err) { _didIteratorError2 = true; _iteratorError2 = err; } finally { try { if (!_iteratorNormalCompletion2 && _iterator2.return) { _iterator2.return(); } } finally { if (_didIteratorError2) { throw _iteratorError2; } } } var handledCPCountPlusOne = handledCPCount + 1; if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { error$1('overflow'); } delta += (m - n) * handledCPCountPlusOne; n = m; var _iteratorNormalCompletion3 = true; var _didIteratorError3 = false; var _iteratorError3 = undefined; try { for (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { var _currentValue = _step3.value; if (_currentValue < n && ++delta > maxInt) { error$1('overflow'); } if (_currentValue == n) { // Represent delta as a generalized variable-length integer. var q = delta; for (var k = base;; /* no condition */k += base) { var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; if (q < t) { break; } var qMinusT = q - t; var baseMinusT = base - t; output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); q = floor(qMinusT / baseMinusT); } output.push(stringFromCharCode(digitToBasic(q, 0))); bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); delta = 0; ++handledCPCount; } } } catch (err) { _didIteratorError3 = true; _iteratorError3 = err; } finally { try { if (!_iteratorNormalCompletion3 && _iterator3.return) { _iterator3.return(); } } finally { if (_didIteratorError3) { throw _iteratorError3; } } } ++delta; ++n; } return output.join(''); }; /** * Converts a Punycode string representing a domain name or an email address * to Unicode. Only the Punycoded parts of the input will be converted, i.e. * it doesn't matter if you call it on a string that has already been * converted to Unicode. * @memberOf punycode * @param {String} input The Punycoded domain name or email address to * convert to Unicode. * @returns {String} The Unicode representation of the given Punycode * string. */ var toUnicode = function toUnicode(input) { return mapDomain(input, function (string) { return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; }); }; /** * Converts a Unicode string representing a domain name or an email address to * Punycode. Only the non-ASCII parts of the domain name will be converted, * i.e. it doesn't matter if you call it with a domain that's already in * ASCII. * @memberOf punycode * @param {String} input The domain name or email address to convert, as a * Unicode string. * @returns {String} The Punycode representation of the given domain name or * email address. */ var toASCII = function toASCII(input) { return mapDomain(input, function (string) { return regexNonASCII.test(string) ? 'xn--' + encode(string) : string; }); }; /*--------------------------------------------------------------------------*/ /** Define the public API */ var punycode = { /** * A string representing the current Punycode.js version number. * @memberOf punycode * @type String */ 'version': '2.1.0', /** * An object of methods to convert from JavaScript's internal character * representation (UCS-2) to Unicode code points, and back. * @see * @memberOf punycode * @type Object */ 'ucs2': { 'decode': ucs2decode, 'encode': ucs2encode }, 'decode': decode, 'encode': encode, 'toASCII': toASCII, 'toUnicode': toUnicode }; /** * URI.js * * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript. * @author Gary Court * @see http://github.com/garycourt/uri-js */ /** * Copyright 2011 Gary Court. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, this list * of conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of Gary Court. */ var SCHEMES = {}; function pctEncChar(chr) { var c = chr.charCodeAt(0); var e = void 0; if (c < 16) e = "%0" + c.toString(16).toUpperCase();else if (c < 128) e = "%" + c.toString(16).toUpperCase();else if (c < 2048) e = "%" + (c >> 6 | 192).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase();else e = "%" + (c >> 12 | 224).toString(16).toUpperCase() + "%" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase(); return e; } function pctDecChars(str) { var newStr = ""; var i = 0; var il = str.length; while (i < il) { var c = parseInt(str.substr(i + 1, 2), 16); if (c < 128) { newStr += String.fromCharCode(c); i += 3; } else if (c >= 194 && c < 224) { if (il - i >= 6) { var c2 = parseInt(str.substr(i + 4, 2), 16); newStr += String.fromCharCode((c & 31) << 6 | c2 & 63); } else { newStr += str.substr(i, 6); } i += 6; } else if (c >= 224) { if (il - i >= 9) { var _c = parseInt(str.substr(i + 4, 2), 16); var c3 = parseInt(str.substr(i + 7, 2), 16); newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63); } else { newStr += str.substr(i, 9); } i += 9; } else { newStr += str.substr(i, 3); i += 3; } } return newStr; } function _normalizeComponentEncoding(components, protocol) { function decodeUnreserved(str) { var decStr = pctDecChars(str); return !decStr.match(protocol.UNRESERVED) ? str : decStr; } if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, ""); if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); return components; } function _stripLeadingZeros(str) { return str.replace(/^0*(.*)/, "$1") || "0"; } function _normalizeIPv4(host, protocol) { var matches = host.match(protocol.IPV4ADDRESS) || []; var _matches = slicedToArray(matches, 2), address = _matches[1]; if (address) { return address.split(".").map(_stripLeadingZeros).join("."); } else { return host; } } function _normalizeIPv6(host, protocol) { var matches = host.match(protocol.IPV6ADDRESS) || []; var _matches2 = slicedToArray(matches, 3), address = _matches2[1], zone = _matches2[2]; if (address) { var _address$toLowerCase$ = address.toLowerCase().split('::').reverse(), _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2), last = _address$toLowerCase$2[0], first = _address$toLowerCase$2[1]; var firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; var lastFields = last.split(":").map(_stripLeadingZeros); var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); var fieldCount = isLastFieldIPv4Address ? 7 : 8; var lastFieldsStart = lastFields.length - fieldCount; var fields = Array(fieldCount); for (var x = 0; x < fieldCount; ++x) { fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ''; } if (isLastFieldIPv4Address) { fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); } var allZeroFields = fields.reduce(function (acc, field, index) { if (!field || field === "0") { var lastLongest = acc[acc.length - 1]; if (lastLongest && lastLongest.index + lastLongest.length === index) { lastLongest.length++; } else { acc.push({ index: index, length: 1 }); } } return acc; }, []); var longestZeroFields = allZeroFields.sort(function (a, b) { return b.length - a.length; })[0]; var newHost = void 0; if (longestZeroFields && longestZeroFields.length > 1) { var newFirst = fields.slice(0, longestZeroFields.index); var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); newHost = newFirst.join(":") + "::" + newLast.join(":"); } else { newHost = fields.join(":"); } if (zone) { newHost += "%" + zone; } return newHost; } else { return host; } } var URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; var NO_MATCH_IS_UNDEFINED = "".match(/(){0}/)[1] === undefined; function parse(uriString) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var components = {}; var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; if (options.reference === "suffix") uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; var matches = uriString.match(URI_PARSE); if (matches) { if (NO_MATCH_IS_UNDEFINED) { //store each component components.scheme = matches[1]; components.userinfo = matches[3]; components.host = matches[4]; components.port = parseInt(matches[5], 10); components.path = matches[6] || ""; components.query = matches[7]; components.fragment = matches[8]; //fix port number if (isNaN(components.port)) { components.port = matches[5]; } } else { //IE FIX for improper RegExp matching //store each component components.scheme = matches[1] || undefined; components.userinfo = uriString.indexOf("@") !== -1 ? matches[3] : undefined; components.host = uriString.indexOf("//") !== -1 ? matches[4] : undefined; components.port = parseInt(matches[5], 10); components.path = matches[6] || ""; components.query = uriString.indexOf("?") !== -1 ? matches[7] : undefined; components.fragment = uriString.indexOf("#") !== -1 ? matches[8] : undefined; //fix port number if (isNaN(components.port)) { components.port = uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : undefined; } } if (components.host) { //normalize IP hosts components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); } //determine reference type if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) { components.reference = "same-document"; } else if (components.scheme === undefined) { components.reference = "relative"; } else if (components.fragment === undefined) { components.reference = "absolute"; } else { components.reference = "uri"; } //check for reference errors if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { components.error = components.error || "URI is not a " + options.reference + " reference."; } //find scheme handler var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; //check if scheme can't handle IRIs if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { //if host component is a domain name if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) { //convert Unicode IDN -> ASCII IDN try { components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()); } catch (e) { components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; } } //convert IRI -> URI _normalizeComponentEncoding(components, URI_PROTOCOL); } else { //normalize encodings _normalizeComponentEncoding(components, protocol); } //perform scheme specific parsing if (schemeHandler && schemeHandler.parse) { schemeHandler.parse(components, options); } } else { components.error = components.error || "URI can not be parsed."; } return components; } function _recomposeAuthority(components, options) { var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; var uriTokens = []; if (components.userinfo !== undefined) { uriTokens.push(components.userinfo); uriTokens.push("@"); } if (components.host !== undefined) { //normalize IP hosts, add brackets and escape zone separator for IPv6 uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function (_, $1, $2) { return "[" + $1 + ($2 ? "%25" + $2 : "") + "]"; })); } if (typeof components.port === "number" || typeof components.port === "string") { uriTokens.push(":"); uriTokens.push(String(components.port)); } return uriTokens.length ? uriTokens.join("") : undefined; } var RDS1 = /^\.\.?\//; var RDS2 = /^\/\.(\/|$)/; var RDS3 = /^\/\.\.(\/|$)/; var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; function removeDotSegments(input) { var output = []; while (input.length) { if (input.match(RDS1)) { input = input.replace(RDS1, ""); } else if (input.match(RDS2)) { input = input.replace(RDS2, "/"); } else if (input.match(RDS3)) { input = input.replace(RDS3, "/"); output.pop(); } else if (input === "." || input === "..") { input = ""; } else { var im = input.match(RDS5); if (im) { var s = im[0]; input = input.slice(s.length); output.push(s); } else { throw new Error("Unexpected dot segment condition"); } } } return output.join(""); } function serialize(components) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL; var uriTokens = []; //find scheme handler var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; //perform scheme specific serialization if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options); if (components.host) { //if host component is an IPv6 address if (protocol.IPV6ADDRESS.test(components.host)) {} //TODO: normalize IPv6 address as per RFC 5952 //if host component is a domain name else if (options.domainHost || schemeHandler && schemeHandler.domainHost) { //convert IDN via punycode try { components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host); } catch (e) { components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; } } } //normalize encoding _normalizeComponentEncoding(components, protocol); if (options.reference !== "suffix" && components.scheme) { uriTokens.push(components.scheme); uriTokens.push(":"); } var authority = _recomposeAuthority(components, options); if (authority !== undefined) { if (options.reference !== "suffix") { uriTokens.push("//"); } uriTokens.push(authority); if (components.path && components.path.charAt(0) !== "/") { uriTokens.push("/"); } } if (components.path !== undefined) { var s = components.path; if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { s = removeDotSegments(s); } if (authority === undefined) { s = s.replace(/^\/\//, "/%2F"); //don't allow the path to start with "//" } uriTokens.push(s); } if (components.query !== undefined) { uriTokens.push("?"); uriTokens.push(components.query); } if (components.fragment !== undefined) { uriTokens.push("#"); uriTokens.push(components.fragment); } return uriTokens.join(""); //merge tokens into a string } function resolveComponents(base, relative) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var skipNormalization = arguments[3]; var target = {}; if (!skipNormalization) { base = parse(serialize(base, options), options); //normalize base components relative = parse(serialize(relative, options), options); //normalize relative components } options = options || {}; if (!options.tolerant && relative.scheme) { target.scheme = relative.scheme; //target.authority = relative.authority; target.userinfo = relative.userinfo; target.host = relative.host; target.port = relative.port; target.path = removeDotSegments(relative.path || ""); target.query = relative.query; } else { if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) { //target.authority = relative.authority; target.userinfo = relative.userinfo; target.host = relative.host; target.port = relative.port; target.path = removeDotSegments(relative.path || ""); target.query = relative.query; } else { if (!relative.path) { target.path = base.path; if (relative.query !== undefined) { target.query = relative.query; } else { target.query = base.query; } } else { if (relative.path.charAt(0) === "/") { target.path = removeDotSegments(relative.path); } else { if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) { target.path = "/" + relative.path; } else if (!base.path) { target.path = relative.path; } else { target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path; } target.path = removeDotSegments(target.path); } target.query = relative.query; } //target.authority = base.authority; target.userinfo = base.userinfo; target.host = base.host; target.port = base.port; } target.scheme = base.scheme; } target.fragment = relative.fragment; return target; } function resolve(baseURI, relativeURI, options) { var schemelessOptions = assign({ scheme: 'null' }, options); return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions); } function normalize(uri, options) { if (typeof uri === "string") { uri = serialize(parse(uri, options), options); } else if (typeOf(uri) === "object") { uri = parse(serialize(uri, options), options); } return uri; } function equal(uriA, uriB, options) { if (typeof uriA === "string") { uriA = serialize(parse(uriA, options), options); } else if (typeOf(uriA) === "object") { uriA = serialize(uriA, options); } if (typeof uriB === "string") { uriB = serialize(parse(uriB, options), options); } else if (typeOf(uriB) === "object") { uriB = serialize(uriB, options); } return uriA === uriB; } function escapeComponent(str, options) { return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar); } function unescapeComponent(str, options) { return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars); } var handler = { scheme: "http", domainHost: true, parse: function parse(components, options) { //report missing host if (!components.host) { components.error = components.error || "HTTP URIs must have a host."; } return components; }, serialize: function serialize(components, options) { var secure = String(components.scheme).toLowerCase() === "https"; //normalize the default port if (components.port === (secure ? 443 : 80) || components.port === "") { components.port = undefined; } //normalize the empty path if (!components.path) { components.path = "/"; } //NOTE: We do not parse query strings for HTTP URIs //as WWW Form Url Encoded query strings are part of the HTML4+ spec, //and not the HTTP spec. return components; } }; var handler$1 = { scheme: "https", domainHost: handler.domainHost, parse: handler.parse, serialize: handler.serialize }; function isSecure(wsComponents) { return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss"; } //RFC 6455 var handler$2 = { scheme: "ws", domainHost: true, parse: function parse(components, options) { var wsComponents = components; //indicate if the secure flag is set wsComponents.secure = isSecure(wsComponents); //construct resouce name wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : ''); wsComponents.path = undefined; wsComponents.query = undefined; return wsComponents; }, serialize: function serialize(wsComponents, options) { //normalize the default port if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") { wsComponents.port = undefined; } //ensure scheme matches secure flag if (typeof wsComponents.secure === 'boolean') { wsComponents.scheme = wsComponents.secure ? 'wss' : 'ws'; wsComponents.secure = undefined; } //reconstruct path from resource name if (wsComponents.resourceName) { var _wsComponents$resourc = wsComponents.resourceName.split('?'), _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2), path = _wsComponents$resourc2[0], query = _wsComponents$resourc2[1]; wsComponents.path = path && path !== '/' ? path : undefined; wsComponents.query = query; wsComponents.resourceName = undefined; } //forbid fragment component wsComponents.fragment = undefined; return wsComponents; } }; var handler$3 = { scheme: "wss", domainHost: handler$2.domainHost, parse: handler$2.parse, serialize: handler$2.serialize }; var O = {}; var isIRI = true; //RFC 3986 var UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]"; var HEXDIG$$ = "[0-9A-Fa-f]"; //case-insensitive var PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)); //expanded //RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; = //const ATEXT$$ = "[A-Za-z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~]"; //const WSP$$ = "[\\x20\\x09]"; //const OBS_QTEXT$$ = "[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]"; //(%d1-8 / %d11-12 / %d14-31 / %d127) //const QTEXT$$ = merge("[\\x21\\x23-\\x5B\\x5D-\\x7E]", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext //const VCHAR$$ = "[\\x21-\\x7E]"; //const WSP$$ = "[\\x20\\x09]"; //const OBS_QP$ = subexp("\\\\" + merge("[\\x00\\x0D\\x0A]", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext //const FWS$ = subexp(subexp(WSP$$ + "*" + "\\x0D\\x0A") + "?" + WSP$$ + "+"); //const QUOTED_PAIR$ = subexp(subexp("\\\\" + subexp(VCHAR$$ + "|" + WSP$$)) + "|" + OBS_QP$); //const QUOTED_STRING$ = subexp('\\"' + subexp(FWS$ + "?" + QCONTENT$) + "*" + FWS$ + "?" + '\\"'); var ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; var QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; var VCHAR$$ = merge(QTEXT$$, "[\\\"\\\\]"); var SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; var UNRESERVED = new RegExp(UNRESERVED$$, "g"); var PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); var NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); var NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); var NOT_HFVALUE = NOT_HFNAME; function decodeUnreserved(str) { var decStr = pctDecChars(str); return !decStr.match(UNRESERVED) ? str : decStr; } var handler$4 = { scheme: "mailto", parse: function parse$$1(components, options) { var mailtoComponents = components; var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(",") : []; mailtoComponents.path = undefined; if (mailtoComponents.query) { var unknownHeaders = false; var headers = {}; var hfields = mailtoComponents.query.split("&"); for (var x = 0, xl = hfields.length; x < xl; ++x) { var hfield = hfields[x].split("="); switch (hfield[0]) { case "to": var toAddrs = hfield[1].split(","); for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) { to.push(toAddrs[_x]); } break; case "subject": mailtoComponents.subject = unescapeComponent(hfield[1], options); break; case "body": mailtoComponents.body = unescapeComponent(hfield[1], options); break; default: unknownHeaders = true; headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); break; } } if (unknownHeaders) mailtoComponents.headers = headers; } mailtoComponents.query = undefined; for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) { var addr = to[_x2].split("@"); addr[0] = unescapeComponent(addr[0]); if (!options.unicodeSupport) { //convert Unicode IDN -> ASCII IDN try { addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); } catch (e) { mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; } } else { addr[1] = unescapeComponent(addr[1], options).toLowerCase(); } to[_x2] = addr.join("@"); } return mailtoComponents; }, serialize: function serialize$$1(mailtoComponents, options) { var components = mailtoComponents; var to = toArray(mailtoComponents.to); if (to) { for (var x = 0, xl = to.length; x < xl; ++x) { var toAddr = String(to[x]); var atIdx = toAddr.lastIndexOf("@"); var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar); var domain = toAddr.slice(atIdx + 1); //convert IDN via punycode try { domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain); } catch (e) { components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; } to[x] = localPart + "@" + domain; } components.path = to.join(","); } var headers = mailtoComponents.headers = mailtoComponents.headers || {}; if (mailtoComponents.subject) headers["subject"] = mailtoComponents.subject; if (mailtoComponents.body) headers["body"] = mailtoComponents.body; var fields = []; for (var name in headers) { if (headers[name] !== O[name]) { fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + "=" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)); } } if (fields.length) { components.query = fields.join("&"); } return components; } }; var URN_PARSE = /^([^\:]+)\:(.*)/; //RFC 2141 var handler$5 = { scheme: "urn", parse: function parse$$1(components, options) { var matches = components.path && components.path.match(URN_PARSE); var urnComponents = components; if (matches) { var scheme = options.scheme || urnComponents.scheme || "urn"; var nid = matches[1].toLowerCase(); var nss = matches[2]; var urnScheme = scheme + ":" + (options.nid || nid); var schemeHandler = SCHEMES[urnScheme]; urnComponents.nid = nid; urnComponents.nss = nss; urnComponents.path = undefined; if (schemeHandler) { urnComponents = schemeHandler.parse(urnComponents, options); } } else { urnComponents.error = urnComponents.error || "URN can not be parsed."; } return urnComponents; }, serialize: function serialize$$1(urnComponents, options) { var scheme = options.scheme || urnComponents.scheme || "urn"; var nid = urnComponents.nid; var urnScheme = scheme + ":" + (options.nid || nid); var schemeHandler = SCHEMES[urnScheme]; if (schemeHandler) { urnComponents = schemeHandler.serialize(urnComponents, options); } var uriComponents = urnComponents; var nss = urnComponents.nss; uriComponents.path = (nid || options.nid) + ":" + nss; return uriComponents; } }; var UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; //RFC 4122 var handler$6 = { scheme: "urn:uuid", parse: function parse(urnComponents, options) { var uuidComponents = urnComponents; uuidComponents.uuid = uuidComponents.nss; uuidComponents.nss = undefined; if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { uuidComponents.error = uuidComponents.error || "UUID is not valid."; } return uuidComponents; }, serialize: function serialize(uuidComponents, options) { var urnComponents = uuidComponents; //normalize UUID urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); return urnComponents; } }; SCHEMES[handler.scheme] = handler; SCHEMES[handler$1.scheme] = handler$1; SCHEMES[handler$2.scheme] = handler$2; SCHEMES[handler$3.scheme] = handler$3; SCHEMES[handler$4.scheme] = handler$4; SCHEMES[handler$5.scheme] = handler$5; SCHEMES[handler$6.scheme] = handler$6; exports.SCHEMES = SCHEMES; exports.pctEncChar = pctEncChar; exports.pctDecChars = pctDecChars; exports.parse = parse; exports.removeDotSegments = removeDotSegments; exports.serialize = serialize; exports.resolveComponents = resolveComponents; exports.resolve = resolve; exports.normalize = normalize; exports.equal = equal; exports.escapeComponent = escapeComponent; exports.unescapeComponent = unescapeComponent; Object.defineProperty(exports, '__esModule', { value: true }); }))); //# sourceMappingURL=uri.all.js.map /***/ }, /***/ "./static/microbit/scratch-microbit-1.2.0.hex" /*!****************************************************!*\ !*** ./static/microbit/scratch-microbit-1.2.0.hex ***! \****************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + "30d09ba32a17082ef820b57d52d60b7b.hex"); /***/ }, /***/ "./node_modules/uuid/dist/esm-browser/bytesToUuid.js" /*!***********************************************************!*\ !*** ./node_modules/uuid/dist/esm-browser/bytesToUuid.js ***! \***********************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** * Convert array of 16 byte values to UUID string format of the form: * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX */ var byteToHex = []; for (var i = 0; i < 256; ++i) { byteToHex[i] = (i + 0x100).toString(16).substr(1); } function bytesToUuid(buf, offset) { var i = offset || 0; var bth = byteToHex; // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4 return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join(''); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (bytesToUuid); /***/ }, /***/ "./node_modules/uuid/dist/esm-browser/rng.js" /*!***************************************************!*\ !*** ./node_modules/uuid/dist/esm-browser/rng.js ***! \***************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ rng) /* harmony export */ }); // Unique ID creation requires a high quality random # generator. In the browser we therefore // require the crypto API and do not support built-in fallback to lower quality random number // generators (like Math.random()). // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also, // find the complete implementation of crypto (msCrypto) on IE11. var getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto); var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef function rng() { if (!getRandomValues) { throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); } return getRandomValues(rnds8); } /***/ }, /***/ "./node_modules/uuid/dist/esm-browser/v4.js" /*!**************************************************!*\ !*** ./node_modules/uuid/dist/esm-browser/v4.js ***! \**************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _rng_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rng.js */ "./node_modules/uuid/dist/esm-browser/rng.js"); /* harmony import */ var _bytesToUuid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bytesToUuid.js */ "./node_modules/uuid/dist/esm-browser/bytesToUuid.js"); function v4(options, buf, offset) { var i = buf && offset || 0; if (typeof options == 'string') { buf = options === 'binary' ? new Array(16) : null; options = null; } options = options || {}; 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` rnds[6] = rnds[6] & 0x0f | 0x40; rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided if (buf) { for (var ii = 0; ii < 16; ++ii) { buf[i + ii] = rnds[ii]; } } return buf || (0,_bytesToUuid_js__WEBPACK_IMPORTED_MODULE_1__["default"])(rnds); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (v4); /***/ }, /***/ "./node_modules/warning/warning.js" /*!*****************************************!*\ !*** ./node_modules/warning/warning.js ***! \*****************************************/ (module) { "use strict"; /** * Copyright (c) 2014-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /** * Similar to invariant but only logs a warning if the condition is not met. * This can be used to log issues in development environments in critical * paths. Removing the logging code for production environments will keep the * same logic and follow the same code paths. */ var __DEV__ = "development" !== 'production'; var warning = function() {}; if (__DEV__) { var printWarning = function printWarning(format, args) { var len = arguments.length; args = new Array(len > 1 ? len - 1 : 0); for (var key = 1; key < len; key++) { args[key - 1] = arguments[key]; } var argIndex = 0; var message = 'Warning: ' + format.replace(/%s/g, function() { return args[argIndex++]; }); if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) {} } warning = function(condition, format, args) { var len = arguments.length; args = new Array(len > 2 ? len - 2 : 0); for (var key = 2; key < len; key++) { args[key - 2] = arguments[key]; } if (format === undefined) { throw new Error( '`warning(condition, format, ...args)` requires a warning ' + 'message argument' ); } if (!condition) { printWarning.apply(null, [format].concat(args)); } }; } module.exports = warning; /***/ }, /***/ "./node_modules/wav-encoder/index.js" /*!*******************************************!*\ !*** ./node_modules/wav-encoder/index.js ***! \*******************************************/ (module) { "use strict"; function encodeSync(audioData, opts) { opts = opts || {}; audioData = toAudioData(audioData); if (audioData === null) { throw new TypeError("Invalid AudioData"); } var floatingPoint = !!(opts.floatingPoint || opts.float); var bitDepth = floatingPoint ? 32 : ((opts.bitDepth|0) || 16); var bytes = bitDepth >> 3; var length = audioData.length * audioData.numberOfChannels * bytes; var dataView = new DataView(new Uint8Array(44 + length).buffer); var writer = createWriter(dataView); var format = { formatId: floatingPoint ? 0x0003 : 0x0001, floatingPoint: floatingPoint, numberOfChannels: audioData.numberOfChannels, sampleRate: audioData.sampleRate, bitDepth: bitDepth }; writeHeader(writer, format, dataView.buffer.byteLength - 8); var err = writeData(writer, format, length, audioData, opts); if (err instanceof Error) { throw err; } return dataView.buffer; } function encode(audioData, opts) { return new Promise(function(resolve) { resolve(encodeSync(audioData, opts)); }); } function toAudioData(data) { var audioData = {}; if (typeof data.sampleRate !== "number") { return null; } if (!Array.isArray(data.channelData)) { return null; } if (!(data.channelData[0] instanceof Float32Array)) { return null; } audioData.numberOfChannels = data.channelData.length; audioData.length = data.channelData[0].length|0; audioData.sampleRate = data.sampleRate|0; audioData.channelData = data.channelData; return audioData; } function writeHeader(writer, format, length) { var bytes = format.bitDepth >> 3; writer.string("RIFF"); writer.uint32(length); writer.string("WAVE"); writer.string("fmt "); writer.uint32(16); writer.uint16(format.floatingPoint ? 0x0003 : 0x0001); writer.uint16(format.numberOfChannels); writer.uint32(format.sampleRate); writer.uint32(format.sampleRate * format.numberOfChannels * bytes); writer.uint16(format.numberOfChannels * bytes); writer.uint16(format.bitDepth); } function writeData(writer, format, length, audioData, opts) { var bitDepth = format.bitDepth; var encoderOption = format.floatingPoint ? "f" : opts.symmetric ? "s" : ""; var methodName = "pcm" + bitDepth + encoderOption; if (!writer[methodName]) { return new TypeError("Not supported bit depth: " + bitDepth); } var write = writer[methodName].bind(writer); var numberOfChannels = format.numberOfChannels; var channelData = audioData.channelData; writer.string("data"); writer.uint32(length); for (var i = 0, imax = audioData.length; i < imax; i++) { for (var ch = 0; ch < numberOfChannels; ch++) { write(channelData[ch][i]); } } } function createWriter(dataView) { var pos = 0; return { int16: function(value) { dataView.setInt16(pos, value, true); pos += 2; }, uint16: function(value) { dataView.setUint16(pos, value, true); pos += 2; }, uint32: function(value) { dataView.setUint32(pos, value, true); pos += 4; }, string: function(value) { for (var i = 0, imax = value.length; i < imax; i++) { dataView.setUint8(pos++, value.charCodeAt(i)); } }, pcm8: function(value) { value = Math.max(-1, Math.min(value, +1)); value = (value * 0.5 + 0.5) * 255; value = Math.round(value)|0; dataView.setUint8(pos, value, true); pos += 1; }, pcm8s: function(value) { value = Math.round(value * 128) + 128; value = Math.max(0, Math.min(value, 255)); dataView.setUint8(pos, value, true); pos += 1; }, pcm16: function(value) { value = Math.max(-1, Math.min(value, +1)); value = value < 0 ? value * 32768 : value * 32767; value = Math.round(value)|0; dataView.setInt16(pos, value, true); pos += 2; }, pcm16s: function(value) { value = Math.round(value * 32768); value = Math.max(-32768, Math.min(value, 32767)); dataView.setInt16(pos, value, true); pos += 2; }, pcm24: function(value) { value = Math.max(-1, Math.min(value, +1)); value = value < 0 ? 0x1000000 + value * 8388608 : value * 8388607; value = Math.round(value)|0; var x0 = (value >> 0) & 0xFF; var x1 = (value >> 8) & 0xFF; var x2 = (value >> 16) & 0xFF; dataView.setUint8(pos + 0, x0); dataView.setUint8(pos + 1, x1); dataView.setUint8(pos + 2, x2); pos += 3; }, pcm24s: function(value) { value = Math.round(value * 8388608); value = Math.max(-8388608, Math.min(value, 8388607)); var x0 = (value >> 0) & 0xFF; var x1 = (value >> 8) & 0xFF; var x2 = (value >> 16) & 0xFF; dataView.setUint8(pos + 0, x0); dataView.setUint8(pos + 1, x1); dataView.setUint8(pos + 2, x2); pos += 3; }, pcm32: function(value) { value = Math.max(-1, Math.min(value, +1)); value = value < 0 ? value * 2147483648 : value * 2147483647; value = Math.round(value)|0; dataView.setInt32(pos, value, true); pos += 4; }, pcm32s: function(value) { value = Math.round(value * 2147483648); value = Math.max(-2147483648, Math.min(value, +2147483647)); dataView.setInt32(pos, value, true); pos += 4; }, pcm32f: function(value) { dataView.setFloat32(pos, value, true); pos += 4; } }; } module.exports.encode = encode; module.exports.encode.sync = encodeSync; /***/ }, /***/ "./node_modules/xhr/index.js" /*!***********************************!*\ !*** ./node_modules/xhr/index.js ***! \***********************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; var window = __webpack_require__(/*! global/window */ "./node_modules/global/window.js") var isFunction = __webpack_require__(/*! is-function */ "./node_modules/is-function/index.js") var parseHeaders = __webpack_require__(/*! parse-headers */ "./node_modules/parse-headers/parse-headers.js") var xtend = __webpack_require__(/*! xtend */ "./node_modules/xtend/immutable.js") module.exports = createXHR // Allow use of default import syntax in TypeScript module.exports["default"] = createXHR; createXHR.XMLHttpRequest = window.XMLHttpRequest || noop createXHR.XDomainRequest = "withCredentials" in (new createXHR.XMLHttpRequest()) ? createXHR.XMLHttpRequest : window.XDomainRequest forEachArray(["get", "put", "post", "patch", "head", "delete"], function(method) { createXHR[method === "delete" ? "del" : method] = function(uri, options, callback) { options = initParams(uri, options, callback) options.method = method.toUpperCase() return _createXHR(options) } }) function forEachArray(array, iterator) { for (var i = 0; i < array.length; i++) { iterator(array[i]) } } function isEmpty(obj){ for(var i in obj){ if(obj.hasOwnProperty(i)) return false } return true } function initParams(uri, options, callback) { var params = uri if (isFunction(options)) { callback = options if (typeof uri === "string") { params = {uri:uri} } } else { params = xtend(options, {uri: uri}) } params.callback = callback return params } function createXHR(uri, options, callback) { options = initParams(uri, options, callback) return _createXHR(options) } function _createXHR(options) { if(typeof options.callback === "undefined"){ throw new Error("callback argument missing") } var called = false var callback = function cbOnce(err, response, body){ if(!called){ called = true options.callback(err, response, body) } } function readystatechange() { if (xhr.readyState === 4) { setTimeout(loadFunc, 0) } } function getBody() { // Chrome with requestType=blob throws errors arround when even testing access to responseText var body = undefined if (xhr.response) { body = xhr.response } else { body = xhr.responseText || getXml(xhr) } if (isJson) { try { body = JSON.parse(body) } catch (e) {} } return body } function errorFunc(evt) { clearTimeout(timeoutTimer) if(!(evt instanceof Error)){ evt = new Error("" + (evt || "Unknown XMLHttpRequest Error") ) } evt.statusCode = 0 return callback(evt, failureResponse) } // will load the data & process the response in a special response object function loadFunc() { if (aborted) return var status clearTimeout(timeoutTimer) if(options.useXDR && xhr.status===undefined) { //IE8 CORS GET successful response doesn't have a status field, but body is fine status = 200 } else { status = (xhr.status === 1223 ? 204 : xhr.status) } var response = failureResponse var err = null if (status !== 0){ response = { body: getBody(), statusCode: status, method: method, headers: {}, url: uri, rawRequest: xhr } if(xhr.getAllResponseHeaders){ //remember xhr can in fact be XDR for CORS in IE response.headers = parseHeaders(xhr.getAllResponseHeaders()) } } else { err = new Error("Internal XMLHttpRequest Error") } return callback(err, response, response.body) } var xhr = options.xhr || null if (!xhr) { if (options.cors || options.useXDR) { xhr = new createXHR.XDomainRequest() }else{ xhr = new createXHR.XMLHttpRequest() } } var key var aborted var uri = xhr.url = options.uri || options.url var method = xhr.method = options.method || "GET" var body = options.body || options.data var headers = xhr.headers = options.headers || {} var sync = !!options.sync var isJson = false var timeoutTimer var failureResponse = { body: undefined, headers: {}, statusCode: 0, method: method, url: uri, rawRequest: xhr } if ("json" in options && options.json !== false) { isJson = true headers["accept"] || headers["Accept"] || (headers["Accept"] = "application/json") //Don't override existing accept header declared by user if (method !== "GET" && method !== "HEAD") { headers["content-type"] || headers["Content-Type"] || (headers["Content-Type"] = "application/json") //Don't override existing accept header declared by user body = JSON.stringify(options.json === true ? body : options.json) } } xhr.onreadystatechange = readystatechange xhr.onload = loadFunc xhr.onerror = errorFunc // IE9 must have onprogress be set to a unique function. xhr.onprogress = function () { // IE must die } xhr.onabort = function(){ aborted = true; } xhr.ontimeout = errorFunc xhr.open(method, uri, !sync, options.username, options.password) //has to be after open if(!sync) { xhr.withCredentials = !!options.withCredentials } // Cannot set timeout with sync request // not setting timeout on the xhr object, because of old webkits etc. not handling that correctly // both npm's request and jquery 1.x use this kind of timeout, so this is being consistent if (!sync && options.timeout > 0 ) { timeoutTimer = setTimeout(function(){ if (aborted) return aborted = true//IE9 may still call readystatechange xhr.abort("timeout") var e = new Error("XMLHttpRequest timeout") e.code = "ETIMEDOUT" errorFunc(e) }, options.timeout ) } if (xhr.setRequestHeader) { for(key in headers){ if(headers.hasOwnProperty(key)){ xhr.setRequestHeader(key, headers[key]) } } } else if (options.headers && !isEmpty(options.headers)) { throw new Error("Headers cannot be set on an XDomainRequest object") } if ("responseType" in options) { xhr.responseType = options.responseType } if ("beforeSend" in options && typeof options.beforeSend === "function" ) { options.beforeSend(xhr) } // Microsoft Edge browser sends "undefined" when send is called with undefined value. // XMLHttpRequest spec says to pass null as body to indicate no body // See https://github.com/naugtur/xhr/issues/100. xhr.send(body || null) return xhr } function getXml(xhr) { // xhr.responseXML will throw Exception "InvalidStateError" or "DOMException" // See https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseXML. try { if (xhr.responseType === "document") { return xhr.responseXML } var firefoxBugTakenEffect = xhr.responseXML && xhr.responseXML.documentElement.nodeName === "parsererror" if (xhr.responseType === "" && !firefoxBugTakenEffect) { return xhr.responseXML } } catch (e) {} return null } function noop() {} /***/ }, /***/ "./node_modules/xtend/immutable.js" /*!*****************************************!*\ !*** ./node_modules/xtend/immutable.js ***! \*****************************************/ (module) { module.exports = extend var hasOwnProperty = Object.prototype.hasOwnProperty; function extend() { var target = {} for (var i = 0; i < arguments.length; i++) { var source = arguments[i] for (var key in source) { if (hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target } /***/ }, /***/ "./src/components/debug-modal/sections/messages.ts" /*!*********************************************************!*\ !*** ./src/components/debug-modal/sections/messages.ts ***! \*********************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ messages: () => (/* binding */ messages) /* harmony export */ }); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-intl */ "./node_modules/react-intl/lib/index.es.js"); const messages = (0,react_intl__WEBPACK_IMPORTED_MODULE_0__.defineMessages)({ readAloudTitle: { id: 'gui.debugModal.readAloud.title', defaultMessage: 'Read Aloud', description: 'title for the "read aloud" section' }, readAloudDescription1: { id: 'gui.debugModal.readAloud.description1', defaultMessage: 'As you read your code aloud, think from the computer’s perspective.', description: 'description for the "read aloud" section of the debug modal' }, readAloudDescription2: { id: 'gui.debugModal.readAloud.description2', defaultMessage: 'Are you including steps that aren’t there?', description: 'description for the "read aloud" section of the debug modal' }, readAloudDescription3: { id: 'gui.debugModal.readAloud.description3', defaultMessage: 'Are your instructions clear?', description: 'description for the "read aloud" section of the debug modal' }, readAloudDescription4: { id: 'gui.debugModal.readAloud.description4', defaultMessage: 'If something needs to be reset each time the program has run, are those instructions included?', description: 'description for the "read aloud" section of the debug modal' }, breakItDownTitle: { id: 'gui.debugModal.breakItDown.title', defaultMessage: 'Break It Down', description: 'title for the "break it down" section' }, breakItDownDescription1: { id: 'gui.debugModal.breakItDown.description1', defaultMessage: 'Separate the blocks into smaller chunks (or sequences), and click to see what each sequence does.', description: 'description for the "break it down" section of the debug modal' }, breakItDownDescription2: { id: 'gui.debugModal.breakItDown.description2', defaultMessage: 'Once the smaller sequences work as you expect, add them back into the main program.', description: 'description for the "break it down" section of the debug modal' }, breakItDownDescription3: { id: 'gui.debugModal.breakItDown.description3', defaultMessage: 'The process is called decomposition.', description: 'description for the "break it down" section of the debug modal' }, slowItDownTitle: { id: 'gui.debugModal.slowItDown.title', defaultMessage: 'Slow It Down', description: 'title for the "slow it down" section' }, slowItDownDescription1: { id: 'gui.debugModal.slowItDown.description1', defaultMessage: 'The computer runs your program so quickly it can be hard to follow with your eyes.', description: 'description for the "slow it down" section of the debug modal' }, slowItDownDescription2: { id: 'gui.debugModal.slowItDown.description2', defaultMessage: // eslint-disable-next-line max-len 'Add temporary “wait” or “wait until” blocks to slow down the sequence. This gives you time to process if a piece worked or not.', description: 'description for the "slow it down" section of the debug modal' }, slowItDownDescription3: { id: 'gui.debugModal.slowItDown.description3', defaultMessage: 'Remove these wait blocks once your code works.', description: 'description for the "slow it down" section of the debug modal' }, addSoundCheckpointsTitle: { id: 'gui.debugModal.addSoundCheckpoints.title', defaultMessage: 'Add Sound Checkpoints', description: 'title for the "add sound checkpoints" section' }, addSoundCheckpointsDescription1: { id: 'gui.debugModal.addSoundCheckpoints.description1', defaultMessage: // eslint-disable-next-line max-len 'Similar to the Slow It Down strategy, you can add different sounds with the “play until done” block at key points to test your sequence.', description: 'description for the "add sound checkpoints" section of the debug modal' }, addSoundCheckpointsDescription2: { id: 'gui.debugModal.addSoundCheckpoints.description2', defaultMessage: // eslint-disable-next-line max-len 'If a sound doesn’t play, your bug may be before this block. If the sound plays, the bug is probably after this block.', description: 'description for the "add sound checkpoints" section of the debug modal' }, addSoundCheckpointsDescription3: { id: 'gui.debugModal.addSoundCheckpoints.description3', defaultMessage: 'Remove the sounds once your code works.', description: 'description for the "add sound checkpoints" section of the debug modal' }, tinkerWithBlockOrderTitle: { id: 'gui.debugModal.tinkerWithBlockOrder.title', defaultMessage: 'Tinker with Block Order', description: 'title for the "tinker with block order" section' }, tinkerWithBlockOrderDescription1: { id: 'gui.debugModal.tinkerWithBlockOrder.description1', defaultMessage: 'Try adjusting the order/sequence of the blocks.', description: 'description for the "tinker with block order" section of the debug modal' }, tinkerWithBlockOrderDescription2: { id: 'gui.debugModal.tinkerWithBlockOrder.description2', defaultMessage: 'What needs to happen first?', description: 'description for the "tinker with block order" section of the debug modal' }, tinkerWithBlockOrderDescription3: { id: 'gui.debugModal.tinkerWithBlockOrder.description3', defaultMessage: 'What happens second?', description: 'description for the "tinker with block order" section of the debug modal' }, tinkerWithBlockOrderDescription4: { id: 'gui.debugModal.tinkerWithBlockOrder.description4', defaultMessage: 'Do values or sprites need to reset before the next piece of code runs?', description: 'description for the "tinker with block order" section of the debug modal' }, tinkerWithBlockOrderDescription5: { id: 'gui.debugModal.tinkerWithBlockOrder.description5', defaultMessage: 'Try using blocks inside a loop or conditional statement, versus outside a loop or conditional statement.', description: 'description for the "tinker with block order" section of the debug modal' }, toLoopOrNotTitle: { id: 'gui.debugModal.toLoopOrNot.title', defaultMessage: 'To Loop or Not to Loop', description: 'title for the "tinker with block order" section' }, toLoopOrNotDescription1: { id: 'gui.debugModal.toLoopOrNot.description1', defaultMessage: // eslint-disable-next-line max-len 'If using Control blocks like "forever" and "repeat", check that all blocks inside a loop should be there, or if a block (like “wait”) is missing to reset the action or adjust the timing. Do you want your loop to run forever or for a certain number of times? Should something stop the looping?', description: 'description for the "to loop or not to loop" section of the debug modal' }, toLoopOrNotDescription2: { id: 'gui.debugModal.toLoopOrNot.description2', defaultMessage: // eslint-disable-next-line max-len 'Perhaps you aren\'t using a loop when you should be? For instance, if you are using a conditional statement block like "if then," does the program only need to check if it is true or false once? Or does it need to check continuously, in which case, you would want to place your conditional statement inside a forever loop?', description: 'description for the "to loop or not to loop" section of the debug modal' }, timingAndParallelismTitle: { id: 'gui.debugModal.timingAndParallelism.title', defaultMessage: 'Think About Timing & Parallelism', description: 'title for the "think about timing and parallelism" section' }, timingAndParallelismSectionTitle: { id: 'gui.debugModal.timingAndParallelism.sectionTitle', defaultMessage: 'Timing & Parallelism', description: 'title for the "think about timing and parallelism" sidebar section' }, timingAndParallelismDescription1: { id: 'gui.debugModal.timingAndParallelism.description1', defaultMessage: // eslint-disable-next-line max-len 'Do you have multiple events trying to run at the same time? If two sequences are programmed to start at the same time, you can get unpredictable behavior.', description: 'description for the "think about timing and parallelism" section of the debug modal' }, timingAndParallelismDescription2: { id: 'gui.debugModal.timingAndParallelism.description2', defaultMessage: // eslint-disable-next-line max-len 'Add small waits, broadcasts, or user interaction (like clicking or pressing a key) to see if this affects the result.', description: 'description for the "think about timing and parallelism" section of the debug modal' }, thinkAboutBlockOptionsTitle: { id: 'gui.debugModal.thinkAboutBlockOptions.title', defaultMessage: 'Think About Block Options', description: 'title for the "think about block options" section' }, thinkAboutBlockOptionsDescription1: { id: 'gui.debugModal.thinkAboutBlockOptions.description1', defaultMessage: 'Is there a similar but different block you can use?', description: 'description for the "think about block options" section of the debug modal' }, thinkAboutBlockOptionsDescription2: { id: 'gui.debugModal.thinkAboutBlockOptions.description2', defaultMessage: // eslint-disable-next-line max-len 'Some blocks look similar but can behave differently, such as “set” vs “change” or “play until done” vs “start.”', description: 'description for the "think about block options" section of the debug modal' }, thinkAboutBlockOptionsDescription3: { id: 'gui.debugModal.thinkAboutBlockOptions.description3', defaultMessage: 'Try using a similar block in place of what you have, and see if this affects the result.', description: 'description for the "think about block options" section of the debug modal' }, checkTheValuesTitle: { id: 'gui.debugModal.checkTheValues.title', defaultMessage: 'Check the Values', description: 'title for the "check the value" section' }, checkTheValuesDescription1: { id: 'gui.debugModal.checkTheValues.description1', defaultMessage: 'If you are using variables or reporter blocks, check the value at the moment the code sequence is run.', description: 'description for the "check the values" section of the debug modal' }, checkTheValuesDescription2: { id: 'gui.debugModal.checkTheValues.description2', defaultMessage: 'Do/should all the sprites control a variable, or should only one sprite have control?', description: 'description for the "check the values" section of the debug modal' }, checkTheValuesDescription3: { id: 'gui.debugModal.checkTheValues.description3', defaultMessage: 'Where is the value reset? Where is it changed?', description: 'description for the "check the values" section of the debug modal' }, checkCodeSequenceTitle: { id: 'gui.debugModal.checkCodeSequence.title', defaultMessage: 'Check Code Sequence', description: 'title for the "check code sequence" section' }, checkCodeSequenceDescription1: { id: 'gui.debugModal.checkCodeSequence.description1', defaultMessage: 'Check that your code sequence is attached to the correct sprite or the backdrop, if appropriate.', description: 'description for the "check code sequence" section of the debug modal' }, checkCodeSequenceDescription2: { id: 'gui.debugModal.checkCodeSequence.description2', defaultMessage: // eslint-disable-next-line max-len 'If you need to move your code to another sprite, click and drag it until you are hovering over the correct sprite. Release it once the sprite wiggles.', description: 'description for the "check code sequence" section of the debug modal' }, checkCodeSequenceDescription3: { id: 'gui.debugModal.checkCodeSequence.description3', defaultMessage: 'You can also use your Backpack (bottom of screen) to store and move your code or assets.', description: 'description for the "check code sequence" section of the debug modal' }, commentYourCodeTitle: { id: 'gui.debugModal.commentYourCode.title', defaultMessage: 'Comment Your Code', description: 'title for the "comment your code" section' }, commentYourCodeDescription1: { id: 'gui.debugModal.commentYourCode.description1', defaultMessage: // eslint-disable-next-line max-len 'Adding comments to your code can help others looking at your code to understand it. It can also help you remember how your code works when you come back to it later.', description: 'description for the "comment your code" section of the debug modal' }, commentYourCodeDescription2: { id: 'gui.debugModal.commentYourCode.description2', defaultMessage: // eslint-disable-next-line max-len 'Right click on script area to “Add Comment.” Use everyday language to explain what a block, or small sequence of blocks, does.', description: 'description for the "comment your code" section of the debug modal' }, takeABreakTitle: { id: 'gui.debugModal.takeABreak.title', defaultMessage: 'Take a Break, Step Away', description: 'title for the "take a break" section' }, takeABreakDescription1: { id: 'gui.debugModal.takeABreak.description1', defaultMessage: 'Sometimes, spending too much time focused on an issue can be counterproductive and frustrating.', description: 'description for the "take a break, step away" section of the debug modal' }, takeABreakDescription2: { id: 'gui.debugModal.takeABreak.description2', defaultMessage: // eslint-disable-next-line max-len 'Take a break and step away from the screen to clear your mind. After some rest, focusing on something else, or getting some water, you can approach the problem with fresh eyes.', description: 'description for the "take a break, step away" section of the debug modal' }, askForHelpTitle: { id: 'gui.debugModal.askForHelp.title', defaultMessage: 'Ask for Help', description: 'title for the "ask for help" section' }, askForHelpDescription1: { id: 'gui.debugModal.askForHelp.description1', defaultMessage: // eslint-disable-next-line max-len 'If you are still stuck, you can ask for help from a peer. Try finding a debugging/help studio and share your project, asking for help in a comment or the project notes.', description: 'description for the "ask for help" section of the debug modal' }, askForHelpDescription2: { id: 'gui.debugModal.askForHelp.description2', defaultMessage: // eslint-disable-next-line max-len 'Ask one to three people to try your code, as different people may have different perspectives or solutions!', description: 'description for the "ask for help" section of the debug modal' } }); /***/ }, /***/ "./node_modules/scratch-paint/src/components/bit-brush-mode/brush.svg" /*!****************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/bit-brush-mode/brush.svg ***! \****************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ5LjMgKDUxMTY3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5icnVzaDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJicnVzaCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTkuNTAwNjI2NjMsMTEuNDk4MTczNCBMMTAuNDk5NTczNCwxMS40OTgxNzM0IEwxMC40OTk1NzM0LDE0LjQ5OTAxMzQgTDkuNDk5NjI2NjksMTQuNDk5MDEzNCBMOS40OTk2MjY2OSwxMS40OTkxNzM0IEw2LjQ5OTc4NjY4LDExLjQ5OTE3MzQgTDYuNDk5Nzg2NjgsMTAuNDk5MjI2NyBMOS41MDA2MjY2MywxMC40OTkyMjY3IEw5LjUwMDYyNjYzLDExLjQ5ODE3MzQgWiBNMTMuNDk5MjEzNCwzLjUgTDE2LjUwMDA1MzMsMy41IEwxNi41MDAwNTMzLDQuNDk5OTQ2NjcgTDE3LjUsNC40OTk5NDY2NyBMMTcuNSw3LjQ5OTc4NjY4IEwxNi41MDAwNTMzLDcuNDk5Nzg2NjggTDE2LjUwMDA1MzMsOC40OTg3MzM0IEwxNS40OTkxMDY3LDguNDk4NzMzNCBMMTUuNDk5MTA2Nyw5LjQ5ODY4MDA3IEwxNC40OTkxNiw5LjQ5ODY4MDA3IEwxNC40OTkxNiwxMC40OTg2MjY3IEwxMi40OTkyNjY3LDEwLjQ5ODYyNjcgTDEyLjQ5OTI2NjcsMTEuNDk4NTczNCBMMTEuNDk5MzIsMTEuNDk4NTczNCBMMTEuNDk5MzIsMTAuNDk4NjI2NyBMMTAuNDk5MzczNCwxMC40OTg2MjY3IEwxMC40OTkzNzM0LDkuNDk4NjgwMDcgTDkuNDk5NDI2Nyw5LjQ5ODY4MDA3IEw5LjQ5OTQyNjcsNy40OTk3ODY2OCBMMTAuNDk5MzczNCw3LjQ5OTc4NjY4IEwxMC40OTkzNzM0LDYuNDk5ODQwMDEgTDExLjQ5OTMyLDYuNDk5ODQwMDEgTDExLjQ5OTMyLDUuNDk5ODkzMzQgTDEyLjQ5OTI2NjcsNS40OTk4OTMzNCBMMTIuNDk5MjY2Nyw0LjQ5OTk0NjY3IEwxMy40OTkyMTM0LDQuNDk5OTQ2NjcgTDEzLjQ5OTIxMzQsMy41IFogTTUuNDk5NTQwMDIsMTEuNDk4NzczNCBMNi40OTk0ODY2OSwxMS40OTg3NzM0IEw2LjQ5OTQ4NjY5LDEyLjQ5OTcyIEw3LjUwMDQzMzMxLDEyLjQ5OTcyIEw3LjUwMDQzMzMxLDEzLjQ5OTY2NjcgTDguNTAwMzc5OTgsMTMuNDk5NjY2NyBMOC41MDAzNzk5OCwxNC40OTk2MTM0IEw5LjUwMDMyNjY1LDE0LjQ5OTYxMzQgTDkuNTAwMzI2NjUsMTUuNDk5NTYgTDguNTAwMzc5OTgsMTUuNDk5NTYgTDguNTAwMzc5OTgsMTYuNDk4NTA2NyBMNC40OTk1OTMzNiwxNi40OTg1MDY3IEw0LjQ5OTU5MzM2LDE1LjQ5OTU2IEwzLjQ5OTY0NjY5LDE1LjQ5OTU2IEwzLjQ5OTY0NjY5LDEzLjQ5OTY2NjcgTDUuNDk5NTQwMDIsMTMuNDk5NjY2NyBMNS40OTk1NDAwMiwxMS40OTg3NzM0IFogTTIuNSwxMy40OTkwNjY3IEwyLjUsMTIuNDk5MTIgTDMuNDk5OTQ2NjcsMTIuNDk5MTIgTDMuNDk5OTQ2NjcsMTMuNDk5MDY2NyBMMi41LDEzLjQ5OTA2NjcgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlIiBmaWxsPSIjNTc1RTc1Ij48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/bit-eraser-mode/eraser.svg" /*!******************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/bit-eraser-mode/eraser.svg ***! \******************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ5LjMgKDUxMTY3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5lcmFzZXI8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iZXJhc2VyIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cGF0aCBkPSJNOS4zMDAyMjkwNCwxNC4xOTk2OTQ2IEw3Ljg5OTg0NzIzLDE0LjE5OTY5NDYgTDcuODk5ODQ3MjMsMTIuNzk5NzMyNyBMNi40OTk4ODU0MSwxMi43OTk3MzI3IEw2LjQ5OTg4NTQxLDExLjM5OTc3MDkgTDUuMDk5OTIzNTksMTEuMzk5NzcwOSBMNS4wOTk5MjM1OSw5Ljk5ODQwOTEzIEwzLjY5OTk2MTc3LDkuOTk4NDA5MTMgTDMuNjk5OTYxNzcsOC41OTk4NDcyOCBMMi4yOTk5OTk5NSw4LjU5OTg0NzI4IEwyLjI5OTk5OTk1LDcuMTk5ODg1NDYgTDMuNjk5OTYxNzcsNy4xOTk4ODU0NiBMMy42OTk5NjE3Nyw1Ljc5OTkyMzY0IEw1LjA5OTkyMzU5LDUuNzk5OTIzNjQgTDUuMDk5OTIzNTksNC4zOTk5NjE4MiBMNi40OTk4ODU0MSw0LjM5OTk2MTgyIEw2LjQ5OTg4NTQxLDMgTDcuODk5ODQ3MjMsMyBMNy44OTk4NDcyMyw0LjM5OTk2MTgyIEw5LjMwMTIwOTAxLDQuMzk5OTYxODIgTDkuMzAxMjA5MDEsNS43OTk5MjM2NCBMMTAuNzAxMTcwOCw1Ljc5OTkyMzY0IEwxMC43MDExNzA4LDcuMTk5ODg1NDYgTDEyLjEwMTEzMjYsNy4xOTk4ODU0NiBMMTIuMTAxMTMyNiw4LjU5OTg0NzI4IEwxMy40OTk2OTQ1LDguNTk5ODQ3MjggTDEzLjQ5OTY5NDUsOS45OTg0MDkxMyBMMTIuMTAxMTMyNiw5Ljk5ODQwOTEzIEwxMi4xMDExMzI2LDExLjM5OTc3MDkgTDEwLjcwMTE3MDgsMTEuMzk5NzcwOSBMMTAuNzAxMTcwOCwxMi43OTk3MzI3IEw5LjMwMTIwOTAxLDEyLjc5OTczMjcgTDkuMzAxMjA5MDEsMTQuMTk5NTU0NiBMMTAuNzAwMTkwOSwxNC4xOTk1NTQ2IEwxMC43MDAxOTA5LDE1LjU5OTUxNjQgTDkuMzAwMjI5MDQsMTUuNTk5NTE2NCBMOS4zMDAyMjkwNCwxNC4xOTk2OTQ2IFogTTEwLjcwMDE5MDksMTYuOTk5NDc4MiBMMTAuNzAwMTkwOSwxNS41OTk1MTY0IEwxNC45MDAwNzYzLDE1LjU5OTUxNjQgTDE0LjkwMDA3NjMsMTYuOTk5NDc4MiBMMTAuNzAwMTkwOSwxNi45OTk0NzgyIFogTTE0LjkwMDA3NjMsMTUuNTk5NTE2NCBMMTQuOTAwMDc2MywxNC4xOTk1NTQ2IEwxNi4zMDAwMzgxLDE0LjE5OTU1NDYgTDE2LjMwMDAzODEsMTUuNTk5NTE2NCBMMTQuOTAwMDc2MywxNS41OTk1MTY0IFogTTE0LjkwMDA3NjMsMTIuNzk5NTkyNyBMMTQuOTAwMDc2MywxMS4zOTk2MzA5IEwxNi4zMDAwMzgxLDExLjM5OTYzMDkgTDE2LjMwMDAzODEsMTIuNzk5NTkyNyBMMTQuOTAwMDc2MywxMi43OTk1OTI3IFogTTE2LjMwMDAzODEsMTQuMTk5NTU0NiBMMTYuMzAwMDM4MSwxMi43OTk1OTI3IEwxNy43LDEyLjc5OTU5MjcgTDE3LjcsMTQuMTk5NTU0NiBMMTYuMzAwMDM4MSwxNC4xOTk1NTQ2IFogTTEzLjUwMDExNDUsMTEuMzk5NjMwOSBMMTMuNTAwMTE0NSw5Ljk5ODI2OTE0IEwxNC45MDAwNzYzLDkuOTk4MjY5MTQgTDE0LjkwMDA3NjMsMTEuMzk5NjMwOSBMMTMuNTAwMTE0NSwxMS4zOTk2MzA5IFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iIzU3NUU3NSI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/bit-fill-mode/fill.svg" /*!**************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/bit-fill-mode/fill.svg ***! \**************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ5LjMgKDUxMTY3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5maWxsPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9ImZpbGwiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik0xMC43MDAwNjM0LDUuODAxMzc0NDYgTDkuMjk5Nzk2MTQsNS44MDEzNzQ0NiBMOS4yOTk3OTYxNCw4LjU5OTk0ODk1IEw3Ljg5OTgwODkxLDguNTk5OTQ4OTUgTDcuODk5ODA4OTEsNC4zOTk5ODcyNCBMNi40OTk4MjE2Nyw0LjM5OTk4NzI0IEw2LjQ5OTgyMTY3LDUuODAxMzc0NDYgTDUuMDk5ODM0NDMsNS44MDEzNzQ0NiBMNS4wOTk4MzQ0MywzIEw5LjI5OTc5NjE0LDMgTDkuMjk5Nzk2MTQsNC4zOTk5ODcyNCBMMTAuNzAxMTgzNCw0LjM5OTk4NzI0IEwxMC43MDExODM0LDUuODAxMjM0NDYgTDEyLjEwMDA1MDYsNS44MDEyMzQ0NiBMMTIuMTAwMDUwNiw3LjIwMTIyMTcgTDEwLjcwMDA2MzQsNy4yMDEyMjE3IEwxMC43MDAwNjM0LDUuODAxMzc0NDYgWiBNNS4xMDAxMTQ0Myw4LjYwMTIwODk0IEw1LjEwMDExNDQzLDcuMjAxMjIxNyBMNi41MDAxMDE2Nyw3LjIwMTIyMTcgTDYuNTAwMTAxNjcsOC42MDEyMDg5NCBMNS4xMDAxMTQ0Myw4LjYwMTIwODk0IFogTTE2LjMwMDAxMjMsMTYuOTk5NzMyNCBMMTYuMzAwMDEyMywxMC4wMDExOTYyIEwxNy42OTk5OTk2LDEwLjAwMTE5NjIgTDE3LjY5OTk5OTYsMTYuOTk5NzMyNCBMMTYuMzAwMDEyMywxNi45OTk3MzI0IFogTTEyLjEwMDMzMDYsNy4yMDA4MDE3MSBMMTMuNTAwMzE3OSw3LjIwMDgwMTcxIEwxMy41MDAzMTc5LDguNjAwNzg4OTQgTDE2LjMwMDI5MjMsOC42MDA3ODg5NCBMMTYuMzAwMjkyMywxMC4wMDA3NzYyIEwxNC45MDAzMDUxLDEwLjAwMDc3NjIgTDE0LjkwMDMwNTEsMTEuMzU3MzYzOCBMMTMuNTAwMzE3OSwxMS4zNTczNjM4IEwxMy41MDAzMTc5LDEyLjc1ODc1MSBMMTIuMTAwMzMwNiwxMi43NTg3NTEgTDEyLjEwMDMzMDYsMTQuMTU4NzM4MyBMMTAuNzAwMzQzNCwxNC4xNTg3MzgzIEwxMC43MDAzNDM0LDE1LjU1ODcyNTUgTDkuMjk4OTU2MTUsMTUuNTU4NzI1NSBMOS4yOTg5NTYxNSwxNi45NTg3MTI4IEw3Ljg5ODk2ODkxLDE2Ljk1ODcxMjggTDcuODk4OTY4OTEsMTUuNTU4NzI1NSBMNi40OTg5ODE2OCwxNS41NTg3MjU1IEw2LjQ5ODk4MTY4LDE0LjE1ODczODMgTDUuMTAwMzk0NDIsMTQuMTU4NzM4MyBMNS4xMDAzOTQ0MiwxMi43NTg3NTEgTDMuNzAwNDA3MTksMTIuNzU4NzUxIEwzLjcwMDQwNzE5LDExLjM1NzM2MzggTDYuNDk4OTgxNjgsMTEuMzU3MzYzOCBMNi40OTg5ODE2OCwxMS4zNzEzNjM3IEw5LjI5ODk1NjE1LDExLjM3MTM2MzcgTDkuMjk4OTU2MTUsMTAuMDAwNzc2MiBMMTIuMTAwMzMwNiwxMC4wMDA3NzYyIEwxMi4xMDAzMzA2LDcuMjAwODAxNzEgWiBNMy42OTk5ODcxOSw4LjYwMDY0ODk1IEw1LjA5OTk3NDQzLDguNjAwNjQ4OTUgTDUuMDk5OTc0NDMsMTAuMDAwNjM2MiBMMy42OTk5ODcxOSwxMC4wMDA2MzYyIEwzLjY5OTk4NzE5LDExLjM1NzIyMzggTDIuMjk5OTk5OTUsMTEuMzU3MjIzOCBMMi4yOTk5OTk5NSw5Ljk1NzIzNjU4IEwzLjY5OTk4NzE5LDkuOTU3MjM2NTggTDMuNjk5OTg3MTksOC42MDA2NDg5NSBaIiBpZD0iQ29tYmluZWQtU2hhcGUiIGZpbGw9IiM1NzVFNzUiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/bit-line-mode/line.svg" /*!**************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/bit-line-mode/line.svg ***! \**************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ5LjMgKDUxMTY3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5saW5lPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9ImxpbmUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik0xMiw3Ljk5OCBMMTIsNiBMMTQsNiBMMTQsOCBMMTIuMDAyLDggTDEyLjAwMiwxMCBMMTAsMTAgTDEwLDcuOTk4IEwxMiw3Ljk5OCBaIE04LDEyIEw4LDEwIEwxMCwxMCBMMTAsMTIgTDgsMTIgWiBNMTQsNiBMMTQsNCBMMTYsNCBMMTYsNiBMMTQsNiBaIE00LDE2IEw0LDE0IEw2LDE0IEw2LDE2IEw0LDE2IFogTTYsMTQgTDYsMTIgTDgsMTIgTDgsMTQgTDYsMTQgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlIiBmaWxsPSIjNTc1RTc1Ij48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/bit-oval-mode/oval-outlined.svg" /*!***********************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/bit-oval-mode/oval-outlined.svg ***! \***********************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5vdmFsLW91dGxpbmVkPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9Im92YWwtb3V0bGluZWQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNC4wMDAwMDAsIDQuMDAwMDAwKSIgZmlsbD0iIzU3NUU3NSI+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJGaWxsLTEiIHBvaW50cz0iMCA5LjMzMzMzMzMzIDEuMzMzMzMzMzMgOS4zMzMzMzMzMyAxLjMzMzMzMzMzIDIuNjY2NjY2NjcgMCAyLjY2NjY2NjY3Ij48L3BvbHlnb24+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJGaWxsLTIiIHBvaW50cz0iMS4zMzMzMzMzMyAyLjY2NjY2NjY3IDIuNjY2NjY2NjcgMi42NjY2NjY2NyAyLjY2NjY2NjY3IDEuMzMzMzMzMzMgMS4zMzMzMzMzMyAxLjMzMzMzMzMzIj48L3BvbHlnb24+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJGaWxsLTMiIHBvaW50cz0iMS4zMzMzMzMzMyAxMC42NjY2NjY3IDIuNjY2NjY2NjcgMTAuNjY2NjY2NyAyLjY2NjY2NjY3IDkuMzMzMzMzMzMgMS4zMzMzMzMzMyA5LjMzMzMzMzMzIj48L3BvbHlnb24+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJGaWxsLTQiIHBvaW50cz0iMi42NjY2NjY2NyAxLjMzMzMzMzMzIDkuMzMzMzMzMzMgMS4zMzMzMzMzMyA5LjMzMzMzMzMzIDAgMi42NjY2NjY2NyAwIj48L3BvbHlnb24+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJGaWxsLTUiIHBvaW50cz0iOS4zMzMzMzMzMyAyLjY2NjY2NjY3IDEwLjY2NjY2NjcgMi42NjY2NjY2NyAxMC42NjY2NjY3IDEuMzMzMzMzMzMgOS4zMzMzMzMzMyAxLjMzMzMzMzMzIj48L3BvbHlnb24+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJGaWxsLTYiIHBvaW50cz0iMTAuNjY2NjY2NyA5LjMzMzMzMzMzIDEyIDkuMzMzMzMzMzMgMTIgMi42NjY2NjY2NyAxMC42NjY2NjY3IDIuNjY2NjY2NjciPjwvcG9seWdvbj4KICAgICAgICAgICAgPHBvbHlnb24gaWQ9IkZpbGwtNyIgcG9pbnRzPSI5LjMzMzMzMzMzIDEwLjY2NjY2NjcgMTAuNjY2NjY2NyAxMC42NjY2NjY3IDEwLjY2NjY2NjcgOS4zMzMzMzMzMyA5LjMzMzMzMzMzIDkuMzMzMzMzMzMiPjwvcG9seWdvbj4KICAgICAgICAgICAgPHBvbHlnb24gaWQ9IkZpbGwtOCIgcG9pbnRzPSIyLjY2NjY2NjY3IDEyIDkuMzMzMzMzMzMgMTIgOS4zMzMzMzMzMyAxMC42NjY2NjY3IDIuNjY2NjY2NjcgMTAuNjY2NjY2NyI+PC9wb2x5Z29uPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/bit-oval-mode/oval.svg" /*!**************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/bit-oval-mode/oval.svg ***! \**************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ5LjMgKDUxMTY3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5vdmFsPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9Im92YWwiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwb2x5Z29uIGlkPSJQYWdlLTEiIGZpbGw9IiM1NzVFNzUiIHBvaW50cz0iNi42NjY2NjY2NyA0IDYuNjY2NjY2NjcgNS4zMzMzMzMzMyA1LjMzMzMzMzMzIDUuMzMzMzMzMzMgNS4zMzMzMzMzMyA2LjY2NjY2NjY3IDQgNi42NjY2NjY2NyA0IDEzLjMzMzMzMzMgNS4zMzMzMzMzMyAxMy4zMzMzMzMzIDUuMzMzMzMzMzMgMTQuNjY2NjY2NyA2LjY2NjY2NjY3IDE0LjY2NjY2NjcgNi42NjY2NjY2NyAxNiAxMy4zMzMzMzMzIDE2IDEzLjMzMzMzMzMgMTQuNjY2NjY2NyAxNC42NjY2NjY3IDE0LjY2NjY2NjcgMTQuNjY2NjY2NyAxMy4zMzMzMzMzIDE2IDEzLjMzMzMzMzMgMTYgNi42NjY2NjY2NyAxNC42NjY2NjY3IDYuNjY2NjY2NjcgMTQuNjY2NjY2NyA1LjMzMzMzMzMzIDEzLjMzMzMzMzMgNS4zMzMzMzMzMyAxMy4zMzMzMzMzIDQiPjwvcG9seWdvbj4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/bit-rect-mode/rectangle-outlined.svg" /*!****************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/bit-rect-mode/rectangle-outlined.svg ***! \****************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5yZWN0YW5nZS1vdXRsaW5lZDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJyZWN0YW5nZS1vdXRsaW5lZCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEuMzMzMzMzMzMiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgaWQ9InJlY3RhbmdsZS1pY29uIiBzdHJva2U9IiM1NzVFNzUiIHg9IjQuNSIgeT0iNC41IiB3aWR0aD0iMTEiIGhlaWdodD0iMTEiPjwvcmVjdD4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/bit-rect-mode/rectangle.svg" /*!*******************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/bit-rect-mode/rectangle.svg ***! \*******************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ5LjMgKDUxMTY3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5yZWN0YW5nZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJyZWN0YW5nZSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgaWQ9InJlY3RhbmdsZS1pY29uIiBmaWxsPSIjNTc1RTc1IiB4PSI0IiB5PSI0IiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPjwvcmVjdD4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/bit-select-mode/marquee.svg" /*!*******************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/bit-select-mode/marquee.svg ***! \*******************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ5LjMgKDUxMTY3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5tYXJxdWVlPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9Im1hcnF1ZWUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik00LjUsNC4xODE4NjExNiBMNC41LDMgTDUuNjgxODYxMTYsMyBMNS42ODE4NjExNiw0LjE4MTg2MTE2IEw0LjUsNC4xODE4NjExNiBaIE0xMS41OTExNjcsNC4xODE4NjExNiBMMTEuNTkxMTY3LDMgTDEyLjc3MzAyODEsMyBMMTIuNzczMDI4MSw0LjE4MTg2MTE2IEwxMS41OTExNjcsNC4xODE4NjExNiBaIE00LjUsMTMuNjM2NzUwNCBMNC41LDEyLjQ1MzcwNzQgTDUuNjgxODYxMTYsMTIuNDUzNzA3NCBMNS42ODE4NjExNiwxMy42MzY3NTA0IEw0LjUsMTMuNjM2NzUwNCBaIE05LjIyNjk3MTg5LDYuNTQ1NzAxNjYgTDEwLjQxMDAxNDksNi41NDU3MDE2NiBMMTAuNDEwMDE0OSw3LjcyNzU2MjgyIEwxMS41OTE4NzYxLDcuNzI3NTYyODIgTDExLjU5MTg3NjEsOC45MDk0MjM5OCBMMTIuNzczNzM3Miw4LjkwOTQyMzk4IEwxMi43NzM3MzcyLDEwLjA5MTI4NTEgTDEzLjk1NTU5ODQsMTAuMDkxMjg1MSBMMTMuOTU1NTk4NCwxMS4yNzMxNDYzIEwxNS4xMzYyNzc3LDExLjI3MzE0NjMgTDE1LjEzNjI3NzcsMTIuNDUzODI1NiBMMTYuMzE4MTM4OCwxMi40NTM4MjU2IEwxNi4zMTgxMzg4LDEzLjYzNjg2ODYgTDE3LjUsMTMuNjM2ODY4NiBMMTcuNSwxNC44MTg3Mjk4IEwxMi43NzM3MzcyLDE0LjgxODcyOTggTDEyLjc3MzczNzIsMTYuMDAwNTkwOSBMMTEuNTkxODc2MSwxNi4wMDA1OTA5IEwxMS41OTE4NzYxLDE3LjE4MjQ1MjEgTDEwLjQxMDAxNDksMTcuMTgyNDUyMSBMMTAuNDEwMDE0OSwxOC4zNjQzMTMyIEw5LjIyNjk3MTg5LDE4LjM2NDMxMzIgTDkuMjI2OTcxODksNi41NDU3MDE2NiBaIE0xMy45NTQ4ODkzLDguOTA5MzA1NzkgTDEzLjk1NDg4OTMsNy43Mjc0NDQ2MyBMMTUuMTM2NzUwNCw3LjcyNzQ0NDYzIEwxNS4xMzY3NTA0LDguOTA5MzA1NzkgTDEzLjk1NDg4OTMsOC45MDkzMDU3OSBaIE02Ljg2MzcyMjMyLDQuMTgxODYxMTYgTDYuODYzNzIyMzIsMyBMOC4wNDU1ODM0OCwzIEw4LjA0NTU4MzQ4LDQuMTgxODYxMTYgTDYuODYzNzIyMzIsNC4xODE4NjExNiBaIE00LjUsMTEuMjczMDI4MSBMNC41LDEwLjA5MTE2NyBMNS42ODE4NjExNiwxMC4wOTExNjcgTDUuNjgxODYxMTYsMTEuMjczMDI4MSBMNC41LDExLjI3MzAyODEgWiBNMTMuOTU0ODg5Myw0LjE4MTg2MTE2IEwxMy45NTQ4ODkzLDMgTDE1LjEzNjc1MDQsMyBMMTUuMTM2NzUwNCw0LjE4MTg2MTE2IEwxMy45NTQ4ODkzLDQuMTgxODYxMTYgWiBNOS4yMjc0NDQ2Myw0LjE4MTg2MTE2IEw5LjIyNzQ0NDYzLDMgTDEwLjQxMDQ4NzcsMyBMMTAuNDEwNDg3Nyw0LjE4MTg2MTE2IEw5LjIyNzQ0NDYzLDQuMTgxODYxMTYgWiBNNC41LDguOTA5MzA1NzkgTDQuNSw3LjcyNzQ0NDYzIEw1LjY4MTg2MTE2LDcuNzI3NDQ0NjMgTDUuNjgxODYxMTYsOC45MDkzMDU3OSBMNC41LDguOTA5MzA1NzkgWiBNNC41LDYuNTQ1NTgzNDggTDQuNSw1LjM2MzcyMjMyIEw1LjY4MTg2MTE2LDUuMzYzNzIyMzIgTDUuNjgxODYxMTYsNi41NDU1ODM0OCBMNC41LDYuNTQ1NTgzNDggWiBNMTMuOTU0ODg5Myw2LjU0NTU4MzQ4IEwxMy45NTQ4ODkzLDUuMzYzNzIyMzIgTDE1LjEzNjc1MDQsNS4zNjM3MjIzMiBMMTUuMTM2NzUwNCw2LjU0NTU4MzQ4IEwxMy45NTQ4ODkzLDYuNTQ1NTgzNDggWiBNNi44NjM3MjIzMiwxMy42MzY3NTA0IEw2Ljg2MzcyMjMyLDEyLjQ1MzcwNzQgTDguMDQ1NTgzNDgsMTIuNDUzNzA3NCBMOC4wNDU1ODM0OCwxMy42MzY3NTA0IEw2Ljg2MzcyMjMyLDEzLjYzNjc1MDQgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlIiBmaWxsPSIjNTc1RTc1Ij48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/bit-text-mode/text.svg" /*!**************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/bit-text-mode/text.svg ***! \**************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ5LjMgKDUxMTY3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT50ZXh0PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9InRleHQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwb2x5Z29uIGlkPSJQYWdlLTEiIGZpbGw9IiM1NzVFNzUiIHBvaW50cz0iNCA0IDQgOCA2IDggNiA2IDkgNiA5IDE0IDcgMTQgNyAxNiAxMyAxNiAxMyAxNCAxMSAxNCAxMSA2IDE0IDYgMTQgOCAxNiA4IDE2IDQiPjwvcG9seWdvbj4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/brush-mode/brush.svg" /*!************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/brush-mode/brush.svg ***! \************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+YnJ1c2g8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgICAgIDxnIGlkPSJicnVzaCIgc3Ryb2tlPSIjNTc1RTc1IiBzdHJva2Utd2lkdGg9IjAuNSIgZmlsbD0iIzU3NUU3NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMi41Nzg3MjI1LDExLjIxMDIwMjYgQzExLjYxOTYyODQsMTIuMTY5Mjk2NyAxMC45MTI5Mjc0LDEyLjY2MTQ2MzQgMTAuMzU3NjYyNCwxMi44NTA3NTgzIEMxMC4xOTM2MDY5LDEyLjM0NTk3MTkgOS45MTU5NzQzNywxMS44NzkwNDQ1IDkuNTI0NzY0OTQsMTEuNDg3ODM1MSBDOS4xMjA5MzU4NSwxMS4wOTY2MjU3IDguNjU0MDA4NDYsMTAuODE4OTkzMiA4LjE0OTIyMjA5LDEwLjY0MjMxNzkgQzguMzUxMTM2NjQsMTAuMDg3MDUyOSA4Ljg0MzMwMzM1LDkuMzgwMzUyMDMgOS43ODk3Nzc3OCw4LjQzMzg3NzU5IEMxMi4wNjEzMTY0LDYuMTQ5NzE5MjkgMTYuMDk5NjA3NCwzLjM2MDc3NDYxIDE2Ljg2OTQwNjYsNC4xMzA1NzM4MiBDMTcuNjM5MjA1OCw0LjkwMDM3MzAzIDE0Ljg1MDI2MTEsOC45Mzg2NjM5NiAxMi41Nzg3MjI1LDExLjIxMDIwMjYgWiBNOC4zOTEyNDMzNCwxNS40MTIwMTA0IEM4LjAxNTY5MTk3LDE1Ljc3NDg2NTcgNy41MzExMDk1NSwxNS45NjIxNDU5IDcuMDQ2NTI3MTMsMTUuOTg1NTU1OSBMNy4wNDY1MjcxMywxNS45OTcyNjA5IEw2LjkyNTM4MTUzLDE1Ljk5NzI2MDkgQzMuNjc4Njc5MzQsMTYuMTE0MzExIDIuMjYxMjc1NzcsMTIuNDM4OTM3OSAzLjM3NTgxNTMzLDEyLjgyNTIwMzIgQzQuODQxNjc3MTQsMTMuMzI4NTE4NiA1LjQzNjUwMjA1LDEyLjYwMjgwOCA1LjQ1OTUxOTcyLDEyLjU3OTM5OCBDNi4yNzExOTUyNywxMS44MDY4NjczIDcuNTc5NTY3NzksMTEuODA2ODY3MyA4LjM5MTI0MzM0LDEyLjU3OTM5OCBDOS4yMDI5MTg4OSwxMy4zNjM2MzM3IDkuMjAyOTE4ODksMTQuNjM5NDc5OCA4LjM5MTI0MzM0LDE1LjQxMjAxMDQgWiIgaWQ9ImJ1cnNoLWljb24iPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/color-button/mixed-fill.svg" /*!*******************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/color-button/mixed-fill.svg ***! \*******************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+bWl4ZWQtZmlsbDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtb3BhY2l0eT0iMC43NSI+CiAgICAgICAgPGcgaWQ9Im1peGVkLWZpbGwiPgogICAgICAgICAgICA8ZyBpZD0ibWl4ZWQtZmlsbC1pY29uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjAwMDAwMCwgMi41MDAwMDApIj4KICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9ImJsdWUiIGZpbGw9IiM0Qzk3RkYiIGN4PSI0LjUiIGN5PSIxMC41IiByPSI0LjUiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0icmVkIiBmaWxsPSIjRkY1NTAwIiBjeD0iOCIgY3k9IjQuNSIgcj0iNC41Ij48L2NpcmNsZT4KICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9InllbGxvdyIgZmlsbD0iI0ZGQkYwMCIgY3g9IjExLjQwOTk5OTgiIGN5PSIxMC41IiByPSI0LjUiPjwvY2lyY2xlPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/color-button/no-fill.svg" /*!****************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/color-button/no-fill.svg ***! \****************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+bm8tZmlsbDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiPgogICAgICAgIDxnIGlkPSJuby1maWxsIiBzdHJva2U9IiNGRjY2MUEiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zLDE3IEwxNywzIiBpZD0iTGluZSI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/color-picker/icons/eye-dropper.svg" /*!**************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/color-picker/icons/eye-dropper.svg ***! \**************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+ZXllLWRyb3BwZXI8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iZXllLWRyb3BwZXIiIGZpbGw9IiM1NzVFNzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNOS4xNTMzNDYwNSwxMi40ODI0OTYyIEM5LjAzMzk0MDQ0LDEyLjYxODg3MzcgOC44ODA0MTg5NSwxMi43MDQxMDk2IDguNjA3NDkxODYsMTIuNzcyMjk4MyBDNy45MDgxMTYxOCwxMi45MjU3MjMgNy4yNDI4NTYzOSwxMy41NTY0Njg4IDcuMDM4MTYxMDcsMTQuMjU1NDAzMyBDNi45Njk5MjkzLDE0LjQ3NzAxNjcgNi43NDgxNzYwMywxNC43MTU2NzczIDYuNTA5MzY0ODMsMTQuODM1MDA3NiBMNC43MzUzMzg3MSwxNS42NzAzMTk2IEM0LjY1MDA0OSwxNS43MDQ0MTQgNC41ODE4MTcyMiwxNS43MjE0NjEyIDQuNTQ3NzAxMzQsMTUuNzIxNDYxMiBMNC4yNzQ3NzQyNCwxNS40NjU3NTM0IEM0LjI3NDc3NDI0LDE1LjQ0ODcwNjIgNC4yNzQ3NzQyNCwxNS4zODA1MTc1IDQuMzI1OTQ4MDcsMTUuMjYxMTg3MiBMNS4xNjE3ODczLDEzLjQ3MTIzMjkgQzUuMjY0MTM0OTYsMTMuMjQ5NjE5NSA1LjUwMjk0NjE3LDEzLjAyODAwNjEgNS43NDE3NTczNywxMi45NTk4MTc0IEM2LjQ0MTEzMzA1LDEyLjczODIwNCA3LjA3MjI3Njk2LDEyLjA5MDQxMSA3LjI1OTkxNDMzLDExLjIzODA1MTggQzcuMjk0MDMwMjIsMTEuMTAxNjc0MyA3LjM3OTMxOTk0LDEwLjk2NTI5NjggNy40OTg3MjU1NCwxMC44Mjg5MTkzIEwxMS40MzkxMTA1LDYuOTA4MDY2OTcgTDEzLjA5MzczMSw4LjU2MTY0Mzg0IEw5LjE1MzM0NjA1LDEyLjQ4MjQ5NjIgWiBNMTYuNjA3NjY3Myw1LjI4ODU4NDQ3IEMxNi44NjM1MzY1LDUuMDMyODc2NzEgMTcsNC42NzQ4ODU4NCAxNyw0LjMzMzk0MjE2IEMxNywzLjk5Mjk5ODQ4IDE2Ljg2MzUzNjUsMy42NTIwNTQ3OSAxNi42MDc2NjczLDMuMzk2MzQ3MDMgQzE2LjA3ODg3MTEsMi44Njc4ODQzMiAxNS4yNDMwMzE4LDIuODY3ODg0MzIgMTQuNzE0MjM1NiwzLjM5NjM0NzAzIEwxMy4yMzAxOTQ1LDQuODc5NDUyMDUgTDEzLjA1OTYxNTEsNC43MDg5ODAyMSBMMTIuNTEzNzYwOSw0LjE2MzQ3MDMyIEMxMi4xNzI2MDIsMy44MjI1MjY2NCAxMS42MDk2ODk5LDMuODIyNTI2NjQgMTEuMjY4NTMxLDQuMTYzNDcwMzIgTDEwLjYwMzI3MTIsNC44MTEyNjMzMiBDMTAuMjc5MTcwMyw1LjE1MjIwNyAxMC4yNjIxMTI0LDUuNjQ2NTc1MzQgMTAuNTUyMDk3NCw1Ljk4NzUxOTAzIEw2LjU5NDY1NDU0LDkuOTI1NDE4NTcgQzYuMzA0NjY5NTEsMTAuMjMyMjY3OSA2LjA5OTk3NDE4LDEwLjU5MDI1ODggNS45ODA1Njg1OCwxMS4xMDE2NzQzIEM1LjkyOTM5NDc1LDExLjM1NzM4MiA1LjYzOTQwOTcxLDExLjY0NzE4NDIgNS4zNjY0ODI2MiwxMS43MzI0MjAxIEM0LjgwMzU3MDQ5LDExLjkwMjg5MTkgNC4yNTc3MTYzLDEyLjM4MDIxMzEgNC4wMDE4NDcxNSwxMi45NDI3NzAyIEwzLjE2NjAwNzkyLDE0LjcxNTY3NzMgQzIuODkzMDgwODMsMTUuMzEyMzI4OCAyLjk2MTMxMjYsMTUuOTI2MDI3NCAzLjMzNjU4NzM2LDE2LjMxODExMjYgTDMuNjc3NzQ2MjMsMTYuNjU5MDU2MyBDMy44OTk0OTk0OSwxNi44ODA2Njk3IDQuMjA2NTQyNDcsMTcgNC41NDc3MDEzNCwxNyBDNC43Njk0NTQ2LDE3IDUuMDI1MzIzNzUsMTYuOTMxODExMyA1LjI2NDEzNDk2LDE2LjgyOTUyODIgTDcuMDU1MjE5MDEsMTUuOTk0MjE2MSBDNy42MTgxMzExNCwxNS43MjE0NjEyIDguMDk1NzUzNTYsMTUuMTkyOTk4NSA4LjI2NjMzMjk5LDE0LjYzMDQ0MTQgQzguMzM0NTY0NzcsMTQuMzU3Njg2NSA4LjY0MTYwNzc1LDE0LjA2Nzg4NDMgOS4wNTA5OTgzOSwxMy45ODI2NDg0IEM5LjQwOTIxNTIsMTMuODk3NDEyNSA5Ljc2NzQzMjAxLDEzLjY5Mjg0NjMgMTAuMDU3NDE3LDEzLjM4NTk5NyBMMTQuMDE0ODU5OSw5LjQ0ODA5NzQxIEMxNC4zNTYwMTg4LDkuNzM3ODk5NTQgMTQuODY3NzU3MSw5LjcwMzgwNTE4IDE1LjE3NDgwMDEsOS4zNzk5MDg2OCBMMTUuODQwMDU5OSw4LjczMjExNTY4IEMxNi4xODEyMTg3LDguMzkxMTcxOTkgMTYuMTgxMjE4Nyw3LjgyODYxNDkyIDE1Ljg0MDA1OTksNy40ODc2NzEyMyBMMTUuMjYwMDg5OCw2LjkwODA2Njk3IEwxNS4xMjM2MjYyLDYuNzcxNjg5NSBMMTYuNjA3NjY3Myw1LjI4ODU4NDQ3IFoiIGlkPSJleWUtZHJvcHBlci1pY29uIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/color-picker/icons/fill-horz-gradient-enabled.svg" /*!*****************************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/color-picker/icons/fill-horz-gradient-enabled.svg ***! \*****************************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5maWxsLWhvcnotZ3JhZGllbnQtZW5hYmxlZDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTAwJSIgeTE9IjUwJSIgeDI9IjAlIiB5Mj0iNTAlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzg1NUNENiIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJmaWxsLWhvcnotZ3JhZGllbnQtZW5hYmxlZCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLW9wYWNpdHk9IjAuMTUiPgogICAgICAgIDxyZWN0IGlkPSJIb3Jpem9udGFsIiBzdHJva2U9IiMwMDAwMDAiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiIHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHJ4PSI0Ij48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/color-picker/icons/fill-radial-enabled.svg" /*!**********************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/color-picker/icons/fill-radial-enabled.svg ***! \**********************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUxICg1NzQ2MikgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+ZmlsbC1yYWRpYWwtZW5hYmxlZDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxyYWRpYWxHcmFkaWVudCBjeD0iNTAlIiBjeT0iNTAlIiBmeD0iNTAlIiBmeT0iNTAlIiByPSIzOS4zODk2NDg0JSIgaWQ9InJhZGlhbEdyYWRpZW50LTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjODU1Q0Q2IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0iZmlsbC1yYWRpYWwtZW5hYmxlZCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLW9wYWNpdHk9IjAuMTUiPgogICAgICAgIDxyZWN0IGlkPSJSYWRpYWwiIHN0cm9rZT0iIzAwMDAwMCIgZmlsbD0idXJsKCNyYWRpYWxHcmFkaWVudC0xKSIgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxOSIgaGVpZ2h0PSIxOSIgcng9IjQiPjwvcmVjdD4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/color-picker/icons/fill-solid-enabled.svg" /*!*********************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/color-picker/icons/fill-solid-enabled.svg ***! \*********************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5maWxsLXNvbGlkLWVuYWJsZWQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iZmlsbC1zb2xpZC1lbmFibGVkIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2Utb3BhY2l0eT0iMC4xNSI+CiAgICAgICAgPHJlY3QgaWQ9IlNvbGlkIiBzdHJva2U9IiMwMDAwMDAiIGZpbGw9IiM4NTVDRDYiIHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHJ4PSI0Ij48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/color-picker/icons/fill-vert-gradient-enabled.svg" /*!*****************************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/color-picker/icons/fill-vert-gradient-enabled.svg ***! \*****************************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUxICg1NzQ2MikgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+ZmlsbC12ZXJ0LWdyYWRpZW50LWVuYWJsZWQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjUwJSIgeTE9IjEwMCUiIHgyPSI1MCUiIHkyPSIzLjA2MTYxN2UtMTUlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzg1NUNENiIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJmaWxsLXZlcnQtZ3JhZGllbnQtZW5hYmxlZCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLW9wYWNpdHk9IjAuMTUiPgogICAgICAgIDxyZWN0IGlkPSJWZXJ0aWNhbCIgc3Ryb2tlPSIjMDAwMDAwIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTEpIiB4PSIwLjUiIHk9IjAuNSIgd2lkdGg9IjE5IiBoZWlnaHQ9IjE5IiByeD0iNCI+PC9yZWN0PgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/color-picker/icons/swap.svg" /*!*******************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/color-picker/icons/swap.svg ***! \*******************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5zd2FwPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9InN3YXAiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJTd2FwLXYyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjAwMDAwMCwgMi4wMDAwMDApIiBmaWxsPSIjODU1Q0Q2Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTMuNjk0MjQ1OTcsMi4wMDY4MjE1MSBMNy45NTY2MzYwOCwyLjY2NDk4MjMxIEM4LjQ0NTM2MjIyLDIuNzM1ODg5MTMgOC43OTAwODg3LDMuMjQ0MDU0NzMgOC43MTc2NTI1LDMuNzk1ODU1MjkgQzguNjYxNzk4MDksNC4yNDEyOTU2MSA4LjM0MTUwNzkyLDQuNTg3NjQ4MTkgNy45NTY2MzYwOCw0LjY0MTI4Mjg0IEwzLjY5NDI0NTk3LDUuMzAxMjYxNzYgTDMuNjk0MjQ1OTcsNi43OTY2Njg1NiBDMy42OTQyNDU5Nyw3LjIyMzkyNzY0IDMuMjM3ODEwNjcsNy40Mjg0NjY1NyAyLjk3MjUwMjE5LDcuMTM0ODM5NTggTDAuMTIwNDM2MDg0LDMuOTc0MDMxNDIgQy0wLjA0MDE0NTM2MTQsMy43ODc2NzM3MyAtMC4wNDAxNDUzNjE0LDMuNDg0MDQ3MDYgMC4xMjA0MzYwODQsMy4zMDU4NzA5MyBMMi45NzI1MDIxOSwwLjEzNTk3MjE1MyBDMy4yMzc4MTA2NywtMC4xNTc2NTQ4MzQgMy42OTQyNDU5NywwLjA1NTk3NDcwNzggMy42OTQyNDU5NywwLjQ3NDE0MzE3MyBMMy42OTQyNDU5NywyLjAwNjgyMTUxIFogTTEyLjMwNTc1NCwxMC43MzQwOTQyIEwxMi4zMDU3NTQsOS4yMDE0MTU5IEMxMi4zMDU3NTQsOC43ODMyNDc0NCAxMi43NjIxODkzLDguNTY5NjE3ODkgMTMuMDI3NDk3OCw4Ljg2MzI0NDg4IEwxNS44Nzk1NjM5LDEyLjAzMzE0MzcgQzE2LjA0MDE0NTQsMTIuMjExMzE5OCAxNi4wNDAxNDU0LDEyLjUxNDk0NjUgMTUuODc5NTYzOSwxMi43MDEzMDQxIEwxMy4wMjc0OTc4LDE1Ljg2MjExMjMgQzEyLjc2MjE4OTMsMTYuMTU1NzM5MyAxMi4zMDU3NTQsMTUuOTUxMjAwNCAxMi4zMDU3NTQsMTUuNTIzOTQxMyBMMTIuMzA1NzU0LDE0LjAyODUzNDUgTDguMDQzMzYzOTIsMTMuMzY4NTU1NiBDNy42NTg0OTIwOCwxMy4zMTQ5MjA5IDcuMzM4MjAxOTEsMTIuOTY4NTY4MyA3LjI4MjM0NzUsMTIuNTIzMTI4IEM3LjIwOTkxMTMsMTEuOTcxMzI3NSA3LjU1NDYzNzc4LDExLjQ2MzE2MTkgOC4wNDMzNjM5MiwxMS4zOTIyNTUgTDEyLjMwNTc1NCwxMC43MzQwOTQyIFoiIGlkPSJTd2FwLXYxIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS4yNzI3MjczLDEuNDU0NTQ1NDUgTDEzLjQ1NDU0NTUsMS40NTQ1NDU0NSBDMTQuMDU2NzI3MywxLjQ1NDU0NTQ1IDE0LjU0NTQ1NDUsMS45NDMyNzI3MyAxNC41NDU0NTQ1LDIuNTQ1NDU0NTUgTDE0LjU0NTQ1NDUsNC43MjcyNzI3MyBDMTQuNTQ1NDU0NSw1LjMzMDU0NTQ1IDE0LjA1NjcyNzMsNS44MTgxODE4MiAxMy40NTQ1NDU1LDUuODE4MTgxODIgTDExLjI3MjcyNzMsNS44MTgxODE4MiBDMTAuNjcwNTQ1NSw1LjgxODE4MTgyIDEwLjE4MTgxODIsNS4zMzA1NDU0NSAxMC4xODE4MTgyLDQuNzI3MjcyNzMgTDEwLjE4MTgxODIsMi41NDU0NTQ1NSBDMTAuMTgxODE4MiwxLjk0MzI3MjczIDEwLjY3MDU0NTUsMS40NTQ1NDU0NSAxMS4yNzI3MjczLDEuNDU0NTQ1NDUiIGlkPSJGaWxsLTYiIGZpbGwtb3BhY2l0eT0iMC41Ij48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yLjU0NTQ1NDU1LDEwLjE4MTgxODIgTDQuNzI3MjcyNzMsMTAuMTgxODE4MiBDNS4zMjk0NTQ1NSwxMC4xODE4MTgyIDUuODE4MTgxODIsMTAuNjcwNTQ1NSA1LjgxODE4MTgyLDExLjI3MjcyNzMgTDUuODE4MTgxODIsMTMuNDU0NTQ1NSBDNS44MTgxODE4MiwxNC4wNTc4MTgyIDUuMzI5NDU0NTUsMTQuNTQ1NDU0NSA0LjcyNzI3MjczLDE0LjU0NTQ1NDUgTDIuNTQ1NDU0NTUsMTQuNTQ1NDU0NSBDMS45NDMyNzI3MywxNC41NDU0NTQ1IDEuNDU0NTQ1NDUsMTQuMDU3ODE4MiAxLjQ1NDU0NTQ1LDEzLjQ1NDU0NTUgTDEuNDU0NTQ1NDUsMTEuMjcyNzI3MyBDMS40NTQ1NDU0NSwxMC42NzA1NDU1IDEuOTQzMjcyNzMsMTAuMTgxODE4MiAyLjU0NTQ1NDU1LDEwLjE4MTgxODIiIGlkPSJGaWxsLTYtQ29weSIgZmlsbC1vcGFjaXR5PSIwLjUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/dropdown/dropdown-caret.svg" /*!*******************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/dropdown/dropdown-caret.svg ***! \*******************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjhweCIgaGVpZ2h0PSI1cHgiIHZpZXdCb3g9IjAgMCA4IDUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQzLjIgKDM5MDY5KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5kcm9wZG93bi1jYXJldDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJkcm9wZG93bi1jYXJldCIgZmlsbD0iIzg1NUNENiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik00LDUgQzMuNzI1MjA3MDgsNSAzLjQ1MTYzMDA2LDQuODk2OTUwNDUgMy4yNDEyNzk3Myw0LjY4OTY1MzExIEwwLjMxNDYxMzU3MiwxLjgwNjY2MjI3IEMtMC4xMDQ4NzExOTEsMS4zOTMyNjU4MyAtMC4xMDQ4NzExOTEsMC43MjQ2NDIwMjMgMC4zMTQ2MTM1NzIsMC4zMTAwNDczMzEgQzAuNzMyODgyNDM4LC0wLjEwMzM0OTExIDcuMjY3MTE3NTYsLTAuMTAzMzQ5MTEgNy42ODUzODY0MywwLjMxMDA0NzMzMSBDOC4xMDQ4NzExOSwwLjcyMzQ0Mzc3MiA4LjEwNDg3MTE5LDEuMzkzMjY1ODMgNy42ODUzODY0MywxLjgwNjY2MjI3IEw0Ljc1OTkzNjE3LDQuNjg5NjUzMTEgQzQuNTQ5NTg1ODMsNC44OTY5NTA0NSA0LjI3NjAwODgyLDUgNCw1Ij48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/eraser-mode/eraser.svg" /*!**************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/eraser-mode/eraser.svg ***! \**************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+ZXJhc2VyPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImVyYXNlciIgZmlsbD0iIzU3NUU3NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMy41MzcwMDYxLDE0LjgyOTE1OTcgTDEwLjk2NjA1NDUsMTQuODI5MTU5NyBMOC4zMDE2MTM4LDEyLjE2NDcxOSBMMTEuMTY4NjE0NCw5LjI5NzcxODQyIEwxNS4xMjYzMjE2LDEzLjI1NTQyNTcgTDEzLjUzNzAwNjEsMTQuODI5MTU5NyBaIE0xNi43Nzc5NjMzLDEyLjY5NDQ5MDggTDExLjE2ODYxNDQsNy4xMDA3MjM0MyBMOC4zMDE2MTM4LDQuMjMzNzIyODcgQzguMDA1NTY0ODMsMy45MjIwOTIzOCA3LjUwNjk1NjA0LDMuOTIyMDkyMzggNy4xOTUzMjU1NCw0LjIzMzcyMjg3IEwzLjIyMjAzNjczLDguMjA3MDExNjkgQzIuOTI1OTg3NzYsOC41MDMwNjA2NiAyLjkyNTk4Nzc2LDkuMDAxNjY5NDUgMy4yMjIwMzY3Myw5LjI5NzcxODQyIEw2LjEwNDYxODgxLDEyLjE2NDcxOSBMMTAuMDkzNDg5MSwxNi4xNTM1ODkzIEMxMC4yMzM3MjI5LDE2LjMwOTQwNDYgMTAuNDM2MjgyNywxNi4zODczMTIyIDEwLjYzODg0MjUsMTYuMzg3MzEyMiBMMTMuODY0MjE4MSwxNi4zODczMTIyIEMxNC4wNjY3NzgsMTYuMzg3MzEyMiAxNC4yNjkzMzc4LDE2LjMwOTQwNDYgMTQuNDA5NTcxNSwxNi4xNTM1ODkzIEwxNi43Nzc5NjMzLDEzLjgwMDc3OTEgQzE3LjA3NDAxMjIsMTMuNTA0NzMwMSAxNy4wNzQwMTIyLDEzLjAwNjEyMTMgMTYuNzc3OTYzMywxMi42OTQ0OTA4IEwxNi43Nzc5NjMzLDEyLjY5NDQ5MDggWiIgaWQ9ImVyYXNlci1pY29uIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/fill-mode/fill.svg" /*!**********************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/fill-mode/fill.svg ***! \**********************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4xICg0NzI1MCkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+ZmlsbDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJmaWxsIiBmaWxsPSIjNTc1RTc1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE0LjA0NTA5NjksOS42OTM0OTUwNCBMMTQuMDMwNjgxOCw5LjY3OTE2MjA3IEMxMy40Mzk2NjI5LDkuMzYzODM2ODIgMTIuNTE3MDk2OCw4LjY5MDE4NzQzIDExLjQyMTU0OTYsNy42MDA4ODIwMyBDMTEuMDkwMDAyNCw3LjI3MTIyMzgxIDEwLjc4NzI4NTQsNi45NTU4OTg1NyAxMC41NDIyMjg4LDYuNjU0OTA2MjggQzEwLjcxNTIxLDYuNDM5OTExOCAxMC44ODgxOTExLDYuMjI0OTE3MzEgMTEuMDYxMTcyMiw2LjAwOTkyMjgyIEMxMS4zNzgzMDQzLDYuMjY3OTE2MjEgMTEuNzI0MjY2Niw2LjU4MzI0MTQ2IDEyLjA4NDY0NCw2Ljk0MTU2NTYgQzEyLjMxNTI4NTUsNy4xNzA4OTMwNSAxMi41MDI2ODE3LDcuMzcxNTU0NTggMTIuNjkwMDc4LDcuNTcyMjE2MSBDMTIuNzE4OTA4MSw3LjYxNTIxNDk5IDEyLjc2MjE1MzQsNy42NTgyMTM4OSAxMi44MTk4MTM4LDcuNzAxMjEyNzkgQzEzLjYyNzA1OTEsOC42MTg1MjI2IDE0LjEwMjc1NzMsOS4zNjM4MzY4MiAxNC4zMTg5ODM3LDkuNzkzODI1OCBDMTQuMzE4OTgzNyw5LjgwODE1ODc3IDE0LjMzMzM5ODgsOS44MjI0OTE3MyAxNC4zMzMzOTg4LDkuODM2ODI0NyBDMTQuMjQ2OTA4Miw5Ljc5MzgyNTggMTQuMTQ2MDAyNSw5Ljc1MDgyNjkgMTQuMDQ1MDk2OSw5LjY5MzQ5NTA0IE0xMC41OTk4ODkyLDEwLjA2NjE1MjEgQzkuNzM0OTgzNSwxMC41MzkxNCA4LjkxMzMyMzA5LDEwLjk4MzQ2MiA3LjYxNTk2NDU1LDEwLjY4MjQ2OTcgQzYuMTc0NDU1MDYsMTAuMzUyODExNSA1LjQ4MjUzMDUsOS43NjUxNTk4NyA1LjE5NDIyODYxLDkuNDIxMTY4NjkgTDguMzA3ODg5MSw1LjQwNzkzODI2IEM4LjUyNDExNTUzLDUuODM3OTI3MjMgOC44NDEyNDc2Miw2LjI4MjI0OTE3IDkuMTcyNzk0OCw2LjY5NzkwNTE4IEM4LjgyNjgzMjUyLDcuMjEzODkxOTUgOC41NTI5NDU3Miw3LjY0Mzg4MDkzIDguNDIzMjA5ODYsNy44NDQ1NDI0NSBDOC4yNzkwNTg5MSw4LjA4ODIwMjg3IDguMzUxMTM0MzksOC40MTc4NjEwOCA4LjYxMDYwNjEsOC41NzU1MjM3IEM4LjY5NzA5NjY3LDguNjMyODU1NTcgOC43OTgwMDIzMyw4LjY2MTUyMTUgOC44ODQ0OTI5LDguNjYxNTIxNSBDOS4wNzE4ODkxMyw4LjY2MTUyMTUgOS4yNDQ4NzAyNyw4LjU2MTE5MDc0IDkuMzQ1Nzc1OTQsOC40MDM1MjgxMSBDOS41MDQzNDE5OCw4LjEzMTIwMTc2IDkuNjkxNzM4MjEsNy44NDQ1NDI0NSA5Ljg5MzU0OTU0LDcuNTU3ODgzMTMgQzEwLjE5NjI2NjUsNy45MDE4NzQzMSAxMC40NzAxNTMzLDguMTc0MjAwNjYgMTAuNjU3NTQ5Niw4LjM2MDUyOTIyIEMxMS4wNzU1ODczLDguNzc2MTg1MjMgMTEuNDkzNjI1MSw5LjE0ODg0MjM0IDExLjg5NzI0NzcsOS40Nzg1MDA1NSBDMTEuNDIxNTQ5Niw5LjYwNzQ5NzI0IDExLjAwMzUxMTksOS44NTExNTc2NiAxMC41OTk4ODkyLDEwLjA2NjE1MjEgTTEwLjIxMDY4MTYsNS4zMzYyNzM0MyBDMTAuMDk1MzYwOSw1LjQ5MzkzNjA1IDkuOTY1NjI1MDIsNS42NTE1OTg2OCA5Ljg1MDMwNDI2LDUuNzk0OTI4MzQgQzkuNTA0MzQxOTgsNS4zMzYyNzM0MyA5LjI4ODExNTU2LDQuOTYzNjE2MzIgOS4xNzI3OTQ4LDQuNzA1NjIyOTMgQzkuNDE3ODUxNDEsNC44MDU5NTM2OSA5Ljc2MzgxMzY5LDUuMDIwOTQ4MTggMTAuMjEwNjgxNiw1LjMzNjI3MzQzIE0xMy41MTE3Mzg0LDQuMDc0OTcyNDQgQzEzLjY3MDMwNDQsNC4wNzQ5NzI0NCAxMy44NDMyODU1LDQuMTAzNjM4MzcgMTMuODcyMTE1Nyw0LjE3NTMwMzIgQzE0LjA0NTA5NjksNC40OTA2Mjg0NSAxMy42MjcwNTkxLDUuNDkzOTM2MDUgMTMuMDY0ODcwNCw2LjM5NjkxMjkgTDEyLjg0ODY0NCw2LjE4MTkxODQxIEMxMi42MTgwMDI1LDUuOTUyNTkwOTYgMTIuMjI4Nzk0OSw1LjU5NDI2NjgxIDExLjc4MTkyNyw1LjIwNzI3Njc0IEMxMi40NDUwMjEzLDQuNTMzNjI3MzQgMTMuMDUwNDU1Myw0LjA3NDk3MjQ0IDEzLjUxMTczODQsNC4wNzQ5NzI0NCBNMTYuNTUzMzIzNCwxMi4xNTg3NjUyIEMxNi4zMzcwOTcsMTEuNTk5Nzc5NSAxNS45OTExMzQ3LDExLjA5ODEyNTcgMTUuNTg3NTEyLDEwLjY2ODEzNjcgQzE1LjU0NDI2NjcsMTAuNjEwODA0OSAxNS40ODY2MDY0LDEwLjU2NzgwNiAxNS40Mjg5NDYsMTAuNTI0ODA3MSBDMTUuNjc0MDAyNiw5Ljk5NDQ4NzMyIDE1LjI3MDM3OTksOS4yMzQ4NDAxMyAxNC45MjQ0MTc3LDguNjkwMTg3NDMgQzE0LjY1MDUzMDksOC4yNDU4NjU0OSAxNC4yNzU3Mzg0LDcuNzQ0MjExNjkgMTMuODI4ODcwNSw3LjI0MjU1Nzg4IEMxNC4zOTEwNTkyLDYuMzgyNTc5OTMgMTUuMzU2ODcwNSw0LjY3Njk1NyAxNC44Mzc5MjcxLDMuNjczNjQ5MzkgQzE0LjY3OTM2MSwzLjM3MjY1NzExIDE0LjMxODk4MzcsMyAxMy41MTE3Mzg0LDMgTDEzLjQ5NzMyMzMsMyBDMTIuNjc1NjYyOSwzIDExLjc2NzUxMTksMy42NTkzMTY0MyAxMC45NDU4NTE1LDQuNTE5Mjk0MzggQzEwLjAyMzI4NTQsMy44NDU2NDQ5OCA5LjAxNDIyODc1LDMuMzE1MzI1MjUgOC40MDg3OTQ3NywzLjY1OTMxNjQzIEM4LjM1MTEzNDM5LDMuNjg3OTgyMzYgOC4yNzkwNTg5MSwzLjcxNjY0ODI5IDguMjM1ODEzNjMsMy43NzM5ODAxNSBDOC4yMjEzOTg1MywzLjc4ODMxMzEyIDguMTkyNTY4MzUsMy44MDI2NDYwOSA4LjE3ODE1MzI1LDMuODMxMzEyMDIgQzguMTYzNzM4MTYsMy44NDU2NDQ5OCA4LjE0OTMyMzA2LDMuODU5OTc3OTUgOC4xMzQ5MDc5NywzLjg4ODY0Mzg4IEw4LjEyMDQ5Mjg3LDMuOTE3MzA5ODEgTDQuMTI3NTExNTgsOS4wNDg1MTE1OCBDNC4xMTMwOTY0OSw5LjA0ODUxMTU4IDQuMTEzMDk2NDksOS4wNDg1MTE1OCA0LjA5ODY4MTM5LDkuMDYyODQ0NTQgTDMuMjA0OTQ1NTEsMTAuMjIzODE0OCBMMy4xNjE3MDAyMywxMC4yNjY4MTM3IEMzLjExODQ1NDk0LDEwLjMwOTgxMjYgMy4wODk2MjQ3NSwxMC4zNjcxNDQ0IDMuMDc1MjA5NjYsMTAuNDEwMTQzMyBMMy4wNzUyMDk2NiwxMC40MjQ0NzYzIEMyLjYyODM0MTcxLDExLjM0MTc4NjEgNC4yODYwNzc2MywxMy4xMzM0MDY4IDUuMDY0NDkyNzUsMTMuOTIxNzIgQzUuNzU2NDE3MzEsMTQuNjA5NzAyMyA3LjI4NDQxNzM3LDE2IDguMjM1ODEzNjMsMTYgQzguNDM3NjI0OTYsMTYgOC41OTYxOTEsMTUuOTQyNjY4MSA4Ljc0MDM0MTk1LDE1LjgxMzY3MTQgTDE0LjI2MTMyMzMsMTEuNTU2NzgwNiBDMTQuMjkwMTUzNSwxMS41NDI0NDc2IDE0LjMwNDU2ODYsMTEuNTEzNzgxNyAxNC4zMzMzOTg4LDExLjQ4NTExNTggQzE0LjM2MjIyOSwxMS41MTM3ODE3IDE0LjM3NjY0NDEsMTEuNTU2NzgwNiAxNC4zOTEwNTkyLDExLjU4NTQ0NjUgQzE0LjU2NDA0MDMsMTEuOTI5NDM3NyAxNC42NzkzNjEsMTIuMjg3NzYxOSAxNC42OTM3NzYxLDEyLjY3NDc1MTkgQzE0LjczNzAyMTQsMTMuMDYxNzQyIDE0LjcwODE5MTIsMTMuNDYzMDY1IDE0LjY1MDUzMDksMTMuODUwMDU1MSBMMTQuNjUwNTMwOSwxMy44NjQzODgxIEMxNC42MzYxMTU4LDEzLjk3OTA1MTggMTQuNjM2MTE1OCwxNC4wNzkzODI2IDE0LjY1MDUzMDksMTQuMTk0MDQ2MyBDMTQuNzUxNDM2NSwxNC44MzkwMjk4IDE1LjM1Njg3MDUsMTUuMjgzMzUxNyAxNS45OTExMzQ3LDE1LjE4MzAyMDkgQzE2LjYzOTgxNCwxNS4wODI2OTAyIDE3LjA4NjY4MTksMTQuNDgwNzA1NiAxNi45ODU3NzYyLDEzLjgzNTcyMjIgQzE2Ljg5OTI4NTcsMTMuMjc2NzM2NSAxNi43ODM5NjQ5LDEyLjcwMzQxNzkgMTYuNTUzMzIzNCwxMi4xNTg3NjUyIiBpZD0iRmlsbC0xIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/fixed-tools/icons/group.svg" /*!*******************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/fixed-tools/icons/group.svg ***! \*******************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+Z3JvdXA8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iZ3JvdXAiIHN0cm9rZS13aWR0aD0iMC43NSI+CiAgICAgICAgICAgIDxnIGlkPSJncm91cC1pY29uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjAwMDAwMCwgMi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMiIgc3Ryb2tlPSIjODU1Q0Q2IiBmaWxsPSIjRkZGRkZGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHg9IjAiIHk9IjAiIHdpZHRoPSIzIiBoZWlnaHQ9IjMiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMi1Db3B5LTIiIHN0cm9rZT0iIzg1NUNENiIgZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB4PSIxMyIgeT0iMCIgd2lkdGg9IjMiIGhlaWdodD0iMyI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS0yLUNvcHkiIHN0cm9rZT0iIzg1NUNENiIgZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB4PSIwIiB5PSIxMyIgd2lkdGg9IjMiIGhlaWdodD0iMyI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS0yLUNvcHktMyIgc3Ryb2tlPSIjODU1Q0Q2IiBmaWxsPSIjRkZGRkZGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHg9IjEzIiB5PSIxMyIgd2lkdGg9IjMiIGhlaWdodD0iMyI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNSwzIEwxLjUsMTMiIGlkPSJMaW5lIiBzdHJva2U9IiM4NTVDRDYiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNC41LDMgTDE0LjUsMTMiIGlkPSJMaW5lLUNvcHkiIHN0cm9rZT0iIzg1NUNENiIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEzLDEuNSBMMywxLjUiIGlkPSJMaW5lLUNvcHktMiIgc3Ryb2tlPSIjODU1Q0Q2IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTMsMTQuNSBMMywxNC41IiBpZD0iTGluZS1Db3B5LTMiIHN0cm9rZT0iIzg1NUNENiIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4LjAwMDAwMCwgOC4wMDAwMDApIHJvdGF0ZSgxODAuMDAwMDAwKSB0cmFuc2xhdGUoLTguMDAwMDAwLCAtOC4wMDAwMDApIHRyYW5zbGF0ZSg0LjAwMDAwMCwgNC4wMDAwMDApIiBzdHJva2U9IiM1NzVFNzUiPgogICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMy1Db3B5IiBmaWxsPSIjRkZGRkZGIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjUwMDAwMCwgNS41MDAwMDApIHJvdGF0ZSgxODAuMDAwMDAwKSB0cmFuc2xhdGUoLTUuNTAwMDAwLCAtNS41MDAwMDApICIgeD0iMyIgeT0iMyIgd2lkdGg9IjUiIGhlaWdodD0iNSIgcng9IjAuNSI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMyIgZmlsbD0iIzU3NUU3NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi41MDAwMDAsIDIuNTAwMDAwKSByb3RhdGUoMTgwLjAwMDAwMCkgdHJhbnNsYXRlKC0yLjUwMDAwMCwgLTIuNTAwMDAwKSAiIHg9IjAiIHk9IjAiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIHJ4PSIwLjUiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/fixed-tools/icons/redo.svg" /*!******************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/fixed-tools/icons/redo.svg ***! \******************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+cmVkbzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJyZWRvIiBmaWxsPSIjODU1Q0Q2Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE3LjU1ODE2MzUsMTIuNzcwMDY1MSBMMTMuODQwMzk3MiwxNi40OTQxMzE1IEMxMy41NjEwOTIyLDE2Ljc2NzEzNjQgMTMuMTgzMDg1NCwxNi45MjExMzkxIDEyLjc5MDM3ODQsMTYuOTIxMTM5MSBDMTIuMzk5MDcxNSwxNi45MjExMzkxIDEyLjAyMTA2NDcsMTYuNzY3MTM2NCAxMS43NDAzNTk3LDE2LjQ5NDEzMTUgTDguMDIzOTkzNDIsMTIuNzcwMDY1MSBDNy41OTY5ODU4LDEyLjM0MzA1NzQgNy40NzA5ODM1NSwxMS43MDYwNDYxIDcuNzAxOTg3NjcsMTEuMTUzMDM2MiBDNy45MzI5OTE3OSwxMC42MDAwMjYzIDguNDY1MDAxMjgsMTAuMjQzMDIgOS4wNjcwMTIwMiwxMC4yNDMwMiBMMTAuNDA0MDM1OSwxMC4yNDMwMiBDMTAuMzY5MDM1Miw5LjkyMTAxNDIzIDEwLjI3ODAzMzYsOS41NTcwMDc3NCAxMC4xMjQwMzA5LDkuMTcyMDAwODcgQzEwLjA3NTczLDkuMDU5OTk4ODcgMTAuMDI2MDI5MSw4Ljk0Nzk5Njg4IDkuOTcwMDI4MTMsOC44MzU5OTQ4OCBDOS44OTMwMjY3Niw4LjcwOTk5MjYzIDkuOTAwNzI2ODksOC42NzQ5OTIwMSA5Ljc5NTAyNTAxLDguNTIwOTg5MjYgQzkuNjI3MDIyMDEsOC4yNjg5ODQ3NiA5LjQ3MzAxOTI2LDguMDc5OTgxMzkgOS4yOTAzMTYwMSw3Ljg2Mjk3NzUyIEM4LjkyMDAwOTQsNy40NjM5NzA0IDguNDcyMDAxNDEsNy4xMjA5NjQyOSA3Ljk5NTk5MjkyLDYuODY4OTU5NzkgQzcuNTEyOTg0Myw2LjYxNjk1NTMgNy4wMDg5NzUzMSw2LjQ2Mjk1MjU1IDYuNTYwOTY3MzIsNi4zNzg5NTEwNSBDNi4xMTk5NTk0NSw2LjMwMTk0OTY4IDUuNzEzOTUyMjEsNi4yOTQ5NDk1NSA1LjQ3NTk0Nzk2LDYuMjk0OTQ5NTUgQzUuMzU2OTQ1ODQsNi4yODc5NDk0MyA1LjIwMjk0MzEsNi4zMTU5NDk5MyA1LjEyNTk0MTcyLDYuMzIyOTUwMDUgQzUuMDQxOTQwMjIsNi4zMjk5NTAxOCA0Ljk5MjkzOTM1LDYuMzM2OTUwMyA0Ljk5MjkzOTM1LDYuMzM2OTUwMyBDNC40OTU5MzA0OCw2LjM4NTk1MTE3IDQuMDQ3OTIyNDksNi4wMjE5NDQ2OCAzLjk5ODkyMTYyLDUuNTI0OTM1ODIgQzMuOTU2OTIwODcsNS4xMDQ5MjgzMiA0LjIwMTkyNTI0LDQuNzI2OTIxNTggNC41NzI5MzE4Niw0LjU4NjkxOTA4IEM0LjU3MjkzMTg2LDQuNTg2OTE5MDggNC42MjE5MzI3Myw0LjU2NTkxODcxIDQuNjk4OTM0MSw0LjUzNzkxODIxIEM0Ljc4OTkzNTczLDQuNTA5OTE3NzEgNC44NzM5MzcyMyw0LjQ2MDkxNjg0IDUuMDY5OTQwNzIsNC40MDQ5MTU4NCBDNS40NjE5NDc3Miw0LjI4NTkxMzcxIDUuOTU4OTU2NTgsNC4xNTk5MTE0NyA2LjYwOTk2ODE5LDQuMDk2OTEwMzQgQzcuMjUzOTc5NjgsNC4wNDA5MDkzNCA4LjAzMDk5MzU0LDQuMDU0OTA5NTkgOC44NTA3MDgxNiw0LjIyMjkxMjU5IEM5LjY2OTAyMjc2LDQuMzk3OTE1NzEgMTAuNTMwMDM4MSw0LjcyNjkyMTU4IDExLjMyODA1MjQsNS4yMDI5MzAwNyBDMTEuNzA2MDU5MSw1LjQ0NzkzNDQ0IDEyLjExMjA2NjMsNS43MzQ5Mzk1NiAxMi40MjcwNzIsNi4wMTQ5NDQ1NiBDMTIuNTY3MDc0NSw2LjExOTk0NjQzIDEyLjgwNTA3ODcsNi4zNTc5NTA2OCAxMi45NDUwODEyLDYuNTA0OTUzMyBDMTMuMTA2MDg0MSw2LjY3Mjk1NjI5IDEzLjI1MzA4NjcsNi44NDA5NTkyOSAxMy40MDA3ODkzLDcuMDE1OTYyNDEgQzEzLjk2NzA5OTQsNy43MTU5NzQ5IDE0LjM4NzEwNjksOC40NzE5ODgzOSAxNC42NjAxMTE4LDkuMTU4MDAwNjIgQzE0LjgyMTExNDcsOS41NTAwMDc2MiAxNC45MzMxMTY3LDkuOTIxMDE0MjMgMTUuMDE3MTE4MiwxMC4yNDMwMiBMMTYuNTE1MTQ0OSwxMC4yNDMwMiBDMTcuMTE3MTU1NiwxMC4yNDMwMiAxNy42NDkxNjUxLDEwLjYwMDAyNjMgMTcuODgwMTY5MiwxMS4xNTMwMzYyIEMxOC4xMTExNzM0LDExLjcwNjA0NjEgMTcuOTg1MTcxMSwxMi4zNDMwNTc0IDE3LjU1ODE2MzUsMTIuNzcwMDY1MSIgaWQ9IkZpbGwtMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuOTk0MjQ3LCAxMC40OTQyNDcpIHJvdGF0ZSgtNDUuMDAwMDAwKSB0cmFuc2xhdGUoLTEwLjk5NDI0NywgLTEwLjQ5NDI0NykgIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/fixed-tools/icons/send-back.svg" /*!***********************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/fixed-tools/icons/send-back.svg ***! \***********************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VuZC1iYWNrPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9InNlbmQtYmFjayI+CiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwLjAwMDAwMCwgMTAuMDAwMDAwKSByb3RhdGUoMTgwLjAwMDAwMCkgdHJhbnNsYXRlKC0xMC4wMDAwMDAsIC0xMC4wMDAwMDApIHRyYW5zbGF0ZSgyLjAwMDAwMCwgMy4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMi4zNDc2NzM2LDUuOTI1NDk3MjMgTDEwLjI0MDczNzYsNS45MjU0OTcyMyBMOS4zMzYwMTYxMSwxMi43NjM1OTgxIEM5LjIzODA3NjAzLDEzLjU0NzY2NjEgOC41NDAyNTI5NSwxNC4xMDAzNjk4IDcuNzgxMjE3MzIsMTMuOTg0Njg3NiBDNy4xNjkwOTE4MSwxMy44OTQ3MTI2IDYuNjkxNjMzOTEsMTMuMzgwNTY5NyA2LjYxNjk1NDYsMTIuNzYzNTk4MSBMNS43MTIyMzMxLDUuOTI1NDk3MjMgTDMuNjU0MjY3MTQsNS45MjU0OTcyMyBDMy4wNjc4NTA5LDUuOTI1NDk3MjMgMi43ODUwNDg5Miw1LjE5Mjg0MzU2IDMuMTkwMjc2LDQuNzY4Njc1NjQgTDcuNTM1MTQyODYsMC4xOTI4MDM1OTcgQzcuNzkyMjM1NTgsLTAuMDY0MjY3ODY1OCA4LjIwOTcwNTE3LC0wLjA2NDI2Nzg2NTggOC40NTMzMzExMywwLjE5MjgwMzU5NyBMMTIuODEyODg5LDQuNzY4Njc1NjQgQzEzLjIxNjg5MTgsNS4xOTI4NDM1NiAxMi45MjMwNzE2LDUuOTI1NDk3MjMgMTIuMzQ3NjczNiw1LjkyNTQ5NzIzIiBpZD0iRmlsbC0xIiBmaWxsPSIjODU1Q0Q2Ij48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIsOCBMMTYsOCIgaWQ9IlN0cm9rZS02IiBzdHJva2U9IiM1NzVFNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyLDEwIEwxNSwxMCIgaWQ9IlN0cm9rZS02LUNvcHkiIHN0cm9rZT0iIzU3NUU3NSIgb3BhY2l0eT0iMC43NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIsMTIgTDE0LDEyIiBpZD0iU3Ryb2tlLTYtQ29weS0yIiBzdHJva2U9IiM1NzVFNzUiIG9wYWNpdHk9IjAuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMCw4IEw0LDgiIGlkPSJTdHJva2UtMTAiIHN0cm9rZT0iIzU3NUU3NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMSwxMCBMNCwxMCIgaWQ9IlN0cm9rZS0xMC1Db3B5IiBzdHJva2U9IiM1NzVFNzUiIG9wYWNpdHk9IjAuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTIsMTIgTDQsMTIiIGlkPSJTdHJva2UtMTAtQ29weS0yIiBzdHJva2U9IiM1NzVFNzUiIG9wYWNpdHk9IjAuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/fixed-tools/icons/send-backward.svg" /*!***************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/fixed-tools/icons/send-backward.svg ***! \***************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VuZC1iYWNrd2FyZDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJzZW5kLWJhY2t3YXJkIj4KICAgICAgICAgICAgPGcgaWQ9InNlbmQtZm9yd2FyZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuMDAwMDAwLCAxMC4wMDAwMDApIHJvdGF0ZSgxODAuMDAwMDAwKSB0cmFuc2xhdGUoLTEwLjAwMDAwMCwgLTEwLjAwMDAwMCkgdHJhbnNsYXRlKDIuMDAwMDAwLCAzLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyLjM0NzY3MzYsNS45MjU0OTcyMyBMMTAuMjQwNzM3Niw1LjkyNTQ5NzIzIEw5LjMzNjAxNjExLDEyLjc2MzU5ODEgQzkuMjM4MDc2MDMsMTMuNTQ3NjY2MSA4LjU0MDI1Mjk1LDE0LjEwMDM2OTggNy43ODEyMTczMiwxMy45ODQ2ODc2IEM3LjE2OTA5MTgxLDEzLjg5NDcxMjYgNi42OTE2MzM5MSwxMy4zODA1Njk3IDYuNjE2OTU0NiwxMi43NjM1OTgxIEw1LjcxMjIzMzEsNS45MjU0OTcyMyBMMy42NTQyNjcxNCw1LjkyNTQ5NzIzIEMzLjA2Nzg1MDksNS45MjU0OTcyMyAyLjc4NTA0ODkyLDUuMTkyODQzNTYgMy4xOTAyNzYsNC43Njg2NzU2NCBMNy41MzUxNDI4NiwwLjE5MjgwMzU5NyBDNy43OTIyMzU1OCwtMC4wNjQyNjc4NjU4IDguMjA5NzA1MTcsLTAuMDY0MjY3ODY1OCA4LjQ1MzMzMTEzLDAuMTkyODAzNTk3IEwxMi44MTI4ODksNC43Njg2NzU2NCBDMTMuMjE2ODkxOCw1LjE5Mjg0MzU2IDEyLjkyMzA3MTYsNS45MjU0OTcyMyAxMi4zNDc2NzM2LDUuOTI1NDk3MjMiIGlkPSJGaWxsLTEiIGZpbGw9IiM4NTVDRDYiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiw4IEwxNiw4IiBpZD0iU3Ryb2tlLTYiIHN0cm9rZT0iIzU3NUU3NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMCw4IEw0LDgiIGlkPSJTdHJva2UtMTAiIHN0cm9rZT0iIzU3NUU3NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/fixed-tools/icons/send-forward.svg" /*!**************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/fixed-tools/icons/send-forward.svg ***! \**************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VuZC1mb3J3YXJkPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9InNlbmQtZm9yd2FyZCI+CiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIuMDAwMDAwLCAzLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyLjM0NzY3MzYsNS45MjU0OTcyMyBMMTAuMjQwNzM3Niw1LjkyNTQ5NzIzIEw5LjMzNjAxNjExLDEyLjc2MzU5ODEgQzkuMjM4MDc2MDMsMTMuNTQ3NjY2MSA4LjU0MDI1Mjk1LDE0LjEwMDM2OTggNy43ODEyMTczMiwxMy45ODQ2ODc2IEM3LjE2OTA5MTgxLDEzLjg5NDcxMjYgNi42OTE2MzM5MSwxMy4zODA1Njk3IDYuNjE2OTU0NiwxMi43NjM1OTgxIEw1LjcxMjIzMzEsNS45MjU0OTcyMyBMMy42NTQyNjcxNCw1LjkyNTQ5NzIzIEMzLjA2Nzg1MDksNS45MjU0OTcyMyAyLjc4NTA0ODkyLDUuMTkyODQzNTYgMy4xOTAyNzYsNC43Njg2NzU2NCBMNy41MzUxNDI4NiwwLjE5MjgwMzU5NyBDNy43OTIyMzU1OCwtMC4wNjQyNjc4NjU4IDguMjA5NzA1MTcsLTAuMDY0MjY3ODY1OCA4LjQ1MzMzMTEzLDAuMTkyODAzNTk3IEwxMi44MTI4ODksNC43Njg2NzU2NCBDMTMuMjE2ODkxOCw1LjE5Mjg0MzU2IDEyLjkyMzA3MTYsNS45MjU0OTcyMyAxMi4zNDc2NzM2LDUuOTI1NDk3MjMiIGlkPSJGaWxsLTEiIGZpbGw9IiM4NTVDRDYiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiw4IEwxNiw4IiBpZD0iU3Ryb2tlLTYiIHN0cm9rZT0iIzU3NUU3NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMCw4IEw0LDgiIGlkPSJTdHJva2UtMTAiIHN0cm9rZT0iIzU3NUU3NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/fixed-tools/icons/send-front.svg" /*!************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/fixed-tools/icons/send-front.svg ***! \************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VuZC1mcm9udDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJzZW5kLWZyb250Ij4KICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi4wMDAwMDAsIDMuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIuMzQ3NjczNiw1LjkyNTQ5NzIzIEwxMC4yNDA3Mzc2LDUuOTI1NDk3MjMgTDkuMzM2MDE2MTEsMTIuNzYzNTk4MSBDOS4yMzgwNzYwMywxMy41NDc2NjYxIDguNTQwMjUyOTUsMTQuMTAwMzY5OCA3Ljc4MTIxNzMyLDEzLjk4NDY4NzYgQzcuMTY5MDkxODEsMTMuODk0NzEyNiA2LjY5MTYzMzkxLDEzLjM4MDU2OTcgNi42MTY5NTQ2LDEyLjc2MzU5ODEgTDUuNzEyMjMzMSw1LjkyNTQ5NzIzIEwzLjY1NDI2NzE0LDUuOTI1NDk3MjMgQzMuMDY3ODUwOSw1LjkyNTQ5NzIzIDIuNzg1MDQ4OTIsNS4xOTI4NDM1NiAzLjE5MDI3Niw0Ljc2ODY3NTY0IEw3LjUzNTE0Mjg2LDAuMTkyODAzNTk3IEM3Ljc5MjIzNTU4LC0wLjA2NDI2Nzg2NTggOC4yMDk3MDUxNywtMC4wNjQyNjc4NjU4IDguNDUzMzMxMTMsMC4xOTI4MDM1OTcgTDEyLjgxMjg4OSw0Ljc2ODY3NTY0IEMxMy4yMTY4OTE4LDUuMTkyODQzNTYgMTIuOTIzMDcxNiw1LjkyNTQ5NzIzIDEyLjM0NzY3MzYsNS45MjU0OTcyMyIgaWQ9IkZpbGwtMSIgZmlsbD0iIzg1NUNENiI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyLDggTDE2LDgiIGlkPSJTdHJva2UtNiIgc3Ryb2tlPSIjNTc1RTc1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiwxMCBMMTUsMTAiIGlkPSJTdHJva2UtNi1Db3B5IiBzdHJva2U9IiM1NzVFNzUiIG9wYWNpdHk9IjAuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyLDEyIEwxNCwxMiIgaWQ9IlN0cm9rZS02LUNvcHktMiIgc3Ryb2tlPSIjNTc1RTc1IiBvcGFjaXR5PSIwLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTAsOCBMNCw4IiBpZD0iU3Ryb2tlLTEwIiBzdHJva2U9IiM1NzVFNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEsMTAgTDQsMTAiIGlkPSJTdHJva2UtMTAtQ29weSIgc3Ryb2tlPSIjNTc1RTc1IiBvcGFjaXR5PSIwLjc1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yLDEyIEw0LDEyIiBpZD0iU3Ryb2tlLTEwLUNvcHktMiIgc3Ryb2tlPSIjNTc1RTc1IiBvcGFjaXR5PSIwLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/fixed-tools/icons/undo.svg" /*!******************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/fixed-tools/icons/undo.svg ***! \******************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+dW5kbzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJ1bmRvIiBmaWxsPSIjODU1Q0Q2Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE1LjU1ODE2MzUsMTIuNzcwMDY1MSBMMTEuODQwMzk3MiwxNi40OTQxMzE1IEMxMS41NjEwOTIyLDE2Ljc2NzEzNjQgMTEuMTgzMDg1NCwxNi45MjExMzkxIDEwLjc5MDM3ODQsMTYuOTIxMTM5MSBDMTAuMzk5MDcxNSwxNi45MjExMzkxIDEwLjAyMTA2NDcsMTYuNzY3MTM2NCA5Ljc0MDM1OTcxLDE2LjQ5NDEzMTUgTDYuMDIzOTkzNDIsMTIuNzcwMDY1MSBDNS41OTY5ODU4LDEyLjM0MzA1NzQgNS40NzA5ODM1NSwxMS43MDYwNDYxIDUuNzAxOTg3NjcsMTEuMTUzMDM2MiBDNS45MzI5OTE3OSwxMC42MDAwMjYzIDYuNDY1MDAxMjgsMTAuMjQzMDIgNy4wNjcwMTIwMiwxMC4yNDMwMiBMOC40MDQwMzU4NywxMC4yNDMwMiBDOC4zNjkwMzUyNSw5LjkyMTAxNDIzIDguMjc4MDMzNjIsOS41NTcwMDc3NCA4LjEyNDAzMDg4LDkuMTcyMDAwODcgQzguMDc1NzMwMDIsOS4wNTk5OTg4NyA4LjAyNjAyOTEzLDguOTQ3OTk2ODggNy45NzAwMjgxMyw4LjgzNTk5NDg4IEM3Ljg5MzAyNjc2LDguNzA5OTkyNjMgNy45MDA3MjY4OSw4LjY3NDk5MjAxIDcuNzk1MDI1MDEsOC41MjA5ODkyNiBDNy42MjcwMjIwMSw4LjI2ODk4NDc2IDcuNDczMDE5MjYsOC4wNzk5ODEzOSA3LjI5MDMxNjAxLDcuODYyOTc3NTIgQzYuOTIwMDA5NCw3LjQ2Mzk3MDQgNi40NzIwMDE0MSw3LjEyMDk2NDI5IDUuOTk1OTkyOTIsNi44Njg5NTk3OSBDNS41MTI5ODQzLDYuNjE2OTU1MyA1LjAwODk3NTMxLDYuNDYyOTUyNTUgNC41NjA5NjczMiw2LjM3ODk1MTA1IEM0LjExOTk1OTQ1LDYuMzAxOTQ5NjggMy43MTM5NTIyMSw2LjI5NDk0OTU1IDMuNDc1OTQ3OTYsNi4yOTQ5NDk1NSBDMy4zNTY5NDU4NCw2LjI4Nzk0OTQzIDMuMjAyOTQzMSw2LjMxNTk0OTkzIDMuMTI1OTQxNzIsNi4zMjI5NTAwNSBDMy4wNDE5NDAyMiw2LjMyOTk1MDE4IDIuOTkyOTM5MzUsNi4zMzY5NTAzIDIuOTkyOTM5MzUsNi4zMzY5NTAzIEMyLjQ5NTkzMDQ4LDYuMzg1OTUxMTcgMi4wNDc5MjI0OSw2LjAyMTk0NDY4IDEuOTk4OTIxNjIsNS41MjQ5MzU4MiBDMS45NTY5MjA4Nyw1LjEwNDkyODMyIDIuMjAxOTI1MjQsNC43MjY5MjE1OCAyLjU3MjkzMTg2LDQuNTg2OTE5MDggQzIuNTcyOTMxODYsNC41ODY5MTkwOCAyLjYyMTkzMjczLDQuNTY1OTE4NzEgMi42OTg5MzQxLDQuNTM3OTE4MjEgQzIuNzg5OTM1NzMsNC41MDk5MTc3MSAyLjg3MzkzNzIzLDQuNDYwOTE2ODQgMy4wNjk5NDA3Miw0LjQwNDkxNTg0IEMzLjQ2MTk0NzcyLDQuMjg1OTEzNzEgMy45NTg5NTY1OCw0LjE1OTkxMTQ3IDQuNjA5OTY4MTksNC4wOTY5MTAzNCBDNS4yNTM5Nzk2OCw0LjA0MDkwOTM0IDYuMDMwOTkzNTQsNC4wNTQ5MDk1OSA2Ljg1MDcwODE2LDQuMjIyOTEyNTkgQzcuNjY5MDIyNzYsNC4zOTc5MTU3MSA4LjUzMDAzODEyLDQuNzI2OTIxNTggOS4zMjgwNTIzNSw1LjIwMjkzMDA3IEM5LjcwNjA1OTEsNS40NDc5MzQ0NCAxMC4xMTIwNjYzLDUuNzM0OTM5NTYgMTAuNDI3MDcyLDYuMDE0OTQ0NTYgQzEwLjU2NzA3NDUsNi4xMTk5NDY0MyAxMC44MDUwNzg3LDYuMzU3OTUwNjggMTAuOTQ1MDgxMiw2LjUwNDk1MzMgQzExLjEwNjA4NDEsNi42NzI5NTYyOSAxMS4yNTMwODY3LDYuODQwOTU5MjkgMTEuNDAwNzg5Myw3LjAxNTk2MjQxIEMxMS45NjcwOTk0LDcuNzE1OTc0OSAxMi4zODcxMDY5LDguNDcxOTg4MzkgMTIuNjYwMTExOCw5LjE1ODAwMDYyIEMxMi44MjExMTQ3LDkuNTUwMDA3NjIgMTIuOTMzMTE2Nyw5LjkyMTAxNDIzIDEzLjAxNzExODIsMTAuMjQzMDIgTDE0LjUxNTE0NDksMTAuMjQzMDIgQzE1LjExNzE1NTYsMTAuMjQzMDIgMTUuNjQ5MTY1MSwxMC42MDAwMjYzIDE1Ljg4MDE2OTIsMTEuMTUzMDM2MiBDMTYuMTExMTczNCwxMS43MDYwNDYxIDE1Ljk4NTE3MTEsMTIuMzQzMDU3NCAxNS41NTgxNjM1LDEyLjc3MDA2NTEiIGlkPSJGaWxsLTEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguOTk0MjQ3LCAxMC40OTQyNDcpIHNjYWxlKC0xLCAxKSByb3RhdGUoLTQ1LjAwMDAwMCkgdHJhbnNsYXRlKC04Ljk5NDI0NywgLTEwLjQ5NDI0NykgIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/fixed-tools/icons/ungroup.svg" /*!*********************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/fixed-tools/icons/ungroup.svg ***! \*********************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+dW5ncm91cDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJ1bmdyb3VwIiBzdHJva2Utd2lkdGg9IjAuNzUiPgogICAgICAgICAgICA8ZyBpZD0idW5ncm91cC1pY29uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC4wMDAwMDAsIDEwLjAwMDAwMCkgcm90YXRlKDE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtMTAuMDAwMDAwLCAtMTAuMDAwMDAwKSB0cmFuc2xhdGUoMi4wMDAwMDAsIDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTMtQ29weSIgc3Ryb2tlPSIjNTc1RTc1IiBmaWxsPSIjRkZGRkZGIiB4PSI2LjUiIHk9IjYuNSIgd2lkdGg9IjgiIGhlaWdodD0iOCIgcng9IjAuNSI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS0zIiBzdHJva2U9IiM1NzVFNzUiIGZpbGw9IiM1NzVFNzUiIHg9IjEuNSIgeT0iMS41IiB3aWR0aD0iOCIgaGVpZ2h0PSI4IiByeD0iMC41Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTIiIHN0cm9rZT0iIzg1NUNENiIgZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB4PSIwIiB5PSIwIiB3aWR0aD0iMyIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTItQ29weS0yIiBzdHJva2U9IiM4NTVDRDYiIGZpbGw9IiNGRkZGRkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgeD0iOCIgeT0iMCIgd2lkdGg9IjMiIGhlaWdodD0iMyI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS0yLUNvcHkiIHN0cm9rZT0iIzg1NUNENiIgZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB4PSIwIiB5PSI4IiB3aWR0aD0iMyIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTItQ29weS0zIiBzdHJva2U9IiM4NTVDRDYiIGZpbGw9IiNGRkZGRkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgeD0iOCIgeT0iOCIgd2lkdGg9IjMiIGhlaWdodD0iMyI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS0yLUNvcHktNCIgc3Ryb2tlPSIjODU1Q0Q2IiBmaWxsPSIjRkZGRkZGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHg9IjEzIiB5PSI1IiB3aWR0aD0iMyIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTItQ29weS01IiBzdHJva2U9IiM4NTVDRDYiIGZpbGw9IiNGRkZGRkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgeD0iMTMiIHk9IjEzIiB3aWR0aD0iMyIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTItQ29weS02IiBzdHJva2U9IiM4NTVDRDYiIGZpbGw9IiNGRkZGRkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgeD0iNSIgeT0iMTMiIHdpZHRoPSIzIiBoZWlnaHQ9IjMiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/line-mode/line.svg" /*!**********************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/line-mode/line.svg ***! \**********************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+bGluZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiPgogICAgICAgIDxnIGlkPSJsaW5lIiBzdHJva2U9IiM1NzVFNzUiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01LDE1IEwxNSw1IiBpZD0iTGluZSI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/mode-tools/icons/copy.svg" /*!*****************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/mode-tools/icons/copy.svg ***! \*****************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+Y29weSB2MjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJjb3B5LXYyIj4KICAgICAgICAgICAgPGcgaWQ9ImNvcHkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuMDAwMDAwLCAyLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIGlkPSJQYXRoLTMiIHN0cm9rZS1vcGFjaXR5PSIwLjUiIHN0cm9rZT0iIzU3NUU3NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtZGFzaGFycmF5PSIxLDIiIHBvaW50cz0iMC41MDMxNzM4MjggMyAwLjUwMzE3MzgyOCAxNS41IDEzIDE1LjUiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMiwxLjAwNjg0NTQ3IEMyLDAuNDUwNzgwMDczIDIuNDUzMDM2MzEsMCAyLjk5NzAzMDE0LDAgTDEwLDAgTDEwLDIuMzQ5OTUzMTcgQzEwLDMuMjYxMjQ4ODcgMTAuNzMzNjYxNyw0IDExLjY1MDA0NjgsNCBMMTQsNCBMMTQsMTMuMDA0NjAyNCBDMTQsMTMuNTU0MzQ1MyAxMy41NDQyMzksMTQgMTIuOTk3NTI2NywxNCBMMy4wMDI0NzMyOSwxNCBDMi40NDg4MjI1OCwxNCAyLDEzLjU1MDA1MTIgMiwxMi45OTMxNTQ1IEwyLDEuMDA2ODQ1NDcgWiIgaWQ9IlJlY3RhbmdsZS00IiBmaWxsPSIjODU1Q0Q2Ij48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEsMCBMMTQsMyBMMTEuOTk4OTU2NiwzIEMxMS40NDcyNDgxLDMgMTEsMi41NTczMzk2NyAxMSwyLjAwMTA0MzQ0IEwxMSwwIFoiIGlkPSJSZWN0YW5nbGUtNSIgZmlsbD0iIzg1NUNENiI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTkuODExNTk0Miw5LjE4ODQwNTggTDguNjg4NDA1OCw5LjE4ODQwNTggTDguNjg4NDA1OCwxMC4zMTE1OTQyIEM4LjY4ODQwNTgsMTAuNjg1OTkwMyA4LjM4NjQ3MzQzLDExIDgsMTEgQzcuNjEzNTI2NTcsMTEgNy4zMTE1OTQyLDEwLjY4NTk5MDMgNy4zMTE1OTQyLDEwLjMxMTU5NDIgTDcuMzExNTk0Miw5LjE4ODQwNTggTDYuMTg4NDA1OCw5LjE4ODQwNTggQzUuODE0MDA5NjYsOS4xODg0MDU4IDUuNSw4Ljg4NjQ3MzQzIDUuNSw4LjUgQzUuNSw4LjExMzUyNjU3IDUuODE0MDA5NjYsNy44MTE1OTQyIDYuMTg4NDA1OCw3LjgxMTU5NDIgTDcuMzExNTk0Miw3LjgxMTU5NDIgTDcuMzExNTk0Miw2LjY4ODQwNTggQzcuMzExNTk0Miw2LjMxMjgwMTkzIDcuNjEzNTI2NTcsNiA4LDYgQzguMzg2NDczNDMsNiA4LjY4ODQwNTgsNi4zMTI4MDE5MyA4LjY4ODQwNTgsNi42ODg0MDU4IEw4LjY4ODQwNTgsNy44MTE1OTQyIEw5LjgxMTU5NDIsNy44MTE1OTQyIEMxMC4xODU5OTAzLDcuODExNTk0MiAxMC41LDguMTEzNTI2NTcgMTAuNSw4LjUgQzEwLjUsOC44ODY0NzM0MyAxMC4xODU5OTAzLDkuMTg4NDA1OCA5LjgxMTU5NDIsOS4xODg0MDU4IFoiIGlkPSJGaWxsLTEiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIwLjI1IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/mode-tools/icons/curved-point.svg" /*!*************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/mode-tools/icons/curved-point.svg ***! \*************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+Y3VydmVkLXBvaW50PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImN1cnZlZC1wb2ludCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yLDE1IEMyLDEwLjU4MTg0NTIgNS41ODE1MTIxNCw3IDEwLjAwMDc0NCw3IEMxNC40MTg0ODc5LDcgMTgsMTAuNTgxODQ1MiAxOCwxNSIgaWQ9IlN0cm9rZS0zIiBzdHJva2U9IiM4NTVDRDYiIHN0cm9rZS13aWR0aD0iMC43NSIgZmlsbC1vcGFjaXR5PSIwLjI1IiBmaWxsPSIjODU1Q0Q2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTMsNyBMMTcsNyIgaWQ9IlN0cm9rZS03IiBzdHJva2U9IiM4NTVDRDYiIHN0cm9rZS13aWR0aD0iMC43NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtNCIgZmlsbC1vcGFjaXR5PSIwLjI1IiBmaWxsPSIjODU1Q0Q2IiBjeD0iMTAiIGN5PSI3IiByPSIzIj48L2NpcmNsZT4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC00IiBmaWxsPSIjODU1Q0Q2IiBjeD0iMTAiIGN5PSI3IiByPSIyIj48L2NpcmNsZT4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC01IiBmaWxsPSIjODU1Q0Q2IiBjeD0iMyIgY3k9IjciIHI9IjEiPjwvY2lyY2xlPgogICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLTUtQ29weSIgZmlsbD0iIzg1NUNENiIgY3g9IjE3IiBjeT0iNyIgcj0iMSI+PC9jaXJjbGU+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/mode-tools/icons/delete.svg" /*!*******************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/mode-tools/icons/delete.svg ***! \*******************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5kZWxldGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iZGVsZXRlIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iRGVsZXRlLUljb24iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIuMDAwMDAwLCAxLjUwMDAwMCkiIGZpbGw9IiM4NTVDRDYiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yLDMuMjUgTDE0LDMuMjUgQzE0LjQ0MzcxNjQsMy4yNSAxNC43OTA0MjkzLDMuNjMzMTEzNDMgMTQuNzQ2Mjc3OSw0LjA3NDYyNzc5IEwxMy42MzYzMjc1LDE1LjE3NDEzMTUgQzEzLjU0Njg2NzIsMTYuMDY4NzM0NyAxMi43OTQwNzc1LDE2Ljc1IDExLjg5NTAxMjQsMTYuNzUgTDQuMTA0OTg3NTYsMTYuNzUgQzMuMjA1OTIyNTMsMTYuNzUgMi40NTMxMzI3OSwxNi4wNjg3MzQ3IDIuMzYzNjcyNDgsMTUuMTc0MTMxNSBMMS4yNTM3MjIxMSw0LjA3NDYyNzc5IEMxLjIwOTU3MDY3LDMuNjMzMTEzNDMgMS41NTYyODM1NiwzLjI1IDIsMy4yNSBaIE04Ljc1LDEyIEw4Ljc1LDcgQzguNzUsNi41ODU3ODY0NCA4LjQxNDIxMzU2LDYuMjUgOCw2LjI1IEM3LjU4NTc4NjQ0LDYuMjUgNy4yNSw2LjU4NTc4NjQ0IDcuMjUsNyBMNy4yNSwxMiBDNy4yNSwxMi40MTQyMTM2IDcuNTg1Nzg2NDQsMTIuNzUgOCwxMi43NSBDOC40MTQyMTM1NiwxMi43NSA4Ljc1LDEyLjQxNDIxMzYgOC43NSwxMiBaIE0xMS4yNSwxMiBMMTEuMjUsNyBDMTEuMjUsNi41ODU3ODY0NCAxMC45MTQyMTM2LDYuMjUgMTAuNSw2LjI1IEMxMC4wODU3ODY0LDYuMjUgOS43NSw2LjU4NTc4NjQ0IDkuNzUsNyBMOS43NSwxMiBDOS43NSwxMi40MTQyMTM2IDEwLjA4NTc4NjQsMTIuNzUgMTAuNSwxMi43NSBDMTAuOTE0MjEzNiwxMi43NSAxMS4yNSwxMi40MTQyMTM2IDExLjI1LDEyIFogTTYuMjUsMTIgTDYuMjUsNyBDNi4yNSw2LjU4NTc4NjQ0IDUuOTE0MjEzNTYsNi4yNSA1LjUsNi4yNSBDNS4wODU3ODY0NCw2LjI1IDQuNzUsNi41ODU3ODY0NCA0Ljc1LDcgTDQuNzUsMTIgQzQuNzUsMTIuNDE0MjEzNiA1LjA4NTc4NjQ0LDEyLjc1IDUuNSwxMi43NSBDNS45MTQyMTM1NiwxMi43NSA2LjI1LDEyLjQxNDIxMzYgNi4yNSwxMiBaIE0xLjUsNCBMMTQuNSw0IEwxLjUsNCBaIE0xLjUsMyBMMTQuNSwzIEMxNS4wNTIyODQ3LDMgMTUuNSwzLjQ0NzcxNTI1IDE1LjUsNCBDMTUuNSw0LjU1MjI4NDc1IDE1LjA1MjI4NDcsNSAxNC41LDUgTDEuNSw1IEMwLjk0NzcxNTI1LDUgMC41LDQuNTUyMjg0NzUgMC41LDQgQzAuNSwzLjQ0NzcxNTI1IDAuOTQ3NzE1MjUsMyAxLjUsMyBaIE05LjI1LDMuMjUgTDkuMjUsMiBDOS4yNSwxLjg2MTkyODgxIDkuMTM4MDcxMTksMS43NSA5LDEuNzUgTDcsMS43NSBDNi44NjE5Mjg4MSwxLjc1IDYuNzUsMS44NjE5Mjg4MSA2Ljc1LDIgTDYuNzUsMy4yNSBMOS4yNSwzLjI1IFogTTcsMC4yNSBMOSwwLjI1IEM5Ljk2NjQ5ODMxLDAuMjUgMTAuNzUsMS4wMzM1MDE2OSAxMC43NSwyIEwxMC43NSw0Ljc1IEw1LjI1LDQuNzUgTDUuMjUsMiBDNS4yNSwxLjAzMzUwMTY5IDYuMDMzNTAxNjksMC4yNSA3LDAuMjUgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/mode-tools/icons/flip-horizontal.svg" /*!****************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/mode-tools/icons/flip-horizontal.svg ***! \****************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+ZmxpcC1ob3Jpem9udGFsPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImZsaXAtaG9yaXpvbnRhbCI+CiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIuMDAwMDAwLCAzLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbCIgZmlsbD0iIzU3NUU3NSIgb3BhY2l0eT0iMC41IiBjeD0iOCIgY3k9IjAuNzUiIHI9IjEiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbCIgZmlsbD0iIzU3NUU3NSIgb3BhY2l0eT0iMC41IiBjeD0iOCIgY3k9IjEzLjI1IiByPSIxIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtQ29weSIgZmlsbD0iIzU3NUU3NSIgb3BhY2l0eT0iMC41IiBjeD0iOCIgY3k9IjMuODc1IiByPSIxIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtQ29weS0yIiBmaWxsPSIjNTc1RTc1IiBvcGFjaXR5PSIwLjUiIGN4PSI4IiBjeT0iNyIgcj0iMSI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLUNvcHktMyIgZmlsbD0iIzU3NUU3NSIgb3BhY2l0eT0iMC41IiBjeD0iOCIgY3k9IjEwLjEyNSIgcj0iMSI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTYsMy4wODQyNTQyMyBMMTYsMTAuOTE1NzQ1OCBDMTYsMTEuNDM0MjYyNiAxNS4yNTc0NDkxLDExLjY5NTY5OTYgMTQuODIzNTc5OCwxMS4zMjgyMzUzIEwxMC4yMDE5MjkzLDcuNDExMDM3MTEgQzkuOTMyNjkwMjUsNy4xODQ0NTgzNSA5LjkzMjY5MDI1LDYuODE0MDg5MjIgMTAuMjAxOTI5Myw2LjU4NzUxMDQ2IEwxNC44MjM1Nzk4LDIuNjcxNzY0NjkgQzE1LjI1NzQ0OTEsMi4zMDQzMDA0MiAxNiwyLjU2NTczNzQ1IDE2LDMuMDg0MjU0MjMiIGlkPSJGaWxsLTExIiBmaWxsPSIjODU1Q0Q2IiBvcGFjaXR5PSIwLjUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLDEwLjkxNTc0NTggTDAsMy4wODQyNTQyMyBDMCwyLjU2NTczNzQ1IDAuNzQyNTUwOTExLDIuMzA0MzAwNDIgMS4xNzQ3MDUyNSwyLjY3MTc2NDY5IEw1Ljc5ODA3MDc0LDYuNTg4OTYyODkgQzYuMDY3MzA5NzUsNi44MTU1NDE2NSA2LjA2NzMwOTc1LDcuMTg1OTEwNzggNS43OTgwNzA3NCw3LjQxMjQ4OTU0IEwxLjE3NDcwNTI1LDExLjMyODIzNTMgQzAuNzQyNTUwOTExLDExLjY5NTY5OTYgMCwxMS40MzQyNjI2IDAsMTAuOTE1NzQ1OCIgaWQ9IkZpbGwtMTQiIGZpbGw9IiM4NTVDRDYiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/mode-tools/icons/flip-vertical.svg" /*!**************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/mode-tools/icons/flip-vertical.svg ***! \**************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+ZmxpcC12ZXJ0aWNhbDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJmbGlwLXZlcnRpY2FsIj4KICAgICAgICAgICAgPGcgaWQ9ImZsaXAtaG9yaXpvbnRhbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuMDAwMDAwLCAxMC4wMDAwMDApIHJvdGF0ZSg5MC4wMDAwMDApIHRyYW5zbGF0ZSgtMTAuMDAwMDAwLCAtMTAuMDAwMDAwKSB0cmFuc2xhdGUoMi4wMDAwMDAsIDMuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsPSIjNTc1RTc1IiBvcGFjaXR5PSIwLjUiIGN4PSI4IiBjeT0iMC43NSIgcj0iMSI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsPSIjNTc1RTc1IiBvcGFjaXR5PSIwLjUiIGN4PSI4IiBjeT0iMTMuMjUiIHI9IjEiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBmaWxsPSIjNTc1RTc1IiBvcGFjaXR5PSIwLjUiIGN4PSI4IiBjeT0iMy44NzUiIHI9IjEiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5LTIiIGZpbGw9IiM1NzVFNzUiIG9wYWNpdHk9IjAuNSIgY3g9IjgiIGN5PSI3IiByPSIxIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtQ29weS0zIiBmaWxsPSIjNTc1RTc1IiBvcGFjaXR5PSIwLjUiIGN4PSI4IiBjeT0iMTAuMTI1IiByPSIxIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNiwzLjA4NDI1NDIzIEwxNiwxMC45MTU3NDU4IEMxNiwxMS40MzQyNjI2IDE1LjI1NzQ0OTEsMTEuNjk1Njk5NiAxNC44MjM1Nzk4LDExLjMyODIzNTMgTDEwLjIwMTkyOTMsNy40MTEwMzcxMSBDOS45MzI2OTAyNSw3LjE4NDQ1ODM1IDkuOTMyNjkwMjUsNi44MTQwODkyMiAxMC4yMDE5MjkzLDYuNTg3NTEwNDYgTDE0LjgyMzU3OTgsMi42NzE3NjQ2OSBDMTUuMjU3NDQ5MSwyLjMwNDMwMDQyIDE2LDIuNTY1NzM3NDUgMTYsMy4wODQyNTQyMyIgaWQ9IkZpbGwtMTEiIGZpbGw9IiM4NTVDRDYiIG9wYWNpdHk9IjAuNSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTAsMTAuOTE1NzQ1OCBMMCwzLjA4NDI1NDIzIEMwLDIuNTY1NzM3NDUgMC43NDI1NTA5MTEsMi4zMDQzMDA0MiAxLjE3NDcwNTI1LDIuNjcxNzY0NjkgTDUuNzk4MDcwNzQsNi41ODg5NjI4OSBDNi4wNjczMDk3NSw2LjgxNTU0MTY1IDYuMDY3MzA5NzUsNy4xODU5MTA3OCA1Ljc5ODA3MDc0LDcuNDEyNDg5NTQgTDEuMTc0NzA1MjUsMTEuMzI4MjM1MyBDMC43NDI1NTA5MTEsMTEuNjk1Njk5NiAwLDExLjQzNDI2MjYgMCwxMC45MTU3NDU4IiBpZD0iRmlsbC0xNCIgZmlsbD0iIzg1NUNENiI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/mode-tools/icons/paste.svg" /*!******************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/mode-tools/icons/paste.svg ***! \******************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+cGFzdGUgdjI8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0icGFzdGUtdjIiPgogICAgICAgICAgICA8ZyBpZD0icGFzdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuMDAwMDAwLCAyLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIGlkPSJQYXRoLTMiIHN0cm9rZS1vcGFjaXR5PSIwLjUiIHN0cm9rZT0iIzU3NUU3NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtZGFzaGFycmF5PSIxLDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuNzQ4NDEzLCA2Ljc1MDAwMCkgc2NhbGUoMSwgLTEpIHRyYW5zbGF0ZSgtNi43NDg0MTMsIC02Ljc1MDAwMCkgIiBwb2ludHM9IjAuNSAwLjUgMC41IDEzIDEyLjk5NjgyNjIgMTMiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMiwzLjAwNjg0NTQ3IEMyLDIuNDUwNzgwMDcgMi40NTMwMzYzMSwyIDIuOTk3MDMwMTQsMiBMMTAsMiBMMTAsNC4zNDk5NTMxNyBDMTAsNS4yNjEyNDg4NyAxMC43MzM2NjE3LDYgMTEuNjUwMDQ2OCw2IEwxNCw2IEwxNCwxNS4wMDQ2MDI0IEMxNCwxNS41NTQzNDUzIDEzLjU0NDIzOSwxNiAxMi45OTc1MjY3LDE2IEwzLjAwMjQ3MzI5LDE2IEMyLjQ0ODgyMjU4LDE2IDIsMTUuNTUwMDUxMiAyLDE0Ljk5MzE1NDUgTDIsMy4wMDY4NDU0NyBaIiBpZD0iUmVjdGFuZ2xlLTQiIGZpbGw9IiM4NTVDRDYiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMSwyIEwxNCw1IEwxMS45OTg5NTY2LDUgQzExLjQ0NzI0ODEsNSAxMSw0LjU1NzMzOTY3IDExLDQuMDAxMDQzNDQgTDExLDIgWiIgaWQ9IlJlY3RhbmdsZS01IiBmaWxsPSIjODU1Q0Q2Ij48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOC4zNDc5MTgzMywxMi44NzcxODg1IEM4LjI2MTgwNjY4LDEyLjk2MzMwMDEgOC4xNDY5OTExMywxMy4wMDYzNTU5IDguMDMyMTc1NTksMTMuMDA2MzU1OSBDNy45MDMwMDgxLDEzLjAwNjM1NTkgNy43ODgxOTI1NiwxMi45NjMzMDAxIDcuNzAyMDgwOTEsMTIuODc3MTg4NSBMNS44NjUwMzIyMiwxMS4wNDAxMzk4IEM1LjczNTg2NDc0LDEwLjg5NjYyMDMgNS42OTI4MDg5MSwxMC43MTAwNDUxIDUuNzY0NTY4NjIsMTAuNTM3ODIxOCBDNS44MzYzMjgzNCwxMC4zNjU1OTg1IDUuOTk0MTk5NzEsMTAuMjY1MTM0OSA2LjE4MDc3NDk3LDEwLjI2NTEzNDkgTDYuOTI3MDc1OTksMTAuMjY1MTM0OSBMNy4yODU4NzQ1Niw3LjY2NzQzMzIxIEM3LjMxNDU3ODQ1LDcuNDY2NTA2MDEgNy40MTUwNDIwNSw3LjI3OTkzMDc1IDcuNTcyOTEzNDIsNy4xNjUxMTUyMSBDNy43MzA3ODQ3OSw3LjAzNTk0NzczIDcuOTQ2MDYzOTMsNi45Nzg1Mzk5NSA4LjEzMjYzOTE5LDcuMDA3MjQzODQgQzguNDc3MDg1ODIsNy4wNjMyMTY0MiA4Ljc0OTc3MjczLDcuMzM3MzM4NTIgOC43OTI4Mjg1Niw3LjY2NzQzMzIxIEw5LjE2NTk3OTA3LDEwLjI2NTEzNDkgTDkuODY5MjI0MjcsMTAuMjY1MTM0OSBDMTAuMDU1Nzk5NSwxMC4yNjUxMzQ5IDEwLjIxMzY3MDksMTAuMzc5OTUwNCAxMC4yODU0MzA2LDEwLjU1MjE3MzcgQzEwLjM1NzE5MDMsMTAuNzEwMDQ1MSAxMC4zMTQxMzQ1LDEwLjkxMDk3MjMgMTAuMTg0OTY3LDExLjA0MDEzOTggTDguMzQ3OTE4MzMsMTIuODc3MTg4NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/mode-tools/icons/straight-point.svg" /*!***************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/mode-tools/icons/straight-point.svg ***! \***************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c3RyYWlnaHQtcG9pbnQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0ic3RyYWlnaHQtcG9pbnQiIGZpbGw9IiM4NTVDRDYiPgogICAgICAgICAgICA8cG9seWxpbmUgaWQ9IlBhdGgtMiIgc3Ryb2tlPSIjODU1Q0Q2IiBzdHJva2Utd2lkdGg9IjAuNzUiIGZpbGwtb3BhY2l0eT0iMC4yNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBwb2ludHM9IjIgMTUgMTAgNyAxOCAxNSI+PC9wb2x5bGluZT4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC00IiBmaWxsLW9wYWNpdHk9IjAuMjUiIGN4PSIxMCIgY3k9IjciIHI9IjMiPjwvY2lyY2xlPgogICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLTQiIGN4PSIxMCIgY3k9IjciIHI9IjIiPjwvY2lyY2xlPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/oval-mode/oval.svg" /*!**********************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/oval-mode/oval.svg ***! \**********************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+b3ZhbDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJvdmFsIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjNTc1RTc1Ij4KICAgICAgICAgICAgPGNpcmNsZSBpZD0ib3ZhbC1pY29uIiBjeD0iMTAiIGN5PSIxMCIgcj0iNSI+PC9jaXJjbGU+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/paint-editor/icons/bitmap.svg" /*!*********************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/paint-editor/icons/bitmap.svg ***! \*********************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0Ny4xICg0NTQyMikgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+Yml0bWFwPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImJpdG1hcCIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik00LDMgTDE2LDMgTDE2LDQgTDQsNCBMNCwzIFogTTIsNSBMMyw1IEwzLDEzIEwyLDEzIEwyLDUgWiBNMTcsNSBMMTgsNSBMMTgsMTMgTDE3LDEzIEwxNyw1IFogTTIsMTMgTDE4LDEzIEwxOCwxNSBMMiwxNSBMMiwxMyBaIE00LDEyIEwxNiwxMiBMMTYsMTMgTDQsMTMgTDQsMTIgWiBNNSwxMSBMOCwxMSBMOCwxMiBMNSwxMiBMNSwxMSBaIE02LDEwIEw3LDEwIEw3LDExIEw2LDExIEw2LDEwIFogTTksMTEgTDE2LDExIEwxNiwxMiBMOSwxMiBMOSwxMSBaIE0xMCwxMCBMMTUsMTAgTDE1LDExIEwxMCwxMSBMMTAsMTAgWiBNMTEsOSBMMTQsOSBMMTQsMTAgTDExLDEwIEwxMSw5IFogTTEyLDggTDEzLDggTDEzLDkgTDEyLDkgTDEyLDggWiBNMTYsMTIgTDE3LDEyIEwxNywxMyBMMTYsMTMgTDE2LDEyIFogTTMsMTUgTDE3LDE1IEwxNywxNiBMMywxNiBMMywxNSBaIE0zLDQgTDQsNCBMNCw1IEwzLDUgTDMsNCBaIE0xNiw0IEwxNyw0IEwxNyw1IEwxNiw1IEwxNiw0IFogTTQsMTYgTDE2LDE2IEwxNiwxNyBMNCwxNyBMNCwxNiBaIiBpZD0iQ29tYmluZWQtU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/paint-editor/icons/zoom-in.svg" /*!**********************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/paint-editor/icons/zoom-in.svg ***! \**********************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB2aWV3Qm94PSI2IDYgMjQgMjQiPgo8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgICAuY2xzLTR7ZmlsbDpub25lO3N0cm9rZTojNTc1ZTc1O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MS41cHg7fQogICAgPC9zdHlsZT4KPC9kZWZzPgo8dGl0bGU+em9vbS1pbjwvdGl0bGU+CjxnIGNsYXNzPSJjbHMtMyI+CiAgICA8Y2lyY2xlIGNsYXNzPSJjbHMtNCIgY3g9IjE4IiBjeT0iMTgiIHI9IjciLz4KICAgIDxsaW5lIGNsYXNzPSJjbHMtNCIgeDE9IjIzIiB5MT0iMjMiIHgyPSIyNiIgeTI9IjI2Ii8+CiAgICA8bGluZSBjbGFzcz0iY2xzLTQiIHgxPSIxNiIgeTE9IjE4IiB4Mj0iMjAiIHkyPSIxOCIvPgogICAgPGxpbmUgY2xhc3M9ImNscy00IiB4MT0iMTgiIHkxPSIxNiIgeDI9IjE4IiB5Mj0iMjAiLz4KPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/paint-editor/icons/zoom-out.svg" /*!***********************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/paint-editor/icons/zoom-out.svg ***! \***********************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB2aWV3Qm94PSI2IDYgMjQgMjQiPgo8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgICAuY2xzLTR7ZmlsbDpub25lO3N0cm9rZTojNTc1ZTc1O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MS41cHg7fQogICAgPC9zdHlsZT4KPC9kZWZzPgo8dGl0bGU+em9vbS1vdXQ8L3RpdGxlPgo8ZyBjbGFzcz0iY2xzLTMiPgogICAgPGNpcmNsZSBjbGFzcz0iY2xzLTQiIGN4PSIxOCIgY3k9IjE4IiByPSI3Ii8+CiAgICA8bGluZSBjbGFzcz0iY2xzLTQiIHgxPSIyMyIgeTE9IjIzIiB4Mj0iMjYiIHkyPSIyNiIvPgogICAgPGxpbmUgY2xhc3M9ImNscy00IiB4MT0iMTYiIHkxPSIxOCIgeDI9IjIwIiB5Mj0iMTgiLz4KPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/paint-editor/icons/zoom-reset.svg" /*!*************************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/paint-editor/icons/zoom-reset.svg ***! \*************************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB2aWV3Qm94PSI2IDYgMjQgMjQiPgo8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgICAuY2xzLTR7ZmlsbDojNTc1ZTc1O30KICAgIDwvc3R5bGU+CjwvZGVmcz4KPHRpdGxlPnpvb20tcmVzZXQ8L3RpdGxlPgo8ZyBjbGFzcz0iY2xzLTMiPgogICAgPHJlY3QgY2xhc3M9ImNscy00IiB4PSIxMyIgeT0iMTQiIHdpZHRoPSIxMCIgaGVpZ2h0PSIyIiByeD0iMSIgcnk9IjEiLz4KICAgIDxyZWN0IGNsYXNzPSJjbHMtNCIgeD0iMTMiIHk9IjIwIiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgcng9IjEiIHJ5PSIxIi8+CjwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/rect-mode/rectangle.svg" /*!***************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/rect-mode/rectangle.svg ***! \***************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+cmVjdGFuZ2xlPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICA8ZyBpZD0icmVjdGFuZ2xlIiBzdHJva2U9IiM1NzVFNzUiIHN0cm9rZS13aWR0aD0iMS41Ij4KICAgICAgICAgICAgPHJlY3QgaWQ9InJlY3RhbmdsZS1pY29uIiB4PSI1IiB5PSI1IiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiPjwvcmVjdD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/reshape-mode/reshape.svg" /*!****************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/reshape-mode/reshape.svg ***! \****************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+cmVzaGFwZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJyZXNoYXBlIj4KICAgICAgICAgICAgPGcgaWQ9InJlc2hhcGUtaWNvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy4wMDAwMDAsIDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNi4zNzE4LDRlLTA1IEM2LjM3MTgsMS4yMDI5ODg0NiA2LjAzODQwNjM5LDIuMzI4MTEwMDEgNS40NTg5ODMwNiwzLjI4ODA0MDc2IEM1LjMxODc2MzYyLDMuNTIwMzQyMzUgNC4zMDA3OTgxMiwzLjE1MTA3MDM0IDMuODI4MTg2MDQsMy42MTg1OTEzMSBDMy4zNTU1NzM5NSw0LjA4NjExMjI4IDMuNDc4NzM3NTksNS4zNDUyOTE0NyAzLjI2MTgxODg0LDUuNDc0ODIxODEgQzIuMzA3NTkzMDQsNi4wNDQ2MjU4OSAxLjE5MTkxMjA1LDYuMzcyMDQgLTAuMDAwMiw2LjM3MjA0IiBpZD0iU3Ryb2tlLTEiIHN0cm9rZT0iIzU3NUU3NSIgc3Ryb2tlLXdpZHRoPSIwLjc1Ij48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNCw2Ljk0OTk5MDk0IEMyLjg1ODg3OTg0LDYuNzE4MzU1NzggMiw1LjcwOTQ3ODk2IDIsNC41IEMyLDMuMTE5Mjg4MTMgMy4xMTkyODgxMywyIDQuNSwyIEM1Ljg4MDcxMTg3LDIgNywzLjExOTI4ODEzIDcsNC41IEM3LDQuNTY4NTQyMzMgNi45OTcyNDE2Miw0LjYzNjQ0MDQyIDYuOTkxODI5ODIsNC43MDM1ODkyOSBMNi42ODEzNzc0Nyw0LjQyMDE3MzI3IEM1LjY1NzkyNzcyLDMuNDg0OTMzMjUgNCw0LjIwNDg0MDkxIDQsNS41OTU5MzIgTDQsNi45NDk5OTA5NCBaIiBpZD0iQ29tYmluZWQtU2hhcGUiIGZpbGw9IiM1NzVFNzUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00LDcuOTY0NTU1NTcgQzIuMzAzODUyOTMsNy43MjE5NDA3NCAxLDYuMjYzMjM1OTUgMSw0LjUgQzEsMi41NjcwMDMzOCAyLjU2NzAwMzM4LDEgNC41LDEgQzYuNDMyOTk2NjIsMSA4LDIuNTY3MDAzMzggOCw0LjUgQzgsNC44NDUwODM0NSA3Ljk1MDA1OTE0LDUuMTc4NTAyNiA3Ljg1NzAxMDY1LDUuNDkzNDI0MiBMNi42ODEzNzc0Nyw0LjQyMDE3MzI3IEM1LjY1NzkyNzcyLDMuNDg0OTMzMjUgNCw0LjIwNDg0MDkxIDQsNS41OTU5MzIgTDQsNy45NjQ1NTU1NyBaIiBpZD0iT3ZhbC0yIiBmaWxsLW9wYWNpdHk9IjAuMTUiIGZpbGw9IiM1NzVFNzUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03Ljg3OTE1MzI5LDEzLjE2ODQ1MjIgTDguOTg0Njc0MTQsMTUuNjMxNjcwMyBDOS4yMDIzNTk1NCwxNi4xMTg2NTgxIDkuNzY5ODA5MTMsMTYuMzMzNzIzOCAxMC4yNTE2NTIxLDE2LjExMzcxNDEgQzEwLjczMzQ5NTEsMTUuODkyNDY4MyAxMC45NDYyODg3LDE1LjMxODk1OTggMTAuNzI4NjAzMiwxNC44MzMyMDggTDkuNjM1ODMxODMsMTIuMzk3MzQ2MSBMMTIuMzk3NDYyOCwxMi4zOTczNDYxIEMxMi45NDU1MTIsMTIuMzk3MzQ2MSAxMy4yMDc1MTgsMTEuNzMxMzgxOCAxMi44MDQ4OTQxLDExLjM2NDQ0NjIgTDYuMDA3MTYwNjUsNS4xNTg3MDY3NCBDNS42MjI1NjQ3LDQuODA3MjU4NjQgNSw1LjA3NzY5NDk4IDUsNS41OTU5MzIgTDUsMTQuODAyNjgwNyBDNSwxNS4zNTA3MDE1IDUuNjgxNDU1OTUsMTUuNjA4MDMzIDYuMDQ4MDIzOTcsMTUuMTk5NDAwMSBMNy44NzkxNTMyOSwxMy4xNjg0NTIyIFoiIGlkPSJzZWxlY3QtaWNvbiIgZmlsbD0iIzU3NUU3NSI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./node_modules/scratch-paint/src/components/select-mode/select.svg" /*!**************************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/select-mode/select.svg ***! \**************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VsZWN0PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9InNlbGVjdCIgZmlsbD0iIzU3NUU3NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjA4NDgwNzA5LDEyLjc1MTkxMzEgTDEwLjI2OTI5MzcsMTUuMzkxMDc1MyBDMTAuNTAyNTI4MSwxNS45MTI4NDggMTEuMTEwNTA5OCwxNi4xNDMyNzU1IDExLjYyNjc3MDEsMTUuOTA3NTUwOCBDMTIuMTQzMDMwNCwxNS42NzA1MDE4IDEyLjM3MTAyMzYsMTUuMDU2MDI4NCAxMi4xMzc3ODkyLDE0LjUzNTU4IEwxMC45NjY5NjI3LDExLjkyNTcyOCBMMTMuOTI1ODUzLDExLjkyNTcyOCBDMTQuNTEzMDQ4NiwxMS45MjU3MjggMTQuNzkzNzY5MywxMS4yMTIxOTQ4IDE0LjM2MjM4NjUsMTAuODE5MDQ5NSBMNy4wNzkxMDA3LDQuMTcwMDQyOTQgQzYuNjY3MDMzNiwzLjc5MzQ5MTQgNiw0LjA4MzI0NDYyIDYsNC42Mzg0OTg1NyBMNiwxNC41MDI4NzIyIEM2LDE1LjA5MDAzNzMgNi43MzAxMzEzOCwxNS4zNjU3NDk2IDcuMTIyODgyODIsMTQuOTI3OTI4NyBMOS4wODQ4MDcwOSwxMi43NTE5MTMxIFoiIGlkPSJzZWxlY3QtaWNvbiI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./node_modules/scratch-paint/src/components/text-mode/text.svg" /*!**********************************************************************!*\ !*** ./node_modules/scratch-paint/src/components/text-mode/text.svg ***! \**********************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+dGV4dDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJ0ZXh0IiBmaWxsPSIjNTc1RTc1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE2LDQuMzUyOTQxMTggTDE2LDYuODUxNzY0NzEgQzE2LDcuMDQ5NDExNzYgMTUuODQ0NzA1OSw3LjIwNDcwNTg4IDE1LjY0NzA1ODgsNy4yMDQ3MDU4OCBMMTQuODk4ODIzNSw3LjIwNDcwNTg4IEMxNC43NTc2NDcxLDcuMjA0NzA1ODggMTQuNjE2NDcwNiw3LjEyIDE0LjU3NDExNzYsNi45OTI5NDExOCBMMTQuMjA3MDU4OCw2LjExNzY0NzA2IEwxMS4wNTg4MjM1LDYuMTE3NjQ3MDYgTDExLjA1ODgyMzUsMTQuMjkxNzY0NyBMMTEuOTIsMTQuNjE2NDcwNiBDMTIuMDYxMTc2NSwxNC42NzI5NDEyIDEyLjE2LDE0LjggMTIuMTYsMTQuOTU1Mjk0MSBMMTIuMTYsMTUuNjQ3MDU4OCBDMTIuMTYsMTUuODQ0NzA1OSAxMS45OTA1ODgyLDE2IDExLjgwNzA1ODgsMTYgTDguMjA3MDU4ODIsMTYgQzguMDIzNTI5NDEsMTYgNy44NTQxMTc2NSwxNS44NDQ3MDU5IDcuODU0MTE3NjUsMTUuNjQ3MDU4OCBMNy44NTQxMTc2NSwxNC45NTUyOTQxIEM3Ljg1NDExNzY1LDE0LjggNy45NTI5NDExOCwxNC42NzI5NDEyIDguMDgsMTQuNjE2NDcwNiBMOC45NDExNzY0NywxNC4yOTE3NjQ3IEw4Ljk0MTE3NjQ3LDYuMTE3NjQ3MDYgTDUuODA3MDU4ODIsNi4xMTc2NDcwNiBMNS40NCw2Ljk5Mjk0MTE4IEM1LjM4MzUyOTQxLDcuMTIgNS4yNTY0NzA1OSw3LjIwNDcwNTg4IDUuMTE1Mjk0MTIsNy4yMDQ3MDU4OCBMNC4zNTI5NDExOCw3LjIwNDcwNTg4IEM0LjE2OTQxMTc2LDcuMjA0NzA1ODggNCw3LjA0OTQxMTc2IDQsNi44NTE3NjQ3MSBMNCw0LjM1Mjk0MTE4IEM0LDQuMTU1Mjk0MTIgNC4xNjk0MTE3Niw0IDQuMzUyOTQxMTgsNCBMMTUuNjQ3MDU4OCw0IEMxNS44NDQ3MDU5LDQgMTYsNC4xNTUyOTQxMiAxNiw0LjM1Mjk0MTE4IiBpZD0idGV4dC1pY29uIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/action-menu/icon--backdrop.svg" /*!*******************************************************!*\ !*** ./src/components/action-menu/icon--backdrop.svg ***! \*******************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjIgKDQ3MzI3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5iYWNrZHJvcC1saWJyYXJ5PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggZD0iTTE2Ljg5NzA1ODgsMy45ODUyOTQxMiBMMTcuNTU4ODIzNSwzLjk4NTI5NDEyIEMxNy45MjQzMDYxLDMuOTg1Mjk0MTIgMTguMjIwNTg4Miw0LjI4MTU3NjI3IDE4LjIyMDU4ODIsNC42NDcwNTg4MiBDMTguMjIwNTg4Miw1LjAxMjU0MTM4IDE3LjkyNDMwNjEsNS4zMDg4MjM1MyAxNy41NTg4MjM1LDUuMzA4ODIzNTMgTDE2Ljg5NzA1ODgsNS4zMDg4MjM1MyBMMTYuODk3MDU4OCw1Ljk3MDU4ODI0IEMxNi44OTcwNTg4LDYuMzM2MDcwNzkgMTYuNjAwNzc2Nyw2LjYzMjM1Mjk0IDE2LjIzNTI5NDEsNi42MzIzNTI5NCBDMTUuODY5ODExNiw2LjYzMjM1Mjk0IDE1LjU3MzUyOTQsNi4zMzYwNzA3OSAxNS41NzM1Mjk0LDUuOTcwNTg4MjQgTDE1LjU3MzUyOTQsNS4zMDg4MjM1MyBMMTQuOTExNzY0Nyw1LjMwODgyMzUzIEMxNC41NDYyODIyLDUuMzA4ODIzNTMgMTQuMjUsNS4wMTI1NDEzOCAxNC4yNSw0LjY0NzA1ODgyIEMxNC4yNSw0LjI4MTU3NjI3IDE0LjU0NjI4MjIsMy45ODUyOTQxMiAxNC45MTE3NjQ3LDMuOTg1Mjk0MTIgTDE1LjU3MzUyOTQsMy45ODUyOTQxMiBMMTUuNTczNTI5NCwzLjMyMzUyOTQxIEMxNS41NzM1Mjk0LDIuOTU4MDQ2ODYgMTUuODY5ODExNiwyLjY2MTc2NDcxIDE2LjIzNTI5NDEsMi42NjE3NjQ3MSBDMTYuNjAwNzc2NywyLjY2MTc2NDcxIDE2Ljg5NzA1ODgsMi45NTgwNDY4NiAxNi44OTcwNTg4LDMuMzIzNTI5NDEgTDE2Ljg5NzA1ODgsMy45ODUyOTQxMiBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iYmFja2Ryb3AtbGlicmFyeSI+CiAgICAgICAgICAgIDxnIGlkPSJiYWNrZHJvcC1saWItaWNvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy44NTAwMDAsIDQuNjUwMDAwKSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMi4yOTQzOTY0LDguMTMwNjIwNTQgTDkuODM1NTE3MTUsNS41OTc1NDk3OCBDOS40ODQyNDg2OCw1LjIzNTY4MjUzIDguODk4ODAxMjMsNS4xNzUzNzEzMiA4LjQ4ODk4ODAxLDUuNTM3MjM4NTcgTDUuNDQ0NjYxMjgsOC4wMDk5OTgxMyBDNC45NzYzMDMzMiw4LjM3MTg2NTM4IDQuMzMyMzExMTIsOC4zMTE1NTQxNyAzLjk4MTA0MjY1LDcuODI5MDY0NSBMMy42ODgzMTg5Myw3LjQ2NzE5NzI1IEMzLjMzNzA1MDQ2LDYuOTg0NzA3NTggMi42MzQ1MTM1Miw2LjkyNDM5NjM3IDIuMjI0NzAwMzEsNy4yODYyNjM2MiBMMCw5LjE1NTkxMTA5IEwwLDkuMTU1OTExMDkgQzQuODI2ODM4NDNlLTE2LDEwLjAwNzg3NTcgMC42OTA2NTM3NDcsMTAuNjk4NTI5NCAxLjU0MjYxODMyLDEwLjY5ODUyOTQgTDEwLjM1Mjk0MTIsMTAuNjk4NTI5NCBDMTEuNDU3NTEwNywxMC42OTg1Mjk0IDEyLjM1Mjk0MTIsOS44MDMwOTg5MSAxMi4zNTI5NDEyLDguNjk4NTI5NDEgTDEyLjM1Mjk0MTIsOC4xMzA2MjA1NCBMMTIuMjk0Mzk2NCw4LjEzMDYyMDU0IFoiIGlkPSJTaGFwZSIgZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyLjM1Mjk0MTIsMy41Mjk0MTE3NiBMMTIuMzUyOTQxMiw4LjgyMzUyOTQxIEMxMi4zNTI5NDEyLDkuNzk4MTQ5NTYgMTEuNTYyODU1NCwxMC41ODgyMzUzIDEwLjU4ODIzNTMsMTAuNTg4MjM1MyBMMS43NjQ3MDU4OCwxMC41ODgyMzUzIEMwLjc5MDA4NTczNiwxMC41ODgyMzUzIDEuMTkzNTY1NDRlLTE2LDkuNzk4MTQ5NTYgMCw4LjgyMzUyOTQxIEwwLDEuNzY0NzA1ODggQy0xLjE5MzU2NTQ0ZS0xNiwwLjc5MDA4NTczNiAwLjc5MDA4NTczNiw0LjYxOTkyNjkxZS0xNSAxLjc2NDcwNTg4LDQuNDQwODkyMWUtMTUgTDguODIzNTI5NDEsNC40NDA4OTIxZS0xNSIgaWQ9IlJlY3RhbmdsZSI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIGlkPSJDb21iaW5lZC1TaGFwZSI+CiAgICAgICAgICAgICAgICA8dXNlIGZpbGw9IiNGRkZGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMC4xIiBkPSJNMTYuOTQ3MDU4OCwzLjkzNTI5NDEyIEwxNy41NTg4MjM1LDMuOTM1Mjk0MTIgQzE3Ljk1MTkyMDMsMy45MzUyOTQxMiAxOC4yNzA1ODgyLDQuMjUzOTYyMDMgMTguMjcwNTg4Miw0LjY0NzA1ODgyIEMxOC4yNzA1ODgyLDUuMDQwMTU1NjIgMTcuOTUxOTIwMyw1LjM1ODgyMzUzIDE3LjU1ODgyMzUsNS4zNTg4MjM1MyBMMTYuOTQ3MDU4OCw1LjMwODgyMzUzIEwxNi45NDcwNTg4LDUuOTcwNTg4MjQgQzE2Ljk0NzA1ODgsNi4zNjM2ODUwMyAxNi42MjgzOTA5LDYuNjgyMzUyOTQgMTYuMjM1Mjk0MSw2LjY4MjM1Mjk0IEMxNS44NDIxOTczLDYuNjgyMzUyOTQgMTUuNTIzNTI5NCw2LjM2MzY4NTAzIDE1LjUyMzUyOTQsNS45NzA1ODgyNCBMMTUuNTczNTI5NCw1LjM1ODgyMzUzIEwxNC45MTE3NjQ3LDUuMzU4ODIzNTMgQzE0LjUxODY2NzksNS4zNTg4MjM1MyAxNC4yLDUuMDQwMTU1NjIgMTQuMiw0LjY0NzA1ODgyIEMxNC4yLDQuMjUzOTYyMDMgMTQuNTE4NjY3OSwzLjkzNTI5NDEyIDE0LjkxMTc2NDcsMy45MzUyOTQxMiBMMTUuNTIzNTI5NCwzLjk4NTI5NDEyIEwxNS41MjM1Mjk0LDMuMzIzNTI5NDEgQzE1LjUyMzUyOTQsMi45MzA0MzI2MiAxNS44NDIxOTczLDIuNjExNzY0NzEgMTYuMjM1Mjk0MSwyLjYxMTc2NDcxIEMxNi42MjgzOTA5LDIuNjExNzY0NzEgMTYuOTQ3MDU4OCwyLjkzMDQzMjYyIDE2Ljk0NzA1ODgsMy4zMjM1Mjk0MSBMMTYuOTQ3MDU4OCwzLjkzNTI5NDEyIFoiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/action-menu/icon--file-upload.svg" /*!**********************************************************!*\ !*** ./src/components/action-menu/icon--file-upload.svg ***! \**********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjIgKDQ3MzI3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5maWxlLXVwbG9hZDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJmaWxlLXVwbG9hZCIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01LjkxNzM3MDk4LDYuODg2MTI0NjMgTDkuNjM4ODg5OTcsMy4xNjQ2MDU2NSBDOS44NTcwMDA5NywyLjk0NTEzMTQ1IDEwLjE5Nzc5OTQsMi45NDUxMzE0NSAxMC40MTU5MTA0LDMuMTY0NjA1NjUgTDE0LjEzNzQyOTQsNi44ODYxMjQ2MyBDMTQuNDkxODU5OCw3LjI0MDU1NTAxIDE0LjIzMjg1Myw3LjgyNTM2NTE0IDEzLjc0MjEwMzIsNy44MjUzNjUxNCBMMTEuODg4MTU5Nyw3LjgyNTM2NTE0IEwxMC43ODM5NzI3LDEyLjIwMTIxNzEgQzEwLjY3NDkxNzIsMTIuNjI1MTcwNCAxMC4yMzg2OTUyLDEyLjg4MjgxNCA5LjgxNjEwNTE2LDEyLjc3Mzc1ODUgQzkuNTE2MjAyNTMsMTIuNzA2OTYyIDkuMjk4MDkxNTMsMTIuNDc1MjE5MSA5LjIyOTkzMTg0LDEyLjIwMTIxNzEgTDguMTI1NzQ0ODksNy44MjUzNjUxNCBMNi4zMTI2OTcxOCw3LjgyNTM2NTE0IEM1LjgyMTk0NzQyLDcuODI1MzY1MTQgNS41NjI5NDA2LDcuMjQwNTU1MDEgNS45MTczNzA5OCw2Ljg4NjEyNDYzIFogTTE3LDExLjYwMTc1MyBMMTcsMTMuODUxMDIyNyBDMTcsMTUuNTgyMjc4OCAxNS41OTU5MTA0LDE3LjAwMDAwMDMgMTMuODY0NjU0MywxNy4wMDAwMDAzIEw2LjE0ODk3NzYsMTcuMDAwMDAwMyBDNC40MDQwODk1OCwxNy4wMDAwMDAzIDMsMTUuNTgyMjc4OCAzLDEzLjg1MTAyMjcgTDMsMTEuNjAxNzUzIEMzLDExLjAyOTIxMTYgMy40NjM0ODU4OCwxMC41NzkzNTc2IDQuMDIyMzk1MzMsMTAuNTc5MzU3NiBDNC41ODEzMDQ3NywxMC41NzkzNTc2IDUuMDQ0NzkwNjUsMTEuMDI5MjExNiA1LjA0NDc5MDY1LDExLjYwMTc1MyBMNS4wNDQ3OTA2NSwxMy44NTEwMjI3IEM1LjA0NDc5MDY1LDE0LjQ1MDgyNzkgNS41MzU1NDA0MSwxNC45NTUyMDk2IDYuMTQ4OTc3NiwxNC45NTUyMDk2IEwxMy44NjQ2NTQzLDE0Ljk1NTIwOTYgQzE0LjQ2NDQ1OTYsMTQuOTU1MjA5NiAxNC45NTUyMDkzLDE0LjQ1MDgyNzkgMTQuOTU1MjA5MywxMy44NTEwMjI3IEwxNC45NTUyMDkzLDExLjYwMTc1MyBDMTQuOTU1MjA5MywxMS4wMjkyMTE2IDE1LjQxODY5NTIsMTAuNTc5MzU3NiAxNS45Nzc2MDQ3LDEwLjU3OTM1NzYgQzE2LjU1MDE0NjEsMTAuNTc5MzU3NiAxNywxMS4wMjkyMTE2IDE3LDExLjYwMTc1MyBaIiBpZD0iZmlsZS11cGxvYWQtaWNvbiI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/action-menu/icon--paint.svg" /*!****************************************************!*\ !*** ./src/components/action-menu/icon--paint.svg ***! \****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjIgKDQ3MzI3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5wYWludDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJwYWludCIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNi4xOTk4MjI2LDYuNTg2ODUyNzcgQzE1LjU0MTcyOTQsNy45NDIxMzc2MyAxNC41NjYyNjc4LDkuNTA1MzkxMDEgMTMuNjQ1NzYxNywxMC42NjM4NzM0IEMxMi44NzUwMDk3LDExLjYzOTUxMSAxMi4yNTY3NTkzLDEyLjIxMTc3MzQgMTEuNjY1OTg2OCwxMi40OTA5MjU4IEMxMS41OTcyOTIzLDEyLjUzNDE5NDQgMTEuNTI5OTcxNywxMi41NDgxNTIxIDExLjQ0NjE2NDQsMTIuNTQ4MTUyMSBDMTEuMzkxMjA4OSwxMi41NDgxNTIxIDExLjMzNjI1MzMsMTIuNTM0MTk0NCAxMS4yNjc1NTg4LDEyLjUwNDg4MzQgQzExLjE0MzkwODcsMTIuNDY0NDA2MyAxMS4wMzM5OTc2LDEyLjM2NjcwMyAxMC45NzkwNDIsMTIuMjQxMDg0NCBDMTAuODE0MTc1MiwxMS44NjI4MzI5IDEwLjU4MDYxNCwxMS41NDMyMDM1IDEwLjI2NTk5MzIsMTEuMjkwNTcwNSBDOS45NDg2MjQ3NCwxMS4wNTMyOTEgOS41OTE0MTM0NCwxMC44NzE4NDIgOS4xODA2MjA0MywxMC43NzQxMzg2IEM5LjA1NTU5NjQ4LDEwLjc0NjIyMzQgOC45MzE5NDY0MSwxMC42NjM4NzM0IDguODYzMjUxOTMsMTAuNTM2ODU5MSBDOC43OTQ1NTc0NSwxMC40MjUxOTgxIDguNzY4NDUzNTQsMTAuMjg1NjIxOSA4Ljc5NDU1NzQ1LDEwLjE0NzQ0MTUgQzguOTU5NDI0Miw5LjUwNTM5MTAxIDkuMzg1MzI5OTksOC43NTE2Nzk1NiAxMC4xMjcyMzA0LDcuODE2NTE5MDUgQzExLjU4NDkyNzMsNS45NDQ4MDIyNyAxNC40OTc1NzMzLDMuMTY4NjMxNzUgMTUuOTExMzA1OCwzLjAxMzcwMjE4IEMxNi4yOTU5OTQ5LDIuOTU3ODcxNyAxNi41MTU4MTcyLDMuMDgzNDkwMjggMTYuNjUzMjA2MiwzLjE5NTE1MTIzIEMxNy4wMTE3OTE0LDMuNTAyMjE4ODYgMTcuMzY5MDAyNyw0LjE3MzU4MDM2IDE2LjE5OTgyMjYsNi41ODY4NTI3NyBaIE0xMC4yNjU0NDM3LDEzLjk5OTA0NjYgQzEwLjM0Nzg3NzEsMTQuNjk2OTI3NiAxMC4xNjkyNzE0LDE1LjM4MDg1MDkgOS43NDE5OTE3NCwxNS45MjUxOTgxIEM5LjM3MjQxNTQzLDE2LjQxMjMxOSA4Ljg1MDMzNzM3LDE2Ljc0ODY5NzcgOC4yNTk1NjQ4MiwxNi44ODgyNzM4IEM4LjIzMjA4NzAzLDE2LjkwMjIzMTUgOC4xOTA4NzAzNCwxNi45MTYxODkxIDguMTYzMzkyNTUsMTYuOTE2MTg5MSBMOC4wMjQ2Mjk3LDE2LjkzMDE0NjcgQzcuNzY0OTY0NTUsMTYuOTcyMDE5NiA3LjUxNzY2NDQyLDE2Ljk5OTkzNDggNy4yNjg5OTA0LDE2Ljk5OTkzNDggQzUuMjkxOTYzMjEsMTYuOTk5OTM0OCAzLjkwMjk2MDc5LDE1LjY1ODYwNzYgMy4zNTQ3Nzg4MywxNC43ODA2NzMzIEMzLjE0NzMyMTQ5LDE0LjQzMTczMjggMi44MzI3MDA3NiwxMy43ODk2ODIzIDMuMTA3NDc4NjksMTMuMzg0OTExNCBDMy4xNzYxNzMxNywxMy4yODcyMDggMy4zNjcxNDM4MywxMy4wNzc4NDM3IDMuNzc5MzEwNzIsMTMuMTYxNTg5NCBDNS4wODQ1MDU4OCwxMy40NDA3NDE4IDUuNTUxNjI4MzUsMTIuODU0NTIxOCA1LjYzNTQzNTYyLDEyLjc0Mjg2MDkgQzYuNTE0NzI0OTksMTEuNTg0Mzc4NCA4LjE0OTY1MzY1LDExLjM3NTAxNDEgOS4yNzQ4NjkyNiwxMi4yNDAzODY2IEM5LjgyNTc5OTAxLDEyLjY3MzA3MjggMTAuMTgxNjM2NCwxMy4zMDExNjU2IDEwLjI2NTQ0MzcsMTMuOTk5MDQ2NiBaIiBpZD0iRmlsbC00Ij48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/action-menu/icon--search.svg" /*!*****************************************************!*\ !*** ./src/components/action-menu/icon--search.svg ***! \*****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5zZWFyY2gtc3ByaXRlLWxpYnJhcnk8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0ic2VhcmNoLXNwcml0ZS1saWJyYXJ5IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cGF0aCBkPSJNOS4wODkyMDMyNSw1LjI4MjQ5NDIyIEMxMS4xNzQ0OTY3LDUuMjgyNDk0MjIgMTIuODk0NDgzMyw2Ljk4NzI1OTcgMTIuODk0NDgzMyw5LjA4Nzc3NDMgQzEyLjg5NDQ4MzMsMTEuMTg4Mjg4OSAxMS4xNzQ0OTY3LDEyLjg5MzA1NDQgOS4wODkyMDMyNSwxMi44OTMwNTQ0IEM2Ljk4ODY4ODY1LDEyLjg5MzA1NDQgNS4yODM5MjMxOCwxMS4xODgyODg5IDUuMjgzOTIzMTgsOS4wODc3NzQzIEM1LjI4MzkyMzE4LDYuOTg3MjU5NyA2Ljk4ODY4ODY1LDUuMjgyNDk0MjIgOS4wODkyMDMyNSw1LjI4MjQ5NDIyIE0xNi42Njc3OTksMTUuMDU0NDUzNSBMMTQuNTQ1OTc0OSwxMi45MzExMDcyIEMxNC4zMDA5MTQ4LDEyLjY4NDUyNSAxNC4yNjc0Mjg0LDEyLjMxMTYwNzYgMTQuNDM0ODYwNywxMi4wMDU2NjMxIEMxNS4yODcyNDM0LDEwLjQyNzIzMjkgMTUuNDk1NzcyOCw4LjQxMzQ3ODY3IDE0LjU3OTQ2MTMsNi40Mzc3NzcyNSBDMTMuODQ3MzI1NSw0Ljg1NjMwMjg1IDEyLjM5OTc5NjksMy42NDQ3MDE2OCAxMC43MTE3NzQ3LDMuMjA5Mzc3NjQgQzYuMjU5NTk2OTksMi4wNjAxODMwNiAyLjMwNjY3MjA1LDUuODE1MjMzNDMgMy4xMDI3MzY2NCwxMC4yMjYzMTQxIEMzLjUwNDU3NDIyLDEyLjQ0ODU5NzcgNS4yMDMyNTEyNCwxNC4zMTkyNzMzIDcuMzc1MzA1MTEsMTQuOTM0MjA2NiBDOS4wNTg3NjEwMSwxNS40MTIxNDk4IDEwLjY3MDY3NzcsMTUuMTUwMzQ2NSAxMS45OTE4NzA5LDE0LjQzMzQzMTcgQzEyLjI5NzgxNTQsMTQuMjY1OTk5NCAxMi42NzIyNTUsMTQuMjk5NDg1OSAxMi45MjAzNTkyLDE0LjU0NDU0NTkgTDE1LjA1NTg4MjQsMTYuNjY3ODkyMiBDMTUuMjY4OTc4MSwxNi44OTYyMDkgMTUuNTU4MTc5NCwxNy4wMDI3NTY5IDE1Ljg2MjYwMTgsMTcuMDAyNzU2OSBDMTYuMTUxODAzMSwxNy4wMDI3NTY5IDE2LjQ0MTAwNDQsMTYuODk2MjA5IDE2LjY2Nzc5OSwxNi42Njc4OTIyIEMxNy4xMTA3MzM3LDE2LjIyNjQ3OTcgMTcuMTEwNzMzNywxNS40OTU4NjU5IDE2LjY2Nzc5OSwxNS4wNTQ0NTM1IiBpZD0ic2VhcmNoIiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/action-menu/icon--sprite.svg" /*!*****************************************************!*\ !*** ./src/components/action-menu/icon--sprite.svg ***! \*****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjIgKDQ3MzI3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5zcHJpdGUtbGlicmFyeTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJzcHJpdGUtbGlicmFyeSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOC41LDIuNSBMMTkuMjUsMi41IEMxOS42NjQyMTM2LDIuNSAyMCwyLjgzNTc4NjQ0IDIwLDMuMjUgQzIwLDMuNjY0MjEzNTYgMTkuNjY0MjEzNiw0IDE5LjI1LDQgTDE4LjUsNCBMMTguNSw0Ljc1IEMxOC41LDUuMTY0MjEzNTYgMTguMTY0MjEzNiw1LjUgMTcuNzUsNS41IEMxNy4zMzU3ODY0LDUuNSAxNyw1LjE2NDIxMzU2IDE3LDQuNzUgTDE3LDQgTDE2LjI1LDQgQzE1LjgzNTc4NjQsNCAxNS41LDMuNjY0MjEzNTYgMTUuNSwzLjI1IEMxNS41LDIuODM1Nzg2NDQgMTUuODM1Nzg2NCwyLjUgMTYuMjUsMi41IEwxNywyLjUgTDE3LDEuNzUgQzE3LDEuMzM1Nzg2NDQgMTcuMzM1Nzg2NCwxIDE3Ljc1LDEgQzE4LjE2NDIxMzYsMSAxOC41LDEuMzM1Nzg2NDQgMTguNSwxLjc1IEwxOC41LDIuNSBaIE0xNS45MjE0MzExLDEyLjM4NzA2OTEgQzE1LjkyMTQzMTEsMTUuNjQwNDkwNSAxMy4yNzI5MjM1LDE3IDEwLjAxOTUwMjIsMTcgQzYuNzY3MzE4LDE3IDQuMTMyNDE3ODcsMTUuNjQwNDkwNSA0LjEzMjQxNzg3LDEyLjM4NzA2OTEgQzQuMTMyNDE3ODcsMTEuNTgyOTkxNSA0LjI2NzI1NTQ4LDEwLjkwMjYxODMgNC41MjgyNzE0MSwxMC4zMzM1Nzg4IEw0LjQyOTMwODAyLDUuNjMyODE3ODQgQzQuNDE2OTM3Niw1LjExMzI2MDA2IDQuOTk4MzQ3NDksNC44MTYzNjk4OSA1LjQxODk0MTg4LDUuMTI1NjMwNDggTDcuOTMwMTM3NzgsNy4wMTgzMDUyOCBDOC41MTE1NDc2Niw2LjcwOTA0NDY5IDkuMjI5MDMyMjEsNi41NzI5NzAwMyAxMC4wMTk1MDIyLDYuNTcyOTcwMDMgQzEwLjgxMjQ0NjQsNi41NzI5NzAwMyAxMS41NDIzMDEzLDYuNzA5MDQ0NjkgMTIuMTIzNzExMiw3LjAxODMwNTI4IEwxNC42MzQ5MDcxLDUuMTI1NjMwNDggQzE1LjA0MzEzMTEsNC44MTYzNjk4OSAxNS42MjQ1NDEsNS4xMTMyNjAwNiAxNS42MjQ1NDEsNS42MzI4MTc4NCBMMTUuNTI1NTc3NiwxMC4zMzM1Nzg4IEMxNS43ODUzNTY1LDEwLjkwMjYxODMgMTUuOTIxNDMxMSwxMS41ODI5OTE1IDE1LjkyMTQzMTEsMTIuMzg3MDY5MSBaIE0xMi41MDYyMDQ3LDE0LjQxNTQ0NzQgQzEyLjY4MDYyNzcsMTQuMjMxMTI4MSAxMi42NTQ2NDk4LDEzLjkzMzAwMDkgMTIuNDU3OTYwMSwxMy43NTk4MTUgQzEyLjI3MjQwMzcsMTMuNTk4OTk5NSAxMS45NzQyNzY1LDEzLjYyMzc0MDMgMTEuODAyMzI3NiwxMy44MjI5MDQxIEMxMS42NjUwMTU5LDEzLjk4MjQ4MjYgMTEuNDY3MDg5MiwxNC4wNjkwNzU2IDExLjI1Njc5MiwxNC4wNjkwNzU2IEMxMC44NjA5Mzg0LDE0LjA2OTA3NTYgMTAuNTI2OTM3LDEzLjc0NzQ0NDUgMTAuNTI2OTM3LDEzLjMzOTIyMDYgTDEwLjUyNjkzNywxMi42NTg4NDczIEMxMS4yNDQ0MjE1LDEyLjQ2MDkyMDUgMTEuNzg4NzIwMiwxMS44NTYwMDY4IDExLjc4ODcyMDIsMTEuNDU4OTE2MiBDMTEuNzg4NzIwMiwxMC45NjQwOTkzIDExLjAwOTM4MzUsMTAuOTY0MDk5MyAxMC4wNjkyMzEzLDEwLjk2NDA5OTMgQzkuMTE3OTQ1ODEsMTAuOTY0MDk5MyA4LjM1MDk3OTU3LDEwLjk2NDA5OTMgOC4zNTA5Nzk1NywxMS40NTg5MTYyIEM4LjM1MDk3OTU3LDExLjg1NjAwNjggOC44NzA1MzczNCwxMi40NjA5MjA1IDkuNTk5MTU1MjcsMTIuNjQ2NDc2OSBMOS41OTkxNTUyNywxMy4zMzkyMjA2IEM5LjU5OTE1NTI3LDEzLjc0NzQ0NDUgOS4yNzg3NjEzMSwxNC4wNjkwNzU2IDguODgxNjcwNzMsMTQuMDY5MDc1NiBDOC42NjAyNDAxNSwxNC4wNjkwNzU2IDguNDYxMDc2MzQsMTMuOTgyNDgyNiA4LjMyNTAwMTY4LDEzLjgyMjkwNDEgQzguMTY0MTg2MTgsMTMuNjIzNzQwMyA3Ljg2NzI5NjAzLDEzLjU5ODk5OTUgNy42NjkzNjkyNiwxMy43NTk4MTUgQzcuNDcyNjc5NTMsMTMuOTMzMDAwOSA3LjQ1OTA3MjA2LDE0LjIzMTEyODEgNy42MjExMjQ2MSwxNC40MTU0NDc0IEM3LjkzMDM4NTE5LDE0Ljc4NjU2MDEgOC4zODY4NTM4LDE0Ljk5Njg1NzMgOC44ODE2NzA3MywxNC45OTY4NTczIEM5LjMzOTM3NjM4LDE0Ljk5Njg1NzMgOS43NTk5NzA3NywxNC44MDAxNjc2IDEwLjA2OTIzMTMsMTQuNDkwOTA3IEMxMC4zNjczNTg1LDE0LjgwMDE2NzYgMTAuNzg2NzE1OSwxNC45OTY4NTczIDExLjI1Njc5MiwxNC45OTY4NTczIEMxMS43NDA0NzU1LDE0Ljk5Njg1NzMgMTIuMTk2OTQ0MSwxNC43ODY1NjAxIDEyLjUwNjIwNDcsMTQuNDE1NDQ3NCBaIiBpZD0iQ29tYmluZWQtU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/action-menu/icon--surprise.svg" /*!*******************************************************!*\ !*** ./src/components/action-menu/icon--surprise.svg ***! \*******************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjIgKDQ3MzI3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5zdXJwcmlzZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJzdXJwcmlzZSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik02Ljk5Mzc1MDM5LDguNjUzMjcxNjcgQzcuODAzNTc0NzgsOC40MzYwMzUyNSA4LjQzNjAzNTI1LDcuODAzNTc0NzggOC42NTMyNzE2Nyw2Ljk5Mzc1MDM5IEw5LjE0ODI0MDczLDUuMTUyNzQwNDUgQzkuMzgzMzUxMDQsNC4yODI0MTk4NSAxMC42MTgwMjM5LDQuMjgyNDE5ODUgMTAuODUxNzU5Myw1LjE1Mjc0MDQ1IEwxMS4zNDgxMDMyLDYuOTkzNzUwMzkgQzExLjU2NTMzOTcsNy44MDM1NzQ3OCAxMi4xOTc4MDAxLDguNDM2MDM1MjUgMTMuMDA2MjQ5Niw4LjY1MzI3MTY3IEwxNC44NDcyNTk1LDkuMTQ4MjQwNzMgQzE1LjcxNzU4MDIsOS4zODMzNTEwNCAxNS43MTc1ODAyLDEwLjYxODAyMzkgMTQuODQ3MjU5NSwxMC44NTMxMzQyIEwxMy4wMDYyNDk2LDExLjM0ODEwMzIgQzEyLjE5NzgwMDEsMTEuNTY1MzM5NyAxMS41NjUzMzk3LDEyLjE5NzgwMDEgMTEuMzQ4MTAzMiwxMy4wMDYyNDk2IEwxMC44NTE3NTkzLDE0Ljg0NzI1OTUgQzEwLjYxODAyMzksMTUuNzE3NTgwMiA5LjM4MzM1MTA0LDE1LjcxNzU4MDIgOS4xNDgyNDA3MywxNC44NDcyNTk1IEw4LjY1MzI3MTY3LDEzLjAwNjI0OTYgQzguNDM2MDM1MjUsMTIuMTk3ODAwMSA3LjgwMzU3NDc4LDExLjU2NTMzOTcgNi45OTM3NTAzOSwxMS4zNDgxMDMyIEw1LjE1Mjc0MDQ1LDEwLjg1MzEzNDIgQzQuMjgyNDE5ODUsMTAuNjE4MDIzOSA0LjI4MjQxOTg1LDkuMzgzMzUxMDQgNS4xNTI3NDA0NSw5LjE0ODI0MDczIEw2Ljk5Mzc1MDM5LDguNjUzMjcxNjcgWiBNMy45MDYxODIzLDE0LjUxMDA4MTcgQzQuMjAwNzk5ODcsMTQuNDMwMDk1IDQuNDMxNDI4MSwxNC4yMDA3OTk5IDQuNTEwMDgxNjUsMTMuOTA2MTgyMyBMNC42OTAwNTE2NiwxMy4yMzY5NjA1IEM0Ljc3NDAzNzY2LDEyLjkyMTAxMzIgNS4yMjMyOTYxMiwxMi45MjEwMTMyIDUuMzA5OTQ4MzQsMTMuMjM2OTYwNSBMNS40ODg1ODUyNCwxMy45MDYxODIzIEM1LjU2ODU3MTksMTQuMjAwNzk5OSA1Ljc5Nzg2NzAyLDE0LjQzMDA5NSA2LjA5MjQ4NDU5LDE0LjUxMDA4MTcgTDYuNzYzMDM5NDksMTQuNjkwMDUxNyBDNy4wNzg5ODY4NCwxNC43NzQwMzc3IDcuMDc4OTg2ODQsMTUuMjIzMjk2MSA2Ljc2MzAzOTQ5LDE1LjMwOTk0ODMgTDYuMDkyNDg0NTksMTUuNDg4NTg1MiBDNS43OTc4NjcwMiwxNS41Njg1NzE5IDUuNTY4NTcxOSwxNS43OTc4NjcgNS40ODg1ODUyNCwxNi4wOTI0ODQ2IEw1LjMwOTk0ODM0LDE2Ljc2MTcwNjQgQzUuMjIzMjk2MTIsMTcuMDc4OTg2OCA0Ljc3NDAzNzY2LDE3LjA3ODk4NjggNC42OTAwNTE2NiwxNi43NjE3MDY0IEw0LjUxMDA4MTY1LDE2LjA5MjQ4NDYgQzQuNDMxNDI4MSwxNS43OTc4NjcgNC4yMDA3OTk4NywxNS41Njg1NzE5IDMuOTA2MTgyMywxNS40ODg1ODUyIEwzLjIzNjk2MDUxLDE1LjMwOTk0ODMgQzIuOTIxMDEzMTYsMTUuMjIzMjk2MSAyLjkyMTAxMzE2LDE0Ljc3NDAzNzcgMy4yMzY5NjA1MSwxNC42OTAwNTE3IEwzLjkwNjE4MjMsMTQuNTEwMDgxNyBaIE0xMy45MDY0ODQ0LDQuNTA5MjUxNTQgQzE0LjIwMTIwMDIsNC40MjkyMzgyMSAxNC40MzA1NzE4LDQuMjAxMjAwMiAxNC41MDkyNTE1LDMuOTA2NDg0NDEgTDE0LjY5MDYxNTEsMy4yMzcwMzk1MSBDMTQuNzc0NjI5MSwyLjkyMDk4NjgzIDE1LjIyNDAzNzMsMi45MjA5ODY4MyAxNS4zMDkzODQ5LDMuMjM3MDM5NTEgTDE1LjQ4OTQxNDksMy45MDY0ODQ0MSBDMTUuNTY4MDk0Nyw0LjIwMTIwMDIgMTUuNzk4Nzk5OCw0LjQyOTIzODIxIDE2LjA5MzUxNTYsNC41MDkyNTE1NCBMMTYuNzYyOTYwNSw0LjY5MDYxNTEgQzE3LjA3OTAxMzIsNC43NzQ2MjkxIDE3LjA3OTAxMzIsNS4yMjQwMzczNCAxNi43NjI5NjA1LDUuMzA5Mzg0OSBMMTYuMDkzNTE1Niw1LjQ4OTQxNDkgQzE1Ljc5ODc5OTgsNS41NjgwOTQ2OCAxNS41NjgwOTQ3LDUuNzk4Nzk5OCAxNS40ODk0MTQ5LDYuMDkyMTgyMDMgTDE1LjMwOTM4NDksNi43NjE2MjY5NCBDMTUuMjI0MDM3Myw3LjA3OTAxMzE3IDE0Ljc3NDYyOTEsNy4wNzkwMTMxNyAxNC42OTA2MTUxLDYuNzYxNjI2OTQgTDE0LjUwOTI1MTUsNi4wOTIxODIwMyBDMTQuNDMwNTcxOCw1Ljc5ODc5OTggMTQuMjAxMjAwMiw1LjU2ODA5NDY4IDEzLjkwNjQ4NDQsNS40ODk0MTQ5IEwxMy4yMzcwMzk1LDUuMzA5Mzg0OSBDMTIuOTIwOTg2OCw1LjIyNDAzNzM0IDEyLjkyMDk4NjgsNC43NzQ2MjkxIDEzLjIzNzAzOTUsNC42OTA2MTUxIEwxMy45MDY0ODQ0LDQuNTA5MjUxNTQgWiBNNS43NSw1Ljc1IEM1Ljc1LDYuMTY0IDUuNDE0LDYuNSA1LDYuNSBDNC41ODYsNi41IDQuMjUsNi4xNjQgNC4yNSw1Ljc1IEM0LjI1LDUuMzM2IDQuNTg2LDUgNSw1IEM1LjQxNCw1IDUuNzUsNS4zMzYgNS43NSw1Ljc1IFogTTE2LDE0LjI1IEMxNiwxNC45NDE2NjY3IDE1LjQ0LDE1LjUgMTQuNzUsMTUuNSBDMTQuMDU4MzMzMywxNS41IDEzLjUsMTQuOTQxNjY2NyAxMy41LDE0LjI1IEMxMy41LDEzLjU2IDE0LjA1ODMzMzMsMTMgMTQuNzUsMTMgQzE1LjQ0LDEzIDE2LDEzLjU2IDE2LDE0LjI1IFoiIGlkPSJzdXJwcmlzZS1pY29uIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/asset-panel/icon--add-backdrop-lib.svg" /*!***************************************************************!*\ !*** ./src/components/asset-panel/icon--add-backdrop-lib.svg ***! \***************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjIgKDQ3MzI3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5iYWNrZHJvcC1saWJyYXJ5PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggZD0iTTE2Ljg5NzA1ODgsMy45ODUyOTQxMiBMMTcuNTU4ODIzNSwzLjk4NTI5NDEyIEMxNy45MjQzMDYxLDMuOTg1Mjk0MTIgMTguMjIwNTg4Miw0LjI4MTU3NjI3IDE4LjIyMDU4ODIsNC42NDcwNTg4MiBDMTguMjIwNTg4Miw1LjAxMjU0MTM4IDE3LjkyNDMwNjEsNS4zMDg4MjM1MyAxNy41NTg4MjM1LDUuMzA4ODIzNTMgTDE2Ljg5NzA1ODgsNS4zMDg4MjM1MyBMMTYuODk3MDU4OCw1Ljk3MDU4ODI0IEMxNi44OTcwNTg4LDYuMzM2MDcwNzkgMTYuNjAwNzc2Nyw2LjYzMjM1Mjk0IDE2LjIzNTI5NDEsNi42MzIzNTI5NCBDMTUuODY5ODExNiw2LjYzMjM1Mjk0IDE1LjU3MzUyOTQsNi4zMzYwNzA3OSAxNS41NzM1Mjk0LDUuOTcwNTg4MjQgTDE1LjU3MzUyOTQsNS4zMDg4MjM1MyBMMTQuOTExNzY0Nyw1LjMwODgyMzUzIEMxNC41NDYyODIyLDUuMzA4ODIzNTMgMTQuMjUsNS4wMTI1NDEzOCAxNC4yNSw0LjY0NzA1ODgyIEMxNC4yNSw0LjI4MTU3NjI3IDE0LjU0NjI4MjIsMy45ODUyOTQxMiAxNC45MTE3NjQ3LDMuOTg1Mjk0MTIgTDE1LjU3MzUyOTQsMy45ODUyOTQxMiBMMTUuNTczNTI5NCwzLjMyMzUyOTQxIEMxNS41NzM1Mjk0LDIuOTU4MDQ2ODYgMTUuODY5ODExNiwyLjY2MTc2NDcxIDE2LjIzNTI5NDEsMi42NjE3NjQ3MSBDMTYuNjAwNzc2NywyLjY2MTc2NDcxIDE2Ljg5NzA1ODgsMi45NTgwNDY4NiAxNi44OTcwNTg4LDMuMzIzNTI5NDEgTDE2Ljg5NzA1ODgsMy45ODUyOTQxMiBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iYmFja2Ryb3AtbGlicmFyeSI+CiAgICAgICAgICAgIDxnIGlkPSJiYWNrZHJvcC1saWItaWNvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy44NTAwMDAsIDQuNjUwMDAwKSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMi4yOTQzOTY0LDguMTMwNjIwNTQgTDkuODM1NTE3MTUsNS41OTc1NDk3OCBDOS40ODQyNDg2OCw1LjIzNTY4MjUzIDguODk4ODAxMjMsNS4xNzUzNzEzMiA4LjQ4ODk4ODAxLDUuNTM3MjM4NTcgTDUuNDQ0NjYxMjgsOC4wMDk5OTgxMyBDNC45NzYzMDMzMiw4LjM3MTg2NTM4IDQuMzMyMzExMTIsOC4zMTE1NTQxNyAzLjk4MTA0MjY1LDcuODI5MDY0NSBMMy42ODgzMTg5Myw3LjQ2NzE5NzI1IEMzLjMzNzA1MDQ2LDYuOTg0NzA3NTggMi42MzQ1MTM1Miw2LjkyNDM5NjM3IDIuMjI0NzAwMzEsNy4yODYyNjM2MiBMMCw5LjE1NTkxMTA5IEwwLDkuMTU1OTExMDkgQzQuODI2ODM4NDNlLTE2LDEwLjAwNzg3NTcgMC42OTA2NTM3NDcsMTAuNjk4NTI5NCAxLjU0MjYxODMyLDEwLjY5ODUyOTQgTDEwLjM1Mjk0MTIsMTAuNjk4NTI5NCBDMTEuNDU3NTEwNywxMC42OTg1Mjk0IDEyLjM1Mjk0MTIsOS44MDMwOTg5MSAxMi4zNTI5NDEyLDguNjk4NTI5NDEgTDEyLjM1Mjk0MTIsOC4xMzA2MjA1NCBMMTIuMjk0Mzk2NCw4LjEzMDYyMDU0IFoiIGlkPSJTaGFwZSIgZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyLjM1Mjk0MTIsMy41Mjk0MTE3NiBMMTIuMzUyOTQxMiw4LjgyMzUyOTQxIEMxMi4zNTI5NDEyLDkuNzk4MTQ5NTYgMTEuNTYyODU1NCwxMC41ODgyMzUzIDEwLjU4ODIzNTMsMTAuNTg4MjM1MyBMMS43NjQ3MDU4OCwxMC41ODgyMzUzIEMwLjc5MDA4NTczNiwxMC41ODgyMzUzIDEuMTkzNTY1NDRlLTE2LDkuNzk4MTQ5NTYgMCw4LjgyMzUyOTQxIEwwLDEuNzY0NzA1ODggQy0xLjE5MzU2NTQ0ZS0xNiwwLjc5MDA4NTczNiAwLjc5MDA4NTczNiw0LjYxOTkyNjkxZS0xNSAxLjc2NDcwNTg4LDQuNDQwODkyMWUtMTUgTDguODIzNTI5NDEsNC40NDA4OTIxZS0xNSIgaWQ9IlJlY3RhbmdsZSI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIGlkPSJDb21iaW5lZC1TaGFwZSI+CiAgICAgICAgICAgICAgICA8dXNlIGZpbGw9IiNGRkZGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMC4xIiBkPSJNMTYuOTQ3MDU4OCwzLjkzNTI5NDEyIEwxNy41NTg4MjM1LDMuOTM1Mjk0MTIgQzE3Ljk1MTkyMDMsMy45MzUyOTQxMiAxOC4yNzA1ODgyLDQuMjUzOTYyMDMgMTguMjcwNTg4Miw0LjY0NzA1ODgyIEMxOC4yNzA1ODgyLDUuMDQwMTU1NjIgMTcuOTUxOTIwMyw1LjM1ODgyMzUzIDE3LjU1ODgyMzUsNS4zNTg4MjM1MyBMMTYuOTQ3MDU4OCw1LjMwODgyMzUzIEwxNi45NDcwNTg4LDUuOTcwNTg4MjQgQzE2Ljk0NzA1ODgsNi4zNjM2ODUwMyAxNi42MjgzOTA5LDYuNjgyMzUyOTQgMTYuMjM1Mjk0MSw2LjY4MjM1Mjk0IEMxNS44NDIxOTczLDYuNjgyMzUyOTQgMTUuNTIzNTI5NCw2LjM2MzY4NTAzIDE1LjUyMzUyOTQsNS45NzA1ODgyNCBMMTUuNTczNTI5NCw1LjM1ODgyMzUzIEwxNC45MTE3NjQ3LDUuMzU4ODIzNTMgQzE0LjUxODY2NzksNS4zNTg4MjM1MyAxNC4yLDUuMDQwMTU1NjIgMTQuMiw0LjY0NzA1ODgyIEMxNC4yLDQuMjUzOTYyMDMgMTQuNTE4NjY3OSwzLjkzNTI5NDEyIDE0LjkxMTc2NDcsMy45MzUyOTQxMiBMMTUuNTIzNTI5NCwzLjk4NTI5NDEyIEwxNS41MjM1Mjk0LDMuMzIzNTI5NDEgQzE1LjUyMzUyOTQsMi45MzA0MzI2MiAxNS44NDIxOTczLDIuNjExNzY0NzEgMTYuMjM1Mjk0MSwyLjYxMTc2NDcxIEMxNi42MjgzOTA5LDIuNjExNzY0NzEgMTYuOTQ3MDU4OCwyLjkzMDQzMjYyIDE2Ljk0NzA1ODgsMy4zMjM1Mjk0MSBMMTYuOTQ3MDU4OCwzLjkzNTI5NDEyIFoiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/asset-panel/icon--add-costume-lib.svg" /*!**************************************************************!*\ !*** ./src/components/asset-panel/icon--add-costume-lib.svg ***! \**************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjIgKDQ3MzI3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5zcHJpdGUtbGlicmFyeTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJzcHJpdGUtbGlicmFyeSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOC41LDIuNSBMMTkuMjUsMi41IEMxOS42NjQyMTM2LDIuNSAyMCwyLjgzNTc4NjQ0IDIwLDMuMjUgQzIwLDMuNjY0MjEzNTYgMTkuNjY0MjEzNiw0IDE5LjI1LDQgTDE4LjUsNCBMMTguNSw0Ljc1IEMxOC41LDUuMTY0MjEzNTYgMTguMTY0MjEzNiw1LjUgMTcuNzUsNS41IEMxNy4zMzU3ODY0LDUuNSAxNyw1LjE2NDIxMzU2IDE3LDQuNzUgTDE3LDQgTDE2LjI1LDQgQzE1LjgzNTc4NjQsNCAxNS41LDMuNjY0MjEzNTYgMTUuNSwzLjI1IEMxNS41LDIuODM1Nzg2NDQgMTUuODM1Nzg2NCwyLjUgMTYuMjUsMi41IEwxNywyLjUgTDE3LDEuNzUgQzE3LDEuMzM1Nzg2NDQgMTcuMzM1Nzg2NCwxIDE3Ljc1LDEgQzE4LjE2NDIxMzYsMSAxOC41LDEuMzM1Nzg2NDQgMTguNSwxLjc1IEwxOC41LDIuNSBaIE0xNS45MjE0MzExLDEyLjM4NzA2OTEgQzE1LjkyMTQzMTEsMTUuNjQwNDkwNSAxMy4yNzI5MjM1LDE3IDEwLjAxOTUwMjIsMTcgQzYuNzY3MzE4LDE3IDQuMTMyNDE3ODcsMTUuNjQwNDkwNSA0LjEzMjQxNzg3LDEyLjM4NzA2OTEgQzQuMTMyNDE3ODcsMTEuNTgyOTkxNSA0LjI2NzI1NTQ4LDEwLjkwMjYxODMgNC41MjgyNzE0MSwxMC4zMzM1Nzg4IEw0LjQyOTMwODAyLDUuNjMyODE3ODQgQzQuNDE2OTM3Niw1LjExMzI2MDA2IDQuOTk4MzQ3NDksNC44MTYzNjk4OSA1LjQxODk0MTg4LDUuMTI1NjMwNDggTDcuOTMwMTM3NzgsNy4wMTgzMDUyOCBDOC41MTE1NDc2Niw2LjcwOTA0NDY5IDkuMjI5MDMyMjEsNi41NzI5NzAwMyAxMC4wMTk1MDIyLDYuNTcyOTcwMDMgQzEwLjgxMjQ0NjQsNi41NzI5NzAwMyAxMS41NDIzMDEzLDYuNzA5MDQ0NjkgMTIuMTIzNzExMiw3LjAxODMwNTI4IEwxNC42MzQ5MDcxLDUuMTI1NjMwNDggQzE1LjA0MzEzMTEsNC44MTYzNjk4OSAxNS42MjQ1NDEsNS4xMTMyNjAwNiAxNS42MjQ1NDEsNS42MzI4MTc4NCBMMTUuNTI1NTc3NiwxMC4zMzM1Nzg4IEMxNS43ODUzNTY1LDEwLjkwMjYxODMgMTUuOTIxNDMxMSwxMS41ODI5OTE1IDE1LjkyMTQzMTEsMTIuMzg3MDY5MSBaIE0xMi41MDYyMDQ3LDE0LjQxNTQ0NzQgQzEyLjY4MDYyNzcsMTQuMjMxMTI4MSAxMi42NTQ2NDk4LDEzLjkzMzAwMDkgMTIuNDU3OTYwMSwxMy43NTk4MTUgQzEyLjI3MjQwMzcsMTMuNTk4OTk5NSAxMS45NzQyNzY1LDEzLjYyMzc0MDMgMTEuODAyMzI3NiwxMy44MjI5MDQxIEMxMS42NjUwMTU5LDEzLjk4MjQ4MjYgMTEuNDY3MDg5MiwxNC4wNjkwNzU2IDExLjI1Njc5MiwxNC4wNjkwNzU2IEMxMC44NjA5Mzg0LDE0LjA2OTA3NTYgMTAuNTI2OTM3LDEzLjc0NzQ0NDUgMTAuNTI2OTM3LDEzLjMzOTIyMDYgTDEwLjUyNjkzNywxMi42NTg4NDczIEMxMS4yNDQ0MjE1LDEyLjQ2MDkyMDUgMTEuNzg4NzIwMiwxMS44NTYwMDY4IDExLjc4ODcyMDIsMTEuNDU4OTE2MiBDMTEuNzg4NzIwMiwxMC45NjQwOTkzIDExLjAwOTM4MzUsMTAuOTY0MDk5MyAxMC4wNjkyMzEzLDEwLjk2NDA5OTMgQzkuMTE3OTQ1ODEsMTAuOTY0MDk5MyA4LjM1MDk3OTU3LDEwLjk2NDA5OTMgOC4zNTA5Nzk1NywxMS40NTg5MTYyIEM4LjM1MDk3OTU3LDExLjg1NjAwNjggOC44NzA1MzczNCwxMi40NjA5MjA1IDkuNTk5MTU1MjcsMTIuNjQ2NDc2OSBMOS41OTkxNTUyNywxMy4zMzkyMjA2IEM5LjU5OTE1NTI3LDEzLjc0NzQ0NDUgOS4yNzg3NjEzMSwxNC4wNjkwNzU2IDguODgxNjcwNzMsMTQuMDY5MDc1NiBDOC42NjAyNDAxNSwxNC4wNjkwNzU2IDguNDYxMDc2MzQsMTMuOTgyNDgyNiA4LjMyNTAwMTY4LDEzLjgyMjkwNDEgQzguMTY0MTg2MTgsMTMuNjIzNzQwMyA3Ljg2NzI5NjAzLDEzLjU5ODk5OTUgNy42NjkzNjkyNiwxMy43NTk4MTUgQzcuNDcyNjc5NTMsMTMuOTMzMDAwOSA3LjQ1OTA3MjA2LDE0LjIzMTEyODEgNy42MjExMjQ2MSwxNC40MTU0NDc0IEM3LjkzMDM4NTE5LDE0Ljc4NjU2MDEgOC4zODY4NTM4LDE0Ljk5Njg1NzMgOC44ODE2NzA3MywxNC45OTY4NTczIEM5LjMzOTM3NjM4LDE0Ljk5Njg1NzMgOS43NTk5NzA3NywxNC44MDAxNjc2IDEwLjA2OTIzMTMsMTQuNDkwOTA3IEMxMC4zNjczNTg1LDE0LjgwMDE2NzYgMTAuNzg2NzE1OSwxNC45OTY4NTczIDExLjI1Njc5MiwxNC45OTY4NTczIEMxMS43NDA0NzU1LDE0Ljk5Njg1NzMgMTIuMTk2OTQ0MSwxNC43ODY1NjAxIDEyLjUwNjIwNDcsMTQuNDE1NDQ3NCBaIiBpZD0iQ29tYmluZWQtU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/asset-panel/icon--add-sound-lib.svg" /*!************************************************************!*\ !*** ./src/components/asset-panel/icon--add-sound-lib.svg ***! \************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjIgKDQ3MzI3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5zb3VuZC1saWJyYXJ5PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9InNvdW5kLWxpYnJhcnkiIGZpbGw9IiNGRkZGRkYiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTcuNzUsMy4yNSBMMTguNSwzLjI1IEMxOC45MTQyMTM2LDMuMjUgMTkuMjUsMy41ODU3ODY0NCAxOS4yNSw0IEMxOS4yNSw0LjQxNDIxMzU2IDE4LjkxNDIxMzYsNC43NSAxOC41LDQuNzUgTDE3Ljc1LDQuNzUgTDE3Ljc1LDUuNSBDMTcuNzUsNS45MTQyMTM1NiAxNy40MTQyMTM2LDYuMjUgMTcsNi4yNSBDMTYuNTg1Nzg2NCw2LjI1IDE2LjI1LDUuOTE0MjEzNTYgMTYuMjUsNS41IEwxNi4yNSw0Ljc1IEwxNS41LDQuNzUgQzE1LjA4NTc4NjQsNC43NSAxNC43NSw0LjQxNDIxMzU2IDE0Ljc1LDQgQzE0Ljc1LDMuNTg1Nzg2NDQgMTUuMDg1Nzg2NCwzLjI1IDE1LjUsMy4yNSBMMTYuMjUsMy4yNSBMMTYuMjUsMi41IEMxNi4yNSwyLjA4NTc4NjQ0IDE2LjU4NTc4NjQsMS43NSAxNywxLjc1IEMxNy40MTQyMTM2LDEuNzUgMTcuNzUsMi4wODU3ODY0NCAxNy43NSwyLjUgTDE3Ljc1LDMuMjUgWiBNMTIuNjMwNzgwMSwxMy42MzcxNDIgQzEyLjQ4MDI4NCwxMy42MzcxNDIgMTIuMzI1NTY4NCwxMy41OTc1NDc3IDEyLjE4NDkxNzgsMTMuNTE0MTE2OSBDMTEuNzY3MTg1NiwxMy4yNjUyMzg1IDExLjYyNzk0MTYsMTIuNzIzNjQ1MiAxMS44NzU0ODY2LDEyLjMwMzY2MyBDMTIuMzQ2NjY2LDExLjUwMDQ2NDYgMTIuMzQ2NjY2LDEwLjUwNDk1MTIgMTEuODc1NDg2Niw5LjcwMzE2NjkxIEMxMS42Mjc5NDE2LDkuMjgxNzcwNTkgMTEuNzY3MTg1Niw4Ljc0MDE3NzMzIDEyLjE4NDkxNzgsOC40OTEyOTg5NiBDMTIuNjA2ODY5NSw4LjI0NTI0ODc2IDEzLjE0NDE1NDcsOC4zODM4Mjg3NiAxMy4zODg4ODY3LDguODAyMzk2OTIgQzE0LjE4NjM3NTQsMTAuMTU5OTE1MyAxNC4xODYzNzU0LDExLjg0NTUwMDYgMTMuMzg4ODg2NywxMy4yMDMwMTg5IEMxMy4yMjU3MzIsMTMuNDgzMDA3MSAxMi45MzE3NzIzLDEzLjYzNzE0MiAxMi42MzA3ODAxLDEzLjYzNzE0MiBaIE0xNS4yNTY2MzYzLDE1LjA1NTMyNDQgQzE1LjEwNjE0MDIsMTUuMDU1MzI0NCAxNC45NTAwMTgsMTUuMDE1NzMwMSAxNC44MTA3NzQsMTQuOTMyMjk5MyBDMTQuMzkzMDQxOCwxNC42ODM0MjEgMTQuMjUzNzk3NywxNC4xNDE4Mjc3IDE0LjUwMTM0MjcsMTMuNzIxODQ1NSBDMTUuNDg3MzAzMiwxMi4wNDQ3NDQ3IDE1LjQ4NzMwMzIsOS45NjAzODgzNiAxNC41MDEzNDI3LDguMjg0NzAxNjQgQzE0LjI1Mzc5NzcsNy44NjQ3MTk0IDE0LjM5MzA0MTgsNy4zMjE3MTIwNiAxNC44MTA3NzQsNy4wNzI4MzM2OSBDMTUuMjI5OTEyNiw2LjgyODE5NzU3IDE1Ljc2NzE5NzgsNi45NjUzNjM0OSAxNi4wMTQ3NDI4LDcuMzgzOTMxNjUgQzE3LjMyODQxOTEsOS42MTUzNTI0NCAxNy4zMjg0MTkxLDEyLjM4OTc4MDYgMTYuMDE0NzQyOCwxNC42MjEyMDE0IEMxNS44NTAxODE2LDE0LjkwMTE4OTUgMTUuNTU3NjI4NSwxNS4wNTUzMjQ0IDE1LjI1NjYzNjMsMTUuMDU1MzI0NCBaIE0xMC4zNzg1Mjg2LDYuNjc4NTg3NzQgTDEwLjM3ODUyODYsMTUuMzIwMDQwNSBDMTAuMzc4NTI4NiwxNi4zNDM4MzU2IDkuMTcxNzQ2NzYsMTYuODc5NzcyNSA4LjQxOTI2NjI0LDE2LjE4OTcwMDcgTDYuNzk0NzUyMjMsMTQuNjk3ODQ0NiBDNi4yMTk0OTE0MiwxNC4xNzAzOTIxIDUuNDY5ODIzOTEsMTMuODc3Njc3MyA0LjY5MDYxOTc4LDEzLjg3NzY3NzMgTDQuNDA2NTA1NjQsMTMuODc3Njc3MyBDMy42MzAxMTQ1MywxMy44Nzc2NzczIDMsMTMuMjQ1NTgyOCAzLDEyLjQ2MzU5NTYgTDMsOS41NTA1ODc1IEMzLDguNzcwMDE0NDUgMy42MzAxMTQ1Myw4LjEzNjUwNTg5IDQuNDA2NTA1NjQsOC4xMzY1MDU4OSBMNC42NzUxNDgyMiw4LjEzNjUwNTg5IEM1LjQ1NDM1MjM1LDguMTM2NTA1ODkgNi4yMDQwMTk4Niw3Ljg0Mzc5MDk5IDYuNzc5MjgwNjYsNy4zMTYzMzg1NSBMOC40MTkyNjYyNCw1LjgxMDM0MTYzIEM5LjE3MTc0Njc2LDUuMTIwMjY5OCAxMC4zNzg1Mjg2LDUuNjU2MjA2NzMgMTAuMzc4NTI4Niw2LjY3ODU4Nzc0IFoiIGlkPSJDb21iaW5lZC1TaGFwZSI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/asset-panel/icon--add-sound-record.svg" /*!***************************************************************!*\ !*** ./src/components/asset-panel/icon--add-sound-record.svg ***! \***************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjIgKDQ3MzI3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5yZWNvcmQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0icmVjb3JkIiBmaWxsPSIjRkZGRkZGIj4KICAgICAgICAgICAgPHBhdGggZD0iTTE1LjkzNjUwMDYsMTEuMTQ4MzgxIEMxNS4wMzY5NzA3LDEzLjMzMzIyODUgMTMuMDUxODAxMSwxNC44MjY0Njk3IDEwLjc3MTk1OCwxNS4xMDkzOTk2IEwxMC43NzE5NTgsMTcuMjE0MDgzNiBDMTAuNzcxOTU4LDE3LjY1NTc2ODYgMTAuNDMwNzU3LDE4IDkuOTk2NTAxMTYsMTggQzkuNTYyMjQ1MzMsMTggOS4yMjEwNDQzMiwxNy42NTU3Njg2IDkuMjIxMDQ0MzIsMTcuMjE0MDgzNiBMOS4yMjEwNDQzMiwxNS4xMDkzOTk2IEM2Ljk1NjcxMDMzLDE0LjgyNjQ2OTcgNC45NzMwOTE3MSwxMy4zNDczNzUgNC4wNTY1MDE3MiwxMS4xNzk4MTc3IEMzLjkwMTQxMDM1LDEwLjc4Njg1OTUgNC4wNzM1NjE3NywxMC4zMTUzMDk3IDQuNDc1MjQ4NDIsMTAuMTU4MTI2NCBDNC44NjI5NzY4NCw5Ljk4NTIyNDc3IDUuMzI4MjUwOTUsMTAuMTU4MTI2NCA1LjQ4MzM0MjMyLDEwLjU2NjgwMjkgQzYuMjU4Nzk5MTYsMTIuMzkwMTI4OSA4LjAyNjg0MDc3LDEzLjU4NDcyMTggOS45OTY1MDExNiwxMy41ODQ3MjE4IEMxMS45NjYxNjE2LDEzLjU4NDcyMTggMTMuNzQ5NzEyMywxMi4zOTAxMjg5IDE0LjUwOTY2LDEwLjUzMzc5NDQgQzE0LjY4MDI2MDUsMTAuMTQwODM2MiAxNS4xNDU1MzQ2LDkuOTUzNzg4MTIgMTUuNTMzMjYzLDEwLjEyNjY4OTcgQzE1LjkyMDk5MTUsMTAuMjk5NTkxMyAxNi4xMDcxMDExLDEwLjc1NTQyMjggMTUuOTM2NTAwNiwxMS4xNDgzODEgWiBNNy4yODIyNDcxMSw4LjY0NjkyOTgyIEw3LjI4MjI0NzExLDQuNjg2NDAzNTEgQzcuMjgyMjQ3MTEsMy4xOTczNjg0MiA4LjQ3MDAzNTQ4LDIgOS45MTM0MjM4OCwyIEMxMS4zNzE4NDc2LDIgMTIuNTQ0NjAwNywzLjE5NzM2ODQyIDEyLjU0NDYwMDcsNC42ODY0MDM1MSBMMTIuNTQ0NjAwNyw4LjY0NjkyOTgyIEMxMi41NDQ2MDA3LDEwLjEyMDYxNCAxMS4zNzE4NDc2LDExLjMzMzMzMzMgOS45MTM0MjM4OCwxMS4zMzMzMzMzIEM4LjQ3MDAzNTQ4LDExLjMzMzMzMzMgNy4yODIyNDcxMSwxMC4xMjA2MTQgNy4yODIyNDcxMSw4LjY0NjkyOTgyIFoiIGlkPSJyZWNvcmQtaWNvbiI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/asset-panel/icon--sound-rtl.svg" /*!********************************************************!*\ !*** ./src/components/asset-panel/icon--sound-rtl.svg ***! \********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA1MS4yICg1NzUxOSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+QXJ0Ym9hcmQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNNjMuMTUzOTAwNiw2NS42ODU3MDk4IEM2Mi40MDE0Miw2NS42ODU3MDk4IDYxLjYyNzg0MTksNjUuNDg3NzM4NCA2MC45MjQ1ODkxLDY1LjA3MDU4NDMgQzU4LjgzNTkyODIsNjMuODI2MTkyNSA1OC4xMzk3MDc5LDYxLjExODIyNjIgNTkuMzc3NDMyOSw1OS4wMTgzMTUgQzYxLjczMzMyOTksNTUuMDAyMzIzMiA2MS43MzMzMjk5LDUwLjAyNDc1NTkgNTkuMzc3NDMyOSw0Ni4wMTU4MzQ2IEM1OC4xMzk3MDc5LDQzLjkwODg1MjkgNTguODM1OTI4Miw0MS4yMDA4ODY2IDYwLjkyNDU4OTEsMzkuOTU2NDk0OCBDNjMuMDM0MzQ3NiwzOC43MjYyNDM4IDY1LjcyMDc3MzQsMzkuNDE5MTQzOCA2Ni45NDQ0MzMzLDQxLjUxMTk4NDYgQzcwLjkzMTg3NjgsNDguMjk5NTc2NCA3MC45MzE4NzY4LDU2LjcyNzUwMjggNjYuOTQ0NDMzMyw2My41MTUwOTQ2IEM2Ni4xMjg2Niw2NC45MTUwMzU0IDY0LjY1ODg2MTYsNjUuNjg1NzA5OCA2My4xNTM5MDA2LDY1LjY4NTcwOTggWiBNNzYuMjgzMTgxMyw3Mi43NzY2MjIxIEM3NS41MzA3MDA4LDcyLjc3NjYyMjEgNzQuNzUwMDkwMSw3Mi41Nzg2NTA3IDc0LjA1Mzg2OTgsNzIuMTYxNDk2NiBDNzEuOTY1MjA5LDcwLjkxNzEwNDggNzEuMjY4OTg4Nyw2OC4yMDkxMzg1IDcyLjUwNjcxMzYsNjYuMTA5MjI3MyBDNzcuNDM2NTE1OSw1Ny43MjM3MjMzIDc3LjQzNjUxNTksNDcuMzAxOTQxOCA3Mi41MDY3MTM2LDM4LjkyMzUwODIgQzcxLjI2ODk4ODcsMzYuODIzNTk3IDcxLjk2NTIwOSwzNC4xMDg1NjAzIDc0LjA1Mzg2OTgsMzIuODY0MTY4NSBDNzYuMTQ5NTYzMiwzMS42NDA5ODc5IDc4LjgzNTk4OSwzMi4zMjY4MTc1IDgwLjA3MzcxNCwzNC40MTk2NTgzIEM4Ni42NDIwOTUzLDQ1LjU3Njc2MjIgODYuNjQyMDk1Myw1OS40NDg5MDI5IDgwLjA3MzcxNCw3MC42MDYwMDY4IEM3OS4yNTA5MDgyLDcyLjAwNTk0NzYgNzcuNzg4MTQyMyw3Mi43NzY2MjIxIDc2LjI4MzE4MTMsNzIuNzc2NjIyMSBaIE01MS44OTI2NDMsMzAuODkyOTM4NyBMNTEuODkyNjQzLDc0LjEwMDIwMjUgQzUxLjg5MjY0Myw3OS4yMTkxNzggNDUuODU4NzMzOCw4MS44OTg4NjI2IDQyLjA5NjMzMTIsNzguNDQ4NTAzNSBMMzMuOTczNzYxMSw3MC45ODkyMjI5IEMzMS4wOTc0NTcxLDY4LjM1MTk2MDcgMjcuMzQ5MTE5NSw2Ni44ODgzODYzIDIzLjQ1MzA5ODksNjYuODg4Mzg2MyBMMjIuMDMyNTI4Miw2Ni44ODgzODYzIEMxOC4xNTA1NzI2LDY2Ljg4ODM4NjMgMTUsNjMuNzI3OTEzOCAxNSw1OS44MTc5NzgyIEwxNSw0NS4yNTI5Mzc1IEMxNSw0MS4zNTAwNzIzIDE4LjE1MDU3MjYsMzguMTgyNTI5NCAyMi4wMzI1MjgyLDM4LjE4MjUyOTQgTDIzLjM3NTc0MTEsMzguMTgyNTI5NCBDMjcuMjcxNzYxNywzOC4xODI1Mjk0IDMxLjAyMDA5OTMsMzYuNzE4OTU1IDMzLjg5NjQwMzMsMzQuMDgxNjkyNyBMNDIuMDk2MzMxMiwyNi41NTE3MDgxIEM0NS44NTg3MzM4LDIzLjEwMTM0OSA1MS44OTI2NDMsMjUuNzgxMDMzNyA1MS44OTI2NDMsMzAuODkyOTM4NyBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0iQXJ0Ym9hcmQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJFZGl0b3ItVGFicy9Tb3VuZHMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwLjAwMDAwMCwgNTAuMDAwMDAwKSBzY2FsZSgtMSwgMSkgdHJhbnNsYXRlKC01MC4wMDAwMDAsIC01MC4wMDAwMDApICI+CiAgICAgICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgIDwvbWFzaz4KICAgICAgICAgICAgPHVzZSBpZD0ic291bmQiIGZpbGw9IiM0Qzk3RkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgIDxnIGlkPSJDb2xvci9HcmF5IiBtYXNrPSJ1cmwoI21hc2stMikiIGZpbGw9IiM1NzVFNzUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iQ29sb3IiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/asset-panel/icon--sound.svg" /*!****************************************************!*\ !*** ./src/components/asset-panel/icon--sound.svg ***! \****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAyMCAyMCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNDkuMyAoNTExNjcpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPlNvdW5kPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlNvdW5kIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cGF0aCBkPSJNMTIuNDc4NTA1OCwxMi42NjY2NjY3IEMxMi4zMTQ0OTQ3LDEyLjY2NjY2NjcgMTIuMTQ1ODg1MiwxMi42MjcyMDQ0IDExLjk5MjYwMzgsMTIuNTQ0MDUxNyBDMTEuNTM3MzU4LDEyLjI5NjAwMzEgMTEuMzg1NjA5NCwxMS43NTYyMTU2IDExLjY1NTM4NDcsMTEuMzM3NjMzNSBDMTIuMTY4ODc3NCwxMC41MzcxMTMxIDEyLjE2ODg3NzQsOS41NDQ5MTg2NyAxMS42NTUzODQ3LDguNzQ1ODA3NTYgQzExLjM4NTYwOTQsOC4zMjU4MTYxOCAxMS41MzczNTgsNy43ODYwMjg2MSAxMS45OTI2MDM4LDcuNTM3OTgwMDEgQzEyLjQ1MjQ0OCw3LjI5Mjc1MDE0IDEzLjAzNzk4MjksNy40MzA4NjgxMSAxMy4zMDQ2OTI2LDcuODQ4MDQwNzYgQzE0LjE3Mzc5ODEsOS4yMDEwMzMxMSAxNC4xNzM3OTgxLDEwLjg4MDk5ODYgMTMuMzA0NjkyNiwxMi4yMzM5OTEgQzEzLjEyNjg4NjIsMTIuNTEzMDQ1NyAxMi44MDY1MjgsMTIuNjY2NjY2NyAxMi40Nzg1MDU4LDEyLjY2NjY2NjcgWiBNMTUuMzgwNjc4NCwxMy44MzMzMzMzIEMxNS4yNDA4OTAyLDEzLjgzMzMzMzMgMTUuMDk1ODc2MywxMy43OTYyODEgMTQuOTY2NTM5NiwxMy43MTgyMDY0IEMxNC41Nzg1Mjk1LDEzLjQ4NTMwNiAxNC40NDkxOTI4LDEyLjk3ODQ4MjkgMTQuNjc5MTI0NywxMi41ODU0NjM0IEMxNS41OTQ5MzMxLDExLjAxNjAzMjEgMTUuNTk0OTMzMSw5LjA2NTQ5MSAxNC42NzkxMjQ3LDcuNDk3MzgyOTkgQzE0LjQ0OTE5MjgsNy4xMDQzNjM1MiAxNC41Nzg1Mjk1LDYuNTk2MjE3MTIgMTQuOTY2NTM5Niw2LjM2MzMxNjY5IEMxNS4zNTU4NTYyLDYuMTM0Mzg2MTYgMTUuODU0OTEyOSw2LjI2Mjc0NjA1IDE2LjA4NDg0NDgsNi42NTQ0NDIyMyBDMTcuMzA1MDUxNyw4Ljc0MjYwNjMyIDE3LjMwNTA1MTcsMTEuMzM4OTE2OCAxNi4wODQ4NDQ4LDEzLjQyNzA4MDkgQzE1LjkzMTk5MjQsMTMuNjg5MDkzOSAxNS42NjAyNTQ3LDEzLjgzMzMzMzMgMTUuMzgwNjc4NCwxMy44MzMzMzMzIFogTTEwLjMwNDM0NzgsNS42MjUwMTU1NyBMMTAuMzA0MzQ3OCwxMy44NzM2NzUgQzEwLjMwNDM0NzgsMTQuODUwOTM0IDkuMTA5Njk4NDksMTUuMzYyNTEwMSA4LjM2NDc4MzExLDE0LjcwMzgwNTIgTDYuNzU2NjAxMywxMy4yNzk3NjA3IEM2LjE4NzEyMzk0LDEyLjc3NjI4MzQgNS40NDQ5OTMyOSwxMi40OTY4NzM3IDQuNjczNjIyOTcsMTIuNDk2ODczNyBMNC4zOTIzNjUyLDEyLjQ5Njg3MzcgQzMuNjIzNzc5NjEsMTIuNDk2ODczNyAzLDExLjg5MzUxMDggMywxMS4xNDcwNjg2IEwzLDguMzY2NDY5ODkgQzMsNy42MjEzNzc0MyAzLjYyMzc3OTYxLDcuMDE2NjY0NzEgNC4zOTIzNjUyLDcuMDE2NjY0NzEgTDQuNjU4MzA2OTUsNy4wMTY2NjQ3MSBDNS40Mjk2NzcyNyw3LjAxNjY2NDcxIDYuMTcxODA3OTIsNi43MzcyNTUwNCA2Ljc0MTI4NTI5LDYuMjMzNzc3NzEgTDguMzY0NzgzMTEsNC43OTYyMzUxOSBDOS4xMDk2OTg0OSw0LjEzNzUzMDI2IDEwLjMwNDM0NzgsNC42NDkxMDY0MyAxMC4zMDQzNDc4LDUuNjI1MDE1NTcgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlIiBmaWxsPSIjNTc1RTc1Ij48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/audio-trimmer/icon--handle.svg" /*!*******************************************************!*\ !*** ./src/components/audio-trimmer/icon--handle.svg ***! \*******************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzRweCIgaGVpZ2h0PSIzNHB4IiB2aWV3Qm94PSIxIDEgMzMgMzMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU1LjIgKDc4MTgxKSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT5Cb3R0b20gTGVmdCBIYW5kbGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMTcsNSBDMjMuNjI3NDE3LDUgMjksMTAuMzcyNTgzIDI5LDE3IEwyOSwyOSBMMTcsMjkgQzEwLjM3MjU4MywyOSA1LDIzLjYyNzQxNyA1LDE3IEM1LDEwLjM3MjU4MyAxMC4zNzI1ODMsNSAxNyw1IFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJCb3R0b20tTGVmdC1IYW5kbGUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJCb3R0b20tTGVmdCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTcuMDAwMDAwLCAxNy4wMDAwMDApIHNjYWxlKDEsIC0xKSB0cmFuc2xhdGUoLTE3LjAwMDAwMCwgLTE3LjAwMDAwMCkgIj4KICAgICAgICAgICAgPHVzZSBzdHJva2U9IiM4NTVDRDYzMyIgc3Ryb2tlLXdpZHRoPSI4IiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgPHVzZSBzdHJva2U9IiM2MDM1YjQiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzg1NUNENiIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/browser-modal/unsupported-browser.svg" /*!**************************************************************!*\ !*** ./src/components/browser-modal/unsupported-browser.svg ***! \**************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyMDBweCIKCSBoZWlnaHQ9IjE1MHB4IiB2aWV3Qm94PSIwIDAgMjAwIDE1MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAwIDE1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtvcGFjaXR5OjAuMTtmaWxsOiMyMzFGMjA7c3Ryb2tlOiMyMzFGMjA7c3Ryb2tlLXdpZHRoOjEyO3N0cm9rZS1taXRlcmxpbWl0OjEwO30KCS5zdDF7ZmlsbDojRkZGRkZGO3N0cm9rZTojN0Y4Q0E1O3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjEwO30KCS5zdDJ7ZmlsbDojQkZDNkQ0O3N0cm9rZTojN0Y4Q0E1O3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjEwO30KCS5zdDN7ZmlsbDojRkZGRkZGO30KCS5zdDR7b3BhY2l0eTowLjI1O30KCS5zdDV7ZmlsbDojMjMxRjIwO30KCS5zdDZ7b3BhY2l0eTowLjE1O30KCS5zdDd7ZmlsbDpub25lO3N0cm9rZTojMjMxRjIwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9Cgkuc3Q4e2ZpbGw6IzdGOUJENDt9Cjwvc3R5bGU+CjxnIGlkPSJMYXllcl8xIj4KPC9nPgo8ZyBpZD0iVW5zdXBwb3J0ZWRfTWFzayI+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE4NiwxNDBIMTRjLTIuMjEsMC00LTEuNzktNC00VjE0YzAtMi4yMSwxLjc5LTQsNC00aDE3MmMyLjIxLDAsNCwxLjc5LDQsNHYxMjIKCQkJCUMxOTAsMTM4LjIxLDE4OC4yMSwxNDAsMTg2LDE0MHoiLz4KCQkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTE4NiwxNDBIMTRjLTIuMjEsMC00LTEuNzktNC00VjE0YzAtMi4yMSwxLjc5LTQsNC00aDE3MmMyLjIxLDAsNCwxLjc5LDQsNHYxMjIKCQkJCUMxOTAsMTM4LjIxLDE4OC4yMSwxNDAsMTg2LDE0MHoiLz4KCQkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE5MCwzMEgxMFYxNGMwLTIuMjEsMS43OS00LDQtNGgxNzJjMi4yMSwwLDQsMS43OSw0LDRWMzB6Ii8+CgkJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNzkuNSwyNGgtMTI4Yy0yLjIxLDAtNC0xLjc5LTQtNHYwYzAtMi4yMSwxLjc5LTQsNC00aDEyOGMyLjIxLDAsNCwxLjc5LDQsNHYwCgkJCQlDMTgzLjUsMjIuMjEsMTgxLjcxLDI0LDE3OS41LDI0eiIvPgoJCQk8ZyBjbGFzcz0ic3Q0Ij4KCQkJCTxwYXRoIGNsYXNzPSJzdDUiIGQ9Ik0yNC4wOSwyMC4yMmMtMC4wOCwwLjM4LTAuMzgsMC42NS0wLjcyLDAuNzJsLTIuODcsMC42NnYxLjc3YzAsMC40NC0wLjU1LDAuNjYtMC44NywwLjM2bC0zLjM2LTMuMzgKCQkJCQljLTAuMjEtMC4xOS0wLjIxLTAuNTEsMC0wLjdsMy4zNi0zLjM4YzAuMzItMC4zMiwwLjg3LTAuMDksMC44NywwLjM2djEuOGwyLjg3LDAuNjVDMjMuODgsMTkuMiwyNC4yLDE5LjcxLDI0LjA5LDIwLjIyeiIvPgoJCQk8L2c+CgkJCTxnIGNsYXNzPSJzdDQiPgoJCQkJPHBhdGggY2xhc3M9InN0NSIgZD0iTTMwLjYyLDE5Ljc4YzAuMDgtMC4zOCwwLjM4LTAuNjUsMC43Mi0wLjcybDIuODctMC42NnYtMS43N2MwLTAuNDQsMC41NS0wLjY2LDAuODctMC4zNmwzLjM2LDMuMzgKCQkJCQljMC4yMSwwLjE5LDAuMjEsMC41MSwwLDAuN2wtMy4zNiwzLjM4Yy0wLjMyLDAuMzItMC44NywwLjA5LTAuODctMC4zNnYtMS44bC0yLjg3LTAuNjVDMzAuODMsMjAuOCwzMC41LDIwLjI5LDMwLjYyLDE5Ljc4eiIvPgoJCQk8L2c+CgkJCTxnIGNsYXNzPSJzdDYiPgoJCQkJPGxpbmUgY2xhc3M9InN0NyIgeDE9IjY5Ljg5IiB5MT0iMjAiIHgyPSI1MS40MyIgeTI9IjIwIi8+CgkJCQk8bGluZSBjbGFzcz0ic3Q3IiB4MT0iMTEzLjc0IiB5MT0iMjAiIHgyPSI5OC40IiB5Mj0iMjAiLz4KCQkJCTxsaW5lIGNsYXNzPSJzdDciIHgxPSI5My45IiB5MT0iMjAiIHgyPSI3NC4wMiIgeTI9IjIwIi8+CgkJCTwvZz4KCQk8L2c+CgkJPGc+CgkJCTxjaXJjbGUgY2xhc3M9InN0OCIgY3g9Ijg5LjYxIiBjeT0iNzMuNDYiIHI9IjMuODUiLz4KCQkJPGNpcmNsZSBjbGFzcz0ic3Q4IiBjeD0iMTEwLjM5IiBjeT0iNzMuNDYiIHI9IjMuODUiLz4KCQkJPGc+CgkJCQk8cGF0aCBjbGFzcz0ic3Q4IiBkPSJNODMuMDYsOTQuODRjMS4wMi0zLjM5LDMuNTQtNi4zLDYuNi04LjE5YzMuMDctMS45NCw2LjcyLTIuOSwxMC4zNC0yLjkxYzMuNjEsMC4wMSw3LjI3LDAuOTcsMTAuMzMsMi45MQoJCQkJCWMzLjA2LDEuODksNS41OCw0LjgsNi42LDguMTljMC4xNiwwLjUzLTAuMTQsMS4xLTAuNjgsMS4yNmMtMC40LDAuMTItMC44My0wLjAyLTEuMDgtMC4zM2wtMC4wMi0wLjAzCgkJCQkJYy0zLjg1LTQuNzUtOS41LTctMTUuMTctNy4wMWMtNS42NywwLjAxLTExLjMyLDIuMjUtMTUuMTYsNy4wMWwtMC4wMiwwLjAyYy0wLjM1LDAuNDMtMC45OSwwLjUtMS40MiwwLjE1CgkJCQkJQzgzLjA2LDk1LjY2LDgyLjk1LDk1LjIzLDgzLjA2LDk0Ljg0eiIvPgoJCQk8L2c+CgkJPC9nPgoJPC9nPgo8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/cards/icon--close.svg" /*!**********************************************!*\ !*** ./src/components/cards/icon--close.svg ***! \**********************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUzLjIgKDcyNjQzKSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT5FeHRlbnNpb25zL0Nvbm5lY3Rpb24vQ2xvc2U8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMTUuNDY0OTM1LDE1LjQ2NzI5NyBDMTQuNzY0NDA1OSwxNi4xNzc3NzA1IDEzLjYxODU4NzcsMTYuMTc3NzcwNSAxMi45MDgxMTQyLDE1LjQ2NzI5NyBMOS45OTg4MTg5OSwxMi41NTgwMDE4IEw3LjA4ODQxODg1LDE1LjQ2NzI5NyBDNi4zODIzNjUwNiwxNi4xNzMzNTA4IDUuMjM3NjUxODcsMTYuMTczMzUwOCA0LjUzMTU5ODA3LDE1LjQ2NzI5NyBDNC4xNzkxMjM2NCwxNS4xMTQ4MjI2IDQuMDAwMTI0MDksMTQuNjQ4NTM5OCA0LjAwMDEyNDA5LDE0LjE4ODg4NjYgQzQuMDAwMTI0MDksMTMuNzI4MTI4NSA0LjE3OTEyMzY0LDEzLjI2Mjk1MDYgNC41MzE1OTgwNywxMi45MTA0NzYyIEw3LjQ0MDg5MzI4LDEwLjAwMTE4MSBMNC41MjcxNzgzMyw3LjA4NjM2MTEyIEM0LjE3MzU5ODk3LDYuNzMyNzgxNzYgMy45OTQ1OTk0MSw2LjI2NzYwMzkxIDQuMDAwMTI0MDksNS44MDI0MjYwNiBDNC4wMDAxMjQwOSw1LjM0MTY2Nzk1IDQuMTczNTk4OTcsNC44ODIwMTQ3NyA0LjUyNzE3ODMzLDQuNTI5NTQwMzQgQzUuMjMyMTI3MTksMy44MjM0ODY1NSA2LjM3Njg0MDM4LDMuODIzNDg2NTUgNy4wODM5OTkxMSw0LjUyOTU0MDM0IEw5Ljk5ODgxODk5LDcuNDQzMjU1MjkgTDEyLjkxMjUzMzksNC41Mjk1NDAzNCBDMTMuNjE4NTg3NywzLjgyMzQ4NjU1IDE0Ljc2NDQwNTksMy44MjM0ODY1NSAxNS40NzA0NTk3LDQuNTI5NTQwMzQgQzE2LjE3NjUxMzQsNS4yMzQ0ODkyIDE2LjE3NjUxMzQsNi4zODAzMDczMyAxNS40NzA0NTk3LDcuMDg2MzYxMTIgTDEyLjU1NDUzNDgsMTAuMDAxMTgxIEwxNS40NzA0NTk3LDEyLjkxNDg5NiBDMTYuMTc2NTEzNCwxMy42MjA5NDk3IDE2LjE3NjUxMzQsMTQuNzU1NzE4NSAxNS40NjQ5MzUsMTUuNDY3Mjk3IiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0iRXh0ZW5zaW9ucy9Db25uZWN0aW9uL0Nsb3NlIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgPC9tYXNrPgogICAgICAgIDx1c2UgaWQ9ImNsb3NlIiBmaWxsPSIjRkZGRkZGIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICA8ZyBpZD0iV2hpdGUiIG1hc2s9InVybCgjbWFzay0yKSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgIDxyZWN0IGlkPSJDb2xvciIgeD0iMCIgeT0iMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48L3JlY3Q+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/cards/icon--expand.svg" /*!***********************************************!*\ !*** ./src/components/cards/icon--expand.svg ***! \***********************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUzLjIgKDcyNjQzKSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT5UdXRvcmlhbHMvRXhwYW5kPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggZD0iTTQuNSwyIEwxNS41LDIgQzE2Ljg4MDcxMTksMiAxOCwzLjExOTI4ODEzIDE4LDQuNSBMMTgsNS41IEMxOCw1Ljc3NjE0MjM3IDE3Ljc3NjE0MjQsNiAxNy41LDYgTDIuNSw2IEMyLjIyMzg1NzYzLDYgMiw1Ljc3NjE0MjM3IDIsNS41IEwyLDQuNSBDMiwzLjExOTI4ODEzIDMuMTE5Mjg4MTMsMiA0LjUsMiBaIE0yLjUsNyBMMTcuNSw3IEMxNy43NzYxNDI0LDcgMTgsNy4yMjM4NTc2MyAxOCw3LjUgTDE4LDE1LjUgQzE4LDE2Ljg4MDcxMTkgMTYuODgwNzExOSwxOCAxNS41LDE4IEw0LjUsMTggQzMuMTE5Mjg4MTMsMTggMiwxNi44ODA3MTE5IDIsMTUuNSBMMiw3LjUgQzIsNy4yMjM4NTc2MyAyLjIyMzg1NzYzLDcgMi41LDcgWiBNOS42NTUwOTQ2NiwxNS4xNjM2MTQ2IEM5Ljc0NTQxNiwxNS4yNTMzNTY5IDkuODY3MDAyNDEsMTUuMzAzMTQ5NSA5Ljk5NzI3MzU3LDE1LjMwMzE0OTUgQzEwLjEyNzU0NDcsMTUuMzAzMTQ5NSAxMC4yNDkxMzExLDE1LjI1MzM1NjkgMTAuMzM5NDUyNSwxNS4xNjM2MTQ2IEwxMi4xNTc0NTg4LDEzLjM0NTYwODIgQzEyLjMwMDQ2NzYsMTMuMjAyNTk5NCAxMi4zNDE1NzU0LDEyLjk5OTM3NjQgMTIuMjY1NzI4NiwxMi44MTU4Mzg4IEMxMi4xODk4ODE5LDEyLjYzMzQ1OTIgMTIuMDEwOTc2MiwxMi41MTUzNDY3IDExLjgxMDA2OTEsMTIuNTE1MzQ2NyBMMTEuMTUwNjA3NSwxMi41MTUzNDY3IEwxMC43ODk5MDEyLDkuOTg4MDg2MjUgQzEwLjc0NjQ3NzUsOS42NDQ3NDkzOCAxMC40NzAzMDI2LDkuMzY1Njc5NjEgMTAuMTEyNDkxMiw5LjMwOTUxODI3IEMxMC4wNzgzMzEyLDkuMzA1NDY1MzkgMTAuMDQzNTkyMiw5LjMwMzE0OTQ2IDEwLjAwOTQzMjIsOS4zMDMxNDk0NiBDOS42MTI4Mjg5MSw5LjMwMzE0OTQ2IDkuMjc1ODYwODUsOS41OTc4NTE3NiA5LjIyNTQ4OTMzLDkuOTg1MTkxMzQgTDguODc0MDQ2NywxMi41MTUzNDY3IEw4LjE4NDQ3ODA0LDEyLjUxNTM0NjcgQzcuOTg1ODg2OSwxMi41MTUzNDY3IDcuODE0NTA3OTYsMTIuNjI2NTExNCA3LjczNjkyNDI1LDEyLjgwNjU3NTEgQzcuNjU4NzYxNTUsMTIuOTg2NjM4OCA3LjY5NjM5NTQ0LDEzLjE5NjIzMDYgNy44MzcwODgyOSwxMy4zNDU2MDgyIEw5LjY1NTA5NDY2LDE1LjE2MzYxNDYgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IlR1dG9yaWFscy9FeHBhbmQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICA8L21hc2s+CiAgICAgICAgPGcgaWQ9IkNvbWJpbmVkLVNoYXBlIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvZz4KICAgICAgICA8ZyBpZD0iV2hpdGUiIG1hc2s9InVybCgjbWFzay0yKSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgIDxyZWN0IGlkPSJDb2xvciIgeD0iMCIgeT0iMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48L3JlY3Q+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/cards/icon--next.svg" /*!*********************************************!*\ !*** ./src/components/cards/icon--next.svg ***! \*********************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ5LjIgKDUxMTYwKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5OZXh0PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9Ik5leHQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik0xMC4xNTc1OTIyLDE2Ljk5NDEwMyBDOS44NDY1MDAyMSwxNi45OTQxMDMgOS41NTYxNDc2OCwxNi44NzUxOTY3IDkuMzQwNDU3MjMsMTYuNjYwODg4OSBMNC45OTg5OTU1OSwxMi4zMTk0MjcyIEM0LjY2MzAxNjIzLDExLjk2MjcwODQgNC41NzMxNDUyMSwxMS40NjIxOTU5IDQuNzU5ODAwNDEsMTEuMDMyMTk3NyBDNC45NDUwNzI5OCwxMC42MDIxOTk0IDUuMzU0MzMxNzgsMTAuMzM2NzM0MiA1LjgyODU3NDI1LDEwLjMzNjczNDIgTDcuNDc1Mjg3ODgsMTAuMzM2NzM0MiBMOC4zMTQ1NDQ5Niw0LjI5NDYzNjMzIEM4LjQzNDgzMzg2LDMuMzY5NjU2MTMgOS4yMzk1MjUxNiwyLjY2NTg5NjkgMTAuMTg2NjI3NSwyLjY2NTg5NjkgQzEwLjI2ODIwMjcsMi42NjU4OTY5IDEwLjM1MTE2MDYsMi42NzE0Mjc0MiAxMC40MzI3MzU4LDIuNjgxMTA1ODQgQzExLjI4NzIwMTgsMi44MTUyMjEwNiAxMS45NDY3MTY4LDMuNDgxNjQ5MjQgMTIuMDUwNDE0Miw0LjMwMTU0OTQ4IEwxMi45MTE3OTM0LDEwLjMzNjczNDIgTDE0LjQ4NjYxMDIsMTAuMzM2NzM0MiBDMTQuOTY2MzgzMiwxMC4zMzY3MzQyIDE1LjM5MzYxNjIsMTAuNjE4NzkxIDE1LjU3NDc0MDgsMTEuMDU0MzE5OCBDMTUuNzU1ODY1NSwxMS40OTI2MTM4IDE1LjY1NzY5ODcsMTEuOTc3OTE3MyAxNS4zMTYxODg4LDEyLjMxOTQyNzIgTDEwLjk3NDcyNzIsMTYuNjYwODg4OSBDMTAuNzU5MDM2NywxNi44NzUxOTY3IDEwLjQ2ODY4NDIsMTYuOTk0MTAzIDEwLjE1NzU5MjIsMTYuOTk0MTAzIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC4xNjQxMDMsIDkuODMwMDAwKSByb3RhdGUoLTkwLjAwMDAwMCkgdHJhbnNsYXRlKC0xMC4xNjQxMDMsIC05LjgzMDAwMCkgIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/cards/icon--prev.svg" /*!*********************************************!*\ !*** ./src/components/cards/icon--prev.svg ***! \*********************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ5LjIgKDUxMTYwKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5QcmV2aW91czwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQcmV2aW91cyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTEwLjE1NzU5MjIsMTYuOTk0MTAzIEM5Ljg0NjUwMDIxLDE2Ljk5NDEwMyA5LjU1NjE0NzY4LDE2Ljg3NTE5NjcgOS4zNDA0NTcyMywxNi42NjA4ODg5IEw0Ljk5ODk5NTU5LDEyLjMxOTQyNzIgQzQuNjYzMDE2MjMsMTEuOTYyNzA4NCA0LjU3MzE0NTIxLDExLjQ2MjE5NTkgNC43NTk4MDA0MSwxMS4wMzIxOTc3IEM0Ljk0NTA3Mjk4LDEwLjYwMjE5OTQgNS4zNTQzMzE3OCwxMC4zMzY3MzQyIDUuODI4NTc0MjUsMTAuMzM2NzM0MiBMNy40NzUyODc4OCwxMC4zMzY3MzQyIEw4LjMxNDU0NDk2LDQuMjk0NjM2MzMgQzguNDM0ODMzODYsMy4zNjk2NTYxMyA5LjIzOTUyNTE2LDIuNjY1ODk2OSAxMC4xODY2Mjc1LDIuNjY1ODk2OSBDMTAuMjY4MjAyNywyLjY2NTg5NjkgMTAuMzUxMTYwNiwyLjY3MTQyNzQyIDEwLjQzMjczNTgsMi42ODExMDU4NCBDMTEuMjg3MjAxOCwyLjgxNTIyMTA2IDExLjk0NjcxNjgsMy40ODE2NDkyNCAxMi4wNTA0MTQyLDQuMzAxNTQ5NDggTDEyLjkxMTc5MzQsMTAuMzM2NzM0MiBMMTQuNDg2NjEwMiwxMC4zMzY3MzQyIEMxNC45NjYzODMyLDEwLjMzNjczNDIgMTUuMzkzNjE2MiwxMC42MTg3OTEgMTUuNTc0NzQwOCwxMS4wNTQzMTk4IEMxNS43NTU4NjU1LDExLjQ5MjYxMzggMTUuNjU3Njk4NywxMS45Nzc5MTczIDE1LjMxNjE4ODgsMTIuMzE5NDI3MiBMMTAuOTc0NzI3MiwxNi42NjA4ODg5IEMxMC43NTkwMzY3LDE2Ljg3NTE5NjcgMTAuNDY4Njg0MiwxNi45OTQxMDMgMTAuMTU3NTkyMiwxNi45OTQxMDMiIGlkPSJGaWxsLTEiIGZpbGw9IiNGRkZGRkYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwLjE2NDEwMywgOS44MzAwMDApIHJvdGF0ZSgtMjcwLjAwMDAwMCkgdHJhbnNsYXRlKC0xMC4xNjQxMDMsIC05LjgzMDAwMCkgIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/cards/icon--shrink.svg" /*!***********************************************!*\ !*** ./src/components/cards/icon--shrink.svg ***! \***********************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUzLjIgKDcyNjQzKSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT5UdXRvcmlhbHMvU2hpbms8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMi41LDggQzIuMjIzODU3NjMsOCAyLDcuNzc2MTQyMzcgMiw3LjUgQzIsNy4yMjM4NTc2MyAyLjIyMzg1NzYzLDcgMi41LDcgTDMuNSw3IEMzLjc3NjE0MjM3LDcgNCw3LjIyMzg1NzYzIDQsNy41IEM0LDcuNzc2MTQyMzcgMy43NzYxNDIzNyw4IDMuNSw4IEwyLjUsOCBaIE01LjUsOCBDNS4yMjM4NTc2Myw4IDUsNy43NzYxNDIzNyA1LDcuNSBDNSw3LjIyMzg1NzYzIDUuMjIzODU3NjMsNyA1LjUsNyBMNi41LDcgQzYuNzc2MTQyMzcsNyA3LDcuMjIzODU3NjMgNyw3LjUgQzcsNy43NzYxNDIzNyA2Ljc3NjE0MjM3LDggNi41LDggTDUuNSw4IFogTTguNSw4IEM4LjIyMzg1NzYzLDggOCw3Ljc3NjE0MjM3IDgsNy41IEM4LDcuMjIzODU3NjMgOC4yMjM4NTc2Myw3IDguNSw3IEw5LjUsNyBDOS43NzYxNDIzNyw3IDEwLDcuMjIzODU3NjMgMTAsNy41IEMxMCw3Ljc3NjE0MjM3IDkuNzc2MTQyMzcsOCA5LjUsOCBMOC41LDggWiBNMTEuNSw4IEMxMS4yMjM4NTc2LDggMTEsNy43NzYxNDIzNyAxMSw3LjUgQzExLDcuMjIzODU3NjMgMTEuMjIzODU3Niw3IDExLjUsNyBMMTIuNSw3IEMxMi43NzYxNDI0LDcgMTMsNy4yMjM4NTc2MyAxMyw3LjUgQzEzLDcuNzc2MTQyMzcgMTIuNzc2MTQyNCw4IDEyLjUsOCBMMTEuNSw4IFogTTE0LjUsOCBDMTQuMjIzODU3Niw4IDE0LDcuNzc2MTQyMzcgMTQsNy41IEMxNCw3LjIyMzg1NzYzIDE0LjIyMzg1NzYsNyAxNC41LDcgTDE1LjUsNyBDMTUuNzc2MTQyNCw3IDE2LDcuMjIzODU3NjMgMTYsNy41IEMxNiw3Ljc3NjE0MjM3IDE1Ljc3NjE0MjQsOCAxNS41LDggTDE0LjUsOCBaIE0xNyw3LjUgQzE3LDcuMjIzODU3NjMgMTcuMjIzODU3Niw3IDE3LjUsNyBDMTcuNzc2MTQyNCw3IDE4LDcuMjIzODU3NjMgMTgsNy41IEwxOCw4LjUgQzE4LDguNzc2MTQyMzcgMTcuNzc2MTQyNCw5IDE3LjUsOSBDMTcuMjIzODU3Niw5IDE3LDguNzc2MTQyMzcgMTcsOC41IEwxNyw3LjUgWiBNMTcsMTAuNSBDMTcsMTAuMjIzODU3NiAxNy4yMjM4NTc2LDEwIDE3LjUsMTAgQzE3Ljc3NjE0MjQsMTAgMTgsMTAuMjIzODU3NiAxOCwxMC41IEwxOCwxMS41IEMxOCwxMS43NzYxNDI0IDE3Ljc3NjE0MjQsMTIgMTcuNSwxMiBDMTcuMjIzODU3NiwxMiAxNywxMS43NzYxNDI0IDE3LDExLjUgTDE3LDEwLjUgWiBNMTcsMTMuNSBDMTcsMTMuMjIzODU3NiAxNy4yMjM4NTc2LDEzIDE3LjUsMTMgQzE3Ljc3NjE0MjQsMTMgMTgsMTMuMjIzODU3NiAxOCwxMy41IEwxOCwxNC41IEMxOCwxNC43NzYxNDI0IDE3Ljc3NjE0MjQsMTUgMTcuNSwxNSBDMTcuMjIzODU3NiwxNSAxNywxNC43NzYxNDI0IDE3LDE0LjUgTDE3LDEzLjUgWiBNMTYuODEzMDg4NCwxNi4yMjU4Nzg5IEMxNi45NDY5Nzc4LDE1Ljk4NDM2NjUgMTcuMjUxMzAxMSwxNS44OTcxMjA4IDE3LjQ5MjgxMzUsMTYuMDMxMDEwMiBDMTcuNzM0MzI1OSwxNi4xNjQ4OTk2IDE3LjgyMTU3MTYsMTYuNDY5MjIyOSAxNy42ODc2ODIyLDE2LjcxMDczNTMgQzE3LjQ4Mjc0MTYsMTcuMDgwNDExMyAxNy4xODY3MjM5LDE3LjM5Mjk0MjkgMTYuODI4OTcxNiwxNy42MTc4MTc4IEMxNi41OTUxOCwxNy43NjQ3NzM5IDE2LjI4NjUyMywxNy42OTQzNzk4IDE2LjEzOTU2NjksMTcuNDYwNTg4MiBDMTUuOTkyNjEwOCwxNy4yMjY3OTY2IDE2LjA2MzAwNDksMTYuOTE4MTM5NiAxNi4yOTY3OTY1LDE2Ljc3MTE4MzUgQzE2LjUxMTgyMzMsMTYuNjM2MDIyNSAxNi42OTAwMDMxLDE2LjQ0NzkwMjcgMTYuODEzMDg4NCwxNi4yMjU4Nzg5IFogTTE0LjU2MTQ2NzUsMTcgQzE0LjgzNzYwOTgsMTcgMTUuMDYxNDY3NSwxNy4yMjM4NTc2IDE1LjA2MTQ2NzUsMTcuNSBDMTUuMDYxNDY3NSwxNy43NzYxNDI0IDE0LjgzNzYwOTgsMTggMTQuNTYxNDY3NSwxOCBMMTMuNTYxNDY3NSwxOCBDMTMuMjg1MzI1MSwxOCAxMy4wNjE0Njc1LDE3Ljc3NjE0MjQgMTMuMDYxNDY3NSwxNy41IEMxMy4wNjE0Njc1LDE3LjIyMzg1NzYgMTMuMjg1MzI1MSwxNyAxMy41NjE0Njc1LDE3IEwxNC41NjE0Njc1LDE3IFogTTExLjU2MTQ2NzUsMTcgQzExLjgzNzYwOTgsMTcgMTIuMDYxNDY3NSwxNy4yMjM4NTc2IDEyLjA2MTQ2NzUsMTcuNSBDMTIuMDYxNDY3NSwxNy43NzYxNDI0IDExLjgzNzYwOTgsMTggMTEuNTYxNDY3NSwxOCBMMTAuNTYxNDY3NSwxOCBDMTAuMjg1MzI1MSwxOCAxMC4wNjE0Njc1LDE3Ljc3NjE0MjQgMTAuMDYxNDY3NSwxNy41IEMxMC4wNjE0Njc1LDE3LjIyMzg1NzYgMTAuMjg1MzI1MSwxNyAxMC41NjE0Njc1LDE3IEwxMS41NjE0Njc1LDE3IFogTTguNTYxNDY3NDYsMTcgQzguODM3NjA5ODMsMTcgOS4wNjE0Njc0NiwxNy4yMjM4NTc2IDkuMDYxNDY3NDYsMTcuNSBDOS4wNjE0Njc0NiwxNy43NzYxNDI0IDguODM3NjA5ODMsMTggOC41NjE0Njc0NiwxOCBMNy41NjE0Njc0NiwxOCBDNy4yODUzMjUwOCwxOCA3LjA2MTQ2NzQ2LDE3Ljc3NjE0MjQgNy4wNjE0Njc0NiwxNy41IEM3LjA2MTQ2NzQ2LDE3LjIyMzg1NzYgNy4yODUzMjUwOCwxNyA3LjU2MTQ2NzQ2LDE3IEw4LjU2MTQ2NzQ2LDE3IFogTTUuNTYxNDY3NDYsMTcgQzUuODM3NjA5ODMsMTcgNi4wNjE0Njc0NiwxNy4yMjM4NTc2IDYuMDYxNDY3NDYsMTcuNSBDNi4wNjE0Njc0NiwxNy43NzYxNDI0IDUuODM3NjA5ODMsMTggNS41NjE0Njc0NiwxOCBMNC41NjE0Njc0NiwxOCBDNC4yODUzMjUwOCwxOCA0LjA2MTQ2NzQ2LDE3Ljc3NjE0MjQgNC4wNjE0Njc0NiwxNy41IEM0LjA2MTQ2NzQ2LDE3LjIyMzg1NzYgNC4yODUzMjUwOCwxNyA0LjU2MTQ2NzQ2LDE3IEw1LjU2MTQ2NzQ2LDE3IFogTTMuMjI3Nzk4ODYsMTYuMjk1MTc1MyBDMy4zNzQ0NTY3MSwxNi41MjkxNTQxIDMuMzAzNjY5MDksMTYuODM3NzIxMSAzLjA2OTY5MDI3LDE2Ljk4NDM3ODkgQzIuODM1NzExNDUsMTcuMTMxMDM2OCAyLjUyNzE0NDQ3LDE3LjA2MDI0OTEgMi4zODA0ODY2MiwxNi44MjYyNzAzIEMyLjE1NjgyMTIyLDE2LjQ2OTQzMzIgMi4wMjYwOTYyOSwxNi4wNjA5NTM1IDIuMDAzNTIxMTUsMTUuNjMzNTk2MyBDMS45ODg5NTQyNCwxNS4zNTc4Mzg0IDIuMjAwNjkxMzcsMTUuMTIyNDgzNiAyLjQ3NjQ0OTI3LDE1LjEwNzkxNjcgQzIuNzUyMjA3MTYsMTUuMDkzMzQ5OCAyLjk4NzU2MTkyLDE1LjMwNTA4NjkgMy4wMDIxMjg4MiwxNS41ODA4NDQ4IEMzLjAxNTY3NjQyLDE1LjgzNzMwNjcgMy4wOTM3ODExLDE2LjA4MTM2MjUgMy4yMjc3OTg4NiwxNi4yOTUxNzUzIFogTTMsMTMuNjIyOTM0OSBDMywxMy44OTkwNzczIDIuNzc2MTQyMzcsMTQuMTIyOTM0OSAyLjUsMTQuMTIyOTM0OSBDMi4yMjM4NTc2MywxNC4xMjI5MzQ5IDIsMTMuODk5MDc3MyAyLDEzLjYyMjkzNDkgTDIsMTIuNjIyOTM0OSBDMiwxMi4zNDY3OTI1IDIuMjIzODU3NjMsMTIuMTIyOTM0OSAyLjUsMTIuMTIyOTM0OSBDMi43NzYxNDIzNywxMi4xMjI5MzQ5IDMsMTIuMzQ2NzkyNSAzLDEyLjYyMjkzNDkgTDMsMTMuNjIyOTM0OSBaIE0zLDEwLjYyMjkzNDkgQzMsMTAuODk5MDc3MyAyLjc3NjE0MjM3LDExLjEyMjkzNDkgMi41LDExLjEyMjkzNDkgQzIuMjIzODU3NjMsMTEuMTIyOTM0OSAyLDEwLjg5OTA3NzMgMiwxMC42MjI5MzQ5IEwyLDkuNjIyOTM0OTIgQzIsOS4zNDY3OTI1NCAyLjIyMzg1NzYzLDkuMTIyOTM0OTIgMi41LDkuMTIyOTM0OTIgQzIuNzc2MTQyMzcsOS4xMjI5MzQ5MiAzLDkuMzQ2NzkyNTQgMyw5LjYyMjkzNDkyIEwzLDEwLjYyMjkzNDkgWiBNMyw3LjYyMjkzNDkyIEMzLDcuODk5MDc3MjkgMi43NzYxNDIzNyw4LjEyMjkzNDkyIDIuNSw4LjEyMjkzNDkyIEMyLjIyMzg1NzYzLDguMTIyOTM0OTIgMiw3Ljg5OTA3NzI5IDIsNy42MjI5MzQ5MiBMMiw3LjUgQzIsNy4yMjM4NTc2MyAyLjIyMzg1NzYzLDcgMi41LDcgQzIuNzc2MTQyMzcsNyAzLDcuMjIzODU3NjMgMyw3LjUgTDMsNy42MjI5MzQ5MiBaIE00LjUsMiBMMTUuNSwyIEMxNi44ODA3MTE5LDIgMTgsMy4xMTkyODgxMyAxOCw0LjUgTDE4LDUuNSBDMTgsNS43NzYxNDIzNyAxNy43NzYxNDI0LDYgMTcuNSw2IEwyLjUsNiBDMi4yMjM4NTc2Myw2IDIsNS43NzYxNDIzNyAyLDUuNSBMMiw0LjUgQzIsMy4xMTkyODgxMyAzLjExOTI4ODEzLDIgNC41LDIgWiBNMTAuMzQ0OTA1Myw5LjQ0MjY4NDM0IEwxMi4xNjI5MTE3LDExLjI2MDY5MDcgQzEyLjMwMzYwNDYsMTEuNDEwMDY4MyAxMi4zNDEyMzg0LDExLjYxOTY2MDEgMTIuMjYzMDc1OCwxMS43OTk3MjM4IEMxMi4xODU0OTIsMTEuOTc5Nzg3NSAxMi4wMTQxMTMxLDEyLjA5MDk1MjIgMTEuODE1NTIyLDEyLjA5MDk1MjIgTDExLjEyNTk1MzMsMTIuMDkwOTUyMiBMMTAuNzc0NTEwNywxNC42MjExMDc2IEMxMC43MjQxMzkyLDE1LjAwODQ0NzIgMTAuMzg3MTcxMSwxNS4zMDMxNDk1IDkuOTkwNTY3NzksMTUuMzAzMTQ5NSBDOS45NTY0MDc4LDE1LjMwMzE0OTUgOS45MjE2Njg4MiwxNS4zMDA4MzM1IDkuODg3NTA4ODMsMTUuMjk2NzgwNiBDOS41Mjk2OTczOSwxNS4yNDA2MTkzIDkuMjUzNTIyNTMsMTQuOTYxNTQ5NSA5LjIxMDA5ODgyLDE0LjYxODIxMjcgTDguODQ5MzkyNDYsMTIuMDkwOTUyMiBMOC4xODk5MzA5MSwxMi4wOTA5NTIyIEM3Ljk4OTAyMzg0LDEyLjA5MDk1MjIgNy44MTAxMTgxMiwxMS45NzI4Mzk3IDcuNzM0MjcxMzUsMTEuNzkwNDYwMSBDNy42NTg0MjQ1OSwxMS42MDY5MjI1IDcuNjk5NTMyMzgsMTEuNDAzNjk5NSA3Ljg0MjU0MTE2LDExLjI2MDY5MDcgTDkuNjYwNTQ3NTMsOS40NDI2ODQzNCBDOS43NTA4Njg4Niw5LjM1Mjk0MTk5IDkuODcyNDU1MjgsOS4zMDMxNDk0NiAxMC4wMDI3MjY0LDkuMzAzMTQ5NDYgQzEwLjEzMjk5NzYsOS4zMDMxNDk0NiAxMC4yNTQ1ODQsOS4zNTI5NDE5OSAxMC4zNDQ5MDUzLDkuNDQyNjg0MzQgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IlR1dG9yaWFscy9TaGluayIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPG1hc2sgaWQ9Im1hc2stMiIgZmlsbD0id2hpdGUiPgogICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgIDwvbWFzaz4KICAgICAgICA8ZyBpZD0iUmVjdGFuZ2xlIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvZz4KICAgICAgICA8ZyBpZD0iV2hpdGUiIG1hc2s9InVybCgjbWFzay0yKSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgIDxyZWN0IGlkPSJDb2xvciIgeD0iMCIgeT0iMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48L3JlY3Q+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/close-button/icon--close-orange.svg" /*!************************************************************!*\ !*** ./src/components/close-button/icon--close-orange.svg ***! \************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUxLjMgKDU3NTQ0KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5JY29uPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggZD0iTTE1LjQ2NDkzNSwxNS40NjcyOTcgQzE0Ljc2NDQwNTksMTYuMTc3NzcwNSAxMy42MTg1ODc3LDE2LjE3Nzc3MDUgMTIuOTA4MTE0MiwxNS40NjcyOTcgTDkuOTk4ODE4OTksMTIuNTU4MDAxOCBMNy4wODg0MTg4NSwxNS40NjcyOTcgQzYuMzgyMzY1MDYsMTYuMTczMzUwOCA1LjIzNzY1MTg3LDE2LjE3MzM1MDggNC41MzE1OTgwNywxNS40NjcyOTcgQzQuMTc5MTIzNjQsMTUuMTE0ODIyNiA0LjAwMDEyNDA5LDE0LjY0ODUzOTggNC4wMDAxMjQwOSwxNC4xODg4ODY2IEM0LjAwMDEyNDA5LDEzLjcyODEyODUgNC4xNzkxMjM2NCwxMy4yNjI5NTA2IDQuNTMxNTk4MDcsMTIuOTEwNDc2MiBMNy40NDA4OTMyOCwxMC4wMDExODEgTDQuNTI3MTc4MzMsNy4wODYzNjExMiBDNC4xNzM1OTg5Nyw2LjczMjc4MTc2IDMuOTk0NTk5NDEsNi4yNjc2MDM5MSA0LjAwMDEyNDA5LDUuODAyNDI2MDYgQzQuMDAwMTI0MDksNS4zNDE2Njc5NSA0LjE3MzU5ODk3LDQuODgyMDE0NzcgNC41MjcxNzgzMyw0LjUyOTU0MDM0IEM1LjIzMjEyNzE5LDMuODIzNDg2NTUgNi4zNzY4NDAzOCwzLjgyMzQ4NjU1IDcuMDgzOTk5MTEsNC41Mjk1NDAzNCBMOS45OTg4MTg5OSw3LjQ0MzI1NTI5IEwxMi45MTI1MzM5LDQuNTI5NTQwMzQgQzEzLjYxODU4NzcsMy44MjM0ODY1NSAxNC43NjQ0MDU5LDMuODIzNDg2NTUgMTUuNDcwNDU5Nyw0LjUyOTU0MDM0IEMxNi4xNzY1MTM0LDUuMjM0NDg5MiAxNi4xNzY1MTM0LDYuMzgwMzA3MzMgMTUuNDcwNDU5Nyw3LjA4NjM2MTEyIEwxMi41NTQ1MzQ4LDEwLjAwMTE4MSBMMTUuNDcwNDU5NywxMi45MTQ4OTYgQzE2LjE3NjUxMzQsMTMuNjIwOTQ5NyAxNi4xNzY1MTM0LDE0Ljc1NTcxODUgMTUuNDY0OTM1LDE1LjQ2NzI5NyIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Ikljb24iIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJFeHRlbnNpb25zL0Nvbm5lY3Rpb24vQ2xvc2UiPgogICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgIDx1c2UgaWQ9ImNsb3NlIiBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICA8ZyBpZD0iQ29sb3IvVGFuZ2VyaW5lLzFfVGFuZ2VyaW5lIiBtYXNrPSJ1cmwoI21hc2stMikiIGZpbGw9IiNGRjhDMUEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iQ29sb3IiIHg9IjAiIHk9IjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/close-button/icon--close.svg" /*!*****************************************************!*\ !*** ./src/components/close-button/icon--close.svg ***! \*****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3LjQ4IDcuNDgiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MnB4O308L3N0eWxlPjwvZGVmcz48dGl0bGU+aWNvbi0tYWRkPC90aXRsZT48bGluZSBjbGFzcz0iY2xzLTEiIHgxPSIzLjc0IiB5MT0iNi40OCIgeDI9IjMuNzQiIHkyPSIxIi8+PGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iMSIgeTE9IjMuNzQiIHgyPSI2LjQ4IiB5Mj0iMy43NCIvPjwvc3ZnPg=="; /***/ }, /***/ "./src/components/coming-soon/aww-cat.png" /*!************************************************!*\ !*** ./src/components/coming-soon/aww-cat.png ***! \************************************************/ (module) { "use strict"; module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAERVJREFUeNrsWntwVFWa/917+/Yr6aTzIJ2EJLS8hkdCIo7CwioNCGspqziMuLO7Ao6ujoNVqKBT84eL1srW+hgJ687ULO6WMFs1WyXlyiBOQQAT1MHXrEmAMBIBAwkhIa/Oo5+3u+9+37ndnRASSDBxd6tyisPt3D73O9/3O7/vcc5tYKJNtIk20SbaRJtoE+06reY1l5t62f8DPT3Vr7qcIx1vGsmgWjLcpKBakYG67a6qSBRPl25prfm/ZPjxX7g2kI5bZQluLYoGunXTmAFAhjutqgSLCug6PIGwXk1A7CIgXiQgGv6XDfeYZGy3qFJZXD/4Q7p7pM/LIxkUI6GErujMgoxUCQ6btMFqxjcnX3dtJ9o5v2vDiZUeWoRKu0WqTE+RytLsQDQGmGlJJUnyjqkLkOCaGAmPRnV4/TpynTIyUiRYCfFAGE8RIzaceN21gxhRfvOzrd5xNfwXLjevuNkkrbaZAaNLaOvR4QvGYDFJIhSMVJ400oFn3sjVHTYdvYEYMUJCYbZMbJAQDDMIOgPBVy+7Rcnm1vLh5LT/WxazZchgmv1oR9W1gjAZvpVWeAMbnDCcae/16WjviUFVdKSnKAzG3tlPtd4/Zgww3EBvIBdwW0w6KMigpSuGomwFqVaQEqSIWYc1JDkJiO1/KndtojEv5qdH2KDV1JdQZ78skxQLZLtrGHCSH6viq1jbE5Sr/GF5g2rCJpsqOa1xw/lKgLC/o7OXV14X9Gd3pX+1Y+oC8TjQQL4lAKCFN0DwRpGfqYiJVYWUMjEYOrFCdytS7C3ZNglyaqHRbTmQzOkjm6vvgkcP93iifY1Ip24L9EKWZdissnA7VTHGhTQdraSDRcyv0yJICJNe5K7eMQeAomsDo8vGm5MgMPoSMh1GLI3FotCVFNgLSqGkTSOD0wZZFh5ZZLbnAtQV50zxtznQhkh7NSLdpxGTjUjMunTEaa+KWzoUSRKBUB9FDBgNA86LKEuTR6PGxAxCgCDvpcAY0U1QXLfDnDGrH7RBBkuJoCMNDkF68qL3/9X/nCUd6mQPkPtnCF7+I0LddQQ+P2tQX06IIQAiMRG0vePiAlGilyRfUR8QNXVErZNhzr+D/iDHjPYbTfpwSuq/xu8lDR9kPyRd5HEd8avoxufEA6acW6GnTYXUdARmve+KKM5zsI5loyjSRuUCzACJ4Y7231dzboGSMduwgVZciivCw+SE8UJ148MVaUcfYh4pwQRdfNaNACy6HmcIzA6Yp9wNrfkoYv7WwQs1qjQ8KgYwvWSp3wRTzm3k61RxRjXDdwUjJDFGHmCsZJg/pMHD5WXDFYwHWFZMEJ6AiOrC/3mkmu+BdvEDxChGGA/LBFJsVCW6PNKBRCvBgFjcCCV9GpTUyUZg08MUgDSYpAgUaKLL3HXuEWI2ARTTIHHXr915HOLj5ESPyxQ9PoeYl7rJdZvILgw8F2qs47gwYEAmcHN0VyjYcZDj1eZYoNCK9IWtaAhNQ8jiRlhyIFXqRLZejyLrhWvSfigGhKMmnOqdAd1egN5YhpCVFavHZPN5citd9EjcWFP2PEQufYSoIfvoOAKgN0QjEbcpZ4YIdkx5hf5j471hB07qq1A0cxbS0tJgMpkQiUTg9X4fn16oxnzzAZhlbUTzdIYcqIncjSkzZ18l678bazBP+T0pHhFoRinpxxQrJHs+9N4WAkUePwakmqOUkpyQVIegKOddY+VtqJP+ErNL5sPpdEJV1QRgSE1Nhd1ux8n6MOab9l93jp6QBbX6PUJWRkbGVbJSUlLwFcmah30ia4jMQbTkYkvxNSM7RR+fGMA1PBVAHtmaTb5Mvkc+r8R99MueWzB1ZjEyMzNhsVigKIrovHJWqxVZWVlwTlmExtCUpO8O1z/3zh+RrGbNLeY24gLpQQWSZMnk+mTTuABA7SnxADFATEgU5N4bUmDNvUUoHAqF8Jvf/Af++kd/g2VLl+Oxv3sMx/5wDGazGdnZ2ei0LkwGuaF6d0CGxTVfGBkOh4eUxYzg77tSFhmBk3RQdCMwyhZRantosdzjAcB6SU0xIjJNKFPkl6g3BXLhcrnEam1+ZjN279ot/LJoyhScP38Bzz//96ioOCRWT838HjR2XS6WhuiNPhdyc3OFrGcSsqiyGSjrUEJWxkz4Ixahh4ywWAzFnJLQddOYAkCI8vbVLZvsAmnaciRTVsSUIXxz77t7cebMWaHsS9tewrZ/3AbPsmViE/PKy6+gra0NDocDPRTRh6O/YnEIWYcOHcZZklVQWIh/iMtavmIFZHKFlwfICiG1P2WSToocg6SImLF6rBmw2ihIosn8bOTtMLq0DOGjx44dEwOZnhyo2PBJk7KJ/hZxn+nLfixLvFvRhuzNgWwxpqKiIimLATFkTRKuJGQdS8iKCh0YhETNoBgAuOOLNmZZYAnnZ9mkGsbHpGSx7zD1iAhdW3tclMBNFy/i7bf3iMjf1dWJ5Xcux/v796Ovr0+MQ7CdtpENvFMaVACYkGNqoh1lDMfjsi42NwtZDCjLWkEseG/fPvT1xmXFInEG6EIcX2UpWWh4RnIyNFIAyrgCTlR1mikHgbQF0GxTEe5KF8Evkaq0sCZ81OfrI6q2I7GT4e+CwSCc2sWrjRcDItBDXUIWG+zz+RDRNFp1FX6/Hy0trckyPCHLl7OO4s1ZmPzn4PB+kASAh9HH0jFhQDyiOsVujpRsd61HIG8NrBSomJKTs/uoQPFiwYIF+OyzzxAM+HHTTW50d3fjD0T77q6uJJ1DnWdg1zuGnWuydAJNNL64uFjICgQCcLvdBEAAH3/0EbwJWZRRGIC8aYuhabehLxRGp//HyDz/Osy+CsEeAsk9Vi4gBMVMqWie+QZUKjvT7DbYbDYBQnZWJj788EMs/vPFQmlewfLt5TBRXAhRKuMozitaMq8Eyunya06UpbTgRNNxkrVIyAqTrDf++Q0hKzxA1jyWRffSqUrkCjFAYARUEzqnb0UqeYX5kii4ysY0DfYW/BhKZjEpYEcq+bedJlR02hdHI5g1axYKCwvg8SwR9AwxPeMUZoU3PvlTBGn1833vX3eeOf6dKCgowJJBsjTNKKM3PrlRgJyXl0eMjEElyqdYzEihBUkhvXpmPI9Axu08dERH9dIIXOApLWX69t5bf4s0RyocNiusbLgWNPxbMUGy2tHc3gVvTw/q6k6h+ssv4SO/zaHI/YM1PxByuFawtu6D2rAbZn/9kHP5Jq2C5H4Q7dIM9JAszv1M/YGymN6FBFCKWQECPgodmjAjRnr4KDj3BcPwdXyNrC/W8CmzNBYu4PTnPwgLBSMzpR5zhAJeoBc6Tc6nj1ApNWlh5GdTOiRWzJr1PfLhuSI+8Eqxq3Bxw1dkPYzTyiJ8XvlfCDVVQtWMw4yQbTpy5t6HBTNXiJUtonsdHR0iIzy07qGrZSlkcG8XdF8PbRuDAgDZYiMdbQiTawRTixBOu5nuH/72MeDUZQf8WU7YpPOwm00whfwoycuiybuNaK5aRDqUzFbk5uSQgnnDynrnnXdQW3OcUiSBkbLsyh3gmWbU1u3E4z95XBjJQZP7UHtyMTevfh9dQwGDx8SEU1+fg6ba4KN9su6bhZUrFHfFoYMNo3KBv1h5V5lqNq+nQsMjyXKZFE87iTM3uifSkY38bk5RHmYW5GH5HYvhyCuClJ5NLqEMO9nL//QyrWznNQGfS+xZv37dNQ8ldFr93uYLOFJ1FPWNzTh14RIClAnEsRmxZqC+4mQpFquhYFmlhcO7D1YcqBmWAbTp2EAPuGnw0WAg8DuKujV7/ra2rOOOTyt5X55uNeN0zR+h+3tx7lwD2r3dqKyuw5vvHcbSxQvx7M9/fu2XrAQOl7FcxQ25Fe7pxn333Xtd2r72L79G5cfHML0wH3OL8nHvwjJMnVIE3ZaK6SWl6NFiCDZ9hBkLfyQt9Sxz0rxlJlV1km2rycayDyqP7BpNECxrv+PT6vQ0B9JSU2CjGKD3eeMxICpigI9wPPR5NRYv8Qj6Dvt6jer7J37yhMgMyiCmcJrLy8vFzjd3XlOflpYWHKO0u2LhfKopIvEYQM1iJ7dKQ5+kosdPmaOrqWb2vIU3f+sYQJG0pr62Gb3SZNSfrsflS804eeIEBLmIapFIFIVFhXBPm3FN47lNnz4NW7ZsFhsa47i8v7LjLPHcz3523dXnOVLT0/Gf+w+i8cIFUSNAFD7kPnPnIisvH9OmTYMSaqkZkzS4atW97uKSksqmpia3LX4gUVJSTIsfhStnklCo9sRJYcSdVPdvfmYL3XPhpxs3CoOHYwIHxFZaTW6lZWVYQymONz5DtYMHDuKXv/wVVq5ciR8+sEbsFhm8UiqIWi61oPXyZbFTPH78BDo6O6gaDcKR5qhqvND48P79+xpuGICVK+96QVXV+2bPmV2zdu3aDVyWci3A+/WhGqeqH655QBQud6+6Bw/+1YPIdDoF5UfbuOrr6e3FZdpPPPHY4+LePffcjc3EoGHOK0W90EsbpYaGBmx7advTfIZBBdTvKioOvDDqSpCCh5tWuer999+7+aF1656mIOhlP+XylvPzkMIoQ8yZO0d8dqSkUhUXwjdUzHxV/zUaaZfYRXsGBmeoFiGD+bt2yv8NRO1TX51GS+tlOAawgsvp4ZpGJTHrxz3d6dxFepez7mwD2zLqGFBZ9QFTR9CntKTYe/LUn3aEwqGtalAVUZzdQZKuJBAfVy1YcBu++PwLNDY1IpVWPo2CJ9fqDAYbGIvp8dddV56Pi7dJfMKsyFBp252VmUG7ShsFvUvie2ZRaWnZsGwJknxmIC+Que3IjsR3h48cqhqTH0iQnzvJwGqqt92sDO8JLFShDQaB9/2PPPIo2i63CZ/mPfyChQuIGXMpYGoiaMYG5Or+FMk/uDAOP7kKrKurw2Hy9dpa41X/2rUP4JFHH0meEiffWJGsAPm8z+8TAPsDwfLiObOfHvNfiHCr/+S3Hj3r1ko+7DC67SoQWKGKgxV45ZVXh8wCYjdXWpr0Wyl+sHL27Fn4+nziyiAObPzMzjf/VZTJV6485ftQUJwX8JbZHwjUkM8vZcaOCwDcTtSd2kC1+Vt2m7EltlktyePrRON9/Kuvvoaqyqox+V3Qc889iztX3JksoBi4iKB9UKw+z0fda2o9tHTGkidH9V5AuhGFBAiq+haf/IhuMUBQaTPEfmxUdT0oL98xJAguWcUiNQ1psgFafSSAT7TeIefirfSqVauSmYf9PRGM2e8ZhFBfmzcM29J5xXNH/dtF6UZX5avP3l2tp895ixRzWgQAZpipKlRp16jSSrFbsE++++5e7Hl7j/g8W7HhYZsL3zdfne+7YhH8u68Fv9cM9nLKZeP5dEgluVGqOvlMgLsAIBQWQU/ztdVYm/fcf9NdrzXciB3St6HmNwe2uIN592+X7TmrORawohykmAlMV67SWGHeAB0/+jFKPzkN+8XLtJ2lYCfJyRwcpaoyTLHDZ1FRO3USYrfPx0IKnDaKM1I8RWpaRARRAwCNGeDVfU075sxf9sK3sUEaCx89frLOo8Z6tsrWbA8DIIwXXRGvrPjVNSvOx1dRygLa6XNkfP8PCDghBGxmpE0pgInBU0xQ6Hmme6Lzs4IBkYhX7jm119zx8Ys3uupjDsAAINxqpH2Tbs1dTWnNLQyh9GaAIAsgjJ+xxOLvyZM/BxGlbCLAcSYxOhlOY6NkvORrqKESYnfYnL9rNFH+OwVgMBhkrMcU6VyiWya55WifB/xWmahv/GxGuqqUHdAb+HeJdD1KvYbAqBpLo78TAK5RUDEw7qFqeX6RMV6GTrSJNtEm2kSbaBNtog1u/yPAAMsIZ4ss8i8RAAAAAElFTkSuQmCC"; /***/ }, /***/ "./src/components/coming-soon/cool-cat.png" /*!*************************************************!*\ !*** ./src/components/coming-soon/cool-cat.png ***! \*************************************************/ (module) { "use strict"; module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADpdJREFUeNrsWmlwU9cVPm/RLtkykixDAIvFIWGJxdbEEMBQmkCn0yHLjywEnO1PlwEHks60M/XQTv+0hKVZJp1pE8hSMp0mYfqjpWmaGEjIxiICSRxCQCYL2LKNbMna9V7Pue896cl4kY2ctjO6M9fv6i3nnvOd9d5rgHIrt3Irt3Irt3IrtxFaYLvXh73x/4DPRuK12Pe5Yl468Tuv0yDCeZEHpyRBICNB8w1bOlr/lwT/6HFvoyhAC89BI/IXzmRhvn9rR3Ck78SiUOLAbxLBaTEyvPyJNLz18U5vK06yrX7rfxeIk9sVwU0GrtFsUO7FU7ITeSMrCJbEAqh98WSNbDcDJDMAVhNAIkUTAaQy8h5EfFv9lpHRLqngj3t9aJEtRpFrshgBzNj7E3hFEKJ4nfGTS0XJJhY7YVYCkGQZonEZRJ6HKhsHJoOMIHBNiHjT6R3ePfhOM1pEeJw17hR42Iku2UQWScLTNZog3iTkjUM+i9Zr8QBwnNyKEzeaRBn6YhLYzRgQEARCnDpaQ1MiJa87tcO7G81v1/xHhwai64+uQYOp+6Hu1uHiEJr6ZqMAm8xGzqkJTnPHUjJcjkpMIWgR9Lu15ACgUCDwitbRACDUK8E1Lh6BoHscM8F4EpwIREsiLW/CoLR7UmVmD35Kwq6g2EGdE0zAW72DztH9nAnkbJIFc7UfxN56sVdcR35u0QuOV4OALpmWGS+kGINAvHForXLpLYCYQbqNJpoELSyNgIT6JJhUJTBGkEFkQgEILcHJyVILZ6xoESpnAm+fAjgG3uItaiIp3uGXU31+KfplU7b3LFQ7IoCzgtnEMeHR/FnwwowEnb1k9orw1El29NRAyQGgGEDdhJGHw4ECgowMANQgCMRQNptFBkQwe2aD6J7PhC6ULFXUXLypCieqAsFRC4aJNwOCAZmuEyCF23CODJq5wN4L9aEWZNI+MBBE5C2Jt5Ct3vGwgFaUr4VTv6AJFRAk6Ikg04IIXJUfjK4b0FdM7B15gMBcPq0OkoQUs5VlbaTn0gxiTQOAZwGkuj+C5OXTICEQmYxi+hibcnRJSeNmATgfspxnmgAwIgOcsRLEyauBM9jVl1M5hjj8o1yVbxXhuUL55TwI2pAyDgNDvWofiK56kCtmQPqbQ2DKXtKBqdBHJZFrFJ2JuNGkoHNP1chuuwypdCZ3T6iYDuLEJQUEiSmeBEeEeE67x10h92BNVv8wwVWLIDAkKX8vF5gvHoFs37ncb6NRhK4IB70xuWq4LDRWF1DMS8e94PCBWL0YH6RzGhc0ofEHr9MMV6DpkTUi6+yB6Ej4QAICQgGDMU9zYwzIRoI59yEeixV+1ACgBgIolp8xZXbDF5l66G6LQ3dUZpwzrWs+jn88FdR58Ll5rB65Af4/tAnIKhBtX2ehEzNNqE8J7ZpFaG7hsnPgctTDdGsSpNhFtDge70uB0chUNAB33X2v82jHJxD9xgFnepzwVcSBd5NFT1SLIMyejP0ajoHhwc9DEeUZjWNJ+i3DJ19j/0qC9i5pFGLUw2THdLh2QhgcQgR5Xe18ed9L4auOASg0LSg2qcWM/4riKJ1mqS+TUWJCGn/Lqn2SNgwGZXUiiiKIOBYEoThXI5pIqxi6RFNUfw9cGVPmwr4bwQiO1QKeq62tbWxvb8/dSKVSEOvvZwySnxMD1GlsEEXNVdBPJUjju3SNY6er0WSCyspKJsSg1o/vRPr6IJlM5oTjSWAxzybRobkZ3ViMzUXNYDSC1WbDQGjUXvV7PB5/KBQixa0cswssXrQQNADi8ThEkUG73Q4TqpxgMpkZo+TXitAy016W5egs0xxpUbumULBoNAqOiopB56Jn9L3b7Qar1aqjrQiu0M7TJ5p6+uGeHnAgwBaLhdG7447b4Zln/lCiOgAnJuFJgy7XBHA6qxiDFJokDL3ERF7gFDKe0QfPnFWQ9ZCmBroD0U8gwESbALA77Ez7MoLKaGaQdjqTm0cQ0uw5x2nBVbn2hcPMCop1N36kFz48eoxdk4kE8z2z2Qw2tACD0aDkeWRCNOTNVSl8lCuvPlfGfG5MwlKzGmXWNQAIUKPRxITX3IoXCumP1Okb4pXaK6+8etUANKP5BzUtKhMokZO0oe8woNjR8vLA5M/p8uCWVd2s65/RPFkybx1tsjClilToF1R/HFdgBRoNtlYIhYj35jEDgNEzoAUQHjUgsWAmowlmWDDM9yQzUYmVa2pJmzN7ucANqFNQ89gzMNsbZZ3GdE/LKMlkgtHM0UeXIr+X1YWCLMMV7qWNNV7VtlKVYewuoKaQIDGoBSKK0oUApNk1zdJiBrtUILCkZgEamzATUBZYO/08QOQc6zTW0hvRiGEsSCZTV8xB4Gh08gXRlV3NBMHh0l/RAFCrq+oJUq4l4oqGkjkQiGF2TaVZ8CPr0KK1XnANCCPGEGqLJoVy9LWxAcFJoP/GY3F2zc3B5knlgqxCO5ujrde+lpqJ55IEQZZO6toatVxLDOmZY+afzmuJxplMnlE9GMQYpagVtRfBY03k6NOY7tEzlt/jBEB8EEvLg0BpUANYA4KuJhVgjeeSlMKTHX1gEVEgjP6UaykY0mSiKKgBiFP9HlRmJOYGegCoV02YoDB3/fkrQcZ7B9snYgZwsGKIxQq0unxmKZyjsC7Ig0wZinglnktiAdoG5vK6hKJBLFA0FyA/zftqWucS6YK6gDoVP+RGd6Kgeu3rrYCe0Ts0h2IFiQFWcCXdvEtIDDzi8cYpvcNuvo7aBSTRDgt/8DNmolTEkCvo44DePPVdY64Ciyczfjtreg2sXTJlyHnoGb1D71pRk3mgB59HDwCZPvFGPC6585eM55K5QNzzfbBXTYKHH3oQfv/EkwzpJGqqH0tXrT4YrOojphz4LkV4XFPAYz//BYSxUvvr31+FxJdvgSlxVimyzDPBPGUlrF5yOzzW4IRf/fo3rPymaB6NRFhho6/69OsNukfWpfn+ww9sZLwSz7aLfxlRthHrxcd+aPXFp9zXZKiaBZMn1UDD3OvgvWMBlu7JVLXFB6fue9FvYqYCmSJN0v21a9fAlkea4fix4/D83hcgneUgLl4DUfM81mkciaXg0KHDUO3xwIYN61lU+fTTNpY2SatapUfzkplrix/mWpiirWYTPPrgepg5sw7SWIlmkv1g7npj72//Fg9etQXIBofCAK3rJ3lh1+aH4dAHH8Lh059De2f3oMtRXInBIlxIrV2zBsdudu+zM2eYufb0XB5yrvc/+AAW4ne0kFm+fDn848ABOIrlOFZ1g+8zVLtg2Zw6WOafDbZq1DxtzJBFGhwlc4GgtplJpkzdarPCrYvr4dYFc1EdIlyIplCLWODYKkk94ENzp9XcwGbDex0dHfola0Ej/77xxu/oQHTDhvvWsx7DpW+QVqVkAqk4WDJJmGrH2iTer5TbRguVgKxztDVmmghXdTj63VWrnbjwWYdr+BXXTp/Y9HmwI+frmi+6KxzgmVAJs+tmwqKbGmDGnHnD7nnRcvfee9bnNjMKNlfUzY+X/vwiW24PuzmLlvThkbfhk7bPIITW1NUbKSiGKDbU+bxw5tzFPbgEP4jZZP+/33wjXDQAKPw6QRQ3IpMnkVjw/gcf2DTB6fST5q1UymZSEO0Nw/n2C9DZfRm6w71w6vTH4MJl7N133wW33PK9IZk/e/YLeKT5EejHZbEGJDFuQ3/esXMH+vCMIb99/fV/wb59L0N3VxfMmzcP3M4KVIATpk2ZzAKzbDBBLJ3FUjoGPZfDgef+9OxuVJoPwa3PZjJ7EYT9Y9oW/zRwcKfZ6dtcgRqnqG6gk4isciqDPsHcgDR/5MgReOftI3AfBrGampoh6V26dAn27n0eTgZOKjt6/nrYuHHDiN+88PyLsPTmJbBkiboNL9ExkLrvgKafQQPow6zR1xeBRDi463r/iuaSnAt8dPpjv8VsPuHAdbqDVWoRuHDhArRj59QFL8vF6NsNDTeB11vcGSCBQI2EL6ZR/Hj33fcgibGC7Reoc9dOnQpTsTtQQZFIFHsE4onE/BvmzgmUBABqx95vPR/8+rLvnbffYTna5XKB2+1i0b66ujr33vHjx2Hr1i3DanMsAJAFbN/+OCxYsCB3r7Ozk2WHrq5u6O7uZrXG0puXwtTa2uDihQumlexk6NZb1qyrsvM758xf6rvuulmwbPky8KC/8zwPo21k9oGTJ9VxQHUBZcPZX1/P3GG0jYIegXDo8GFow9rh1KlTwd5wuPmfrx/Yf9UArGxc5cRg2IQmvueJp596zWa1NFqtNgxaVkC3KKjOimmkyY5LHYM+89Z4i7KcAYc1bM3Qj2mSAmt/LN760x/9+DZ0kSYMfnvean0zXLKzQYwFPoNBPIH53GmxYEawWsCMWWEsllCKRppP4DqBFk6xWJxACOMagXw/WCyNUXFOhPmeo7clIiGcNMaKE9q90XL4t9lozhgTPMaET0Q6QUDeRiP8qAGgNqvh3lbjl/vux0nD/f1kdjFmfolEku0BjHejOWguxeSVjiCEiadrG+5pHS09bqyMUGo0yP2vGW0eHy1Y2CIIO22XG9RTndHGh+H8nNJsWj0EoZJZ2YtIQro/FExxttuKSXklBUDdcHCGFr7awlknbjaZUHiDke3iYJxQzgNVIISCXR0YEhj9/h4TWt31yZ8CpfMApNIgx77ZlRJc2+rnzR3zv+aVREUUHDEQtogYeTUABEFkW2bKgQZdeXZgQoclOSD0/xQB+eM1bUuNNj41AGi3Oa2eDFFGQnC2jdbfxw0ArZ0/sNXXP/WBdTzHb+QFwS+qB6ckvLKhoQAA6iGHZgjaFjdAHgBlz69g3y8gydJe24Vn909bsz1YKp658QpWBEbCvaoxa51Wz3OcH6X149XJqRbADZha1g5T6D9AZDmMP1BgOYD3aEHWimYeHA8+OfiW28lTp+l/DnwD44Dq/8HxErTcyq3cyq3cyq3cym1g+48AAwDQ4puYcSrMSAAAAABJRU5ErkJggg=="; /***/ }, /***/ "./src/components/connection-modal/icons/back.svg" /*!********************************************************!*\ !*** ./src/components/connection-modal/icons/back.svg ***! \********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5iYWNrPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9ImJhY2siIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik0xMC4xNTc1OTIyLDE2Ljk5NDEwMyBDOS44NDY1MDAyMSwxNi45OTQxMDMgOS41NTYxNDc2OCwxNi44NzUxOTY3IDkuMzQwNDU3MjMsMTYuNjYwODg4OSBMNC45OTg5OTU1OSwxMi4zMTk0MjcyIEM0LjY2MzAxNjIzLDExLjk2MjcwODQgNC41NzMxNDUyMSwxMS40NjIxOTU5IDQuNzU5ODAwNDEsMTEuMDMyMTk3NyBDNC45NDUwNzI5OCwxMC42MDIxOTk0IDUuMzU0MzMxNzgsMTAuMzM2NzM0MiA1LjgyODU3NDI1LDEwLjMzNjczNDIgTDcuNDc1Mjg3ODgsMTAuMzM2NzM0MiBMOC4zMTQ1NDQ5Niw0LjI5NDYzNjMzIEM4LjQzNDgzMzg2LDMuMzY5NjU2MTMgOS4yMzk1MjUxNiwyLjY2NTg5NjkgMTAuMTg2NjI3NSwyLjY2NTg5NjkgQzEwLjI2ODIwMjcsMi42NjU4OTY5IDEwLjM1MTE2MDYsMi42NzE0Mjc0MiAxMC40MzI3MzU4LDIuNjgxMTA1ODQgQzExLjI4NzIwMTgsMi44MTUyMjEwNiAxMS45NDY3MTY4LDMuNDgxNjQ5MjQgMTIuMDUwNDE0Miw0LjMwMTU0OTQ4IEwxMi45MTE3OTM0LDEwLjMzNjczNDIgTDE0LjQ4NjYxMDIsMTAuMzM2NzM0MiBDMTQuOTY2MzgzMiwxMC4zMzY3MzQyIDE1LjM5MzYxNjIsMTAuNjE4NzkxIDE1LjU3NDc0MDgsMTEuMDU0MzE5OCBDMTUuNzU1ODY1NSwxMS40OTI2MTM4IDE1LjY1NzY5ODcsMTEuOTc3OTE3MyAxNS4zMTYxODg4LDEyLjMxOTQyNzIgTDEwLjk3NDcyNzIsMTYuNjYwODg4OSBDMTAuNzU5MDM2NywxNi44NzUxOTY3IDEwLjQ2ODY4NDIsMTYuOTk0MTAzIDEwLjE1NzU5MjIsMTYuOTk0MTAzIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC4xNjQxMDMsIDkuODMwMDAwKSByb3RhdGUoLTI3MC4wMDAwMDApIHRyYW5zbGF0ZSgtMTAuMTY0MTAzLCAtOS44MzAwMDApICI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/connection-modal/icons/bluetooth-white.svg" /*!*******************************************************************!*\ !*** ./src/components/connection-modal/icons/bluetooth-white.svg ***! \*******************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5ibHVldG9vdGgtd2hpdGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iYmx1ZXRvb3RoLXdoaXRlIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cGF0aCBkPSJNMTAuMDA2NzkyOSwxMi4xMDY3NTA1IEwxMi4zOTU3Mzg3LDE0LjAwMTY2MDggTDEwLjAwNjc5MjksMTUuOTE3ODk1OSBMMTAuMDA2NzkyOSwxMi4xMDY3NTA1IFogTTEwLjAwNjc5MjksNC4wODkyODQxMyBMMTIuMzg1NDM0NCw1Ljk5NDUyMzYyIEwxMC4wMDY3OTI5LDcuODc5MTA0NjkgTDEwLjAwNjc5MjksNC4wODkyODQxMyBaIE04Ljg4NDk0ODk2LDEuMDA2ODQ3ODcgQzguMzgzMzYwMDgsMS4wNzAxNTU5MyA4LjAwODQxNDkyLDEuNDk5OTg0MzYgOC4wMTI0MDM2OSwyLjAwNjc4MjA2IEw4LjAxMjQwMzY5LDcuOTYyNDA0NzcgTDYuNjQxMjYxMTMsNi44Nzk1MDM3IEM2LjQzMTg1MDI2LDYuNzA3OTA1NTMgNi4xNjE5NDI5Miw2LjYyOTI3MDI1IDUuODkzMzY1MTgsNi42NjA5MjQyOCBDNS4zNDU1NzI5NSw2LjcxODU2Nzk0IDQuOTQ4MDI0Nyw3LjIxMDAzODQzIDUuMDA1NTI5NTksNy43NTkxNTI1NyBDNS4wMzQxMTU4NCw4LjAzNDA0Mjg0IDUuMTc1MDUyNjcsOC4yODQ5NDI2OSA1LjM5NDc2Nzg4LDguNDUxODc2MDYgTDcuMzQ3NjA3Myw5Ljk5MjkyNzU5IEw1LjM5NDc2Nzg4LDExLjU0NDMwODMgQzQuOTYxNjUzMDMsMTEuODg5NTAzOSA0Ljg4OTUyMjYyLDEyLjUyMTI1MTcgNS4yMzM4ODcxNSwxMi45NTUwNzg1IEM1LjU3NzkxOTI5LDEzLjM4OTU3MTggNi4yMDgxNDYyNywxMy40NjE1NDMgNi42NDEyNjExMywxMy4xMTY2ODA3IEw4LjAxMjQwMzY5LDEyLjAyMzQ1MDQgTDguMDEyNDAzNjksMTguMDAwMDY0NyBDOC4wMTI0MDM2OSwxOC41NTIxNzc3IDguNDU4NDgyMDgsMTguOTk5OTk4OSA5LjAwOTI2NTg5LDE4Ljk5OTk5ODkgQzkuMjM1OTYxNDYsMTkuMDAwMzMyMSA5LjQ1NjAwOTA3LDE4LjkyMzAyOTcgOS42MzI4NDQ5MSwxOC43ODEwODYzIEwxNC42MTg4MTc5LDE0Ljc4MjY4MjMgQzE1LjA1MTkzMjcsMTQuNDQxODE4NCAxNS4xMjcwNTQ3LDEzLjgxMzA2OTQgMTQuNzg3MDExNCwxMy4zNzg5MDkzIEMxNC43Mzc4MTY0LDEzLjMxNjI2NzcgMTQuNjgxMzA4NywxMy4yNTk2MjM2IDE0LjYxODgxNzksMTMuMjEwMzEgTDEwLjU2NzU0ODYsMTAuMDAzMjU2OCBMMTQuNjE4ODE3OSw2Ljc4NTg3NDQxIEMxNS4wNDg5NDEyLDYuNDQxMzQ1MjYgMTUuMTE5MDc3Miw1LjgxMTkyOTg0IDE0Ljc3NTM3NzQsNS4zODA3Njg2MSBDMTQuNzI5MTc0MSw1LjMyMjc5MTc1IDE0LjY3NjY1NTIsNS4yNzAxNDYxIDE0LjYxODgxNzksNS4yMjM4MzEyNiBMOS42MzI4NDQ5MSwxLjIyNTQyNzI5IEM5LjQyMzQzNDA1LDEuMDU0MTYyMzIgOS4xNTM1MjY3MSwwLjk3NTE5MzgzOCA4Ljg4NDk0ODk2LDEuMDA2ODQ3ODcgWiIgaWQ9IkZpbGwtMSIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/connection-modal/icons/bluetooth.svg" /*!*************************************************************!*\ !*** ./src/components/connection-modal/icons/bluetooth.svg ***! \*************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNTJweCIgaGVpZ2h0PSI1MnB4IiB2aWV3Qm94PSIwIDAgNTIgNTIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUxLjEgKDU3NTAxKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5CbHVldG9vdGg8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8Y2lyY2xlIGlkPSJwYXRoLTEiIGN4PSIyMiIgY3k9IjIyIiByPSIyMiI+PC9jaXJjbGU+CiAgICAgICAgPGZpbHRlciB4PSItMTMuNiUiIHk9Ii0xMy42JSIgd2lkdGg9IjEyNy4zJSIgaGVpZ2h0PSIxMjcuMyUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9IjIiIG9wZXJhdG9yPSJkaWxhdGUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dTcHJlYWRPdXRlcjEiPjwvZmVNb3JwaG9sb2d5PgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIwIiBpbj0ic2hhZG93U3ByZWFkT3V0ZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAuMjk4MDM5MjE2ICAgMCAwIDAgMCAwLjU5MjE1Njg2MyAgIDAgMCAwIDAgMSAgMCAwIDAgMC4yNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJSMV9FeHRlbnNpb24iIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJOby1Db21tcy13aXRoLVNjcmF0Y2gtTGluay1vci1CbHVldG9vdGgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01MDYuMDAwMDAwLCAtMzQ1LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0iTm8tY29ubmVjdGlvbi12MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIuMDAwMDAwLCAwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9Ik1vZGFsIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MDcuMDAwMDAwLCAxODcuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IkJsdWV0b290aCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTIuMDAwMDAwLCAxNjIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUzLjAwMDAwMCwgMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJPdmFsLTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci0yKSIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSIjNEM5N0ZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyLjAwOTk2MjksMjUuNDE3MzUxOCBMMjUuNTEzNzUwMSwyOC4xODk4NjMgTDIyLjAwOTk2MjksMzAuOTkzNTc1MyBMMjIuMDA5OTYyOSwyNS40MTczNTE4IFogTTIyLjAwOTk2MjksMTMuNjg2NzA5MSBMMjUuNDk4NjM3MSwxNi40NzQzMzM0IEwyMi4wMDk5NjI5LDE5LjIzMTczMTUgTDIyLjAwOTk2MjksMTMuNjg2NzA5MSBaIE0yMC4zNjQ1OTE4LDkuMTc2Njg2MDMgQzE5LjYyODkyODEsOS4yNjkzMTQzMyAxOS4wNzkwMDg1LDkuODk4MjExNzIgMTkuMDg0ODU4OCwxMC42Mzk3MjU2IEwxOS4wODQ4NTg4LDE5LjM1MzYxMDkgTDE3LjA3Mzg0OTcsMTcuNzY5MTc5NSBDMTYuNzY2NzEzNywxNy41MTgxMDggMTYuMzcwODQ5NiwxNy40MDMwNTM5IDE1Ljk3NjkzNTYsMTcuNDQ5MzY4MSBDMTUuMTczNTA3LDE3LjUzMzcwODYgMTQuNTkwNDM2MiwxOC4yNTI3OTY3IDE0LjY3NDc3NjcsMTkuMDU2MjI1MyBDMTQuNzE2NzAzMiwxOS40NTg0MjcxIDE0LjkyMzQxMDYsMTkuODI1NTI3NyAxNS4yNDU2NTk2LDIwLjA2OTc3MzkgTDE4LjEwOTgyNCwyMi4zMjQ1NDE2IEwxNS4yNDU2NTk2LDI0LjU5NDQyMjUgQzE0LjYxMDQyNDQsMjUuMDk5NDkwNCAxNC41MDQ2MzMyLDI2LjAyMzgyMzQgMTUuMDA5NzAxMiwyNi42NTg1NzEgQzE1LjUxNDI4MTYsMjcuMjk0MjkzNiAxNi40Mzg2MTQ1LDI3LjM5OTU5NzMgMTcuMDczODQ5NywyNi44OTUwMTY5IEwxOS4wODQ4NTg4LDI1LjI5NTQ3MjQgTDE5LjA4NDg1ODgsMzQuMDQwMDcxMyBDMTkuMDg0ODU4OCwzNC44NDc4ODc1IDE5LjczOTEwNywzNS41MDMxMTA5IDIwLjU0NjkyMzMsMzUuNTAzMTEwOSBDMjAuODc5NDEwMSwzNS41MDM1OTg0IDIxLjIwMjE0NjYsMzUuMzkwNDk0MyAyMS40NjE1MDU5LDM1LjE4MjgxMiBMMjguNzc0MjY2MiwyOS4zMzI2MDM3IEMyOS40MDk1MDE0LDI4LjgzMzg3MzQgMjkuNTE5NjgwMywyNy45MTM5MjgyIDI5LjAyMDk1LDI3LjI3ODY5MyBDMjguOTQ4Nzk3NCwyNy4xODcwMzk4IDI4Ljg2NTkxOTUsMjcuMTA0MTYxOCAyOC43NzQyNjYyLDI3LjAzMjAwOTMgTDIyLjgzMjQwNDcsMjIuMzM5NjU0NyBMMjguNzc0MjY2MiwxNy42MzIxODcxIEMyOS40MDUxMTM3LDE3LjEyODA5NDEgMjkuNTA3OTc5OSwxNi4yMDcxNzM4IDI5LjAwMzg4NjksMTUuNTc2MzI2NCBDMjguOTM2MTIyLDE1LjQ5MTQ5ODQgMjguODU5MDk0MywxNS40MTQ0NzA2IDI4Ljc3NDI2NjIsMTUuMzQ2NzA1NyBMMjEuNDYxNTA1OSw5LjQ5NjQ5NzQyIEMyMS4xNTQzNjk5LDkuMjQ1OTEzNSAyMC43NTg1MDU4LDkuMTMwMzcxODggMjAuMzY0NTkxOCw5LjE3NjY4NjAzIFoiIGlkPSJGaWxsLTEiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/connection-modal/icons/enter-update.svg" /*!****************************************************************!*\ !*** ./src/components/connection-modal/icons/enter-update.svg ***! \****************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS43ODQgNS41ODd2Ni4xNGMtLjAxNS40OS0uMzA1LjkwNy0uNzQxIDEuMDhhMS4xNDMgMS4xNDMgMCAwIDEtMS4yNDgtLjI2NWwtMS4xNjQtMS4xNjQtNC44NjYgMy42NzlhMS44ODcgMS44ODcgMCAwIDEtMi42MzktLjM1N2MtLjUxLS42OTktLjUwNC0xLjYzNi4wMDItMi4yOWwzLjY1OC00Ljg3Nkw3LjY3MyA2LjQyYy0uMzQtLjMzOS0uNDQyLS44NC0uMjYyLTEuMjc3YTEuMTQ1IDEuMTQ1IDAgMCAxIDEuMDc3LS43MTFoNi4xNGMuMzA0IDAgLjU5NC4xMjIuODEzLjM0Mi4yMi4yMi4zNDIuNTEuMzQzLjgxM3oiIGZpbGw9IiNmZmYiLz48L3N2Zz4="; /***/ }, /***/ "./src/components/connection-modal/icons/help.svg" /*!********************************************************!*\ !*** ./src/components/connection-modal/icons/help.svg ***! \********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5oZWxwPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9ImhlbHAiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik05Ljk5OTA1NDQ5LDE4IEM1LjU4MTYwOTc0LDE4IDIsMTQuNDE3MzQ2MSAyLDEwLjAwMDk0NTMgQzIsNS41ODI2NTM5MSA1LjU4MTYwOTc0LDIgOS45OTkwNTQ0OSwyIEMxNC40MTgzOTAzLDIgMTgsNS41ODI2NTM5MSAxOCwxMC4wMDA5NDUzIEMxOCwxNC40MTczNDYxIDE0LjQxODM5MDMsMTggOS45OTkwNTQ0OSwxOCBaIE05Ljg1MzI1NjEyLDEyLjM2MTUyNjYgQzkuMjY4OTI4MDIsMTIuMzYxNTI2NiA4LjgwNTYyNTgxLDEyLjgzNjA2MjkgOC44MDU2MjU4MSwxMy40MjIxNDM0IEM4LjgwNTYyNTgxLDEzLjk5MzA5OTQgOS4yNjg5MjgwMiwxNC40Njc2MzU2IDkuODUzMjU2MTIsMTQuNDY3NjM1NiBDMTAuNDM5NDc1MiwxNC40Njc2MzU2IDEwLjkxNDEyMzYsMTMuOTkzMDk5NCAxMC45MTQxMjM2LDEzLjQyMjE0MzQgQzEwLjkxNDEyMzYsMTIuODM2MDYyOSAxMC40Mzk0NzUyLDEyLjM2MTUyNjYgOS44NTMyNTYxMiwxMi4zNjE1MjY2IFogTTkuNDYxODEzMDIsMTEuNjQzMTA1MyBMMTAuMTU5NjAyOSwxMS42NDMxMDUzIEMxMC4zNDg3MDU4LDExLjY0MzEwNTMgMTAuNTI0NTcxNiwxMS41MjM5OTg2IDEwLjU2OTk1NjMsMTEuMzQwNjEyMSBDMTAuNjU4ODM0NywxMC45NzAwNTc5IDEwLjkxNDEyMzYsMTAuNzE2NzE5OCAxMS4yNTQ1MDg5LDEwLjQ2MTQ5MTIgTDExLjcxNTkyMDEsMTAuMTIxMTg2MyBDMTIuNDQ1ODU3NSw5LjU3MjkxNzQxIDEyLjg5NzgxMzUsOC45MDU1NDE3NyAxMi44OTc4MTM1LDcuOTMwMDAxMTggQzEyLjg5NzgxMzUsNi43MTQzNTY2MSAxMS45MTA2OTYxLDUuNTMyNzQyNTMgOS45MzgzNTI0NCw1LjUzMjc0MjUzIEM4LjE2MDc4NDc4LDUuNTMyNzQyNTMgNy4xMDE4MDgzLDYuNzM3MDQzNiA3LjEwMTgwODMsOC4xNjA2NTIyNSBDNy4xMDE4MDgzLDguMTk4NDYzOSA3LjEwMzY5OTMzLDguMjM2Mjc1NTUgNy4xMDM2OTkzMyw4LjI3NTk3Nzc5IEM3LjExMzE1NDQ3LDguNDk3MTc1OTQgNy4yODkwMjAyMSw4LjY3ODY3MTg3IDcuNTEwMjcwNjUsOC42ODYyMzQyIEw4LjM4MzkyNjI1LDguNzE2NDgzNTIgQzguNjI0MDg2OTksOC43MjU5MzY0MyA4LjgxODg2MzAyLDguNTMzMDk3MDEgOC44MTg4NjMwMiw4LjI5Mjk5MzAzIEw4LjgxODg2MzAyLDguMjgzNTQwMTIgQzguODE4ODYzMDIsNy43MTI1ODQxOSA5LjIzMjk5ODQ2LDcuMTM5NzM3NjggOS45MzgzNTI0NCw3LjEzOTczNzY4IEMxMC42NzAxODA4LDcuMTM5NzM3NjggMTEuMDIxOTEyMyw3LjYwMTAzOTgyIDExLjAyMTkxMjMsOC4wNzU1NzYwNCBDMTEuMDIxOTEyMyw4LjM5MzE5MzkgMTAuOTE0MTIzNiw4LjY4NjIzNDIgMTAuNTg1MDg0NSw4LjkzMDExOTM0IEw5Ljk2NDgyNjg1LDkuMzkzMzEyMDYgQzkuMjY4OTI4MDIsOS45MTUxMTI4NCA5LjAzNjMzMTQsMTAuNTM1MjIzOSA5LjAzNjMzMTQsMTEuMTA4MDcwNCBDOS4wMzYzMzE0LDExLjE1MTU1MzggOS4wMzgyMjI0MywxMS4xOTUwMzcyIDkuMDM4MjIyNDMsMTEuMjM0NzM5NSBDOS4wNDU3ODY1NSwxMS40NjM0OTk5IDkuMjMyOTk4NDYsMTEuNjQzMTA1MyA5LjQ2MTgxMzAyLDExLjY0MzEwNTMgWiIgaWQ9ImhlbHAtaWNvbiIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/connection-modal/icons/refresh.svg" /*!***********************************************************!*\ !*** ./src/components/connection-modal/icons/refresh.svg ***! \***********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5yZWZyZXNoPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9InJlZnJlc2giIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik02Ljc0ODM4NjE3LDE0LjYyOTIzNzIgQzYuNzQ4Mzg2MTcsMTQuOTkzMzE5IDYuNDUxNzExNDUsMTUuMjg4NTIwNSA2LjA4NTgxMjY0LDE1LjI4ODUyMDUgQzUuNzE5OTEzODIsMTUuMjg4NTIwNSA1LjQxMzM0OTk0LDE0Ljk5MzMxOSA1LjQxMzM0OTk0LDE0LjYyOTIzNzIgQzUuNDEzMzQ5OTQsMTQuMjU1MzE1NCA1LjcxOTkxMzgyLDEzLjk1OTEzIDYuMDg1ODEyNjQsMTMuOTU5MTMgQzYuNDUxNzExNDUsMTMuOTU5MTMgNi43NDgzODYxNywxNC4yNTUzMTU0IDYuNzQ4Mzg2MTcsMTQuNjI5MjM3MiBaIE0xMS4zNzcxMDUxLDYuMTM3Mzc0MjUgQzEwLjA0MTA4LDUuOTExMDUzMTUgOC43MDcwMzI2Niw2LjM0NDAxNTI2IDcuNzk3MjMwMTksNy4xODA0MTkzNCBMOC45NTQyNjE1OSw4LjMzMDcyMDk1IEM5LjM5OTI3MzY3LDguNzgzMzYzMTUgOS4wODI4MjA2NCw5LjU1MTg3MDkgOC40MzkwMzY1LDkuNTUxODcwOSBMMy43MjI4OTc0LDkuNTUxODcwOSBDMy4zMjYzNDIxOSw5LjU1MTg3MDkgMyw5LjIyNzE0OTMxIDMsOC44MzI1NjMzOSBMMyw0LjEzOTg0NDUyIEMzLDMuNDk5MjU3NCAzLjc3MjM0MzE4LDMuMTg1MzU5ODcgNC4yMjcyNDQ0MiwzLjYyNzE3ODAyIEw1LjIxNjE2MDE0LDQuNjExMTgyODIgQzYuMTE2MDczNDYsMy45MTI1Mzk0MSA3LjE2MzMzNTIxLDMuNDEwNjk2OTcgOC4yNjIwMjA1OCwzLjE3NDUzNTgxIEM5LjUzNzcyMTg3LDIuODk5OTk4NDggMTAuODYxODgsMi45NDkxOTg3MiAxMi4wNzkyMzUzLDMuMzIzMTIwNTQgQzE0LjUzMDc1NzQsNC4wNjExMjQxNCAxNi40Mjk0NzU2LDYuMTA3ODU0MTEgMTYuOTczMzc5Miw4LjQ0OTc4NTUzIEMxNy4xMDI5MjcyLDkuMDEwNjY4MjYgMTYuNzQ2OTE3NSw5LjU4MTM5MTA0IDE2LjE4MjI0NjYsOS43MDkzMTE2NiBDMTUuNjU4MTIxMyw5LjgzNzIzMjI5IDE1LjE0NDg3NCw5LjU0MjAzMDg1IDE0Ljk1Njk4MDEsOS4wNTk4Njg1IEwxNC45NTY5ODAxLDkuMDUwMDI4NDUgQzE0LjM1Mzc0MTUsNy40ODQ0NzY4MiAxMi45MDAwMzUzLDYuMzYyNzExMzUgMTEuMzc3MTA1MSw2LjEzNzM3NDI1IFogTTkuNDU4MjEzMDUsMTYuMTQ0NjA0NiBDOS40NTgyMTMwNSwxNi41NTc4ODY2IDkuMTIxOTgxNywxNi44OTI0NDgzIDguNzA2NjM3MSwxNi44OTI0NDgzIEM4LjI5MTI5MjQ5LDE2Ljg5MjQ0ODMgNy45NjQ5NTAzLDE2LjU1Nzg4NjYgNy45NjQ5NTAzLDE2LjE0NDYwNDYgQzcuOTY0OTUwMywxNS43MzEzMjI2IDguMjkxMjkyNDksMTUuNDA2NjAxIDguNzA2NjM3MSwxNS40MDY2MDEgQzkuMTIxOTgxNywxNS40MDY2MDEgOS40NTgyMTMwNSwxNS43MzEzMjI2IDkuNDU4MjEzMDUsMTYuMTQ0NjA0NiBaIE0xNS4yOTMyMTE0LDE0LjcxNzYwMDkgQzE1LjI5MzIxMTQsMTUuMjA5NjAzMyAxNC44ODc3NTYsMTUuNjEzMDQ1MiAxNC4zODM0MDg5LDE1LjYxMzA0NTIgQzEzLjg3ODA3MywxNS42MTMwNDUyIDEzLjQ3MzYwNjUsMTUuMjA5NjAzMyAxMy40NzM2MDY1LDE0LjcxNzYwMDkgQzEzLjQ3MzYwNjUsMTQuMjE1NzU4NCAxMy44NzgwNzMsMTMuODEyMzE2NSAxNC4zODM0MDg5LDEzLjgxMjMxNjUgQzE0Ljg4Nzc1NiwxMy44MTIzMTY1IDE1LjI5MzIxMTQsMTQuMjE1NzU4NCAxNS4yOTMyMTE0LDE0LjcxNzYwMDkgWiBNMTYuOTU0MjkzMiwxMi4xMzk0MDk5IEMxNi45NTQyOTMyLDEyLjY5MDQ1MjYgMTYuNTA5MjgxMSwxMy4xMjM0MTQ3IDE1Ljk2NTM3NzQsMTMuMTIzNDE0NyBDMTUuNDIxNDczOCwxMy4xMjM0MTQ3IDE0Ljk3NjQ2MTcsMTIuNjkwNDUyNiAxNC45NzY0NjE3LDEyLjEzOTQwOTkgQzE0Ljk3NjQ2MTcsMTEuNTk4MjA3MyAxNS40MjE0NzM4LDExLjE1NTQwNTEgMTUuOTY1Mzc3NCwxMS4xNTU0MDUxIEMxNi41MDkyODExLDExLjE1NTQwNTEgMTYuOTU0MjkzMiwxMS41OTgyMDczIDE2Ljk1NDI5MzIsMTIuMTM5NDA5OSBaIE0xMi41NjQwMDE4LDE2LjE3MzQzNiBDMTIuNTY0MDAxOCwxNi42MjYwNzgyIDEyLjE4NzIyNDksMTcgMTEuNzMyMzIzNywxNyBDMTEuMjc3NDIyNCwxNyAxMC45MTE1MjM2LDE2LjYyNjA3ODIgMTAuOTExNTIzNiwxNi4xNzM0MzYgQzEwLjkxMTUyMzYsMTUuNzIwNzkzOCAxMS4yNzc0MjI0LDE1LjM0Njg3MTkgMTEuNzMyMzIzNywxNS4zNDY4NzE5IEMxMi4xODcyMjQ5LDE1LjM0Njg3MTkgMTIuNTY0MDAxOCwxNS43MjA3OTM4IDEyLjU2NDAwMTgsMTYuMTczNDM2IFoiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/connection-modal/icons/scratchlink.svg" /*!***************************************************************!*\ !*** ./src/components/connection-modal/icons/scratchlink.svg ***! \***************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHdpZHRoPSI1MnB4IiBoZWlnaHQ9IjUycHgiIHZpZXdCb3g9IjAgMCA1MiA1MiIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTIgNTI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMEZCRDhDO30KCS5zdDF7ZmlsbDojRkZGRkZGO30KCS5zdDJ7ZmlsbDojRjlBODNBO30KPC9zdHlsZT4KPHRpdGxlPlNjcmF0Y2ggTGluazwvdGl0bGU+CjxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgo8ZyBpZD0iX3gzNV8yeDUyLWZvci10aGUtZGlhbG9nIj4KCTxnIGlkPSJHcm91cCI+CgkJPHBhdGggaWQ9ImJnIiBjbGFzcz0ic3QwIiBkPSJNNDEuNCw1YzMuMSwwLDUuNiwyLjUsNS42LDUuNnYzMC44YzAsMy4xLTIuNSw1LjYtNS42LDUuNkgxMC42QzcuNSw0Nyw1LDQ0LjUsNSw0MS40VjEwLjYKCQkJQzUsNy41LDcuNSw1LDEwLjYsNUg0MS40eiIvPgoJCTxwYXRoIGlkPSJzY3JhdGNoLW91dGxpbmUtMiIgY2xhc3M9InN0MSIgZD0iTTI4LjgsMjguOWMwLDIuNy0xLjEsNS40LTMuMiw3LjJjLTEuNywxLjUtMy44LDIuMy01LjksMi40Yy0xLDAuOC0yLjIsMS4zLTMuNSwxLjQKCQkJYy0wLjEsMC0wLjMsMC0wLjQsMGMtMy4zLDAtNi4xLTIuNy02LjQtNi4yYzAsMCwwLTAuMSwwLTAuMmMwLDAsMCwwLDAtMC4xYy0wLjEtMS41LDAtMi43LDAtMy40YzAtMC43LDAuMS0yLDAuMS0yLjN2MAoJCQljMC0xLDAuMy0yLDAuNy0yLjljLTAuMS0xLTAuMS0yLjEsMC0zLjJsMC0wLjJjMCwwLDAsMCwwLTAuMWMwLDAsMCwwLDAtMC4xYzAuMS0xLDAuMy0yLjUsMS4xLTQuMmMxLjQtMi43LDQtNC4zLDctNC4zaDAuMQoJCQljMC45LTAuNSwyLTAuOCwzLjEtMC44aDAuMWMzLjUsMC4xLDYuMywzLjEsNi4zLDYuN2MwLDAtMC4xLDQuNC0wLjMsNS45QzI4LjQsMjUuOSwyOC43LDI3LjQsMjguOCwyOC45Ii8+CgkJPHBhdGggaWQ9InNjcmF0Y2gtb3V0bGluZS0xIiBjbGFzcz0ic3QyIiBkPSJNMjUuOCwyOWMwLDEuOC0wLjgsMy42LTIuMiw0LjhjLTEuMiwxLjEtMi44LDEuNy00LjMsMS43Yy0wLjMsMC0wLjUsMC0wLjgtMC4xCgkJCWMtMC4xLDAuMS0wLjEsMC4yLTAuMiwwLjJjLTAuNiwwLjctMS41LDEuMS0yLjQsMS4yYy0wLjEsMC0wLjEsMC0wLjIsMGMtMS44LDAtMy4zLTEuNS0zLjQtMy4zYzAsMCwwLTAuMSwwLTAuMWwwLDAKCQkJYy0wLjEtMS4zLDAtMi40LDAtMy4xYzAtMC44LDAuMS0yLjEsMC4xLTIuNGMwLTAuOSwwLjMtMS43LDAuOS0yLjRjLTAuMy0xLTAuNC0yLjEtMC4yLTMuNWwwLTAuMmMwLDAsMCwwLDAsMAoJCQljMC4xLTAuOCwwLjItMiwwLjgtMy4xYzAuOS0xLjcsMi41LTIuNyw0LjQtMi43YzAuMSwwLDAuMiwwLDAuMywwYzAuMiwwLDAuNCwwLDAuNiwwLjFjMC42LTAuNiwxLjUtMC45LDIuNC0wLjkKCQkJYzEuOSwwLDMuNCwxLjYsMy40LDMuNmMwLDAtMC4yLDUuMi0wLjIsNS43YzAsMC4zLTAuMSwwLjUtMC4yLDAuOEMyNS4zLDI2LjIsMjUuOCwyNy41LDI1LjgsMjkiLz4KCQk8cGF0aCBpZD0ic2NyYXRjaC1maWxsIiBjbGFzcz0ic3QxIiBkPSJNMTguMywyNS4zYy0wLjktMC4xLTEuNC0wLjgtMS4xLTIuN2wwLTAuMmMwLjItMS43LDAuNC0yLDEuMS0yYzAuMiwwLDAuNSwwLjIsMC43LDAuNAoJCQljMC4yLDAuMywwLjgsMC43LDEuMSwxLjRjMC4yLDAuNSwwLjMsMC45LDAuMywxLjNsMCwwLjV2MGMwLjEsMC4zLDAuMywwLjYsMC42LDAuNmMwLjQsMC4xLDAuOC0wLjIsMC45LTAuNgoJCQljMC0wLjEsMC4yLTUuMSwwLjItNS4yYzAtMC40LTAuMy0wLjgtMC44LTAuOGMtMC40LDAtMC44LDAuNC0wLjgsMC44YzAsMCwwLDAuNywwLDEuNGMtMC42LTAuNy0xLjQtMS4zLTIuMy0xLjQKCQkJYy0yLjMtMC4xLTIuNiwyLjEtMi44LDMuNGwwLDAuMmMtMC4zLDIuNSwwLjUsNC4yLDIuNCw0LjVjMi4xLDAuMywzLjUsMC44LDMuNSwyLjJjMCwwLjUtMC4zLDEuMS0wLjcsMS41Yy0wLjYsMC41LTEuMywwLjctMiwwLjYKCQkJYy0wLjIsMC0wLjQtMC4xLTAuNi0wLjJjLTAuMy0wLjItMS0wLjYtMS4zLTEuMWMtMC4zLTAuNC0wLjQtMS4xLTAuNC0xLjVjMC0wLjIsMC0wLjMsMC0wLjNjMC0wLjQtMC4zLTAuOC0wLjgtMC44CgkJCWMtMC40LDAtMC44LDAuMy0wLjgsMC44YzAsMCwwLDEuNi0wLjEsMi41Yy0wLjEsMS41LDAsMi44LDAsMi45YzAsMC40LDAuNCwwLjgsMC44LDAuOGMwLjQsMCwwLjgtMC40LDAuNy0wLjljMCwwLDAtMC42LDAtMS41CgkJCWMwLjYsMC40LDEuMywwLjcsMi4yLDAuOWMxLjIsMC4yLDIuMy0wLjEsMy4zLTFjMC44LTAuNywxLjMtMS43LDEuMy0yLjdDMjMuMSwyNiwxOS45LDI1LjUsMTguMywyNS4zIi8+CgkJPHBhdGggaWQ9InNpZ25hbCIgY2xhc3M9InN0MSIgZD0iTTM3LjcsMzYuOWMtMC4yLDAtMC40LTAuMS0wLjUtMC4yYy0wLjMtMC4zLTAuMy0wLjgsMC0xLjFjMi42LTIuNiw0LTYsNC05LjYKCQkJYzAtMy42LTEuNC03LjEtNC05LjdjLTAuMy0wLjMtMC4zLTAuOCwwLTEuMWMwLjMtMC4zLDAuOC0wLjMsMSwwYzIuOCwyLjksNC40LDYuNyw0LjQsMTAuN2MwLDQtMS42LDcuOS00LjQsMTAuNwoJCQlDMzguMSwzNi45LDM3LjksMzYuOSwzNy43LDM2Ljl6IE0zNSwzMy41Yy0wLjIsMC0wLjQtMC4xLTAuNS0wLjJjLTAuMy0wLjMtMC4zLTAuOCwwLTEuMWMxLjctMS43LDIuNi0zLjksMi42LTYuMwoJCQljMC0yLjQtMC45LTQuNi0yLjYtNi4zYy0wLjMtMC4zLTAuMy0wLjgsMC0xLjFjMC4zLTAuMywwLjgtMC4zLDEsMGMxLjksMiwzLDQuNiwzLDcuM2MwLDIuOC0xLjEsNS40LTMsNy4zCgkJCUMzNS40LDMzLjUsMzUuMiwzMy41LDM1LDMzLjV6IE0zMi4zLDMwLjFjLTAuMiwwLTAuNC0wLjEtMC41LTAuMmMtMC4zLTAuMy0wLjMtMC44LDAtMS4xYzAuOC0wLjgsMS4yLTEuOCwxLjItMi45CgkJCWMwLTEuMS0wLjQtMi4xLTEuMi0yLjljLTAuMy0wLjMtMC4zLTAuOCwwLTEuMWMwLjMtMC4zLDAuOC0wLjMsMSwwYzEsMSwxLjYsMi40LDEuNiwzLjljMCwxLjUtMC42LDIuOS0xLjYsMy45CgkJCUMzMi43LDMwLjEsMzIuNSwzMC4xLDMyLjMsMzAuMXoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/connection-modal/icons/searching.png" /*!*************************************************************!*\ !*** ./src/components/connection-modal/icons/searching.png ***! \*************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/searching.48df3abff5e8eb9a597f.png"; /***/ }, /***/ "./src/components/connection-modal/icons/send-update-white.svg" /*!*********************************************************************!*\ !*** ./src/components/connection-modal/icons/send-update-white.svg ***! \*********************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC40MDQgNC4xMTFhMy42NiAzLjY2IDAgMCAxIC44OTcgMy4wNjljLS4xOTQgMS4zMDUtMS4xNTggMi41NTEtMi41MDUgMy4wNjhoLS4wMDhhLjkwMS45MDEgMCAwIDAtLjU2IDEuMDUxYy4xMTEuNDgzLjYwMi43ODkgMS4wODQuNjc4IDIuMDE1LS40NjYgMy43NzUtMi4wOTMgNC40MS00LjE5NmE2LjQ5NSA2LjQ5NSAwIDAgMCAuMTI4LTMuMjcyIDYuNTE3IDYuNTE3IDAgMCAwLTEuMjM2LTIuNjFsLjg0Ni0uODQ4QS42MTguNjE4IDAgMCAwIDEzLjAyIDBIOC45ODNjLS4zNCAwLS42MTkuMjgtLjYxOS42MTl2NC4wNDNjMCAuNTUxLjY2MS44MjIgMS4wNS40NGwuOTktLjk5ek0zLjU5NiA3Ljg5YTMuNjYzIDMuNjYzIDAgMCAxLS44OTgtMy4wNjljLjE5NS0xLjMwNSAxLjE2LTIuNTUyIDIuNTA2LTMuMDY4aC4wMDhBLjkwMi45MDIgMCAwIDAgNS43NzEuNy45MDguOTA4IDAgMCAwIDQuNjg4LjAyM0MyLjY3My40ODkuOTEzIDIuMTE2LjI3OCA0LjIxOWE2LjQ4MSA2LjQ4MSAwIDAgMC0uMTI3IDMuMjdjLjIwMy45NDIuNjM1IDEuODQgMS4yMzYgMi42MTFsLS44NDcuODQ4Qy4xNiAxMS4zMzguNDMgMTIgLjk4IDEyaDQuMDM4Yy4zMzggMCAuNjE3LS4yOC42MTctLjYyVjcuMzM4YS42MTcuNjE3IDAgMCAwLTEuMDQ5LS40NGwtLjk5Ljk5eiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg=="; /***/ }, /***/ "./src/components/connection-modal/icons/send-update.svg" /*!***************************************************************!*\ !*** ./src/components/connection-modal/icons/send-update.svg ***! \***************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9Ii0yIC0yIDQ4IDQ4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9IjIyIiBjeT0iMjIiIHI9IjIzLjUiIGZpbGw9IiM4NTVjZDYiIG9wYWNpdHk9Ii4yNSIvPjxjaXJjbGUgY3g9IjIyIiBjeT0iMjIiIHI9IjE4IiBmaWxsPSIjODU1Y2Q2Ii8+PHBhdGggZD0iTTI1LjQwNCAyMC4xMTFhMy42NiAzLjY2IDAgMCAxIC44OTcgMy4wNjljLS4xOTMgMS4zMDUtMS4xNTggMi41NTEtMi41MDUgMy4wNjhoLS4wMDhhLjkwMS45MDEgMCAwIDAtLjU2IDEuMDUxLjkwOS45MDkgMCAwIDAgMS4wODQuNjc4YzIuMDE1LS40NjYgMy43NzUtMi4wOTMgNC40MS00LjE5NmE2LjQ5NSA2LjQ5NSAwIDAgMCAuMTI4LTMuMjcyIDYuNTE4IDYuNTE4IDAgMCAwLTEuMjM2LTIuNjFsLjg0Ni0uODQ4QS42MTguNjE4IDAgMCAwIDI4LjAyIDE2aC00LjAzN2MtLjM0IDAtLjYxOS4yOC0uNjE5LjYxOXY0LjA0M2MwIC41NTEuNjYxLjgyMiAxLjA1LjQ0em0tNi44MDggMy43NzhhMy42NjIgMy42NjIgMCAwIDEtLjg5Ny0zLjA2OWMuMTk0LTEuMzA1IDEuMTU5LTIuNTUyIDIuNTA1LTMuMDY4aC4wMDhhLjkwMi45MDIgMCAwIDAgLjU1OS0xLjA1MS45MDguOTA4IDAgMCAwLTEuMDgzLS42NzhjLTIuMDE1LjQ2Ni0zLjc3NSAyLjA5My00LjQxIDQuMTk2YTYuNDggNi40OCAwIDAgMC0uMTI3IDMuMjcgNi41MSA2LjUxIDAgMCAwIDEuMjM2IDIuNjExbC0uODQ3Ljg0OGMtLjM4LjM5LS4xMSAxLjA1Mi40NCAxLjA1Mmg0LjAzOGMuMzM4IDAgLjYxOC0uMjguNjE4LS42MnYtNC4wNDJhLjYxNy42MTcgMCAwIDAtMS4wNS0uNDR6IiBmaWxsPSIjZmZmIi8+PC9zdmc+Cg=="; /***/ }, /***/ "./src/components/connection-modal/icons/warning.svg" /*!***********************************************************!*\ !*** ./src/components/connection-modal/icons/warning.svg ***! \***********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF8yODI4XzI2NDM0KSI+PHJlY3QgeD0iNCIgeT0iNCIgd2lkdGg9IjM2IiBoZWlnaHQ9IjM2IiByeD0iMTgiIGZpbGw9IiNGRjhDMUEiLz48Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxMCIgZmlsbD0iI0ZGOEMxQSIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjIgMjMuNDI0YTEuNDQgMS40NCAwIDAgMC0xLjQ1MiAxLjQzYzAgLjc5MS42NSAxLjQzMSAxLjQ1MiAxLjQzMWExLjQ0IDEuNDQgMCAwIDAgMS40NTItMS40M2MwLS43OS0uNjUtMS40My0xLjQ1Mi0xLjQzem0uODM0LTEuMzAzYy0uMzcuODE1LTEuMjk4LjgxNS0xLjY2OCAwbC0xLjE4LTIuNTg2Yy0uMzY4LS44MS4wOTQtMS44MjEuODM1LTEuODIxaDIuMzU4Yy43NCAwIDEuMjAzIDEuMDExLjgzNCAxLjgybC0xLjE4IDIuNTg3eiIgZmlsbD0iI2ZmZiIvPjwvZz48ZGVmcz48ZmlsdGVyIGlkPSJmaWx0ZXIwX2RfMjgyOF8yNjQzNCIgeD0iMCIgeT0iMCIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+PGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz48ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+PGZlTW9ycGhvbG9neSByYWRpdXM9IjQiIG9wZXJhdG9yPSJkaWxhdGUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfMjgyOF8yNjQzNCIvPjxmZU9mZnNldC8+PGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0ib3V0Ii8+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDEgMCAwIDAgMCAwLjU0OTAyIDAgMCAwIDAgMC4xMDE5NjEgMCAwIDAgMC4xNSAwIi8+PGZlQmxlbmQgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0iZWZmZWN0MV9kcm9wU2hhZG93XzI4MjhfMjY0MzQiLz48ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfMjgyOF8yNjQzNCIgcmVzdWx0PSJzaGFwZSIvPjwvZmlsdGVyPjwvZGVmcz48L3N2Zz4="; /***/ }, /***/ "./src/components/crash-message/reload.svg" /*!*************************************************!*\ !*** ./src/components/crash-message/reload.svg ***! \*************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0N3B4IiB2aWV3Qm94PSIwIDAgNDAgNDciIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjIgKDQ3MzI3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5SZWxvYWQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iVjItLS1HZW5lcmFsLU9vcHMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MjEuMDAwMDAwLCAtMjI0LjAwMDAwMCkiPgogICAgICAgIDxnIGlkPSJ2MS1XZWxjb21lLU1vZGFsLSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgIDxnIGlkPSJVbnN1cHBvcnRlZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDI4LjAwMDAwMCwgMjE5LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTIzMywzMS44OTY0NjgxIEMyMzMsNDIuOTM2ODgzOSAyMjQuMDM4NjI0LDUxLjg5ODI2MDMgMjEzLjAwMTc5Miw1MS44OTgyNjAzIEMyMDEuOTk3MjIyLDUxLjg5ODI2MDMgMTkzLDQyLjkzNjg4MzkgMTkzLDMxLjg5NjQ2ODEgQzE5MywyMS40Mjk1ODA0IDIwMS4xMzMzNDUsMTIuODI2NjU4OSAyMTEuMzg4NzQ1LDEyLjAwMjIxMjMgTDIxMS4zODg3NDUsNy40ODU2Nzg1NyBDMjExLjM4ODc0NSw1LjUxNDE3NTc1IDIxMy41MzU4OSw0LjMzMTI3NDA1IDIxNS4yMjA2MjksNS40MDY2MzkyMyBMMjI2Ljk3Nzk1NSwxMi45NzAwNDEgQzIyOC41MTkzMTIsMTMuOTM3ODY5NiAyMjguNTE5MzEyLDE2LjE2MDI5MSAyMjYuOTc3OTU1LDE3LjE2Mzk2NTIgTDIxNS4yMjA2MjksMjQuNjkxNTIxNCBDMjEzLjUzNTg5LDI1Ljc2Njg4NjYgMjExLjM4ODc0NSwyNC41ODM5ODQ5IDIxMS4zODg3NDUsMjIuNjEyNDgyIEwyMTEuMzg4NzQ1LDE4LjMxMTAyMTMgQzIwNC41NzQ1MTQsMTkuMDk5NjIyNSAxOTkuMjcyOTY0LDI0Ljg3MDc0ODkgMTk5LjI3Mjk2NCwzMS44OTY0NjgxIEMxOTkuMjcyOTY0LDM5LjQ5NTcxNTMgMjA1LjQzODM5MSw0NS42MjUyOTY4IDIxMy4wMDE3OTIsNDUuNjI1Mjk2OCBDMjIwLjU2MTYwOSw0NS42MjUyOTY4IDIyNi43MjcwMzYsMzkuNDk1NzE1MyAyMjYuNzI3MDM2LDMxLjg5NjQ2ODEgQzIyNi43MjcwMzYsMzAuMTc5NDY4MyAyMjguMTI4NTk2LDI4Ljc3NzkwOTEgMjI5Ljg4MTQ0MSwyOC43Nzc5MDkxIEMyMzEuNjAyMDI1LDI4Ljc3NzkwOTEgMjMzLDMwLjE3OTQ2ODMgMjMzLDMxLjg5NjQ2ODEiIGlkPSJSZWxvYWQiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/custom-procedures/icon--boolean-input.svg" /*!******************************************************************!*\ !*** ./src/components/custom-procedures/icon--boolean-input.svg ***! \******************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NyA0OSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtvcGFjaXR5OjAuMzt9LmNscy0ye29wYWNpdHk6MC4xO30uY2xzLTN7ZmlsbDojZmY2NjgwO3N0cm9rZS1taXRlcmxpbWl0OjEwO30uY2xzLTMsLmNscy00e3N0cm9rZTojZjM1O30uY2xzLTR7ZmlsbDojZmY0ZDZhO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPlIxXyBDLlByb2NlZHVyZSBFZGl0YmxlIElucHV0czwvdGl0bGU+PGcgaWQ9ImJvb2xlYW5fYm9vbGVhbl9pbnB1dHMiIGRhdGEtbmFtZT0iYm9vbGVhbiArIGJvb2xlYW4gaW5wdXRzIj48cmVjdCBjbGFzcz0iY2xzLTMiIHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iNTYiIGhlaWdodD0iNDgiIHJ4PSI0IiByeT0iNCIvPjxwYXRoIGNsYXNzPSJjbHMtNCIgZD0iTTMyLjUsNDAuNWgtOGwtMTYtMTZoMGwxNi0xNmg4bDE2LDE2aDBaIi8+PC9nPjwvc3ZnPg=="; /***/ }, /***/ "./src/components/custom-procedures/icon--label.svg" /*!**********************************************************!*\ !*** ./src/components/custom-procedures/icon--label.svg ***! \**********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NyA0OSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtvcGFjaXR5OjAuMzt9LmNscy0ye29wYWNpdHk6MC4xO30uY2xzLTN7ZmlsbDojZmY2NjgwO3N0cm9rZTojZjM1O3N0cm9rZS1taXRlcmxpbWl0OjEwO30uY2xzLTR7Zm9udC1zaXplOjEycHg7ZmlsbDojZmZmO2ZvbnQtZmFtaWx5OkhlbHZldGljYU5ldWUtQm9sZCwgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOjBlbTt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPlIxXyBDLlByb2NlZHVyZSBFZGl0YmxlIElucHV0czwvdGl0bGU+PGcgaWQ9ImJvb2xlYW5fYm9vbGVhbl9pbnB1dHMiIGRhdGEtbmFtZT0iYm9vbGVhbiArIGJvb2xlYW4gaW5wdXRzIj48cmVjdCBjbGFzcz0iY2xzLTMiIHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iNTYiIGhlaWdodD0iNDgiIHJ4PSI0IiByeT0iNCIvPjx0ZXh0IGNsYXNzPSJjbHMtNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTcuNTcgMjcuNSkiPnRleHQ8L3RleHQ+PC9nPjwvc3ZnPgo="; /***/ }, /***/ "./src/components/custom-procedures/icon--text-input.svg" /*!***************************************************************!*\ !*** ./src/components/custom-procedures/icon--text-input.svg ***! \***************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NyA0OSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtvcGFjaXR5OjAuMzt9LmNscy0ye29wYWNpdHk6MC4xO30uY2xzLTN7ZmlsbDojZmY2NjgwO3N0cm9rZS1taXRlcmxpbWl0OjEwO30uY2xzLTMsLmNscy00e3N0cm9rZTojZjM1O30uY2xzLTR7ZmlsbDojZmY0ZDZhO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPlIxXyBDLlByb2NlZHVyZSBFZGl0YmxlIElucHV0czwvdGl0bGU+PGcgaWQ9ImJvb2xlYW5fYm9vbGVhbl9pbnB1dHMiIGRhdGEtbmFtZT0iYm9vbGVhbiArIGJvb2xlYW4gaW5wdXRzIj48cmVjdCBjbGFzcz0iY2xzLTMiIHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iNTYiIGhlaWdodD0iNDgiIHJ4PSI0IiByeT0iNCIvPjxyZWN0IGNsYXNzPSJjbHMtNCIgeD0iOC41IiB5PSI4LjUiIHdpZHRoPSI0MCIgaGVpZ2h0PSIzMiIgcng9IjE2IiByeT0iMTYiLz48L2c+PC9zdmc+"; /***/ }, /***/ "./src/components/debug-modal/icons/icon--add-sound-checkpoints.svg" /*!**************************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--add-sound-checkpoints.svg ***! \**************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI0NDAiIGhlaWdodD0iMTA2IiBpZD0iTGF5ZXJfMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNDM4LjgzIDEwNS44OSI+PGcgaWQ9IkxheWVyXzEtMiI+PGc+PHJlY3Qgd2lkdGg9IjQzOC44MyIgaGVpZ2h0PSIxMDUuODkiIGZpbGw9IiNmZmYiLz48Zz48cGF0aCBkPSJNMjQ5LjM5LDIuNDFjLjQ3LS40OCwxLjEyLS43NSwxLjc5LS43NmgxLjQ5czcxLjI1LS41OSw3MS4yNS0uNTljMS40MS0uMDEsMi41NSwxLjEyLDIuNTcsMi41MmwuMjEsMjUuNDVjLjAxLDEuNDEtMS4xMiwyLjU1LTIuNTIsMi41N2wtNzEuMjUsLjU4aC0xLjQ5Yy0uNjcsLjAyLTEuMzIsLjI5LTEuNzksLjc3bC0zLjU3LDMuNjNjLS40NywuNDgtMS4xMiwuNzUtMS43OSwuNzZsLTguMDcsLjA3Yy0uNjcsMC0xLjMyLS4yNi0xLjgxLS43M2wtMy42My0zLjU3Yy0uNDgtLjQ3LTEuMTMtLjc0LTEuODEtLjczaC0xLjQ5cy01LjA5LC4wNS01LjA5LC4wNWMtMS40MSwuMDEtMi41NS0xLjEyLTIuNTctMi41MmwtLjIxLTI1LjQ0Yy0uMDEtMS40MSwxLjEyLTIuNTUsMi41Mi0yLjU3bDUuMDktLjA0aDEuNDljLjY3LS4wMiwxLjMyLC4yNSwxLjgxLC43MmwzLjYzLDMuNTdjLjQ4LC40NywxLjEzLC43NCwxLjgxLC43M2w4LjA3LS4wN2MuNjcsMCwxLjMyLS4yOCwxLjc5LS43NmwzLjU3LTMuNjNaIiBmaWxsPSIjMjNiNjg5IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMjQ5LjUxLDY5LjYzYy40Ny0uNDgsMS4xMi0uNzYsMS43OS0uNzZoMS40OXM0MC43MS0uMzgsNDAuNzEtLjM4YzEuNC0uMDEsMi41NSwxLjEyLDIuNTcsMi41MmwuMjMsMjUuNDRjLjAxLDEuNDEtMS4xMiwyLjU2LTIuNTIsMi41N2wtNDAuNzEsLjM2aC0xLjQ5Yy0uNjcsLjAyLTEuMzIsLjI5LTEuNzksLjc3bC0zLjU3LDMuNjNjLS40NywuNDgtMS4xMiwuNzYtMS43OSwuNzZsLTguMDcsLjA3Yy0uNjcsMC0xLjMyLS4yNi0xLjgxLS43M2wtMy42My0zLjU3Yy0uNDgtLjQ3LTEuMTMtLjc0LTEuODEtLjczaC0xLjQ5cy01LjA5LC4wNi01LjA5LC4wNmMtMS40MSwuMDEtMi41NS0xLjEyLTIuNTctMi41MmwtLjIzLTI1LjQ0Yy0uMDEtMS40MSwxLjEyLTIuNTUsMi41Mi0yLjU3bDUuMDktLjA1aDEuNDljLjY3LS4wMiwxLjMyLC4yNCwxLjgxLC43MmwzLjYzLDMuNTdjLjQ4LC40NywxLjEzLC43NCwxLjgxLC43M2w4LjA3LS4wN2MuNjcsMCwxLjMyLS4yOCwxLjc5LS43NmwzLjU3LTMuNjNaIiBmaWxsPSIjN2U2OWFkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMTI3LjU2LDUzLjI4Yy40MS0uNTQsMS4wMi0uODksMS42OS0uOThsMS40OC0uMiw0MC4zNi01LjM3YzEuMzktLjE5LDIuNjcsLjc5LDIuODYsMi4xOWwzLjM2LDI1LjIyYy4xOSwxLjM5LS43OSwyLjY3LTIuMTksMi44NmwtNDAuMzYsNS4zNy0xLjQ4LC4yYy0uNjcsLjA5LTEuMjgsLjQ0LTEuNjksLjk4bC0zLjA5LDQuMDRjLS40MSwuNTQtMS4wMiwuODktMS42OSwuOThsLTgsMS4wNmMtLjY3LC4wOS0xLjM1LS4wOS0xLjg4LS41bC00LjA0LTMuMDljLS41NC0uNDEtMS4yMS0uNTktMS44OC0uNWwtMS40OCwuMi01LjA0LC42N2MtMS4zOSwuMTktMi42Ny0uNzktMi44Ni0yLjE5bC0zLjM2LTI1LjIyYy0uMTktMS4zOSwuNzktMi42NywyLjE5LTIuODZsNS4wNC0uNjcsMS40OC0uMmMuNjctLjA5LDEuMzUsLjA5LDEuODgsLjVsNC4wNCwzLjA5Yy41NCwuNDEsMS4yMSwuNTksMS44OCwuNWw4LTEuMDdjLjY3LS4wOSwxLjI4LS40NCwxLjY5LS45OGwzLjA5LTQuMDRaIiBmaWxsPSIjYWU1YWEyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMjQ5LjgzLDM1LjU0Yy40Ny0uNDgsMS4xMi0uNzYsMS43OS0uNzdsMS40OS0uMDIsNDAuNzEtLjQ5YzEuNC0uMDIsMi41NiwxLjExLDIuNTgsMi41MWwuMzEsMjUuNDRjLjAyLDEuNDEtMS4xMSwyLjU2LTIuNTEsMi41OGwtNDAuNzEsLjQ5LTEuNDksLjAyYy0uNjcsMC0xLjMyLC4yOC0xLjc5LC43N2wtMy41NSwzLjY0Yy0uNDcsLjQ4LTEuMTIsLjc2LTEuNzksLjc3bC04LjA3LC4xYy0uNjcsMC0xLjMzLS4yNS0xLjgxLS43MmwtMy42NC0zLjU1Yy0uNDgtLjQ3LTEuMTMtLjczLTEuODEtLjcybC0xLjQ5LC4wMi01LjA5LC4wNmMtMS40MSwuMDItMi41Ni0xLjExLTIuNTgtMi41MWwtLjMxLTI1LjQ0Yy0uMDItMS40MSwxLjExLTIuNTYsMi41MS0yLjU4bDUuMDktLjA2LDEuNDktLjAyYy42NywwLDEuMzMsLjI1LDEuODEsLjcybDMuNjQsMy41NWMuNDgsLjQ3LDEuMTMsLjczLDEuODEsLjcybDguMDctLjFjLjY3LDAsMS4zMi0uMjgsMS43OS0uNzdsMy41NS0zLjY0WiIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiNhZTVhYTIiIHN0cm9rZS1kYXNoYXJyYXk9IjAgMCAzIDYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjMiLz48Zz48cGF0aCBkPSJNMjIzLjA5LDU0LjY3Yy0uNDItLjI3LS44NC0uNTQtMS4yNi0uOCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZWVjZGUxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjk5Ii8+PHBhdGggZD0iTTIxNi43NSw1MS4wM2MtMjYuODUtMTMuMzQtNDUuNTEsNC4wNy01Mi4xNCwxMS45MyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZWVjZGUxIiBzdHJva2UtZGFzaGFycmF5PSIwIDAgMi45MSA1LjgyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjk5Ii8+PHBhdGggZD0iTTE2Mi44MSw2NS4yNGMtLjU3LC43Ny0uODYsMS4yMi0uODYsMS4yMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZWVjZGUxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjk5Ii8+PHBhdGggZD0iTTIyMi42OCw1NC40MmMtMS43NCwuMzItMy42MiwyLjAyLTQuNjMsMy40LDIuNzEtLjkzLDUuNjgtMS4zMiw4LjUzLS43Mi0xLjYxLTIuNDEtMi4xNi01LjM3LTIuMzktOC4yMy0uOTIsMS41OS0xLjgxLDMuNjgtMS41MSw1LjU1WiIgZmlsbD0iI2VlY2RlMSIvPjwvZz48L2c+PGc+PHBhdGggZD0iTTY3Ljg3LDY4Ljk0Yy45OCwyLjA0LDMuNDksNi4xNSw4LjQ4LDguMzUsLjg5LC4zOCwxLjc2LS40MywxLjU0LTEuMzEtLjcxLTIuNS0xLjYyLTYuNjYtLjY2LTEwLjA0LC4yNi0uNzEsLjc5LTEuMjcsMS40Ny0xLjUyLDUuNzQtMS44MSwzMy41Ny0xMS44NSwyOC45OC0zNC42MkMxMDIuNTgsNC40Niw4MC4zMSwxLjE4LDYwLjM5LDkuODhjLTIwLjE4LDguODEtMjAuOTEsMjMuMDctMTcuOTQsMzcuODksMy40LDE3LjE3LDE4LjgsMTkuNTYsMjMuNDcsMTkuOTMsLjg5LC4wNCwxLjU3LC40OSwxLjk1LDEuMjRaIiBmaWxsPSIjNWZjOGRlIi8+PHBhdGggZD0iTTY2LjQyLDM2LjczYy0zLjM0LS45LTQuMTctNi40LC4yMSwxMywwLC4wNywwLC4xNCwuMDcsLjIxLC40MiwyLjAyLTEuNTMsMy42OC00LjI0LDMuNjhzLTUuMzUtMS42Ny01Ljc3LTMuNjhjLS40Mi0yLjAyLDEuNTMtMy42OCw0LjI0LTMuNjgsLjU2LDAsMS4xOCwuMDcsMS43NCwuMjEsLjI4LC4wNywuNTYsLjE0LC44MywuMjgsLjc2LDAtLjE0LTIuMDktMS42Ny0xMC45OC0xLjk1LTExLjA1LDIuNzgtMS42Nyw3LjkyLTIuNSw1LjA3LS43NiwwLDQuMzEtMy4zNCwzLjQ4WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik04Ni4xNywyOS44NGMtMy4zNC0uOS00LjE3LTYuNCwuMjEsMTMsMCwuMDcsMCwuMTQsLjA3LC4yMSwuNDIsMi4wMi0xLjUzLDMuNjgtNC4yNCwzLjY4cy01LjM1LTEuNjctNS43Ny0zLjY4Yy0uNDItMi4wMiwxLjUzLTMuNjgsNC4yNC0zLjY4LC41NiwwLDEuMTgsLjA3LDEuNzQsLjIxLC4yOCwuMDcsLjU2LC4xNCwuODMsLjI4LC43NiwwLS4xNC0yLjA5LTEuNjctMTAuOTgtMS45NS0xMS4wNSwyLjc4LTEuNjcsNy45My0yLjQzLDUuMDctLjgzLDAsNC4yNC0zLjM0LDMuNDFaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L2c+PC9zdmc+"; /***/ }, /***/ "./src/components/debug-modal/icons/icon--ask-for-help.svg" /*!*****************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--ask-for-help.svg ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/icon--ask-for-help.2d8981e9181912da973a.svg"; /***/ }, /***/ "./src/components/debug-modal/icons/icon--break-it-down.svg" /*!******************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--break-it-down.svg ***! \******************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI0NDAiIGhlaWdodD0iMTA2IiBpZD0iTGF5ZXJfMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iMCAwIDQzOC44MyAxMDUuODkiPjxkZWZzPjxtYXNrIGlkPSJtYXNrIiB4PSIzMjcuMzkiIHk9IjUuNzEiIHdpZHRoPSI1MC45MiIgaGVpZ2h0PSI1MS4yMyIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIvPjxtYXNrIGlkPSJtYXNrLTEiIHg9IjMzMC4wOSIgeT0iMTQuMyIgd2lkdGg9IjE0LjA3IiBoZWlnaHQ9IjkuNTgiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiLz48L2RlZnM+PGcgaWQ9IkxheWVyXzEtMiI+PGc+PHJlY3Qgd2lkdGg9IjQzOC44MyIgaGVpZ2h0PSIxMDUuODkiIGZpbGw9IiNmZmYiLz48Zz48cGF0aCBkPSJNMjgxLjk5LDM4LjY3Yy40NS0uNDYsMS4wNy0uNzIsMS43MS0uNzNoMS40MnM2OC4xLS42Miw2OC4xLS42MmMxLjM0LS4wMSwyLjQ0LDEuMDcsMi40NSwyLjQxbC4yMiwyNC4zMmMuMDEsMS4zNC0xLjA3LDIuNDQtMi40MSwyLjQ1bC02OC4xLC42MWgtMS40MmMtLjY1LC4wMi0xLjI2LC4yOC0xLjcxLC43NGwtMy40MSwzLjQ3Yy0uNDUsLjQ2LTEuMDcsLjcyLTEuNzEsLjczbC03LjcxLC4wN2MtLjY1LDAtMS4yNy0uMjQtMS43My0uN2wtMy40Ny0zLjQxYy0uNDYtLjQ1LTEuMDgtLjctMS43My0uN2gtMS40MnMtNC44NiwuMDYtNC44NiwuMDZjLTEuMzQsLjAxLTIuNDQtMS4wNy0yLjQ1LTIuNDFsLS4yMi0yNC4zMmMtLjAxLTEuMzQsMS4wNy0yLjQ0LDIuNDEtMi40NWw0Ljg2LS4wNGgxLjQyYy42NS0uMDIsMS4yNywuMjMsMS43MywuNjhsMy40NywzLjQxYy40NiwuNDUsMS4wOCwuNywxLjczLC43bDcuNzEtLjA3Yy42NSwwLDEuMjYtLjI3LDEuNzEtLjczbDMuNDEtMy40N1oiIGZpbGw9IiMyM2I2ODkiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0yODIuMzUsNjcuMDhjLjQ1LS40NiwxLjA3LS43MywxLjcxLS43M2wxLjQyLS4wMiwzOC45Mi0uNDdjMS4zNC0uMDIsMi40NSwxLjA2LDIuNDYsMi40bC4yOSwyNC4zMmMuMDIsMS4zNC0xLjA2LDIuNDUtMi40LDIuNDZsLTM4LjkyLC40Ny0xLjQyLC4wMmMtLjY1LDAtMS4yNiwuMjctMS43MSwuNzNsLTMuNCwzLjQ4Yy0uNDUsLjQ2LTEuMDcsLjczLTEuNzEsLjczbC03LjcxLC4wOWMtLjY1LDAtMS4yNy0uMjQtMS43My0uNjlsLTMuNDgtMy40Yy0uNDYtLjQ1LTEuMDgtLjctMS43My0uNjlsLTEuNDIsLjAyLTQuODYsLjA2Yy0xLjM0LC4wMi0yLjQ1LTEuMDYtMi40Ni0yLjRsLS4yOS0yNC4zMmMtLjAyLTEuMzQsMS4wNi0yLjQ1LDIuNC0yLjQ2bDQuODYtLjA2LDEuNDItLjAyYy42NSwwLDEuMjcsLjI0LDEuNzMsLjY5bDMuNDgsMy40Yy40NiwuNDUsMS4wOCwuNywxLjczLC42OWw3LjcxLS4wOWMuNjQsMCwxLjI2LS4yNywxLjcxLS43M2wzLjQtMy40OFoiIGZpbGw9IiM3ZTY5YWQiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0xNTcuNzUsMzkuMjRjLjQ1LS40NiwxLjA3LS43MiwxLjcxLS43M2gxLjQyczY4LjEtLjYyLDY4LjEtLjYyYzEuMzQtLjAxLDIuNDQsMS4wNywyLjQ1LDIuNDFsLjIyLDI0LjMyYy4wMSwxLjM0LTEuMDcsMi40NC0yLjQxLDIuNDVsLTY4LjEsLjYxaC0xLjQyYy0uNjUsLjAyLTEuMjYsLjI4LTEuNzEsLjc0bC0zLjQxLDMuNDdjLS40NSwuNDYtMS4wNywuNzItMS43MSwuNzNsLTcuNzEsLjA3Yy0uNjUsMC0xLjI3LS4yNC0xLjczLS43bC0zLjQ3LTMuNDFjLS40Ni0uNDUtMS4wOC0uNy0xLjczLS43aC0xLjQycy00Ljg2LC4wNi00Ljg2LC4wNmMtMS4zNCwuMDEtMi40NC0xLjA3LTIuNDUtMi40MWwtLjIyLTI0LjMyYy0uMDEtMS4zNCwxLjA3LTIuNDQsMi40MS0yLjQ1bDQuODYtLjA0aDEuNDJjLjY1LS4wMiwxLjI3LC4yMywxLjczLC42OGwzLjQ3LDMuNDFjLjQ2LC40NSwxLjA4LC43LDEuNzMsLjdsNy43MS0uMDdjLjY1LDAsMS4yNi0uMjcsMS43MS0uNzNsMy40MS0zLjQ3WiIgZmlsbD0iIzIzYjY4OSIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTE1OC4xMSw2Ny42NGMuNDUtLjQ2LDEuMDctLjczLDEuNzEtLjczbDEuNDItLjAyLDM4LjkyLS40N2MxLjM0LS4wMiwyLjQ1LDEuMDYsMi40NiwyLjRsLjI5LDI0LjMyYy4wMiwxLjM0LTEuMDYsMi40NS0yLjQsMi40NmwtMzguOTIsLjQ3LTEuNDIsLjAyYy0uNjUsMC0xLjI2LC4yNy0xLjcxLC43M2wtMy40LDMuNDhjLS40NSwuNDYtMS4wNywuNzMtMS43MSwuNzNsLTcuNzEsLjA5Yy0uNjUsMC0xLjI3LS4yNC0xLjczLS42OWwtMy40OC0zLjRjLS40Ni0uNDUtMS4wOC0uNy0xLjczLS42OWwtMS40MiwuMDItNC44NiwuMDZjLTEuMzQsLjAyLTIuNDUtMS4wNi0yLjQ2LTIuNGwtLjI5LTI0LjMyYy0uMDItMS4zNCwxLjA2LTIuNDUsMi40LTIuNDZsNC44Ni0uMDYsMS40Mi0uMDJjLjY1LDAsMS4yNywuMjQsMS43MywuNjlsMy40OCwzLjRjLjQ2LC40NSwxLjA4LC43LDEuNzMsLjY5bDcuNzEtLjA5Yy42NCwwLDEuMjYtLjI3LDEuNzEtLjczbDMuNC0zLjQ4WiIgZmlsbD0iIzdlNjlhZCIgZmlsbC1ydWxlPSJldmVub2RkIi8+PGc+PGcgbWFzaz0idXJsKCNtYXNrKSI+PGc+PHBhdGggZD0iTTMyOS4xNCwzMy43M2MtNC43OS03LjcsMS40Ni04LjA3LDQuMTMtNS45OSw0LDMuMTIsNC45Niw3LjY1LDYuODMsOC41OCwzLjY2LDEuOCw3LjUxLTQuMjMsNi42Ny03LjI4LS45OC0zLjYtMy4wNC03LjY2LTQuMzMtOC4yOS0xLjcyLS44NS0zLjkxLC45LTcuMSwyLjctMi43NywxLjU3LTcuMjYtMS4wOS0zLjUxLTMuODQsNS4xOS0zLjgxLDEwLjEyLTYuMTIsMTIuNDQtNS4yNCwxLjgzLC43LDMuNjUsMi4xNSw1LjQ1LDUuMTMsMi4zMSwzLjg0LDMuMDIsNS43NywzLjYyLDYuMTMsMS4zNiwuODEsMi42My03Ljg1LDIuOC0xNS45NCwuMTItNS42MSw2LjMzLTUuMjksNi4xMSwuOC0uNDEsMTEuNDYtMy44NiwxOS45Ni0yLjkyLDIwLjMsLjY1LC4yNCw0LjI0LTUuNiw2LjgzLTE1LjEsMS4xNy00LjI5LDcuMjgtMi45Niw1LjI3LDIuODgtMi42Niw3Ljc0LTcuMTcsMTUuOS02LjE1LDE2LjY2LC43MSwuNTMsNS40NS02LjcxLDcuNjEtOS41OSwzLjQtNC41Miw2Ljk3LS40NSw0LjY3LDIuNy04Ljk5LDEyLjMyLTEwLjEsMTIuNzQtMTMuMjQsMjAuNzgtNC40NSwxMS40LTI1LjA3LDEwLjAzLTI4LjQ2LTIuNDItMi4zMy04LjU0LTQuMTYtOC44NS02Ljc0LTEyLjk5WiIgZmlsbD0iI2Q1OWQ3YSIvPjxwYXRoIGQ9Ik0zMzAuNDUsMzIuMDFjLTQuNzktNy43LDEuNDYtOC4wNyw0LjEzLTUuOTksNCwzLjEyLDQuOTYsNy42NSw2LjgzLDguNTgsMy42NiwxLjgsNi40MS0zLjE5LDUuNTgtNi4yNC0uOTgtMy42LTIuNC03LjcxLTMuNjgtOC4zNC0xLjcyLS44NS0zLjQ2LS4wOS02LjY0LDEuNzEtMi43NywxLjU3LTcuMjYtMS4wOS0zLjUxLTMuODQsNS4xOS0zLjgxLDEwLjEyLTYuMTIsMTIuNDQtNS4yNCwxLjgzLC43LDMuNjUsMi4xNSw1LjQ1LDUuMTMsMi4zMSwzLjg0LDEuNyw0LjA2LDIuMzEsNC40MiwxLjM2LC44MSwuMzctNy41MiwxLjEyLTE1LjYyLC4xNi0xLjY4LDYuMTEtMy43LDUuOSwyLjM5LS4xMywzLjUzLTEuMjQsNi42Mi0xLjcsOS40Ni0xLjAzLDYuMzctMS40OSwxMC45MywuNjUsMTIuNSwyLjEtMy43Myw0LjAyLTguNzUsNS43NS0xNS4wOCwxLjE3LTQuMjksNi44Ny0zLjUyLDUuNTgsLjUxLTEuMyw0LjA0LTIuOTQsNS41My00LjI5LDkuMjQtMS4yNSwzLjQ1LTIuNTYsOC41MS0xLjAyLDkuNjEsMy4xMS00LjY5LDUuMzgtNy45OSw2LjgzLTkuOTEsMy40LTQuNTIsNi41Ny0uODksNC4yNywyLjI3LTguOTksMTIuMzItMTIuMzksMTEuMzUtMTUuNTMsMTkuMzktNC40NSwxMS40LTIyLjA0LDEwLjAxLTI1LjQzLTIuNDUtMi4zMy04LjU0LTIuNDItOC4zNi00Ljk5LTEyLjVaIiBmaWxsPSIjZWNjMjk3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PC9nPjxwYXRoIGQ9Ik0yNTQuMzgsMjYuNzZsMS4yMy0yMi40M2MuMDctMS4yNCwxLjE0LTIuMTksMi4zOS0yLjEybDUuODYsLjMyYy42LC4wMywxLjE2LC4zLDEuNTcsLjc0bDMuMDMsMy4zNWMuNCwuNDQsLjk2LC43MSwxLjU3LC43NGw3LjE4LC4zOWMuNiwuMDMsMS4xOS0uMTcsMS42NC0uNTdsMy4zOC0zYy40NS0uNCwxLjA0LS42LDEuNjQtLjU3bDU2LjU1LDMuMWMxLjI1LC4wNywyLjIxLDEuMTMsMi4xNCwyLjM3bC0xLjIzLDIyLjQzYy0uMDcsMS4yNC0xLjE0LDIuMTktMi4zOSwyLjEybC01Ni41NS0zLjFjLS42LS4wMy0xLjE5LC4xNy0xLjY0LC41N2wtMy4zOCwzYy0uNDUsLjQtMS4wNCwuNi0xLjY0LC41N2wtNy4xOC0uMzljLS42LS4wMy0xLjE2LS4zLTEuNTctLjc1bC0zLjAzLTMuMzVjLS40LS40NC0uOTctLjcxLTEuNTctLjc0bC01Ljg2LS4zMmMtMS4yNS0uMDctMi4yMS0xLjEzLTIuMTQtMi4zN1oiIGZpbGw9IiNmMDRmNmIiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxnIG1hc2s9InVybCgjbWFzay0xKSI+PGc+PGcgb3BhY2l0eT0iLjEiPjxwYXRoIGQ9Ik0zNDIuNDYsMjAuNzdjLTEuNzMtLjg2LTQuMjMsLjkyLTcuNDEsMi42Ny0yLjc2LDEuNTItNy4yOC0xLjE0LTMuNTUtMy44MSw1LjE2LTMuNzEsMTAuMzItNi4wMiwxMi42NS01LjEzbC0xLjcsNi4yOFoiLz48L2c+PHBhdGggZD0iTTM0Mi45MSwxOS44N2MtMi4wOS0uNjUtNS41MiwyLjUyLTguNjksNC4yNy0yLjc2LDEuNTItNy42Mi0yLjA0LTMuODktNC43MSw1LjE2LTMuNzEsMTIuOC03LjUyLDE1LjEzLTYuNjNsLTIuNTQsNy4wN1oiIGZpbGw9IiNlY2MyOTciIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L2c+PC9nPjxnPjxwYXRoIGQ9Ik04NS44Myw1MS4wM2MzLjg5LTcuMDcsNS41OS02LjkxLDguNzUtMTAuMDMsNS45Mi01Ljc4LC40NS03LjQzLTIuMzQtNi4xOS00LjIxLDEuODctNi4wMyw1LjctNy44OCw2LjEtMy42LC43OS01Ljc0LTUuMzktNC4zNC03Ljg3LDEuNjctMi45Nyw0LjM0LTYuMTEsNS42My02LjM3LDEuNy0uMzgsMy4yNiwxLjYyLDUuNywzLjkyLDIuMSwyLjAxLDYuNjMsLjYzLDMuOTQtMi42MS0zLjc4LTQuNDgtNy42My03LjYzLTkuODUtNy4zNi0xLjc4LC4yNC0zLjcsMS4xLTUuOTIsMy4zOC0yLjg2LDIuODgtMy45Myw0LjQ3LTQuNTQsNC42Mi0xLjM1LC40Mi0uNi03LjUxLC45Ny0xNC42OCwxLjA5LTQuOTktNC40My02LjA0LTUuNTUtLjYxLTIuMTUsMTAuMjItLjkzLDE4LjUxLTEuOCwxOC42LS42MywuMDUtMi41My01Ljg2LTIuNzktMTQuODUtLjEzLTQuMDUtNS43OS00LjItNS4yNiwxLjQxLC42OCw3LjQ0LDIuODYsMTUuNjIsMS44MSwxNi4wOS0uNzMsLjMyLTMuMzgtNy4xLTQuNjYtMTAuMTMtMi00LjcyLTYuMDUtMS45LTQuNzMsMS4zNyw1LjI2LDEyLjg3LDYuMTQsMTMuNDcsNy4xNywyMS4yNSwxLjQ3LDExLDE5Ljk2LDE0LjI0LDI1LjY4LDMuOTdaIiBmaWxsPSIjODc1MTI4Ii8+PHBhdGggZD0iTTkwLjIxLDQ1Ljc1bC00LjAxLTI0LjM3czcuMzktMTAuMjksMjUuMTEtMTMuMjFjMTcuNzMtMi45MiwyOC4wMiw0LjQ3LDI4LjAyLDQuNDdsMzAuMi00Ljk3YzEuMjQtLjIsMi4zNiwuNjQsMi41NiwxLjg0bDMuNjQsMjIuMTJjLjIsMS4yNC0uNjQsMi4zNi0xLjg0LDIuNTZsLTU1Ljg1LDkuMTljLS41NywuMDktMS4xMSwuNDMtMS40NywuOTNsLTIuNjMsMy42N2MtLjM2LC41LS44NSwuODMtMS40NywuOTNsLTcuMDIsMS4xNmMtLjU3LC4wOS0xLjE5LS4wNS0xLjY5LS40MWwtMy42Ny0yLjYzYy0uNS0uMzYtMS4wNy0uNTEtMS42OS0uNDFsLTUuNzMsLjk0Yy0xLjA4LC4yOC0yLjI1LS41Ni0yLjQ2LTEuOFoiIGZpbGw9IiNmZGJlMTAiLz48cGF0aCBkPSJNODUuNjQsMjYuNjJjMS43LS4zOCwzLjI2LDEuNjIsNS43LDMuOTIsMi4xLDIuMDEsNi42MywuNjMsMy45NC0yLjYxLTMuNzgtNC40OC03LjYzLTcuNjMtOS44NS03LjM2IiBmaWxsPSIjODc1MTI4Ii8+PGcgb3BhY2l0eT0iLjEiPjxwYXRoIGQ9Ik03OS42LDM1LjI3Yy0uMTUtMi4xMywxLjIyLTYuMjksMy4zNy04LjE2LDIuMTUtMS44NywzLjc3LTMuMDIsNi45MSwuMjQsMy45NSw0LjAxLDYuMTcsMi4zMiw2LjE3LDIuMzIsMCwwLC4zMiwxLjMyLTEuNjgsMS43NS00LjI2LC45NS02LjUxLTYuMTktOS4yLTQuNjItMy41MywyLjEtNS41Nyw4LjQ3LTUuNTcsOC40N1oiLz48L2c+PGcgb3BhY2l0eT0iLjEiPjxwYXRoIGQ9Ik01My43MSwyMi4yNmMxLjExLS4xMywxLjg2LC41OCwyLjc2LDIuNDQsLjgsMS41OSwzLjMxLDEwLjI1LDUuODQsOS44NCwwLDAsLjc2LS4xMywwLDAsMCwwLS40MSwuNTEtMi4xNi0zLjg3LTEuNzUtNC4zNy0yLjUyLTYuOTktMy41Ny03Ljk1LTEuMDQtLjk2LTEuOTQtMS4wNS0yLjg3LS40NloiLz48L2c+PGcgb3BhY2l0eT0iLjEiPjxwYXRoIGQ9Ik02Mi43MywxNC4xYzEuMjQtLjIsMS4wMyw1LjA4LDEuNzgsOS4wMywuNzUsMy45NSwyLjIzLDguODEsNC4wMyw4LjcxLDAsMC0xLjM0LTEuODktMi4xOS03LjY0LS44NS01Ljc1LC4xMS04LjMxLTEuNDctOS41Mi0xLjE4LS45My0yLjE2LS41OC0yLjE2LS41OFoiLz48L2c+PGcgb3BhY2l0eT0iLjEiPjxwYXRoIGQ9Ik03MS41NCwxMC42OWMxLjQ2LS45OCwzLjQ5LC4wMiwyLjYsMy42LS44OCwzLjU4LTEuOTIsMTIuNzgsLjUzLDE0LjI0LDAsMC0uNjctMi41OSwuMDYtOC4wMSwuODEtNi4xMiwxLjgzLTcuOTYsMS4wNS05LjQtLjcyLTEuNC0yLjMxLTIuNDItNC4yNC0uNDNaIi8+PC9nPjwvZz48Zz48cGF0aCBkPSJNMTUwLjE0LDIwLjU2Yy4zNCwuMDQsLjY3LC4wNywuOTksLjEyIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmUyYjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNMTU0LjkxLDIxLjM0YzE5LjExLDQuMzQsMjEuNjQsMjAuOTksMjEuODcsMjcuNzgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZTJiMiIgc3Ryb2tlLWRhc2hhcnJheT0iMCAwIDEuOTIgMy44MyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGQ9Ik0xNzYuNzgsNTEuMDJjLS4wMiwuNjQtLjA1LC45OS0uMDUsLjk5IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmUyYjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNMTUwLjUzLDIwLjYyYzEuMTItLjk2LDEuNzgtMi45OCwxLjkzLTQuNDEtMS41OCwxLjgxLTMuNTYsMy4zNC01Ljg4LDQuMTEsMi4xOCwxLjA3LDMuODIsMi45OCw1LjE4LDQuOTYsMC0xLjU0LS4yNC0zLjQzLTEuMjMtNC42NVoiIGZpbGw9IiNmZmUyYjIiLz48L2c+PGc+PHBhdGggZD0iTTI3OS4wNiwxNS4xN2MtLjI0LC4yNC0uNDcsLjQ3LS43LC43MSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmRlNWVhIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTTI3NS44MywxOC43NmMtMTIuMTksMTUuMzUtMy43NCwyOS45MiwuMzQsMzUuMzUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZkZTVlYSIgc3Ryb2tlLWRhc2hhcnJheT0iMCAwIDEuOTIgMy44MyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGQ9Ik0yNzcuMzYsNTUuNjFjLjQxLC40OSwuNjYsLjc0LC42NiwuNzQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZkZTVlYSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGQ9Ik0yNzguOCwxNS40N2MtLjA1LDEuNDgsMSwzLjMzLDEuOTUsNC40LS4yNy0yLjM4LS4wNi00Ljg4LC45NC03LjExLTIuMjYsLjg4LTQuNzgsLjgtNy4xNiwuNDgsMS4xNCwxLjA0LDIuNjksMi4xNCw0LjI2LDIuMjNaIiBmaWxsPSIjZmRlNWVhIi8+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg=="; /***/ }, /***/ "./src/components/debug-modal/icons/icon--check-code-sequence.svg" /*!************************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--check-code-sequence.svg ***! \************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQwIiBoZWlnaHQ9IjEwNiIgdmlld0JveD0iMCAwIDQ0MCAxMDYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xOTk3Xzg3MTIpIj4KPHBhdGggZD0iTTQzOS44MyAwSDFWMTA1Ljg5SDQzOS44M1YwWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OS4zNzk5IDYxLjg0TDUzLjc4OTkgMjIuMjNDNTQuMDI5OSAyMC4wNCA1Ni4wMTk5IDE4LjQ3IDU4LjIyOTkgMTguNzFMNjguNTY5OSAxOS44NkM2OS42Mjk5IDE5Ljk4IDcwLjU5OTkgMjAuNTEgNzEuMjY5OSAyMS4zM0w3Ni4yOTk5IDI3LjU2Qzc2Ljk2OTkgMjguMzkgNzcuOTM5OSAyOC45MiA3OC45OTk5IDI5LjAzTDkxLjY3OTkgMzAuNDRDOTIuNzM5OSAzMC41NiA5My43OTk5IDMwLjI1IDk0LjYzOTkgMjkuNTlMMTAwLjkyIDI0LjYyQzEwMS43NSAyMy45NiAxMDIuODIgMjMuNjYgMTAzLjg4IDIzLjc3TDIwMy43MSAzNC44OEMyMDUuOTIgMzUuMTMgMjA3LjUxIDM3LjEgMjA3LjI3IDM5LjI5TDIwMi44NiA3OC45QzIwMi42MiA4MS4wOSAyMDAuNjMgODIuNjYgMTk4LjQyIDgyLjQyTDk4LjU4OTkgNzEuMzFDOTcuNTI5OSA3MS4xOSA5Ni40Njk5IDcxLjUgOTUuNjI5OSA3Mi4xNkw4OS4zNDk5IDc3LjEzQzg4LjUxOTkgNzcuNzkgODcuNDQ5OSA3OC4wOSA4Ni4zODk5IDc3Ljk4TDczLjcwOTkgNzYuNTdDNzIuNjQ5OSA3Ni40NSA3MS42Nzk5IDc1LjkyIDcxLjAwOTkgNzUuMDlMNjUuOTc5OSA2OC44NkM2NS4zMDk5IDY4LjAzIDY0LjMzOTkgNjcuNSA2My4yNzk5IDY3LjM5TDUyLjkzOTkgNjYuMjRDNTAuNzI5OSA2NS45OSA0OS4xMzk5IDY0LjAyIDQ5LjM3OTkgNjEuODNWNjEuODRaIiBmaWxsPSIjNEM3REJGIi8+CjxwYXRoIGQ9Ik0zMzYgMTkuMTZDMzM1LjQ2IDE4LjI3IDMyOS42NyAxOC4yNSAzMjguNjggMTguMkMzMjYuNTIgMTguMSAzMjIuNjQgMTcuNyAzMjAuNzMgMTguNjhDMzIwLjczIDE4Ljc3IDMxNi40NyAyMS4wNCAzMTYuNDcgMjEuMDRMMzIzLjMyIDI4LjkzTDMzNC4yMyAyOS44M0wzMzkuMTUgMjIuNzdDMzM5LjE1IDIyLjc3IDMzNi40MyAxOS44NiAzMzYgMTkuMTdWMTkuMTZaIiBmaWxsPSIjOTU4OTdGIi8+CjxwYXRoIGQ9Ik0zNTYuMTQgNTguMjFDMzUxLjUxIDYxLjI3IDM0NS43MiA2NS4xIDM0MS4wNyA2OC4xMUMzMzcuNDEgNzAuNDkgMzM1LjUzIDczLjI1IDMzMi4zMiA3Ni4yMkMzMzIuMzIgNzYuMjIgMzM5LjkxIDg3LjQ1IDM0MC4wOCA4Ny42OUMzNTEuNDcgODQuODUgMzU4LjQzIDc1LjU4IDM2Mi42NSA2NS4wMkwzNTYuMTMgNTguMjFIMzU2LjE0WiIgZmlsbD0iIzk1ODk3RiIvPgo8cGF0aCBkPSJNMzA0LjU3IDU3LjQ4OTlMMjk1LjgxIDY4LjEyOTlDMjk4LjU2IDc0LjA3OTkgMzAxLjkxIDc5LjgwOTkgMzA3LjQ5IDgzLjQ0OTlDMzA5LjE1IDg0LjUzOTkgMzEyLjkxIDg2LjkyOTkgMzE0Ljg5IDg2LjY1OTlDMzE2LjE2IDg2LjQ5OTkgMzIwLjE3IDg0LjI1OTkgMzIwLjE3IDg0LjI1OTlDMzIwLjE3IDg0LjI1OTkgMzIxLjE5IDc4LjcwOTkgMzIxLjMzIDc2LjYzOTlMMzIyLjAxIDY3LjE0OTlDMzIxLjYyIDY2Ljg4OTkgMzA0LjkgNTcuMTM5OSAzMDQuNTggNTcuNDc5OUwzMDQuNTcgNTcuNDg5OVoiIGZpbGw9IiM5NTg5N0YiLz4KPHBhdGggZD0iTTMxOC40IDIxLjc5OTlDMzE4LjQgMjEuNzk5OSAzMTQuMDUgMjAuNTE5OSAzMTMuMjggMjAuODY5OUMzMTAuOTUgMjEuOTc5OSAzMDYuMTYgMjQuNzg5OSAzMDQuMjIgMjYuNDk5OUMzMDAuMjUgMjkuOTk5OSAyOTYuNyAzNC43OTk5IDI5NS4yOSAzOS45ODk5QzI5NS40NiA0MC4wNTk5IDI5Ni4wOSA0My45MTk5IDI5Ni4yMyA0My45Njk5QzI5Ni4yNyA0NC4wNzk5IDMwNS45NCA0Ny42ODk5IDMwNS45NCA0Ny42ODk5QzMwNy45NSA0Ni40MDk5IDMxNi4zNCA0MC43NDk5IDMxNi4zNCA0MC43NDk5TDMyMS41NCAyNi42MTk5TDMxOC40IDIxLjc5OTlaIiBmaWxsPSIjQzdCQTk5Ii8+CjxwYXRoIGQ9Ik0zMzUuMTkgODAuMjc5OUwzMjguNDEgNzIuNDE5OUMzMjUuMTMgNzIuODk5OSAzMTkuODkgNzkuMjg5OSAzMTkuMDEgODAuMjY5OUMzMTcuMzYgODIuMzA5OSAzMTUuOSA4NC41MDk5IDMxNC42NSA4Ni44MTk5QzMxNS45OCA4OC4wOTk5IDMxOS4yOSA4OC43NDk5IDMyMS4wNSA4OS4xMzk5QzMyMy4zMiA4OS42Mzk5IDMyNS42MyA4OS44ODk5IDMyNy45NSA4OS44OTk5QzMzMi4wOCA4OS44Mjk5IDMzNi4xOCA4OS4wNzk5IDM0MC4wOCA4Ny42OTk5TDMzNS4yIDgwLjI3OTlIMzM1LjE5WiIgZmlsbD0iI0RCQ0ZCOSIvPgo8cGF0aCBkPSJNMzU1LjY3IDQ0LjkwOTlDMzU1LjE5IDQ1LjMxOTkgMzQyLjU5IDMyLjcwOTkgMzQyLjEyIDMzLjEwOTlDMzQxLjY1IDMzLjUxOTkgMzI1LjczIDQyLjA1OTkgMzI1LjkgNDIuNzc5OUMzMjUuOSA0Mi45MDk5IDMyNi40NyA2Mi4xNTk5IDMyNi40NyA2Mi4yODk5QzMyNi40NyA2My4xOTk5IDM0MS4wNyA2OC4xMTk5IDM0MS4wNyA2OC4xMTk5TDM1My42MSA1OS45NTk5QzM1My42MSA1OS45NTk5IDM1Ni4wNyA0NC41NTk5IDM1NS42NyA0NC44OTk5VjQ0LjkwOTlaIiBmaWxsPSIjQzdCQTk5Ii8+CjxwYXRoIGQ9Ik0zMjYuMjkgNDcuNzNMMzIzLjMyIDM4LjM5TDMxNS4xOCAzNi43NkMzMTUgMzYuOSAzMDIuMTcgNDUuMzUgMzAxLjk3IDQ1LjQ5VjU4LjM0QzMwNi4zNCA2Mi45NyAzMTUuMDEgNjcuMzMgMzE1LjAxIDY3LjMzQzMxNS4wMSA2Ny4zMyAzMjIuNzcgNjMuNjggMzIyLjcgNjMuOTNDMzIyLjk1IDYzLjQgMzI2LjQgNTkuNDMgMzI2LjQgNTkuNDNMMzI2LjI5IDQ3LjcyVjQ3LjczWiIgZmlsbD0iI0RCQ0ZCOSIvPgo8cGF0aCBkPSJNMzE5LjAzIDgwLjI1OTlDMzE5LjAzIDgwLjI1OTkgMzE1LjQzIDY5LjY1OTkgMzE0Ljk0IDY3LjMxOTlDMzE4LjA0IDYzLjk2OTkgMzI2LjM4IDU5LjM2OTkgMzI2LjM4IDU5LjM2OTlDMzMxLjIxIDYyLjE5OTkgMzM2LjU1IDY0Ljc3OTkgMzQxLjA1IDY4LjExOTlDMzM5Ljg0IDcyLjM0OTkgMzM3LjA4IDc2LjMyOTkgMzM1LjE3IDgwLjI4OTlDMzMyLjA0IDgxLjA4OTkgMzIxLjE1IDgwLjIwOTkgMzE5LjAzIDgwLjI2OTlWODAuMjU5OVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0zNjAuMjYgMzYuNzY5OUMzNTcuNzkgMzEuNjI5OSAzNDYuNDQgMjIuNjM5OSAzNDUuNDEgMjIuMzU5OUgzNDUuNThDMzQ0LjkgMjIuMDI5OSAzNDIuMDUgMjAuNTQ5OSAzNDEuMjYgMjAuNzU5OUMzNDAuNzQgMjAuMjQ5OSAzMzcuODIgMjEuMTA5OSAzMzcuMjcgMjEuNDg5OUMzMzYgMjIuMzk5OSAzMzIuOTQgMjYuOTg5OSAzMzIuOTQgMjYuOTg5OUwzMzIuMDUgMzEuODk5OUwzMzguNDggMzYuNjg5OUMzMzguNDggMzYuNjg5OSAzNDguMzcgNDIuMjk5OSAzNTIuNTUgNDQuMzk5OUwzNjAuNzIgMzcuNzQ5OUMzNjAuNjggMzcuNjE5OSAzNjAuMjkgMzYuODU5OSAzNjAuMjUgMzYuNzY5OUgzNjAuMjZaIiBmaWxsPSIjREJDRkI5Ii8+CjxwYXRoIGQ9Ik0zMzIuOTUgMjcuMDE5OUMzMzIuOTUgMjcuMDE5OSAzMjEuNjYgMjYuNTE5OSAzMjEuNTYgMjYuNjY5OUwzMTUuMjMgMzYuNzM5OUMzMTUuNSAzNy4xNTk5IDMxNi42NyAzOC4yMDk5IDMxNi45OSAzOC41ODk5QzMxNy42NyAzOS4zOTk5IDMxOC4zNiA0MC4yMjk5IDMxOS4xIDQwLjk4OTlDMzE5Ljg0IDQxLjc0OTkgMzI1Ljc5IDQ3LjQ1OTkgMzI2LjM0IDQ3LjcyOTlDMzI2LjUgNDcuNjU5OSAzMjYuNjQgNDcuNTc5OSAzMjYuNzggNDcuNDg5OUMzMjcuMzYgNDYuOTg5OSAzMzguNTQgMzYuOTA5OSAzMzguNTQgMzYuOTA5OUwzMzIuOTQgMjcuMDI5OUwzMzIuOTUgMjcuMDE5OVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0zNjIuNjUgNjUuMDE5OUMzNTkuNCA2My43OTk5IDM1Ni4zNiA2Mi4wODk5IDM1My42MSA1OS45NDk5QzM1My41NSA1OS4wNDk5IDM1Mi4wMyA0NC4yODk5IDM1Mi4wMyA0My45Nzk5QzM1My4zNSA0Mi43Njk5IDM1OS41IDM3LjY5OTkgMzYwLjc0IDM3Ljc0OTlDMzY0LjA0IDQ1LjUwOTkgMzY2LjQ5IDU3LjAxOTkgMzYyLjY1IDY1LjAxOTlaIiBmaWxsPSJibGFjayIvPgo8cGF0aCBkPSJNMzAzLjI5IDQ0LjU0QzMwMy4wNyA0NC4yOCAyOTYuNzIgNDAuNzYgMjk1LjI4IDQwLjA0QzI5Mi4yNyA0OS4xIDI5MS43MSA1OS4yNiAyOTUuODEgNjguMTVMMjk1Ljk2IDY4LjIxTDMwMy45MyA2MC4xOUMzMDMuOSA2MC4wMiAzMDMuMzkgNDQuNjQgMzAzLjI5IDQ0LjUzVjQ0LjU0WiIgZmlsbD0iYmxhY2siLz4KPHBhdGggZD0iTTMxOC43OCAxOS4wODAxQzMxOC40NyAxOS4yMTAxIDMxOC4xNSAxOS4zMjAxIDMxNy44MiAxOS40MDAxQzMxNy4zMyAxOS41NDAxIDMxNi44NCAxOS42NjAxIDMxNi4zNSAxOS44MjAxQzMxNS42IDIwLjA2MDEgMzE0Ljg2IDIwLjMxMDEgMzE0LjEyIDIwLjU2MDFDMzEzLjgzIDIwLjY2MDEgMzEzLjU1IDIwLjc3MDEgMzEzLjI2IDIwLjg4MDFWMjEuMDQwMUMzMTMuNjMgMjEuMTEwMSAzMTMuOTkgMjEuMTkwMSAzMTQuMzYgMjEuMjQwMUMzMTUuMDYgMjEuMzQwMSAzMTcuNjYgMjEuNzAwMSAzMTguMzYgMjEuODEwMUwzMjAuODEgMTguNjAwMUMzMjAuMTIgMTguNjkwMSAzMTkuNDQgMTguODUwMSAzMTguNzggMTkuMDkwMVYxOS4wODAxWiIgZmlsbD0iYmxhY2siLz4KPHBhdGggZD0iTTMzNi43NSAyMS45MTk5QzMzNi43NSAyMS45MTk5IDMzNi4yNiAyMC4wNzk5IDMzNS45OCAxOS4xNTk5QzMzNy42OSAxOS41NTk5IDMzOS4zOCAyMC4wNDk5IDM0MS4wNCAyMC42Mzk5VjIwLjc4OTlDMzQwLjkxIDIwLjg1OTkgMzM2Ljc0IDIxLjkxOTkgMzM2Ljc0IDIxLjkxOTlIMzM2Ljc1WiIgZmlsbD0iYmxhY2siLz4KPHBhdGggZD0iTTI5OC43OSA1MS41MzAyQzI5OC4zNSA1MS4wODAyIDI5Ny45MSA1MC42NTAyIDI5Ny40NiA1MC4yMTAyIiBzdHJva2U9IiNDRURGRjIiIHN0cm9rZS13aWR0aD0iMy43NCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTI5MS43OSA0NC45NjAxQzI0MC41MyAwLjI4MDA5OCAxOTMuNjIgMzMuNjIwMSAxNzkuNjcgNDUuNzAwMSIgc3Ryb2tlPSIjQ0VERkYyIiBzdHJva2Utd2lkdGg9IjMuNzQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CjxwYXRoIGQ9Ik0xNzYuOCA0OC4zQzE3NS45MyA0OS4xMyAxNzUuNDcgNDkuNjEwMSAxNzUuNDcgNDkuNjEwMSIgc3Ryb2tlPSIjQ0VERkYyIiBzdHJva2Utd2lkdGg9IjMuNzQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CjxwYXRoIGQ9Ik0yOTguMzcgNTEuMjEwMUMyOTYuNDQgNTEuMjAwMSAyOTQuMDYgNTIuNjQwMSAyOTIuNjggNTMuOTIwMUMyOTUuNzkgNTMuNDgwMSAyOTkuMDYgNTMuNjcwMSAzMDIuMDEgNTQuOTAwMUMzMDAuNzggNTEuOTcwMSAzMDAuNzkgNDguNjgwMSAzMDEuMTMgNDUuNTYwMUMyOTkuODIgNDcuMDkwMSAyOTguNDMgNDkuMTUwMSAyOTguMzYgNTEuMjIwMUwyOTguMzcgNTEuMjEwMVoiIGZpbGw9IiNDRURGRjIiLz4KPHBhdGggZD0iTTI1NC4zOTMgODguNzc4NUwyNTguODMgODQuMDAwN0wyMjMuNTY4IDUxLjI1NjhMMjE5LjEzMiA1Ni4wMzQ1TDI1NC4zOTMgODguNzc4NVoiIGZpbGw9IiMyQjhFQjgiLz4KPHBhdGggZD0iTTIzMi4zNSA1OS4wNjk5TDIzMC41NSA2MC45ODk5TDIyNy42OSA2NC4wMzk5QzIyNi44MyA2NC45NTk5IDIyNi44OCA2Ni4zOTk5IDIyNy43OSA2Ny4yNDk5TDI1NC4wNSA5MS44Nzk5QzI1NC45NyA5Mi43Mzk5IDI1Ni40MSA5Mi42ODk5IDI1Ny4yNiA5MS43Nzk5TDI2MS4yNiA4Ny41MTk5TDI2MS45MyA4Ni44MDk5QzI2Mi43OSA4NS44ODk5IDI2Mi43NCA4NC40NDk5IDI2MS44MyA4My41OTk5TDIzNS41NyA1OC45Njk5QzIzNC42NSA1OC4xMDk5IDIzMy4yMSA1OC4xNTk5IDIzMi4zNiA1OS4wNjk5SDIzMi4zNVoiIGZpbGw9IiNGNDdGMjAiLz4KPHBhdGggZD0iTTIzMi4zNSA1OS4wNjk5TDIzMC41NSA2MC45ODk5QzIzNC4zOCA2Mi4xMjk5IDIzNy4xMSA2NC43MDk5IDI0MC4wOSA2Ny4yNTk5QzI0NC42NSA3MS4xNTk5IDI0OS4xNCA3NS4xNDk5IDI1My42NSA3OS4wODk5QzI1Ni4zMiA4MS40Mjk5IDI1OS4zNiA4My45MTk5IDI2MS4wNiA4Ny4wODk5QzI2MS4xMyA4Ny4yMTk5IDI2MS4xOSA4Ny4zNjk5IDI2MS4yNSA4Ny41Mjk5TDI2MS45MiA4Ni44MTk5QzI2Mi43OCA4NS44OTk5IDI2Mi43MyA4NC40NTk5IDI2MS44MiA4My42MDk5TDIzNS41NiA1OC45Nzk5QzIzNC42NCA1OC4xMTk5IDIzMy4yIDU4LjE2OTkgMjMyLjM1IDU5LjA3OTlWNTkuMDY5OVoiIGZpbGw9IiNEOTZGMjciLz4KPHBhdGggZD0iTTIyMS40NSA1NC42MDk5QzIzMC4xNiA0NS4yMjk5IDIyOS42MiAzMC41NTk5IDIyMC4yNCAyMS44NDk5QzIxMC44NiAxMy4xMzk5IDE5Ni4xOSAxMy42Nzk5IDE4Ny40OCAyMy4wNTk5QzE3OC43NyAzMi40Mzk5IDE3OS4zMSA0Ny4xMDk5IDE4OC42OSA1NS44MTk5QzE5OC4wNyA2NC41Mjk5IDIxMi43NCA2My45ODk5IDIyMS40NSA1NC42MDk5Wk0xOTEuMiA1My4xMDk5QzE4My4zMSA0NS43ODk5IDE4Mi44NiAzMy40NTk5IDE5MC4xOCAyNS41Njk5QzE5Ny41IDE3LjY3OTkgMjA5LjgzIDE3LjIyOTkgMjE3LjcyIDI0LjU0OTlDMjI1LjYxIDMxLjg2OTkgMjI2LjA2IDQ0LjE5OTkgMjE4Ljc0IDUyLjA4OTlDMjExLjQyIDU5Ljk3OTkgMTk5LjA5IDYwLjQyOTkgMTkxLjIgNTMuMTA5OVoiIGZpbGw9IiMyQjhFQjgiLz4KPHBhdGggb3BhY2l0eT0iMC4yIiBkPSJNMjIxLjgxMyA0Ny42ODgxQzIyNi43MDUgMzguMDk5OSAyMjIuODk4IDI2LjM2MTUgMjEzLjMxIDIxLjQ2OTdDMjAzLjcyMSAxNi41Nzc5IDE5MS45ODMgMjAuMzg1MSAxODcuMDkxIDI5Ljk3MzRDMTgyLjE5OSAzOS41NjE2IDE4Ni4wMDcgNTEuMzAwMSAxOTUuNTk1IDU2LjE5MThDMjA1LjE4MyA2MS4wODM2IDIxNi45MjIgNTcuMjc2NCAyMjEuODEzIDQ3LjY4ODFaIiBmaWxsPSIjMkI4RUI4Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMTk5N184NzEyIj4KPHJlY3Qgd2lkdGg9IjQzOC44MyIgaGVpZ2h0PSIxMDUuODkiIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxKSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/debug-modal/icons/icon--check-the-values.svg" /*!*********************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--check-the-values.svg ***! \*********************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI0NDAiIGhlaWdodD0iMTA2IiBpZD0iTGF5ZXJfMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNDM4LjgzIDEwNS44OSI+PGcgaWQ9IkxheWVyXzEtMiI+PGc+PHJlY3Qgd2lkdGg9IjQzOC44MyIgaGVpZ2h0PSIxMDUuODkiIGZpbGw9IiNmZmYiLz48Zz48Zz48cGF0aCBkPSJNMTk1LjczLDQxLjMzYy42OC0uNjgsMS42LTEuMDcsMi41Ni0xLjA3aDIuMTNzNTguMDctLjE4LDU4LjA3LS4xOGMyLDAsMy42MywxLjYxLDMuNjQsMy42MmwuMTEsMzYuMjljMCwyLTEuNjEsMy42My0zLjYyLDMuNjRsLTU4LjA3LC4xN2gtMi4xM2MtLjk2LDAtMS44OCwuMzktMi41NiwxLjA4bC01LjEyLDUuMTVjLS42OCwuNjgtMS42LDEuMDctMi41NiwxLjA3bC0xMS41MSwuMDNjLS45NiwwLTEuODktLjM4LTIuNTctMS4wNWwtNS4xNS01LjEyYy0uNjgtLjY4LTEuNjEtMS4wNi0yLjU3LTEuMDZoLTIuMTNzLTcuMjYsLjAzLTcuMjYsLjAzYy0yLDAtMy42My0xLjYxLTMuNjQtMy42MmwtLjExLTM2LjI5YzAtMiwxLjYxLTMuNjMsMy42Mi0zLjY0bDcuMjYtLjAyaDIuMTNjLjk2LDAsMS44OSwuMzcsMi41NywxLjA1bDUuMTUsNS4xMmMuNjgsLjY4LDEuNjEsMS4wNiwyLjU3LDEuMDZsMTEuNTEtLjAzYy45NiwwLDEuODgtLjM5LDIuNTYtMS4wN2w1LjEyLTUuMTVaIiBmaWxsPSIjZjU3ZjIwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cmVjdCB4PSIxOTkuNjEiIHk9IjQ5LjY5IiB3aWR0aD0iNTMuMjYiIGhlaWdodD0iMjUuODgiIHJ4PSI0LjA0IiByeT0iNC4wNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLS4zNyAxLjM0KSByb3RhdGUoLS4zNCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2QxNTUwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjEuNjUiLz48cG9seWdvbiBwb2ludHM9IjIzOS41MSA1Ny44OCAyNDYuNzkgNTcuODQgMjQzLjE4IDYzIDIzOS41NyA2OC4xNiAyMzUuOSA2My4wNCAyMzIuMjMgNTcuOTMgMjM5LjUxIDU3Ljg4IiBmaWxsPSIjZmZlNWNjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PHJlY3QgeD0iMjY4LjEyIiB5PSIxMi4yNCIgd2lkdGg9IjYxLjU1IiBoZWlnaHQ9IjQwLjEiIHJ4PSIyMC4wNSIgcnk9IjIwLjA1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS42MiAtNTYuMzQpIHJvdGF0ZSgxMC45OCkiIGZpbGw9IiNmNTdmMjAiLz48cmVjdCB4PSIzMzEuMjYiIHk9IjQ4LjU0IiB3aWR0aD0iNjEuNTUiIGhlaWdodD0iNDAuMSIgcng9IjIwLjA1IiByeT0iMjAuMDUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02LjQgNjMuMzUpIHJvdGF0ZSgtOS45MSkiIGZpbGw9IiNmNTdmMjAiLz48Zz48Zz48Zz48cmVjdCB4PSI2OS4xNSIgeT0iMzguOTUiIHdpZHRoPSI5LjUiIGhlaWdodD0iNzAuMTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM3LjY3IDE3Mi4xNSkgcm90YXRlKC0xMTQuNzgpIiBmaWxsPSIjMmI4ZWI4Ii8+PGc+PHBhdGggZD0iTTkyLjMyLDcxLjE2bC0xLjU5LTMuNDgtMi41My01LjU1Yy0uNzYtMS42Ny0yLjczLTIuNC00LjM5LTEuNjRsLTQ3Ljc3LDIxLjc2Yy0xLjY3LC43Ni0yLjQsMi43My0xLjY0LDQuMzlsMy41Myw3Ljc1LC41OSwxLjI5Yy43NiwxLjY3LDIuNzMsMi40LDQuMzksMS42NGw0Ny43Ny0yMS43NmMxLjY3LS43NiwyLjQtMi43MywxLjY0LTQuMzlaIiBmaWxsPSIjZjQ3ZjIwIi8+PHBhdGggZD0iTTkyLjMyLDcxLjE2cy0xLjU5LTMuNDgtMS41OS0zLjQ4Yy0zLjY2LDQuNTQtOC42NSw2Ljc5LTEzLjc0LDkuMzktNy43OSwzLjk5LTE1LjY1LDcuODMtMjMuNDcsMTEuNzMtNC42MywyLjMxLTkuNjcsNS4wMy0xNC44OSw1LjU2LS4yMiwuMDItLjQ1LC4wMy0uNywuMDJsLjU5LDEuMjljLjc2LDEuNjcsMi43MywyLjQsNC4zOSwxLjY0bDQ3Ljc3LTIxLjc2YzEuNjctLjc2LDIuNC0yLjczLDEuNjQtNC4zOVoiIGZpbGw9IiNkOTZmMjciLz48L2c+PC9nPjxwYXRoIGQ9Ik0xMDQuMzksNTguOTNjNy44MiwxNi45NSwyNy45LDI0LjM0LDQ0Ljg1LDE2LjUyLDE2Ljk1LTcuODIsMjQuMzQtMjcuOSwxNi41Mi00NC44NS03LjgyLTE2Ljk1LTI3LjktMjQuMzQtNDQuODUtMTYuNTItMTYuOTUsNy44Mi0yNC4zNCwyNy45LTE2LjUyLDQ0Ljg1Wm0xOC43OC0zOS45NmMxNC4yNS02LjU4LDMxLjEyLS4zNiwzNy43LDEzLjg5LDYuNTgsMTQuMjUsLjM2LDMxLjEyLTEzLjg5LDM3LjctMTQuMjUsNi41OC0zMS4xMiwuMzYtMzcuNy0xMy44OS02LjU4LTE0LjI1LS4zNi0zMS4xMiwxMy44OS0zNy43WiIgZmlsbD0iIzJiOGViOCIvPjwvZz48Y2lyY2xlIGN4PSIxMzUuMDciIGN5PSI0NC43NyIgcj0iMjguNDEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuNDEgOTguNzQpIHJvdGF0ZSgtNDAuNjMpIiBmaWxsPSIjMmI4ZWI4IiBvcGFjaXR5PSIuMiIvPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4="; /***/ }, /***/ "./src/components/debug-modal/icons/icon--close.svg" /*!**********************************************************!*\ !*** ./src/components/debug-modal/icons/icon--close.svg ***! \**********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMTYiIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuMTUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS40NzE2IDE4LjI2NDNDMTAuODQ2MyAxOC44ODk1IDEwLjg0NjMgMTkuOTAzMyAxMS40NzE2IDIwLjUyODVDMTIuMDk2OCAyMS4xNTM4IDEzLjExMDUgMjEuMTUzOCAxMy43MzU4IDIwLjUyODVMMTYgMTguMjY0M0wxOC4yNjQyIDIwLjUyODVDMTguODg5NSAyMS4xNTM4IDE5LjkwMzIgMjEuMTUzOCAyMC41Mjg1IDIwLjUyODVDMjEuMTUzNyAxOS45MDMzIDIxLjE1MzcgMTguODg5NSAyMC41Mjg1IDE4LjI2NDNMMTguMjY0MiAxNi4wMDAxTDIwLjUyODUgMTMuNzM1OEMyMS4xNTM3IDEzLjExMDYgMjEuMTUzNyAxMi4wOTY5IDIwLjUyODUgMTEuNDcxNkMxOS45MDMyIDEwLjg0NjQgMTguODg5NSAxMC44NDY0IDE4LjI2NDIgMTEuNDcxNkwxNiAxMy43MzU4TDEzLjczNTggMTEuNDcxNkMxMy4xMTA1IDEwLjg0NjQgMTIuMDk2OCAxMC44NDY0IDExLjQ3MTYgMTEuNDcxNkMxMC44NDYzIDEyLjA5NjkgMTAuODQ2MyAxMy4xMTA2IDExLjQ3MTYgMTMuNzM1OEwxMy43MzU4IDE2LjAwMDFMMTEuNDcxNiAxOC4yNjQzWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/debug-modal/icons/icon--comment-your-code.svg" /*!**********************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--comment-your-code.svg ***! \**********************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI0NDAiIGhlaWdodD0iMTA2IiBpZD0iTGF5ZXJfMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNDM4LjgzIDEwNS44OSI+PGcgaWQ9IkxheWVyXzEtMiI+PGc+PGc+PHJlY3Qgd2lkdGg9IjQzOC44MyIgaGVpZ2h0PSIxMDUuODkiIGZpbGw9IiNmZmYiLz48Zz48cGF0aCBkPSJNMTYyLjI0LDQ3LjcxbC0uMjEtMzQuMTRTMTc0LjMzLDEuMTEsMTk5LjE3LC45NmMyNC44My0uMTUsMzcuMjksMTIuMTUsMzcuMjksMTIuMTVsNDIuMzEtLjI2YzEuNzQtLjAxLDMuMDksMS4zOSwzLjEsMy4wNmwuMTksMzAuOTljLjAxLDEuNzQtMS4zOSwzLjA5LTMuMDYsMy4xbC03OC4yNSwuNDhjLS44LDAtMS42LC4zNC0yLjIsLjk1bC00LjM5LDQuNDVjLS42LC42MS0xLjMzLC45NS0yLjIsLjk1bC05Ljg0LC4wNmMtLjgsMC0xLjYxLS4zMi0yLjIxLS45MmwtNC40NS00LjM5Yy0uNjEtLjYtMS4zNC0uOTMtMi4yMS0uOTJsLTguMDMsLjA1Yy0xLjU0LC4xNC0yLjk1LTEuMjUtMi45Ni0yLjk5WiIgZmlsbD0iI2ZkYmUxMCIvPjxwYXRoIGQ9Ik0yMDAuMTgsNTUuODFjLjY0LS42NCwxLjUxLTEuMDEsMi40Mi0xLjAxaDJzNTQuNzUtLjE3LDU0Ljc1LS4xN2MxLjg5LDAsMy40MywxLjUyLDMuNDMsMy40MWwuMSwzNC4yMmMwLDEuODktMS41MiwzLjQzLTMuNDEsMy40M2wtNTQuNzUsLjE2aC0yYy0uOTEsMC0xLjc4LC4zNy0yLjQyLDEuMDJsLTQuODMsNC44NWMtLjY0LC42NC0xLjUxLDEuMDEtMi40MiwxLjAxbC0xMC44NSwuMDNjLS45MSwwLTEuNzgtLjM2LTIuNDItLjk5bC00Ljg1LTQuODNjLS42NC0uNjQtMS41Mi0xLTIuNDItMWgtMnMtNi44NCwuMDMtNi44NCwuMDNjLTEuODksMC0zLjQzLTEuNTItMy40My0zLjQxbC0uMS0zNC4yMmMwLTEuODksMS41Mi0zLjQzLDMuNDEtMy40M2w2Ljg0LS4wMmgyYy45MSwwLDEuNzgsLjM1LDIuNDIsLjk5bDQuODUsNC44M2MuNjQsLjY0LDEuNTEsMSwyLjQyLDFsMTAuODUtLjAzYy45MSwwLDEuNzgtLjM2LDIuNDItMS4wMWw0LjgzLTQuODVaIiBmaWxsPSIjZWM5ZDIyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PC9nPjxyZWN0IHg9IjM1LjYzIiB5PSIxOC41NyIgd2lkdGg9IjEwOC4zNyIgaGVpZ2h0PSI0NS4xMiIgcng9IjMuODIiIHJ5PSIzLjgyIiBmaWxsPSIjZmZlM2IzIi8+PHBhdGggZD0iTTEwMi40NCw1NS41M3MuMDYsLjA5LC4wOSwuMTNjNy45NSwxMS43OSwxOS44NywxNC4zNSwxOC43NSw4Ljk5LS43OS0zLjc3LTEuNDItNy4xMS0uNzQtOS4xMmgzLjM0YzcuODMsMCwxNC4xOC02LjMzLDE0LjE4LTE0LjE1cy02LjM1LTE0LjE1LTE0LjE4LTE0LjE1SDU2LjYxYy03LjgzLDAtMTQuMTgsNi4zMy0xNC4xOCwxNC4xNXM2LjM1LDE0LjE1LDE0LjE4LDE0LjE1aDQ1LjgzWiIgZmlsbD0iI2ZmZDk5NiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyIi8+PHJlY3QgeD0iMjg1LjYxIiB5PSIzNy42MiIgd2lkdGg9IjEyNC42MSIgaGVpZ2h0PSI1MS44OCIgcng9IjQuMzkiIHJ5PSI0LjM5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2OTUuODMgMTI3LjExKSByb3RhdGUoLTE4MCkiIGZpbGw9IiNmZmUzYjMiLz48cGF0aCBkPSJNMzMzLjM5LDgwLjExcy0uMDcsLjEtLjEsLjE1Yy05LjE1LDEzLjU1LTIyLjg1LDE2LjUtMjEuNTYsMTAuMzQsLjkxLTQuMzQsMS42NC04LjE3LC44NS0xMC40OWgtMy44NGMtOSwwLTE2LjMtNy4yOC0xNi4zLTE2LjI3LDAtOC45OSw3LjMtMTYuMjcsMTYuMy0xNi4yN2g3Ny4zNmM5LDAsMTYuMyw3LjI4LDE2LjMsMTYuMjdzLTcuMywxNi4yNy0xNi4zLDE2LjI3aC01Mi43WiIgZmlsbD0iI2ZmZDk5NiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjMiLz48L2c+PC9nPjwvc3ZnPg=="; /***/ }, /***/ "./src/components/debug-modal/icons/icon--debug-inverted.svg" /*!*******************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--debug-inverted.svg ***! \*******************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAyMSAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwLjI0NDYgMTAuNDQzNEgxNy41Mjc2QzE3LjQ5MjkgOS40MDA0OSAxNy4zMjE3IDguNDAyOTcgMTcuMDM2NCA3LjQ4MDIyQzE3LjU0MSA3LjE4NjA2IDE4LjAwOTkgNi43OTkxMiAxOC40MTUzIDYuMzM2NzRDMTkuMjE0MiA1LjQyNTExIDE5Ljc3MzMgNS4xMjA5OCAxOS44Njg2IDMuNzUzNDNDMTkuODk2MyAzLjM0NTEyIDE5LjU4MiAyLjk5MiAxOS4xNjY0IDIuOTY0NjNDMTguNzUwOSAyLjkzNzQ4IDE4LjM5MTUgMy4yNDYzMiAxOC4zNjM2IDMuNjU0ODVDMTguMjkxOSA0LjY4NDE5IDE3Ljg3MzYgNC42ODY2IDE3LjI3NjIgNS4zNjgzN0MxNy4wMzYyIDUuNjQyMDYgMTYuNzY5IDUuODc4NTkgMTYuNDg1NSA2LjA3MTA2QzE1Ljg1MjUgNC43NTMxMyAxNC45NjUxIDQuNTY0OTIgMTMuOTExNiAzLjgxMDE3QzEzLjY4MjIgMy4wOTE2OCAxMy4yOTU0IDIuNDYyODcgMTIuODAwMiAxLjk4MTM1QzEyLjg0NTcgMS45MjE5NCAxMi44OTQyIDEuODYzODcgMTIuOTQ1OCAxLjgwNzM1QzEzLjMwOTkgMS40MDk1IDEzLjgyMjIgMS4wOTg2NSAxNC40MzI5IDAuOTc5NjExQzE0LjcwNTUgMC45MjczMjEgMTQuODgzNSAwLjY2NzY1MSAxNC44MzAzIDAuMzk5NzQ4QzE0Ljc3NzEgMC4xMzE4NDUgMTQuNTEyOCAtMC4wNDMwNDc3IDE0LjI0MDIgMC4wMDkyNDIyNUMxMy40MDE5IDAuMTcyNTY1IDEyLjY5ODUgMC41OTk3ODUgMTIuMTk4MyAxLjE0NjI3QzEyLjEyNzYgMS4yMjM0OCAxMi4wNjA4IDEuMzAzMzYgMTEuOTk4MyAxLjM4NTI1QzExLjUxODkgMS4xMjI2OCAxMC45ODQgMC45NzU2MDUgMTAuNDE5NSAwLjk3NTYwNUM5Ljg1NDk1IDAuOTc1NjA1IDkuMzIwMDcgMS4xMjI0NiA4Ljg0MDY4IDEuMzg1MjVDOC43NzgxOCAxLjMwMzM2IDguNzExMzcgMS4yMjM0OCA4LjY0MDcyIDEuMTQ2MjdDOC4xNDAyNiAwLjU5OTc4NSA3LjQzNjkgMC4xNzI3ODcgNi41OTg4IDAuMDA5NDY0NzZDNi4zMjYxNiAtMC4wNDI4MjUyIDYuMDYxODkgMC4xMzIwNjggNi4wMDg2NyAwLjM5OTk3MUM1Ljk1NTQ1IDAuNjY3ODczIDYuMTMzNDUgMC45Mjc1NDMgNi40MDYwOSAwLjk3OTgzM0M3LjAxNjgzIDEuMDk4ODggNy41MjkwNyAxLjQwOTcyIDcuODkzMiAxLjgwNzU3QzcuOTQ0ODMgMS44NjQwOSA3Ljk5MzI5IDEuOTIyMTcgOC4wMzg4MSAxLjk4MTU4QzcuNTA4MjMgMi40OTc1OCA3LjEwMjIxIDMuMTgyMjQgNi44ODA3NCAzLjk2NTQ4QzUuOTE3NjQgNC43MTIgNS4xMDQ2OCA0Ljg0MjM2IDQuNTEzODYgNi4wNzM1MUM0LjIyODk5IDUuODgwNTkgMy45NjA0MSA1LjY0MzQgMy43MTk0NyA1LjM2ODM3QzMuMTIyMDkgNC42ODY4MiAyLjcwMzgzIDQuNjg0NDEgMi42MzIwNSAzLjY1NDg1QzIuNjA0NDIgMy4yNDY1NSAyLjI0NTA0IDIuOTM3NDggMS44MjkyOCAyLjk2NDYzQzEuNDEzNzQgMi45OTE3NyAxLjA5OTIgMy4zNDQ5IDEuMTI2ODIgMy43NTM0M0MxLjIyMjE2IDUuMTIwOTggMS43ODEyNyA1LjQyNTExIDIuNTgwMTkgNi4zMzY3NEMyLjk4NjQ1IDYuODAwMjMgMy40NTcwMSA3LjE4ODA3IDMuOTYyOTEgNy40ODI2N0MzLjY3ODAzIDguNDA0NzUgMy41MDcwNiA5LjQwMTM4IDMuNDcyNDEgMTAuNDQzNEgwLjc1NTQ0M0MwLjMzODMxOSAxMC40NDM0IDAgMTAuNzc1OCAwIDExLjE4NTdDMCAxMS41OTU2IDAuMzM4MzE5IDExLjkyOCAwLjc1NTQ0MyAxMS45MjhIMy41MTYzNEMzLjU5OTQ1IDEyLjgyMDkgMy43ODMxIDEzLjY3NCA0LjA1MjM1IDE0LjQ2NzlDMy41NTEyMiAxNC43NjE3IDMuMDg1MTggMTUuMTQ2NiAyLjY4MjMyIDE1LjYwNjNDMS44ODM0IDE2LjUxNzkgMS4zMjQyOSAxNi44MjIxIDEuMjI4OTUgMTguMTg5NkMxLjIwMTMzIDE4LjU5NzkgMS41MTU2NCAxOC45NTEgMS45MzE0MSAxOC45Nzg0QzIuMzQ2OTUgMTkuMDA1NiAyLjcwNjMyIDE4LjY5NjcgMi43MzQxOCAxOC4yODg0QzIuODA1OTYgMTcuMjU5MSAzLjIyNDIyIDE3LjI1NjcgMy44MjE2IDE2LjU3NDlDNC4wNjkzNCAxNi4yOTIzIDQuMzQ2MDYgMTYuMDQ5NSA0LjYzOTc3IDE1Ljg1MzdDNS45MDAyIDE4LjI5NTYgOC4wNTQyMSAxOSAxMC41MDAxIDE5QzEyLjk0NiAxOSAxNC45MzQ1IDE4LjQxNjYgMTYuMjExNSAxNi4xMzFDMTYuMzY5NyAxNi4yNjUyIDE2LjUyMDggMTYuNDEzNiAxNi42NjIzIDE2LjU3NDlDMTcuMjU5NyAxNy4yNTY3IDE3LjY3OCAxNy4yNTg5IDE3Ljc0OTcgMTguMjg4NEMxNy43Nzc0IDE4LjY5NjcgMTguMTM2NyAxOS4wMDU4IDE4LjU1MjUgMTguOTc4NEMxOC45NjgxIDE4Ljk1MTMgMTkuMjgyNiAxOC41OTgxIDE5LjI1NDcgMTguMTg5NkMxOS4xNTk0IDE2LjgyMjEgMTguNjAwMyAxNi41MTc5IDE3LjgwMTQgMTUuNjA2M0MxNy41MTMzIDE1LjI3NzcgMTcuMTkyOSAxNC45ODczIDE2Ljg1MDUgMTQuNzQxMkMxNy4xNzMgMTMuODcxMiAxNy4zOTA4IDEyLjkyNDYgMTcuNDgzNyAxMS45MjgySDIwLjI0NDZDMjAuNjYxNyAxMS45MjgyIDIxIDExLjU5NTggMjEgMTEuMTg1OUMyMSAxMC43NzYgMjAuNjYxNyAxMC40NDM0IDIwLjI0NDYgMTAuNDQzNFpNMTEuMTYzNiAxNy4wNzUzQzEwLjkxOTMgMTcuMjg4NyAxMC42MzY3IDE3LjM5NTUgMTAuMzE2MiAxNy4zOTU1QzkuOTk1ODEgMTcuMzk1NSA5LjY5NTUzIDE3LjI5IDkuNDQ4NDcgMTcuMDc5M0M5LjIwMTE5IDE2Ljg2ODYgOS4wNzc3NyAxNi41NzM4IDkuMDc3NzcgMTYuMTk0NkM5LjA3Nzc3IDE1Ljg1ODQgOS4xOTcxMSAxNS41NzU2IDkuNDM2MjQgMTUuMzQ2QzkuNjc1MTUgMTUuMTE2NiA5Ljk2ODYzIDE1LjAwMTcgMTAuMzE2MiAxNS4wMDE3QzEwLjY2MzggMTUuMDAxNyAxMC45NDYyIDE1LjExNjYgMTEuMTc5OSAxNS4zNDZDMTEuNDEzNCAxNS41NzU2IDExLjUzMDIgMTUuODU4NCAxMS41MzAyIDE2LjE5NDZDMTEuNTMwMiAxNi41NjgyIDExLjQwOCAxNi44NjE5IDExLjE2MzYgMTcuMDc1M1pNMTQuMjA2OSA5LjY2MTcxQzE0LjAxOTQgMTAuMDAzMyAxMy43OTY4IDEwLjI5ODEgMTMuNTM4OSAxMC41NDY0QzEzLjI4MDcgMTAuNzk0NSAxMi44MTc4IDExLjIxMjQgMTIuMTQ5NiAxMS43OTk0QzExLjk2NDggMTEuOTY0OSAxMS44MTY3IDEyLjExMDQgMTEuNzA1NSAxMi4yMzU3QzExLjU5NDEgMTIuMzYxMiAxMS41MTEyIDEyLjQ3NTggMTEuNDU3MSAxMi41Nzk5QzExLjQwMjggMTIuNjg0MSAxMS4zNjA2IDEyLjc4OCAxMS4zMzA3IDEyLjg5MjFDMTEuMzAwOCAxMi45OTYzIDExLjI1NiAxMy4xNzkyIDExLjE5NjIgMTMuNDQwNkMxMS4wOTMgMTMuOTk1OCAxMC43Njk4IDE0LjI3MzIgMTAuMjI2NiAxNC4yNzMyQzkuOTQ0MTggMTQuMjczMiA5LjcwNjQgMTQuMTgyNSA5LjUxMzY5IDE0LjAwMTFDOS4zMjA3NSAxMy44MTk4IDkuMjI0NTEgMTMuNTUwMSA5LjIyNDUxIDEzLjE5MjVDOS4yMjQ1MSAxMi43NDQyIDkuMjk0OTQgMTIuMzU1OSA5LjQzNjQ3IDEyLjAyNzdDOS41Nzc1NSAxMS42OTk1IDkuNzY1MDUgMTEuNDExMyA5Ljk5ODc1IDExLjE2M0MxMC4yMzIyIDEwLjkxNDkgMTAuNTQ3MiAxMC42MjAxIDEwLjk0NCAxMC4yNzgzQzExLjI5MTYgOS45Nzk0NiAxMS41NDI3IDkuNzUzODMgMTEuNjk3NiA5LjYwMTg2QzExLjg1MjUgOS40NDk4OCAxMS45ODI3IDkuMjgwMzMgMTIuMDg4NyA5LjA5MzQyQzEyLjE5NDcgOC45MDY3NCAxMi4yNDc2IDguNzAzODEgMTIuMjQ3NiA4LjQ4NDg2QzEyLjI0NzYgOC4wNTc4NiAxMi4wODYgNy42OTc2MSAxMS43NjI4IDcuNDA0MTJDMTEuNDM5NyA3LjExMDYzIDExLjAyMjUgNi45NjM3NyAxMC41MTIxIDYuOTYzNzdDOS45MTQ1MSA2Ljk2Mzc3IDkuNDc0NTEgNy4xMTE5NyA5LjE5MjEzIDcuNDA4MTNDOC45MDk3NCA3LjcwNDI5IDguNjcwNjEgOC4xNDA2MyA4LjQ3NTE4IDguNzE3MTZDOC4yOTA0IDkuMzIwMzggNy45NDAwOCA5LjYyMTg4IDcuNDI0MjIgOS42MjE4OEM3LjExOTg3IDkuNjIxODggNi44NjMzIDkuNTE2NjQgNi42NTQyOCA5LjMwNTdDNi40NDUwNCA5LjA5NDk4IDYuMzQwNjUgOC44NjY2OCA2LjM0MDY1IDguNjIxMjVDNi4zNDA2NSA4LjM1NDkxIDYuMzg2ODQgOC4wODY3OCA2LjQ3ODEgNy44MTY4OEM2LjU1ODk1IDcuNzEzODYgNi42MTMwNyA3LjU4ODgxIDYuNjI5MzcgNy40NTA2M0M2LjY4OTM4IDcuMzI3NTggNi43NTg2OCA3LjIwNDA5IDYuODM3NDggNy4wODAxNUM3LjE2ODc4IDYuNTU5NyA3LjY1MjI2IDYuMTI4OTEgOC4yODc2OCA1Ljc4NzE0QzguOTIzMSA1LjQ0NTU4IDkuNjY0NzMgNS4yNzQ3IDEwLjUxMjEgNS4yNzQ3QzExLjI5OTcgNS4yNzQ3IDExLjk5NDkgNS40MTc1NSAxMi41OTggNS43MDMwM0MxMy4yMDA4IDUuOTg4NTEgMTMuNjY2NiA2LjM3NzAxIDEzLjk5NTQgNi44Njc4N0MxNC4zMjQgNy4zNTg5NSAxNC40ODg0IDcuODkyNTMgMTQuNDg4NCA4LjQ2OTA2QzE0LjQ4ODQgOC45MjI3NiAxNC4zOTQyIDkuMzIwMTYgMTQuMjA2OSA5LjY2MTcxWiIgZmlsbD0iIzBEQTU3QSIvPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/debug-modal/icons/icon--debug.svg" /*!**********************************************************!*\ !*** ./src/components/debug-modal/icons/icon--debug.svg ***! \**********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAyMSAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwLjI0NDYgMTAuNDQzNEgxNy41Mjc2QzE3LjQ5MjkgOS40MDA0OSAxNy4zMjE3IDguNDAyOTcgMTcuMDM2NCA3LjQ4MDIyQzE3LjU0MSA3LjE4NjA2IDE4LjAwOTkgNi43OTkxMiAxOC40MTUzIDYuMzM2NzRDMTkuMjE0MiA1LjQyNTExIDE5Ljc3MzMgNS4xMjA5OCAxOS44Njg2IDMuNzUzNDNDMTkuODk2MyAzLjM0NTEyIDE5LjU4MiAyLjk5MiAxOS4xNjY0IDIuOTY0NjNDMTguNzUwOSAyLjkzNzQ4IDE4LjM5MTUgMy4yNDYzMiAxOC4zNjM2IDMuNjU0ODVDMTguMjkxOSA0LjY4NDE5IDE3Ljg3MzYgNC42ODY2IDE3LjI3NjIgNS4zNjgzN0MxNy4wMzYyIDUuNjQyMDYgMTYuNzY5IDUuODc4NTkgMTYuNDg1NSA2LjA3MTA2QzE1Ljg1MjUgNC43NTMxMyAxNC45NjUxIDQuNTY0OTIgMTMuOTExNiAzLjgxMDE3QzEzLjY4MjIgMy4wOTE2OCAxMy4yOTU0IDIuNDYyODcgMTIuODAwMiAxLjk4MTM1QzEyLjg0NTcgMS45MjE5NCAxMi44OTQyIDEuODYzODcgMTIuOTQ1OCAxLjgwNzM1QzEzLjMwOTkgMS40MDk1IDEzLjgyMjIgMS4wOTg2NSAxNC40MzI5IDAuOTc5NjExQzE0LjcwNTUgMC45MjczMjEgMTQuODgzNSAwLjY2NzY1MSAxNC44MzAzIDAuMzk5NzQ4QzE0Ljc3NzEgMC4xMzE4NDUgMTQuNTEyOCAtMC4wNDMwNDc3IDE0LjI0MDIgMC4wMDkyNDIyNUMxMy40MDE5IDAuMTcyNTY1IDEyLjY5ODUgMC41OTk3ODUgMTIuMTk4MyAxLjE0NjI3QzEyLjEyNzYgMS4yMjM0OCAxMi4wNjA4IDEuMzAzMzYgMTEuOTk4MyAxLjM4NTI1QzExLjUxODkgMS4xMjI2OCAxMC45ODQgMC45NzU2MDUgMTAuNDE5NSAwLjk3NTYwNUM5Ljg1NDk1IDAuOTc1NjA1IDkuMzIwMDcgMS4xMjI0NiA4Ljg0MDY4IDEuMzg1MjVDOC43NzgxOCAxLjMwMzM2IDguNzExMzcgMS4yMjM0OCA4LjY0MDcyIDEuMTQ2MjdDOC4xNDAyNiAwLjU5OTc4NSA3LjQzNjkgMC4xNzI3ODcgNi41OTg4IDAuMDA5NDY0NzZDNi4zMjYxNiAtMC4wNDI4MjUyIDYuMDYxODkgMC4xMzIwNjggNi4wMDg2NyAwLjM5OTk3MUM1Ljk1NTQ1IDAuNjY3ODczIDYuMTMzNDUgMC45Mjc1NDMgNi40MDYwOSAwLjk3OTgzM0M3LjAxNjgzIDEuMDk4ODggNy41MjkwNyAxLjQwOTcyIDcuODkzMiAxLjgwNzU3QzcuOTQ0ODMgMS44NjQwOSA3Ljk5MzI5IDEuOTIyMTcgOC4wMzg4MSAxLjk4MTU4QzcuNTA4MjMgMi40OTc1OCA3LjEwMjIxIDMuMTgyMjQgNi44ODA3NCAzLjk2NTQ4QzUuOTE3NjQgNC43MTIgNS4xMDQ2OCA0Ljg0MjM2IDQuNTEzODYgNi4wNzM1MUM0LjIyODk5IDUuODgwNTkgMy45NjA0MSA1LjY0MzQgMy43MTk0NyA1LjM2ODM3QzMuMTIyMDkgNC42ODY4MiAyLjcwMzgzIDQuNjg0NDEgMi42MzIwNSAzLjY1NDg1QzIuNjA0NDIgMy4yNDY1NSAyLjI0NTA0IDIuOTM3NDggMS44MjkyOCAyLjk2NDYzQzEuNDEzNzQgMi45OTE3NyAxLjA5OTIgMy4zNDQ5IDEuMTI2ODIgMy43NTM0M0MxLjIyMjE2IDUuMTIwOTggMS43ODEyNyA1LjQyNTExIDIuNTgwMTkgNi4zMzY3NEMyLjk4NjQ1IDYuODAwMjMgMy40NTcwMSA3LjE4ODA3IDMuOTYyOTEgNy40ODI2N0MzLjY3ODAzIDguNDA0NzUgMy41MDcwNiA5LjQwMTM4IDMuNDcyNDEgMTAuNDQzNEgwLjc1NTQ0M0MwLjMzODMxOSAxMC40NDM0IDAgMTAuNzc1OCAwIDExLjE4NTdDMCAxMS41OTU2IDAuMzM4MzE5IDExLjkyOCAwLjc1NTQ0MyAxMS45MjhIMy41MTYzNEMzLjU5OTQ1IDEyLjgyMDkgMy43ODMxIDEzLjY3NCA0LjA1MjM1IDE0LjQ2NzlDMy41NTEyMiAxNC43NjE3IDMuMDg1MTggMTUuMTQ2NiAyLjY4MjMyIDE1LjYwNjNDMS44ODM0IDE2LjUxNzkgMS4zMjQyOSAxNi44MjIxIDEuMjI4OTUgMTguMTg5NkMxLjIwMTMzIDE4LjU5NzkgMS41MTU2NCAxOC45NTEgMS45MzE0MSAxOC45Nzg0QzIuMzQ2OTUgMTkuMDA1NiAyLjcwNjMyIDE4LjY5NjcgMi43MzQxOCAxOC4yODg0QzIuODA1OTYgMTcuMjU5MSAzLjIyNDIyIDE3LjI1NjcgMy44MjE2IDE2LjU3NDlDNC4wNjkzNCAxNi4yOTIzIDQuMzQ2MDYgMTYuMDQ5NSA0LjYzOTc3IDE1Ljg1MzdDNS45MDAyIDE4LjI5NTYgOC4wNTQyMSAxOSAxMC41MDAxIDE5QzEyLjk0NiAxOSAxNC45MzQ1IDE4LjQxNjYgMTYuMjExNSAxNi4xMzFDMTYuMzY5NyAxNi4yNjUyIDE2LjUyMDggMTYuNDEzNiAxNi42NjIzIDE2LjU3NDlDMTcuMjU5NyAxNy4yNTY3IDE3LjY3OCAxNy4yNTg5IDE3Ljc0OTcgMTguMjg4NEMxNy43Nzc0IDE4LjY5NjcgMTguMTM2NyAxOS4wMDU4IDE4LjU1MjUgMTguOTc4NEMxOC45NjgxIDE4Ljk1MTMgMTkuMjgyNiAxOC41OTgxIDE5LjI1NDcgMTguMTg5NkMxOS4xNTk0IDE2LjgyMjEgMTguNjAwMyAxNi41MTc5IDE3LjgwMTQgMTUuNjA2M0MxNy41MTMzIDE1LjI3NzcgMTcuMTkyOSAxNC45ODczIDE2Ljg1MDUgMTQuNzQxMkMxNy4xNzMgMTMuODcxMiAxNy4zOTA4IDEyLjkyNDYgMTcuNDgzNyAxMS45MjgySDIwLjI0NDZDMjAuNjYxNyAxMS45MjgyIDIxIDExLjU5NTggMjEgMTEuMTg1OUMyMSAxMC43NzYgMjAuNjYxNyAxMC40NDM0IDIwLjI0NDYgMTAuNDQzNFpNMTEuMTYzNiAxNy4wNzUzQzEwLjkxOTMgMTcuMjg4NyAxMC42MzY3IDE3LjM5NTUgMTAuMzE2MiAxNy4zOTU1QzkuOTk1ODEgMTcuMzk1NSA5LjY5NTUzIDE3LjI5IDkuNDQ4NDcgMTcuMDc5M0M5LjIwMTE5IDE2Ljg2ODYgOS4wNzc3NyAxNi41NzM4IDkuMDc3NzcgMTYuMTk0NkM5LjA3Nzc3IDE1Ljg1ODQgOS4xOTcxMSAxNS41NzU2IDkuNDM2MjQgMTUuMzQ2QzkuNjc1MTUgMTUuMTE2NiA5Ljk2ODYzIDE1LjAwMTcgMTAuMzE2MiAxNS4wMDE3QzEwLjY2MzggMTUuMDAxNyAxMC45NDYyIDE1LjExNjYgMTEuMTc5OSAxNS4zNDZDMTEuNDEzNCAxNS41NzU2IDExLjUzMDIgMTUuODU4NCAxMS41MzAyIDE2LjE5NDZDMTEuNTMwMiAxNi41NjgyIDExLjQwOCAxNi44NjE5IDExLjE2MzYgMTcuMDc1M1pNMTQuMjA2OSA5LjY2MTcxQzE0LjAxOTQgMTAuMDAzMyAxMy43OTY4IDEwLjI5ODEgMTMuNTM4OSAxMC41NDY0QzEzLjI4MDcgMTAuNzk0NSAxMi44MTc4IDExLjIxMjQgMTIuMTQ5NiAxMS43OTk0QzExLjk2NDggMTEuOTY0OSAxMS44MTY3IDEyLjExMDQgMTEuNzA1NSAxMi4yMzU3QzExLjU5NDEgMTIuMzYxMiAxMS41MTEyIDEyLjQ3NTggMTEuNDU3MSAxMi41Nzk5QzExLjQwMjggMTIuNjg0MSAxMS4zNjA2IDEyLjc4OCAxMS4zMzA3IDEyLjg5MjFDMTEuMzAwOCAxMi45OTYzIDExLjI1NiAxMy4xNzkyIDExLjE5NjIgMTMuNDQwNkMxMS4wOTMgMTMuOTk1OCAxMC43Njk4IDE0LjI3MzIgMTAuMjI2NiAxNC4yNzMyQzkuOTQ0MTggMTQuMjczMiA5LjcwNjQgMTQuMTgyNSA5LjUxMzY5IDE0LjAwMTFDOS4zMjA3NSAxMy44MTk4IDkuMjI0NTEgMTMuNTUwMSA5LjIyNDUxIDEzLjE5MjVDOS4yMjQ1MSAxMi43NDQyIDkuMjk0OTQgMTIuMzU1OSA5LjQzNjQ3IDEyLjAyNzdDOS41Nzc1NSAxMS42OTk1IDkuNzY1MDUgMTEuNDExMyA5Ljk5ODc1IDExLjE2M0MxMC4yMzIyIDEwLjkxNDkgMTAuNTQ3MiAxMC42MjAxIDEwLjk0NCAxMC4yNzgzQzExLjI5MTYgOS45Nzk0NiAxMS41NDI3IDkuNzUzODMgMTEuNjk3NiA5LjYwMTg2QzExLjg1MjUgOS40NDk4OCAxMS45ODI3IDkuMjgwMzMgMTIuMDg4NyA5LjA5MzQyQzEyLjE5NDcgOC45MDY3NCAxMi4yNDc2IDguNzAzODEgMTIuMjQ3NiA4LjQ4NDg2QzEyLjI0NzYgOC4wNTc4NiAxMi4wODYgNy42OTc2MSAxMS43NjI4IDcuNDA0MTJDMTEuNDM5NyA3LjExMDYzIDExLjAyMjUgNi45NjM3NyAxMC41MTIxIDYuOTYzNzdDOS45MTQ1MSA2Ljk2Mzc3IDkuNDc0NTEgNy4xMTE5NyA5LjE5MjEzIDcuNDA4MTNDOC45MDk3NCA3LjcwNDI5IDguNjcwNjEgOC4xNDA2MyA4LjQ3NTE4IDguNzE3MTZDOC4yOTA0IDkuMzIwMzggNy45NDAwOCA5LjYyMTg4IDcuNDI0MjIgOS42MjE4OEM3LjExOTg3IDkuNjIxODggNi44NjMzIDkuNTE2NjQgNi42NTQyOCA5LjMwNTdDNi40NDUwNCA5LjA5NDk4IDYuMzQwNjUgOC44NjY2OCA2LjM0MDY1IDguNjIxMjVDNi4zNDA2NSA4LjM1NDkxIDYuMzg2ODQgOC4wODY3OCA2LjQ3ODEgNy44MTY4OEM2LjU1ODk1IDcuNzEzODYgNi42MTMwNyA3LjU4ODgxIDYuNjI5MzcgNy40NTA2M0M2LjY4OTM4IDcuMzI3NTggNi43NTg2OCA3LjIwNDA5IDYuODM3NDggNy4wODAxNUM3LjE2ODc4IDYuNTU5NyA3LjY1MjI2IDYuMTI4OTEgOC4yODc2OCA1Ljc4NzE0QzguOTIzMSA1LjQ0NTU4IDkuNjY0NzMgNS4yNzQ3IDEwLjUxMjEgNS4yNzQ3QzExLjI5OTcgNS4yNzQ3IDExLjk5NDkgNS40MTc1NSAxMi41OTggNS43MDMwM0MxMy4yMDA4IDUuOTg4NTEgMTMuNjY2NiA2LjM3NzAxIDEzLjk5NTQgNi44Njc4N0MxNC4zMjQgNy4zNTg5NSAxNC40ODg0IDcuODkyNTMgMTQuNDg4NCA4LjQ2OTA2QzE0LjQ4ODQgOC45MjI3NiAxNC4zOTQyIDkuMzIwMTYgMTQuMjA2OSA5LjY2MTcxWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/debug-modal/icons/icon--next.svg" /*!*********************************************************!*\ !*** ./src/components/debug-modal/icons/icon--next.svg ***! \*********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTIiIGhlaWdodD0iNTIiIHZpZXdCb3g9IjAgMCA1MiA1MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMjYiIGN5PSIyNiIgcj0iMjYiIHRyYW5zZm9ybT0icm90YXRlKDE4MCAyNiAyNikiIGZpbGw9IiMwRkJEOEMiIGZpbGwtb3BhY2l0eT0iMC4yNSIvPgo8Y2lyY2xlIGN4PSIyNiIgY3k9IjI2IiByPSIyMiIgdHJhbnNmb3JtPSJyb3RhdGUoMTgwIDI2IDI2KSIgZmlsbD0iIzBGQkQ4QyIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTM2LjQ2NTEgMjQuNjUyMkwyOS40OTYxIDE3LjU0OEMyOC45MjM1IDE2Ljk5ODIgMjguMTIgMTYuODUxMiAyNy40Mjk4IDE3LjE1NjZDMjYuNzM5NiAxNy40NTk4IDI2LjMxMzQgMTguMTI5NSAyNi4zMTM0IDE4LjkwNTVMMjYuMzEzNCAyMS42MDAxTDE2LjYxNDUgMjIuOTczNUMxNS4xMjk3IDIzLjE3MDMgMTQgMjQuNDg3MSAxNCAyNi4wMzY5QzE0IDI2LjE3MDMgMTQuMDA4OSAyNi4zMDYxIDE0LjAyNDQgMjYuNDM5NkMxNC4yMzk3IDI3LjgzNzggMTUuMzA5NSAyOC45MTcgMTYuNjI1NiAyOS4wODY3TDI2LjMxMzQgMzAuNDk2MkwyNi4zMTM0IDMzLjA3MzJDMjYuMzEzNCAzMy44NTgzIDI2Ljc2NjIgMzQuNTU3NCAyNy40NjUzIDM0Ljg1MzhDMjguMTY4OSAzNS4xNTAyIDI4Ljk0NzkgMzQuOTg5NSAyOS40OTYxIDM0LjQzMDdMMzYuNDY1MSAyNy4zMjY1QzM2LjgwOTEgMjYuOTczNSAzNyAyNi40OTg0IDM3IDI1Ljk4OTNDMzcgMjUuNDgwMyAzNi44MDkxIDI1LjAwNTIgMzYuNDY1MSAyNC42NTIyWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/debug-modal/icons/icon--prev.svg" /*!*********************************************************!*\ !*** ./src/components/debug-modal/icons/icon--prev.svg ***! \*********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTIiIGhlaWdodD0iNTIiIHZpZXdCb3g9IjAgMCA1MiA1MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMjYiIGN5PSIyNiIgcj0iMjYiIGZpbGw9IiMwRkJEOEMiIGZpbGwtb3BhY2l0eT0iMC4yNSIvPgo8Y2lyY2xlIGN4PSIyNiIgY3k9IjI2IiByPSIyMiIgZmlsbD0iIzBGQkQ4QyIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE1LjUzNDkgMjcuMzQ3OEwyMi41MDM5IDM0LjQ1MkMyMy4wNzY1IDM1LjAwMTggMjMuODggMzUuMTQ4OCAyNC41NzAyIDM0Ljg0MzRDMjUuMjYwNCAzNC41NDAyIDI1LjY4NjYgMzMuODcwNSAyNS42ODY2IDMzLjA5NDVMMjUuNjg2NiAzMC4zOTk5TDM1LjM4NTUgMjkuMDI2NUMzNi44NzAzIDI4LjgyOTcgMzggMjcuNTEyOSAzOCAyNS45NjMxQzM4IDI1LjgyOTcgMzcuOTkxMSAyNS42OTM5IDM3Ljk3NTYgMjUuNTYwNEMzNy43NjAzIDI0LjE2MjIgMzYuNjkwNSAyMy4wODMgMzUuMzc0NCAyMi45MTMzTDI1LjY4NjYgMjEuNTAzOEwyNS42ODY2IDE4LjkyNjhDMjUuNjg2NiAxOC4xNDE3IDI1LjIzMzggMTcuNDQyNiAyNC41MzQ3IDE3LjE0NjJDMjMuODMxMSAxNi44NDk4IDIzLjA1MjEgMTcuMDEwNSAyMi41MDM5IDE3LjU2OTNMMTUuNTM0OSAyNC42NzM1QzE1LjE5MDkgMjUuMDI2NSAxNSAyNS41MDE2IDE1IDI2LjAxMDdDMTUgMjYuNTE5NyAxNS4xOTA5IDI2Ljk5NDggMTUuNTM0OSAyNy4zNDc4WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/debug-modal/icons/icon--read-aloud.svg" /*!***************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--read-aloud.svg ***! \***************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI0NDAiIGhlaWdodD0iMTA2IiBpZD0iTGF5ZXJfMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNDM4LjgzIDEwNS44OSI+PGcgaWQ9IkxheWVyXzEtMiI+PGc+PHJlY3Qgd2lkdGg9IjQzOC44MyIgaGVpZ2h0PSIxMDUuODkiIGZpbGw9IiNmZmYiLz48Zz48cGF0aCBkPSJNMzI3LjYyLDg3Ljk2Yy0uMDQsLjA2LS4wOSwuMTItLjEzLC4xOS0xMS41NiwxNy4xMy0yOC44OCwyMC44NC0yNy4yNSwxMy4wNywxLjE1LTUuNDgsMi4wNy0xMC4zMywxLjA3LTEzLjI2aC00Ljg2Yy0xMS4zOCwwLTIwLjYtOS4yMS0yMC42LTIwLjU2czkuMjItMjAuNTYsMjAuNi0yMC41Nmg5Ny43NmMxMS4zOCwwLDIwLjYsOS4yLDIwLjYsMjAuNTZzLTkuMjIsMjAuNTYtMjAuNiwyMC41NmgtNjYuNloiIGZpbGw9IiM3ZTY5YWQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgb3BhY2l0eT0iLjciLz48cGF0aCBkPSJNMTIzLjI4LDQ4LjYyYy0uOTksMi45My0uMDcsNy43OCwxLjA3LDEzLjI2LDEuNjMsNy43Ny0xNS42OSw0LjA2LTI3LjI1LTEzLjA3LS4wNC0uMDYtLjA5LS4xMy0uMTMtLjE5SDMwLjM3Yy0xMS4zOCwwLTIwLjYtOS4yLTIwLjYtMjAuNTZTMTksNy41LDMwLjM3LDcuNWg5Ny43NmMxMS4zOCwwLDIwLjYsOS4yLDIwLjYsMjAuNTZzLTkuMjIsMjAuNTYtMjAuNiwyMC41NmgtNC44NloiIGZpbGw9IiMyM2I2ODkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgb3BhY2l0eT0iLjciLz48cGF0aCBkPSJNMTg5Ljg1LDE4LjIyYy41LS42NSwxLjIzLTEuMDcsMi4wNC0xLjE4bDEuNzktLjI0LDg1LjQ5LTExLjQ1YzEuNjktLjIzLDMuMjQsLjk2LDMuNDYsMi42NGw0LjA5LDMwLjUzYy4yMywxLjY5LS45NiwzLjI0LTIuNjQsMy40NmwtODUuNDksMTEuNDUtMS43OSwuMjRjLS44MSwuMTEtMS41NCwuNTMtMi4wNCwxLjE4bC0zLjc0LDQuOWMtLjUsLjY1LTEuMjMsMS4wNy0yLjA0LDEuMThsLTkuNjgsMS4zYy0uODEsLjExLTEuNjMtLjExLTIuMjgtLjYxbC00LjktMy43NGMtLjY1LS41LTEuNDctLjcxLTIuMjgtLjZsLTEuNzksLjI0LTYuMTEsLjgyYy0xLjY5LC4yMy0zLjI0LS45Ni0zLjQ2LTIuNjRsLTQuMDktMzAuNTNjLS4yMy0xLjY5LC45Ni0zLjI0LDIuNjQtMy40Nmw2LjExLS44MiwxLjc5LS4yNGMuODEtLjExLDEuNjMsLjExLDIuMjgsLjYxbDQuOSwzLjc0Yy42NSwuNSwxLjQ3LC43MSwyLjI4LC42MWw5LjY4LTEuM2MuODEtLjExLDEuNTQtLjUzLDIuMDQtMS4xOGwzLjc0LTQuOVoiIGZpbGw9IiMyM2I2ODkiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0xOTUuMzIsNTguMzRjLjQ5LS42NSwxLjIzLTEuMDgsMi4wNC0xLjE5bDEuNzktLjI1LDQ4LjgzLTYuN2MxLjY4LS4yMywzLjI0LC45NSwzLjQ3LDIuNjNsNC4xOSwzMC41MmMuMjMsMS42OS0uOTUsMy4yNC0yLjYzLDMuNDdsLTQ4LjgzLDYuNy0xLjc5LC4yNGMtLjgxLC4xMS0xLjU0LC41NC0yLjA0LDEuMTlsLTMuNzIsNC45MWMtLjQ5LC42NS0xLjIzLDEuMDgtMi4wNCwxLjE5bC05LjY4LDEuMzNjLS44MSwuMTEtMS42My0uMS0yLjI4LS42bC00LjkxLTMuNzJjLS42NS0uNDktMS40Ny0uNzEtMi4yOC0uNmwtMS43OSwuMjUtNi4xLC44NGMtMS42OSwuMjMtMy4yNC0uOTUtMy40Ny0yLjYzbC00LjE5LTMwLjUyYy0uMjMtMS42OSwuOTUtMy4yNCwyLjYzLTMuNDdsNi4xLS44NCwxLjc5LS4yNGMuODEtLjExLDEuNjMsLjEsMi4yOCwuNmw0LjkxLDMuNzJjLjY1LC40OSwxLjQ3LC43MSwyLjI4LC42bDkuNjgtMS4zM2MuODEtLjExLDEuNTQtLjU0LDIuMDQtMS4xOWwzLjcyLTQuOTFaIiBmaWxsPSIjN2U2OWFkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMTIuMjQsMjcuMWM3LjEyLDAsNy4xMi03Ljg2LDguOS03Ljg2czEuNzksNC43MSwzLjU3LDQuNzEsMS43OC0xMi41NywzLjU2LTEyLjU3LDEuNzgsOS40MiwzLjU2LDkuNDIsMS43OC02LjI4LDMuNTctNi4yOCwxLjc4LDkuNDMsNS4zNCw5LjQzYzEuNzgsMCwxLjc4LTMuMTUsMy41Ni0zLjE1LC40MiwwLC43NCwuMzUsMS4wNiwuODgsMS40OSwyLjUxLDUuMjIsMi4xNSw2LjA5LS42MywuNTQtMS43MiwuOTQtMy4xNSwxLjU4LTMuMTUsMS42NSwwLDEuNjUsNC41OSwzLjMsNC41OSwzLjMsMCwzLjMtMTMuNzksNC45NS0xMy43OXMxLjY1LDkuMiwzLjMsOS4yLDEuNjUtMTMuNzksMy4zLTEzLjc5LDEuNjUsMTguMzgsMy4zLDE4LjM4LDEuNjUtNi44OSwzLjMtNi44OSwxLjY1LDExLjQ5LDguMjYsMTEuNDljLTYuNjEsMC02LjYxLDExLjQ5LTguMjYsMTEuNDlzLTEuNjUtNi44OS0zLjMtNi44OS0xLjY1LDE4LjM4LTMuMywxOC4zOC0xLjY1LTEzLjc5LTMuMy0xMy43OS0xLjY1LDkuMTktMy4zLDkuMTktMS42NS0xMy43OC00Ljk1LTEzLjc4Yy0xLjY1LDAtMS42NSw0LjU5LTMuMyw0LjU5LS42NSwwLTEuMDQtMS40Mi0xLjU4LTMuMTUtLjg3LTIuNzgtNC42LTMuMTQtNi4wOS0uNjQtLjMxLC41My0uNjQsLjg4LTEuMDYsLjg4LTEuNzgsMC0xLjc4LTMuMTQtMy41Ni0zLjE0LTMuNTYsMC0zLjU2LDkuNDMtNS4zNCw5LjQzcy0xLjc5LTYuMjktMy41Ny02LjI5LTEuNzgsOS40My0zLjU2LDkuNDMtMS43OC0xMi41Ny0zLjU2LTEyLjU3LTEuNzgsNC43MS0zLjU3LDQuNzEtMS43OC03Ljg2LTguOS03Ljg2WiIgZmlsbD0iIzA3OGU2OSIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTc0LjM2LDI3LjFjNy4xMiwwLDcuMTItNy44Niw4LjktNy44NnMxLjc5LDQuNzEsMy41Nyw0LjcxLDEuNzgtMTIuNTcsMy41Ni0xMi41NywxLjc4LDkuNDIsMy41Niw5LjQyLDEuNzgtNi4yOCwzLjU3LTYuMjgsMS43OCw5LjQzLDUuMzQsOS40M2MxLjc4LDAsMS43OC0zLjE1LDMuNTYtMy4xNSwuNDIsMCwuNzQsLjM1LDEuMDYsLjg4LDEuNDksMi41MSw1LjIyLDIuMTUsNi4wOS0uNjMsLjU0LTEuNzIsLjk0LTMuMTUsMS41OC0zLjE1LDEuNjUsMCwxLjY1LDQuNTksMy4zLDQuNTksMy4zLDAsMy4zLTEzLjc5LDQuOTUtMTMuNzlzMS42NSw5LjIsMy4zLDkuMiwxLjY1LTEzLjc5LDMuMy0xMy43OSwxLjY1LDE4LjM4LDMuMywxOC4zOCwxLjY1LTYuODksMy4zLTYuODksMS42NSwxMS40OSw4LjI2LDExLjQ5Yy02LjYxLDAtNi42MSwxMS40OS04LjI2LDExLjQ5cy0xLjY1LTYuODktMy4zLTYuODktMS42NSwxOC4zOC0zLjMsMTguMzgtMS42NS0xMy43OS0zLjMtMTMuNzktMS42NSw5LjE5LTMuMyw5LjE5LTEuNjUtMTMuNzgtNC45NS0xMy43OGMtMS42NSwwLTEuNjUsNC41OS0zLjMsNC41OS0uNjUsMC0xLjA0LTEuNDItMS41OC0zLjE1LS44Ny0yLjc4LTQuNi0zLjE0LTYuMDktLjY0LS4zMSwuNTMtLjY0LC44OC0xLjA2LC44OC0xLjc4LDAtMS43OC0zLjE0LTMuNTYtMy4xNC0zLjU2LDAtMy41Niw5LjQzLTUuMzQsOS40M3MtMS43OS02LjI5LTMuNTctNi4yOS0xLjc4LDkuNDMtMy41Niw5LjQzLTEuNzgtMTIuNTctMy41Ni0xMi41Ny0xLjc4LDQuNzEtMy41Nyw0LjcxLTEuNzgtNy44Ni04LjktNy44NloiIGZpbGw9IiMwNzhlNjkiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik00MDcuMjUsNjcuNzJjLTYuODQsMC02Ljg0LDcuNTUtOC41NSw3LjU1cy0xLjcyLTQuNTMtMy40My00LjUzLTEuNzEsMTIuMDgtMy40MiwxMi4wOC0xLjcxLTkuMDUtMy40Mi05LjA1LTEuNzEsNi4wNC0zLjQzLDYuMDQtMS43MS05LjA2LTUuMTMtOS4wNmMtMS43MSwwLTEuNzEsMy4wMi0zLjQyLDMuMDItLjQsMC0uNzEtLjMzLTEuMDEtLjg0LTEuNDMtMi40MS01LjAxLTIuMDctNS44NSwuNjEtLjUyLDEuNjYtLjksMy4wMi0xLjUyLDMuMDItMS41OSwwLTEuNTktNC40MS0zLjE3LTQuNDEtMy4xNywwLTMuMTcsMTMuMjUtNC43NiwxMy4yNXMtMS41OS04LjgzLTMuMTctOC44My0xLjU5LDEzLjI1LTMuMTcsMTMuMjUtMS41OS0xNy42Ni0zLjE3LTE3LjY2LTEuNTksNi42Mi0zLjE3LDYuNjItMS41OS0xMS4wNC03LjkzLTExLjA0YzYuMzUsMCw2LjM1LTExLjA0LDcuOTMtMTEuMDRzMS41OCw2LjYyLDMuMTcsNi42MiwxLjU5LTE3LjY2LDMuMTctMTcuNjYsMS41OSwxMy4yNSwzLjE3LDEzLjI1LDEuNTktOC44MywzLjE3LTguODMsMS41OSwxMy4yNCw0Ljc2LDEzLjI0YzEuNTgsMCwxLjU4LTQuNDEsMy4xNy00LjQxLC42MiwwLDEsMS4zNywxLjUyLDMuMDMsLjg0LDIuNjcsNC40MiwzLjAyLDUuODUsLjYxLC4zLS41MSwuNjEtLjg0LDEuMDEtLjg0LDEuNzEsMCwxLjcxLDMuMDIsMy40MiwzLjAyLDMuNDIsMCwzLjQyLTkuMDYsNS4xMy05LjA2czEuNzIsNi4wNCwzLjQzLDYuMDQsMS43MS05LjA2LDMuNDItOS4wNiwxLjcxLDEyLjA4LDMuNDIsMTIuMDgsMS43MS00LjUzLDMuNDMtNC41MywxLjcxLDcuNTUsOC41NSw3LjU1WiIgZmlsbD0iIzZmNTdhNCIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTM1MS45MSw2Ny43MmMtNi44NCwwLTYuODQsNy41NS04LjU1LDcuNTVzLTEuNzItNC41My0zLjQzLTQuNTMtMS43MSwxMi4wOC0zLjQyLDEyLjA4LTEuNzEtOS4wNS0zLjQyLTkuMDUtMS43MSw2LjA0LTMuNDMsNi4wNC0xLjcxLTkuMDYtNS4xMy05LjA2Yy0xLjcxLDAtMS43MSwzLjAyLTMuNDIsMy4wMi0uNCwwLS43MS0uMzMtMS4wMS0uODQtMS40My0yLjQxLTUuMDEtMi4wNy01Ljg1LC42MS0uNTIsMS42Ni0uOSwzLjAyLTEuNTIsMy4wMi0xLjU5LDAtMS41OS00LjQxLTMuMTctNC40MS0zLjE3LDAtMy4xNywxMy4yNS00Ljc2LDEzLjI1cy0xLjU5LTguODMtMy4xNy04LjgzLTEuNTksMTMuMjUtMy4xNywxMy4yNS0xLjU5LTE3LjY2LTMuMTctMTcuNjYtMS41OSw2LjYyLTMuMTcsNi42Mi0xLjU5LTExLjA0LTcuOTMtMTEuMDRjNi4zNSwwLDYuMzUtMTEuMDQsNy45My0xMS4wNHMxLjU4LDYuNjIsMy4xNyw2LjYyLDEuNTktMTcuNjYsMy4xNy0xNy42NiwxLjU5LDEzLjI1LDMuMTcsMTMuMjUsMS41OS04LjgzLDMuMTctOC44MywxLjU5LDEzLjI0LDQuNzYsMTMuMjRjMS41OCwwLDEuNTgtNC40MSwzLjE3LTQuNDEsLjYyLDAsMSwxLjM3LDEuNTIsMy4wMywuODQsMi42Nyw0LjQyLDMuMDIsNS44NSwuNjEsLjMtLjUxLC42MS0uODQsMS4wMS0uODQsMS43MSwwLDEuNzEsMy4wMiwzLjQyLDMuMDIsMy40MiwwLDMuNDItOS4wNiw1LjEzLTkuMDZzMS43Miw2LjA0LDMuNDMsNi4wNCwxLjcxLTkuMDYsMy40Mi05LjA2LDEuNzEsMTIuMDgsMy40MiwxMi4wOCwxLjcxLTQuNTMsMy40My00LjUzLDEuNzEsNy41NSw4LjU1LDcuNTVaIiBmaWxsPSIjNmY1N2E0IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PC9nPjwvZz48L3N2Zz4="; /***/ }, /***/ "./src/components/debug-modal/icons/icon--slow-it-down.svg" /*!*****************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--slow-it-down.svg ***! \*****************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI0NDAiIGhlaWdodD0iMTA2IiBpZD0iTGF5ZXJfMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNDM4LjgzIDEwNS44OSI+PGcgaWQ9IkxheWVyXzEtMiI+PGc+PHJlY3Qgd2lkdGg9IjQzOC44MyIgaGVpZ2h0PSIxMDUuODkiIGZpbGw9IiNmZmYiLz48Zz48cGF0aCBkPSJNMjQwLjM1LDMuMTJjLjQ3LS40OCwxLjEyLS43NSwxLjc5LS43NmgxLjQ5czcxLjI1LS41OSw3MS4yNS0uNTljMS40MS0uMDEsMi41NSwxLjEyLDIuNTcsMi41MmwuMjEsMjUuNDVjLjAxLDEuNDEtMS4xMiwyLjU1LTIuNTIsMi41N2wtNzEuMjUsLjU4aC0xLjQ5Yy0uNjcsLjAyLTEuMzIsLjI5LTEuNzksLjc3bC0zLjU3LDMuNjNjLS40NywuNDgtMS4xMiwuNzUtMS43OSwuNzZsLTguMDcsLjA3Yy0uNjcsMC0xLjMyLS4yNi0xLjgxLS43M2wtMy42My0zLjU3Yy0uNDgtLjQ3LTEuMTMtLjc0LTEuODEtLjczaC0xLjQ5cy01LjA5LC4wNS01LjA5LC4wNWMtMS40MSwuMDEtMi41NS0xLjEyLTIuNTctMi41MmwtLjIxLTI1LjQ0Yy0uMDEtMS40MSwxLjEyLTIuNTUsMi41Mi0yLjU3bDUuMDktLjA0aDEuNDljLjY3LS4wMiwxLjMyLC4yNSwxLjgxLC43MmwzLjYzLDMuNTdjLjQ4LC40NywxLjEzLC43NCwxLjgxLC43M2w4LjA3LS4wN2MuNjcsMCwxLjMyLS4yOCwxLjc5LS43NmwzLjU3LTMuNjNaIiBmaWxsPSIjMjNiNjg5IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMjQwLjQ3LDcwLjM0Yy40Ny0uNDgsMS4xMi0uNzYsMS43OS0uNzZoMS40OXM0MC43MS0uMzgsNDAuNzEtLjM4YzEuNC0uMDEsMi41NSwxLjEyLDIuNTcsMi41MmwuMjMsMjUuNDRjLjAxLDEuNDEtMS4xMiwyLjU2LTIuNTIsMi41N2wtNDAuNzEsLjM2aC0xLjQ5Yy0uNjcsLjAyLTEuMzIsLjI5LTEuNzksLjc3bC0zLjU3LDMuNjNjLS40NywuNDgtMS4xMiwuNzYtMS43OSwuNzZsLTguMDcsLjA3Yy0uNjcsMC0xLjMyLS4yNi0xLjgxLS43M2wtMy42My0zLjU3Yy0uNDgtLjQ3LTEuMTMtLjc0LTEuODEtLjczaC0xLjQ5cy01LjA5LC4wNi01LjA5LC4wNmMtMS40MSwuMDEtMi41NS0xLjEyLTIuNTctMi41MmwtLjIzLTI1LjQ0Yy0uMDEtMS40MSwxLjEyLTIuNTUsMi41Mi0yLjU3bDUuMDktLjA1aDEuNDljLjY3LS4wMiwxLjMyLC4yNCwxLjgxLC43MmwzLjYzLDMuNTdjLjQ4LC40NywxLjEzLC43NCwxLjgxLC43M2w4LjA3LS4wN2MuNjcsMCwxLjMyLS4yOCwxLjc5LS43NmwzLjU3LTMuNjNaIiBmaWxsPSIjN2U2OWFkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMTExLjg0LDQ1LjA4Yy40MS0uNTQsMS4wMi0uODksMS42OS0uOThsMS40OC0uMiw0MC4zNi01LjM3YzEuMzktLjE5LDIuNjcsLjc5LDIuODYsMi4xOWwzLjM2LDI1LjIyYy4xOSwxLjM5LS43OSwyLjY3LTIuMTksMi44NmwtNDAuMzYsNS4zNy0xLjQ4LC4yYy0uNjcsLjA5LTEuMjgsLjQ0LTEuNjksLjk4bC0zLjA5LDQuMDRjLS40MSwuNTQtMS4wMiwuODktMS42OSwuOThsLTgsMS4wNmMtLjY3LC4wOS0xLjM1LS4wOS0xLjg4LS41bC00LjA0LTMuMDljLS41NC0uNDEtMS4yMS0uNTktMS44OC0uNWwtMS40OCwuMi01LjA0LC42N2MtMS4zOSwuMTktMi42Ny0uNzktMi44Ni0yLjE5bC0zLjM2LTI1LjIyYy0uMTktMS4zOSwuNzktMi42NywyLjE5LTIuODZsNS4wNC0uNjcsMS40OC0uMmMuNjctLjA5LDEuMzUsLjA5LDEuODgsLjVsNC4wNCwzLjA5Yy41NCwuNDEsMS4yMSwuNTksMS44OCwuNWw4LTEuMDdjLjY3LS4wOSwxLjI4LS40NCwxLjY5LS45OGwzLjA5LTQuMDRaIiBmaWxsPSIjZmFhOTFlIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMjQwLjc5LDM2LjI0Yy40Ny0uNDgsMS4xMi0uNzYsMS43OS0uNzdsMS40OS0uMDIsNDAuNzEtLjQ5YzEuNC0uMDIsMi41NiwxLjExLDIuNTgsMi41MWwuMzEsMjUuNDRjLjAyLDEuNDEtMS4xMSwyLjU2LTIuNTEsMi41OGwtNDAuNzEsLjQ5LTEuNDksLjAyYy0uNjcsMC0xLjMyLC4yOC0xLjc5LC43N2wtMy41NSwzLjY0Yy0uNDcsLjQ4LTEuMTIsLjc2LTEuNzksLjc3bC04LjA3LC4xYy0uNjcsMC0xLjMzLS4yNS0xLjgxLS43MmwtMy42NC0zLjU1Yy0uNDgtLjQ3LTEuMTMtLjczLTEuODEtLjcybC0xLjQ5LC4wMi01LjA5LC4wNmMtMS40MSwuMDItMi41Ni0xLjExLTIuNTgtMi41MWwtLjMxLTI1LjQ0Yy0uMDItMS40MSwxLjExLTIuNTYsMi41MS0yLjU4bDUuMDktLjA2LDEuNDktLjAyYy42NywwLDEuMzMsLjI1LDEuODEsLjcybDMuNjQsMy41NWMuNDgsLjQ3LDEuMTMsLjczLDEuODEsLjcybDguMDctLjFjLjY3LDAsMS4zMi0uMjgsMS43OS0uNzdsMy41NS0zLjY0WiIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiNmYWE5MWUiIHN0cm9rZS1kYXNoYXJyYXk9IjAgMCAyLjA5IDQuMTgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIuMDkiLz48Zz48cGF0aCBkPSJNMjA3LjM3LDQ2LjQ2Yy0uNDItLjI3LS44NC0uNTQtMS4yNi0uOCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZlMmIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjk5Ii8+PHBhdGggZD0iTTIwMS4wMyw0Mi44MmMtMjYuODUtMTMuMzQtNDUuNTEsNC4wNy01Mi4xNCwxMS45MyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZlMmIyIiBzdHJva2UtZGFzaGFycmF5PSIwIDAgMi45MSA1LjgyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjk5Ii8+PHBhdGggZD0iTTE0Ny4wOSw1Ny4wM2MtLjU3LC43Ny0uODYsMS4yMi0uODYsMS4yMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZlMmIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjk5Ii8+PHBhdGggZD0iTTIwNi45Niw0Ni4yMWMtMS43NCwuMzItMy42MiwyLjAyLTQuNjMsMy40LDIuNzEtLjkzLDUuNjgtMS4zMiw4LjUzLS43Mi0xLjYxLTIuNDEtMi4xNi01LjM3LTIuMzktOC4yMy0uOTIsMS41OS0xLjgxLDMuNjgtMS41MSw1LjU1WiIgZmlsbD0iI2ZmZTJiMiIvPjwvZz48Zz48cGF0aCBkPSJNNDYuMjYsMzYuMDFsLS4xNC0xLjU1Yy0uMTEtLjk0LC41OS0xLjc4LDEuNTMtMS44OSw4Ljc5LS44NiwxNi42Nyw1LjU3LDE3LjUzLDE0LjM3bC41LDQuOTJjLTkuNzcsMS4wNC0xOC40NC02LjExLTE5LjQxLTE1Ljg0WiIgZmlsbD0iIzM1YTg3ZSIvPjxwYXRoIGQ9Ik02Mi45MSw4OC41N2wuNzcsMS4zNGMuNDksLjg1LDEuNTEsMS4xMSwyLjM2LC42Miw3LjY3LTQuMzgsMTAuMzctMTQuMTQsNi4wNC0yMS44MmwtMi40NS00LjM0Yy04LjU4LDQuODMtMTEuNTMsMTUuNjYtNi43MiwyNC4xOVoiIGZpbGw9IiMzNWE4N2UiLz48cGF0aCBkPSJNMzQuNTgsODUuMzNsLjA2LC4yN2MuMywxLDEuNDMsMS40NywyLjMzLC45Nyw0LjgzLTIuNTEsNy4zNy04LjIyLDUuNjItMTMuNjNsLS42NS0yYy01Ljk5LDEuOTQtOS4zMSw4LjQtNy4zNywxNC4zOFoiIGZpbGw9IiMzNWE4N2UiLz48cGF0aCBkPSJNMjQuNjksNTUuMzhsLS4xMi0uMjVjLS41LS45LS4wMy0yLjAzLC45LTIuMzcsNS4xOC0xLjc1LDExLjAyLC40MiwxMy43NCw1LjM3bDEuMDEsMS44NWMtNS42MSwzLjA0LTEyLjU2LC45Ny0xNS41My00LjZaIiBmaWxsPSIjMzVhODdlIi8+PHBhdGggZD0iTTcxLjQ3LDYyLjM1bC0zLjE2LTkuODgsOC4xNi0yLjU3YzIuNzMtLjg4LDUuNjQsLjYzLDYuNTIsMy4zNiwuODgsMi43My0uNjMsNS42NC0zLjM2LDYuNTJsLTguMTYsMi41N1oiIGZpbGw9IiMzNWE4N2UiLz48cGF0aCBkPSJNNzcuOCw1NS4wNWMtMy43NS0xMS44Mi0xNy40NS0xOC4wMy0zMC42MS0xMy44Ni0xMy4xNiw0LjE3LTIwLjc4LDE3LjEzLTE3LjA0LDI4Ljk2LDMuNzUsMTEuODIsMTcuNDUsMTguMDMsMzAuNjEsMTMuODYsMTMuMTYtNC4xNywyMC43OC0xNy4xMywxNy4wNC0yOC45NloiIGZpbGw9IiNkYmRjZGQiLz48cGF0aCBkPSJNNTkuNTQsODAuMTVjLS40NywuMTctLjk1LC4yOC0xLjM4LC4zOS01Ljk4LDEuNDktMTEuOTUsLjQzLTE2LjUtMi41LS44LS40OS0xLjUtMS4wNi0yLjIxLTEuNjgtMi4yOS0yLTQuMDQtNC41OC00Ljk4LTcuNTgtLjk0LTMtMS4wMS02LjEtLjMtOS4wNCwuMTgtLjg5LC40OC0xLjc2LC44NC0yLjYzLDIuMDMtNS4wMSw2LjMtOS4zOCwxMi4wNS0xMS42LC40Ny0uMTcsLjg4LS4zMiwxLjM1LS40OSwuNTItLjE4LDEuMDYtLjMxLDEuNTktLjQ0LDUuOTQtMS40MiwxMS45MS0uMzYsMTYuNDcsMi42MiwuNzQsLjUsMS40MywxLjAyLDIuMTMsMS41OCwyLjI5LDIsMy45Nyw0LjU0LDQuOTgsNy41OCwuOTQsMywxLjAxLDYuMSwuMyw5LjA0LS4yLC44NC0uNDQsMS42OS0uODEsMi41Mi0xLjk2LDUuMDUtNi4yNSw5LjM2LTExLjkzLDExLjYzLS42MiwuMjYtMS4wOSwuNDMtMS42MSwuNjFaIiBmaWxsPSIjM2RiNzg5Ii8+PHBhdGggZD0iTTQ2LjYzLDU4LjM0bDIuNDItMi42N2MxLjI2LTEuMzgsMy4xLTEuOTMsNC44OS0xLjU3bDMuNTMsLjhjMS44LC40MiwzLjI0LDEuNzEsMy44NCwzLjVsMS4xLDMuNDJjLjUzLDEuNzQsLjE1LDMuNy0xLjEyLDUuMDJsLTIuNDIsMi42N2MtMS4yNiwxLjM4LTMuMSwxLjkzLTQuODksMS41N2wtMy41My0uOGMtMS44LS40Mi0zLjI0LTEuNzEtMy44NC0zLjVsLTEuMS0zLjQyYy0uNTMtMS43NC0uMS0zLjcxLDEuMTItNS4wMloiIGZpbGw9IiMyZDlhNzMiLz48cGF0aCBkPSJNNjEuMDQsNzkuNTZsLTEuMTYtMy42OGMtLjUtMS42My0uMTQtMy40MiwxLjAzLTQuNjZsMi43NC0yLjk4YzEuMTctMS4yNCwyLjktMS44Myw0LjU4LTEuNDRsMy45NCwuODdjLjI5LC4wNCwuNiwuMTQsLjg2LC4zLTIuMDMsNS4wMS02LjMyLDkuMzItMTIsMTEuNTlaIiBmaWxsPSIjMmQ5YTczIi8+PHBhdGggZD0iTTczLjc5LDY1LjQyYy0uNDksLjA2LS45NiwwLTEuNDktLjFsLTMuOTQtLjg3Yy0xLjY4LS4zOS0zLjA0LTEuNTktMy41NS0zLjIzbC0xLjItMy44NGMtLjUtMS42My0uMTQtMy40MiwxLjAzLTQuNjZsMi42OS0yLjk2Yy4zNi0uMzcsLjc0LS42OSwxLjEzLS45NSwyLjI5LDIsMy45Nyw0LjU0LDQuOTgsNy41OCwxLDIuOTksMS4wNiw2LjA4LC4zNSw5LjAzWiIgZmlsbD0iIzJkOWE3MyIvPjxwYXRoIGQ9Ik01OC42MSw1Mi4zNmwtMy45NC0uODdjLTEuNjgtLjM5LTMuMDQtMS41OS0zLjU1LTMuMjNsLTEuMTYtMy42OGM1Ljk0LTEuNDIsMTEuOTEtLjM2LDE2LjQ3LDIuNjItLjE2LC4yNy0uMzMsLjUzLS41NSwuNzZsLTIuNzQsMi45OGMtMS4xMiwxLjIzLTIuODYsMS43Ni00LjUzLDEuNDJaIiBmaWxsPSIjMmQ5YTczIi8+PHBhdGggZD0iTTM5Ljg3LDU4LjI2bC0zLjk0LS44N2MtLjM2LS4wOC0uNjctLjE4LS45OC0uMzMsMi4wMy01LjAxLDYuMy05LjM3LDEyLjA1LTExLjZsMS4xNiwzLjY4Yy41LDEuNjMsLjE0LDMuNDItMS4wMyw0LjY2bC0yLjY5LDIuOTZjLTEuMTUsMS4zNS0yLjg5LDEuODgtNC41NywxLjQ5WiIgZmlsbD0iIzJkOWE3MyIvPjxwYXRoIGQ9Ik0zOS4zOCw3Ni4zMWMtMi4yOS0yLTQuMDQtNC41OC00Ljk4LTcuNTgtLjk0LTMtMS4wMS02LjEtLjMtOS4wNCwuNTUtLjA3LDEuMTItLjA0LDEuNjUsLjA2bDMuOTQsLjg3YzEuNjgsLjM5LDMuMDQsMS41OSwzLjU1LDMuMjNsMS4yLDMuODRjLjUsMS42MywuMTQsMy40Mi0xLjAzLDQuNjZsLTIuNjksMi45NmMtLjQsLjQ0LS44NCwuNzctMS4zNSwxWiIgZmlsbD0iIzJkOWE3MyIvPjxwYXRoIGQ9Ik01OC4xLDgwLjQ5Yy01Ljk4LDEuNDktMTEuOTUsLjQzLTE2LjUtMi41LC4xNS0uMzIsLjM3LS42LC42NC0uODlsMi43NC0yLjk4YzEuMTctMS4yNCwyLjktMS44Myw0LjU4LTEuNDRsMy45NCwuODdjMS42OCwuMzksMy4wNCwxLjU5LDMuNTUsMy4yM2wxLjA2LDMuNzFaIiBmaWxsPSIjMmQ5YTczIi8+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg=="; /***/ }, /***/ "./src/components/debug-modal/icons/icon--take-a-break.svg" /*!*****************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--take-a-break.svg ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/icon--take-a-break.fac6bba18ebb1fa52d05.svg"; /***/ }, /***/ "./src/components/debug-modal/icons/icon--think-about-block-options.svg" /*!******************************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--think-about-block-options.svg ***! \******************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI0NDAiIGhlaWdodD0iMTA2IiBpZD0iTGF5ZXJfMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNDM4LjgzIDEwNS44OSI+PGcgaWQ9IkxheWVyXzEtMiI+PGc+PHJlY3Qgd2lkdGg9IjQzOC44MyIgaGVpZ2h0PSIxMDUuODkiIGZpbGw9IiNmZmYiLz48Zz48cGF0aCBkPSJNNjUuMDgsOS45M2MuNTMtLjYzLDEuMjktMS4wMiwyLjExLTEuMDlsMS44MS0uMTUsNDkuNTItNC4yMmMxLjcxLS4xNSwzLjIxLDEuMTIsMy4zNiwyLjgzbDIuNjQsMzAuOTVjLjE1LDEuNzEtMS4xMiwzLjIxLTIuODMsMy4zNmwtNDkuNTIsNC4yMi0xLjgxLC4xNWMtLjgyLC4wNy0xLjU4LC40Ni0yLjExLDEuMDlsLTQsNC43NWMtLjUzLC42My0xLjI5LDEuMDItMi4xMSwxLjA5bC05LjgyLC44NGMtLjgyLC4wNy0xLjY0LS4xOS0yLjI3LS43MmwtNC43NS00Yy0uNjMtLjUzLTEuNDQtLjc5LTIuMjctLjcybC0xLjgxLC4xNS02LjE5LC41M2MtMS43MSwuMTUtMy4yMS0xLjEyLTMuMzYtMi44M2wtMi42NC0zMC45NWMtLjE1LTEuNzEsMS4xMi0zLjIxLDIuODMtMy4zNmw2LjE5LS41MywxLjgxLS4xNWMuODItLjA3LDEuNjQsLjE5LDIuMjcsLjcybDQuNzUsNGMuNjMsLjUzLDEuNDQsLjc5LDIuMjcsLjcybDkuODItLjg0Yy44Mi0uMDcsMS41OC0uNDYsMi4xMS0xLjA5bDQtNC43NVoiIGZpbGw9IiNhZTVhYTIiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxnPjxwYXRoIGQ9Ik0zMzYuMDUsNjEuNDJjLjU3LS41OCwxLjM1LS45MiwyLjE2LS45M2wxLjgtLjAyLDQ5LjE2LS42YzEuNy0uMDIsMy4wOSwxLjM0LDMuMTEsMy4wNGwuMzcsMzAuNzJjLjAyLDEuNy0xLjM0LDMuMDktMy4wMywzLjExbC00OS4xNiwuNi0xLjgsLjAyYy0uODEsLjAxLTEuNTksLjM0LTIuMTYsLjkzbC00LjI5LDQuNGMtLjU3LC41OC0xLjM1LC45Mi0yLjE2LC45M2wtOS43NCwuMTJjLS44MSwuMDEtMS42LS4zLTIuMTgtLjg3bC00LjQtNC4yOWMtLjU4LS41Ny0xLjM3LS44OC0yLjE4LS44N2wtMS44LC4wMi02LjE1LC4wN2MtMS43LC4wMi0zLjA5LTEuMzQtMy4xMS0zLjAzbC0uMzctMzAuNzNjLS4wMi0xLjcsMS4zNC0zLjA5LDMuMDQtMy4xMWw2LjE1LS4wNywxLjgtLjAyYy44Mi0uMDEsMS42LC4zLDIuMTgsLjg3bDQuNCw0LjI5Yy41OCwuNTcsMS4zNywuODgsMi4xOCwuODdsOS43NC0uMTJjLjgxLDAsMS41OS0uMzQsMi4xNi0uOTNsNC4yOS00LjRaIiBmaWxsPSIjN2U2OWFkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cmVjdCB4PSIzNDQuNTQiIHk9IjYzLjk2IiB3aWR0aD0iNDAuODYiIGhlaWdodD0iMjYuNjIiIHJ4PSIxMy4zMSIgcnk9IjEzLjMxIiBmaWxsPSIjZmZmIi8+PC9nPjxnPjxwYXRoIGQ9Ik0yNzIuNTMsMTEuMzVjLjYzLS41MiwxLjQ0LS43NywyLjI1LS42OWwxLjc5LC4xNyw0OC45NSw0LjYzYzEuNjksLjE2LDIuOTMsMS42NiwyLjc3LDMuMzVsLTIuODksMzAuNTljLS4xNiwxLjY5LTEuNjYsMi45My0zLjM1LDIuNzdsLTQ4Ljk1LTQuNjMtMS43OS0uMTdjLS44MS0uMDgtMS42MiwuMTctMi4yNSwuNjlsLTQuNzQsMy45MmMtLjYzLC41Mi0xLjQ0LC43Ny0yLjI1LC42OWwtOS43LS45MmMtLjgxLS4wOC0xLjU2LS40Ny0yLjA4LTEuMWwtMy45Mi00Ljc0Yy0uNTItLjYzLTEuMjctMS4wMi0yLjA4LTEuMWwtMS43OS0uMTctNi4xMi0uNThjLTEuNjktLjE2LTIuOTMtMS42Ni0yLjc3LTMuMzVsMi44OS0zMC41OWMuMTYtMS42OSwxLjY2LTIuOTMsMy4zNS0yLjc3bDYuMTIsLjU4LDEuNzksLjE3Yy44MSwuMDgsMS41NiwuNDcsMi4wOCwxLjFsMy45Miw0Ljc0Yy41MiwuNjMsMS4yNywxLjAyLDIuMDgsMS4xbDkuNywuOTJjLjgxLC4wOCwxLjYyLS4xNywyLjI1LS42OWw0Ljc0LTMuOTJaIiBmaWxsPSIjN2U2OWFkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cmVjdCB4PSIyNzIuNjgiIHk9IjIwLjIyIiB3aWR0aD0iNDcuMTciIGhlaWdodD0iMjIuOTIiIHJ4PSIzLjU4IiByeT0iMy41OCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNC4zMyAtMjcuODkpIHJvdGF0ZSg1LjQzKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNWU0MjlhIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMS40NiIvPjxwb2x5Z29uIHBvaW50cz0iMzA4LjM4IDI4LjY4IDMxNC44IDI5LjI5IDMxMS4xNiAzMy41MiAzMDcuNTIgMzcuNzQgMzA0Ljc0IDMyLjkxIDMwMS45NyAyOC4wNyAzMDguMzggMjguNjgiIGZpbGw9IiNjNGIyZDciIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48cmVjdCB4PSI3Ni4yIiB5PSIxMS44OSIgd2lkdGg9IjQwLjA5IiBoZWlnaHQ9IjI2LjEyIiByeD0iMTMuMDYiIHJ5PSIxMy4wNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEuNzIgNy45OCkgcm90YXRlKC00LjcpIiBmaWxsPSIjZmZmIi8+PGc+PHBhdGggZD0iTTE0MS4wNyw1My40NWMuNTgtLjU4LDEuMzctLjkxLDIuMTktLjkyaDEuODJzNDkuNy0uMTUsNDkuNy0uMTVjMS43MSwwLDMuMTEsMS4zOCwzLjEyLDMuMWwuMDksMzEuMDZjMCwxLjcyLTEuMzgsMy4xMS0zLjEsMy4xMmwtNDkuNywuMTVoLTEuODJjLS44MiwwLTEuNjEsLjM0LTIuMTksLjkybC00LjM4LDQuNDFjLS41OCwuNTgtMS4zNywuOTEtMi4xOSwuOTJsLTkuODUsLjAzYy0uODIsMC0xLjYxLS4zMi0yLjItLjlsLTQuNDEtNC4zOGMtLjU4LS41OC0xLjM4LS45MS0yLjItLjloLTEuODJzLTYuMjEsLjAyLTYuMjEsLjAyYy0xLjcyLDAtMy4xMS0xLjM4LTMuMTItMy4xbC0uMDktMzEuMDZjMC0xLjcyLDEuMzgtMy4xMSwzLjEtMy4xMmw2LjIxLS4wMmgxLjgyYy44MiwwLDEuNjEsLjMyLDIuMiwuOWw0LjQxLDQuMzhjLjU4LC41OCwxLjM4LC45MSwyLjIsLjlsOS44NS0uMDNjLjgyLDAsMS42MS0uMzMsMi4xOS0uOTJsNC4zOC00LjQxWiIgZmlsbD0iI2FlNWFhMiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHJlY3QgeD0iMTQ0LjQiIHk9IjYwLjYiIHdpZHRoPSI0NS41OCIgaGVpZ2h0PSIyMi4xNSIgcng9IjMuNDYiIHJ5PSIzLjQ2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtLjQyIC45OSkgcm90YXRlKC0uMzQpIiBmaWxsPSJub25lIiBzdHJva2U9IiM5YTMzOGUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIxLjQxIi8+PHBvbHlnb24gcG9pbnRzPSIxNzguNTUgNjcuNjIgMTg0Ljc3IDY3LjU4IDE4MS42OSA3MiAxNzguNiA3Ni40MSAxNzUuNDYgNzIuMDMgMTcyLjMyIDY3LjY1IDE3OC41NSA2Ny42MiIgZmlsbD0iI2VlY2RlMiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9nPjxnPjxwYXRoIGQ9Ik0xNzkuNjEsNDYuMjNjLS4wOC0uNS0uMTctLjk5LS4yNy0xLjQ3IiBmaWxsPSJub25lIiBzdHJva2U9IiNlZWNkZTEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIuOTkiLz48cGF0aCBkPSJNMTc3Ljk4LDM5LjExYy04LjQyLTI4Ljc4LTMzLjg3LTMwLjY3LTQ0LjE0LTMwLjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2VlY2RlMSIgc3Ryb2tlLWRhc2hhcnJheT0iMCAwIDIuOTEgNS44MiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi45OSIvPjxwYXRoIGQ9Ik0xMzAuOTQsOS4xM2MtLjk1LC4xLTEuNDgsLjE5LTEuNDgsLjE5IiBmaWxsPSJub25lIiBzdHJva2U9IiNlZWNkZTEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIuOTkiLz48cGF0aCBkPSJNMTc5LjUyLDQ1Ljc3Yy0xLjQxLTEuMDYtMy45NC0xLjI5LTUuNjQtMS4wOSwyLjUyLDEuMzYsNC44MiwzLjI4LDYuMzIsNS43OCwuNjgtMi44MiwyLjQ4LTUuMjMsNC40Mi03LjMzLTEuNzksLjQxLTMuOTMsMS4xNy01LjEsMi42NVoiIGZpbGw9IiNlZWNkZTEiLz48L2c+PGc+PHBhdGggZD0iTTI0MS40Nyw1Ni4zNGMuMSwuNDksLjIxLC45OCwuMzIsMS40NiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZWRlNGYxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjk5Ii8+PHBhdGggZD0iTTI0My4zNyw2My4zOWM5LjUxLDI4LjQzLDM1LjAxLDI5LjM1LDQ1LjI2LDI4LjQ5IiBmaWxsPSJub25lIiBzdHJva2U9IiNlZGU0ZjEiIHN0cm9rZS1kYXNoYXJyYXk9IjAgMCAyLjkxIDUuODIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIuOTkiLz48cGF0aCBkPSJNMjkxLjUxLDkxLjU2Yy45NC0uMTQsMS40Ny0uMjUsMS40Ny0uMjUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2VkZTRmMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi45OSIvPjxwYXRoIGQ9Ik0yNDEuNTgsNTYuOGMxLjQ1LDEsMy45OSwxLjE0LDUuNjgsLjg4LTIuNTctMS4yNy00Ljk1LTMuMDktNi41NC01LjUzLS41NywyLjg0LTIuMjgsNS4zMi00LjE0LDcuNSwxLjc4LS40OCwzLjg4LTEuMzIsNS0yLjg0WiIgZmlsbD0iI2VkZTRmMSIvPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4="; /***/ }, /***/ "./src/components/debug-modal/icons/icon--timing-and-parallelism.svg" /*!***************************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--timing-and-parallelism.svg ***! \***************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/icon--timing-and-parallelism.178958615d2e0c30bf57.svg"; /***/ }, /***/ "./src/components/debug-modal/icons/icon--tinker-with-block-order.svg" /*!****************************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--tinker-with-block-order.svg ***! \****************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI0NDAiIGhlaWdodD0iMTA2IiBpZD0iTGF5ZXJfMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iMCAwIDQzOC44MyAxMDUuODkiPjxkZWZzPjxtYXNrIGlkPSJtYXNrIiB4PSIzMzQuNDUiIHk9IjYuNjIiIHdpZHRoPSI1MC45MiIgaGVpZ2h0PSI1MS4yMyIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIvPjxtYXNrIGlkPSJtYXNrLTEiIHg9IjMzNy4xNSIgeT0iMTUuMjIiIHdpZHRoPSIxNC4wNyIgaGVpZ2h0PSI5LjU4IiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIi8+PC9kZWZzPjxnIGlkPSJMYXllcl8xLTIiPjxnPjxyZWN0IHdpZHRoPSI0MzguODMiIGhlaWdodD0iMTA1Ljg5IiBmaWxsPSIjZmZmIi8+PGc+PHBhdGggZD0iTTEwMy43Nyw0My4zMmMuNDUtLjQ2LDEuMDctLjczLDEuNzEtLjczbDEuNDItLjAyLDM4LjkyLS40N2MxLjM0LS4wMiwyLjQ1LDEuMDYsMi40NiwyLjRsLjI5LDI0LjMyYy4wMiwxLjM0LTEuMDYsMi40NS0yLjQsMi40NmwtMzguOTIsLjQ3LTEuNDIsLjAyYy0uNjUsMC0xLjI2LC4yNy0xLjcxLC43M2wtMy40LDMuNDhjLS40NSwuNDYtMS4wNywuNzMtMS43MSwuNzNsLTcuNzEsLjA5Yy0uNjUsMC0xLjI3LS4yNC0xLjczLS42OWwtMy40OC0zLjRjLS40Ni0uNDUtMS4wOC0uNy0xLjczLS42OWwtMS40MiwuMDItNC44NiwuMDZjLTEuMzQsLjAyLTIuNDUtMS4wNi0yLjQ2LTIuNGwtLjI5LTI0LjMyYy0uMDItMS4zNCwxLjA2LTIuNDUsMi40LTIuNDZsNC44Ni0uMDYsMS40Mi0uMDJjLjY1LDAsMS4yNywuMjQsMS43MywuNjlsMy40OCwzLjRjLjQ2LC40NSwxLjA4LC43LDEuNzMsLjY5bDcuNzEtLjA5Yy42NCwwLDEuMjYtLjI3LDEuNzEtLjczbDMuNC0zLjQ4WiIgZmlsbD0iI2ZhYTkxZSIgZmlsbC1ydWxlPSJldmVub2RkIi8+PGc+PHBhdGggZD0iTTE2OS4zOSwxNS4xMmMtLjQ2LS4xNC0uOTItLjI4LTEuMzctLjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZTJiMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMi44NSIvPjxwYXRoIGQ9Ik0xNjIuNiwxMy40NWMtMjguMTktNS4xNi00MC43MywxNS43Ny00NC43NCwyNC43NSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZlMmIyIiBzdHJva2UtZGFzaGFycmF5PSIwIDAgMi43OCA1LjU2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjg1Ii8+PHBhdGggZD0iTTExNi44MSw0MC43NmMtLjMyLC44NS0uNDcsMS4zNC0uNDcsMS4zNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZlMmIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjg1Ii8+PHBhdGggZD0iTTE2OC45NSwxNC45OWMtMS41MSwuNzUtMi43OSwyLjgxLTMuMzYsNC4zNSwyLjI1LTEuNTcsNC44Ny0yLjcxLDcuNjUtMi45Mi0yLjExLTEuNzktMy40LTQuMzYtNC4zNy02LjkyLS40MiwxLjcxLS42OSwzLjg2LC4wOCw1LjQ5WiIgZmlsbD0iI2ZmZTJiMiIvPjwvZz48cGF0aCBkPSJNMzUuNTMsNDcuMDZjNy43Ny0yLjg3LDkuMzgtMTAuNCwxMS40NC0xMy4yOSwzLjYyLTUuMDcsOC44OSw0LjI0LDEuMzksMTMuMDktNC4yOSw1LjA2LDEuNzgsNy4yLDYuMzgsNy4zLDYuMDUsLjEzLDE2LjU5LDEuMDgsMjEuNDEsMS40OCw1LjQ1LC40NSw0LjU4LDcuNTItLjI4LDcuMjUtNS4wOS0uMjgtMTQuODYtLjUxLTE4LjAyLS43OC0uNTEtLjA0LTEuMjEtLjAzLTEuMjMsLjM5LS4wMywuNjMsLjc2LC42MiwxLjkxLC43Myw2LjQzLC42MSw1LjMyLDguNzMtLjk4LDcuNjQtLjUyLS4wOS0xLjk1LS40NS0yLjExLS4wOS0uMiwuNDMsLjA0LC43NSwuNTcsLjg3LDUuNzgsMS4yOSw0LjI3LDcuODEtMS4xOCw2LjUzLS44NS0uMi0xLjMzLS4yNS0xLjQ2LC4xNi0uMTEsLjM1LS4wMywuNTYsLjgzLC44NCwzLjU5LDEuMTcsMS42OCw2Ljc0LTIuNDQsNS41NC03LjI2LTIuMS0xMy40Mi0yLjc0LTE4LjI0LTQuNDQtMTEuMzctNC4wMy0xMi41MS0yNy44NywyLjAxLTMzLjIyWiIgZmlsbD0iI2Q1OWQ3YSIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTE4NC45MSwyNS40NmMuMzktLjUxLC45Ny0uODUsMS42MS0uOTRsMS40MS0uMTksNjcuNDgtOS4yYzEuMzMtLjE4LDIuNTYsLjc1LDIuNzQsMi4wOGwzLjI5LDI0LjFjLjE4LDEuMzMtLjc1LDIuNTYtMi4wOCwyLjc0bC02Ny40OCw5LjItMS40MSwuMTljLS42NCwuMDktMS4yMiwuNDItMS42MSwuOTRsLTIuOTQsMy44N2MtLjM5LC41MS0uOTcsLjg1LTEuNjEsLjk0bC03LjY0LDEuMDRjLS42NCwuMDktMS4yOS0uMDgtMS44LS40N2wtMy44Ny0yLjk0Yy0uNTEtLjM5LTEuMTYtLjU2LTEuOC0uNDdsLTEuNDEsLjE5LTQuODIsLjY2Yy0xLjMzLC4xOC0yLjU2LS43NS0yLjc0LTIuMDhsLTMuMjktMjQuMWMtLjE4LTEuMzMsLjc1LTIuNTYsMi4wOC0yLjc0bDQuODItLjY2LDEuNDEtLjE5Yy42NC0uMDksMS4yOSwuMDgsMS44LC40N2wzLjg3LDIuOTRjLjUxLC4zOSwxLjE2LC41NiwxLjgsLjQ3bDcuNjQtMS4wNGMuNjQtLjA5LDEuMjItLjQyLDEuNjEtLjk0bDIuOTQtMy44N1oiIGZpbGw9IiMyM2I2ODkiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0xODkuODYsNjYuNWMuNDUtLjQ2LDEuMDctLjczLDEuNzEtLjczbDEuNDItLjAyLDM4LjkyLS40N2MxLjM0LS4wMiwyLjQ1LDEuMDYsMi40NiwyLjRsLjI5LDI0LjMyYy4wMiwxLjM0LTEuMDYsMi40NS0yLjQsMi40NmwtMzguOTIsLjQ3LTEuNDIsLjAyYy0uNjUsMC0xLjI2LC4yNy0xLjcxLC43M2wtMy40LDMuNDhjLS40NSwuNDYtMS4wNywuNzMtMS43MSwuNzNsLTcuNzEsLjA5Yy0uNjUsMC0xLjI3LS4yNC0xLjczLS42OWwtMy40OC0zLjRjLS40Ni0uNDUtMS4wOC0uNy0xLjczLS42OWwtMS40MiwuMDItNC44NiwuMDZjLTEuMzQsLjAyLTIuNDUtMS4wNi0yLjQ2LTIuNGwtLjI5LTI0LjMyYy0uMDItMS4zNCwxLjA2LTIuNDUsMi40LTIuNDZsNC44Ni0uMDYsMS40Mi0uMDJjLjY1LDAsMS4yNywuMjQsMS43MywuNjlsMy40OCwzLjRjLjQ2LC40NSwxLjA4LC43LDEuNzMsLjY5bDcuNzEtLjA5Yy42NCwwLDEuMjYtLjI3LDEuNzEtLjczbDMuNC0zLjQ4WiIgZmlsbD0iIzdlNjlhZCIgZmlsbC1ydWxlPSJldmVub2RkIi8+PGc+PGcgbWFzaz0idXJsKCNtYXNrKSI+PGc+PHBhdGggZD0iTTMzNi4yLDM0LjY1Yy00Ljc5LTcuNywxLjQ2LTguMDcsNC4xMy01Ljk5LDQsMy4xMiw0Ljk2LDcuNjUsNi44Myw4LjU4LDMuNjYsMS44LDcuNTEtNC4yMyw2LjY3LTcuMjgtLjk4LTMuNi0zLjA0LTcuNjYtNC4zMy04LjI5LTEuNzItLjg1LTMuOTEsLjktNy4xLDIuNy0yLjc3LDEuNTctNy4yNi0xLjA5LTMuNTEtMy44NCw1LjE5LTMuODEsMTAuMTItNi4xMiwxMi40NC01LjI0LDEuODMsLjcsMy42NSwyLjE1LDUuNDUsNS4xMywyLjMxLDMuODQsMy4wMiw1Ljc3LDMuNjIsNi4xMywxLjM2LC44MSwyLjYzLTcuODUsMi44LTE1Ljk0LC4xMi01LjYxLDYuMzMtNS4yOSw2LjExLC44LS40MSwxMS40Ni0zLjg2LDE5Ljk2LTIuOTIsMjAuMywuNjUsLjI0LDQuMjQtNS42LDYuODMtMTUuMSwxLjE3LTQuMjksNy4yOC0yLjk2LDUuMjcsMi44OC0yLjY2LDcuNzQtNy4xNywxNS45LTYuMTUsMTYuNjYsLjcxLC41Myw1LjQ1LTYuNzEsNy42MS05LjU5LDMuNC00LjUyLDYuOTctLjQ1LDQuNjcsMi43LTguOTksMTIuMzItMTAuMSwxMi43NC0xMy4yNCwyMC43OC00LjQ1LDExLjQtMjUuMDcsMTAuMDMtMjguNDYtMi40Mi0yLjMzLTguNTQtNC4xNi04Ljg1LTYuNzQtMTIuOTlaIiBmaWxsPSIjY2I4NTVhIi8+PHBhdGggZD0iTTMzNy41MSwzMi45MmMtNC43OS03LjcsMS40Ni04LjA3LDQuMTMtNS45OSw0LDMuMTIsNC45Niw3LjY1LDYuODMsOC41OCwzLjY2LDEuOCw2LjQxLTMuMTksNS41OC02LjI0LS45OC0zLjYtMi40LTcuNzEtMy42OC04LjM0LTEuNzItLjg1LTMuNDYtLjA5LTYuNjQsMS43MS0yLjc3LDEuNTctNy4yNi0xLjA5LTMuNTEtMy44NCw1LjE5LTMuODEsMTAuMTItNi4xMiwxMi40NC01LjI0LDEuODMsLjcsMy42NSwyLjE1LDUuNDUsNS4xMywyLjMxLDMuODQsMS43LDQuMDYsMi4zMSw0LjQyLDEuMzYsLjgxLC4zNy03LjUyLDEuMTItMTUuNjIsLjE2LTEuNjgsNi4xMS0zLjcsNS45LDIuMzktLjEzLDMuNTMtMS4yNCw2LjYyLTEuNyw5LjQ2LTEuMDMsNi4zNy0xLjQ5LDEwLjkzLC42NSwxMi41LDIuMS0zLjczLDQuMDItOC43NSw1Ljc1LTE1LjA4LDEuMTctNC4yOSw2Ljg3LTMuNTIsNS41OCwuNTEtMS4zLDQuMDQtMi45NCw1LjUzLTQuMjksOS4yNC0xLjI1LDMuNDUtMi41Niw4LjUxLTEuMDIsOS42MSwzLjExLTQuNjksNS4zOC03Ljk5LDYuODMtOS45MSwzLjQtNC41Miw2LjU3LS44OSw0LjI3LDIuMjctOC45OSwxMi4zMi0xMi4zOSwxMS4zNS0xNS41MywxOS4zOS00LjQ1LDExLjQtMjIuMDQsMTAuMDEtMjUuNDMtMi40NS0yLjMzLTguNTQtMi40Mi04LjM2LTQuOTktMTIuNVoiIGZpbGw9IiNkNTlkN2EiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L2c+PHBhdGggZD0iTTI2MS40NCwyNy42N2wxLjIzLTIyLjQzYy4wNy0xLjI0LDEuMTQtMi4xOSwyLjM5LTIuMTJsNS44NiwuMzJjLjYsLjAzLDEuMTYsLjMsMS41NywuNzRsMy4wMywzLjM1Yy40LC40NCwuOTYsLjcxLDEuNTcsLjc0bDcuMTgsLjM5Yy42LC4wMywxLjE5LS4xNywxLjY0LS41N2wzLjM4LTNjLjQ1LS40LDEuMDQtLjYsMS42NC0uNTdsNTYuNTUsMy4xYzEuMjUsLjA3LDIuMjEsMS4xMywyLjE0LDIuMzdsLTEuMjMsMjIuNDNjLS4wNywxLjI0LTEuMTQsMi4xOS0yLjM5LDIuMTJsLTU2LjU1LTMuMWMtLjYtLjAzLTEuMTksLjE3LTEuNjQsLjU3bC0zLjM4LDNjLS40NSwuNC0xLjA0LC42LTEuNjQsLjU3bC03LjE4LS4zOWMtLjYtLjAzLTEuMTYtLjMtMS41Ny0uNzVsLTMuMDMtMy4zNWMtLjQtLjQ0LS45Ny0uNzEtMS41Ny0uNzRsLTUuODYtLjMyYy0xLjI1LS4wNy0yLjIxLTEuMTMtMi4xNC0yLjM3WiIgZmlsbD0iIzYyOGVjOSIgZmlsbC1ydWxlPSJldmVub2RkIi8+PGcgbWFzaz0idXJsKCNtYXNrLTEpIj48Zz48ZyBvcGFjaXR5PSIuMSI+PHBhdGggZD0iTTM0OS41MiwyMS42OGMtMS43My0uODYtNC4yMywuOTItNy40MSwyLjY3LTIuNzYsMS41Mi03LjI4LTEuMTQtMy41NS0zLjgxLDUuMTYtMy43MSwxMC4zMi02LjAyLDEyLjY1LTUuMTNsLTEuNyw2LjI4WiIvPjwvZz48cGF0aCBkPSJNMzQ5Ljk3LDIwLjc4Yy0yLjA5LS42NS01LjUyLDIuNTItOC42OSw0LjI3LTIuNzYsMS41Mi03LjYyLTIuMDQtMy44OS00LjcxLDUuMTYtMy43MSwxMi44LTcuNTIsMTUuMTMtNi42M2wtMi41NCw3LjA3WiIgZmlsbD0iI2Q1OWQ3YSIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9nPjwvZz48L2c+PGc+PHBhdGggZD0iTTI1OS42Miw2MS42OWMuNSwuMDgsLjk5LC4xNiwxLjQ4LC4yMyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjY2VkZmYyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyLjk5Ii8+PHBhdGggZD0iTTI2Ni44OCw2Mi40NmMyOS45NSwxLjM3LDQwLTIyLjA5LDQyLjg5LTMxLjk2IiBmaWxsPSJub25lIiBzdHJva2U9IiNjZWRmZjIiIHN0cm9rZS1kYXNoYXJyYXk9IjAgMCAyLjkxIDUuODIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIuOTkiLz48cGF0aCBkPSJNMzEwLjUxLDI3LjY5Yy4yMS0uOTMsLjMtMS40NiwuMy0xLjQ2IiBmaWxsPSJub25lIiBzdHJva2U9IiNjZWRmZjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIuOTkiLz48cGF0aCBkPSJNMjYwLjA5LDYxLjc1YzEuNDYtLjk5LDIuNS0zLjMxLDIuODctNC45OC0yLjExLDEuOTQtNC42NiwzLjUtNy41Miw0LjExLDIuNDQsMS41Niw0LjE0LDQuMDQsNS41LDYuNTYsLjItMS44MywuMTctNC4xLS44NS01LjY4WiIgZmlsbD0iI2NlZGZmMiIvPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4="; /***/ }, /***/ "./src/components/debug-modal/icons/icon--to-loop-or-not.svg" /*!*******************************************************************!*\ !*** ./src/components/debug-modal/icons/icon--to-loop-or-not.svg ***! \*******************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDQwIiBoZWlnaHQ9IjEwNiIgdmlld0JveD0iMCAwIDMyOS42IDkwLjE4IiBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6ICNmZmY7CiAgICAgIH0KCiAgICAgIC5jbHMtMiB7CiAgICAgICAgZmlsbDogI2NmOGIxNzsKICAgICAgfQoKICAgICAgLmNscy0zLCAuY2xzLTQsIC5jbHMtNSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLmNscy02IHsKICAgICAgICBmaWxsOiAjZmZhYjE5OwogICAgICB9CgogICAgICAuY2xzLTcgewogICAgICAgIGZpbGw6ICNmZmU1Y2M7CiAgICAgIH0KCiAgICAgIC5jbHMtOCB7CiAgICAgICAgZmlsbDogI2VjOWQyMjsKICAgICAgfQoKICAgICAgLmNscy04LCAuY2xzLTksIC5jbHMtMTAgewogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQoKICAgICAgLmNscy00IHsKICAgICAgICBzdHJva2U6ICNlZGU0ZjE7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAyLjk2cHg7CiAgICAgIH0KCiAgICAgIC5jbHMtNCwgLmNscy01IHsKICAgICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7CiAgICAgICAgc3Ryb2tlLW1pdGVybGltaXQ6IDEwOwogICAgICB9CgogICAgICAuY2xzLTkgewogICAgICAgIGZpbGw6ICM3ZTY5YWQ7CiAgICAgIH0KCiAgICAgIC5jbHMtNSB7CiAgICAgICAgc3Ryb2tlOiAjZmZlNWNjOwogICAgICAgIHN0cm9rZS13aWR0aDogMi44cHg7CiAgICAgIH0KCiAgICAgIC5jbHMtMTAgewogICAgICAgIGZpbGw6ICMwMGE4N2Q7CiAgICAgIH0KCiAgICAgIC5jbHMtMTEgewogICAgICAgIGZpbGw6ICNlZGU0ZjE7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxnIGlkPSJMYXllcl8xLTIiIGRhdGEtbmFtZT0iTGF5ZXIgMSI+CiAgICA8cmVjdCBjbGFzcz0iY2xzLTMiIHdpZHRoPSIzMjkuNiIgaGVpZ2h0PSI5MC4xOCIvPgogICAgPHBhdGggY2xhc3M9ImNscy04IiBkPSJNMzguNTcsMjkuODhjLjQ1LS40NCwxLjA1LS42OCwxLjY3LS42N2wxLjM4LjAyLDM3LjY5LjQ0YzEuMy4wMSwyLjM0LDEuMDgsMi4zMywyLjM4bC0uMjcsMjMuNTZjMCwxLjMtMS4wOCwyLjM0LTIuMzgsMi4zM2wtMzcuNjktLjQ0LTEuMzgtLjAyYy0uNjIsMC0xLjIzLjIzLTEuNjcuNjdsLTMuMzcsMy4yOWMtLjQ1LjQ0LTEuMDUuNjgtMS42Ny42N2wtNy40Ny0uMDljLS42MiwwLTEuMjItLjI2LTEuNjYtLjcxbC0zLjI5LTMuMzdjLS40NC0uNDUtMS4wMy0uNy0xLjY2LS43MWwtMS4zOC0uMDItNC43MS0uMDVjLTEuMy0uMDEtMi4zNC0xLjA4LTIuMzMtMi4zOGwuMjctMjMuNTZjLjAyLTEuMywxLjA4LTIuMzQsMi4zOC0yLjMzbDQuNzEuMDUsMS4zOC4wMmMuNjIsMCwxLjIyLjI2LDEuNjYuNzFsMy4yOSwzLjM3Yy40NC40NSwxLjAzLjcsMS42Ni43MWw3LjQ3LjA5Yy42MiwwLDEuMjMtLjIzLDEuNjctLjY3bDMuMzctMy4yOVoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTY2LjE1LDMyLjQ5bC0xMC45Mi0uMjZjLTUuNjMtLjEzLTEwLjMxLDQuMzItMTAuNDQsOS45NmgwYy0uMTMsNS42NCw0LjMyLDEwLjMyLDkuOTYsMTAuNDVsMTAuOTIuMjZjNS42My4xMywxMC4zMS00LjMyLDEwLjQ0LTkuOTZoMGMuMTMtNS42NC00LjMyLTEwLjMyLTkuOTYtMTAuNDVaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTYiIGQ9Ik0yMzQuMTIsNjQuNDhsLS4wNy0uNThoMHMtMS4yOC0xMC40NC0xLjI4LTEwLjQ0aC0uMDJzLS4zNi0yLjg5LS4zNi0yLjg5Yy0uMTUtMS4yOC0xLjMyLTIuMi0yLjYtMi4wNGwtNTQuNTQsNi42Ny0uMi4wMmMtLjYyLjA3LTEuMTguMzktMS41Ni44OGwtMi44OCwzLjY4Yy0uMzguNDktLjk0LjgtMS41Ni44OGwtNy4zNi45Yy0uNjEuMDctMS4yMy0uMS0xLjcyLS40OGwtMy42OC0yLjg4Yy0uNDgtLjM4LTEuMS0uNTYtMS43Mi0uNDhsLTMuNTguNDQtMS44NC4yMmMtMS4yOC4xNS0yLjQ0LS43Ni0yLjYtMi4wNGgwcy0xLjUyLTEyLjQ1LTEuNTItMTIuNDVoMHMtLjI4LTIuMzMtLjI4LTIuMzNjLS4xNS0xLjI4Ljc2LTIuNDQsMi4wNC0yLjZsNS40Mi0uNjZjLjYxLS4wNywxLjIzLjEsMS43Mi40OGwzLjY4LDIuODhjLjQ4LjM4LDEuMS41NiwxLjcyLjQ4bDcuMzYtLjljLjYyLS4wNywxLjE4LS4zOSwxLjU2LS44OGwyLjg4LTMuNjhjLjM4LS40OS45NC0uOCwxLjU2LS44OGwuMi0uMDIsNTQuNTQtNi42N2MxLjI4LS4xNSwyLjItMS4zMiwyLjA0LTIuNmwtLjA3LS41OGgwcy0xLjY3LTEzLjY3LTEuNjctMTMuNjdoLjAxcy0uNDMtMy40OC0uNDMtMy40OGMtLjE2LTEuMjgtMS4zMi0yLjE5LTIuNi0yLjA0bC02My44Miw3LjgtLjIuMDJjLS42Mi4wOC0xLjE4LjM5LTEuNTYuODhsLTIuODgsMy42OGMtLjM4LjQ5LS45NC44MS0xLjU2Ljg4bC03LjM2LjljLS42Mi4wOC0xLjI0LS4xLTEuNzItLjQ4bC0zLjY4LTIuODhjLS40OS0uMzgtMS4xMS0uNTUtMS43Mi0uNDhsLTYsLjczLS4wMy4wMmMtMS4yOC4xNi0yLjE5LDEuMzItMi4wNCwyLjZsLjQsMy4yLDEuNzcsMTQuNTNoLjAxcy44NSw2Ljk2Ljg1LDYuOTZoMHMxLjQ5LDEyLjE2LDEuNDksMTIuMTZoLS4wMnMuMzUsMi45LjM1LDIuOWguMDJzLjY3LDUuNTEuNjcsNS41MWgwcy4wMSwwLC4wMSwwbDEuMjgsMTAuNDNjLjE1LDEuMjgsMS4zMiwyLjIsMi42LDIuMDRsOTAuNTItMTEuMDdjMS4yOC0uMTUsMi4yLTEuMzIsMi4wNC0yLjZaIi8+CiAgICA8cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iLjQ2IDI2Ljg1IC40NiAyNi44MyAuNDYgMjYuODMgLjQ2IDI2Ljg1Ii8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTYiIGQ9Ik05MS4xNCwxLjExTDI5LjAyLjM1aC0uMTljLS42LDAtMS4xOC4yMi0xLjYxLjY0bC0zLjIzLDMuMTVjLS40My40Mi0xLjAxLjY1LTEuNjEuNjRsLTcuMTYtLjA5Yy0uNiwwLTEuMTctLjI1LTEuNTktLjY4bC0zLjE1LTMuMjNjLS40Mi0uNDMtLjk5LS42Ny0xLjU5LS42OEwzLjA1LjAzQzEuOC4wMS43OCwxLjAxLjc2LDIuMjZsLS4wNCwzLjM5aDBzLS4xNywxMy4yOS0uMTcsMTMuMjl2LjU3czAsMCwwLDBsLS4wOSw2Ljc3aDBzLS4xNSwzNy42My0uMTUsMzcuNjNoMGwtLjAzLDIuODJoMHMtLjA2LDQuOC0uMDYsNC44aDBzLS4xMiwxMC4xNy0uMTIsMTAuMTdoMHMwLC41NSwwLC41NWMwLDAsMCwwLDAsMGgwczAsMCwwLDBjLS4wMSwxLjI1Ljk4LDIuMjYsMi4yMywyLjI4bDg4LjA4LDEuMDljMS4yNC4wMiwyLjI3LS45OCwyLjI5LTIuMjNsLjEzLTEwLjczaDBzLjAzLTIuOC4wMy0yLjhjLjAyLTEuMjUtLjk4LTIuMjctMi4yMy0yLjI5bC01My4wNy0uNjZoLS4xOWMtLjYtLjAxLTEuMTguMjItMS42MS42NGwtMy4yMywzLjE1Yy0uNDMuNDItMS4wMS42NC0xLjYxLjY0bC03LjE2LS4wOWMtLjYtLjAxLTEuMTctLjI1LTEuNTktLjY4bC0zLjE1LTMuMjNjLS40Mi0uNDMtLjk5LS42OC0xLjU5LS42OGwtMy40OC0uMDQtMS43OS0uMDJjLTEuMjUtLjAyLTIuMjUtMS4wNC0yLjIyLTIuMjl2LTEuMTNoLS4wMnMuMTQtMzYuMjQuMTQtMzYuMjRoMGwuMDMtMi44MmMuMDItMS4yNSwxLjA0LTIuMjUsMi4yOS0yLjIzbDUuMjguMDdjLjYuMDEsMS4xNy4yNSwxLjU5LjY4bDMuMTUsMy4yM2MuNDIuNDMuOTkuNjgsMS41OS42OGw3LjE2LjA5Yy42LDAsMS4xOC0uMjIsMS42MS0uNjRsMy4yMy0zLjE1Yy40My0uNDIsMS4wMS0uNjQsMS42MS0uNjRoLjE5bDUzLjA3LjY2YzEuMjQuMDIsMi4yNy0uOTgsMi4yOS0yLjIzaDBzMC0uMDIsMC0uMDJ2LTEuMTFzLjE3LTEyLjczLjE3LTEyLjczaDBzLjA0LTMuMzkuMDQtMy4zOWMuMDItMS4yNS0uOTgtMi4yNy0yLjIzLTIuMjlaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTkiIGQ9Ik0yNzYuNDgsMTIuNzFjLjQ4LS40NiwxLjEzLS43MiwxLjc5LS43MWwxLjQ3LjAzLDQwLjI4LjczYzEuMzkuMDIsMi41LDEuMTcsMi40NywyLjU2bC0uNDUsMjUuMThjLS4wMiwxLjM5LTEuMTcsMi41LTIuNTYsMi40N2wtNDAuMjgtLjczLTEuNDctLjAzYy0uNjcsMC0xLjMxLjI0LTEuNzkuNzFsLTMuNjIsMy41Yy0uNDguNDYtMS4xMy43Mi0xLjc5LjcxbC03Ljk4LS4xNGMtLjY3LS4wMS0xLjMtLjI5LTEuNzctLjc3bC0zLjUtMy42MmMtLjQ2LS40OC0xLjEtLjc2LTEuNzctLjc3bC0xLjQ3LS4wMy01LjA0LS4wOWMtMS4zOS0uMDItMi41LTEuMTctMi40Ny0yLjU2bC40NS0yNS4xOGMuMDMtMS4zOSwxLjE3LTIuNSwyLjU2LTIuNDdsNS4wNC4wOSwxLjQ3LjAzYy42NywwLDEuMy4yOSwxLjc3Ljc3bDMuNSwzLjYyYy40Ni40OCwxLjEuNzYsMS43Ny43N2w3Ljk4LjE0Yy42Ny4wMSwxLjMxLS4yNCwxLjc5LS43bDMuNjItMy41aDBaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik0yNjAuMDgsMzdjLS4zNS0uMzUtLjctLjctMS4wNS0xLjA0Ii8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik0yNTQuNTMsMzEuNzljLTQwLjYyLTM1LjQtNzcuNzktOC45Ny04OC44My42Ii8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik0xNjMuNDMsMzQuNDRjLS42OS42Ni0xLjA1LDEuMDQtMS4wNSwxLjA0Ii8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTExIiBkPSJNMjU5Ljc1LDM2Ljc0Yy0xLjUzLDAtMy40MiwxLjEzLTQuNTEsMi4xNSwyLjQ2LS4zNSw1LjA2LS4yLDcuMzkuNzctLjk4LTIuMzItLjk2LTQuOTMtLjY5LTcuNC0xLjA0LDEuMjEtMi4xNCwyLjg1LTIuMiw0LjQ4aDBaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTUiIGQ9Ik01Ny4zOSw0NS4xYy40LS4yNS44LS40OSwxLjItLjcyIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTUiIGQ9Ik02My42NCw0MS41NmM0NS4xNS0yMy40NCw3My4zNiw5LjA4LDgxLjM3LDIwLjMyIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTUiIGQ9Ik0xNDYuNjQsNjQuMjZjLjQ5Ljc2LjczLDEuMTkuNzMsMS4xOSIvPgogICAgPHBhdGggY2xhc3M9ImNscy03IiBkPSJNNTcuNzUsNDQuOTRjLjMzLTEuNDEtLjMxLTMuMzktMS4wMi00LjYtLjIsMi4zNC0uODksNC43LTIuMjksNi42NCwyLjM0LS40MSw0Ljc0LjE2LDYuOTYuOTQtLjg5LTEuMjItMi4xNi0yLjU4LTMuNjYtMi45N2guMDFaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTEwIiBkPSJNMjc2LjI1LDUyLjExYy40Ny0uNTEsMS4xMi0uODEsMS44Mi0uODRsMS41My0uMDYsNDYuMzYtMS45MmMxLjQ0LS4wNiwyLjY2LDEuMDYsMi43MiwyLjVsLjkyLDIyLjg2Yy4wNiwxLjQ0LTEuMDYsMi42Ni0yLjUxLDIuNzJsLTQ2LjM2LDEuOTItMS41My4wNmMtLjY5LjAzLTEuMzUuMzMtMS44Mi44NGwtMy41NCwzLjg1Yy0uNDcuNTEtMS4xMi44MS0xLjgyLjg0bC04LjI4LjM0Yy0uNjkuMDMtMS4zNy0uMjItMS44OC0uNjlsLTMuODQtMy41NGMtLjUxLS40Ny0xLjE5LS43Mi0xLjg4LS42OWwtMS41My4wNi01LjIyLjIyYy0xLjQ0LjA2LTIuNjYtMS4wNi0yLjcyLTIuNWwtLjkyLTIyLjg2Yy0uMDYtMS40NCwxLjA2LTIuNjYsMi41MS0yLjcybDUuMjItLjIyLDEuNTMtLjA2Yy42OS0uMDMsMS4zNy4yMiwxLjg4LjY5bDMuODQsMy41NGMuNTEuNDcsMS4xOS43MiwxLjg4LjY5bDguMjgtLjM0Yy42OS0uMDMsMS4zNS0uMzMsMS44Mi0uODRsMy41NC0zLjg1WiIvPgogIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/delete-button/icon--delete.svg" /*!*******************************************************!*\ !*** ./src/components/delete-button/icon--delete.svg ***! \*******************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU1LjEgKDc4MTM2KSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT5Tb3VuZC9HZW5lcmFsL0RlbGV0ZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik00LjU0NzUxNjQxLDYuOTk5OTQ5NjYgTDE1LjQ1MjMwNDIsNi45OTk5NDk2NiBDMTUuNzI4NDQ2Niw2Ljk5OTk0OTY2IDE1Ljk1MjMwNDIsNy4yMjM4MDcyOSAxNS45NTIzMDQyLDcuNDk5OTQ5NjYgQzE1Ljk1MjMwNDIsNy41MTUwNjM2NyAxNS45NTE2MTg5LDcuNTMwMTY5OSAxNS45NTAyNTA0LDcuNTQ1MjIxODMgTDE1LjE2NTE3OTMsMTYuMTgwMTc4MyBDMTUuMDcxNTI3NSwxNy4yMTAyNDg5IDE0LjIwNzkyNCwxNy45OTg5ODA4IDEzLjE3MzYwNDksMTcuOTk5MDg5NyBMNi44MjY2MjIyNCwxNy45OTk3NTc1IEM1Ljc5MjEzNTE0LDE3Ljk5OTg2NjMgNC45MjgyODM0NSwxNy4yMTEwNjc3IDQuODM0NjI1MzksMTYuMTgwODI5IEw0LjA0OTU2OTgxLDcuNTQ1MjE3NTMgQzQuMDI0NTY5MDUsNy4yNzAyMDkyMiA0LjIyNzI0MDIyLDcuMDI3MDAzODEgNC41MDIyNDg1NCw3LjAwMjAwMzA2IEM0LjUxNzI5OTA0LDcuMDAwNjM0ODMgNC41MzI0MDM4NCw2Ljk5OTk0OTY2IDQuNTQ3NTE2NDEsNi45OTk5NDk2NiBaIE03LjMzMzMzMzMzLDQgTDcuODg2MDM3OTYsMi4zNDE4ODYxMiBDNy45NTQwOTQ5OCwyLjEzNzcxNTA1IDguMTQ1MTY0NDEsMiA4LjM2MDM3OTYxLDIgTDExLjYzOTYyMDQsMiBDMTEuODU0ODM1NiwyIDEyLjA0NTkwNSwyLjEzNzcxNTA1IDEyLjExMzk2MiwyLjM0MTg4NjEyIEwxMi42NjY2NjY3LDQgTDE2LjUsNCBDMTYuNzc2MTQyNCw0IDE3LDQuMjIzODU3NjMgMTcsNC41IEwxNyw1LjUgQzE3LDUuNzc2MTQyMzcgMTYuNzc2MTQyNCw2IDE2LjUsNiBMMy41LDYgQzMuMjIzODU3NjMsNiAzLDUuNzc2MTQyMzcgMyw1LjUgTDMsNC41IEMzLDQuMjIzODU3NjMgMy4yMjM4NTc2Myw0IDMuNSw0IEw3LjMzMzMzMzMzLDQgWiBNOC4zODc0MjU4OSw0IEwxMS42MTI1NzQxLDQgTDExLjI3OTI0MDgsMyBMOC43MjA3NTkyMiwzIEw4LjM4NzQyNTg5LDQgWiBNMTAsMTEuNzIwNDgxMiBMMTEuNTk1MjQzNiwxMC4xMjUyMzc2IEMxMS43OTA1MDU3LDkuOTI5OTc1NDggMTIuMTA3MDg4Miw5LjkyOTk3NTQ4IDEyLjMwMjM1MDQsMTAuMTI1MjM3NiBMMTIuMzc0NzYyNCwxMC4xOTc2NDk2IEMxMi41NzAwMjQ1LDEwLjM5MjkxMTggMTIuNTcwMDI0NSwxMC43MDk0OTQzIDEyLjM3NDc2MjQsMTAuOTA0NzU2NCBMMTAuNzc5NTE4OCwxMi41IEwxMi4zNzQ3NjI0LDE0LjA5NTI0MzYgQzEyLjU3MDAyNDUsMTQuMjkwNTA1NyAxMi41NzAwMjQ1LDE0LjYwNzA4ODIgMTIuMzc0NzYyNCwxNC44MDIzNTA0IEwxMi4zMDIzNTA0LDE0Ljg3NDc2MjQgQzEyLjEwNzA4ODIsMTUuMDcwMDI0NSAxMS43OTA1MDU3LDE1LjA3MDAyNDUgMTEuNTk1MjQzNiwxNC44NzQ3NjI0IEwxMCwxMy4yNzk1MTg4IEw4LjQwNDc1NjQxLDE0Ljg3NDc2MjQgQzguMjA5NDk0MjcsMTUuMDcwMDI0NSA3Ljg5MjkxMTc4LDE1LjA3MDAyNDUgNy42OTc2NDk2MywxNC44NzQ3NjI0IEw3LjYyNTIzNzYyLDE0LjgwMjM1MDQgQzcuNDI5OTc1NDgsMTQuNjA3MDg4MiA3LjQyOTk3NTQ4LDE0LjI5MDUwNTcgNy42MjUyMzc2MiwxNC4wOTUyNDM2IEw5LjIyMDQ4MTIxLDEyLjUgTDcuNjI1MjM3NjIsMTAuOTA0NzU2NCBDNy40Mjk5NzU0OCwxMC43MDk0OTQzIDcuNDI5OTc1NDgsMTAuMzkyOTExOCA3LjYyNTIzNzYyLDEwLjE5NzY0OTYgTDcuNjk3NjQ5NjMsMTAuMTI1MjM3NiBDNy44OTI5MTE3OCw5LjkyOTk3NTQ4IDguMjA5NDk0MjcsOS45Mjk5NzU0OCA4LjQwNDc1NjQxLDEwLjEyNTIzNzYgTDEwLDExLjcyMDQ4MTIgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IlNvdW5kL0dlbmVyYWwvRGVsZXRlIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgPC9tYXNrPgogICAgICAgIDxnIGlkPSJUcmFzaC1DYW4iPjwvZz4KICAgICAgICA8ZyBpZD0iV2hpdGUiIG1hc2s9InVybCgjbWFzay0yKSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgIDxyZWN0IGlkPSJDb2xvciIgeD0iMCIgeT0iMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48L3JlY3Q+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/direction-picker/icon--all-around.svg" /*!**************************************************************!*\ !*** ./src/components/direction-picker/icon--all-around.svg ***! \**************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUxLjEgKDU3NTAxKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5hbGwtYXJvdW5kLWFjdGl2ZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJhbGwtYXJvdW5kLWFjdGl2ZSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTE2Ljg3ODYxOTksMTAuNjIzMTMyOSBMMTQuNjIwOTc2OSwxNC4xNDMzNDQxIEMxNC4zMzIwODQyLDE0LjYwMzQzMjUgMTMuNjY4NzAwOSwxNC42MDM0MzI1IDEzLjM2OTEwODUsMTQuMTQzMzQ0MSBMMTEuMTIyMTY1MSwxMC42MjMxMzI5IEMxMC44MDExNzMyLDEwLjEzMDk0NTQgMTEuMTU0MjY0Myw5LjQ3ODI2MTgyIDExLjc0Mjc0OTUsOS40NzgyNjE4MiBMMTMuMDI2NzE3MSw5LjQ3ODI2MTgyIEMxMi43ODA2MjMzLDcuNDQ1MzEzMSAxMS4wNTc5NjY3LDUuODcyNDUyNzcgOC45NzA0NDk0LDUuODcyNDUyNzcgQzYuNzEzODc2MzIsNS44NzI0NTI3NyA0Ljg3MjQ1Mjc3LDcuNzEyODA2MzUgNC44NzI0NTI3Nyw5Ljk3MDQ0OTQgQzQuODcyNDUyNzcsMTIuMjI4MDkyNSA2LjcxMzg3NjMyLDE0LjA2ODQ0NiA4Ljk3MDQ0OTQsMTQuMDY4NDQ2IEM5LjQ4NTEwNjQyLDE0LjA2ODQ0NiA5LjkwMTMyNTkyLDE0LjQ4NDY2NTUgOS45MDEzMjU5MiwxNC45OTkzMjI2IEM5LjkwMTMyNTkyLDE1LjUyMzYwOTMgOS40ODUxMDY0MiwxNS45NDA4OTg4IDguOTcwNDQ5NCwxNS45NDA4OTg4IEM1LjY3NDkzMjUzLDE1Ljk0MDg5ODggMywxMy4yNjU5NjYzIDMsOS45NzA0NDk0IEMzLDYuNjg1NjMyMjYgNS42NzQ5MzI1Myw0IDguOTcwNDQ5NCw0IEMxMi4wOTQ3NzA2LDQgMTQuNjYzNzc1OCw2LjQxODEzOTAxIDE0LjkwOTg2OTYsOS40NzgyNjE4MiBMMTYuMjU4MDM1Niw5LjQ3ODI2MTgyIEMxNi44NDY1MjA3LDkuNDc4MjYxODIgMTcuMTk5NjExOCwxMC4xMzA5NDU0IDE2Ljg3ODYxOTksMTAuNjIzMTMyOSIgaWQ9IlJvdGF0ZSIgZmlsbD0iIzg1NUNENiI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/direction-picker/icon--dial.svg" /*!********************************************************!*\ !*** ./src/components/direction-picker/icon--dial.svg ***! \********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMTIiIGhlaWdodD0iMTEyIiB2aWV3Qm94PSIwIDAgMTEyIDExMiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtvcGFjaXR5OjAuMjU7fS5jbHMtMntmaWxsOiNDQ0IzRkY7fS5jbHMtM3tmaWxsOiNhMDcxZmU7fS5jbHMtNHtvcGFjaXR5OjAuMTU7fS5jbHMtNXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO308L3N0eWxlPjwvZGVmcz48dGl0bGU+ZGlhbC1mYWNlPC90aXRsZT48ZyBjbGFzcz0iY2xzLTEiPjxjaXJjbGUgY2xhc3M9ImNscy0yIiBjeD0iNTYiIGN5PSI1NiIgcj0iNTUuNSIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTU2LDFBNTUsNTUsMCwxLDEsMSw1Niw1NS4wNiw1NS4wNiwwLDAsMSw1NiwxbTAtMWE1Niw1NiwwLDEsMCw1Niw1NkE1Niw1NiwwLDAsMCw1NiwwWiIvPjwvZz48ZyBjbGFzcz0iY2xzLTQiPjxsaW5lIGNsYXNzPSJjbHMtNSIgeDE9IjU2IiB5MT0iMTQuODYiIHgyPSI1NiIgeTI9IjIwLjczIi8+PGxpbmUgY2xhc3M9ImNscy01IiB4MT0iNTYiIHkxPSI5MS4yNyIgeDI9IjU2IiB5Mj0iOTcuMTQiLz48bGluZSBjbGFzcz0iY2xzLTUiIHgxPSI0NS4zNSIgeTE9IjE2LjI2IiB4Mj0iNDYuODciIHkyPSIyMS45NCIvPjxsaW5lIGNsYXNzPSJjbHMtNSIgeDE9IjY1LjEzIiB5MT0iOTAuMDYiIHgyPSI2Ni42NSIgeTI9Ijk1Ljc0Ii8+PGxpbmUgY2xhc3M9ImNscy01IiB4MT0iMzUuNDMiIHkxPSIyMC4zNyIgeDI9IjM4LjM3IiB5Mj0iMjUuNDYiLz48bGluZSBjbGFzcz0iY2xzLTUiIHgxPSI3My42MyIgeTE9Ijg2LjU0IiB4Mj0iNzYuNTciIHkyPSI5MS42MyIvPjxsaW5lIGNsYXNzPSJjbHMtNSIgeDE9IjI2LjkxIiB5MT0iMjYuOTEiIHgyPSIzMS4wNiIgeTI9IjMxLjA2Ii8+PGxpbmUgY2xhc3M9ImNscy01IiB4MT0iODAuOTQiIHkxPSI4MC45NCIgeDI9Ijg1LjA5IiB5Mj0iODUuMDkiLz48bGluZSBjbGFzcz0iY2xzLTUiIHgxPSIyMC4zNyIgeTE9IjM1LjQzIiB4Mj0iMjUuNDYiIHkyPSIzOC4zNyIvPjxsaW5lIGNsYXNzPSJjbHMtNSIgeDE9Ijg2LjU0IiB5MT0iNzMuNjMiIHgyPSI5MS42MyIgeTI9Ijc2LjU3Ii8+PGxpbmUgY2xhc3M9ImNscy01IiB4MT0iMTYuMjYiIHkxPSI0NS4zNSIgeDI9IjIxLjk0IiB5Mj0iNDYuODciLz48bGluZSBjbGFzcz0iY2xzLTUiIHgxPSI5MC4wNiIgeTE9IjY1LjEzIiB4Mj0iOTUuNzQiIHkyPSI2Ni42NSIvPjxsaW5lIGNsYXNzPSJjbHMtNSIgeDE9IjE0Ljg2IiB5MT0iNTYiIHgyPSIyMC43MyIgeTI9IjU2Ii8+PGxpbmUgY2xhc3M9ImNscy01IiB4MT0iOTEuMjciIHkxPSI1NiIgeDI9Ijk3LjE0IiB5Mj0iNTYiLz48bGluZSBjbGFzcz0iY2xzLTUiIHgxPSIxNi4yNiIgeTE9IjY2LjY1IiB4Mj0iMjEuOTQiIHkyPSI2NS4xMyIvPjxsaW5lIGNsYXNzPSJjbHMtNSIgeDE9IjkwLjA2IiB5MT0iNDYuODciIHgyPSI5NS43NCIgeTI9IjQ1LjM1Ii8+PGxpbmUgY2xhc3M9ImNscy01IiB4MT0iMjAuMzciIHkxPSI3Ni41NyIgeDI9IjI1LjQ2IiB5Mj0iNzMuNjMiLz48bGluZSBjbGFzcz0iY2xzLTUiIHgxPSI4Ni41NCIgeTE9IjM4LjM3IiB4Mj0iOTEuNjMiIHkyPSIzNS40MyIvPjxsaW5lIGNsYXNzPSJjbHMtNSIgeDE9IjI2LjkxIiB5MT0iODUuMDkiIHgyPSIzMS4wNiIgeTI9IjgwLjk0Ii8+PGxpbmUgY2xhc3M9ImNscy01IiB4MT0iODAuOTQiIHkxPSIzMS4wNiIgeDI9Ijg1LjA5IiB5Mj0iMjYuOTEiLz48bGluZSBjbGFzcz0iY2xzLTUiIHgxPSIzNS40MyIgeTE9IjkxLjYzIiB4Mj0iMzguMzciIHkyPSI4Ni41NCIvPjxsaW5lIGNsYXNzPSJjbHMtNSIgeDE9IjczLjYzIiB5MT0iMjUuNDYiIHgyPSI3Ni41NyIgeTI9IjIwLjM3Ii8+PGxpbmUgY2xhc3M9ImNscy01IiB4MT0iNDUuMzUiIHkxPSI5NS43NCIgeDI9IjQ2Ljg3IiB5Mj0iOTAuMDYiLz48bGluZSBjbGFzcz0iY2xzLTUiIHgxPSI2NS4xMyIgeTE9IjIxLjk0IiB4Mj0iNjYuNjUiIHkyPSIxNi4yNiIvPjwvZz48Y2lyY2xlIGNsYXNzPSJjbHMtMiIgY3g9IjU2IiBjeT0iNTYiIHI9IjIiLz48L3N2Zz4K"; /***/ }, /***/ "./src/components/direction-picker/icon--dont-rotate.svg" /*!***************************************************************!*\ !*** ./src/components/direction-picker/icon--dont-rotate.svg ***! \***************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUxLjEgKDU3NTAxKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5kb250LXJvdGF0ZS1hY3RpdmU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iZG9udC1yb3RhdGUtYWN0aXZlIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cGF0aCBkPSJNMTIuNTg4ODc3MSw4LjA2OTAyNjQ0IEwxMy44NjM0OSw2LjU2MjY2NTc0IEMxNC40NDg3NDA2LDcuNDAzMzE3NDYgMTQuODIzMjM3NSw4LjQwMTAxMDk5IDE0LjkwOTg2OTYsOS40NzgyNjE4MiBMMTYuMjU4MDM1Niw5LjQ3ODI2MTgyIEMxNi44NDY1MjA3LDkuNDc4MjYxODIgMTcuMTk5NjExOCwxMC4xMzA5NDU0IDE2Ljg3ODYxOTksMTAuNjIzMTMyOSBMMTQuNjIwOTc2OSwxNC4xNDMzNDQxIEMxNC4zMzIwODQyLDE0LjYwMzQzMjUgMTMuNjY4NzAwOSwxNC42MDM0MzI1IDEzLjM2OTEwODUsMTQuMTQzMzQ0MSBMMTEuMTIyMTY1MSwxMC42MjMxMzI5IEMxMC44MDExNzMyLDEwLjEzMDk0NTQgMTEuMTU0MjY0Myw5LjQ3ODI2MTgyIDExLjc0Mjc0OTUsOS40NzgyNjE4MiBMMTMuMDI2NzE3MSw5LjQ3ODI2MTgyIEMxMi45NjU3NTI2LDguOTc0NjQyMTUgMTIuODE0MTcyMiw4LjQ5OTI1Nzg3IDEyLjU4ODg3NzEsOC4wNjkwMjY0NCBaIE0xNC45MzIyOTM2LDMuNzUxNDA4MTkgTDQuNDE4MzA2ODYsMTYuMTc3MDI4OSBDNC4zOTkwNjc0MSwxNi4xOTk3NjY0IDQuMzgyMjA5MDIsMTYuMjIzNzIxOSA0LjM2NzcwNjQsMTYuMjQ4NTkxOCBMMy44ODE2OTMxNCwxNi44MjI5NzExIEMzLjcwMzMyMTEyLDE3LjAzMzc3NDQgMy4zODc4MzIxOCwxNy4wNjAwNjUyIDMuMTc3MDI4ODgsMTYuODgxNjkzMSBDMi45NjYyMjU1OCwxNi43MDMzMjExIDIuOTM5OTM0ODMsMTYuMzg3ODMyMiAzLjExODMwNjg2LDE2LjE3NzAyODkgTDQuNzc2MDA3MDEsMTQuMjE3OTI4NyBDMy42Nzk3MTc4OSwxMy4xMzUyMjc5IDMsMTEuNjMxNjg1OSAzLDkuOTcwNDQ5NCBDMyw2LjY4NTYzMjI2IDUuNjc0OTMyNTMsNCA4Ljk3MDQ0OTQsNCBDMTAuMjczOTU0NCw0IDExLjQ4MDc5NzcsNC40MjA5MTU4OCAxMi40NjI2MTIzLDUuMTMzNzU4ODUgTDE0LjExODMwNjksMy4xNzcwMjg4OCBDMTQuMjk2Njc4OSwyLjk2NjIyNTU4IDE0LjYxMjE2NzgsMi45Mzk5MzQ4MyAxNC44MjI5NzExLDMuMTE4MzA2ODYgQzE1LjAxMTAzNjksMy4yNzc0Mzk0MyAxNS4wNTIyNDcsMy41NDU3MDQ5MSAxNC45MzIyOTM2LDMuNzUxNDA4MTkgWiBNNi40MTM5MTc1OSwxNS4zNjY3MDU5IEw3LjY4NzA1NDg4LDEzLjg2MjA4OTEgQzguMDkxMDY1ODQsMTMuOTk1OTUxOCA4LjUyMjU4MDk1LDE0LjA2ODQ0NiA4Ljk3MDQ0OTQsMTQuMDY4NDQ2IEM5LjQ4NTEwNjQyLDE0LjA2ODQ0NiA5LjkwMTMyNTkyLDE0LjQ4NDY2NTUgOS45MDEzMjU5MiwxNC45OTkzMjI2IEM5LjkwMTMyNTkyLDE1LjUyMzYwOTMgOS40ODUxMDY0MiwxNS45NDA4OTg4IDguOTcwNDQ5NCwxNS45NDA4OTg4IEM4LjA1NTgzMzE1LDE1Ljk0MDg5ODggNy4xODkwMTczLDE1LjczNDg2MjYgNi40MTM5MTc1OSwxNS4zNjY3MDU5IFogTTExLjI0ODE5NjIsNi41Njg5Nzc4NyBDMTAuNTk3MzE4NCw2LjEyOTA3MjUxIDkuODEzNjQ4MzIsNS44NzI0NTI3NyA4Ljk3MDQ0OTQsNS44NzI0NTI3NyBDNi43MTM4NzYzMiw1Ljg3MjQ1Mjc3IDQuODcyNDUyNzcsNy43MTI4MDYzNSA0Ljg3MjQ1Mjc3LDkuOTcwNDQ5NCBDNC44NzI0NTI3NywxMS4wNTY1NjU4IDUuMjk4NjM1NTMsMTIuMDQ2MTAzOSA1Ljk5MjE5NTI4LDEyLjc4MDYxNTMgTDExLjI0ODE5NjIsNi41Njg5Nzc4NyBaIiBpZD0iQ29tYmluZWQtU2hhcGUiIGZpbGw9IiM4NTVDRDYiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/direction-picker/icon--handle.svg" /*!**********************************************************!*\ !*** ./src/components/direction-picker/icon--handle.svg ***! \**********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMCAwIDQwIDQwIj48ZGVmcz48c3R5bGU+LmNscy0xLC5jbHMtMntmaWxsOiM4NTVDRDY7fS5jbHMtMXtvcGFjaXR5OjAuMTU7fS5jbHMtM3tmaWxsOiNmZmY7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT4wMV9EaWFsIEVsZW1lbnRzPC90aXRsZT48Y2lyY2xlIGNsYXNzPSJjbHMtMSIgY3g9IjIwIiBjeT0iMjAiIHI9IjIwIi8+PGNpcmNsZSBjbGFzcz0iY2xzLTIiIGN4PSIyMCIgY3k9IjIwIiByPSIxNiIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTIwLjUzLDEyLjQ0bDUsNUEuNzQuNzQsMCwwLDEsMjUsMTguNjhIMjIuMzdMMjEsMjYuODZhMS4wOCwxLjA4LDAsMCwxLTIuMTMsMGwtMS4zNC04LjE4SDE1YS43NC43NCwwLDAsMS0uNTItMS4yNmw1LTVBLjc3Ljc3LDAsMCwxLDIwLjUzLDEyLjQ0WiIvPjwvc3ZnPgo="; /***/ }, /***/ "./src/components/direction-picker/icon--left-right.svg" /*!**************************************************************!*\ !*** ./src/components/direction-picker/icon--left-right.svg ***! \**************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUxLjEgKDU3NTAxKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5sZWZ0LXJpZ2h0LWFjdGl2ZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIuMDAwMDAwLCAzLjAwMDAwMCkiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTEgMTAuMzkyNVYzLjIwMzEzQzExIDIuNzI1OCAxMS41NzczIDIuNDg3MTMgMTEuOTE0NyAyLjgyNDQ3TDE1LjUwOCA2LjQyMDQ3QzE1LjcxNzMgNi42Mjg0NyAxNS43MTczIDYuOTY3MTMgMTUuNTA4IDcuMTc2NDdMMTEuOTE0NyAxMC43Njk4QzExLjU3NzMgMTEuMTA3MSAxMSAxMC44Njg1IDExIDEwLjM5MjUiIGZpbGw9IiM4NTVDRDYiLz4KICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuNjY0NjcgMS45NTc0NkM3Ljc0MzMzIDEuOTg0MTIgNy44MzY2NyAxLjk5NzQ2IDcuOTE2NjcgMS45OTc0NkM4LjEwNDY3IDEuOTk3NDYgOC4yNjQ2NyAxLjkzMDc5IDguMzk2NjcgMS44MDk0NkM4LjQ2MjA4IDEuNzQ1MzUgOC41MDE4MSAxLjY2NzE0IDguNTQyMzMgMS41ODczOUw4LjU0NDY3IDEuNTgyNzlDOC41NDYwNCAxLjU3ODUyIDguNTQ3NDIgMS41NzQyNCA4LjU0ODgxIDEuNTY5OTZDOC41NzI5NiAxLjQ5NTI2IDguNTk4IDEuNDE3OCA4LjU5OCAxLjMzMDc5QzguNTk4IDEuMTU3NDYgOC41MTY2NyAwLjk4NDEyMiA4LjM5NjY3IDAuODYyNzg5QzguMzMxMzMgMC43OTc0NTYgOC4yNjQ2NyAwLjc1NjEyMiA4LjE4MzMzIDAuNzE3NDU2QzcuOTMxMzMgMC42MTA3ODkgNy42MzY2NyAwLjY3NzQ1NiA3LjQ1IDAuODYyNzg5QzcuMzk2NjcgMC45MTYxMjIgNy4zNDMzMyAwLjk5NzQ1NiA3LjMwMzMzIDEuMDc3NDZDNy4yNzggMS4xNTc0NiA3LjI1IDEuMjQ5NDYgNy4yNSAxLjMzMDc5QzcuMjUgMS40MTc4IDcuMjc1MDQgMS40OTUyNiA3LjI5OTE5IDEuNTY5OTZDNy4zMDA1OCAxLjU3NDI0IDcuMzAxOTYgMS41Nzg1MiA3LjMwMzMzIDEuNTgyNzlDNy4zNDMzMyAxLjY2NDEyIDcuMzk2NjcgMS43NDQxMiA3LjQ1IDEuODA5NDZMNy40NSAxLjgwOTQ2QzcuNTE2NjcgMS44NjI3OSA3LjU4MzMzIDEuOTE2MTIgNy42NjQ2NyAxLjk1NzQ2Wk03LjI2NDI3IDMuOTQzOTlDNy4yNjQyNyAzLjU3MDY2IDcuNTU3NiAzLjI3NzMyIDcuOTMwOTMgMy4yNzczMkM4LjI5MDkzIDMuMjc3MzIgOC41OTc2IDMuNTcwNjYgOC41OTc2IDMuOTQzOTlDOC41OTc2IDQuMzAzOTkgOC4yOTA5MyA0LjYxMDY2IDcuOTMwOTMgNC42MTA2NkM3LjU1NzYgNC42MTA2NiA3LjI2NDI3IDQuMzAzOTkgNy4yNjQyNyAzLjk0Mzk5Wk03LjkxNjY3IDEyLjQyMzJDNy43NDMzMyAxMi40MjMyIDcuNTgzMzMgMTIuMzU2NSA3LjQ1IDEyLjIyNDVDNy4zOTY2NyAxMi4xNzEyIDcuMzQzMzMgMTIuMDg5OSA3LjMwMzMzIDEyLjAwOTlMNy4yOTkyNCAxMS45OTcyQzcuMjc1MDggMTEuOTIyNCA3LjI1IDExLjg0NDkgNy4yNSAxMS43NTY1QzcuMjUgMTEuNjc2NSA3LjI3OCAxMS41ODMyIDcuMzAzMzMgMTEuNTA0NUM3LjM0MzMzIDExLjQyMzIgNy4zOTY2NyAxMS4zNDMyIDcuNDUgMTEuMjg5OUM3LjYzNjY3IDExLjEwNDUgNy45MzEzMyAxMS4wMzY1IDguMTgzMzMgMTEuMTQzMkM4LjI2NDY3IDExLjE4MzIgOC4zMzEzMyAxMS4yMjQ1IDguMzk2NjcgMTEuMjg5OUM4LjQ1IDExLjM0MzIgOC41MDMzMyAxMS40MjMyIDguNTQ0NjcgMTEuNTA0NUM4LjU3IDExLjU4MzIgOC41OTggMTEuNjc2NSA4LjU5OCAxMS43NTY1QzguNTk4IDExLjg0NDkgOC41NzI5MiAxMS45MjI0IDguNTQ4NzYgMTEuOTk3Mkw4LjU0NDY3IDEyLjAwOTlMOC41Mzg4NiAxMi4wMjExQzguNDk5NTMgMTIuMDk3NCA4LjQ2MDIxIDEyLjE3MzcgOC4zOTY2NyAxMi4yMjQ1QzguMjc4IDEyLjM1NjUgOC4xMDQ2NyAxMi40MjMyIDcuOTE2NjcgMTIuNDIzMlpNNy45MzA5MyA1Ljg3NzMyQzcuNTU3NiA1Ljg3NzMyIDcuMjY0MjcgNi4xNzA2NiA3LjI2NDI3IDYuNTQzOTlDNy4yNjQyNyA2LjkxNTk5IDcuNTU3NiA3LjIxMDY2IDcuOTMwOTMgNy4yMTA2NkM4LjI5MDkzIDcuMjEwNjYgOC41OTc2IDYuOTE1OTkgOC41OTc2IDYuNTQzOTlDOC41OTc2IDYuMTcwNjYgOC4yOTA5MyA1Ljg3NzMyIDcuOTMwOTMgNS44NzczMlpNNy4yNjQyNyA5LjE1NzMyQzcuMjY0MjcgOC43ODM5OSA3LjU1NzYgOC40OTA2NiA3LjkzMDkzIDguNDkwNjZDOC4yOTA5MyA4LjQ5MDY2IDguNTk3NiA4Ljc4Mzk5IDguNTk3NiA5LjE1NzMyQzguNTk3NiA5LjUxNzMyIDguMjkwOTMgOS44MjM5OSA3LjkzMDkzIDkuODIzOTlDNy41NTc2IDkuODIzOTkgNy4yNjQyNyA5LjUxNzMyIDcuMjY0MjcgOS4xNTczMloiIGZpbGw9IiM4NTVDRDYiLz4KICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTUuMTY0IDMuMjAzMTNWMTAuMzkyNUM1LjE2NCAxMC44Njg1IDQuNTg4IDExLjEwNzEgNC4yNTA2NyAxMC43Njk4TDAuNjU2IDcuMTc1MTNDMC40NDggNi45NjU4IDAuNDQ4IDYuNjI3MTMgMC42NTYgNi40MTkxM0w0LjI1MDY3IDIuODI0NDdDNC41ODggMi40ODcxMyA1LjE2NCAyLjcyNTggNS4xNjQgMy4yMDMxMyIgZmlsbD0iIzg1NUNENiIvPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/filter/icon--filter.svg" /*!************************************************!*\ !*** ./src/components/filter/icon--filter.svg ***! \************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNC41IiBoZWlnaHQ9IjE0LjYiIHZpZXdCb3g9IjAgMCAxNC41IDE0LjYiPgogIDxwYXRoIGZpbGw9IiM4NTVDRDYiIGQ9Ik0xMC40IDkuMmwtLjgtLjEtLjItLjJjLjUtLjUuOC0xIDEtMS42LjItLjYuMy0xLjIuMy0xLjkgMC0xLS4yLTEuOS0uNy0yLjctLjQtLjktMS4xLTEuNS0xLjktMkM3LjMuMiA2LjMgMCA1LjQgMGMtLjkgMC0xLjkuMi0yLjcuNy0uOS41LTEuNSAxLjItMiAyUzAgNC40IDAgNS40cy4yIDEuOS43IDIuOGMuNS44IDEuMiAxLjQgMiAxLjlzMS43LjcgMi43LjdjLjcgMCAxLjMtLjEgMS45LS4zLjYtLjMgMS4xLS42IDEuNi0xbC4yLjN2LjZsNC4xIDQuMiAxLjMtMS4zLTQuMS00LjF6TTguNyA3LjNjLS40LjYtLjggMS4xLTEuNCAxLjQtLjYuMy0xLjIuNS0xLjkuNS0uNiAwLTEuMy0uMi0xLjgtLjUtLjYtLjQtMS4xLS44LTEuNC0xLjQtLjMtLjYtLjUtMS4yLS41LTEuOXMuMi0xLjQuNS0xLjkuOC0xIDEuNC0xLjNjLjUtLjQgMS4xLS41IDEuOC0uNXMxLjMuMSAxLjkuNWMuNi4zIDEgLjggMS40IDEuMy4zLjYuNSAxLjIuNSAxLjlTOSA2LjcgOC43IDcuM3oiLz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/filter/icon--x.svg" /*!*******************************************!*\ !*** ./src/components/filter/icon--x.svg ***! \*******************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA5IDgiPgogIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzRDOTdGRiIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMSA3LjMzM0w3LjMzMyAxTTEgMUw3LjMzMyA3LjMzMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/green-flag/icon--green-flag.svg" /*!********************************************************!*\ !*** ./src/components/green-flag/icon--green-flag.svg ***! \********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNi42MyAxNy41Ij48ZGVmcz48c3R5bGU+LmNscy0xLC5jbHMtMntmaWxsOiM0Y2JmNTY7c3Ryb2tlOiM0NTk5M2Q7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO30uY2xzLTJ7c3Ryb2tlLXdpZHRoOjEuNXB4O308L3N0eWxlPjwvZGVmcz48dGl0bGU+aWNvbi0tZ3JlZW4tZmxhZzwvdGl0bGU+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNLjc1LDJBNi40NCw2LjQ0LDAsMCwxLDguNDQsMmgwYTYuNDQsNi40NCwwLDAsMCw3LjY5LDBWMTIuNGE2LjQ0LDYuNDQsMCwwLDEtNy42OSwwaDBhNi40NCw2LjQ0LDAsMCwwLTcuNjksMCIvPjxsaW5lIGNsYXNzPSJjbHMtMiIgeDE9IjAuNzUiIHkxPSIxNi43NSIgeDI9IjAuNzUiIHkyPSIwLjc1Ii8+PC9zdmc+"; /***/ }, /***/ "./src/components/gui/icon--code.svg" /*!*******************************************!*\ !*** ./src/components/gui/icon--code.svg ***! \*******************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ5LjIgKDUxMTYwKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5Db2RlIFYyPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IkNvZGUtVjIiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik0xNSwxNC41MSBDMTUsMTQuNzg2IDE0Ljc3NiwxNS4wMSAxNC41LDE1LjAxIEw5LjE5NywxNS4wMSBDOS4wNjQsMTUuMDEgOC45MzcsMTUuMDYyIDguODQ0LDE1LjE1NiBMOC4xNDYsMTUuODU0IEM4LjA1MywxNS45NDcgNy45MjYsMTYgNy43OTMsMTYgTDYuMjA3LDE2IEM2LjA3NCwxNiA1Ljk0NywxNS45NDcgNS44NTQsMTUuODU0IEw1LjE1NiwxNS4xNTYgQzUuMDYyLDE1LjA2MiA0LjkzNiwxNS4wMSA0LjgwMywxNS4wMSBMMy41LDE1LjAxIEMzLjIyNCwxNS4wMSAzLDE0Ljc4NiAzLDE0LjUxIEwzLDExLjUgQzMsMTEuMjI0IDMuMjI0LDExIDMuNSwxMSBMNC43OTMsMTEgQzQuOTI2LDExIDUuMDUzLDExLjA1MyA1LjE0NiwxMS4xNDYgTDUuODU0LDExLjg1NCBDNS45NDcsMTEuOTQ3IDYuMDc0LDEyIDYuMjA3LDEyIEw3Ljc5MywxMiBDNy45MjYsMTIgOC4wNTMsMTEuOTQ3IDguMTQ2LDExLjg1NCBMOC44NTQsMTEuMTQ2IEM4Ljk0NywxMS4wNTMgOS4wNzQsMTEgOS4yMDcsMTEgTDE0LjUsMTEgQzE0Ljc3NiwxMSAxNSwxMS4yMjQgMTUsMTEuNSBMMTUsMTQuNTEgWiBNMTcsOS41MSBDMTcsOS43ODYgMTYuNzc2LDEwLjAxIDE2LjUsMTAuMDEgTDkuMTk3LDEwLjAxIEM5LjA2NCwxMC4wMSA4LjkzNywxMC4wNjIgOC44NDQsMTAuMTU2IEw4LjE0NiwxMC44NTQgQzguMDUzLDEwLjk0NyA3LjkyNiwxMSA3Ljc5MywxMSBMNi4yMDcsMTEgQzYuMDc0LDExIDUuOTQ3LDEwLjk0NyA1Ljg1NCwxMC44NTQgTDUuMTU2LDEwLjE1NiBDNS4wNjIsMTAuMDYyIDQuOTM2LDEwLjAxIDQuODAzLDEwLjAxIEwzLjUsMTAuMDEgQzMuMjI0LDEwLjAxIDMsOS43ODYgMyw5LjUxIEwzLDYuNSBDMyw2LjIyNCAzLjIyNCw2IDMuNSw2IEw0Ljc5Myw2IEM0LjkyNiw2IDUuMDUzLDYuMDUzIDUuMTQ2LDYuMTQ2IEw1Ljg1NCw2Ljg1NCBDNS45NDcsNi45NDcgNi4wNzQsNyA2LjIwNyw3IEw3Ljc5Myw3IEM3LjkyNiw3IDguMDUzLDYuOTQ3IDguMTQ2LDYuODU0IEw4Ljg1NCw2LjE0NiBDOC45NDcsNi4wNTMgOS4wNzQsNiA5LjIwNyw2IEwxNi41LDYgQzE2Ljc3Niw2IDE3LDYuMjI0IDE3LDYuNSBMMTcsOS41MSBaIiBpZD0iQ29kZSIgZmlsbD0iIzg1NUNENiI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/gui/icon--costumes.svg" /*!***********************************************!*\ !*** ./src/components/gui/icon--costumes.svg ***! \***********************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ5LjIgKDUxMTYwKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5QYWludCBFZGl0b3IgVjE8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFpbnQtRWRpdG9yLVYxIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cGF0aCBkPSJNMTYuMTk5ODIyNiw2LjU4Njg1Mjc3IEMxNS41NDE3Mjk0LDcuOTQyMTM3NjMgMTQuNTY2MjY3OCw5LjUwNTM5MTAxIDEzLjY0NTc2MTcsMTAuNjYzODczNCBDMTIuODc1MDA5NywxMS42Mzk1MTEgMTIuMjU2NzU5MywxMi4yMTE3NzM0IDExLjY2NTk4NjgsMTIuNDkwOTI1OCBDMTEuNTk3MjkyMywxMi41MzQxOTQ0IDExLjUyOTk3MTcsMTIuNTQ4MTUyMSAxMS40NDYxNjQ0LDEyLjU0ODE1MjEgQzExLjM5MTIwODksMTIuNTQ4MTUyMSAxMS4zMzYyNTMzLDEyLjUzNDE5NDQgMTEuMjY3NTU4OCwxMi41MDQ4ODM0IEMxMS4xNDM5MDg3LDEyLjQ2NDQwNjMgMTEuMDMzOTk3NiwxMi4zNjY3MDMgMTAuOTc5MDQyLDEyLjI0MTA4NDQgQzEwLjgxNDE3NTIsMTEuODYyODMyOSAxMC41ODA2MTQsMTEuNTQzMjAzNSAxMC4yNjU5OTMyLDExLjI5MDU3MDUgQzkuOTQ4NjI0NzQsMTEuMDUzMjkxIDkuNTkxNDEzNDQsMTAuODcxODQyIDkuMTgwNjIwNDMsMTAuNzc0MTM4NiBDOS4wNTU1OTY0OCwxMC43NDYyMjM0IDguOTMxOTQ2NDEsMTAuNjYzODczNCA4Ljg2MzI1MTkzLDEwLjUzNjg1OTEgQzguNzk0NTU3NDUsMTAuNDI1MTk4MSA4Ljc2ODQ1MzU0LDEwLjI4NTYyMTkgOC43OTQ1NTc0NSwxMC4xNDc0NDE1IEM4Ljk1OTQyNDIsOS41MDUzOTEwMSA5LjM4NTMyOTk5LDguNzUxNjc5NTYgMTAuMTI3MjMwNCw3LjgxNjUxOTA1IEMxMS41ODQ5MjczLDUuOTQ0ODAyMjcgMTQuNDk3NTczMywzLjE2ODYzMTc1IDE1LjkxMTMwNTgsMy4wMTM3MDIxOCBDMTYuMjk1OTk0OSwyLjk1Nzg3MTcgMTYuNTE1ODE3MiwzLjA4MzQ5MDI4IDE2LjY1MzIwNjIsMy4xOTUxNTEyMyBDMTcuMDExNzkxNCwzLjUwMjIxODg2IDE3LjM2OTAwMjcsNC4xNzM1ODAzNiAxNi4xOTk4MjI2LDYuNTg2ODUyNzcgWiBNMTAuMjY1NDQzNywxMy45OTkwNDY2IEMxMC4zNDc4NzcxLDE0LjY5NjkyNzYgMTAuMTY5MjcxNCwxNS4zODA4NTA5IDkuNzQxOTkxNzQsMTUuOTI1MTk4MSBDOS4zNzI0MTU0MywxNi40MTIzMTkgOC44NTAzMzczNywxNi43NDg2OTc3IDguMjU5NTY0ODIsMTYuODg4MjczOCBDOC4yMzIwODcwMywxNi45MDIyMzE1IDguMTkwODcwMzQsMTYuOTE2MTg5MSA4LjE2MzM5MjU1LDE2LjkxNjE4OTEgTDguMDI0NjI5NywxNi45MzAxNDY3IEM3Ljc2NDk2NDU1LDE2Ljk3MjAxOTYgNy41MTc2NjQ0MiwxNi45OTk5MzQ4IDcuMjY4OTkwNCwxNi45OTk5MzQ4IEM1LjI5MTk2MzIxLDE2Ljk5OTkzNDggMy45MDI5NjA3OSwxNS42NTg2MDc2IDMuMzU0Nzc4ODMsMTQuNzgwNjczMyBDMy4xNDczMjE0OSwxNC40MzE3MzI4IDIuODMyNzAwNzYsMTMuNzg5NjgyMyAzLjEwNzQ3ODY5LDEzLjM4NDkxMTQgQzMuMTc2MTczMTcsMTMuMjg3MjA4IDMuMzY3MTQzODMsMTMuMDc3ODQzNyAzLjc3OTMxMDcyLDEzLjE2MTU4OTQgQzUuMDg0NTA1ODgsMTMuNDQwNzQxOCA1LjU1MTYyODM1LDEyLjg1NDUyMTggNS42MzU0MzU2MiwxMi43NDI4NjA5IEM2LjUxNDcyNDk5LDExLjU4NDM3ODQgOC4xNDk2NTM2NSwxMS4zNzUwMTQxIDkuMjc0ODY5MjYsMTIuMjQwMzg2NiBDOS44MjU3OTkwMSwxMi42NzMwNzI4IDEwLjE4MTYzNjQsMTMuMzAxMTY1NiAxMC4yNjU0NDM3LDEzLjk5OTA0NjYgWiIgaWQ9IkZpbGwtNCIgZmlsbD0iIzg1NUNENiI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/gui/icon--extensions.svg" /*!*************************************************!*\ !*** ./src/components/gui/icon--extensions.svg ***! \*************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDI4IDI4IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+YWRkIGV4dGVuc2lvbjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJhZGQtZXh0ZW5zaW9uIj4KICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNC4wMDAwMDAsIDUuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTgsMTUuNTEgQzE4LDE1Ljc4NiAxNy43NzYsMTYuMDEgMTcuNSwxNi4wMSBMNy4xOTcsMTYuMDEgQzcuMDY0LDE2LjAxIDYuOTM3LDE2LjA2MiA2Ljg0NCwxNi4xNTYgTDYuMTQ2LDE2Ljg1NCBDNi4wNTMsMTYuOTQ3IDUuOTI2LDE3IDUuNzkzLDE3IEwzLjIwNywxNyBDMy4wNzQsMTcgMi45NDcsMTYuOTQ3IDIuODU0LDE2Ljg1NCBMMi4xNTYsMTYuMTU2IEMyLjA2MiwxNi4wNjIgMS45MzYsMTYuMDEgMS44MDMsMTYuMDEgTDAuNSwxNi4wMSBDMC4yMjQsMTYuMDEgMCwxNS43ODYgMCwxNS41MSBMMCwxMS41IEMwLDExLjIyNCAwLjIyNCwxMSAwLjUsMTEgTDEuNzkzLDExIEMxLjkyNiwxMSAyLjA1MywxMS4wNTMgMi4xNDYsMTEuMTQ2IEwyLjg1NCwxMS44NTQgQzIuOTQ3LDExLjk0NyAzLjA3NCwxMiAzLjIwNywxMiBMNS43OTMsMTIgQzUuOTI2LDEyIDYuMDUzLDExLjk0NyA2LjE0NiwxMS44NTQgTDYuODU0LDExLjE0NiBDNi45NDcsMTEuMDUzIDcuMDc0LDExIDcuMjA3LDExIEwxNy41LDExIEMxNy43NzYsMTEgMTgsMTEuMjI0IDE4LDExLjUgTDE4LDE1LjUxIFogTTEyLjk5NjEsOC41MSBDMTIuOTk2MSw4Ljc4NiAxMi43NzIxLDkuMDEgMTIuNDk2MSw5LjAxIEw3LjE5NzEsOS4wMSBDNy4wNjQxLDkuMDEgNi45MzcxLDkuMDYyIDYuODQ0MSw5LjE1NiBMNi4xNDYxLDkuODU0IEM2LjA1MzEsOS45NDcgNS45MjYxLDEwIDUuNzkzMSwxMCBMMy4yMDcxLDEwIEMzLjA3NDEsMTAgMi45NDcxLDkuOTQ3IDIuODUzMSw5Ljg1NCBMMi4xNTYxLDkuMTU2IEMyLjA2MjEsOS4wNjIgMS45MzUxLDkuMDEgMS44MDMxLDkuMDEgTDAuNTAwMSw5LjAxIEMwLjIyNDEsOS4wMSAwLjAwMDEsOC43ODYgMC4wMDAxLDguNTEgTDAuMDAwMSw0LjUgQzAuMDAwMSw0LjIyNCAwLjIyNDEsNCAwLjUwMDEsNCBMMS43OTMxLDQgQzEuOTI2MSw0IDIuMDUzMSw0LjA1MyAyLjE0NjEsNC4xNDYgTDIuODUzMSw0Ljg1NCBDMi45NDcxLDQuOTQ3IDMuMDc0MSw1IDMuMjA3MSw1IEw1Ljc5MzEsNSBDNS45MjYxLDUgNi4wNTMxLDQuOTQ3IDYuMTQ2MSw0Ljg1NCBMNi44NTMxLDQuMTQ2IEM2Ljk0NzEsNC4wNTMgNy4wNzQxLDQgNy4yMDcxLDQgTDEyLjQ5NjEsNCBDMTIuNzcyMSw0IDEyLjk5NjEsNC4yMjQgMTIuOTk2MSw0LjUgTDEyLjk5NjEsOC41MSBaIiBpZD0iQ29tYmluZWQtU2hhcGUiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxnIGlkPSIrIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNi4wMDAwMDAsIDAuMDAwMDAwKSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIsMCBMMiw0IiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNCwyIEwwLDIiIGlkPSJTaGFwZSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/gui/icon--sounds.svg" /*!*********************************************!*\ !*** ./src/components/gui/icon--sounds.svg ***! \*********************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ5LjIgKDUxMTYwKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5Tb3VuZHMgVjE8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iU291bmRzLVYxIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cGF0aCBkPSJNMTIuNjMwNzgwMSwxMy42MzcxNDIgQzEyLjQ4MDI4NCwxMy42MzcxNDIgMTIuMzI1NTY4NCwxMy41OTc1NDc3IDEyLjE4NDkxNzgsMTMuNTE0MTE2OSBDMTEuNzY3MTg1NiwxMy4yNjUyMzg1IDExLjYyNzk0MTYsMTIuNzIzNjQ1MiAxMS44NzU0ODY2LDEyLjMwMzY2MyBDMTIuMzQ2NjY2LDExLjUwMDQ2NDYgMTIuMzQ2NjY2LDEwLjUwNDk1MTIgMTEuODc1NDg2Niw5LjcwMzE2NjkxIEMxMS42Mjc5NDE2LDkuMjgxNzcwNTkgMTEuNzY3MTg1Niw4Ljc0MDE3NzMzIDEyLjE4NDkxNzgsOC40OTEyOTg5NiBDMTIuNjA2ODY5NSw4LjI0NTI0ODc2IDEzLjE0NDE1NDcsOC4zODM4Mjg3NiAxMy4zODg4ODY3LDguODAyMzk2OTIgQzE0LjE4NjM3NTQsMTAuMTU5OTE1MyAxNC4xODYzNzU0LDExLjg0NTUwMDYgMTMuMzg4ODg2NywxMy4yMDMwMTg5IEMxMy4yMjU3MzIsMTMuNDgzMDA3MSAxMi45MzE3NzIzLDEzLjYzNzE0MiAxMi42MzA3ODAxLDEzLjYzNzE0MiBaIE0xNS4yNTY2MzYzLDE1LjA1NTMyNDQgQzE1LjEwNjE0MDIsMTUuMDU1MzI0NCAxNC45NTAwMTgsMTUuMDE1NzMwMSAxNC44MTA3NzQsMTQuOTMyMjk5MyBDMTQuMzkzMDQxOCwxNC42ODM0MjEgMTQuMjUzNzk3NywxNC4xNDE4Mjc3IDE0LjUwMTM0MjcsMTMuNzIxODQ1NSBDMTUuNDg3MzAzMiwxMi4wNDQ3NDQ3IDE1LjQ4NzMwMzIsOS45NjAzODgzNiAxNC41MDEzNDI3LDguMjg0NzAxNjQgQzE0LjI1Mzc5NzcsNy44NjQ3MTk0IDE0LjM5MzA0MTgsNy4zMjE3MTIwNiAxNC44MTA3NzQsNy4wNzI4MzM2OSBDMTUuMjI5OTEyNiw2LjgyODE5NzU3IDE1Ljc2NzE5NzgsNi45NjUzNjM0OSAxNi4wMTQ3NDI4LDcuMzgzOTMxNjUgQzE3LjMyODQxOTEsOS42MTUzNTI0NCAxNy4zMjg0MTkxLDEyLjM4OTc4MDYgMTYuMDE0NzQyOCwxNC42MjEyMDE0IEMxNS44NTAxODE2LDE0LjkwMTE4OTUgMTUuNTU3NjI4NSwxNS4wNTUzMjQ0IDE1LjI1NjYzNjMsMTUuMDU1MzI0NCBaIE0xMC4zNzg1Mjg2LDYuNjc4NTg3NzQgTDEwLjM3ODUyODYsMTUuMzIwMDQwNSBDMTAuMzc4NTI4NiwxNi4zNDM4MzU2IDkuMTcxNzQ2NzYsMTYuODc5NzcyNSA4LjQxOTI2NjI0LDE2LjE4OTcwMDcgTDYuNzk0NzUyMjMsMTQuNjk3ODQ0NiBDNi4yMTk0OTE0MiwxNC4xNzAzOTIxIDUuNDY5ODIzOTEsMTMuODc3Njc3MyA0LjY5MDYxOTc4LDEzLjg3NzY3NzMgTDQuNDA2NTA1NjQsMTMuODc3Njc3MyBDMy42MzAxMTQ1MywxMy44Nzc2NzczIDMsMTMuMjQ1NTgyOCAzLDEyLjQ2MzU5NTYgTDMsOS41NTA1ODc1IEMzLDguNzcwMDE0NDUgMy42MzAxMTQ1Myw4LjEzNjUwNTg5IDQuNDA2NTA1NjQsOC4xMzY1MDU4OSBMNC42NzUxNDgyMiw4LjEzNjUwNTg5IEM1LjQ1NDM1MjM1LDguMTM2NTA1ODkgNi4yMDQwMTk4Niw3Ljg0Mzc5MDk5IDYuNzc5MjgwNjYsNy4zMTYzMzg1NSBMOC40MTkyNjYyNCw1LjgxMDM0MTYzIEM5LjE3MTc0Njc2LDUuMTIwMjY5OCAxMC4zNzg1Mjg2LDUuNjU2MjA2NzMgMTAuMzc4NTI4Niw2LjY3ODU4Nzc0IFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iIzg1NUNENiI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/language-selector/language-icon.svg" /*!************************************************************!*\ !*** ./src/components/language-selector/language-icon.svg ***! \************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjIgKDQ3MzI3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5MYW5ndWFnZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgPGcgaWQ9Ikxhbmd1YWdlIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS4yNSI+CiAgICAgICAgICAgIDxnIGlkPSJsYW5ndWFnZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi4wMDAwMDAsIDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTUuNjM1Miw4LjExMjk0MTE4IEMxNS42MzUyLDEyLjI2ODIzNTMgMTIuMjY2NzI5NCwxNS42MzU3NjQ3IDguMTEyMzc2NDcsMTUuNjM1NzY0NyBDMy45NTcwODIzNSwxNS42MzU3NjQ3IDAuNTg4NjExNzY1LDEyLjI2ODIzNTMgMC41ODg2MTE3NjUsOC4xMTI5NDExOCBDMC41ODg2MTE3NjUsMy45NTc2NDcwNiAzLjk1NzA4MjM1LDAuNTg5MTc2NDcxIDguMTEyMzc2NDcsMC41ODkxNzY0NzEgQzEyLjI2NjcyOTQsMC41ODkxNzY0NzEgMTUuNjM1MiwzLjk1NzY0NzA2IDE1LjYzNTIsOC4xMTI5NDExOCBaIiBpZD0iU3Ryb2tlLTEiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS45ODA4LDguMTE2NjExNzYgQzExLjk4MDgsOS43NDk1NTI5NCAxMS43MTUzODgyLDExLjI2MDE0MTIgMTEuMjU0MjExOCwxMi40OTIxNDEyIEMxMC41NTU4NTg4LDE0LjM5MzMxNzYgOS40MDc2MjM1MywxNS42MzQ3Mjk0IDguMTEwNjgyMzUsMTUuNjM0NzI5NCBDNi44MTM3NDExOCwxNS42MzQ3Mjk0IDUuNjY5MjcwNTksMTQuMzkzMzE3NiA0Ljk2NzE1Mjk0LDEyLjQ5MjE0MTIgQzQuNTEwNjgyMzUsMTEuMjYwMTQxMiA0LjI0NDMyOTQxLDkuNzQ5NTUyOTQgNC4yNDQzMjk0MSw4LjExNjYxMTc2IEM0LjI0NDMyOTQxLDYuNDgyNzI5NDEgNC41MTA2ODIzNSw0Ljk3MzA4MjM1IDQuOTY3MTUyOTQsMy43NDEwODIzNSBDNS42NjkyNzA1OSwxLjgyOTU1Mjk0IDYuODEzNzQxMTgsMC41ODgxNDExNzYgOC4xMTA2ODIzNSwwLjU4ODE0MTE3NiBDOS40MDc2MjM1MywwLjU4ODE0MTE3NiAxMC41NTU4NTg4LDEuODI5NTUyOTQgMTEuMjU0MjExOCwzLjc0MTA4MjM1IEMxMS43MTUzODgyLDQuOTczMDgyMzUgMTEuOTgwOCw2LjQ4MjcyOTQxIDExLjk4MDgsOC4xMTY2MTE3NiBaIiBpZD0iU3Ryb2tlLTMiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLjk1NTAxMTc2NSwxMC4yODExMjk0IEwxNS4yNjg0MjM1LDEwLjI4MTEyOTQiIGlkPSJTdHJva2UtNSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTAuOTU1MDExNzY1LDUuOTQ2NjM1MjkgTDE1LjI2ODQyMzUsNS45NDY2MzUyOSIgaWQ9IlN0cm9rZS03Ij48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOC4xMTIxODgyNCwwLjU5MDAyMzUyOSBMOC4xMTIxODgyNCwxNS42Mzc1NTI5IiBpZD0iU3Ryb2tlLTkiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/library-item/bluetooth.svg" /*!***************************************************!*\ !*** ./src/components/library-item/bluetooth.svg ***! \***************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5FeHRlbnNpb25zL0Nvbm5lY3Rpb24vQmx1ZXRvb3RoPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggZD0iTTEwLjAwNjc5MjksMTIuMTA2NzUwNSBMMTIuMzk1NzM4NywxNC4wMDE2NjA4IEwxMC4wMDY3OTI5LDE1LjkxNzg5NTkgTDEwLjAwNjc5MjksMTIuMTA2NzUwNSBaIE0xMC4wMDY3OTI5LDQuMDg5Mjg0MTMgTDEyLjM4NTQzNDQsNS45OTQ1MjM2MiBMMTAuMDA2NzkyOSw3Ljg3OTEwNDY5IEwxMC4wMDY3OTI5LDQuMDg5Mjg0MTMgWiBNOC44ODQ5NDg5NiwxLjAwNjg0Nzg3IEM4LjM4MzM2MDA4LDEuMDcwMTU1OTMgOC4wMDg0MTQ5MiwxLjQ5OTk4NDM2IDguMDEyNDAzNjksMi4wMDY3ODIwNiBMOC4wMTI0MDM2OSw3Ljk2MjQwNDc3IEw2LjY0MTI2MTEzLDYuODc5NTAzNyBDNi40MzE4NTAyNiw2LjcwNzkwNTUzIDYuMTYxOTQyOTIsNi42MjkyNzAyNSA1Ljg5MzM2NTE4LDYuNjYwOTI0MjggQzUuMzQ1NTcyOTUsNi43MTg1Njc5NCA0Ljk0ODAyNDcsNy4yMTAwMzg0MyA1LjAwNTUyOTU5LDcuNzU5MTUyNTcgQzUuMDM0MTE1ODQsOC4wMzQwNDI4NCA1LjE3NTA1MjY3LDguMjg0OTQyNjkgNS4zOTQ3Njc4OCw4LjQ1MTg3NjA2IEw3LjM0NzYwNzMsOS45OTI5Mjc1OSBMNS4zOTQ3Njc4OCwxMS41NDQzMDgzIEM0Ljk2MTY1MzAzLDExLjg4OTUwMzkgNC44ODk1MjI2MiwxMi41MjEyNTE3IDUuMjMzODg3MTUsMTIuOTU1MDc4NSBDNS41Nzc5MTkyOSwxMy4zODk1NzE4IDYuMjA4MTQ2MjcsMTMuNDYxNTQzIDYuNjQxMjYxMTMsMTMuMTE2NjgwNyBMOC4wMTI0MDM2OSwxMi4wMjM0NTA0IEw4LjAxMjQwMzY5LDE4LjAwMDA2NDcgQzguMDEyNDAzNjksMTguNTUyMTc3NyA4LjQ1ODQ4MjA4LDE4Ljk5OTk5ODkgOS4wMDkyNjU4OSwxOC45OTk5OTg5IEM5LjIzNTk2MTQ2LDE5LjAwMDMzMjEgOS40NTYwMDkwNywxOC45MjMwMjk3IDkuNjMyODQ0OTEsMTguNzgxMDg2MyBMMTQuNjE4ODE3OSwxNC43ODI2ODIzIEMxNS4wNTE5MzI3LDE0LjQ0MTgxODQgMTUuMTI3MDU0NywxMy44MTMwNjk0IDE0Ljc4NzAxMTQsMTMuMzc4OTA5MyBDMTQuNzM3ODE2NCwxMy4zMTYyNjc3IDE0LjY4MTMwODcsMTMuMjU5NjIzNiAxNC42MTg4MTc5LDEzLjIxMDMxIEwxMC41Njc1NDg2LDEwLjAwMzI1NjggTDE0LjYxODgxNzksNi43ODU4NzQ0MSBDMTUuMDQ4OTQxMiw2LjQ0MTM0NTI2IDE1LjExOTA3NzIsNS44MTE5Mjk4NCAxNC43NzUzNzc0LDUuMzgwNzY4NjEgQzE0LjcyOTE3NDEsNS4zMjI3OTE3NSAxNC42NzY2NTUyLDUuMjcwMTQ2MSAxNC42MTg4MTc5LDUuMjIzODMxMjYgTDkuNjMyODQ0OTEsMS4yMjU0MjcyOSBDOS40MjM0MzQwNSwxLjA1NDE2MjMyIDkuMTUzNTI2NzEsMC45NzUxOTM4MzggOC44ODQ5NDg5NiwxLjAwNjg0Nzg3IFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJFeHRlbnNpb25zL0Nvbm5lY3Rpb24vQmx1ZXRvb3RoIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgPC9tYXNrPgogICAgICAgIDx1c2UgaWQ9ImJsdWV0b290aCIgZmlsbD0iIzREOTdGRiIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgPGcgaWQ9IkNvbG9yLzFfQmx1ZSIgbWFzaz0idXJsKCNtYXNrLTIpIiBmaWxsPSIjNTc1RTc1Ij4KICAgICAgICAgICAgPGcgaWQ9IkNvbG9yL0dyYXkiPgogICAgICAgICAgICAgICAgPGcgaWQ9IkNvbG9yIj4KICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/library-item/internet-connection.svg" /*!*************************************************************!*\ !*** ./src/components/library-item/internet-connection.svg ***! \*************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5FeHRlbnNpb25zL0Nvbm5lY3Rpb24vV2lmaTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0xNC4yNTg4NzQ5LDkuODIzMjE0MzMgQzE0LjcyOTA5NjQsMTAuMjYyNDIxMiAxNC43NDkxMDU5LDEwLjk4Mzc2MTEgMTQuMzE4OTAzMiwxMS40NTM5ODI2IEMxNC4wOTk4LDExLjY5NDA5NTcgMTMuNzg4NjUzNCwxMS44MjQxNTcgMTMuNDc4NTA3MywxMS44MjQxNTcgQzEzLjE5ODM3NTMsMTEuODI0MTU3IDEyLjkxODI0MzQsMTEuNzE0MTA1MSAxMi42OTgxMzk3LDExLjUxMzAxMDQgQzExLjIyNzQ0NjksMTAuMTQzMzY1MiA4Ljc3NzI5MjYyLDEwLjEyMzM1NTcgNy4yODU1ODk5LDExLjQ1Mzk4MjYgQzYuODA1MzYzNjcsMTEuODc0MTgwNSA2LjA4NTAyNDMzLDExLjgzNDE2MTcgNS42NTQ4MjE2NiwxMS4zNTM5MzU0IEM1LjIzNDYyMzcxLDEwLjg4MzcxMzkgNS4yNzU2NDMwNCwxMC4xNTMzNjk5IDUuNzU0ODY4OCw5LjczMzE3MTkyIEM2LjkxNTQxNTUxLDguNzAyNjg2NDcgOC40MDYxMTc3Nyw4LjEzMjQxNzgyIDkuOTU2ODQ4Myw4LjEzMjQxNzgyIEMxMS41NTc2MDI0LDguMTMyNDE3ODIgMTMuMDg4MzIzNSw4LjczMjcwMDYxIDE0LjI1ODg3NDksOS44MjMyMTQzMyBaIE0xMi4wMzgwMjg3LDE0LjQxNTE3NzYgQzEyLjAzODAyODcsMTUuNDc2Njc3NiAxMS4xNjc2MTg3LDE2LjM0NjA4NzIgMTAuMTA3MTE5MSwxNi4zNDYwODcyIEM5LjAzNjYxNDc5LDE2LjM0NjA4NzIgOC4xNjYyMDQ3NSwxNS40NzY2Nzc2IDguMTY2MjA0NzUsMTQuNDE1MTc3NiBDOC4xNjYyMDQ3NSwxMy4zNDQ2NzMzIDkuMDM2NjE0NzksMTIuNDc1MjYzNyAxMC4xMDcxMTkxLDEyLjQ3NTI2MzcgQzExLjE2NzYxODcsMTIuNDc1MjYzNyAxMi4wMzgwMjg3LDEzLjM0NDY3MzMgMTIuMDM4MDI4NywxNC40MTUxNzc2IFogTTE3LjY1MDA3MjUsNi4xMTE0NjU3NyBDMTguMTAxMjg1LDYuNTUwNjcyNjggMTguMTIxMjk0NSw3LjI3MjAxMjQ5IDE3LjY4MDA4NjYsNy43MzIyMjkzIEMxNy40NTA5Nzg3LDcuOTcyMzQyNDEgMTcuMTQ5ODM2OCw4LjA4MjM5NDI2IDE2Ljg1MDY5NTksOC4wODIzOTQyNiBDMTYuNTU5NTU4OCw4LjA4MjM5NDI2IDE2LjI3MDQyMjUsNy45ODIzNDcxMiAxNi4wNDkzMTg0LDcuNzYxMjQyOTYgQzE0LjQwOTU0NTksNi4xODE0OTg3NyAxMi4yMzg1MjMyLDUuMzAwMDgzNTQgOS45NTc0NDg1OCw1LjMwMDA4MzU0IEM3LjcwNjM4ODEzLDUuMzAwMDgzNTQgNS41NzUzODQyNCw2LjE1MTQ4NDYzIDMuOTM0NjExMjksNy42OTIyMTA0NCBDMy40NzMzOTQwMiw4LjEyMjQxMzExIDIuNzQ0MDUwNDMsOC4xMDI0MDM2OCAyLjMxMjg0NzMsNy42NDIxODY4OCBDMS44NzI2Mzk5Miw3LjE4MTk3MDA4IDEuOTAzNjU0NTMsNi40NTE2MjYwMiAyLjM2Mzg3MTM0LDYuMDEwNDE4MTcgQzQuNDIzODQxNzYsNC4wNzA1MDQzIDcuMTI1MTE0MywzIDkuOTU3NDQ4NTgsMyBDMTIuODM3ODA1NSwzIDE1LjU2OTA5MjIsNC4xMTA1MjMxNSAxNy42NTAwNzI1LDYuMTExNDY1NzcgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IkV4dGVuc2lvbnMvQ29ubmVjdGlvbi9XaWZpIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgPC9tYXNrPgogICAgICAgIDx1c2UgaWQ9IndpZmkiIGZpbGw9IiM0Qzk3RkYiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgIDxnIGlkPSJDb2xvci8xX0JsdWUiIG1hc2s9InVybCgjbWFzay0yKSIgZmlsbD0iIzU3NUU3NSI+CiAgICAgICAgICAgIDxnIGlkPSJDb2xvci9HcmF5Ij4KICAgICAgICAgICAgICAgIDxnIGlkPSJDb2xvciI+CiAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/library-item/lib-icon--sound-rtl.svg" /*!*************************************************************!*\ !*** ./src/components/library-item/lib-icon--sound-rtl.svg ***! \*************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA1Ni4yICg4MTY3MikgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+U291bmQvR2VuZXJhbC9MaWJyYXJ5IFRpbGUgSWNvbi9SVEw8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iU291bmQvR2VuZXJhbC9MaWJyYXJ5LVRpbGUtSWNvbi9SVEwiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik00MC43OTQxMjEzLDYwLjMzMzMzMzQgQzM5LjU3NTc1MzEsNjAuMzMzMzMzNCAzOC4zODU4NTEyLDU5Ljc2Mjc0MTIgMzcuNzI1NDI3NCw1OC43MjYyNTIzIEMzNC40OTczMjEzLDUzLjcwMDg1MiAzNC40OTczMjEzLDQ3LjQ2MDk4MDIgMzcuNzI1NDI3NCw0Mi40MzU1OCBDMzguNzE2MDYzNCw0MC44ODYwODE2IDQwLjg5MDkwNzQsNDAuMzczMDcyIDQyLjU5ODkwMDEsNDEuMjgzOTI1OCBDNDQuMjg5ODEzMSw0Mi4yMDUyNDkxIDQ0Ljg1MzQ1MDcsNDQuMjEwMTc0NCA0My44NTE0MjgyLDQ1Ljc3MDE0MjQgQzQxLjk0NDE2OTYsNDguNzM4MjY5NCA0MS45NDQxNjk2LDUyLjQyMzU2MyA0My44NTE0MjgyLDU1LjM5NjkyNDUgQzQ0Ljg1MzQ1MDcsNTYuOTUxNjU4IDQ0LjI4OTgxMzEsNTguOTU2NTgzIDQyLjU5ODkwMDEsNTkuODc3OTA2NCBDNDIuMDI5NTY5Miw2MC4xODY3NTkzIDQxLjQwMzMwNTMsNjAuMzMzMzMzNCA0MC43OTQxMjEzLDYwLjMzMzMzMzQgWiBNMzAuMDE0NjIzLDY0LjY2NjY2NjYgQzI4Ljk3NjE5NjcsNjQuNjY2NjY2NiAyNy45NjY4ODUzLDY0LjEzMDkyMDMgMjcuMzk5MTQ3OCw2My4xNTc3MjkxIEMyMi44NjY5NTA3LDU1LjQwMTY5MSAyMi44NjY5NTA3LDQ1Ljc1ODI1MjEgMjcuMzk5MTQ3OCwzOC4wMDIyMTQgQzI4LjI1MzE4MDYsMzYuNTQ3MzQyNSAzMC4xMDY4MTk3LDM2LjA3MDU3NzIgMzEuNTUyODUyOCwzNi45MjA4OTA2IEMzMi45OTQwMzMyLDM3Ljc4NTk0OTMgMzMuNDc0NDI2NywzOS42NzMzNTAyIDMyLjYyMDM5MzksNDEuMTMzMTM2OCBDMjkuMjE4ODE5OCw0Ni45NTc1MzggMjkuMjE4ODE5OCw1NC4yMDI0MDUgMzIuNjIwMzkzOSw2MC4wMzE3MjEzIEMzMy40NzQ0MjY3LDYxLjQ5MTUwOCAzMi45OTQwMzMyLDYzLjM3Mzk5MzggMzEuNTUyODUyOCw2NC4yMzkwNTI0IEMzMS4wNzI0NTk0LDY0LjUyOTA0MzggMzAuNTMzODM2Myw2NC42NjY2NjY2IDMwLjAxNDYyMyw2NC42NjY2NjY2IFogTTQ4Ljg2OTU2NTMsMzQuMTc4NjI5MyBDNDguODY5NTY1MywzMC41NTM4MjM5IDUzLjMwNjgzNDEsMjguNjUzNjgzOCA1Ni4wNzM2NjI3LDMxLjEwMDMwMjEgTDYyLjEwMzc5NzUsMzYuNDM5NzQ1OCBDNjQuMjE4OTk5MSwzOC4zMDk4MDQ0IDY2Ljk3NTQ4NDQsMzkuMzQ3NjExOCA2OS44NDA1NzQyLDM5LjM0NzYxMTggTDcwLjgyODM1NzgsMzkuMzQ3NjExOCBDNzMuNjgzMTA0MywzOS4zNDc2MTE4IDc2LDQxLjU5MzY4NzYgNzYsNDQuMzYxMTczOSBMNzYsNTQuNjg5MTEyIEM3Niw1Ny40NjE2MTE2IDczLjY4MzEwNDMsNTkuNzAyNjczOCA3MC44MjgzNTc4LDU5LjcwMjY3MzggTDY5Ljc4MzY4NjEsNTkuNzAyNjczOCBDNjYuOTE4NTk2Myw1OS43MDI2NzM4IDY0LjE2MjExMTEsNjAuNzQwNDgxMyA2Mi4wNDY5MDk0LDYyLjYxMDUzOTggTDU2LjA3MzY2MjcsNjcuODk5ODQ4IEM1My4zMDY4MzQxLDcwLjM0NjQ2NjIgNDguODY5NTY1Myw2OC40NDYzMjY0IDQ4Ljg2OTU2NTMsNjQuODE2NTA3MiBMNDguODY5NTY1MywzNC4xNzg2MjkzIFoiIGlkPSJTaGFwZSIgZmlsbD0iIzU3NUU3NSIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/library-item/lib-icon--sound.svg" /*!*********************************************************!*\ !*** ./src/components/library-item/lib-icon--sound.svg ***! \*********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA1Ni4yICg4MTY3MikgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+U291bmQvR2VuZXJhbC9MaWJyYXJ5IFRpbGUgSWNvbi9MVFI8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iU291bmQvR2VuZXJhbC9MaWJyYXJ5LVRpbGUtSWNvbi9MVFIiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik01OS4yMDU4Nzg3LDYwLjMzMzMzMzQgQzU4LjU5NjY5NDcsNjAuMzMzMzMzNCA1Ny45NzA0MzA4LDYwLjE4Njc1OTMgNTcuNDAxMDk5OSw1OS44Nzc5MDY0IEM1NS43MTAxODY5LDU4Ljk1NjU4MyA1NS4xNDY1NDkzLDU2Ljk1MTY1OCA1Ni4xNDg1NzE4LDU1LjM5NjkyNDUgQzU4LjA1NTgzMDQsNTIuNDIzNTYzIDU4LjA1NTgzMDQsNDguNzM4MjY5NCA1Ni4xNDg1NzE4LDQ1Ljc3MDE0MjQgQzU1LjE0NjU0OTMsNDQuMjEwMTc0NCA1NS43MTAxODY5LDQyLjIwNTI0OTEgNTcuNDAxMDk5OSw0MS4yODM5MjU4IEM1OS4xMDkwOTI2LDQwLjM3MzA3MiA2MS4yODM5MzY2LDQwLjg4NjA4MTYgNjIuMjc0NTcyNiw0Mi40MzU1OCBDNjUuNTAyNjc4Nyw0Ny40NjA5ODAyIDY1LjUwMjY3ODcsNTMuNzAwODUyIDYyLjI3NDU3MjYsNTguNzI2MjUyMyBDNjEuNjE0MTQ4OCw1OS43NjI3NDEyIDYwLjQyNDI0NjksNjAuMzMzMzMzNCA1OS4yMDU4Nzg3LDYwLjMzMzMzMzQgWiBNNjkuOTg1Mzc3LDY0LjY2NjY2NjYgQzY5LjQ2NjE2MzcsNjQuNjY2NjY2NiA2OC45Mjc1NDA2LDY0LjUyOTA0MzggNjguNDQ3MTQ3Miw2NC4yMzkwNTI0IEM2Ny4wMDU5NjY4LDYzLjM3Mzk5MzggNjYuNTI1NTczMyw2MS40OTE1MDggNjcuMzc5NjA2MSw2MC4wMzE3MjEzIEM3MC43ODExODAyLDU0LjIwMjQwNSA3MC43ODExODAyLDQ2Ljk1NzUzOCA2Ny4zNzk2MDYxLDQxLjEzMzEzNjggQzY2LjUyNTU3MzMsMzkuNjczMzUwMiA2Ny4wMDU5NjY4LDM3Ljc4NTk0OTMgNjguNDQ3MTQ3MiwzNi45MjA4OTA2IEM2OS44OTMxODAzLDM2LjA3MDU3NzIgNzEuNzQ2ODE5NCwzNi41NDczNDI1IDcyLjYwMDg1MjIsMzguMDAyMjE0IEM3Ny4xMzMwNDkzLDQ1Ljc1ODI1MjEgNzcuMTMzMDQ5Myw1NS40MDE2OTEgNzIuNjAwODUyMiw2My4xNTc3MjkxIEM3Mi4wMzMxMTQ3LDY0LjEzMDkyMDMgNzEuMDIzODAzMyw2NC42NjY2NjY2IDY5Ljk4NTM3Nyw2NC42NjY2NjY2IFogTTUxLjEzMDQzNDcsMzQuMTc4NjI5MyBMNTEuMTMwNDM0Nyw2NC44MTY1MDcyIEM1MS4xMzA0MzQ3LDY4LjQ0NjMyNjQgNDYuNjkzMTY1OSw3MC4zNDY0NjYyIDQzLjkyNjMzNzMsNjcuODk5ODQ4IEwzNy45NTMwOTA2LDYyLjYxMDUzOTggQzM1LjgzNzg4ODksNjAuNzQwNDgxMyAzMy4wODE0MDM3LDU5LjcwMjY3MzggMzAuMjE2MzEzOSw1OS43MDI2NzM4IEwyOS4xNzE2NDIyLDU5LjcwMjY3MzggQzI2LjMxNjg5NTcsNTkuNzAyNjczOCAyNCw1Ny40NjE2MTE2IDI0LDU0LjY4OTExMiBMMjQsNDQuMzYxMTczOSBDMjQsNDEuNTkzNjg3NiAyNi4zMTY4OTU3LDM5LjM0NzYxMTggMjkuMTcxNjQyMiwzOS4zNDc2MTE4IEwzMC4xNTk0MjU4LDM5LjM0NzYxMTggQzMzLjAyNDUxNTYsMzkuMzQ3NjExOCAzNS43ODEwMDA5LDM4LjMwOTgwNDQgMzcuODk2MjAyNSwzNi40Mzk3NDU4IEw0My45MjYzMzczLDMxLjEwMDMwMjEgQzQ2LjY5MzE2NTksMjguNjUzNjgzOCA1MS4xMzA0MzQ3LDMwLjU1MzgyMzkgNTEuMTMwNDM0NywzNC4xNzg2MjkzIFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iIzU3NUU3NSIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/loader/bottom-block.svg" /*!************************************************!*\ !*** ./src/components/loader/bottom-block.svg ***! \************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9Ijg1cHgiIGhlaWdodD0iMzVweCIgdmlld0JveD0iMCAwIDg1IDM1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4xICg0NzI1MCkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+Ym90dG9tLWJsb2NrPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggZD0iTTAsNjYuNDYwNjM0NiBDMCw2NS4xMDE2MjcyIDEuMSw2NCAyLjQ1Nyw2NCBMOC44MSw2NCBDOS40NjIsNjQgMTAuMDg3LDY0LjI1OTM4MzEgMTAuNTQ4LDY0LjcyMTA2NTEgTDE0LjAyMiw2OC4yMDAyMDQxIEMxNC40ODMsNjguNjYxODg2MSAxNS4xMDgsNjguOTIxMjY5MiAxNS43Niw2OC45MjEyNjkyIEwyMy41NTIsNjguOTIxMjY5MiBDMjQuMjA0LDY4LjkyMTI2OTIgMjQuODI5LDY4LjY2MTg4NjEgMjUuMjksNjguMjAwMjA0MSBMMjguNzY0LDY0LjcyMTA2NTEgQzI5LjIyNSw2NC4yNTkzODMxIDI5Ljg1LDY0IDMwLjUwMiw2NCBMODIuMzY0LDY0IEM4My43MjEsNjQgODQuODIxLDY1LjEwMTYyNzIgODQuODIxLDY2LjQ2MDYzNDYgTDg0LjgyMSw5MS4wNjY5ODA4IEM4NC44MjEsOTIuNDI1OTg4MiA4My43MjEsOTMuNTI3NjE1NCA4Mi4zNjQsOTMuNTI3NjE1NCBMMzAuNTAyLDkzLjUyNzYxNTQgQzI5Ljg1LDkzLjUyNzYxNTQgMjkuMjI1LDkzLjc4Njk5ODUgMjguNzY0LDk0LjI0ODY4MDUgTDI1LjI5LDk3LjcyNzgxOTUgQzI0LjgyOSw5OC4xODk1MDE1IDI0LjIwNCw5OC40NDg4ODQ2IDIzLjU1Miw5OC40NDg4ODQ2IEwxNS43Niw5OC40NDg4ODQ2IEMxNS4xMDgsOTguNDQ4ODg0NiAxNC40ODMsOTguMTg5NTAxNSAxNC4wMjIsOTcuNzI3ODE5NSBMMTAuNTQ4LDk0LjI0ODY4MDUgQzEwLjA4Nyw5My43ODY5OTg1IDkuNDYyLDkzLjUyNzYxNTQgOC44MSw5My41Mjc2MTU0IEwyLjQ1Nyw5My41Mjc2MTU0IEMxLjEsOTMuNTI3NjE1NCAwLDkyLjQyNTk4ODIgMCw5MS4wNjY5ODA4IEwwLDY2LjQ2MDYzNDYgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IkxvYWRpbmctU3RhdGUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01ODkuMDAwMDAwLCAtMjU2LjAwMDAwMCkiPgogICAgICAgIDxnIGlkPSJBbmltYXRpb24iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU4OS4wMDAwMDAsIDE5Mi4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9ImJvdHRvbS1ibG9jayI+CiAgICAgICAgICAgICAgICA8dXNlIGZpbGwtb3BhY2l0eT0iMC4yIiBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLW9wYWNpdHk9IjAuMSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEiIGQ9Ik0wLjUsNjYuNDYwNjM0NiBMMC41LDkxLjA2Njk4MDggQzAuNSw5Mi4xNTAwMTExIDEuMzc2MzA3OTYsOTMuMDI3NjE1NCAyLjQ1Nyw5My4wMjc2MTU0IEw4LjgxLDkzLjAyNzYxNTQgQzkuNTk0NzA1MjcsOTMuMDI3NjE1NCAxMC4zNDcwMDMyLDkzLjMzOTc1NjQgMTAuOTAxODE0Niw5My44OTUzODg1IEwxNC4zNzU4MTQ2LDk3LjM3NDUyNzUgQzE0Ljc0MzEwNTgsOTcuNzQyMzYyMSAxNS4yNDA4NTAzLDk3Ljk0ODg4NDYgMTUuNzYsOTcuOTQ4ODg0NiBMMjMuNTUyLDk3Ljk0ODg4NDYgQzI0LjA3MTE0OTcsOTcuOTQ4ODg0NiAyNC41Njg4OTQyLDk3Ljc0MjM2MjEgMjQuOTM2MTg1NCw5Ny4zNzQ1Mjc1IEwyOC40MTAxODU0LDkzLjg5NTM4ODUgQzI4Ljk2NDk5NjgsOTMuMzM5NzU2NCAyOS43MTcyOTQ3LDkzLjAyNzYxNTQgMzAuNTAyLDkzLjAyNzYxNTQgTDgyLjM2NCw5My4wMjc2MTU0IEM4My40NDQ2OTIsOTMuMDI3NjE1NCA4NC4zMjEsOTIuMTUwMDExMSA4NC4zMjEsOTEuMDY2OTgwOCBMODQuMzIxLDY2LjQ2MDYzNDYgQzg0LjMyMSw2NS4zNzc2MDQzIDgzLjQ0NDY5Miw2NC41IDgyLjM2NCw2NC41IEwzMC41MDIsNjQuNSBDMjkuOTgyODUwMyw2NC41IDI5LjQ4NTEwNTgsNjQuNzA2NTIyNSAyOS4xMTc4MTQ2LDY1LjA3NDM1NzEgTDI1LjY0MzgxNDYsNjguNTUzNDk2MSBDMjUuMDg5MDAzMiw2OS4xMDkxMjgyIDI0LjMzNjcwNTMsNjkuNDIxMjY5MiAyMy41NTIsNjkuNDIxMjY5MiBMMTUuNzYsNjkuNDIxMjY5MiBDMTQuOTc1Mjk0Nyw2OS40MjEyNjkyIDE0LjIyMjk5NjgsNjkuMTA5MTI4MiAxMy42NjgxODU0LDY4LjU1MzQ5NjEgTDEwLjE5NDE4NTQsNjUuMDc0MzU3MSBDOS44MjY4OTQxNiw2NC43MDY1MjI1IDkuMzI5MTQ5NjksNjQuNSA4LjgxLDY0LjUgTDIuNDU3LDY0LjUgQzEuMzc2MzA3OTYsNjQuNSAwLjUsNjUuMzc3NjA0MyAwLjUsNjYuNDYwNjM0NiBaIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/loader/middle-block.svg" /*!************************************************!*\ !*** ./src/components/loader/middle-block.svg ***! \************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjY4cHgiIGhlaWdodD0iMzVweCIgdmlld0JveD0iMCAwIDY4IDM1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4xICg0NzI1MCkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+bWlkZGxlLWJsb2NrPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggZD0iTTAsMzQuNDYwNjM0NiBDMCwzMy4xMDE2MjcyIDEuMSwzMiAyLjQ1NywzMiBMOC44MSwzMiBDOS40NjIsMzIgMTAuMDg3LDMyLjI1OTM4MzEgMTAuNTQ4LDMyLjcyMTA2NTEgTDE0LjAyMiwzNi4yMDAyMDQxIEMxNC40ODMsMzYuNjYxODg2MSAxNS4xMDgsMzYuOTIxMjY5MiAxNS43NiwzNi45MjEyNjkyIEwyMy41NTIsMzYuOTIxMjY5MiBDMjQuMjA0LDM2LjkyMTI2OTIgMjQuODI5LDM2LjY2MTg4NjEgMjUuMjksMzYuMjAwMjA0MSBMMjguNzY0LDMyLjcyMTA2NTEgQzI5LjIyNSwzMi4yNTkzODMxIDI5Ljg1LDMyIDMwLjUwMiwzMiBMNjUuMzY0LDMyIEM2Ni43MjEsMzIgNjcuODIxLDMzLjEwMTYyNzIgNjcuODIxLDM0LjQ2MDYzNDYgTDY3LjgyMSw1OS4wNjY5ODA4IEM2Ny44MjEsNjAuNDI1OTg4MiA2Ni43MjEsNjEuNTI3NjE1NCA2NS4zNjQsNjEuNTI3NjE1NCBMMzAuNTAyLDYxLjUyNzYxNTQgQzI5Ljg1LDYxLjUyNzYxNTQgMjkuMjI1LDYxLjc4Njk5ODUgMjguNzY0LDYyLjI0ODY4MDUgTDI1LjI5LDY1LjcyNzgxOTUgQzI0LjgyOSw2Ni4xODk1MDE1IDI0LjIwNCw2Ni40NDg4ODQ2IDIzLjU1Miw2Ni40NDg4ODQ2IEwxNS43Niw2Ni40NDg4ODQ2IEMxNS4xMDgsNjYuNDQ4ODg0NiAxNC40ODMsNjYuMTg5NTAxNSAxNC4wMjIsNjUuNzI3ODE5NSBMMTAuNTQ4LDYyLjI0ODY4MDUgQzEwLjA4Nyw2MS43ODY5OTg1IDkuNDYyLDYxLjUyNzYxNTQgOC44MSw2MS41Mjc2MTU0IEwyLjQ1Nyw2MS41Mjc2MTU0IEMxLjEsNjEuNTI3NjE1NCAwLDYwLjQyNTk4ODIgMCw1OS4wNjY5ODA4IEwwLDM0LjQ2MDYzNDYgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IkxvYWRpbmctU3RhdGUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01ODkuMDAwMDAwLCAtMjI0LjAwMDAwMCkiPgogICAgICAgIDxnIGlkPSJBbmltYXRpb24iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU4OS4wMDAwMDAsIDE5Mi4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9Im1pZGRsZS1ibG9jayI+CiAgICAgICAgICAgICAgICA8dXNlIGZpbGwtb3BhY2l0eT0iMC4yIiBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLW9wYWNpdHk9IjAuMSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEiIGQ9Ik0wLjUsMzQuNDYwNjM0NiBMMC41LDU5LjA2Njk4MDggQzAuNSw2MC4xNTAwMTExIDEuMzc2MzA3OTYsNjEuMDI3NjE1NCAyLjQ1Nyw2MS4wMjc2MTU0IEw4LjgxLDYxLjAyNzYxNTQgQzkuNTk0NzA1MjcsNjEuMDI3NjE1NCAxMC4zNDcwMDMyLDYxLjMzOTc1NjQgMTAuOTAxODE0Niw2MS44OTUzODg1IEwxNC4zNzU4MTQ2LDY1LjM3NDUyNzUgQzE0Ljc0MzEwNTgsNjUuNzQyMzYyMSAxNS4yNDA4NTAzLDY1Ljk0ODg4NDYgMTUuNzYsNjUuOTQ4ODg0NiBMMjMuNTUyLDY1Ljk0ODg4NDYgQzI0LjA3MTE0OTcsNjUuOTQ4ODg0NiAyNC41Njg4OTQyLDY1Ljc0MjM2MjEgMjQuOTM2MTg1NCw2NS4zNzQ1Mjc1IEwyOC40MTAxODU0LDYxLjg5NTM4ODUgQzI4Ljk2NDk5NjgsNjEuMzM5NzU2NCAyOS43MTcyOTQ3LDYxLjAyNzYxNTQgMzAuNTAyLDYxLjAyNzYxNTQgTDY1LjM2NCw2MS4wMjc2MTU0IEM2Ni40NDQ2OTIsNjEuMDI3NjE1NCA2Ny4zMjEsNjAuMTUwMDExMSA2Ny4zMjEsNTkuMDY2OTgwOCBMNjcuMzIxLDM0LjQ2MDYzNDYgQzY3LjMyMSwzMy4zNzc2MDQzIDY2LjQ0NDY5MiwzMi41IDY1LjM2NCwzMi41IEwzMC41MDIsMzIuNSBDMjkuOTgyODUwMywzMi41IDI5LjQ4NTEwNTgsMzIuNzA2NTIyNSAyOS4xMTc4MTQ2LDMzLjA3NDM1NzEgTDI1LjY0MzgxNDYsMzYuNTUzNDk2MSBDMjUuMDg5MDAzMiwzNy4xMDkxMjgyIDI0LjMzNjcwNTMsMzcuNDIxMjY5MiAyMy41NTIsMzcuNDIxMjY5MiBMMTUuNzYsMzcuNDIxMjY5MiBDMTQuOTc1Mjk0NywzNy40MjEyNjkyIDE0LjIyMjk5NjgsMzcuMTA5MTI4MiAxMy42NjgxODU0LDM2LjU1MzQ5NjEgTDEwLjE5NDE4NTQsMzMuMDc0MzU3MSBDOS44MjY4OTQxNiwzMi43MDY1MjI1IDkuMzI5MTQ5NjksMzIuNSA4LjgxLDMyLjUgTDIuNDU3LDMyLjUgQzEuMzc2MzA3OTYsMzIuNSAwLjUsMzMuMzc3NjA0MyAwLjUsMzQuNDYwNjM0NiBaIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/loader/top-block.svg" /*!*********************************************!*\ !*** ./src/components/loader/top-block.svg ***! \*********************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9Ijk2cHgiIGhlaWdodD0iMzVweCIgdmlld0JveD0iMCAwIDk2IDM1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4xICg0NzI1MCkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+dG9wLWJsb2NrPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggZD0iTTAsMi40NjA2MzQ2MiBDMCwxLjEwMTYyNzIyIDEuMSwwIDIuNDU3LDAgTDguODEsMCBDOS40NjIsMCAxMC4wODcsMC4yNTkzODMxMzYgMTAuNTQ4LDAuNzIxMDY1MDg5IEwxNC4wMjIsNC4yMDAyMDQxNCBDMTQuNDgzLDQuNjYxODg2MDkgMTUuMTA4LDQuOTIxMjY5MjMgMTUuNzYsNC45MjEyNjkyMyBMMjMuNTUyLDQuOTIxMjY5MjMgQzI0LjIwNCw0LjkyMTI2OTIzIDI0LjgyOSw0LjY2MTg4NjA5IDI1LjI5LDQuMjAwMjA0MTQgTDI4Ljc2NCwwLjcyMTA2NTA4OSBDMjkuMjI1LDAuMjU5MzgzMTM2IDI5Ljg1LDAgMzAuNTAyLDAgTDkzLjM2NCwwIEM5NC43MjEsMCA5NS44MjEsMS4xMDE2MjcyMiA5NS44MjEsMi40NjA2MzQ2MiBMOTUuODIxLDI3LjA2Njk4MDggQzk1LjgyMSwyOC40MjU5ODgyIDk0LjcyMSwyOS41Mjc2MTU0IDkzLjM2NCwyOS41Mjc2MTU0IEwzMC41MDIsMjkuNTI3NjE1NCBDMjkuODUsMjkuNTI3NjE1NCAyOS4yMjUsMjkuNzg2OTk4NSAyOC43NjQsMzAuMjQ4NjgwNSBMMjUuMjksMzMuNzI3ODE5NSBDMjQuODI5LDM0LjE4OTUwMTUgMjQuMjA0LDM0LjQ0ODg4NDYgMjMuNTUyLDM0LjQ0ODg4NDYgTDE1Ljc2LDM0LjQ0ODg4NDYgQzE1LjEwOCwzNC40NDg4ODQ2IDE0LjQ4MywzNC4xODk1MDE1IDE0LjAyMiwzMy43Mjc4MTk1IEwxMC41NDgsMzAuMjQ4NjgwNSBDMTAuMDg3LDI5Ljc4Njk5ODUgOS40NjIsMjkuNTI3NjE1NCA4LjgxLDI5LjUyNzYxNTQgTDIuNDU3LDI5LjUyNzYxNTQgQzEuMSwyOS41Mjc2MTU0IDAsMjguNDI1OTg4MiAwLDI3LjA2Njk4MDggTDAsMi40NjA2MzQ2MiBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0iTG9hZGluZy1TdGF0ZSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTU4OS4wMDAwMDAsIC0xOTIuMDAwMDAwKSI+CiAgICAgICAgPGcgaWQ9IkFuaW1hdGlvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTg5LjAwMDAwMCwgMTkyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0idG9wLWJsb2NrIj4KICAgICAgICAgICAgICAgIDx1c2UgZmlsbC1vcGFjaXR5PSIwLjIiIGZpbGw9IiNGRkZGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2Utb3BhY2l0eT0iMC4xIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZD0iTTAuNSwyLjQ2MDYzNDYyIEwwLjUsMjcuMDY2OTgwOCBDMC41LDI4LjE1MDAxMTEgMS4zNzYzMDc5NiwyOS4wMjc2MTU0IDIuNDU3LDI5LjAyNzYxNTQgTDguODEsMjkuMDI3NjE1NCBDOS41OTQ3MDUyNywyOS4wMjc2MTU0IDEwLjM0NzAwMzIsMjkuMzM5NzU2NCAxMC45MDE4MTQ2LDI5Ljg5NTM4ODUgTDE0LjM3NTgxNDYsMzMuMzc0NTI3NSBDMTQuNzQzMTA1OCwzMy43NDIzNjIxIDE1LjI0MDg1MDMsMzMuOTQ4ODg0NiAxNS43NiwzMy45NDg4ODQ2IEwyMy41NTIsMzMuOTQ4ODg0NiBDMjQuMDcxMTQ5NywzMy45NDg4ODQ2IDI0LjU2ODg5NDIsMzMuNzQyMzYyMSAyNC45MzYxODU0LDMzLjM3NDUyNzUgTDI4LjQxMDE4NTQsMjkuODk1Mzg4NSBDMjguOTY0OTk2OCwyOS4zMzk3NTY0IDI5LjcxNzI5NDcsMjkuMDI3NjE1NCAzMC41MDIsMjkuMDI3NjE1NCBMOTMuMzY0LDI5LjAyNzYxNTQgQzk0LjQ0NDY5MiwyOS4wMjc2MTU0IDk1LjMyMSwyOC4xNTAwMTExIDk1LjMyMSwyNy4wNjY5ODA4IEw5NS4zMjEsMi40NjA2MzQ2MiBDOTUuMzIxLDEuMzc3NjA0MjggOTQuNDQ0NjkyLDAuNSA5My4zNjQsMC41IEwzMC41MDIsMC41IEMyOS45ODI4NTAzLDAuNSAyOS40ODUxMDU4LDAuNzA2NTIyNTA4IDI5LjExNzgxNDYsMS4wNzQzNTcwNyBMMjUuNjQzODE0Niw0LjU1MzQ5NjEzIEMyNS4wODkwMDMyLDUuMTA5MTI4MjIgMjQuMzM2NzA1Myw1LjQyMTI2OTIzIDIzLjU1Miw1LjQyMTI2OTIzIEwxNS43Niw1LjQyMTI2OTIzIEMxNC45NzUyOTQ3LDUuNDIxMjY5MjMgMTQuMjIyOTk2OCw1LjEwOTEyODIyIDEzLjY2ODE4NTQsNC41NTM0OTYxMyBMMTAuMTk0MTg1NCwxLjA3NDM1NzA3IEM5LjgyNjg5NDE2LDAuNzA2NTIyNTA4IDkuMzI5MTQ5NjksMC41IDguODEsMC41IEwyLjQ1NywwLjUgQzEuMzc2MzA3OTYsMC41IDAuNSwxLjM3NzYwNDI4IDAuNSwyLjQ2MDYzNDYyIFoiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/menu-bar/cat_logo.svg" /*!**********************************************!*\ !*** ./src/components/menu-bar/cat_logo.svg ***! \**********************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/cat_logo.82072226e8cf71628916.svg"; /***/ }, /***/ "./src/components/menu-bar/check.svg" /*!*******************************************!*\ !*** ./src/components/menu-bar/check.svg ***! \*******************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxNSAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjE3MTUgMTEuNDAzQzQuNzQ1MzMgMTEuNDAzIDQuMzE5MTYgMTEuMjM5OCAzLjk5NDUzIDEwLjkxNTJMMC43OTgyNDIgNy43MTg5MkMwLjE0NzMzMSA3LjA2ODAxIDAuMTQ3MzMxIDYuMDE1ODkgMC43OTgyNDIgNS4zNjQ5OEMxLjQ0OTE1IDQuNzE0MDcgMi41MDEyNyA0LjcxNDA3IDMuMTUyMTggNS4zNjQ5OEw1LjE3MTUgNy4zODQzMUwxMS40NjkyIDEuMDg4MjhDMTIuMTE4NCAwLjQzNzM3IDEzLjE3MjIgMC40MzczNyAxMy44MjMxIDEuMDg4MjhDMTQuNDcyNCAxLjczNzUzIDE0LjQ3MjQgMi43OTEzIDEzLjgyMzEgMy40NDIyMkw2LjM0ODQ3IDEwLjkxNTJDNi4wMjM4NCAxMS4yMzk4IDUuNTk3NjcgMTEuNDAzIDUuMTcxNSAxMS40MDNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/menu-bar/dropdown-caret.svg" /*!****************************************************!*\ !*** ./src/components/menu-bar/dropdown-caret.svg ***! \****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iOHB4IiBoZWlnaHQ9IjVweCIgdmlld0JveD0iMCAwIDggNSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNDguMiAoNDczMjcpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPmRyb3Bkb3duLWNhcmV0PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImRyb3Bkb3duLWNhcmV0IiBmaWxsPSIjRkZGRkZGIj4KICAgICAgICAgICAgPHBhdGggZD0iTTQsNSBDMy43MjUyMDcwOCw1IDMuNDUxNjMwMDYsNC44OTY5NTA0NSAzLjI0MTI3OTczLDQuNjg5NjUzMTEgTDAuMzE0NjEzNTcyLDEuODA2NjYyMjcgQy0wLjEwNDg3MTE5MSwxLjM5MzI2NTgzIC0wLjEwNDg3MTE5MSwwLjcyNDY0MjAyMyAwLjMxNDYxMzU3MiwwLjMxMDA0NzMzMSBDMC43MzI4ODI0MzgsLTAuMTAzMzQ5MTEgNy4yNjcxMTc1NiwtMC4xMDMzNDkxMSA3LjY4NTM4NjQzLDAuMzEwMDQ3MzMxIEM4LjEwNDg3MTE5LDAuNzIzNDQzNzcyIDguMTA0ODcxMTksMS4zOTMyNjU4MyA3LjY4NTM4NjQzLDEuODA2NjYyMjcgTDQuNzU5OTM2MTcsNC42ODk2NTMxMSBDNC41NDk1ODU4Myw0Ljg5Njk1MDQ1IDQuMjc2MDA4ODIsNSA0LDUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/menu-bar/icon--about.svg" /*!*************************************************!*\ !*** ./src/components/menu-bar/icon--about.svg ***! \*************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggZD0iTTEwIDJjNC40MTggMCA4IDMuNTgyIDggOHMtMy41ODIgOC04IDgtOC0zLjU4Mi04LTggMy41ODItOCA4LTh6bS0uMDcyIDEwLjQyYy0uMjU2IDAtLjQ3Mi4wNzYtLjY0OC4yMjctLjE3Ni4xNTEtLjI2NC4zMzgtLjI2NC41NiAwIC4yNS4wOTEuNDQ1LjI3My41ODQuMTgyLjEzOS4zOTUuMjA5LjYzOS4yMDkuMjM2IDAgLjQ0NC0uMDcuNjI0LS4yMTFzLjI3LS4zMzUuMjctLjU4MWMwLS4yMjItLjA4Ni0uNDA5LS4yNTgtLjU2LS4xNzItLjE1MS0uMzg0LS4yMjctLjYzNi0uMjI3em0uMTQ0LTYuNDJjLS42MjQgMC0xLjE3LjExMy0xLjYzOC4zMzgtLjQ2OC4yMjUtLjgyNC41MS0xLjA2OC44NTMtLjI0NC4zNDMtLjM2Ni42ODMtLjM2NiAxLjAxNyAwIC4xNjIuMDc3LjMxMy4yMzEuNDUyLjE1NC4xMzkuMzQzLjIwOS41NjcuMjA5LjM4IDAgLjYzOC0uMTk5Ljc3NC0uNTk3LjE0NC0uMzguMzItLjY2OC41MjgtLjg2NC4yMDgtLjE5Ni41MzItLjI5My45NzItLjI5My4zNzYgMCAuNjgzLjA5Ny45MjEuMjkxLjIzOC4xOTQuMzU3LjQzMi4zNTcuNzEzIDAgLjE0NC0uMDM5LjI3OC0uMTE3LjQwMi0uMDc4LjEyMy0uMTc0LjIzNS0uMjg4LjMzNi0uMTE0LjEtLjI5OS4yNDktLjU1NS40NDYtLjI5Mi4yMjUtLjUyNC40Mi0uNjk2LjU4NC0uMTcyLjE2NC0uMzEuMzU0LS40MTQuNTcxLS4xMDQuMjE3LS4xNTYuNDczLS4xNTYuNzY5IDAgLjIzNi4wNzEuNDE0LjIxMy41MzQuMTQyLjEyLjMxNy4xOC41MjUuMTguNCAwIC42MzgtLjE4My43MTQtLjU1bC4wOTktLjM2Mi4wOTMtLjIwNi4xODMtLjIyNy4zMjctLjI4OGMuNDkyLS4zODcuODMzLS42NjMgMS4wMjMtLjgyNy4xOS0uMTY0LjM1NC0uMzU4LjQ5Mi0uNTg0LjEzOC0uMjI1LjIwNy0uNDg4LjIwNy0uNzg3IDAtLjM4LS4xMjEtLjczMy0uMzYzLTEuMDU3LS4yNDItLjMyNC0uNTg1LS41OC0xLjAyOS0uNzY5LS40NDQtLjE4OC0uOTU2LS4yODMtMS41MzYtLjI4M3oiIGlkPSJhIi8+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yIC0yKSIgZmlsbD0ibm9uZSI+PG1hc2s+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48dXNlIGZpbGw9IiNmZmYiIHhsaW5rOmhyZWY9IiNhIi8+PC9nPjwvc3ZnPg=="; /***/ }, /***/ "./src/components/menu-bar/icon--edit.svg" /*!************************************************!*\ !*** ./src/components/menu-bar/icon--edit.svg ***! \************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMSAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05LjY0NDY5IDE0LjUwN0M5LjU1ODYxIDE0LjU5MzEgOS40NjE0NSAxNC42NDg0IDkuMzQ1MjUgMTQuNzAwOEw3LjM3ODczIDE1LjUyNjZDNy4zMDcyOCAxNS4yODMgNy4xMzAzNCAxNC45NzM0IDYuODAzMjkgMTQuNjQ2M0M2LjQ4NzIxIDE0LjMzMDIgNi4xODg1MyAxNC4xNjQzIDUuOTUzNzggMTQuMDgxOUw2Ljc2OTc1IDEyLjEyNTNDNi44MTIxNyAxMS45OTkxIDYuODg4MjggMTEuOTAzMSA2Ljk3MzQ3IDExLjgxNzlDNi45OTMzIDExLjgxOCA3LjAxMjEzIDExLjc5OTIgNy4wMjIgMTEuNzg5M0w3LjA0OTc5IDExLjc2MTVDNy4xODI1MSAxMS42Mjg4IDcuMzY4OTYgMTEuNTQ4IDcuNTg3NDMgMTEuNTE5QzguMTQyNzggMTEuNDUwMiA4Ljc4NjU2IDExLjcxMzggOS4yNzIxNSAxMi4xOTk0QzkuNzU3NzMgMTIuNjg1IDEwLjAyMTMgMTMuMzI4OCA5Ljk0MTU4IDEzLjg3MzFDOS45MDk1NSAxNC4wNTI3IDkuODUwNDEgMTQuMjM3NSA5Ljc1NzU3IDE0LjM3NDJDOS43Mjk4OCAxNC40MjE5IDkuNjkyMjIgMTQuNDU5NSA5LjY1MzY2IDE0LjQ5ODFMOS42NDQ2OSAxNC41MDdaTTEyLjg2ODYgNS45NDI3NEMxMy4xNzUyIDUuNjM2MDYgMTMuNjQ1OCA1LjU3MDM2IDE0LjEyNzQgNS43MTQ4NkMxNC40MDY2IDUuNzk4NTkgMTQuNTIzMiA2LjE0NDcgMTQuMzMyMiA2LjMzNTdMOS43NTE3OSAxMC45MTYxQzkuNjQyMzkgMTEuMDI1NSA5LjQ2NDg4IDExLjA0MzUgOS4zMjEyMiAxMC45NTE4QzkuMTcyNzcgMTAuODU5IDkuMDE5MzQgMTAuNzc5MSA4Ljg2NDczIDEwLjcxMjNDOC42MTI1MiAxMC42MDM2IDguNTI0ODkgMTAuMjg2NCA4LjcwMTU0IDEwLjEwOThMMTIuODY4NiA1Ljk0Mjc0Wk0xNS41Mjg4IDguNjAyOTlMMTEuMzYyNyAxMi43NjkxQzExLjE4OTYgMTIuOTQyMiAxMC44NzEyIDEyLjg2NzcgMTAuNzY1NyAxMi42MjIzQzEwLjY5NzYgMTIuNDU5MSAxMC42MTI3IDEyLjMwMDcgMTAuNTE0OCAxMi4xNDcyQzEwLjQxODEgMTEuOTk2NyAxMC40NDIyIDExLjgwOTEgMTAuNTU2IDExLjY5NTJMMTUuMTI1NyA3LjEyNTZDMTUuMzE0OSA2LjkzNjM5IDE1LjY2MDkgNy4wNTEwNCAxNS43NDY1IDcuMzMwMzZDMTUuODk2IDcuODE3MDEgMTUuODM3MyA4LjI5NDUyIDE1LjUyODggOC42MDI5OVpNMTcuMzQ5NyA0LjEyMTgyQzE2LjE3ODEgMi45NTAyMyAxNC40ODgxIDIuNzM5NzkgMTMuNTc2MiAzLjY1MTc0TDYuMjIwNDQgMTEuMDA3NUM2LjA0MDIgMTEuMTg3NyA1Ljg4MDkgMTEuMzg4OSA1Ljc4NDQxIDExLjYzNDlMNC4yMzMxMiAxNS4zNTk5QzQuMDM4MDQgMTUuODMwMiA0LjE4OTA2IDE2LjQxNyA0LjYyMTggMTYuODQ5N0M1LjA1NDU0IDE3LjI4MjUgNS42NDEzNyAxNy40MzM1IDYuMTExNjUgMTcuMjM4NEw5LjgzNjYxIDE1LjY4NzFDMTAuMDgxNyAxNS41ODk2IDEwLjI4MjggMTUuNDMwMyAxMC40NjMxIDE1LjI1MDFMMTcuODE4OCA3Ljg5NDM4QzE4LjczMDggNi45ODI0MyAxOC41MjEzIDUuMjkzNDEgMTcuMzQ5NyA0LjEyMTgyWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/menu-bar/icon--file.svg" /*!************************************************!*\ !*** ./src/components/menu-bar/icon--file.svg ***! \************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Ljk4MTE2IDFIMTUuMDE5NkMxNi40MDQyIDEgMTcuNjE1OCAyLjIxMTU0IDE3LjYxNTggMy41OTYxNVYxMC44NjU0SDEzLjYzNUMxMS4zODUgMTAuODY1NCA5LjY1NDI0IDEyLjc2OTIgOS42NTQyNCAxNC44NDYyVjE4LjgyNjlINC45ODExNkMzLjU5NjU1IDE4LjgyNjkgMi4zODUwMSAxNy42MTU0IDIuMzg1MDEgMTYuMjMwOFYzLjU5NjE1QzIuMzg1MDEgMi4yMTE1NCAzLjU5NjU1IDEgNC45ODExNiAxWk02LjAxOTYzIDkuODI2OTJIOC43ODg4NkM5LjQ4MTE2IDkuODI2OTIgMTAuMDAwNCA5LjQ4MDc3IDEwLjAwMDQgOC43ODg0NkMxMC4wMDA0IDguMDk2MTUgOS40ODExNiA3Ljc1IDguOTYxOTMgNy43NUg2LjAxOTYzQzUuNTAwMzkgNy43NSA0Ljk4MTE2IDguMjY5MjMgNC45ODExNiA4Ljc4ODQ2QzQuOTgxMTYgOS4zMDc2OSA1LjUwMDM5IDkuODI2OTIgNi4wMTk2MyA5LjgyNjkyWk0xNC4xNTQyIDUuODQ2MTVINi4wMTk2M0M1LjMyNzMyIDUuODQ2MTUgNC45ODExNiA1LjMyNjkyIDQuOTgxMTYgNC44MDc2OUM0Ljk4MTE2IDQuMjg4NDYgNS41MDAzOSAzLjc2OTIzIDYuMDE5NjMgMy43NjkyM0gxNC4xNTQyQzE0LjY3MzUgMy43NjkyMyAxNS4xOTI3IDQuMjg4NDYgMTUuMTkyNyA0LjgwNzY5QzE1LjAxOTYgNS4zMjY5MiAxNC42NzM1IDUuODQ2MTUgMTQuMTU0MiA1Ljg0NjE1Wk0xNy40NDI3IDEyLjI1SDEzLjQ2MTlDMTIuMDc3MyAxMi4yNSAxMC44NjU4IDEzLjQ2MTUgMTAuODY1OCAxNS4wMTkyVjE5TDE3LjQ0MjcgMTIuMjVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/menu-bar/icon--mystuff.png" /*!***************************************************!*\ !*** ./src/components/menu-bar/icon--mystuff.png ***! \***************************************************/ (module) { "use strict"; module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAoCAYAAAC4h3lxAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODk0NzIwNTI1OTc1MTFFNTk3QzdGRjJDNDczODI4MEIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODk0NzIwNTM1OTc1MTFFNTk3QzdGRjJDNDczODI4MEIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4OTQ3MjA1MDU5NzUxMUU1OTdDN0ZGMkM0NzM4MjgwQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4OTQ3MjA1MTU5NzUxMUU1OTdDN0ZGMkM0NzM4MjgwQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhTdRY8AAAImSURBVHja7JlfKENRHMePWYuNSP6UlJWU8iAPipe9KPmTJ09rD5QiJcW7Z3lQPMgTnjyqpSmaPHkgsRISSdZq5IGSWTZd35/dW9exzf5cOlfnV5+1/c7dvb/v2e937u7vMEVRWAY0gUPwrmRvd8Cd4XWypoBefrAKcAScLHeLglZwwQw2yw/jhWAtz+DJisCKer4/FTANug26VgcYN1pAuhTqBT46RucLgR4QyXByvKBZ53sBLeD6NwVUgi6wCMp1/jfgAgdZnL8d7HGpcwz8WcYZA5dgCzx8GdFVtAMsgGiK1WQsx5ViTjHOYmAJlGnn1y5SBQJpvriax1JXDC4VY+0c1GkCKI120xxMwux5rtcuEDdYxD6wUPD9yKQNLueo2HbAGZj/lne5WScYyHEp1eqyhPN7aHbWOWXXoOG37px5UA9OuVi3aSDEOd0CBq/Rx8X6aMXPUM39LHTXXQaNwM7EsFdwBQKcv5xqQGEmNgszuZlegDWF/0Stg7AgcVKdDoK2byNJbhB+YBNwBbICLx9sshSaVf+4iWZxMJNJDdwLnPJhuQpJAVKAFCAFSAFSgBQgBfwzAU+czy5wvHxfKEYCbjjnkMACBrnPQXqk3GSJ3RPNRlmie0bd6WdBAneAYTDB+X3UVqlhiZ5LqcnSn7atmizqExjNutn6Q5PgVv/Q7AERRXyj/YuRVLuUtWAKUMfaCWyCzDbt0ATVep1T33/ahwADAHdtdQ8icCDFAAAAAElFTkSuQmCC"; /***/ }, /***/ "./src/components/menu-bar/icon--profile.png" /*!***************************************************!*\ !*** ./src/components/menu-bar/icon--profile.png ***! \***************************************************/ (module) { "use strict"; module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAAHdbkFIAAAAAXNSR0IArs4c6QAAFBdJREFUeAHtWwl4VFWW/l/tS2rLvickJAQSArhCCBBFxK3BVmhxcB/c6KG1xw3bdvqbbnFtGxScBsWtx3bGxnZtZXUCKLIoi8oO2UP2SmpfX72ac18llapYlZBIf/j5cb/vVd1699xzzz333HvPVtyymw4HMUiRDNImNoUBbq2sEl9ML34aOlUtFk6ZIf6WiZ/0ocu+GL++awXUkiDGCl9CURsaOYzBUvYCVnwxCmjdgoXL9sM7apHYNwzw6trX8eijSzH1TwV4d93f8OdqdTSAsv5G+P1+7EgsByQcpCfniwDcUNMcEiBMg4gvxkcY4J6ZMzE+83+RadiNX82eGQYN8yGx6DL8rKiOGupwqmFCGEDEMHfSYmDqX+Br2Y6TujuQ9ouPwwAihuO6p9C5dRuq5tdjNDWtWrmKPkPDiBiObDdgXFkpvv7FL7Hsqacw67LLwxiGnOaQAGFUcSphNrB2udQeB6z/dUHqh/0/qBZmE3vrD+hwd9U0KIsWAJwcSpUCHAcIQhBupwt803ooOQde3DQ3jCQKgYTjYcgqh2w64xKVTdMJkQK1mnkouOQeWB0+SKr7GcRAoqYwZ947kBUtR8PJ46irq8NfzUvw8IbxKJh6D9ra2pDgaIV0wisIQmB9xRKF4IN1C2FJzkfe6GLcc/e9mDG9Ao889ji++GIH7vvV/ZCm58GqNoGLGHfIVZDSJAN833jf/46i4PvNg3dm8ENSEAtp5LshKYgEjlU/swhmlPx7rEGi3o3NfDnqd5Qgjc/ZjwsLZ+KT/TejpbsK47PfhcdnwNeNd2LB5FnIThLw8b474iPwBSTw2d247Bo/lMpqOp2SReDpwhsQuNtg/241ajt+Fh/BybYyFBYREqih8zeFAWVBHu6ABsr8q+Dfqg+/Z5UoJpYX1MOePgdJ05bBNnEt4GoJPZVvQz1jLTT+OkwuXBkfAaRK8KmzMHv2VdDQToT1MD2HxA7PPftHNI3/O6YWvROFIIqJzqkbUexox5tvvkbyHsBDuxZCoTHirgsbcP3865Fnq8OJi3YCGwJhJFFTWPfBx3hm3QZYLVZIpVIcPHQIc6+5HHl5eRiVl48/vLMBtbXsaO0vUaJ86R0CJl9Sih07dsDcZUZFZSVdGD78ZumjeP2N1+H1+fD8v9b096Za1BT+7zUJ3D0HMGlmGXbv2YPk236LTrrQVq9bg47OLrz+YOvALoNvJok0iECAI37EL1E8GAgmDNGZwQ+KYCDCWL+jmBgL4J/97gfP4IcSeNYJiBLDyNkoZD24aer1UCs47KmZha9ql0Y2D1lP1e/BVROoD4lgbfuF2H7smZh94hLg403Qqzk4XD5MHr0Rs8o2osejhr7wcviUuXQ3MuaFlD02ChN1uWCBq2k7VJ4TUCgUaO7ikaACDp26Mebg7GVcAlhjS48WRqUbkvwbceLAVmSffyX8ggdKfyupDMHw/mJkMAJsNi9UWdPQWZ8BjU4PjfdLqDg7zI6JDF3MMigBajmgzZ0Opa8Wyus+gzIjGX5eQPOeVcjlt4URssFBZ7Zl3KvIJpjkSQG0734R6ak9CNibiTihl2PhLuFKXCEcl/kBjIlyqPyNqM9ehtysVKxa9RJcTjuyp94Pl4XO+u799OwDLN+iNisEs/LFVXC7nMiufAABjxlSmRSLpl8aHnBgJS4HLshbDXPlAagSVTBaLHSkBXDnnYugVqvR0NyGXLpcIGX00/x9dqjbP0SgsBR33rUIGo0GDQ2NyJu9Gd0ON7ivHhg4bvj39wjo9h6FWpaM5oKVyPFacGDT19j57WGMmXQ+Zl11jdgxLzsdt3x0JWSyUHebzYZ3//642MYGZ+Xt115BaWYKys87H4Hi38EbaIdP6IFckgCVNEmEYR8xT0IX3w6dJgn3LM+DQd9/B19NBLz40koYSMBMJqN4ZzEkwWAQTqcTFqsNP597LXbt3hluc7pc2L2xFZveOQG9PI+BR5WYBERCzHtMhuS0ZBgNBkgkEiy+dzGOHDmKQFCAj5ZFzkSMjCMlaZFerxdbt1VDLpeDDex0uvH275rhstP1HqcMSUBkv/KZARRXaGBKNIgWGd97DkiJCLo24XK70HTEgb0f+uGwfm91I1GF68MiINzrDFbibsMzOMagqM46AeeW4KwvwTkCfrwcqBj9MJha9UOKhPPgyvI7CQVTWWKXuOdlZuJxjMtZCodbhk8OrIHdMyo2hjhvLxl7H8ZlH0SAHC0hfSk2YFwCzI4CyLi9yE/jcOu0RWjuMZDt/Bp5brTIMu5EuuEgKaw28IICZvsoaq+Aw5eGiwqewvkFW6Ajz15jZwApemnskXvfxiWgw1qKMWlf4VSXHzmpcoziOrH4+schz5gMntNS94zeh2Fi3pfPIXOegKNuC4wJQKclAJ0yAJdvcDGLS0CnvZwUHg4aRRA9fDqUY64G7+yGTODpCraIfiymDLHlZUwmlQBumCAbvRB2dzsk3R/TjSmF2WlkFMYtccmzumgJSOWSGovgV+TB0dYINWk7HksXZEEHpIIDsgA97Jse+B1QyiXgBAHtR/ZBOXoeONIZzPbCuIOzhrgc8PJJpMtykJuIAKsLCQYF7H4FkjQugPdFIWWMYCqHh1fBgxQUnHchbD1dkCaWov3E+CjYgT/iEqBVdoIzjIVCsMKcVAn95PthIg23qa0bOcdup2WP7toonYa0i5eIMKfazMjy3Aa3PAkFSftxtOWWgeOGf8ddgivKHhKXQBbogX7SEigVclEly8lMRp1yDrHc3v/4zDBM+mUETAoaVHOIeBtKcg6GB4tViUtAXnINrbMdHi8PvVYFq9WKFSteEHFwqRWAk3wd9hOAowYulxc6rRIWUt9feOHFMIw0YAETWaOmPtbY4ruYBARF0Q6gK/0OdF34MdkEfqxd+yo2bNwkdhI83SQHHnLn+skj6YXc1yYeOGvWvIz16zeIMH5OjeaSN0hX9GF0anVcAmIqJCp5D+YtOgBj2U3Qq+Sob2lHfn4+zdRFPjgl+dEfQnr3m2SYkOiRpAfItdZE/qf8nAyCcROMAtauTuh0CWgyO2H9681YfyjEvYGUREtSb6scLnjI5aZ29gCn2pCjTyb/VK1o8fjI1ZQ541k88h8GCB5ql6owZ+5cVGSm9sOQaZYL2pq2FqgUJnSQMMcrUQR4eDP8tMeFoApSTsCp1jZ8+9VuHGruwKN/eCKMg1lCLY01ov7PkfW7rfozTKucgoKCAhFm84b1+GjfV5hSWoykkgkwSyvI2dgJN+FPVJaE8bBKFAEqWRJUCJlNDXW12PHF58xtD1NKGjweMsuJ/Ry58vVkLV151RUUxnhJ9OL99vHfhpGePHEScpUaTvL8f/T1YaQ2kznWeh7UUj09KWG4vkpMGbD6GnHTI8UoLsuirRWyalpaWnD//b/Gs889h9TUFGjISO0rfj8Pc7cZ33zzLTaToP7x+ef6mmAlbq1c3ABPwAyNLC38vq8SxYG+lwZFLj5d6Ubac3YkGo1khEqRmZmJNlqStS+/ggU33oDUtDS6K6S0XEHaohZs2bwFb/3lLbz3wXt9aIiobuz4qIUcx7KYgzPAmASwhgDP4R8rG3D1vwXJGCWLVqXCunf/hp9fe53oC3XxPMk+mWO0ZbUyuWigzr9hvsgdZsr39FhQf7QFBz+LOwQbJrZ1LLb0fmh0Hlz7sBHaBB20Gi3t9wBe+s8n8cBxG+QBiqGQTKxK8GLa0iUoGTuWDFKK8hBxO99rxKEv+pcpEmdkPaYMRAL01RMz/LhgjhIZhXpRGJnHOUDslxABbI4CEdPVYcGhajdO7B581n042fdpQ3a3yrFpDYsaWUL9yUlFIsDOIXrYfdhXThul2GF40H1jsO8g+QUGCSpFgg5Wj3kXDNbhTLedI+Csc+C0t+GZXvsfC76zvgJnmxHnGHC2V+Bsj39OAka2AswZ8OMpHMc0o5GVYasiOlU9rpxwO0xaCZzeICVETMGRln9Bj7N0ZBSMoBebcJZpK8Zl/Q9yk+rIfgdqOnKx+TtKmQD9GEYZNgMcniy4vXkUCm2Ajw/iotG7yB22i1RgoMuuxvG2K3CsdR48/vRhkDE0aKL2IMZmvo38lF0waDiQn0Icv90iIM0gobAcc8EMb/Js1GEzIEiOhjZbMQrTG5kOjo4eAQlqKZKJCKPWjdzk9zGt5H34/AJazSnkMxyP1KQ2GE1eaPQJZC8aKVGM3HsSMvVEdZqooGgrRTch+BzwunrgotBvV5cBPVYdUgxf0sOTVcaBPASUskZKMO3A1u4A+SsEJBIqjpOiwzq4D4pNNlYZNgMYkk7beDKMKIQsEkSpZaSWt5rJWFZTrohEg6BpAtSJJSiUk6OS7IVgsJDcbKK7BX6yHMLGQ1+FJhRklDCeUBdtKj2jOeQzBmEsBLcZfNcB+FwnKCBHPk8vKDpIMXPqI5dJYHHJaAuOYaQNu4yIAWbHOFhdEnLa0GrQckjIj6hOKQNSLwDvsMLefJhy/6rB0QSCgg9KrQHpxRNpwUMz7pt3mFp6IR6rYgNHUuBC+/F9ZBaTf1LEwUORoIchZz65S3ioTm2HwNKjSORlxACzIwsOb2YY3XAqI2KA05tDHE+HSdOAgCqZvNYV8LkdaPl6PdLGX4rcsongeHKjsgmxZWIrKTjJnRaftEimqJVAfjllOjCDLxg64YMyAzpbzbA37UfK2MmQ8k4EWj8n8RdIIpmvZ0RTGVkvIaiA050FicYPWcIYcmLayIEpg3HSJLRwuWjXXw6Vnh2CtJr2dqi6tiAzsIvMd6Z2sKnGu0ZDbQJtmxbpxXAnXUZ4Qq4cr43w+DYjz0S9eQf8LECdNhlBy17YXMWEc2RlRGybkPvfmFi4Hzx52ZSwkcdegNWfhe6Cx5CbN4r2ZeRpnA4+UIaGxiaYap+AEU3Eg8j2CMJptS3BbJgLfoO83HzRHRVuzcqgm2Y8GhsbRDyGYDOdJ1L4NHm4dNwL6HGVoNMe7fUL9x2kMmxNMDHhJCaPWgueTisFRUWkFKbgfR6YU29GTl7BgMmHRpZRPmB2bh7MabfBT77Vft+6LaJupzY6/VNvQW7uqOjJ906A+edyqK077Vbwfi+FRsgzJRGgUqtQNWYZ+enIWz3MMmwJKM9eR9ceO9H9tA+74Vfnw6qaAE6TARkFlVhZ+8paVG/dTgeYBBVTLsbixfeKASeZykShnHbIuS6CGigFAvmFTeRrpkdMxwFWr15D2chfihtm+rSpuPvuu6iNjhQay6o+DwbPXsj4Tko8DSIrsR6jkik1vWOmSMPpfgxLAmQSLzL1e+GVGNBWvBytU3bAW/EOEqf+nqRaCYeDoiZUps+YQfudnV88LrmkSnzn8vAQWjZBE2yn34zvjFmRj5TaOhA8tYHOl9BKVlVV0RUaEINdVVUzRDxOB3ndJXLoK5+BveITNF/0ObqzF9PtEER24m4RZjgfw3KIJCjacO3MpyFUrIGesnhYDFTqcSBIogvyzjZanFAYTEhJppuBMndYYX97MJvNFOnxIiszHYJ5P7oPUEbrqW10K9BNQYVTp9K9PxfG0oVAQgGam+rF5LuUlJQoPF2Ex2uzINdAuVGUHcvG9MkpehSQwW/+Ft3rn8c/9vf7xUXkQ3wMygBSa8ByqOyBJriFdgQlXTCm2yDIKWuIrijKbISWQpMZRj3G5Wdh/MRJ0BWMgcMfFIM5bGyWyJWQQNoNFZZN9gSFOZKSKQLBLgJy6oqFHLyMUXK5DMuepL3M5JyKg1abBYVY0Wi1SFDKYK89hu/27cXhuia09lhpLEqfIl2EI2YIdgssPamkq1IkgkuDTpoj+uTpHycijlgfgzLg+x2CmLnQipKp5XTtqcG57fB1tYF3O0kqFaQT6GChxN/MnByaW+/kBiB5/733sXz5CpEpfRNl+V5MYpav+BOKi2NfaQKFaVpPnYJRTtNx0yJ4PZAp1VAkpcCn0JJ26MP2t77DwV2h8M6AYeP+PG0GCEE/ur3H4NfWoGxyIkYXF6GoaDSSEhNFcWVJbWwVvR4v6urrxL9RzJ49G0vuWwJdrwREUsHCPUePHhWDHuXl5WEp6YNhUZeamho88fsnKAHci1dfXSviZ0ESxizGEBat66T87pM1J3Hom+M4tNMKnaQAJnkJnUGhLdiHL973ad8CDGGyitRdutONvgBKS0nUiBCWKNu339mKMgLZhCoqpqC6uhqXzZqJouIxYoCNrTRTchizpPQUjwnd290U3e2iUBLNWbz+GA6K+WMjBVyPHDmCR5Y+DC1tgcjCxuIpCqQl5ublFuLo+gzkk2o+3HLaEjAQsSHNh5m3q2FKTaQ4qIL2ujrMCAbLpOGpJ5/Gp5+uFyfF8ivZeWBghydFGDVaDTGC7c2gKDV2ukHYfwjYvmd9+7bHgw89iLlzKS7fWxgetvIOikIFSApqDrTi87fpPPXH3+d9fWN9j5gBfchScp2Ycp0aqbkhlVWlUopRTSYVbKVbW1vx5/9ajW3bttGfp3gSTxUqlQZUKvTIpqvTRxLxHd0G6yn0fszvosi7X2TQggU3UCBygShRLN7no/ce2l7sO0hmeM3+NuyhP2q5HYo+Ukb0/YMZEDlqRoEHxVPkSC/SQEerzM5Bdhiy1RRF1ueHu6ML/tZOSny2gqODiwEJGhW4FBNUmWlQUlYuY1yAmMXsfVYYAyxdNjQedOH4zgBsZlXksD+ofkYZMJASjgyWBDJeDJR0paf4uDZRArWOvDkUN5WxzJ5eNYwZfbyPtoKLrk+bAIeZws4dlGXQSX+rsw1/Xw+kY7Dfp30IDoYkXhuLm9rNlNFCT6iEVjRUPx1H5j938oyOYanCIcJ/Wp/nGPDTWs/hz+acBAyfZz+tHv8P7RGRPJ6oPF0AAAAASUVORK5CYII="; /***/ }, /***/ "./src/components/menu-bar/icon--remix.svg" /*!*************************************************!*\ !*** ./src/components/menu-bar/icon--remix.svg ***! \*************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5yZW1peC13aGl0ZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJyZW1peC13aGl0ZSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMuNzk3MzUzNDMsMTQuMjM4NzczOCBDMi40NDIwMjgxMywxMi4wMTYxNTAyIDIuMzMxMzM0MjMsOS4wNDk5ODcxNyAzLjUyNTU2ODQxLDYuNjk4NTU0NTIgQzQuNzYzMDAwMjEsNC4xNzEyMzA4IDYuODQ1NDg1NDQsMy4wNTEwMzU2NSA3LjY4MjQzOTMxLDIuNjg2ODE2NzYgQzguMTg1NTExNTksMi40NTMxODM2NyA4LjcxNTU4MjM3LDIuMjcxMDc0MjMgOS4yODYxNTA5MywyLjEzNjkzNTA4IEw5Ljg0NTkyMDA4LDIuMDE2MTIxMDEgQzEwLjI1NzE5NzQsMS45MzE3Mjg4MyAxMC42NjY2NzQ4LDIuMTg2NjgyMDUgMTAuNzU1NzY5OSwyLjU5MzU0MTE5IEMxMC44NDU3NjUsMy4wMDEyODg2OCAxMC41ODM4Nzk0LDMuNDAyODE3NzkgMTAuMTcwODAyMiwzLjQ5MTY1MTY2IEw5LjYyNjMzMjE4LDMuNjA4OTEyMzggQzkuMTczNjU3MTMsMy43MTU1MTMwMyA4LjczOTg4MTAzLDMuODY0NzUzOTMgOC4zMTY5MDQzNSw0LjA2MTk2NTEzIEM3Ljc2NzAzNDY1LDQuMzAwMDM5OTIgNS45NDgyMzQ4OSw1LjIyMTI0NzE5IDQuODk4ODkyNzIsNy4zNjU2OTY5MiBDNC4xMDI0MzY2Miw4LjkzMTgzODEyIDMuODY0ODQ5NzEsMTEuNDIxODUxNiA1LjExODQ4MDYyLDEzLjQ3NjU3OTEgQzYuMjU0MjE4MDMsMTUuNDU1Nzk3OCA4LjU3OTY4OTg2LDE2LjY2OTI2ODYgMTAuNzg1NDY4MywxNi40NjQ5NTA3IEMxMi44NzE1NTMzLDE2LjMxNDgyMTQgMTQuNzg1NzQ3OCwxNC45MjYzNDggMTUuNDU3MTEwOCwxMy4wODc0ODY4IEMxNi4xMzgzNzMzLDExLjM1Nzg5MTIgMTUuNjg1Njk4Miw5LjU4NDc2NzEgMTQuOTM3ODM5NCw4LjU4NjI3NDM1IEMxNC4wMzY5ODkxLDcuMzU1OTI1MTkgMTIuOTE1NjUwOSw2Ljk3NzQ5Mjg5IDEyLjQ3NTU3NTEsNi44NzE3ODA1OCBDMTIuNDA5ODc4OCw2Ljg1MjIzNzEyIDEwLjg2OTE2MzcsNi4zODk0MTI2NCA5LjUwODQzODY4LDcuMDcwNzY4NDUgQzguOTIyNTcwOTcsNy4zNTE0ODM1IDguMTY0ODEyNzMsNy45ODMwOTIzNCA3Ljc1ODkzNTEsOC45MzE4MzgxMiBDNy4zMjA2NTkyNSw5LjkxMTY3NTc1IDcuNDM0MDUzLDExLjE3MTM0MDEgOC4wMjgwMjAyNywxMi4wMDgxNTUyIEM4LjYyNTU4NzMzLDEyLjkwNTM3NzMgOS43NTIzMjUyMywxMy40MTM1MDcxIDEwLjcyMTU3MTgsMTMuMjQxMTY5NCBDMTEuNjg2MzE4NiwxMy4wODkyNjM0IDEyLjMzODc4MjcsMTIuMzcxNDg1NyAxMi40OTM1NzQyLDExLjc0MDc2NTIgQzEyLjY3NTM2NDEsMTEuMDYyOTYyOCAxMi4zOTYzNzk1LDEwLjQ4OTk4NDMgMTIuMTc4NTkxNSwxMC4yODM4ODk3IEMxMS44MDg3MTE5LDkuOTE4NzgyNDYgMTEuNDg5MjI5NSw5LjkxMjU2NDA5IDExLjQ3NTczMDMsOS45MTE2NzU3NSBDMTEuMzI0NTM4Niw5LjkwNzIzNDA2IDExLjI0OTg0MjcsOS45MTg3ODI0NiAxMS4yMDQ4NDUyLDkuOTI1ODg5MTcgQzExLjAzMjA1NDcsOS45ODg5NjEyMiAxMC43ODcyNjgyLDEwLjEyNzU0MjEgMTAuNzE1MjcyMiwxMC4yNzMyMjk2IEMxMC43MDI2NzI5LDEwLjI5NzIxNDggMTAuNjcwMjc0NiwxMC4zNjI5NTE4IDEwLjczMjM3MTIsMTAuNTI3Mjk0NSBDMTAuODgwODYzLDEwLjkxNzI3NTIgMTAuNjgwMTc0MSwxMS4zNTM0NDk1IDEwLjI4NTA5NTksMTEuNTAwMDI1NCBDOS44OTE4MTc1NSwxMS42NDc0ODk3IDkuNDQ5MDQxOTUsMTEuNDQ5MzkwMSA5LjI5OTY1MDE4LDExLjA1ODUyMTEgQzkuMDUzOTYzNzIsMTAuNDExODEwNSA5LjE4OTg1NjIzLDkuOTA1NDU3MzggOS4zNDczNDc1NSw5LjU5NDUzODgyIEM5Ljc1ODYyNDg5LDguNzg1MjYyMjMgMTAuNzEzNDcyMyw4LjQ5MjExMDQ0IDEwLjgyMTQ2NjMsOC40NjEwMTg1OSBDMTAuODcwOTYzNiw4LjQ0NTkxNjgzIDEwLjkyMzE2MDcsOC40MzcwMzM0NCAxMC45NzQ0NTc5LDguNDMyNTkxNzUgQzExLjA3OTc1MjEsOC40MTY2MDE2NSAxMS4yNjUxNDE5LDguMzkxNzI4MTYgMTEuNTE2MjI4LDguNDAxNDk5ODkgQzEyLjA5MTI5NjMsOC40MDg2MDY2IDEyLjc0NjQ2MDIsOC43MDg4NjUxIDEzLjI0ODYzMjUsOS4yMDU0NDY0NSBDMTMuODQxNjk5OSw5Ljc2NTA5OTg2IDE0LjMwNjA3NDMsMTAuODg5NzM2NyAxMy45NzY2OTI0LDEyLjExMjA5MDggQzEzLjY1NTQxMDEsMTMuNDIwNjEzOCAxMi40MjA2NzgyLDE0LjUwMjYxMDQgMTAuOTc5ODU3NiwxNC43MjkxMzY4IEM5LjQzMDE0Mjk5LDE1LjAwNTQxMDEgNy42ODUxMzkxNiwxNC4yNDE0Mzg4IDYuNzYzNTg5OTUsMTIuODU2NTE4NyBDNS44NzUzMzg5MSwxMS42MDg0MDI3IDUuNzA1MjQ4MjgsOS43ODE5NzgzIDYuMzU1MDEyNDcsOC4zMzMwOTc4MSBDNy4wNjc3NzMxOSw2LjY2NDc5NzY1IDguNDI5Mzk4MTUsNS45MDk3MDk3MiA4LjgyODk3NjEyLDUuNzE3ODI4NTUgQzEwLjc1MDM3MDIsNC43NTg0MjI3MSAxMi44MDQwNTcsNS4zOTE4MDgyMyAxMi44OTA0NTIzLDUuNDE4NDU4MzkgQzEzLjQ0MzAyMTgsNS41NDkwNDQxOSAxNC45NzkyMzcyLDYuMDYzMzkyMzIgMTYuMTczNDcxMyw3LjY5NTI3MDU5IEMxNy4wOTE0MjA4LDguOTIyOTU0NzMgMTcuODM1Njc5NywxMS4yMTU3NTcgMTYuODg5ODMxOSwxMy42MTYwNDgzIEMxNi4wMjU4Nzk1LDE1Ljk4MTY5NDQgMTMuNTY2MzE1LDE3Ljc3ODgwMzcgMTAuOTE0MTYxMiwxNy45Njk3OTY1IEMxMC43MDYyNzI3LDE3Ljk4OTMzOTkgMTAuNDk1Njg0MywxOCAxMC4yODU5OTU4LDE4IEM3LjcxMjEzNzY4LDE4IDUuMTA0OTgxMzYsMTYuNTE2NDc0MyAzLjc5NzM1MzQzLDE0LjIzODc3MzggWiIgaWQ9IkZpbGwtMSIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/menu-bar/icon--see-community.svg" /*!*********************************************************!*\ !*** ./src/components/menu-bar/icon--see-community.svg ***! \*********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjIgKDQ3MzI3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5TZWUgQ29tbXVuaXR5PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IlNlZS1Db21tdW5pdHkiIGZpbGw9IiNGRkZGRkYiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTEuMTc5NTg4Niw1LjY5ODYzNjg5IEMxMC4wMzQ0MTQ2LDUuNTAzOTY1MDMgOC44OTA5MzU4LDUuODc2MzgwNzYgOC4xMTEwOTg1NSw2LjU5NTgyMDIzIEw5LjEwMjg0ODEsNy41ODUyNjExMSBDOS40ODQyOTAyNCw3Ljk3NDYwNDgzIDkuMjEzMDQyNSw4LjYzNTY0Mjc1IDguNjYyMDcwNTIsOC42MzU2NDI3NSBMNC42MTg3ODM5MSw4LjYzNTY0Mjc1IEM0LjI3OTcyNDIzLDguNjM1NjQyNzUgNCw4LjM1NjMzMDk1IDQsOC4wMTY5MjQ4IEw0LDMuOTgwNDQ2MTQgQzQsMy40Mjk0NDAxNCA0LjY2MTE2NjM3LDMuMTU5NDM4NzMgNS4wNTEwODQ5OSwzLjUzOTQ3MjA2IEw1Ljg5ODczNDE4LDQuMzg1ODcxNDQgQzYuNjcwMDk0OTQsMy43ODQ5Mjc4OCA3LjU2ODYwMzA3LDMuMzUzMjY0MTkgOC41MDk0OTM2NywzLjE1MDEyODM0IEM5LjYwMjk2MTEyLDIuOTEzOTgyOTEgMTAuNzM3OTYzNCwyLjk1NjMwMjg4IDExLjc4MTQxOTUsMy4yNzc5MzQ2NSBDMTMuODgzNTg5NSwzLjkxMjczNDE4IDE1LjUxMTA3NTksNS42NzMyNDQ5IDE1Ljk3NzI4Myw3LjY4NzY3NTQ0IEMxNi4wODc0Nzc0LDguMTcwMTIzMDkgMTUuNzgyMzIzNyw4LjY2MTAzNDczIDE1LjI5OTE2MzcsOC43NzEwNjY2NSBDMTQuODQ5OTA5Niw4Ljg4MTA5ODU3IDE0LjQwOTEzMiw4LjYyNzE3ODc2IDE0LjI0ODA3ODcsOC4yMTI0NDMwNiBMMTQuMjQ4MDc4Nyw4LjIwMzk3OTA2IEMxMy43MzEwMTI3LDYuODU3MzU3NjQgMTIuNDg0OTY4NCw1Ljg5MjQ2MjM1IDExLjE3OTU4ODYsNS42OTg2MzY4OSBaIE04LjgyMDQxMTM5LDE0LjMwMTUyNDkgQzkuOTY0NzM3NzksMTQuNDk1MzUwMyAxMS4xMDkwNjQyLDE0LjEyMzc4MSAxMS44ODg5MDE0LDEzLjQwNDM0MTUgTDEwLjg5NzE1MTksMTIuNDE0MDU0MiBDMTAuNTE1NzA5OCwxMi4wMjQ3MTA1IDEwLjc4NjEwOTksMTEuMzY0NTE5IDExLjMzNzkyOTUsMTEuMzY0NTE5IEwxNS4zODAzNjg0LDExLjM2NDUxOSBDMTUuNzIwMjc1OCwxMS4zNjQ1MTkgMTYsMTEuNjQzODMwOCAxNiwxMS45ODIzOTA2IEwxNiwxNi4wMTk3MTU2IEMxNiwxNi41Njk4NzUyIDE1LjMzNzk4NiwxNi44NDA3MjMgMTQuOTQ4MDY3NCwxNi40NTk4NDMzIEwxNC4xMDA0MTgyLDE1LjYxMzQ0MzkgQzEzLjMyOTA1NzQsMTYuMjE0Mzg3NSAxMi40MzEzOTY5LDE2LjY0NjA1MTIgMTEuNDg5NjU4NywxNi44NDkxODcgQzEwLjM5NjE5MTIsMTcuMDg2MTc4OCA5LjI2MTE4ODk3LDE3LjA0Mzg1ODkgOC4yMTg1ODA0NywxNi43MjIyMjcxIEM2LjExNjQxMDQ5LDE2LjA4NzQyNzYgNC40ODg5MjQwNSwxNC4zMjY5MTY5IDQuMDIyNzE3LDEyLjMxMjQ4NjMgQzMuOTEyNTIyNiwxMS44MzAwMzg3IDQuMjE2ODI4NjYsMTEuMzM5MTI3IDQuNzAwODM2MzUsMTEuMjI5MDk1MSBDNS4xNTAwOTA0MiwxMS4xMTkwNjMyIDUuNTkwMDIwMzQsMTEuMzcyOTgzIDUuNzUxOTIxMzQsMTEuNzg3NzE4NyBMNS43NTE5MjEzNCwxMS43OTYxODI3IEM2LjI2ODEzOTY5LDEzLjE0MTk1NzcgNy41MTUwMzE2NSwxNC4xMDY4NTMgOC44MjA0MTEzOSwxNC4zMDE1MjQ5IFoiIGlkPSJzZWUtY29tbXVuaXR5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC4wMDAwMDAsIDEwLjAwMDAwMCkgcm90YXRlKDkwLjAwMDAwMCkgdHJhbnNsYXRlKC0xMC4wMDAwMDAsIC0xMC4wMDAwMDApICI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/menu-bar/icon--settings.svg" /*!****************************************************!*\ !*** ./src/components/menu-bar/icon--settings.svg ***! \****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjI3MjA2IDIuNjgzNzdDOC40MDgxOCAyLjI3NTQzIDguNzkwMzIgMiA5LjIyMDc1IDJIMTAuNzc5MkMxMS4yMDk3IDIgMTEuNTkxOCAyLjI3NTQzIDExLjcyNzkgMi42ODM3N0wxMi4zMjE5IDQuNDY1OEMxMi43OTE0IDQuNjYzIDEzLjIzMDQgNC45MTgxOCAxMy42MzAyIDUuMjIyMzhMMTUuNDcyMSA0Ljg0NTQ3QzE1Ljg5MzggNC43NTkxNyAxNi4zMjM0IDQuOTUyNCAxNi41Mzg2IDUuMzI1MTZMMTcuMzE3OCA2LjY3NDg1QzE3LjUzMyA3LjA0NzYxIDE3LjQ4NTYgNy41MTYyNyAxNy4yIDcuODM4MzJMMTUuOTUyOSA5LjI0NDY4QzE1Ljk4NCA5LjQ5MjA4IDE2IDkuNzQ0MTcgMTYgMTBDMTYgMTAuMjU1OCAxNS45ODQgMTAuNTA3OSAxNS45NTI5IDEwLjc1NTNMMTcuMiAxMi4xNjE3QzE3LjQ4NTYgMTIuNDgzNyAxNy41MzMgMTIuOTUyNCAxNy4zMTc4IDEzLjMyNTJMMTYuNTM4NiAxNC42NzQ4QzE2LjMyMzQgMTUuMDQ3NiAxNS44OTM4IDE1LjI0MDggMTUuNDcyMSAxNS4xNTQ1TDEzLjYzMDIgMTQuNzc3NkMxMy4yMzA0IDE1LjA4MTggMTIuNzkxNCAxNS4zMzcgMTIuMzIxOSAxNS41MzQyTDExLjcyNzkgMTcuMzE2MkMxMS41OTE4IDE3LjcyNDYgMTEuMjA5NyAxOCAxMC43NzkyIDE4SDkuMjIwNzVDOC43OTAzMiAxOCA4LjQwODE4IDE3LjcyNDYgOC4yNzIwNiAxNy4zMTYyTDcuNjc4MDUgMTUuNTM0MkM3LjIwODYyIDE1LjMzNyA2Ljc2OTU1IDE1LjA4MTggNi4zNjk4MiAxNC43Nzc2TDQuNTI3OTIgMTUuMTU0NUM0LjEwNjIzIDE1LjI0MDggMy42NzY2MyAxNS4wNDc2IDMuNDYxNDEgMTQuNjc0OEwyLjY4MjE3IDEzLjMyNTJDMi40NjY5NiAxMi45NTI0IDIuNTE0NDIgMTIuNDgzNyAyLjggMTIuMTYxN0w0LjA0NzA4IDEwLjc1NTNDNC4wMTYgMTAuNTA3OSAzLjk5OTk5IDEwLjI1NTggMy45OTk5OSAxMEMzLjk5OTk5IDkuNzQ0MTYgNC4wMTYgOS40OTIwNyA0LjA0NzA3IDkuMjQ0NjZMMi44IDcuODM4MzJDMi41MTQ0MiA3LjUxNjI3IDIuNDY2OTYgNy4wNDc2MSAyLjY4MjE3IDYuNjc0ODVMMy40NjE0MSA1LjMyNTE2QzMuNjc2NjMgNC45NTI0IDQuMTA2MjMgNC43NTkxNyA0LjUyNzkyIDQuODQ1NDdMNi4zNjk4IDUuMjIyMzhDNi43Njk1NCA0LjkxODE4IDcuMjA4NjEgNC42NjMgNy42NzgwNSA0LjQ2NThMOC4yNzIwNiAyLjY4Mzc3Wk05Ljk5OTk5IDhDOC44OTU0MiA4IDcuOTk5OTkgOC44OTU0MyA3Ljk5OTk5IDEwQzcuOTk5OTkgMTEuMTA0NiA4Ljg5NTQyIDEyIDkuOTk5OTkgMTJDMTEuMTA0NiAxMiAxMiAxMS4xMDQ2IDEyIDEwQzEyIDguODk1NDMgMTEuMTA0NiA4IDkuOTk5OTkgOFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/menu-bar/nineties_logo.svg" /*!***************************************************!*\ !*** ./src/components/menu-bar/nineties_logo.svg ***! \***************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/nineties_logo.945297ca77c041c98377.svg"; /***/ }, /***/ "./src/components/menu-bar/oldtimey-logo.svg" /*!***************************************************!*\ !*** ./src/components/menu-bar/oldtimey-logo.svg ***! \***************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA2Ni4xIDI0LjciIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDY2LjEgMjQuNzsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiNGRkZGRkY7fQoJLnN0MXtmaWxsOiNGOUE4M0E7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNi4xLDIwLjZjLTAuNSwwLTAuOS0wLjEtMS40LTAuMkgwdi05LjNoMC4xQzAuMSwxMC44LDAsMTAuNSwwLDEwLjJjMC0xLjUsMC41LTIuOCwxLjUtMy45CgljMS4xLTEuMSwyLjYtMS43LDQuMi0xLjdjMC42LDAsMS4zLDAuMSwxLjgsMC4ybDUuNiwwLjNsLTIsNi44YzAuNiwwLjgsMSwxLjcsMSwyLjdjMC4xLDEuNS0wLjQsMi45LTEuNCw0CgljLTEuMSwxLjItMi44LDEuOS00LjYsMS45TDYuMSwyMC42eiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQsMjAuNmMtMS44LDAtMy41LTAuNy00LjgtMkM4LjEsMTcuNCw3LjMsMTUuOCw3LDE0bC0wLjYtMC4xVjguN0w4LDguNWMxLjQtMi40LDMuNi0zLjgsNi4xLTMuOAoJYzMuNSwwLDUuNCwyLjUsNiwzLjlsMS4zLDMuM2wtMS44LDAuM3YwLjZsMi43LDAuNWwtMi4zLDMuN0MxOC43LDE5LjMsMTYuNSwyMC42LDE0LDIwLjZ6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNC41LDIwLjZjLTAuNSwwLTEtMC4xLTEuNS0wLjJsLTIuMSwwaC01bC0wLjctMS45Yy0wLjEtMC4zLTAuMi0wLjYtMC4zLTAuOUwxNC41LDE1bDEuNS0wLjRsMC0wLjRsLTAuNy0wLjEKCXYtM2gtMS4zbDEuOC02LjJsNS44LDBjMC42LDAsMS4yLDAsMS43LDAuMWwzLjYtMi44bC0wLjksNGMwLjcsMC41LDEuMywxLjIsMS43LDIuMWgxLjJsMCwzLjJWMTRsLTEuMiwwLjJjMCwwLDAsMCwwLDBsMi4xLDQKCWwtMi4xLDEuNWMtMC4zLDAuMi0xLjQsMC45LTMsMC45TDI0LjUsMjAuNnoiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTM0LjUsMjAuNEgyNC4yTDIyLjYsMTVsMS4zLTAuM2wtMC4yLDBsMC4yLTMuMmwwLTMuMmwxLjQsMGMxLjEtMi4yLDMuMS0zLjMsNS44LTMuM2g1LjdsMS41LDYuMmgtMS4xVjE0CglsLTAuNywwLjFsMCwwLjRsMS40LDAuM2wtMC40LDIuN2MwLDAuMy0wLjIsMC43LTAuMiwwLjdsLTAuNiwyLjJMMzQuNSwyMC40eiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNDEuNywyMC40aC01LjJsLTAuNi0yLjFjMCwwLTAuMS0wLjQtMC4yLTAuN2wtMC40LTIuN2wxLjQtMC4zdi0wLjFoLTMuOWwwLjEtMy4xYzAsMCwwLTAuMiwwLTAuNWwtMS42LTAuMgoJbDAuOS0zLjNsMC43LTIuNGgxNC42bDEuNyw1LjhsLTEuNywwLjJjMCwwLjIsMCwwLjMsMCwwLjRsMC4yLDMuMmwtNCwwdjAuMWwxLjQsMC4zbC0wLjQsMi43YzAsMC4zLTAuMiwwLjctMC4yLDAuN2wtMC42LDIuMgoJTDQxLjcsMjAuNHoiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTUwLDIwLjZjLTEuOCwwLTMuNS0wLjctNC44LTJjLTEuMi0xLjItMS45LTIuOC0yLjItNC42bC0wLjYtMC4xVjguN0w0NCw4LjVjMS40LTIuNCwzLjYtMy44LDYuMS0zLjgKCWMzLjUsMCw1LjQsMi41LDYsMy45bDEuMywzLjNsLTEuOCwwLjN2MC42bDIuNywwLjVMNTYsMTcuMUM1NC43LDE5LjMsNTIuNSwyMC42LDUwLDIwLjZ6Ii8+Cjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iNTEuNCwyMC40IDUxLDE3LjkgNTAuMiwxNSA1MS45LDE0LjYgNTEuOSwxNC4xIDUxLDEzLjkgNTEuMiwxMS4xIDQ5LjksMTEuMSA1MS43LDQuOSA2NC4zLDQuOSAKCTY2LjEsMTEuMSA2NC43LDExLjEgNjQuNywxMy45IDY0LDE0LjEgNjQsMTQuNSA2NS45LDE1IDY0LjMsMjAuNCAiLz4KPHBhdGggY2xhc3M9InN0MSIgZD0iTTYuMSwxOS40Yy0wLjUsMC0wLjktMC4xLTEuMy0wLjJIMS4ydi02LjloMC43Yy0wLjQtMC42LTAuNi0xLjMtMC43LTIuMWMwLTEuMSwwLjQtMi4yLDEuMi0zCgljMC45LTAuOSwyLjEtMS40LDMuNC0xLjRjMC42LDAsMS4yLDAuMSwxLjYsMC4ybDQuMywwLjJsLTEuOCw2YzAuNiwwLjYsMS4xLDEuNCwxLjIsMi41YzAuMSwxLjItMC4zLDIuMy0xLjEsMy4xCgljLTAuOSwxLTIuMywxLjUtMy43LDEuNUw2LjEsMTkuNHoiLz4KPHBhdGggY2xhc3M9InN0MSIgZD0iTTE0LDE5LjRjLTEuNSwwLTIuOS0wLjYtMy45LTEuNmMtMS4yLTEuMi0xLjgtMi44LTItNC43bC0wLjUtMC4xVjkuN2wxLjItMC4yYzAsMCwwLTAuMSwwLjEtMC4xCgljMS4xLTIuMywzLTMuNiw1LjMtMy42YzIuOSwwLDQuNCwyLDQuOSwzLjJsMC44LDJsLTEuNSwwLjN2MWgwLjJ2MS42bDEuOSwwLjRsLTEuNCwyLjJDMTguMiwxNy44LDE2LjcsMTkuNCwxNCwxOS40eiIvPgo8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjQuNSwxOS41Yy0wLjksMC0xLjYtMC4zLTIuMS0wLjZsLTAuMSwwLjRsLTEuMywwaC00LjJsLTAuNC0xLjFjLTAuMS0wLjItMC4xLTAuNC0wLjItMC42bC0wLjMtMS42bDEuMy0wLjMKCWwwLTIuNEwxNi40LDEzVjkuOWgtMC45bDEuMS0zLjhsNC45LDBjMC44LDAsMS41LDAuMSwyLDAuMkwyNSw1LjJsLTAuMywxLjZjMS4zLDAuNywyLDEuOCwyLjMsMi43aDAuOGwwLDJWMTNsLTAuOSwwLjEKCWMtMC4zLDAuOC0wLjgsMS42LTEuNCwyLjFjMCwwLDAsMCwwLDBsMS4yLTAuNGwxLjYsM2wtMS4zLDAuOWMtMC4yLDAuMS0xLDAuNy0yLjMsMC43TDI0LjUsMTkuNXoiLz4KPHBhdGggY2xhc3M9InN0MSIgZD0iTTM0LjUsMTkuMmgtOS40bC0xLTMuNGwxLjUtMC4zbDAtMi4xbC0wLjYsMGwwLjEtMS45VjkuNGwxLDBjMS4zLTMuMyw0LjEtMy4zLDUtMy4zaDQuOGwwLjksMy44SDM2VjEzCglsLTAuNywwLjFsMCwyLjRsMS4zLDAuM2wtMC4yLDEuNmMwLDAuMi0wLjEsMC41LTAuMSwwLjVsLTAuNCwxLjNMMzQuNSwxOS4yeiIvPgo8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNDEuNywxOS4yaC00LjNMMzcsMTcuOWMwLDAtMC4xLTAuMy0wLjEtMC41bC0wLjItMS42bDEuMy0wLjNsMC0yLjJoLTMuOWwwLjEtMS44YzAsMCwwLTAuNSwwLTEuNmwtMS4zLTAuMgoJbDAuNi0ybDAuNS0xLjVoMTIuOGwxLjEsMy42bC0xLjQsMC4yYzAsMS4xLDAsMS41LDAsMS41bDAuMSwxLjlsLTMuOSwwbDAsMi4ybDEuMywwLjNsLTAuMiwxLjZjMCwwLjItMC4xLDAuNS0wLjEsMC41bC0wLjQsMS4zCglMNDEuNywxOS4yeiIvPgo8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNTAsMTkuNGMtMS41LDAtMi45LTAuNi0zLjktMS42Yy0xLjItMS4yLTEuOC0yLjgtMi00LjdsLTAuNS0wLjFWOS43bDEuMi0wLjJjMCwwLDAtMC4xLDAuMS0wLjEKCWMxLjEtMi4zLDMtMy42LDUuMy0zLjZjMi45LDAsNC40LDIsNC45LDMuMmwwLjgsMmwtMS41LDAuM3YxaDAuMnYxLjZsMS45LDAuNEw1NSwxNi41QzU0LjIsMTcuOCw1Mi43LDE5LjQsNTAsMTkuNHoiLz4KPHBhdGggY2xhc3M9InN0MSIgZD0iTTUyLjQsMTkuMmwtMC4zLTEuNGwwLTAuMWwtMC41LTEuOGwxLjUtMC40bDAtMi40TDUyLjMsMTNsMC4yLTNoLTFsMS4xLTMuOGgxMC44bDEuMSwzLjhoLTF2M2wtMC43LDAuMXYyLjQKCWwxLjUsMC4zbC0xLDMuNEg1Mi40eiBNNjIuOSwxMi43TDYyLjksMTIuN3oiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTguMSwxMC45QzguMSw5LjMsNy40LDgsNiw4Yy0xLjksMC0yLjUsMi41LTEsMy41YzAuOCwwLjUsMS44LDAuMywyLDBsMC4yLDAuMmMtMC4yLDAuMiwwLDAuNywwLjMsMC45CgljMC42LDAuNCwxLjcsMS4xLDEuOCwyLjNjMC4yLDItMS43LDIuOC0zLjIsMi43Yy0xLjMtMC4xLTEuNy0wLjctMi4yLTAuN2MtMC41LDAtMC41LDAuNS0wLjUsMC41SDN2LTMuM2gwLjVjMCwxLjUsMS4xLDMuMSwyLjcsMy4xCgljMS4zLDAsMi4xLTAuOCwyLTIuMmMtMC4yLTEuNi0yLjQtMS45LTIuOS0xLjZMNSwxMy4zYzAuMi0wLjIsMC4xLTAuNi0wLjItMC43QzQsMTIuMSwzLDExLjMsMywxMC4xYzAtMS40LDEuMi0yLjUsMi44LTIuNQoJYzEuOSwwLDIuNywxLjIsMi43LDEuMmwwLjItMC45bDAuNywwbC0wLjksM0g4LjF6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNy41LDE1LjVjLTEuMiwxLjktMi43LDIuMS0zLjUsMi4xYy0yLjYsMC00LjEtMi40LTQuMS01LjJjMC0wLjYtMC4yLTAuOC0wLjUtMC45di0wLjJjMC41LTAuMSwwLjgtMC41LDEtMQoJYzAuNi0xLjIsMS43LTIuNiwzLjctMi42YzIuNCwwLDMuMywyLDMuMywyYy0wLjIsMC0wLjgsMC41LTAuOCwxLjVoLTAuNGMwLTEuOC0wLjYtMy4xLTIuMy0zLjFjLTEuNCwwLTIuMSwxLjMtMi4yLDEuOAoJYy0wLjEsMC43LDAuMSwxLjQsMC41LDEuNHYwLjJjLTAuNSwwLjEtMC45LDAuNC0wLjksMS42YzAsMS40LDAuNiw0LjEsMi43LDQuMWMxLjYsMCwyLjMtMS4zLDIuMi0zLjFoMC40CglDMTYuNywxNS4xLDE3LjQsMTUuNSwxNy41LDE1LjV6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMy4xLDE0LjZjMC4xLDAuOCwxLjIsMi45LDIuNywyLjRsMC4xLDAuM2MwLDAtMC41LDAuNC0xLjMsMC40Yy0xLjMsMC0yLjEtMC45LTIuOC0yLjRsMC4zLTAuNAoJYy0xLjUsMC0yLjEtMC41LTIuMS0wLjVzLTAuMSwxLTAuMSwxLjVjMCwwLjksMC40LDEuMSwxLjEsMS4zYzAsMC4xLTAuMSwwLjMtMC4xLDAuM2gtM2MwLDAtMC4xLTAuMi0wLjEtMC4zCgljMC43LTAuMiwxLjEtMC40LDEuMS0xLjN2LTMuMmMwLTAuOC0wLjQtMS4xLTAuNy0xLjJ2LTAuMmgwYzAuNCwwLDAuNy0wLjksMC43LTEuNmMwLTEuNS0xLjEtMS41LTEuMS0xLjVsMC4xLTAuM2gzLjMKCWMwLjgsMCwzLjUtMC4xLDQsMi41YzAuMSwwLjQsMC4zLDAuOCwwLjYsMC44aDB2MC4yYy0wLjMsMC0wLjUsMC4zLTAuNywwLjlDMjQuOCwxMy43LDIzLjgsMTQuMywyMy4xLDE0LjZ6IE0yMy42LDExLjR2LTAuMmgwCgljMC4zLDAsMC44LTAuNCwwLjYtMS4zYy0wLjItMS40LTEuNy0xLjYtMi40LTEuNmMtMC40LDAtMS43LDAuMS0xLjksMS40Yy0wLjIsMS41LDAuOCwxLjUsMC44LDEuNXYwLjJjLTAuNCwwLjEtMC44LDAuMy0wLjgsMS4yCgljMCwxLjEsMC45LDEuOCwxLjksMS44YzEuMywwLDIuNC0wLjcsMi40LTEuOEMyNC4zLDEyLDI0LjEsMTEuNiwyMy42LDExLjR6IE0yMi4yLDEwLjdjMC4yLDAuNiwwLjYsMC43LDAuNiwxLjMKCWMwLDAuNy0wLjgsMS4xLTAuOCwxLjFzMC4yLTAuNiwwLTEuMWMtMC4yLTAuNC0wLjUtMC42LTAuNS0xLjJjMC0wLjYsMC43LTEuMiwwLjctMS4yUzIyLjEsMTAuMiwyMi4yLDEwLjd6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zNC41LDE3LjFjMCwwLjEtMC4xLDAuMy0wLjEsMC4zaC0zYzAsMCwwLTAuMi0wLjEtMC4zYzAuNy0wLjIsMS4xLTAuNCwxLjEtMS4zYzAtMS43LTEuNS0zLjUtMy4zLTMuNWwwLjEtMC4zCgljMS40LTAuMSwyLjUsMC41LDMuMiwxLjRWOS45YzAtMS4yLTAuNi0xLjYtMS43LTEuNmMtMi4xLDAtMi40LDIuMi0yLjQsM3Y0LjZjMCwwLjksMC40LDEuMSwxLjEsMS4zbC0wLjEsMC4zaC0zbC0wLjEtMC4zCgljMC43LTAuMiwxLjEtMC40LDEuMS0xLjN2LTMuMmMwLDAsMC0xLjItMC41LTEuMnYtMC4yYzAuNSwwLDAuNi0wLjUsMC42LTAuNWMwLjgtMi45LDIuNi0yLjksMy42LTIuOWgzLjNsMC4xLDAuM2MwLDAtMSwwLTEuMSwxLjUKCWMwLDEsMC4zLDEuNiwwLjcsMS42djAuMmMtMC41LDAuMS0wLjcsMC42LTAuNywxLjJ2My4yQzMzLjUsMTYuOCwzMy45LDE3LDM0LjUsMTcuMXoiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTQ0LjUsOS41YzAsMS41LDAsMiwwLDJoLTAuM2MwLDAsMC4zLTEuNS0xLTEuNWwwLTAuM2MwLjcsMCwwLjctMS41LTAuOC0xLjVjLTEuMSwwLTEuNiwwLjUtMS43LDEuNAoJYy0wLjEsMSwwLjMsMS41LDAuNywxLjV2MC4yYy0wLjMsMC4xLTAuNywwLjMtMC43LDEuMnYzLjJjMCwwLjksMC40LDEuMSwxLjEsMS4zYzAsMC4xLTAuMSwwLjMtMC4xLDAuM2gtM2MwLDAsMC0wLjItMC4xLTAuMwoJYzAuNy0wLjIsMS4xLTAuNCwxLjEtMS4zdi0zLjJjMC0wLjgtMC4zLTEuMS0wLjctMS4ydi0wLjJjMC40LTAuMSwwLjgtMC41LDAuNy0xLjVjLTAuMS0wLjktMC42LTEuNC0xLjgtMS40CgljLTEuNCwwLTEuNCwxLjQtMC43LDEuNGwwLDAuM2MtMS4zLDAtMSwxLjQtMSwxLjVoLTAuM2MwLDAsMC0wLjUsMC0yYzAtMS4xLTAuNC0xLjMtMC44LTEuM2wwLjEtMC4zaDEwLjFsMC4xLDAuMwoJQzQ0LjksOC4yLDQ0LjUsOC40LDQ0LjUsOS41eiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTMuNSwxNS41Yy0xLjIsMS45LTIuNywyLjEtMy41LDIuMWMtMi42LDAtNC4xLTIuNC00LjEtNS4yYzAtMC42LTAuMi0wLjgtMC41LTAuOXYtMC4yYzAuNS0wLjEsMC44LTAuNSwxLTEKCWMwLjYtMS4yLDEuNy0yLjYsMy43LTIuNmMyLjQsMCwzLjMsMiwzLjMsMmMtMC4yLDAtMC44LDAuNS0wLjgsMS41aC0wLjRjMC0xLjgtMC42LTMuMS0yLjMtMy4xYy0xLjQsMC0yLjEsMS4zLTIuMiwxLjgKCWMtMC4xLDAuNywwLjEsMS40LDAuNiwxLjR2MC4yYy0wLjUsMC4xLTAuOSwwLjQtMC45LDEuNmMwLDEuNCwwLjYsNC4xLDIuNyw0LjFjMS42LDAsMi4zLTEuMywyLjItMy4xaDAuNAoJQzUyLjcsMTUuMSw1My4zLDE1LjUsNTMuNSwxNS41eiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNjIuMSwxNy4xbC0wLjEsMC4zaC0zYzAsMCwwLTAuMi0wLjEtMC4zYzAuNy0wLjIsMS4xLTAuNCwxLjEtMS4zVjEzYzAtMC45LTAuNi0xLjQtMS4yLTEuNGgtMS43CgljLTAuOSwwLTEuMywwLjQtMS4zLDEuNHYyLjljMCwwLjksMC40LDEuMSwxLjEsMS4zbC0wLjEsMC4zaC0zYzAsMCwwLTAuMi0wLjEtMC4zYzAuNy0wLjIsMS4xLTAuNCwxLjEtMS4zdi0zLjIKCWMwLTAuOC0wLjMtMS4xLTAuNy0xLjJsMC0wLjJjMC40LDAsMC43LTAuOSwwLjctMS42YzAtMS41LTEuMS0xLjUtMS4xLTEuNWwwLjEtMC4zaDNsMC4xLDAuM2MwLDAtMS4xLDAtMS4xLDEuNQoJYzAsMS4yLDAuNCwxLjYsMS4zLDEuNmgxLjdjMC43LDAsMS4yLTAuNywxLjItMS42YzAtMS41LTEuMS0xLjUtMS4xLTEuNWwwLjEtMC4zaDNsMC4xLDAuM2MwLDAtMS4xLDAtMS4xLDEuNQoJYzAsMC44LDAuMywxLjYsMC43LDEuNnYwLjJjLTAuMywwLjEtMC43LDAuNS0wLjcsMS4zdjMuMUM2MS4xLDE2LjgsNjEuNCwxNyw2Mi4xLDE3LjF6Ii8+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/menu-bar/prehistoric-logo.svg" /*!******************************************************!*\ !*** ./src/components/menu-bar/prehistoric-logo.svg ***! \******************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/prehistoric-logo.98bfc66ce081a3750f3b.svg"; /***/ }, /***/ "./src/components/menu-bar/scratch-logo.svg" /*!**************************************************!*\ !*** ./src/components/menu-bar/scratch-logo.svg ***! \**************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJMYXllcl8xIiB2aWV3Qm94PSIwIDAgNjYuMSAyNC43Ij48c3R5bGU+LnN0MHtmaWxsOiNmZmZ9LnN0MXtmaWxsOiNmOWE4M2F9PC9zdHlsZT48c3dpdGNoPjxnPjxnPjxnPjxwYXRoIGQ9Ik02MC4yIDI0LjFjLS44LjEtMS4zLjEtMS41LjItLjQuMi0xLjMuNC0yLjQuNC0xLjQgMC0yLjctLjUtMy44LTEuM2gtLjhjLS4zIDAtLjUgMC0uOC0uMS0xLjEuNC0yLjEuNC0yLjcuNEg0OGMtMS40LjEtMi44LS4yLTQtLjgtLjYuMi0xLjEuMy0xLjcuM2wtMy43LjFjLTEuNyAwLTMuMi0uNi00LjQtMS43LS41IDAtMS0uMS0xLjQtLjItLjYuNy0xLjQgMS4zLTIuNCAxLjgtMS45LjktNCAxLTYgLjItLjItLjEtLjUtLjItLjctLjNsLTIuMy4zaC0uN2MtLjMuMS0uNS4zLS43LjQtMS41LjctMi45LjctMy41LjdIMTZjLTEuNyAwLTMuNC0uNS00LjctMS40LS40LjEtLjkuMi0xLjMuMi0uOS42LTIgMS0zLjIgMS4xaC0uNGMtMy4zIDAtNi0yLjUtNi4zLTUuOHYtLjFjMC0uNS0uMS0xLjYgMC0yLjggMC0uNi4xLTEuNS4xLTEuNyAwLS44LjItMS42LjUtMi40LS4yLS44LS4xLTEuNiAwLTIuNHYtLjNjLjEtLjcuMy0yLjEgMS0zLjVDMyAzIDUuNCAxLjUgOC4xIDEuNSA5IDEgOS45LjggMTAuOS44aC4zYzIgLjEgMy44IDEuMSA0LjkgMi43LjktLjggMi0xLjMgMy4yLTEuNSAyLjQtLjMgNC40LS40IDYuMS0uMS45LS44IDIuMS0xLjQgMy4zLTEuNWwyLjYtLjRoLjhjMS41IDAgMyAuNiA0LjIgMS42aC4ybDMuOC0uMWMxLjYgMCAzLS4xIDMuMy0uMWguNWMxLjQgMCAyLjkuNSA0IDEuNCAxLjEtLjggMi40LTEuMiAzLjgtMS4yaDEuM2MxLS42IDIuMS0xIDMuMy0xbDMuMi0uMWguMWMzLjQgMCA2LjIgMi44IDYuMyA2LjIgMCAxLjYtLjUgMy0xLjUgNC4ydjIuOWMuOSAxIDEuNCAyLjMgMS41IDMuNy4yIDMuNC0yLjQgNi4zLTUuOSA2LjZ6IiBjbGFzcz0ic3QwIi8+PC9nPjxwYXRoIGQ9Ik02MCAyMC41Yy0xLjMuMS0yLjEuMi0yLjMuM2wtLjEuMWMtLjMuMS0uNy4zLTEuMi4zLS42IDAtMS4zLS4yLTEuOC0uNy0uMi0uMi0uNC0uNC0uNS0uNmgtMi4zYy0uNCAwLS44LS4xLTEuMS0uMy0uMS4xLS4zLjEtLjQuMi0uOC40LTEuNS40LTIgLjRoLS41Yy0xLjUgMC0yLjctLjUtMy41LTEuNC0uNS41LTEuMi44LTEuOS44bC0zLjcuMWMtMS4zIDAtMi41LTEtMi43LTIuMi0uNS4zLTEgLjUtMS42LjUtLjYgMC0xLjItLjItMS43LS41LS4xLS4xLS4yLS4yLS4zLS4yLS4zLjItLjcuMi0xLjEuMkgzMWMtLjQgMS4yLTEuMSAyLTIuMiAyLjUtLjUuMi0xLjEuNC0xLjYuNHMtMS4xLS4xLTEuNi0uM2MtLjUtLjItLjktLjUtMS4yLS44LS4yLjEtLjQuMS0uNi4ybC0yLjkuNGgtLjRjLS4zIDAtLjUgMC0uOC0uMS0uNC40LS45LjYtMS4zLjgtLjguNC0xLjUuNC0yIC40aC0uNWMtMS44IDAtMy4yLS44LTQtMS45LS44LjUtMS44LjgtMi43LjhoLS42YzAgLjEtLjEuMS0uMS4yLS41LjUtMS4yLjktMS45LjloLS4yYy0xLjQgMC0yLjYtMS4xLTIuNy0yLjZ2LS4xYzAtLjUtLjEtMS40IDAtMi40IDAtLjcuMS0xLjguMS0xLjggMC0uNy4zLTEuMy43LTEuOC0uNC0uOC0uNS0xLjctLjMtMi43di0uMmMuMS0uNi4yLTEuNS42LTIuNC43LTEuMyAyLTIgMy41LTJIOWMuNS0uNCAxLjEtLjcgMS44LS43IDEuNSAwIDIuNyAxLjMgMi43IDIuOHYxLjFjLjUtLjIgMS4xLS4zIDEuNy0uMy4zIDAgLjUgMCAuOC4xLjQtLjUgMS0uOCAxLjYtLjkuMS0uMi4yLS4zLjMtLjUuNC0uNiAxLjEtMSAxLjgtMS4xLjYtLjEgMS44LS4yIDMuMi0uMiAxLjYgMCAyLjkuMiAzLjkuNy4zLTEuMSAxLjEtMS45IDIuMy0yLjFsMi42LS40aC40Yy44IDAgMS41LjMgMiAuOS4yLjIuNS42LjYuOWwuMS4zYy41LS4zIDEtLjUgMS42LS41bDMuOS0uMWMxLjkgMCAzLjYtLjEgMy42LS4yaC4yYy43IDAgMS41LjMgMiAuOC40LjQuNy45LjggMS41aC4yYy4zIDAgLjUgMCAuOC4xLjQtLjUgMS0uOCAxLjYtLjkuNS0uNyAxLjQtMS4zIDIuNC0xLjNoMi42Yy41LS42IDEuMi0xIDIuMS0xaDMuMmMxLjUgMCAyLjcgMS4yIDIuOCAyLjcgMCAxLjEtLjYgMi4xLTEuNSAyLjV2Ni4xYy44LjQgMS40IDEuMyAxLjUgMi4zLjEgMS41LTEuMSAyLjgtMi42IDIuOXoiIGNsYXNzPSJzdDEiLz48cGF0aCBkPSJNMzIuMyA4LjVsLS43IDMuNiAyLS4zeiIgY2xhc3M9InN0MSIvPjxwYXRoIGQ9Ik04LjQgMTJjLS43LS4xLTEuMS0uNi0uOS0ydi0uMmMuMi0xLjIuMy0xLjUuOS0xLjUuMiAwIC40LjEuNi4zLjIuMi42LjUuOCAxLjEuMi40LjIuNy4zIDF2LjRjMCAuMi4yLjQuNS41LjMuMS42LS4yLjctLjUgMCAwIC4yLTMuOC4yLTMuOSAwLS4zLS4zLS42LS42LS42cy0uNi4zLS42LjZ2MS4xYy0uNS0uNS0xLjEtMS0xLjgtMUM2LjYgNyA2LjQgOC43IDYuMyA5Ljd2LjJjLS4yIDEuOS40IDMuMSAxLjkgMy40IDEuNi4zIDIuNy42IDIuNyAxLjYgMCAuNC0uMi44LS42IDEuMS0uNC40LTEgLjUtMS42LjQtLjIgMC0uMy0uMS0uNS0uMS0uMi0uMS0uOC0uNC0xLS44LS4xLS40LS4yLS45LS4yLTEuMnYtLjJjMC0uMy0uMy0uNi0uNi0uNnMtLjYuMy0uNi42YzAgMCAwIDEuMi0uMSAxLjktLjEgMS4yIDAgMi4xIDAgMi4yIDAgLjMuMy42LjYuNnMuNi0uMy42LS42di0xLjFjLjQuMyAxIC42IDEuNy43LjkuMiAxLjgtLjEgMi41LS43LjYtLjUgMS0xLjMgMS0yIDAtMi41LTIuNS0yLjktMy43LTMuMU0yNS4yIDEwLjNjLS4xLjEtLjIuMi0uNC4zLS4xLjEtLjQuMi0uNS4ybC0uMy4xYy0uNC4yLTEgLjMtMS42LjRWOC41YzEuNiAwIDMgLjEgMy4zLjZ2LjJjMCAuMi0uMi42LS41IDFtMy41IDUuNGMtLjMtLjEtLjcuMS0uOC40LS4yLjctLjQuNy0uNS44LS4xLjEtLjMgMC0uNi0uMSAwIDAtLjEtLjItLjItLjMtLjEtLjItLjItMS0uMi0xLjUgMC0xLjgtLjQtMi44LS45LTMuMy4zLS4yLjYtLjUuNi0uNS43LTEgLjktMS44LjUtMi41LTEtMS43LTUuMy0xLjItNi43LTEtLjMgMC0uNi40LS41LjcgMCAuMy40LjYuNy41LjMgMCAuNi0uMS45LS4xdjIuOGgtLjNjLS4zIDAtLjYuMy0uNi42cy4zLjYuNi42aC4zdjMuNWwtLjguMWMtLjMgMC0uNi40LS41LjcgMCAuMy40LjYuNy41bDIuOS0uNGMuMyAwIC42LS40LjUtLjcgMC0uMy0uNC0uNi0uNy0uNWwtLjkuMXYtMy41Yy42LS4xIDEuMS0uMiAxLjYtLjRoLjJjLjIgMCAuNC4xLjUuMy4yLjMuNC45LjUgMi40IDAgLjMuMSAxLjUuMyAyIC4xLjIuNC43LjkuOS40LjEuOS4zIDEuNSAwIC41LS4zLjktLjYgMS4xLTEuNS40LS4yLjItLjUtLjEtLjZNNTAuNSAxMy44Yy0uMyAwLS42LjMtLjYuNnYuOGMwIC4zLS4xLjctLjIuOC0uMS4yLS4yLjMtLjQuNS0uMS4xLS4zLjItLjUuMy0uMi4xLS4zLjEtLjcuMWgtLjRjLTEuNi4xLTEuOC0xLjItMS44LTEuNXYtMi42Yy4xLTEgLjMtMS43LjctMiAuMy0uMi43LS4xIDEuNC4xLjguMyAxLjMgMS4yIDEuNCAxLjIuMS4yLjQuMy43LjMuMy0uMS40LS4zLjQtLjZWOS4xYzAtLjMtLjMtLjYtLjYtLjZzLS42LjMtLjYuNnYxLjFjLS4yLS4yLS41LS4zLS44LS41LS4zLS4yLTEuNS0uNy0yLjQtLjEtLjcuNS0xLjIgMS40LTEuMyAyLjl2Mi44Yy4xLjkuOCAyLjcgMyAyLjdoLjNjLjQgMCAuOCAwIDEuMi0uMi4zLS4xLjYtLjMuOS0uNi4yLS4yLjMtLjQuNS0uNy4yLS40LjMtMS4xLjQtMS4zdi0xYzAtLjItLjMtLjQtLjYtLjRNNjAuNCAxNy44YzAtLjMtLjMtLjYtLjYtLjYtLjIgMC0uNSAwLS44LjEgMC0xIDAtMy4xLS4xLTkuOWguOWMuMyAwIC42LS4zLjYtLjZzLS4zLS42LS42LS42bC0zLjIuMWMtLjMgMC0uNi4zLS42LjZzLjMuNi42LjZoMXY0LjJsLTMuNi42VjguNWgxYy4zIDAgLjYtLjMuNi0uNnMtLjMtLjYtLjYtLjZoLTMuMmMtLjMgMC0uNi4zLS42LjZzLjMuNi42LjZoMXY4LjFoLTFjLS4zIDAtLjYuMy0uNi42cy4zLjYuNi42bDMuMy4xYy4zIDAgLjYtLjMuNi0uNnMtLjMtLjYtLjYtLjZoLTF2LTMuMWwzLjYtLjZ2NC42Yy0uOC4yLTEuNC4yLTEuNy42LS4yLjItLjIuNi4xLjguMi4yLjUuMS45IDAgLjMtLjIgMS41LS4zIDIuOS0uNC4zLS4yLjUtLjUuNS0uOCIgY2xhc3M9InN0MCIvPjxwYXRoIGQ9Ik0zMS42IDEyLjFsLjctMy42IDEuMyAzLjMtMiAuM3ptNS4zIDFjLS4yLjEtLjUuMi0xLjEuNWwtLjgtMS45LTIuMy01LjVjMC0uMS0uMS0uMy0uMi0uMy0uMS0uMS0uMy0uMi0uNS0uMmwtMi42LjNjLS4zIDAtLjYuMy0uNS43IDAgLjMuMy42LjcuNSAwIDAgMS0uMSAxLjgtLjItLjIgMS4xLTEuMSA1LjYtMS40IDdsLTEuOC0uMWMtLjMgMC0uNi4yLS42LjYgMCAuMy4yLjYuNi42bDMgLjFjLjMgMCAuNi0uMi42LS42IDAtLjMtLjItLjYtLjYtLjZsLjEtLjkgMi44LS41LjYgMS41Yy0uNS4zLS43LjQtMSAuNy0uMi4zLS4xLjYuMS44LjMuMi43LjEuOS0uMS4zLS40IDEuNC0uOSAyLjUtMS4zLjMtLjEuNS0uNS40LS44LS4xLS4yLS40LS40LS43LS4zIiBjbGFzcz0ic3QwIi8+PHBhdGggZD0iTTQ0LjEgN3MtMS44LjEtMy44LjJsLTMuOS4xYy0uMiAwLS4zLjEtLjUuMi0uMS4xLS4yLjMtLjEuNWwuNSAzYzAgLjMuNC42LjcuNS4zIDAgLjUtLjMuNS0uNiAwIDAtLjItMS42LS40LTIuNGgyLjZ2Ny45aC0xLjNjLS4zIDAtLjYuMy0uNi42cy4zLjYuNi42bDMuNy0uMWMuMyAwIC42LS4zLjYtLjZzLS4zLS42LS42LS42aC0xLjJWOC40YzEgMCAxLjktLjEgMi41LS4xdjEuMmMwIC42LjEuOC4xLjkuMi4zLjUuNC44LjIuMi0uMS4zLS40LjMtLjYgMCAwIDAtMS40LjEtMi4yIDAtLjIgMC0uMy0uMi0uNSAwLS4yLS4yLS4zLS40LS4zTTE4LjYgMTQuNGMtLjMgMC0uNi4zLS42LjZWMTUuOWMwIC4yLS4xLjYtLjIuOC0uMS4yLS4yLjMtLjQuNS0uMS4xLS4zLjItLjUuMy0uMi4xLS4zLjEtLjcuMWgtLjRjLTEuNiAwLTEuOC0xLjItMS44LTEuNXYtMi42Yy4xLTEgLjMtMS43LjctMiAuMy0uMi43LS4xIDEuNC4xLjguMyAxLjQgMS4yIDEuNCAxLjIuMS4yLjQuMy43LjMuMy0uMS40LS4zLjQtLjZWOS44YzAtLjMtLjMtLjYtLjYtLjZzLS42LjMtLjYuNnYxLjFjLS4yLS4yLS41LS40LS44LS41LS40LS4yLTEuNS0uNi0yLjUtLjEtLjcuNS0xLjIgMS40LTEuMyAyLjlWMTZjLjEuOS44IDIuNyAzLjEgMi43aC4zYy40IDAgLjggMCAxLjItLjIuMy0uMS42LS4zLjktLjYuMi0uMi4zLS40LjUtLjcuMi0uNC4zLTEuMS40LTEuM3YtMWMwLS4yLS4zLS41LS42LS41IiBjbGFzcz0ic3QwIi8+PC9nPjwvZz48L3N3aXRjaD48L3N2Zz4K"; /***/ }, /***/ "./src/components/mic-indicator/mic-indicator.svg" /*!********************************************************!*\ !*** ./src/components/mic-indicator/mic-indicator.svg ***! \********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNzJweCIgaGVpZ2h0PSI3MnB4IiB2aWV3Qm94PSIwIDAgNzIgNzIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUxLjMgKDU3NTQ0KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5taWMtaW5kaWNhdG9yPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgIAk8IVtDREFUQVsKICAgIAlALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2F0ZSB7CiAgICAJCTAlICAgIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO30KICAgIAkJMTAwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpO30KICAgIAl9CiAgICAJIEBrZXlmcmFtZXMgcHVsc2F0ZSB7CiAgICAJCSAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO30KICAgICAgICAgICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpO30KICAgIAkgfQogICAgCSAjb3V0ZXIyIHsKICAgIAkJIHRyYW5zZm9ybS1vcmlnaW46IDM2cHggMzZweDsKICAgIAkJIC13ZWJraXQtYW5pbWF0aW9uOiBwdWxzYXRlIDAuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGUgYWx0ZXJuYXRlOwogICAgCQkgYW5pbWF0aW9uOiAJCXB1bHNhdGUgMC41cyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7CiAgICAJIH0KICAgIAldXT4KICAgIDwvc3R5bGU+CiAgICA8ZGVmcz4KICAgICAgICA8cmVjdCBpZD0icGF0aC0xIiB4PSIxMiIgeT0iMTIiIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgcng9IjI0Ij48L3JlY3Q+CiAgICAgICAgPGZpbHRlciB4PSItMjUuMCUiIHk9Ii0yNS4wJSIgd2lkdGg9IjE1MC4wJSIgaGVpZ2h0PSIxNTAuMCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMCIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNCIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC41IDAiIHR5cGU9Im1hdHJpeCIgaW49InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJtaWMtaW5kaWNhdG9yIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8Y2lyY2xlIGlkPSJvdXRlcjIiIGZpbGwtb3BhY2l0eT0iMC41IiBmaWxsPSIjRkY2NjgwIiBjeD0iMzYiIGN5PSIzNiIgcj0iMzYiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgaWQ9Im91dGVyMSIgZmlsbC1vcGFjaXR5PSIwLjc1IiBmaWxsPSIjRkY2NjgwIiBjeD0iMzYiIGN5PSIzNiIgcj0iMzAiPjwvY2lyY2xlPgogICAgICAgIDxnIGlkPSJpbm5lciI+CiAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci0yKSIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgIDx1c2UgZmlsbD0iI0ZGNjY4MCIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICA8L2c+CiAgICAgICAgPHBhdGggZD0iTTM2Ljk5NjMzNDgsNDQuNzYyMzAxNCBMMzYuOTk2MzM0OCw0OC4yODg0MjMxIEMzNi45OTYzMzQ4LDQ5LjAwMTk0NTQgMzYuNDE3OTEwNyw0OS41ODAzNjk1IDM1LjcwNDM4ODQsNDkuNTgwMzY5NSBDMzQuOTkwODY2MSw0OS41ODAzNjk1IDM0LjQxMjQ0Miw0OS4wMDE5NDU0IDM0LjQxMjQ0Miw0OC4yODg0MjMxIEwzNC40MTI0NDIsNDQuNzYyMjg1NiBDMzAuNjA1OTc1LDQ0LjI5OTg1MzMgMjcuMzI2NTk0Niw0MS44MTczNjMzIDI1LjgxNzQwNzYsMzguMjU0OTggQzI1LjUzOTA3NDEsMzcuNTk3OTgzNCAyNS44NDYwNDExLDM2LjgzOTc0ODUgMjYuNTAzMDM3NywzNi41NjE0MTUgQzI3LjE2MDAzNDMsMzYuMjgzMDgxNCAyNy45MTgyNjkyLDM2LjU5MDA0ODUgMjguMTk2NjAyNywzNy4yNDcwNDUxIEMyOS40NzM5ODcyLDQwLjI2MjI2NjYgMzIuNDA5Mzg2Nyw0Mi4yNTY0MzE2IDM1LjcwNDM4ODQsNDIuMjU2NDMxNiBDMzkuMDEzNzA1OSw0Mi4yNTY0MzE2IDQxLjk1NzA5NTEsNDAuMjQ1NjI2NSA0My4yMzA5Njc1LDM3LjIwNzA4NjIgQzQzLjUwNjg0MDQsMzYuNTQ5MDUyNiA0NC4yNjM5MjEyLDM2LjIzOTI1MDIgNDQuOTIxOTU0OCwzNi41MTUxMjMgQzQ1LjU3OTk4ODQsMzYuNzkwOTk1OSA0NS44ODk3OTA4LDM3LjU0ODA3NjcgNDUuNjEzOTE4LDM4LjIwNjExMDMgQzQ0LjEwOTQwMzgsNDEuNzk0Nzk1MyA0MC44MjAxODY4LDQ0LjI5NzgwODkgMzYuOTk2MzM0OCw0NC43NjIzMDE0IFogTTM1LjcwOTI5NzgsMzguODc3NTY2OCBDMzMuMjEwNjczNCwzOC44Nzc1NjY4IDMxLjE4NDkwMTUsMzYuODI5Mjg2MyAzMS4xODQ5MDE1LDM0LjMwMjg5OTQgTDMxLjE4NDkwMTUsMjcuNTc1NDQ3NCBDMzEuMTg0OTAxNSwyNS4wNDkwNjA1IDMzLjIxMDY3MzQsMjMuMDAwNzggMzUuNzA5Mjk3OCwyMy4wMDA3OCBDMzguMjEwNTA2LDIzLjAwMDc4IDQwLjIzNjI3OCwyNS4wNDkwNjA1IDQwLjIzNjI3OCwyNy41NzU0NDc0IEw0MC4yMzYyNzgsMzQuMzAyODk5NCBDNDAuMjM2Mjc4LDM2LjgyOTI4NjMgMzguMjEwNTA2LDM4Ljg3NzU2NjggMzUuNzA5Mjk3OCwzOC44Nzc1NjY4IFoiIGlkPSJpY29uIiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/play-button/icon--play.svg" /*!***************************************************!*\ !*** ./src/components/play-button/icon--play.svg ***! \***************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjQ5cHgiIGhlaWdodD0iNTJweCIgdmlld0JveD0iLTUgMCA0OSA0OCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNDMuMiAoMzkwNjkpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPnBsYXk8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMTcuMjIxNDY1MSw4LjM0NDk5NDQzIEMxOS43NzY2NDE5LDQuMDg2MzY2NTMgMjMuOTIzNDA1Nyw0LjA5MzAzOTQ2IDI2LjQ3NDU3ODcsOC4zNDQ5OTQ0MyBMNDAuMTUyMDk3NCwzMS4xNDA4NTkgQzQyLjcwNzI3NDEsMzUuMzk5NDg2OSA0MC43NDg5NjcyLDM4Ljg1MTc4NjkgMzUuNzcyNjYzNywzOC44NTE3ODY5IEw3LjkyMzM4MDA2LDM4Ljg1MTc4NjkgQzIuOTQ5NTA4OSwzOC44NTE3ODY5IDAuOTkyNzczNDI5LDM1LjM5MjgxNCAzLjU0Mzk0NjQxLDMxLjE0MDg1OSBMMTcuMjIxNDY1MSw4LjM0NDk5NDQzIFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4KICAgICAgICA8ZmlsdGVyIHg9Ii0xNi43JSIgeT0iLTE5LjMlIiB3aWR0aD0iMTMzLjUlIiBoZWlnaHQ9IjEzOC42JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMi41IiBvcGVyYXRvcj0iZGlsYXRlIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93U3ByZWFkT3V0ZXIxIj48L2ZlTW9ycGhvbG9neT4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMCIgaW49InNoYWRvd1NwcmVhZE91dGVyMSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0ib3V0IiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAuMjk4MDM5MjE2ICAgMCAwIDAgMCAwLjU5MjE1Njg2MyAgIDAgMCAwIDAgMSAgMCAwIDAgMC4xIDAiIHR5cGU9Im1hdHJpeCIgaW49InNoYWRvd09mZnNldE91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IkRlc2t0b3AtLS0xMjgweDcyMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYyMy4wMDAwMDAsIC0zNDcuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJTdGVwLTMtLS1BbHRlcmluZy1TdWdnZXN0ZWQtVHJpbSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDQyLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9IlBsYXktLy1SZWNvcmQtLy1TdG9wIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MjMuMDAwMDAwLCAzMDcuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9InBsYXkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIxLjg0OTEzMSwgMjIuMDAyNjU2KSByb3RhdGUoOTAuMDAwMDAwKSB0cmFuc2xhdGUoLTIxLjg0OTEzMSwgLTIyLjAwMjY1NikgIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/play-button/icon--stop.svg" /*!***************************************************!*\ !*** ./src/components/play-button/icon--stop.svg ***! \***************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjUycHgiIGhlaWdodD0iNTJweCIgdmlld0JveD0iMCAwIDUyIDUyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c3RvcC1wbGF5YmFjazwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxyZWN0IGlkPSJwYXRoLTEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgcng9IjQiPjwvcmVjdD4KICAgICAgICA8ZmlsdGVyIHg9Ii0xMy42JSIgeT0iLTEzLjYlIiB3aWR0aD0iMTI3LjMlIiBoZWlnaHQ9IjEyNy4zJSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMiIgb3BlcmF0b3I9ImRpbGF0ZSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSI+PC9mZU1vcnBob2xvZ3k+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjAiIGluPSJzaGFkb3dTcHJlYWRPdXRlcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd09mZnNldE91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVDb21wb3NpdGU+CiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwLjI5ODAzOTIxNiAgIDAgMCAwIDAgMC41OTIxNTY4NjMgICAwIDAgMCAwIDEgIDAgMCAwIDAuMSAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJEZXNrdG9wLS0tMTI4MHg3MjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MTkuMDAwMDAwLCAtMzQ1LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0iU3RlcC00LS0tUGxheWluZy1UcmltIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgNDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iUGxheS0vLVJlY29yZC0vLVN0b3AiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYyMy4wMDAwMDAsIDMwNy4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0ic3RvcC1wbGF5YmFjayI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci0yKSIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEiIHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iNDMiIGhlaWdodD0iNDMiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/question/icon--enter.svg" /*!*************************************************!*\ !*** ./src/components/question/icon--enter.svg ***! \*************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUxLjIgKDU3NTE5KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5HZW5lcmFsL0NoZWNrPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggZD0iTTcuODYxNDQwNTksMTUuNDAyODc3NiBDNy40MzUyNjg1OSwxNS40MDI4Nzc2IDcuMDA5MDk2NTgsMTUuMjM5NzMzNiA2LjY4NDQ3MzM4LDE0LjkxNTExMDQgTDMuNDg4MTgzMzYsMTEuNzE4ODIwNCBDMi44MzcyNzIyMSwxMS4wNjc5MDkzIDIuODM3MjcyMjEsMTAuMDE1Nzk3MSAzLjQ4ODE4MzM2LDkuMzY0ODg2IEM0LjEzOTA5NDUsOC43MTM5NzQ4NSA1LjE5MTIwNjY0LDguNzEzOTc0ODUgNS44NDIxMTc3OCw5LjM2NDg4NiBMNy44NjE0NDA1OSwxMS4zODQyMDg4IEwxNC4xNTkxMzA4LDUuMDg4MTgzMzYgQzE0LjgwODM3NzIsNC40MzcyNzIyMSAxNS44NjIxNTQsNC40MzcyNzIyMSAxNi41MTMwNjUyLDUuMDg4MTgzMzYgQzE3LjE2MjMxMTYsNS43Mzc0Mjk3NyAxNy4xNjIzMTE2LDYuNzkxMjA2NjQgMTYuNTEzMDY1Miw3LjQ0MjExNzc4IEw5LjAzODQwNzgsMTQuOTE1MTEwNCBDOC43MTM3ODQ2LDE1LjIzOTczMzYgOC4yODc2MTI1OSwxNS40MDI4Nzc2IDcuODYxNDQwNTksMTUuNDAyODc3NiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IkdlbmVyYWwvQ2hlY2siIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICA8L21hc2s+CiAgICAgICAgPHVzZSBpZD0iQ2hlY2siIGZpbGw9IiM1NzVFNzUiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgIDxnIGlkPSJDb2xvci9XaGl0ZSIgbWFzaz0idXJsKCNtYXNrLTIpIiBmaWxsPSIjRkZGRkZGIj4KICAgICAgICAgICAgPHJlY3QgaWQ9IkNvbG9yIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjwvcmVjdD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/record-modal/icon--back.svg" /*!****************************************************!*\ !*** ./src/components/record-modal/icon--back.svg ***! \****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjE4cHgiIGhlaWdodD0iOHB4IiB2aWV3Qm94PSIwIDAgMTggOCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNDMuMiAoMzkwNjkpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPnJlLXJlY29yZDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJEZXNrdG9wLS0tMTI4MHg3MjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00NDYuMDAwMDAwLCAtNDU0LjAwMDAwMCkiIGZpbGw9IiM4NTVDRDYiPgogICAgICAgICAgICA8ZyBpZD0iU3RlcC00LS0tUGxheWluZy1UcmltIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgNDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iUmUtcmVjb3JkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MzQuMDAwMDAwLCA0MDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIzLjY5NTE3NzMsMTguMDg4NjI3MiBMMjAuNTA4NTIwNCwyMS4yODA2ODQxIEMyMC4yNjkxMTYyLDIxLjUxNDY4ODMgMTkuOTQ1MTEwNCwyMS42NDY2OTA3IDE5LjYwODUwNDQsMjEuNjQ2NjkwNyBDMTkuMjczMDk4NCwyMS42NDY2OTA3IDE4Ljk0OTA5MjYsMjEuNTE0Njg4MyAxOC43MDg0ODgzLDIxLjI4MDY4NDEgTDE1LjUyMzAzMTUsMTguMDg4NjI3MiBDMTUuMTU3MDI1LDE3LjcyMjYyMDcgMTUuMDQ5MDIzLDE3LjE3NjYxMDkgMTUuMjQ3MDI2NiwxNi43MDI2MDI1IEMxNS40NDUwMzAxLDE2LjIyODU5NCAxNS45MDEwMzgyLDE1LjkyMjU4ODYgMTYuNDE3MDQ3NCwxNS45MjI1ODg2IEwxNy41NjMwNjc5LDE1LjkyMjU4ODYgQzE3LjUzMzA2NzMsMTUuNjQ2NTgzNiAxNy40NTUwNjYsMTUuMzM0NTc4MSAxNy4zMjMwNjM2LDE1LjAwNDU3MjIgQzE3LjI4MTY2MjksMTQuOTA4NTcwNSAxNy4yMzkwNjIxLDE0LjgxMjU2ODggMTcuMTkxMDYxMiwxNC43MTY1NjcgQzE3LjEyNTA2MDEsMTQuNjA4NTY1MSAxNy4xMzE2NjAyLDE0LjU3ODU2NDYgMTcuMDQxMDU4NiwxNC40NDY1NjIyIEMxNi44OTcwNTYsMTQuMjMwNTU4NCAxNi43NjUwNTM2LDE0LjA2ODU1NTUgMTYuNjA4NDUwOSwxMy44ODI1NTIyIEMxNi4yOTEwNDUyLDEzLjU0MDU0NjEgMTUuOTA3MDM4MywxMy4yNDY1NDA4IDE1LjQ5OTAzMTEsMTMuMDMwNTM3IEMxNS4wODUwMjM3LDEyLjgxNDUzMzEgMTQuNjUzMDE2LDEyLjY4MjUzMDggMTQuMjY5MDA5MSwxMi42MTA1Mjk1IEMxMy44OTEwMDI0LDEyLjU0NDUyODMgMTMuNTQyOTk2MiwxMi41Mzg1MjgyIDEzLjMzODk5MjUsMTIuNTM4NTI4MiBDMTMuMjM2OTkwNywxMi41MzI1MjgxIDEzLjEwNDk4ODQsMTIuNTU2NTI4NSAxMy4wMzg5ODcyLDEyLjU2MjUyODYgQzEyLjk2Njk4NTksMTIuNTY4NTI4NyAxMi45MjQ5ODUyLDEyLjU3NDUyODggMTIuOTI0OTg1MiwxMi41NzQ1Mjg4IEMxMi40OTg5Nzc2LDEyLjYxNjUyOTYgMTIuMTE0OTcwNywxMi4zMDQ1MjQgMTIuMDcyOTcsMTEuODc4NTE2NCBDMTIuMDM2OTY5MywxMS41MTg1MSAxMi4yNDY5NzMxLDExLjE5NDUwNDIgMTIuNTY0OTc4NywxMS4wNzQ1MDIxIEMxMi41NjQ5Nzg3LDExLjA3NDUwMjEgMTIuNjA2OTc5NSwxMS4wNTY1MDE4IDEyLjY3Mjk4MDcsMTEuMDMyNTAxMyBDMTIuNzUwOTgyLDExLjAwODUwMDkgMTIuODIyOTgzMywxMC45NjY1MDAxIDEyLjk5MDk4NjMsMTAuOTE4NDk5MyBDMTMuMzI2OTkyMywxMC44MTY0OTc1IDEzLjc1Mjk5OTksMTAuNzA4NDk1NSAxNC4zMTEwMDk5LDEwLjY1NDQ5NDYgQzE0Ljg2MzAxOTcsMTAuNjA2NDkzNyAxNS41MjkwMzE2LDEwLjYxODQ5MzkgMTYuMjMxNjQ0MSwxMC43NjI0OTY1IEMxNi45MzMwNTY2LDEwLjkxMjQ5OTIgMTcuNjcxMDY5OCwxMS4xOTQ1MDQyIDE4LjM1NTA4MiwxMS42MDI1MTE1IEMxOC42NzkwODc4LDExLjgxMjUxNTIgMTkuMDI3MDk0LDEyLjA1ODUxOTYgMTkuMjk3MDk4OCwxMi4yOTg1MjM5IEMxOS40MTcxMDEsMTIuMzg4NTI1NSAxOS42MjExMDQ2LDEyLjU5MjUyOTIgMTkuNzQxMTA2NywxMi43MTg1MzE0IEMxOS44NzkxMDkyLDEyLjg2MjUzNCAyMC4wMDUxMTE0LDEzLjAwNjUzNjUgMjAuMTMxNzEzNywxMy4xNTY1MzkyIEMyMC42MTcxMjI0LDEzLjc1NjU0OTkgMjAuOTc3MTI4OCwxNC40MDQ1NjE1IDIxLjIxMTEzMywxNC45OTI1NzIgQzIxLjM0OTEzNTQsMTUuMzI4NTc4IDIxLjQ0NTEzNzEsMTUuNjQ2NTgzNiAyMS41MTcxMzg0LDE1LjkyMjU4ODYgTDIyLjgwMTE2MTMsMTUuOTIyNTg4NiBDMjMuMzE3MTcwNSwxNS45MjI1ODg2IDIzLjc3MzE3ODcsMTYuMjI4NTk0IDIzLjk3MTE4MjIsMTYuNzAyNjAyNSBDMjQuMTY5MTg1NywxNy4xNzY2MTA5IDI0LjA2MTE4MzgsMTcuNzIyNjIwNyAyMy42OTUxNzczLDE4LjA4ODYyNzIiIGlkPSJyZS1yZWNvcmQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4LjA2ODk2MywgMTYuMTM3OTI2KSBzY2FsZSgtMSwgMSkgcm90YXRlKC00NS4wMDAwMDApIHRyYW5zbGF0ZSgtMTguMDY4OTYzLCAtMTYuMTM3OTI2KSAiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/record-modal/icon--play.svg" /*!****************************************************!*\ !*** ./src/components/record-modal/icon--play.svg ***! \****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjQ5cHgiIGhlaWdodD0iNTJweCIgdmlld0JveD0iLTUgMCA0OSA0OCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNDMuMiAoMzkwNjkpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPnBsYXk8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMTcuMjIxNDY1MSw4LjM0NDk5NDQzIEMxOS43NzY2NDE5LDQuMDg2MzY2NTMgMjMuOTIzNDA1Nyw0LjA5MzAzOTQ2IDI2LjQ3NDU3ODcsOC4zNDQ5OTQ0MyBMNDAuMTUyMDk3NCwzMS4xNDA4NTkgQzQyLjcwNzI3NDEsMzUuMzk5NDg2OSA0MC43NDg5NjcyLDM4Ljg1MTc4NjkgMzUuNzcyNjYzNywzOC44NTE3ODY5IEw3LjkyMzM4MDA2LDM4Ljg1MTc4NjkgQzIuOTQ5NTA4OSwzOC44NTE3ODY5IDAuOTkyNzczNDI5LDM1LjM5MjgxNCAzLjU0Mzk0NjQxLDMxLjE0MDg1OSBMMTcuMjIxNDY1MSw4LjM0NDk5NDQzIFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4KICAgICAgICA8ZmlsdGVyIHg9Ii0xNi43JSIgeT0iLTE5LjMlIiB3aWR0aD0iMTMzLjUlIiBoZWlnaHQ9IjEzOC42JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMi41IiBvcGVyYXRvcj0iZGlsYXRlIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93U3ByZWFkT3V0ZXIxIj48L2ZlTW9ycGhvbG9neT4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMCIgaW49InNoYWRvd1NwcmVhZE91dGVyMSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0ib3V0IiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAuMjk4MDM5MjE2ICAgMCAwIDAgMCAwLjU5MjE1Njg2MyAgIDAgMCAwIDAgMSAgMCAwIDAgMC4xIDAiIHR5cGU9Im1hdHJpeCIgaW49InNoYWRvd09mZnNldE91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IkRlc2t0b3AtLS0xMjgweDcyMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYyMy4wMDAwMDAsIC0zNDcuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJTdGVwLTMtLS1BbHRlcmluZy1TdWdnZXN0ZWQtVHJpbSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDQyLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9IlBsYXktLy1SZWNvcmQtLy1TdG9wIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MjMuMDAwMDAwLCAzMDcuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9InBsYXkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIxLjg0OTEzMSwgMjIuMDAyNjU2KSByb3RhdGUoOTAuMDAwMDAwKSB0cmFuc2xhdGUoLTIxLjg0OTEzMSwgLTIyLjAwMjY1NikgIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBzdHJva2U9IiM2NzM2QjUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzg1NUNENiIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/record-modal/icon--stop-playback.svg" /*!*************************************************************!*\ !*** ./src/components/record-modal/icon--stop-playback.svg ***! \*************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjUycHgiIGhlaWdodD0iNTJweCIgdmlld0JveD0iMCAwIDUyIDUyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c3RvcC1wbGF5YmFjazwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxyZWN0IGlkPSJwYXRoLTEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgcng9IjQiPjwvcmVjdD4KICAgICAgICA8ZmlsdGVyIHg9Ii0xMy42JSIgeT0iLTEzLjYlIiB3aWR0aD0iMTI3LjMlIiBoZWlnaHQ9IjEyNy4zJSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMiIgb3BlcmF0b3I9ImRpbGF0ZSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSI+PC9mZU1vcnBob2xvZ3k+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjAiIGluPSJzaGFkb3dTcHJlYWRPdXRlcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd09mZnNldE91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVDb21wb3NpdGU+CiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwLjI5ODAzOTIxNiAgIDAgMCAwIDAgMC41OTIxNTY4NjMgICAwIDAgMCAwIDEgIDAgMCAwIDAuMSAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJEZXNrdG9wLS0tMTI4MHg3MjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MTkuMDAwMDAwLCAtMzQ1LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0iU3RlcC00LS0tUGxheWluZy1UcmltIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgNDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iUGxheS0vLVJlY29yZC0vLVN0b3AiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYyMy4wMDAwMDAsIDMwNy4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0ic3RvcC1wbGF5YmFjayI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci0yKSIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iIzg1NUNENiIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgc3Ryb2tlPSIjNjczNkI1IiBzdHJva2Utd2lkdGg9IjEiIHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iNDMiIGhlaWdodD0iNDMiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/record-modal/icon--stop-recording.svg" /*!**************************************************************!*\ !*** ./src/components/record-modal/icon--stop-recording.svg ***! \**************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjUycHgiIGhlaWdodD0iNTJweCIgdmlld0JveD0iMCAwIDUyIDUyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c3RvcC1yZWNvcmRpbmc8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cmVjdCBpZD0icGF0aC0xIiB4PSIyMCIgeT0iMCIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiByeD0iNCI+PC9yZWN0PgogICAgICAgIDxmaWx0ZXIgeD0iLTEzLjYlIiB5PSItMTMuNiUiIHdpZHRoPSIxMjcuMyUiIGhlaWdodD0iMTI3LjMlIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItMiI+CiAgICAgICAgICAgIDxmZU1vcnBob2xvZ3kgcmFkaXVzPSIyIiBvcGVyYXRvcj0iZGlsYXRlIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93U3ByZWFkT3V0ZXIxIj48L2ZlTW9ycGhvbG9neT4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMCIgaW49InNoYWRvd1NwcmVhZE91dGVyMSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0ib3V0IiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDEgICAwIDAgMCAwIDAuNCAgIDAgMCAwIDAgMC4xMDE5NjA3ODQgIDAgMCAwIDAuMSAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJEZXNrdG9wLS0tMTI4MHg3MjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MTkuMDAwMDAwLCAtMzQ1LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0iU3RlcC0yLS0tUmVjb3JkaW5nIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgNDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iUGxheS0vLVJlY29yZC0vLVN0b3AiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwMy4wMDAwMDAsIDMwNy4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0ic3RvcC1yZWNvcmRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9IiNGRjY2MUEiIGZpbGwtcnVsZT0iZXZlbm9kZCIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHN0cm9rZT0iI0U2NEQwMCIgc3Ryb2tlLXdpZHRoPSIxIiB4PSIyMC41IiB5PSIwLjUiIHdpZHRoPSI0MyIgaGVpZ2h0PSI0MyIgcng9IjQiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/sound-editor/icon--copy-to-new.svg" /*!***********************************************************!*\ !*** ./src/components/sound-editor/icon--copy-to-new.svg ***! \***********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU2LjEgKDgxNjY5KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5Tb3VuZC9HZW5lcmFsL0NvcHkgdG8gTmV3PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9IlNvdW5kL0dlbmVyYWwvQ29weS10by1OZXciIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik0xNSwxMS4wOTY3MDI2IEwxNSw0IEMxNSwzLjQ0NzcxNTI1IDE0LjU1MjI4NDcsMyAxNCwzIEw0LDMgQzMuNDQ3NzE1MjUsMyAzLDMuNDQ3NzE1MjUgMyw0IEwzLDEyIEwxMi42NjE2MDM3LDEyIEwxMS41MjM2MzQ3LDEzLjA0MzAzMzEgQzExLjE4ODIwODQsMTMuMzU4MDAxNyAxMSwxMy43ODI3MTMyIDExLDE0LjIzMDIyOTIgQzExLDE0LjY3Njc0NzIgMTEuMTg3ODAxLDE1LjEwMDUzOTQgMTEuNTEyODYwNiwxNS40MDc0MDMyIEwxMi4xNTk1Nzc3LDE2IEw0LDE2IEMyLjg5NTQzMDUsMTYgMiwxNS4xMDQ1Njk1IDIsMTQgTDIsNCBDMiwyLjg5NTQzMDUgMi44OTU0MzA1LDIgNCwyIEwxNCwyIEMxNS4xMDQ1Njk1LDIgMTYsMi44OTU0MzA1IDE2LDQgTDE2LDEyLjAzMzM0OTMgQzE1LjgzMDczNTcsMTEuNjE3ODgyIDE1LjQ4OTUwMzYsMTEuMjgzNTQyIDE1LjA1MDU3MzgsMTEuMTE1MjAzIEMxNS4wMzM3ODA5LDExLjEwODc2MjUgMTUuMDE2OTIwOSwxMS4xMDI1OTYxIDE1LDExLjA5NjcwMjYgWiBNMTAuMzE1MzkwMSw5LjQzODQ0MTA3IEMxMC4yNDAxNDIsOS40Mzg0NDEwNyAxMC4xNjI3ODQyLDkuNDE2ODQ0MTkgMTAuMDkyNDU4OSw5LjM3MTMzNjQ3IEM5Ljg4MzU5MjgyLDkuMjM1NTg0NjQgOS44MTM5NzA3OSw4Ljk0MDE3MDEzIDkuOTM3NzQzMjksOC43MTEwODg5MSBDMTAuMTczMzMzLDguMjcyOTgwNzIgMTAuMTczMzMzLDcuNzI5OTczMzcgOS45Mzc3NDMyOSw3LjI5MjYzNjUgQzkuODEzOTcwNzksNy4wNjI3ODM5NiA5Ljg4MzU5MjgyLDYuNzY3MzY5NDUgMTAuMDkyNDU4OSw2LjYzMTYxNzYyIEMxMC4zMDM0MzQ4LDYuNDk3NDA4NDIgMTAuNTcyMDc3Myw2LjU3Mjk5NzUxIDEwLjY5NDQ0MzMsNi44MDEzMDc0MSBDMTEuMDkzMTg3Nyw3LjU0MTc3MTk3IDExLjA5MzE4NzcsOC40NjExODIxMiAxMC42OTQ0NDMzLDkuMjAxNjQ2NjggQzEwLjYxMjg2Niw5LjM1NDM2NzQ5IDEwLjQ2NTg4NjIsOS40Mzg0NDEwNyAxMC4zMTUzOTAxLDkuNDM4NDQxMDcgWiBNMTEuNjI4MzE4MSwxMC4yMTE5OTUxIEMxMS41NTMwNzAxLDEwLjIxMTk5NTEgMTEuNDc1MDA5LDEwLjE5MDM5ODMgMTEuNDA1Mzg3LDEwLjE0NDg5MDUgQzExLjE5NjUyMDksMTAuMDA5MTM4NyAxMS4xMjY4OTg5LDkuNzEzNzI0MiAxMS4yNTA2NzE0LDkuNDg0NjQyOTggQzExLjc0MzY1MTYsOC41Njk4NjA3MiAxMS43NDM2NTE2LDcuNDMyOTM5MSAxMS4yNTA2NzE0LDYuNTE4OTI4MTcgQzExLjEyNjg5ODksNi4yODk4NDY5NSAxMS4xOTY1MjA5LDUuOTkzNjYxMTIgMTEuNDA1Mzg3LDUuODU3OTA5MjkgQzExLjYxNDk1NjMsNS43MjQ0NzE0IDExLjg4MzU5ODksNS43OTkyODkxOCAxMi4wMDczNzE0LDYuMDI3NTk5MDggQzEyLjY2NDIwOTUsNy4yNDQ3Mzc3IDEyLjY2NDIwOTUsOC43NTgwNjIxMyAxMi4wMDczNzE0LDkuOTc1MjAwNzQgQzExLjkyNTA5MDgsMTAuMTI3OTIxNiAxMS43Nzg4MTQyLDEwLjIxMTk5NTEgMTEuNjI4MzE4MSwxMC4yMTE5OTUxIFogTTkuMTg5MjY0Myw1LjY0Mjg2NjA0IEw5LjE4OTI2NDMsMTAuMzU2Mzg1NyBDOS4xODkyNjQzLDEwLjkxNDgxOTQgOC41ODU4NzMzOCwxMS4yMDcxNDg2IDguMjA5NjMzMTIsMTAuODMwNzQ1OCBMNy4zOTczNzYxMSwxMC4wMTcwMDYxIEM3LjEwOTc0NTcxLDkuNzI5MzA0ODEgNi43MzQ5MTE5NSw5LjU2OTY0MjE0IDYuMzQ1MzA5ODksOS41Njk2NDIxNCBMNi4yMDMyNTI4Miw5LjU2OTY0MjE0IEM1LjgxNTA1NzI2LDkuNTY5NjQyMTQgNS41LDkuMjI0ODYzMzMgNS41LDguNzk4MzI0ODkgTDUuNSw3LjIwOTQxMTM3IEM1LjUsNi43ODM2NDQyNSA1LjgxNTA1NzI2LDYuNDM4MDk0MTIgNi4yMDMyNTI4Miw2LjQzODA5NDEyIEw2LjMzNzU3NDExLDYuNDM4MDk0MTIgQzYuNzI3MTc2MTcsNi40MzgwOTQxMiA3LjEwMjAwOTkzLDYuMjc4NDMxNDUgNy4zODk2NDAzMyw1Ljk5MDczMDEyIEw4LjIwOTYzMzEyLDUuMTY5Mjc3MjUgQzguNTg1ODczMzgsNC43OTI4NzQ0NCA5LjE4OTI2NDMsNS4wODUyMDM2NyA5LjE4OTI2NDMsNS42NDI4NjYwNCBaIE0xMy45Mzc2NzQsMTIuMTg2ODkyOCBDMTQuMTM2OTk2MiwxMi4wMDM4ODk1IDE0LjQzNDM0NTksMTEuOTQ5ODg4NiAxNC42OTI0ODQ2LDEyLjA0ODg5MDMgQzE0Ljk1MDYyMzMsMTIuMTQ3ODkyMSAxNS4xMTcyNjk4LDEyLjM3NTg5NjIgMTUuMTE3MjY5OCwxMi42MzM5MDA4IEwxNS4xMTcyNjk4LDEzLjI3NTkxMjIgQzE1LjI2NzU3ODQsMTMuMzExOTEyOSAxNS40NDA3NiwxMy4zNTk5MTM3IDE1LjYyMzc0NDQsMTMuNDI4OTE1IEMxNS45NDM5NjcxLDEzLjU0NTkxNyAxNi4yOTY4NjU1LDEzLjcyNTkyMDMgMTYuNjIzNjIzNCwxMy45Njg2MjQ2IEMxNi43MDUzMTI4LDE0LjAzMTkyNTcgMTYuNzgzNzM0NywxNC4wOTQ5MjY4IDE2Ljg2MjE1NjYsMTQuMTYzOTI4MSBDMTYuOTMwNzc1NywxNC4yMjM5MjkxIDE3LjA0MTg3MzQsMTQuMzI1OTMxIDE3LjA5MDg4NzEsMTQuMzg1OTMyIEMxNy4yMjE1OTAyLDE0LjUyMDkzNDQgMTcuMzU1NTYwOSwxNC42OTQ5Mzc1IDE3LjQ2OTkyNjIsMTQuODU2OTQwNCBDMTcuNjkyMTIxNSwxNS4xOTg5NDY1IDE3Ljg0NTY5NzcsMTUuNTY3OTUzMSAxNy45MjczODcxLDE1LjkxODY1OTQgQzE4LjAwNTgwOSwxNi4yNjk5NjU2IDE4LjAxMjM0NDIsMTYuNjAyOTcxNiAxNy45ODYyMDM2LDE2Ljg3ODk3NjUgQzE3Ljk1Njc5NTQsMTcuMTU3OTgxNSAxNy44OTc5Nzg5LDE3LjM3MDk4NTMgMTcuODQyNDMwMSwxNy41Mzg5ODgzIEMxNy44MTYyODk1LDE3LjYyMjk4OTggMTcuNzkzNDE2NCwxNy42NTg5OTA0IDE3Ljc4MDM0NjEsMTcuNjk3OTkxMSBMMTcuNzU3NDczMSwxNy43NTE5OTIxIEMxNy42OTIxMjE1LDE3LjkxMDk5NDkgMTcuNTE1NjcyMywxOC4wMTU5OTY4IDE3LjMxOTYxNzYsMTcuOTk3OTk2NSBDMTcuMDg3NjE5NSwxNy45NzY5OTYxIDE2LjkxNzcwNTQsMTcuNzg0OTkyNyAxNi45NDA1Nzg1LDE3LjU3MTk4ODkgTDE2Ljk0NzExMzYsMTcuNTE0OTg3OCBDMTYuOTUwMzgxMiwxNy40ODE5ODczIDE2Ljk2MzQ1MTUsMTcuNDE1OTg2MSAxNi45NjAxODQsMTcuMzY0OTg1MiBDMTYuOTYwMTg0LDE3LjI2Mjk4MzMgMTYuOTU2OTE2NCwxNy4wODg5ODAyIDE2LjkyMDk3MywxNi44OTk5NzY5IEMxNi44ODE3NjIxLDE2LjcwNzk3MzQgMTYuODA5ODc1MywxNi40OTE5Njk2IDE2LjY5MjI0MjUsMTYuMjg0OTY1OSBDMTYuNTc0NjA5NywxNi4wODA5NjIzIDE2LjQxNDQ5ODQsMTUuODg4OTU4OCAxNi4yMjgyNDY0LDE1LjczMDI1NiBDMTYuMTI2OTUxNSwxNS42NTE5NTQ2IDE2LjAzODcyNjksMTUuNTg1OTUzNCAxNS45MjEwOTQsMTUuNTEzOTUyMSBDMTUuODQ5MjA3MywxNS40Njg2NTEzIDE1LjgzMjg2OTQsMTUuNDcxOTUxNCAxNS43NzQwNTMsMTUuNDM4OTUwOCBDMTUuNzIxNzcxOCwxNS40MTQ5NTA0IDE1LjY2OTQ5MDUsMTUuMzkzNjUgMTUuNjE3MjA5MiwxNS4zNzI5NDk2IEMxNS40Mzc0OTI0LDE1LjMwNjk0ODUgMTUuMjY3NTc4NCwxNS4yNjc5NDc4IDE1LjExNzI2OTgsMTUuMjUyOTQ3NSBMMTUuMTE3MjY5OCwxNS44MjU5NTc3IEMxNS4xMTcyNjk4LDE2LjA4Mzk2MjMgMTQuOTUwNjIzMywxNi4zMTE5NjY0IDE0LjY5MjQ4NDYsMTYuNDEwOTY4MSBDMTQuNDM0MzQ1OSwxNi41MDk5Njk5IDE0LjEzNjk5NjIsMTYuNDU1OTY4OSAxMy45Mzc2NzQsMTYuMjcyOTY1NyBMMTIuMTk5MzIyMywxNC42ODAyMzczIEMxMi4wNzE4ODY3LDE0LjU1OTkzNTEgMTIsMTQuMzk3OTMyMiAxMiwxNC4yMzAyMjkyIEMxMiwxNC4wNjE5MjYyIDEyLjA3MTg4NjcsMTMuODk5OTIzNCAxMi4xOTkzMjIzLDEzLjc4MDIyMTIgTDEzLjkzNzY3NCwxMi4xODY4OTI4IFoiIGlkPSJDb3B5LXRvLU5ldyIgZmlsbD0iIzg1NUNENiIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/sound-editor/icon--copy.svg" /*!****************************************************!*\ !*** ./src/components/sound-editor/icon--copy.svg ***! \****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU2LjEgKDgxNjY5KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5Tb3VuZC9HZW5lcmFsL0NvcHk8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iU291bmQvR2VuZXJhbC9Db3B5IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iU2Vjb25kYXJ5LUNvbG9yIiBvcGFjaXR5PSIwLjI1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjAwMDAwMCwgNC4wMDAwMDApIiBmaWxsPSIjODU1Q0Q2Ij4KICAgICAgICAgICAgPHJlY3QgaWQ9InNlbGVjdGlvbiIgeD0iMCIgeT0iMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjEyIj48L3JlY3Q+CiAgICAgICAgPC9nPgogICAgICAgIDxnIGlkPSJQcmltYXJ5LUNvbG9yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgMi4wMDAwMDApIiBmaWxsPSIjODU1Q0Q2IiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8cGF0aCBkPSJNMS41LDMuOTM2OTkxMjYgQzAuNjM3Mzg2Mzk0LDMuNzE0OTY5ODYgMCwyLjkzMTkxOTcxIDAsMiBDMCwwLjg5NTQzMDUgMC44OTU0MzA1LDAgMiwwIEMzLjEwNDU2OTUsMCA0LDAuODk1NDMwNSA0LDIgQzQsMi45MzE5MTk3MSAzLjM2MjYxMzYxLDMuNzE0OTY5ODYgMi41LDMuOTM2OTkxMjYgTDIuNSwxMi4wNjMwMDg3IEMzLjM2MjYxMzYxLDEyLjI4NTAzMDEgNCwxMy4wNjgwODAzIDQsMTQgQzQsMTUuMTA0NTY5NSAzLjEwNDU2OTUsMTYgMiwxNiBDMC44OTU0MzA1LDE2IDAsMTUuMTA0NTY5NSAwLDE0IEMwLDEzLjA2ODA4MDMgMC42MzczODYzOTQsMTIuMjg1MDMwMSAxLjUsMTIuMDYzMDA4NyBMMS41LDMuOTM2OTkxMjYgWiBNMTcuNSwxMi4wNjMwMDg3IEwxNy41LDMuOTM2OTkxMjYgQzE2LjYzNzM4NjQsMy43MTQ5Njk4NiAxNiwyLjkzMTkxOTcxIDE2LDIgQzE2LDAuODk1NDMwNSAxNi44OTU0MzA1LDAgMTgsMCBDMTkuMTA0NTY5NSwwIDIwLDAuODk1NDMwNSAyMCwyIEMyMCwyLjkzMTkxOTcxIDE5LjM2MjYxMzYsMy43MTQ5Njk4NiAxOC41LDMuOTM2OTkxMjYgTDE4LjUsMTIuMDYzMDA4NyBDMTkuMzYyNjEzNiwxMi4yODUwMzAxIDIwLDEzLjA2ODA4MDMgMjAsMTQgQzIwLDE1LjEwNDU2OTUgMTkuMTA0NTY5NSwxNiAxOCwxNiBDMTYuODk1NDMwNSwxNiAxNiwxNS4xMDQ1Njk1IDE2LDE0IEMxNiwxMy4wNjgwODAzIDE2LjYzNzM4NjQsMTIuMjg1MDMwMSAxNy41LDEyLjA2MzAwODcgWiBNMTEsNyBMMTIsNyBDMTIuNTUyMjg0Nyw3IDEzLDcuNDQ3NzE1MjUgMTMsOCBDMTMsOC41NTIyODQ3NSAxMi41NTIyODQ3LDkgMTIsOSBMMTEsOSBMMTEsMTAgQzExLDEwLjU1MjI4NDcgMTAuNTUyMjg0NywxMSAxMCwxMSBDOS40NDc3MTUyNSwxMSA5LDEwLjU1MjI4NDcgOSwxMCBMOSw5IEw4LDkgQzcuNDQ3NzE1MjUsOSA3LDguNTUyMjg0NzUgNyw4IEM3LDcuNDQ3NzE1MjUgNy40NDc3MTUyNSw3IDgsNyBMOSw3IEw5LDYgQzksNS40NDc3MTUyNSA5LjQ0NzcxNTI1LDUgMTAsNSBDMTAuNTUyMjg0Nyw1IDExLDUuNDQ3NzE1MjUgMTEsNiBMMTEsNyBaIiBpZD0iaGFuZGxlcy1hbmQtcGx1cyI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/sound-editor/icon--delete.svg" /*!******************************************************!*\ !*** ./src/components/sound-editor/icon--delete.svg ***! \******************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU1LjIgKDc4MTgxKSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT5Tb3VuZC9HZW5lcmFsL1RyaW08L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNNi41NDIxMDY3MSwxNC44NzczNTkxIEM2LjU0MjEwNjcxLDE1LjY3NTY4MTMgNS44OTY2ODU0OCwxNi4zMjMwODc4IDUuMTExOTQ5MDUsMTYuMzIzMDg3OCBDNC4zMTYzMjg2MiwxNi4zMjMwODc4IDMuNjcwOTA3NCwxNS42NzU2ODEzIDMuNjcwOTA3NCwxNC44NzczNTkxIEMzLjY3MDkwNzQsMTQuMDg2NjkyIDQuMzE2MzI4NjIsMTMuNDQwMzc5IDUuMTExOTQ5MDUsMTMuNDQwMzc5IEM1Ljg5NjY4NTQ4LDEzLjQ0MDM3OSA2LjU0MjEwNjcxLDE0LjA4NjY5MiA2LjU0MjEwNjcxLDE0Ljg3NzM1OTEgTDYuNTQyMTA2NzEsMTQuODc3MzU5MSBaIE04LjYzNDAxMTU5LDEzLjU4MzYzOTYgQzguODI5OTIzNTksMTMuMzg3ODg2NiA4LjgyOTkyMzU5LDEzLjA2ODU1NzcgOC42MzQwMTE1OSwxMi44NzA2MTc1IEw3LjEwOTE2MzEzLDExLjMzODQ5NSBDNi45MTIxNjI3MiwxMS4xNDA1NTQ4IDYuNTk0MzQ5OTEsMTEuMTQwNTU0OCA2LjM5ODQzNzksMTEuMzM4NDk1IEw1Ljg3NzA5NDI4LDExLjg2MTIzMiBDNS42MzU0Njk0NywxMS43OTEyNDIxIDUuMzc0MjUzNDYsMTEuNzU5NTI3OSA1LjExMTk0OTA1LDExLjc1OTUyNzkgQzMuMzkwMTAwMTksMTEuNzU5NTI3OSAyLjAwMDIxMzMzLDEzLjE1NzEzODcgMi4wMDAyMTMzMywxNC44ODcyMDE0IEMyLjAwMDIxMzMzLDE2Ljg0MTQ1MDUgMy43OTQ5ODUsMTguMzc3OTQ3NCA1LjgzMjQ2OTg4LDE3LjkyMzAxMzEgQzcuMzY5MjkwNzQsMTcuNTc5NjI1MiA4LjM0Nzc2MjM4LDE2LjE1Njg2MTggOC4xOTk3Mzk5NywxNC41ODIwODkyIEM4LjE4NDUwMjM3LDE0LjQyMTMzMTEgOC4xNTYyMDM5NywxNC4yNjM4NTM5IDguMTEyNjY3OTcsMTQuMTA3NDcwMiBMOC42MzQwMTE1OSwxMy41ODM2Mzk2IFogTTYuNTQyMTA2NzEsNS4xMTYxNzQ1MyBDNi41NDIxMDY3MSw1LjkxNTU5MDM3IDUuODk2Njg1NDgsNi41NjI5OTY5IDUuMTExOTQ5MDUsNi41NjI5OTY5IEM0LjMxNjMyODYyLDYuNTYyOTk2OSAzLjY3MDkwNzQsNS45MTU1OTAzNyAzLjY3MDkwNzQsNS4xMTYxNzQ1MyBDMy42NzA5MDc0LDQuMzI2NjAxMDIgNC4zMTYzMjg2MiwzLjY4MDI4ODA4IDUuMTExOTQ5MDUsMy42ODAyODgwOCBDNS44OTY2ODU0OCwzLjY4MDI4ODA4IDYuNTQyMTA2NzEsNC4zMjY2MDEwMiA2LjU0MjEwNjcxLDUuMTE2MTc0NTMgTTE4LjAwMjE5NzMsMTYuMTcwNjQxMSBMMTcuOTM2ODkzMywxNi4yMzUxNjMgQzE2LjkyNjg1OCwxNy4yNTAwMTY1IDE1LjI4NzcyNzYsMTcuMjUwMDE2NSAxNC4yNzY2MDM5LDE2LjIzNTE2MyBMNy44Nzg5ODg0OCw5LjgwNzAyODU2IEM3LjcwOTE5ODA3LDkuNjM1MzM0NiA3LjcwOTE5ODA3LDkuMzU4NjU1OCA3Ljg3ODk4ODQ4LDkuMTg4MDU1NDMgTDkuMTU3ODU4NTMsNy45MDE5OTEwOSBDOS4zMjc2NDg5Myw3LjczMTM5MDcyIDkuNjAzMDE0MTQsNy43MzEzOTA3MiA5Ljc3MjgwNDU1LDcuOTAxOTkxMDkgTDE4LjAwMjE5NzMsMTYuMTcwNjQxMSBaIE0xOC4wMDIxOTczLDMuODI5MzQ0NjkgTDEyLjQwNDU1NTksOS40NTM2ODg5NSBMMTAuNTEwNzM5OCw3LjU0ODY1MTQ4IEwxNC4yNzY2MDM5LDMuNzY0ODIyNzUgQzE1LjI4NzcyNzYsMi43NDk5NjkyNyAxNi45MjY4NTgsMi43NDk5NjkyNyAxNy45MzY4OTMzLDMuNzY0ODIyNzUgTDE4LjAwMjE5NzMsMy44MjkzNDQ2OSBaIE04LjYzNDAxMTU5LDYuNDE4NjQyNzQgQzguODI5OTIzNTksNi42MTU0ODkzMyA4LjgyOTkyMzU5LDYuOTM1OTExODIgOC42MzQwMTE1OSw3LjEzMjc1ODQgTDcuMTA5MTYzMTMsOC42NjQ4ODA5NiBDNi45MTIxNjI3Miw4Ljg2MjgyMTEzIDYuNTk0MzQ5OTEsOC44NjI4MjExMyA2LjM5ODQzNzksOC42NjQ4ODA5NiBMNS44NzcwOTQyOCw4LjE0MjE0MzkyIEM1LjYzNTQ2OTQ3LDguMjEyMTMzODIgNS4zNzQyNTM0Niw4LjI0Mjc1NDQgNS4xMTE5NDkwNSw4LjI0Mjc1NDQgQzMuMzkwMTAwMTksOC4yNDI3NTQ0IDIuMDAwMjEzMzMsNi44NDYyMzcyNiAyLjAwMDIxMzMzLDUuMTE2MTc0NTMgQzIuMDAwMjEzMzMsMy4xNjE5MjU0MiAzLjc5NDk4NSwxLjYyNTQyODQ5IDUuODMyNDY5ODgsMi4wODE0NTY0IEM3LjM2OTI5MDc0LDIuNDIzNzUwNzQgOC4zNDc3NjIzOCwzLjg0NjUxNDA4IDguMTk5NzM5OTcsNS40MjEyODY3MyBDOC4xODQ1MDIzNyw1LjU4MzEzODM3IDguMTU2MjAzOTcsNS43Mzg0Mjg0NSA4LjExMjY2Nzk3LDUuODk1OTA1NzEgTDguNjM0MDExNTksNi40MTg2NDI3NCBaIE0xMC4zOTI5NzQ5LDEwLjA0NDc3NTUgQzEwLjM5Mjk3NDksMTAuMjc0NDI5OCAxMC4yMDc5NDY5LDEwLjQ2MTQzNDEgOS45NzgyOTQ0OCwxMC40NjE0MzQxIEM5Ljc0OTczMDQ3LDEwLjQ2MTQzNDEgOS41NjM2MTQwNiwxMC4yNzQ0Mjk4IDkuNTYzNjE0MDYsMTAuMDQ0Nzc1NSBDOS41NjM2MTQwNiw5LjgxNDAyNzU1IDkuNzQ5NzMwNDcsOS42MjgxMTY4OSA5Ljk3ODI5NDQ4LDkuNjI4MTE2ODkgQzEwLjIwNzk0NjksOS42MjgxMTY4OSAxMC4zOTI5NzQ5LDkuODE0MDI3NTUgMTAuMzkyOTc0OSwxMC4wNDQ3NzU1IFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJTb3VuZC9HZW5lcmFsL1RyaW0iIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICA8L21hc2s+CiAgICAgICAgPHVzZSBpZD0iTWFzayIgZmlsbD0iIzU3NUU3NSIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgPGcgaWQ9IkJsdWUvMV9CbHVlIiBtYXNrPSJ1cmwoI21hc2stMikiIGZpbGw9IiM4NTVDRDYiPgogICAgICAgICAgICA8cmVjdCBpZD0iUHJpbWFyeS1CbHVlIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjwvcmVjdD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/sound-editor/icon--fade-in.svg" /*!*******************************************************!*\ !*** ./src/components/sound-editor/icon--fade-in.svg ***! \*******************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU2LjIgKDgxNjcyKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5Tb3VuZC9FZmZlY3RzL0ZhZGUtaW48L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iU291bmQvRWZmZWN0cy9GYWRlLWluIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cGF0aCBkPSJNMiwxMC4yNSBDMS44NjE5Mjg4MSwxMC4yNSAxLjc1LDEwLjEzODA3MTIgMS43NSwxMCBDMS43NSw5Ljg2MTkyODgxIDEuODYxOTI4ODEsOS43NSAyLDkuNzUgTDcsOS43NSBDNy4zNTMyNDg1MSw5Ljc1IDcuNTgyNzAwNzcsOS41MDg3NjQyOCA3LjkwNDM3OTgxLDguODg1MzYxMDcgTDguMDQ2MTIwMjEsOC42MDgyMjkyIEM4LjM1NTgyMjM1LDguMDEwNzEyNzMgOC41ODcxODExMiw3Ljc1IDksNy43NSBDOS4zODc5NDI3LDcuNzUgOS42NDc4MzYxOCw3Ljg5NTIxNzY0IDEwLjA1Njc1NjgsOC4yNDc2MjA2MSBMMTAuMTI5OTU0Myw4LjMxMDkzMTk5IEMxMC41MTA1MjI4LDguNjQwMTY0OTcgMTAuNzA1ODUyNiw4Ljc1IDExLDguNzUgQzExLjE5OTk2NDQsOC43NSAxMS40MDI1ODUsOC4zOTMyMTE2MiAxMS43NjU1NjI4LDcuNDEzMTcxNDEgQzEyLjIzNTkxODMsNi4xNDMyMTE2MiAxMi40NTkyMjM3LDUuNzUgMTMsNS43NSBDMTMuNDAyMDYxNiw1Ljc1IDEzLjYzMTQ3MTcsNS44ODk3MDQ5IDEzLjkxMzM0MTgsNi4yMTE0MDQ1MSBDMTMuOTY3OTA2Nyw2LjI3NDI2MzQyIDEzLjk5NzM3NTgsNi4zMDgyNDc5OSAxNC4wMjAxODU3LDYuMzMzOTA5MDQgQzE0LjI4NTIwNDYsNi42MzIwNTUzNyAxNC41MTIzNTcyLDYuNzUgMTUsNi43NSBDMTUuMzc2NTQzNiw2Ljc1IDE1LjY5MjYwMTgsNi4xMzE2MjUyOSAxNi4yNjI4MjkyLDQuNDIwOTQzMDYgQzE2Ljk0MjYwMTgsMi4zODE2MjUyOSAxNy4yNjU0MzI1LDEuNzUgMTgsMS43NSBDMTguMTM4MDcxMiwxLjc1IDE4LjI1LDEuODYxOTI4ODEgMTguMjUsMiBMMTguMjUsMTggQzE4LjI1LDE4LjEzODA3MTIgMTguMTM4MDcxMiwxOC4yNSAxOCwxOC4yNSBDMTcuMjY1NDMyNSwxOC4yNSAxNi45NDI2MDE4LDE3LjYxODM3NDcgMTYuMjYyODI5MiwxNS41NzkwNTY5IEMxNS42OTI2MDE4LDEzLjg2ODM3NDcgMTUuMzc2NTQzNiwxMy4yNSAxNSwxMy4yNSBDMTQuNTEyMzU3MiwxMy4yNSAxNC4yODUyMDQ2LDEzLjM2Nzk0NDYgMTQuMDIwMTg1NywxMy42NjYwOTEgQzEzLjk5NzM3NTgsMTMuNjkxNzUyIDEzLjk2NzkwNjcsMTMuNzI1NzM2NiAxMy45MTMzNDE4LDEzLjc4ODU5NTUgQzEzLjYzMTQ3MTcsMTQuMTEwMjk1MSAxMy40MDIwNjE2LDE0LjI1IDEzLDE0LjI1IEMxMi40NTkyMjM3LDE0LjI1IDEyLjIzNTkxODMsMTMuODU2Nzg4NCAxMS43NjU1NjI4LDEyLjU4NjgyODYgQzExLjQwMjU4NSwxMS42MDY3ODg0IDExLjE5OTk2NDQsMTEuMjUgMTEsMTEuMjUgQzEwLjcwNTg1MjYsMTEuMjUgMTAuNTEwNTIyOCwxMS4zNTk4MzUgMTAuMTI5OTU0MywxMS42ODkwNjggTDEwLjA1Njc1NjgsMTEuNzUyMzc5NCBDOS42NDc4MzYxOCwxMi4xMDQ3ODI0IDkuMzg3OTQyNywxMi4yNSA5LDEyLjI1IEM4LjU4NzE4MTEyLDEyLjI1IDguMzU1ODIyMzUsMTEuOTg5Mjg3MyA4LjA0NjEyMDIxLDExLjM5MTc3MDggTDcuOTA0Mzc5ODEsMTEuMTE0NjM4OSBDNy41ODI3MDA3OCwxMC40OTEyMzU3IDcuMzUzMjQ4NTEsMTAuMjUgNy4wMDAwMDAwMSwxMC4yNSBMMiwxMC4yNSBaIiBpZD0iUGF0aCIgZmlsbD0iI0NGNjNDRiIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/sound-editor/icon--fade-out.svg" /*!********************************************************!*\ !*** ./src/components/sound-editor/icon--fade-out.svg ***! \********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU2LjIgKDgxNjcyKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5Tb3VuZC9FZmZlY3RzL0ZhZGUtb3V0PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9IlNvdW5kL0VmZmVjdHMvRmFkZS1vdXQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik0xMywxMC4yNSBDMTIuNjQ2NzUxNSwxMC4yNSAxMi40MTcyOTkyLDEwLjQ5MTIzNTcgMTIuMDk1NjIwMiwxMS4xMTQ2Mzg5IEwxMS45NTM4Nzk4LDExLjM5MTc3MDggQzExLjY0NDE3NzYsMTEuOTg5Mjg3MyAxMS40MTI4MTg5LDEyLjI1IDExLDEyLjI1IEMxMC42MTIwNTczLDEyLjI1IDEwLjM1MjE2MzgsMTIuMTA0NzgyNCA5Ljk0MzI0MzIyLDExLjc1MjM3OTQgTDkuODcwMDQ1NywxMS42ODkwNjggQzkuNDg5NDc3MjQsMTEuMzU5ODM1IDkuMjk0MTQ3NDMsMTEuMjUgOSwxMS4yNSBDOC44MDAwMzU2MSwxMS4yNSA4LjU5NzQxNTA1LDExLjYwNjc4ODQgOC4yMzQ0MzcxOSwxMi41ODY4Mjg2IEM3Ljc2NDA4MTcxLDEzLjg1Njc4ODQgNy41NDA3NzYzNSwxNC4yNSA3LDE0LjI1IEM2LjU5NzkzODQ1LDE0LjI1IDYuMzY4NTI4MywxNC4xMTAyOTUxIDYuMDg2NjU4MTYsMTMuNzg4NTk1NSBDNi4wMzIwOTMyOSwxMy43MjU3MzY2IDYuMDAyNjI0MTYsMTMuNjkxNzUyIDUuOTc5ODE0MzQsMTMuNjY2MDkxIEM1LjcxNDc5NTM4LDEzLjM2Nzk0NDYgNS40ODc2NDI3NSwxMy4yNSA1LDEzLjI1IEM0LjYyMzQ1NjQyLDEzLjI1IDQuMzA3Mzk4MjQsMTMuODY4Mzc0NyAzLjczNzE3MDgyLDE1LjU3OTA1NjkgQzMuMDU3Mzk4MjQsMTcuNjE4Mzc0NyAyLjczNDU2NzUzLDE4LjI1IDIsMTguMjUgQzEuODYxOTI4ODEsMTguMjUgMS43NSwxOC4xMzgwNzEyIDEuNzUsMTggTDEuNzUsMiBDMS43NSwxLjg2MTkyODgxIDEuODYxOTI4ODEsMS43NSAyLDEuNzUgQzIuNzM0NTY3NTMsMS43NSAzLjA1NzM5ODI0LDIuMzgxNjI1MjkgMy43MzcxNzA4Miw0LjQyMDk0MzA2IEM0LjMwNzM5ODI0LDYuMTMxNjI1MjkgNC42MjM0NTY0Miw2Ljc1IDUsNi43NSBDNS40ODc2NDI3NSw2Ljc1IDUuNzE0Nzk1MzgsNi42MzIwNTUzNyA1Ljk3OTgxNDM0LDYuMzMzOTA5MDQgQzYuMDAyNjI0MTYsNi4zMDgyNDc5OSA2LjAzMjA5MzI5LDYuMjc0MjYzNDIgNi4wODY2NTgxNiw2LjIxMTQwNDUxIEM2LjM2ODUyODMsNS44ODk3MDQ5IDYuNTk3OTM4NDUsNS43NSA3LDUuNzUgQzcuNTQwNzc2MzUsNS43NSA3Ljc2NDA4MTcxLDYuMTQzMjExNjIgOC4yMzQ0MzcxOSw3LjQxMzE3MTQxIEM4LjU5NzQxNTA1LDguMzkzMjExNjIgOC44MDAwMzU2MSw4Ljc1IDksOC43NSBDOS4yOTQxNDc0Myw4Ljc1IDkuNDg5NDc3MjQsOC42NDAxNjQ5NyA5Ljg3MDA0NTcsOC4zMTA5MzE5OSBMOS45NDMyNDMyMiw4LjI0NzYyMDYxIEMxMC4zNTIxNjM4LDcuODk1MjE3NjQgMTAuNjEyMDU3Myw3Ljc1IDExLDcuNzUgQzExLjQxMjgxODksNy43NSAxMS42NDQxNzc2LDguMDEwNzEyNzMgMTEuOTUzODc5OCw4LjYwODIyOTIgTDEyLjA5NTYyMDIsOC44ODUzNjEwNyBDMTIuNDE3Mjk5Miw5LjUwODc2NDI4IDEyLjY0Njc1MTUsOS43NSAxMyw5Ljc1IEwxOCw5Ljc1IEMxOC4xMzgwNzEyLDkuNzUgMTguMjUsOS44NjE5Mjg4MSAxOC4yNSwxMCBDMTguMjUsMTAuMTM4MDcxMiAxOC4xMzgwNzEyLDEwLjI1IDE4LDEwLjI1IEwxMi45OTk5OTk4LDEwLjI1IEwxMywxMC4yNSBaIiBpZD0iUGF0aCIgZmlsbD0iI0NGNjNDRiIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/sound-editor/icon--faster.svg" /*!******************************************************!*\ !*** ./src/components/sound-editor/icon--faster.svg ***! \******************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aWNvbi0tZmFzdGVyPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImZhc3RlciIgZmlsbD0iI0NGNjNDRiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMC40MDMwMTY4LDE1LjMzMDUyMDUgQzkuNjM2MzE4MTgsMTUuODA5MDQzIDguNjc4OTQ0OTYsMTUuMjE1MDE1IDguNjc4OTQ0OTYsMTQuMjg5NTk2NSBMOC42Nzg5NDQ5NiwxMi4zMDUzNzggTDMuNzI0MDcxODQsMTUuMzMwNTIwNSBDMi45NTczNzMyMiwxNS44MDkwNDMgMiwxNS4yMTUwMTUgMiwxNC4yODk1OTY1IEwyLDUuNzE4ODE3OTcgQzIsNC43Nzk2NDg3NSAyLjk1NzM3MzIyLDQuMTk5MzcxNDQgMy43MjQwNzE4NCw0LjY2Mjc2ODI1IEw4LjY3ODk0NDk2LDcuNjg3OTEwNjcgTDguNjc4OTQ0OTYsNS43MTg4MTc5NyBDOC42Nzg5NDQ5Niw0Ljc3OTY0ODc1IDkuNjM2MzE4MTgsNC4xOTkzNzE0NCAxMC40MDMwMTY4LDQuNjYyNzY4MjUgTDE3LjQyNTk3NjEsOC45NDc0Njk5NiBDMTguMTkxMzQxMyw5LjQxMDg2Njc4IDE4LjE5MTM0MTMsMTAuNTgyNDIxOSAxNy40MjU5NzYxLDExLjA2MDk0NDUgTDEwLjQwMzAxNjgsMTUuMzMwNTIwNSBaIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/sound-editor/icon--louder.svg" /*!******************************************************!*\ !*** ./src/components/sound-editor/icon--louder.svg ***! \******************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+bG91bmRlcjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJsb3VuZGVyIj4KICAgICAgICAgICAgPGcgaWQ9ImxvdWRlciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi4wMDAwMDAsIDQuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNi43MDQxLDIuMTIyMSBMNi43MDQxLDEwLjUzNjEgQzYuNzA0MSwxMC44ODUxIDYuNDIyMSwxMS4xNjcxIDYuMDc0MSwxMS4xNjcxIEw0Ljg5NzEsMTEuMTY3MSBDNC42MjUxLDExLjE2NzEgNC4zODMxLDEwLjk5MjEgNC4yOTgxLDEwLjczMjEgQzMuODE4MSw5LjI2ODEgMi40NTIxLDguMjc4MSAwLjkxMTEsOC4yNzgxIEwwLjYzMTEsOC4yNzgxIEMwLjI4NDEsOC4yNzgxIDAuMDAwMSw3Ljk5NDEgMC4wMDAxLDcuNjQ3MSBMMC4wMDAxLDUuMDExMSBDMC4wMDAxLDQuNjY0MSAwLjI4NDEsNC4zODAxIDAuNjMxMSw0LjM4MDEgTDAuOTExMSw0LjM4MDEgQzIuNDUyMSw0LjM4MDEgMy44MTgxLDMuMzkwMSA0LjI5ODEsMS45MjYxIEM0LjM4MzEsMS42NjYxIDQuNjI1MSwxLjQ5MTEgNC44OTcxLDEuNDkxMSBMNi4wNzQxLDEuNDkxMSBDNi40MjIxLDEuNDkxMSA2LjcwNDEsMS43NzMxIDYuNzA0MSwyLjEyMjEiIGlkPSJGaWxsLTEiIGZpbGw9IiNDRjYzQ0YiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjExNzIsNS4yMTI5IEM5LjcyOTIsNS44MjU5IDkuNzI5Miw2LjgzMTkgOS4xMTcyLDcuNDQ0OSIgaWQ9IlN0cm9rZS0zIiBzdHJva2U9IiNDRjYzQ0YiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS4zNDg2LDIuOTgxNSBDMTMuMTk2Niw0LjgyOTUgMTMuMTk2Niw3LjgyOTUgMTEuMzQ4Niw5LjY3NjUiIGlkPSJTdHJva2UtNSIgc3Ryb2tlPSIjQ0Y2M0NGIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTMuNTgsMC43NTAxIEMxNi42NjMsMy44MzIxIDE2LjY2Myw4LjgyNjEgMTMuNTgsMTEuOTA4MSIgaWQ9IlN0cm9rZS03IiBzdHJva2U9IiNDRjYzQ0YiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/sound-editor/icon--mute.svg" /*!****************************************************!*\ !*** ./src/components/sound-editor/icon--mute.svg ***! \****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU1LjIgKDc4MTgxKSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT5Tb3VuZC9FZmZlY3RzL011dGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iU291bmQvRWZmZWN0cy9NdXRlIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cGF0aCBmaWxsPSIjQ0Y2M0NGIiBkPSJNMTMuNDU0MTc0OSw1LjA0ODE1MjQzIEwxNS42MjgxMTY4LDIuODc0MjEwNTQgQzE1LjkyMTAxLDIuNTgxMzE3MzIgMTYuMzk1ODgzNywyLjU4MTMxNzMyIDE2LjY4ODc3NywyLjg3NDIxMDU0IEMxNi45ODE2NzAyLDMuMTY3MTAzNzYgMTYuOTgxNjcwMiwzLjY0MTk3NzQ5IDE2LjY4ODc3NywzLjkzNDg3MDcxIEw0LjUzMDMzMDA5LDE2LjA5MzMxNzYgQzQuMjM3NDM2ODcsMTYuMzg2MjEwOCAzLjc2MjU2MzEzLDE2LjM4NjIxMDggMy40Njk2Njk5MSwxNi4wOTMzMTc2IEMzLjE3Njc3NjcsMTUuODAwNDI0NCAzLjE3Njc3NjcsMTUuMzI1NTUwNiAzLjQ2OTY2OTkxLDE1LjAzMjY1NzQgTDYuMzEyMTQ5MzIsMTIuMTkwMTc4IEM2LjEyNDExOTEsMTIuMDYyMTM3OSA2LDExLjg0NjMzMzEgNiwxMS42MDI5ODc1IEw2LDguNjM3NDg3NSBDNiw4LjI0NzExMjUgNi4zMTk0MTUyNyw3LjkyNzYxMjUgNi43MDk2ODY3NSw3LjkyNzYxMjUgTDcuMDI0NjAzMjIsNy45Mjc2MTI1IEM4Ljc1Nzc2ODQ4LDcuOTI3NjEyNSAxMC4yOTQxMTEsNi44MTM4NjI1IDEwLjgzMzk2NzgsNS4xNjY4NjI1IEMxMC45Mjk1Njc0LDQuODc0MzYyNSAxMS4yMDE3NDUyLDQuNjc3NDg3NSAxMS41MDc2NjQxLDQuNjc3NDg3NSBMMTIuODMxNDM3OSw0LjY3NzQ4NzUgQzEzLjEwMDI4NDQsNC42Nzc0ODc1IDEzLjMzNDEwNzUsNC44MjcxNzIwOCAxMy40NTQxNzQ5LDUuMDQ4MTUyNDMgWiBNMTMuNTQsOS4wODM2NDc3MSBMMTMuNTQsMTQuODUzMTEyNSBDMTMuNTQsMTUuMjQ1NzM3NSAxMy4yMjI4MzQxLDE1LjU2Mjk4NzUgMTIuODMxNDM3OSwxNS41NjI5ODc1IEwxMS41MDc2NjQxLDE1LjU2Mjk4NzUgQzExLjIwMTc0NTIsMTUuNTYyOTg3NSAxMC45Mjk1Njc0LDE1LjM2NjExMjUgMTAuODMzOTY3OCwxNS4wNzM2MTI1IEMxMC41NzczNzg1LDE0LjI5MDgwNzcgMTAuMDk1NjgxMywxMy42Mjg0NjUgOS40NzQ3MzUzMSwxMy4xNDg5MTI0IEwxMy41NCw5LjA4MzY0NzcxIFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/sound-editor/icon--paste.svg" /*!*****************************************************!*\ !*** ./src/components/sound-editor/icon--paste.svg ***! \*****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU2LjEgKDgxNjY5KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5Tb3VuZC9HZW5lcmFsL1Bhc3RlPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9IlNvdW5kL0dlbmVyYWwvUGFzdGUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik0yLjM5Nzc2MTg0LDguNjk2OTk1MDggQzIuODIwMzcyNzIsOC41NzM0ODkwNyAzLjEyNjk3MDQ3LDguMjMwNjgwMzYgMy40NDYwNzg0Myw3LjYzMjM1Mjk0IEMzLjUwMjgzNTg4LDcuNTI1OTMyNzMgMy43MDY1Mzk1OCw3LjEyMDg0MDE0IDMuNzU0NzIwNDEsNy4wMzA1MDEwOSBDNC4wMzY2NTQ4Nyw2LjUwMTg3Mzk3IDQuMjc4NDUzODgsNi4yNSA0LjY2NjY2NjY3LDYuMjUgQzUuMDg3MTk3NzYsNi4yNSA1LjMxMDcwMDU2LDYuMzI1NDMyMiA1LjY3ODEyMDg3LDYuNTMyMTA2MTIgQzUuOTc3MzY3MjMsNi43MDA0MzIyIDYuMTI0MjM0OCw2Ljc1IDYuNDQ0NDQ0NDQsNi43NSBDNi42MTE4OTgsNi43NSA2LjcwNDU1MzE3LDYuNjE0NDQwNDcgNi44NTk2ODI1MSw2LjEzNTc1NTY3IEM2Ljg5MzQ5NDc2LDYuMDMwNjg3NTcgNi45MTE3NzgwMiw1Ljk3NDA5NjUzIDYuOTI5NDk1ODQsNS45MjA5NDMwNiBDNy4xOTE5Mjg5Myw1LjEzMzY0MzggNy41MTg3MzY2MSw0Ljc1IDguMjIyMjIyMjIsNC43NSBDOC44OTE2MzY3NSw0Ljc1IDkuMjE5MjU2OTUsNS4wNDQ4NTgxOCA5Ljc2MzU2ODEzLDUuODYxMzI0OTUgQzEwLjIxOTI1NjksNi41NDQ4NTgxOCAxMC40NDcxOTIzLDYuNzUgMTAuODg4ODg4OSw2Ljc1IEMxMS4zNjYxNjI0LDYuNzUgMTEuNTQ4NzcwNSw2LjY0MjgxNjk3IDExLjczNjQzMTksNi4zNjEzMjQ5NSBDMTEuNzY5MjUzMSw2LjMxMTI5ODI2IDExLjc2OTI1MzEsNi4zMTEyOTgyNiAxMS44MDM4MTcyLDYuMjU3NjEyMTQgQzEyLjAzMzIwOTksNS45MDM2OTE4OSAxMi4yNDMzMDczLDUuNzUgMTIuNjY2NjY2Nyw1Ljc1IEMxMy4xODUxOTkyLDUuNzUgMTMuNDA2MTQ5Nyw2LjA0ODI4MzEyIDEzLjc4NDAwODQsNi44OTg0NjUzOCBDMTQuMDcyODE2Myw3LjU0ODI4MzEyIDE0LjIyMjIzNjIsNy43NSAxNC40NDQ0NDQ0LDcuNzUgQzE0Ljc2ODc1NjksNy43NSAxNC45NDAyODQ4LDcuNjk0ODg3ODMgMTUuMjQ4OTI0Myw3LjUyOTYxMDU5IEwxNS4yOTA1MDMxLDcuNTA3MzI4ODcgQzE1LjYzNjEwNTcsNy4zMjIzODM0OCAxNS44NTcwMzYsNy4yNSAxNi4yMjIyMjIyLDcuMjUgQzE2LjYzNjU5MTIsNy4yNSAxNi44NDg5Nzc3LDcuNDY1ODY5NzQgMTcuMTE1ODk5OSw3Ljk2NDc3NjE0IEMxNy4xNjA2Mzg2LDguMDQ5MDMyNTcgMTcuMTYwNjM4Niw4LjA0OTAzMjU3IDE3LjIwNDU1NDMsOC4xMzEyMzY5MiBDMTcuMzUxMTYyMSw4LjQwMjgwNDE5IDE3LjQ3NjIxMzksOC41NzA5Mzg4OCAxNy42MzEzODEsOC42NjIxNzkxIEMxNy43MjI3ODQ5LDguNTYyNDk1OSAxNy44NTQwOTQxLDguNSAxOCw4LjUgQzE4LjI3NjE0MjQsOC41IDE4LjUsOC43MjM4NTc2MyAxOC41LDkgQzE4LjUsOS4yNzYxNDIzNyAxOC4yNzYxNDI0LDkuNSAxOCw5LjUgQzE3Ljg1NDA5NDEsOS41IDE3LjcyMjc4NDksOS40Mzc1MDQxIDE3LjYzMTM4MSw5LjMzNzgyMDkgQzE3LjQ3NjIxMzksOS40MjkwNjExMiAxNy4zNTExNjIxLDkuNTk3MTk1ODEgMTcuMjA0NTU0Myw5Ljg2ODc2MzA4IEMxNy4xNjA2Mzg2LDkuOTUwOTY3NDMgMTcuMTYwNjM4Niw5Ljk1MDk2NzQzIDE3LjExNTg5OTksMTAuMDM1MjIzOSBDMTYuODQ4OTc3NywxMC41MzQxMzAzIDE2LjYzNjU5MTIsMTAuNzUgMTYuMjIyMjIyMiwxMC43NSBDMTUuODU3MDM2LDEwLjc1IDE1LjYzNjEwNTcsMTAuNjc3NjE2NSAxNS4yOTA1MDMxLDEwLjQ5MjY3MTEgTDE1LjI0ODkyNDMsMTAuNDcwMzg5NCBDMTQuOTQwMjg0OCwxMC4zMDUxMTIyIDE0Ljc2ODc1NjksMTAuMjUgMTQuNDQ0NDQ0NCwxMC4yNSBDMTQuMjIyMjM2MiwxMC4yNSAxNC4wNzI4MTYzLDEwLjQ1MTcxNjkgMTMuNzg0MDA4NCwxMS4xMDE1MzQ2IEMxMy40MDYxNDk3LDExLjk1MTcxNjkgMTMuMTg1MTk5MiwxMi4yNSAxMi42NjY2NjY3LDEyLjI1IEMxMi4yNDMzMDczLDEyLjI1IDEyLjAzMzIwOTksMTIuMDk2MzA4MSAxMS44MDM4MTcyLDExLjc0MjM4NzkgQzExLjc2OTI1MzEsMTEuNjg4NzAxNyAxMS43NjkyNTMxLDExLjY4ODcwMTcgMTEuNzM2NDMxOSwxMS42Mzg2NzUgQzExLjU0ODc3MDUsMTEuMzU3MTgzIDExLjM2NjE2MjQsMTEuMjUgMTAuODg4ODg4OSwxMS4yNSBDMTAuNDQ3MTkyMywxMS4yNSAxMC4yMTkyNTY5LDExLjQ1NTE0MTggOS43NjM1NjgxMywxMi4xMzg2NzUgQzkuMjE5MjU2OTUsMTIuOTU1MTQxOCA4Ljg5MTYzNjc1LDEzLjI1IDguMjIyMjIyMjIsMTMuMjUgQzcuNTE4NzM2NjEsMTMuMjUgNy4xOTE5Mjg5MywxMi44NjYzNTYyIDYuOTI5NDk1ODQsMTIuMDc5MDU2OSBDNi45MTE3NzgwMiwxMi4wMjU5MDM1IDYuODkzNDk0NzYsMTEuOTY5MzEyNCA2Ljg1OTY4MjUxLDExLjg2NDI0NDMgQzYuNzA0NTUzMTcsMTEuMzg1NTU5NSA2LjYxMTg5OCwxMS4yNSA2LjQ0NDQ0NDQ0LDExLjI1IEM2LjEyNDIzNDgsMTEuMjUgNS45NzczNjcyMywxMS4yOTk1Njc4IDUuNjc4MTIwODcsMTEuNDY3ODkzOSBDNS4zMTA3MDA1NiwxMS42NzQ1Njc4IDUuMDg3MTk3NzYsMTEuNzUgNC42NjY2NjY2NywxMS43NSBDNC4yNTc2NzE2LDExLjc1IDQuMDc0MTQyOTgsMTEuNDk3NjE5MiAzLjg4MjI3NzEsMTAuOTMyMTg0MSBMMy43ODUxNTYwOCwxMC42MzkzNTIgQzMuNzQ2MzA3ODMsMTAuNTIzOTI1OCAzLjcxMjkwNjYzLDEwLjQzMTU4NTQgMy42NzczNzkzMywxMC4zNDM2NDUyIEMzLjQyNzk1NDk2LDkuNzI2MjQ5MDIgMy4wNzI2NTIzOCw5LjM3NTQ2NjQ0IDIuNDE1NTY2Niw5LjI3ODEzMDM2IEMyLjMyNTgzOTA4LDkuNDExOTMwOTMgMi4xNzMyMDQzNiw5LjUgMiw5LjUgQzEuNzIzODU3NjMsOS41IDEuNSw5LjI3NjE0MjM3IDEuNSw5IEMxLjUsOC43MjM4NTc2MyAxLjcyMzg1NzYzLDguNSAyLDguNSBDMi4xNjIyMjg2NSw4LjUgMi4zMDY0MTIsOC41NzcyNjExIDIuMzk3NzYxODQsOC42OTY5OTUwOCBaIE05LDE1IEw5Ljc3NjM5MzIsMTMuNDQ3MjEzNiBDOS44MDA1ODQxMywxMy4zOTg4MzE3IDkuODM5ODE0NzUsMTMuMzU5NjAxMSA5Ljg4ODE5NjYsMTMuMzM1NDEwMiBDMTAuMDExNjkxMiwxMy4yNzM2NjI5IDEwLjE2MTg1OTUsMTMuMzIzNzE5IDEwLjIyMzYwNjgsMTMuNDQ3MjEzNiBMMTEsMTUgTDEyLDE1IEMxMi4yNzYxNDI0LDE1IDEyLjUsMTUuMjIzODU3NiAxMi41LDE1LjUgQzEyLjUsMTUuNjA4MTg1MSAxMi40NjQ5MTExLDE1LjcxMzQ1MTkgMTIuNCwxNS44IEwxMC40LDE4LjQ2NjY2NjcgQzEwLjIzNDMxNDYsMTguNjg3NTgwNiA5LjkyMDkxMzksMTguNzMyMzUyMSA5LjcsMTguNTY2NjY2NyBDOS42NjIwOTcxNywxOC41MzgyMzk1IDkuNjI4NDI3MTIsMTguNTA0NTY5NSA5LjYsMTguNDY2NjY2NyBMNy42LDE1LjggQzcuNDM0MzE0NTgsMTUuNTc5MDg2MSA3LjQ3OTA4NjEsMTUuMjY1Njg1NCA3LjcsMTUuMSBDNy43ODY1NDgwOSwxNS4wMzUwODg5IDcuODkxODE0ODksMTUgOCwxNSBMOSwxNSBMOSwxNSBaIE0yLDMuNSBDMS43MjM4NTc2MywzLjUgMS41LDMuMjc2MTQyMzcgMS41LDMgQzEuNSwyLjcyMzg1NzYzIDEuNzIzODU3NjMsMi41IDIsMi41IEMyLjI3NjE0MjM3LDIuNSAyLjUsMi43MjM4NTc2MyAyLjUsMyBDMi41LDMuMjc2MTQyMzcgMi4yNzYxNDIzNywzLjUgMiwzLjUgWiBNNCwzLjUgQzMuNzIzODU3NjMsMy41IDMuNSwzLjI3NjE0MjM3IDMuNSwzIEMzLjUsMi43MjM4NTc2MyAzLjcyMzg1NzYzLDIuNSA0LDIuNSBDNC4yNzYxNDIzNywyLjUgNC41LDIuNzIzODU3NjMgNC41LDMgQzQuNSwzLjI3NjE0MjM3IDQuMjc2MTQyMzcsMy41IDQsMy41IFogTTYsMy41IEM1LjcyMzg1NzYzLDMuNSA1LjUsMy4yNzYxNDIzNyA1LjUsMyBDNS41LDIuNzIzODU3NjMgNS43MjM4NTc2MywyLjUgNiwyLjUgQzYuMjc2MTQyMzcsMi41IDYuNSwyLjcyMzg1NzYzIDYuNSwzIEM2LjUsMy4yNzYxNDIzNyA2LjI3NjE0MjM3LDMuNSA2LDMuNSBaIE04LDMuNSBDNy43MjM4NTc2MywzLjUgNy41LDMuMjc2MTQyMzcgNy41LDMgQzcuNSwyLjcyMzg1NzYzIDcuNzIzODU3NjMsMi41IDgsMi41IEM4LjI3NjE0MjM3LDIuNSA4LjUsMi43MjM4NTc2MyA4LjUsMyBDOC41LDMuMjc2MTQyMzcgOC4yNzYxNDIzNywzLjUgOCwzLjUgWiBNMTAsMy41IEM5LjcyMzg1NzYzLDMuNSA5LjUsMy4yNzYxNDIzNyA5LjUsMyBDOS41LDIuNzIzODU3NjMgOS43MjM4NTc2MywyLjUgMTAsMi41IEMxMC4yNzYxNDI0LDIuNSAxMC41LDIuNzIzODU3NjMgMTAuNSwzIEMxMC41LDMuMjc2MTQyMzcgMTAuMjc2MTQyNCwzLjUgMTAsMy41IFogTTEyLDMuNSBDMTEuNzIzODU3NiwzLjUgMTEuNSwzLjI3NjE0MjM3IDExLjUsMyBDMTEuNSwyLjcyMzg1NzYzIDExLjcyMzg1NzYsMi41IDEyLDIuNSBDMTIuMjc2MTQyNCwyLjUgMTIuNSwyLjcyMzg1NzYzIDEyLjUsMyBDMTIuNSwzLjI3NjE0MjM3IDEyLjI3NjE0MjQsMy41IDEyLDMuNSBaIE0xNCwzLjUgQzEzLjcyMzg1NzYsMy41IDEzLjUsMy4yNzYxNDIzNyAxMy41LDMgQzEzLjUsMi43MjM4NTc2MyAxMy43MjM4NTc2LDIuNSAxNCwyLjUgQzE0LjI3NjE0MjQsMi41IDE0LjUsMi43MjM4NTc2MyAxNC41LDMgQzE0LjUsMy4yNzYxNDIzNyAxNC4yNzYxNDI0LDMuNSAxNCwzLjUgWiBNMTYsMy41IEMxNS43MjM4NTc2LDMuNSAxNS41LDMuMjc2MTQyMzcgMTUuNSwzIEMxNS41LDIuNzIzODU3NjMgMTUuNzIzODU3NiwyLjUgMTYsMi41IEMxNi4yNzYxNDI0LDIuNSAxNi41LDIuNzIzODU3NjMgMTYuNSwzIEMxNi41LDMuMjc2MTQyMzcgMTYuMjc2MTQyNCwzLjUgMTYsMy41IFogTTE4LDMuNSBDMTcuNzIzODU3NiwzLjUgMTcuNSwzLjI3NjE0MjM3IDE3LjUsMyBDMTcuNSwyLjcyMzg1NzYzIDE3LjcyMzg1NzYsMi41IDE4LDIuNSBDMTguMjc2MTQyNCwyLjUgMTguNSwyLjcyMzg1NzYzIDE4LjUsMyBDMTguNSwzLjI3NjE0MjM3IDE4LjI3NjE0MjQsMy41IDE4LDMuNSBaIE0xOCw1LjUgQzE3LjcyMzg1NzYsNS41IDE3LjUsNS4yNzYxNDIzNyAxNy41LDUgQzE3LjUsNC43MjM4NTc2MyAxNy43MjM4NTc2LDQuNSAxOCw0LjUgQzE4LjI3NjE0MjQsNC41IDE4LjUsNC43MjM4NTc2MyAxOC41LDUgQzE4LjUsNS4yNzYxNDIzNyAxOC4yNzYxNDI0LDUuNSAxOCw1LjUgWiBNMTgsNy41IEMxNy43MjM4NTc2LDcuNSAxNy41LDcuMjc2MTQyMzcgMTcuNSw3IEMxNy41LDYuNzIzODU3NjMgMTcuNzIzODU3Niw2LjUgMTgsNi41IEMxOC4yNzYxNDI0LDYuNSAxOC41LDYuNzIzODU3NjMgMTguNSw3IEMxOC41LDcuMjc2MTQyMzcgMTguMjc2MTQyNCw3LjUgMTgsNy41IFogTTE4LDExLjUgQzE3LjcyMzg1NzYsMTEuNSAxNy41LDExLjI3NjE0MjQgMTcuNSwxMSBDMTcuNSwxMC43MjM4NTc2IDE3LjcyMzg1NzYsMTAuNSAxOCwxMC41IEMxOC4yNzYxNDI0LDEwLjUgMTguNSwxMC43MjM4NTc2IDE4LjUsMTEgQzE4LjUsMTEuMjc2MTQyNCAxOC4yNzYxNDI0LDExLjUgMTgsMTEuNSBaIE0xOCwxMy41IEMxNy43MjM4NTc2LDEzLjUgMTcuNSwxMy4yNzYxNDI0IDE3LjUsMTMgQzE3LjUsMTIuNzIzODU3NiAxNy43MjM4NTc2LDEyLjUgMTgsMTIuNSBDMTguMjc2MTQyNCwxMi41IDE4LjUsMTIuNzIzODU3NiAxOC41LDEzIEMxOC41LDEzLjI3NjE0MjQgMTguMjc2MTQyNCwxMy41IDE4LDEzLjUgWiBNMTgsMTUuNSBDMTcuNzIzODU3NiwxNS41IDE3LjUsMTUuMjc2MTQyNCAxNy41LDE1IEMxNy41LDE0LjcyMzg1NzYgMTcuNzIzODU3NiwxNC41IDE4LDE0LjUgQzE4LjI3NjE0MjQsMTQuNSAxOC41LDE0LjcyMzg1NzYgMTguNSwxNSBDMTguNSwxNS4yNzYxNDI0IDE4LjI3NjE0MjQsMTUuNSAxOCwxNS41IFogTTE2LDE1LjUgQzE1LjcyMzg1NzYsMTUuNSAxNS41LDE1LjI3NjE0MjQgMTUuNSwxNSBDMTUuNSwxNC43MjM4NTc2IDE1LjcyMzg1NzYsMTQuNSAxNiwxNC41IEMxNi4yNzYxNDI0LDE0LjUgMTYuNSwxNC43MjM4NTc2IDE2LjUsMTUgQzE2LjUsMTUuMjc2MTQyNCAxNi4yNzYxNDI0LDE1LjUgMTYsMTUuNSBaIE0xNCwxNS41IEMxMy43MjM4NTc2LDE1LjUgMTMuNSwxNS4yNzYxNDI0IDEzLjUsMTUgQzEzLjUsMTQuNzIzODU3NiAxMy43MjM4NTc2LDE0LjUgMTQsMTQuNSBDMTQuMjc2MTQyNCwxNC41IDE0LjUsMTQuNzIzODU3NiAxNC41LDE1IEMxNC41LDE1LjI3NjE0MjQgMTQuMjc2MTQyNCwxNS41IDE0LDE1LjUgWiBNNCwxNS41IEMzLjcyMzg1NzYzLDE1LjUgMy41LDE1LjI3NjE0MjQgMy41LDE1IEMzLjUsMTQuNzIzODU3NiAzLjcyMzg1NzYzLDE0LjUgNCwxNC41IEM0LjI3NjE0MjM3LDE0LjUgNC41LDE0LjcyMzg1NzYgNC41LDE1IEM0LjUsMTUuMjc2MTQyNCA0LjI3NjE0MjM3LDE1LjUgNCwxNS41IFogTTYsMTUuNSBDNS43MjM4NTc2MywxNS41IDUuNSwxNS4yNzYxNDI0IDUuNSwxNSBDNS41LDE0LjcyMzg1NzYgNS43MjM4NTc2MywxNC41IDYsMTQuNSBDNi4yNzYxNDIzNywxNC41IDYuNSwxNC43MjM4NTc2IDYuNSwxNSBDNi41LDE1LjI3NjE0MjQgNi4yNzYxNDIzNywxNS41IDYsMTUuNSBaIE0yLDE1LjUgQzEuNzIzODU3NjMsMTUuNSAxLjUsMTUuMjc2MTQyNCAxLjUsMTUgQzEuNSwxNC43MjM4NTc2IDEuNzIzODU3NjMsMTQuNSAyLDE0LjUgQzIuMjc2MTQyMzcsMTQuNSAyLjUsMTQuNzIzODU3NiAyLjUsMTUgQzIuNSwxNS4yNzYxNDI0IDIuMjc2MTQyMzcsMTUuNSAyLDE1LjUgWiBNMiwxMy41IEMxLjcyMzg1NzYzLDEzLjUgMS41LDEzLjI3NjE0MjQgMS41LDEzIEMxLjUsMTIuNzIzODU3NiAxLjcyMzg1NzYzLDEyLjUgMiwxMi41IEMyLjI3NjE0MjM3LDEyLjUgMi41LDEyLjcyMzg1NzYgMi41LDEzIEMyLjUsMTMuMjc2MTQyNCAyLjI3NjE0MjM3LDEzLjUgMiwxMy41IFogTTIsMTEuNSBDMS43MjM4NTc2MywxMS41IDEuNSwxMS4yNzYxNDI0IDEuNSwxMSBDMS41LDEwLjcyMzg1NzYgMS43MjM4NTc2MywxMC41IDIsMTAuNSBDMi4yNzYxNDIzNywxMC41IDIuNSwxMC43MjM4NTc2IDIuNSwxMSBDMi41LDExLjI3NjE0MjQgMi4yNzYxNDIzNywxMS41IDIsMTEuNSBaIE0yLDcuNSBDMS43MjM4NTc2Myw3LjUgMS41LDcuMjc2MTQyMzcgMS41LDcgQzEuNSw2LjcyMzg1NzYzIDEuNzIzODU3NjMsNi41IDIsNi41IEMyLjI3NjE0MjM3LDYuNSAyLjUsNi43MjM4NTc2MyAyLjUsNyBDMi41LDcuMjc2MTQyMzcgMi4yNzYxNDIzNyw3LjUgMiw3LjUgWiBNMiw1LjUgQzEuNzIzODU3NjMsNS41IDEuNSw1LjI3NjE0MjM3IDEuNSw1IEMxLjUsNC43MjM4NTc2MyAxLjcyMzg1NzYzLDQuNSAyLDQuNSBDMi4yNzYxNDIzNyw0LjUgMi41LDQuNzIzODU3NjMgMi41LDUgQzIuNSw1LjI3NjE0MjM3IDIuMjc2MTQyMzcsNS41IDIsNS41IFoiIGlkPSJTaGFwZSIgZmlsbD0iIzg1NUNENiIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/sound-editor/icon--play.svg" /*!****************************************************!*\ !*** ./src/components/sound-editor/icon--play.svg ***! \****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjQ5cHgiIGhlaWdodD0iNTJweCIgdmlld0JveD0iLTUgMCA0OSA0OCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNDMuMiAoMzkwNjkpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPnBsYXk8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMTcuMjIxNDY1MSw4LjM0NDk5NDQzIEMxOS43NzY2NDE5LDQuMDg2MzY2NTMgMjMuOTIzNDA1Nyw0LjA5MzAzOTQ2IDI2LjQ3NDU3ODcsOC4zNDQ5OTQ0MyBMNDAuMTUyMDk3NCwzMS4xNDA4NTkgQzQyLjcwNzI3NDEsMzUuMzk5NDg2OSA0MC43NDg5NjcyLDM4Ljg1MTc4NjkgMzUuNzcyNjYzNywzOC44NTE3ODY5IEw3LjkyMzM4MDA2LDM4Ljg1MTc4NjkgQzIuOTQ5NTA4OSwzOC44NTE3ODY5IDAuOTkyNzczNDI5LDM1LjM5MjgxNCAzLjU0Mzk0NjQxLDMxLjE0MDg1OSBMMTcuMjIxNDY1MSw4LjM0NDk5NDQzIFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJEZXNrdG9wLS0tMTI4MHg3MjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MjMuMDAwMDAwLCAtMzQ3LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0iU3RlcC0zLS0tQWx0ZXJpbmctU3VnZ2VzdGVkLVRyaW0iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCA0Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJQbGF5LS8tUmVjb3JkLS8tU3RvcCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjIzLjAwMDAwMCwgMzA3LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJwbGF5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMS44NDkxMzEsIDIyLjAwMjY1Nikgcm90YXRlKDkwLjAwMDAwMCkgdHJhbnNsYXRlKC0yMS44NDkxMzEsIC0yMi4wMDI2NTYpICI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2Ugc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9IiNGRkZGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/sound-editor/icon--redo.svg" /*!****************************************************!*\ !*** ./src/components/sound-editor/icon--redo.svg ***! \****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+cmVkbzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJyZWRvIiBmaWxsPSIjODU1Q0Q2Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE3LjU1ODE2MzUsMTIuNzcwMDY1MSBMMTMuODQwMzk3MiwxNi40OTQxMzE1IEMxMy41NjEwOTIyLDE2Ljc2NzEzNjQgMTMuMTgzMDg1NCwxNi45MjExMzkxIDEyLjc5MDM3ODQsMTYuOTIxMTM5MSBDMTIuMzk5MDcxNSwxNi45MjExMzkxIDEyLjAyMTA2NDcsMTYuNzY3MTM2NCAxMS43NDAzNTk3LDE2LjQ5NDEzMTUgTDguMDIzOTkzNDIsMTIuNzcwMDY1MSBDNy41OTY5ODU4LDEyLjM0MzA1NzQgNy40NzA5ODM1NSwxMS43MDYwNDYxIDcuNzAxOTg3NjcsMTEuMTUzMDM2MiBDNy45MzI5OTE3OSwxMC42MDAwMjYzIDguNDY1MDAxMjgsMTAuMjQzMDIgOS4wNjcwMTIwMiwxMC4yNDMwMiBMMTAuNDA0MDM1OSwxMC4yNDMwMiBDMTAuMzY5MDM1Miw5LjkyMTAxNDIzIDEwLjI3ODAzMzYsOS41NTcwMDc3NCAxMC4xMjQwMzA5LDkuMTcyMDAwODcgQzEwLjA3NTczLDkuMDU5OTk4ODcgMTAuMDI2MDI5MSw4Ljk0Nzk5Njg4IDkuOTcwMDI4MTMsOC44MzU5OTQ4OCBDOS44OTMwMjY3Niw4LjcwOTk5MjYzIDkuOTAwNzI2ODksOC42NzQ5OTIwMSA5Ljc5NTAyNTAxLDguNTIwOTg5MjYgQzkuNjI3MDIyMDEsOC4yNjg5ODQ3NiA5LjQ3MzAxOTI2LDguMDc5OTgxMzkgOS4yOTAzMTYwMSw3Ljg2Mjk3NzUyIEM4LjkyMDAwOTQsNy40NjM5NzA0IDguNDcyMDAxNDEsNy4xMjA5NjQyOSA3Ljk5NTk5MjkyLDYuODY4OTU5NzkgQzcuNTEyOTg0Myw2LjYxNjk1NTMgNy4wMDg5NzUzMSw2LjQ2Mjk1MjU1IDYuNTYwOTY3MzIsNi4zNzg5NTEwNSBDNi4xMTk5NTk0NSw2LjMwMTk0OTY4IDUuNzEzOTUyMjEsNi4yOTQ5NDk1NSA1LjQ3NTk0Nzk2LDYuMjk0OTQ5NTUgQzUuMzU2OTQ1ODQsNi4yODc5NDk0MyA1LjIwMjk0MzEsNi4zMTU5NDk5MyA1LjEyNTk0MTcyLDYuMzIyOTUwMDUgQzUuMDQxOTQwMjIsNi4zMjk5NTAxOCA0Ljk5MjkzOTM1LDYuMzM2OTUwMyA0Ljk5MjkzOTM1LDYuMzM2OTUwMyBDNC40OTU5MzA0OCw2LjM4NTk1MTE3IDQuMDQ3OTIyNDksNi4wMjE5NDQ2OCAzLjk5ODkyMTYyLDUuNTI0OTM1ODIgQzMuOTU2OTIwODcsNS4xMDQ5MjgzMiA0LjIwMTkyNTI0LDQuNzI2OTIxNTggNC41NzI5MzE4Niw0LjU4NjkxOTA4IEM0LjU3MjkzMTg2LDQuNTg2OTE5MDggNC42MjE5MzI3Myw0LjU2NTkxODcxIDQuNjk4OTM0MSw0LjUzNzkxODIxIEM0Ljc4OTkzNTczLDQuNTA5OTE3NzEgNC44NzM5MzcyMyw0LjQ2MDkxNjg0IDUuMDY5OTQwNzIsNC40MDQ5MTU4NCBDNS40NjE5NDc3Miw0LjI4NTkxMzcxIDUuOTU4OTU2NTgsNC4xNTk5MTE0NyA2LjYwOTk2ODE5LDQuMDk2OTEwMzQgQzcuMjUzOTc5NjgsNC4wNDA5MDkzNCA4LjAzMDk5MzU0LDQuMDU0OTA5NTkgOC44NTA3MDgxNiw0LjIyMjkxMjU5IEM5LjY2OTAyMjc2LDQuMzk3OTE1NzEgMTAuNTMwMDM4MSw0LjcyNjkyMTU4IDExLjMyODA1MjQsNS4yMDI5MzAwNyBDMTEuNzA2MDU5MSw1LjQ0NzkzNDQ0IDEyLjExMjA2NjMsNS43MzQ5Mzk1NiAxMi40MjcwNzIsNi4wMTQ5NDQ1NiBDMTIuNTY3MDc0NSw2LjExOTk0NjQzIDEyLjgwNTA3ODcsNi4zNTc5NTA2OCAxMi45NDUwODEyLDYuNTA0OTUzMyBDMTMuMTA2MDg0MSw2LjY3Mjk1NjI5IDEzLjI1MzA4NjcsNi44NDA5NTkyOSAxMy40MDA3ODkzLDcuMDE1OTYyNDEgQzEzLjk2NzA5OTQsNy43MTU5NzQ5IDE0LjM4NzEwNjksOC40NzE5ODgzOSAxNC42NjAxMTE4LDkuMTU4MDAwNjIgQzE0LjgyMTExNDcsOS41NTAwMDc2MiAxNC45MzMxMTY3LDkuOTIxMDE0MjMgMTUuMDE3MTE4MiwxMC4yNDMwMiBMMTYuNTE1MTQ0OSwxMC4yNDMwMiBDMTcuMTE3MTU1NiwxMC4yNDMwMiAxNy42NDkxNjUxLDEwLjYwMDAyNjMgMTcuODgwMTY5MiwxMS4xNTMwMzYyIEMxOC4xMTExNzM0LDExLjcwNjA0NjEgMTcuOTg1MTcxMSwxMi4zNDMwNTc0IDE3LjU1ODE2MzUsMTIuNzcwMDY1MSIgaWQ9IkZpbGwtMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuOTk0MjQ3LCAxMC40OTQyNDcpIHJvdGF0ZSgtNDUuMDAwMDAwKSB0cmFuc2xhdGUoLTEwLjk5NDI0NywgLTEwLjQ5NDI0NykgIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/sound-editor/icon--reverse.svg" /*!*******************************************************!*\ !*** ./src/components/sound-editor/icon--reverse.svg ***! \*******************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+cmV2ZXJzZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJyZXZlcnNlIiBmaWxsPSIjQ0Y2M0NGIj4KICAgICAgICAgICAgPHBhdGggZD0iTTYuNzQ4Mzg2MTcsMTQuNjI5MjM3MiBDNi43NDgzODYxNywxNC45OTMzMTkgNi40NTE3MTE0NSwxNS4yODg1MjA1IDYuMDg1ODEyNjQsMTUuMjg4NTIwNSBDNS43MTk5MTM4MiwxNS4yODg1MjA1IDUuNDEzMzQ5OTQsMTQuOTkzMzE5IDUuNDEzMzQ5OTQsMTQuNjI5MjM3MiBDNS40MTMzNDk5NCwxNC4yNTUzMTU0IDUuNzE5OTEzODIsMTMuOTU5MTMgNi4wODU4MTI2NCwxMy45NTkxMyBDNi40NTE3MTE0NSwxMy45NTkxMyA2Ljc0ODM4NjE3LDE0LjI1NTMxNTQgNi43NDgzODYxNywxNC42MjkyMzcyIFogTTExLjM3NzEwNTEsNi4xMzczNzQyNSBDMTAuMDQxMDgsNS45MTEwNTMxNSA4LjcwNzAzMjY2LDYuMzQ0MDE1MjYgNy43OTcyMzAxOSw3LjE4MDQxOTM0IEw4Ljk1NDI2MTU5LDguMzMwNzIwOTUgQzkuMzk5MjczNjcsOC43ODMzNjMxNSA5LjA4MjgyMDY0LDkuNTUxODcwOSA4LjQzOTAzNjUsOS41NTE4NzA5IEwzLjcyMjg5NzQsOS41NTE4NzA5IEMzLjMyNjM0MjE5LDkuNTUxODcwOSAzLDkuMjI3MTQ5MzEgMyw4LjgzMjU2MzM5IEwzLDQuMTM5ODQ0NTIgQzMsMy40OTkyNTc0IDMuNzcyMzQzMTgsMy4xODUzNTk4NyA0LjIyNzI0NDQyLDMuNjI3MTc4MDIgTDUuMjE2MTYwMTQsNC42MTExODI4MiBDNi4xMTYwNzM0NiwzLjkxMjUzOTQxIDcuMTYzMzM1MjEsMy40MTA2OTY5NyA4LjI2MjAyMDU4LDMuMTc0NTM1ODEgQzkuNTM3NzIxODcsMi44OTk5OTg0OCAxMC44NjE4OCwyLjk0OTE5ODcyIDEyLjA3OTIzNTMsMy4zMjMxMjA1NCBDMTQuNTMwNzU3NCw0LjA2MTEyNDE0IDE2LjQyOTQ3NTYsNi4xMDc4NTQxMSAxNi45NzMzNzkyLDguNDQ5Nzg1NTMgQzE3LjEwMjkyNzIsOS4wMTA2NjgyNiAxNi43NDY5MTc1LDkuNTgxMzkxMDQgMTYuMTgyMjQ2Niw5LjcwOTMxMTY2IEMxNS42NTgxMjEzLDkuODM3MjMyMjkgMTUuMTQ0ODc0LDkuNTQyMDMwODUgMTQuOTU2OTgwMSw5LjA1OTg2ODUgTDE0Ljk1Njk4MDEsOS4wNTAwMjg0NSBDMTQuMzUzNzQxNSw3LjQ4NDQ3NjgyIDEyLjkwMDAzNTMsNi4zNjI3MTEzNSAxMS4zNzcxMDUxLDYuMTM3Mzc0MjUgWiBNOS40NTgyMTMwNSwxNi4xNDQ2MDQ2IEM5LjQ1ODIxMzA1LDE2LjU1Nzg4NjYgOS4xMjE5ODE3LDE2Ljg5MjQ0ODMgOC43MDY2MzcxLDE2Ljg5MjQ0ODMgQzguMjkxMjkyNDksMTYuODkyNDQ4MyA3Ljk2NDk1MDMsMTYuNTU3ODg2NiA3Ljk2NDk1MDMsMTYuMTQ0NjA0NiBDNy45NjQ5NTAzLDE1LjczMTMyMjYgOC4yOTEyOTI0OSwxNS40MDY2MDEgOC43MDY2MzcxLDE1LjQwNjYwMSBDOS4xMjE5ODE3LDE1LjQwNjYwMSA5LjQ1ODIxMzA1LDE1LjczMTMyMjYgOS40NTgyMTMwNSwxNi4xNDQ2MDQ2IFogTTE1LjI5MzIxMTQsMTQuNzE3NjAwOSBDMTUuMjkzMjExNCwxNS4yMDk2MDMzIDE0Ljg4Nzc1NiwxNS42MTMwNDUyIDE0LjM4MzQwODksMTUuNjEzMDQ1MiBDMTMuODc4MDczLDE1LjYxMzA0NTIgMTMuNDczNjA2NSwxNS4yMDk2MDMzIDEzLjQ3MzYwNjUsMTQuNzE3NjAwOSBDMTMuNDczNjA2NSwxNC4yMTU3NTg0IDEzLjg3ODA3MywxMy44MTIzMTY1IDE0LjM4MzQwODksMTMuODEyMzE2NSBDMTQuODg3NzU2LDEzLjgxMjMxNjUgMTUuMjkzMjExNCwxNC4yMTU3NTg0IDE1LjI5MzIxMTQsMTQuNzE3NjAwOSBaIE0xNi45NTQyOTMyLDEyLjEzOTQwOTkgQzE2Ljk1NDI5MzIsMTIuNjkwNDUyNiAxNi41MDkyODExLDEzLjEyMzQxNDcgMTUuOTY1Mzc3NCwxMy4xMjM0MTQ3IEMxNS40MjE0NzM4LDEzLjEyMzQxNDcgMTQuOTc2NDYxNywxMi42OTA0NTI2IDE0Ljk3NjQ2MTcsMTIuMTM5NDA5OSBDMTQuOTc2NDYxNywxMS41OTgyMDczIDE1LjQyMTQ3MzgsMTEuMTU1NDA1MSAxNS45NjUzNzc0LDExLjE1NTQwNTEgQzE2LjUwOTI4MTEsMTEuMTU1NDA1MSAxNi45NTQyOTMyLDExLjU5ODIwNzMgMTYuOTU0MjkzMiwxMi4xMzk0MDk5IFogTTEyLjU2NDAwMTgsMTYuMTczNDM2IEMxMi41NjQwMDE4LDE2LjYyNjA3ODIgMTIuMTg3MjI0OSwxNyAxMS43MzIzMjM3LDE3IEMxMS4yNzc0MjI0LDE3IDEwLjkxMTUyMzYsMTYuNjI2MDc4MiAxMC45MTE1MjM2LDE2LjE3MzQzNiBDMTAuOTExNTIzNiwxNS43MjA3OTM4IDExLjI3NzQyMjQsMTUuMzQ2ODcxOSAxMS43MzIzMjM3LDE1LjM0Njg3MTkgQzEyLjE4NzIyNDksMTUuMzQ2ODcxOSAxMi41NjQwMDE4LDE1LjcyMDc5MzggMTIuNTY0MDAxOCwxNi4xNzM0MzYgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/sound-editor/icon--robot.svg" /*!*****************************************************!*\ !*** ./src/components/sound-editor/icon--robot.svg ***! \*****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+cm9ib3Q8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0icm9ib3QiPgogICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjI1MDAwMCwgMS41MDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjYwNTI3MjczLDguMDM1ODcyNzMgTDMuOTA2LDguMDM1ODcyNzMgQzMuMjAzNDU0NTUsOC4wMzU4NzI3MyAyLjYzMzI3MjczLDcuNDY2OTYzNjQgMi42MzMyNzI3Myw2Ljc2MzE0NTQ1IEwyLjYzMzI3MjczLDQuNjM2NDE4MTggQzIuNjMzMjcyNzMsMy45MzM4NzI3MyAzLjIwMzQ1NDU1LDMuMzYzNjkwOTEgMy45MDYsMy4zNjM2OTA5MSBMOS42MDUyNzI3MywzLjM2MzY5MDkxIEMxMC4zMDkwOTA5LDMuMzYzNjkwOTEgMTAuODc4LDMuOTMzODcyNzMgMTAuODc4LDQuNjM2NDE4MTggTDEwLjg3OCw2Ljc2MzE0NTQ1IEMxMC44NzgsNy40NjY5NjM2NCAxMC4zMDkwOTA5LDguMDM1ODcyNzMgOS42MDUyNzI3Myw4LjAzNTg3MjczIiBpZD0iRmlsbC0xIiBmaWxsPSIjQ0Y2M0NGIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4xMTMxMDkwOSwxMy4wNzgyOTA5IEw0LjM5ODkyNzI3LDEzLjA3ODI5MDkgQzMuNzcxNDcyNzMsMTMuMDc4MjkwOSAzLjI2MjM4MTgyLDEyLjU2OTIgMy4yNjIzODE4MiwxMS45NDA0NzI3IEwzLjI2MjM4MTgyLDExLjAxMjY1NDUgQzMuMjYyMzgxODIsOS4wODMyIDQuODI2NTYzNjQsNy41MTkwMTgxOCA2Ljc1NjAxODE4LDcuNTE5MDE4MTggQzguNjg1NDcyNzMsNy41MTkwMTgxOCAxMC4yNDk2NTQ1LDkuMDgzMiAxMC4yNDk2NTQ1LDExLjAxMjY1NDUgTDEwLjI0OTY1NDUsMTEuOTQwNDcyNyBDMTAuMjQ5NjU0NSwxMi41NjkyIDkuNzQwNTYzNjQsMTMuMDc4MjkwOSA5LjExMzEwOTA5LDEzLjA3ODI5MDkiIGlkPSJGaWxsLTMiIGZpbGw9IiNDRjYzQ0YiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03Ljc3NywxNS41MjE4IEM3Ljc3NywxNi4wODQzNDU1IDcuMzIwMDkwOTEsMTYuNTQyNTI3MyA2Ljc1NjI3MjczLDE2LjU0MjUyNzMgQzYuMTkyNDU0NTUsMTYuNTQyNTI3MyA1LjczNTU0NTQ1LDE2LjA4NDM0NTUgNS43MzU1NDU0NSwxNS41MjE4IEM1LjczNTU0NTQ1LDE0Ljk1Nzk4MTggNi4xOTI0NTQ1NSwxNC40OTk4IDYuNzU2MjcyNzMsMTQuNDk5OCBDNy4zMjAwOTA5MSwxNC40OTk4IDcuNzc3LDE0Ljk1Nzk4MTggNy43NzcsMTUuNTIxOCIgaWQ9IkZpbGwtNSIgZmlsbD0iI0NGNjNDRiI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTguMDMwNTI3MjcsMS4yNzQ1MDkwOSBDOC4wMzA1MjcyNywxLjk3OTYgNy40NjAzNDU0NSwyLjU0OTc4MTgyIDYuNzU2NTI3MjcsMi41NDk3ODE4MiBDNi4wNTE0MzYzNiwyLjU0OTc4MTgyIDUuNDgxMjU0NTUsMS45Nzk2IDUuNDgxMjU0NTUsMS4yNzQ1MDkwOSBDNS40ODEyNTQ1NSwwLjU3MDY5MDkwOSA2LjA1MTQzNjM2LDAuMDAwNTA5MDkwOTA5IDYuNzU2NTI3MjcsMC4wMDA1MDkwOTA5MDkgQzcuNDYwMzQ1NDUsMC4wMDA1MDkwOTA5MDkgOC4wMzA1MjcyNywwLjU3MDY5MDkwOSA4LjAzMDUyNzI3LDEuMjc0NTA5MDkiIGlkPSJGaWxsLTgiIGZpbGw9IiNDRjYzQ0YiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02Ljc1NjUyNzI3LDE1LjUyMTggTDYuNzU2NTI3MjcsMS4yNjk4IiBpZD0iU3Ryb2tlLTExIiBzdHJva2U9IiNDRjYzQ0YiIHN0cm9rZS13aWR0aD0iMC43NSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNTExNjE4MTgsMTMuMjgwOTA5MSBDMS41MTE2MTgxOCwxMC4zODQxODE4IDMuODU5OCw4LjAzNiA2Ljc1NjUyNzI3LDguMDM2IEM5LjY1MTk4MTgyLDguMDM2IDEyLjAwMDE2MzYsMTAuMzg0MTgxOCAxMi4wMDAxNjM2LDEzLjI4MDkwOTEiIGlkPSJTdHJva2UtMTMiIHN0cm9rZT0iI0NGNjNDRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAuOTY2MzI3MywxNC4zMTUgQzEwLjk2NjMyNzMsMTMuNzQzNTQ1NSAxMS40Mjk2LDEzLjI4MTU0NTUgMTEuOTk5NzgxOCwxMy4yODE1NDU1IEMxMi41NzI1MDkxLDEzLjI4MTU0NTUgMTMuMDM0NTA5MSwxMy43NDM1NDU1IDEzLjAzNDUwOTEsMTQuMzE1IiBpZD0iU3Ryb2tlLTE1IiBzdHJva2U9IiNDRjYzQ0YiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTAuNDc3NTI3MjczLDE0LjMxNSBDMC40Nzc1MjcyNzMsMTMuNzQzNTQ1NSAwLjkzOTUyNzI3MywxMy4yODE1NDU1IDEuNTEwOTgxODIsMTMuMjgxNTQ1NSBDMi4wODI0MzYzNiwxMy4yODE1NDU1IDIuNTQ1NzA5MDksMTMuNzQzNTQ1NSAyLjU0NTcwOTA5LDE0LjMxNSIgaWQ9IlN0cm9rZS0xNyIgc3Ryb2tlPSIjQ0Y2M0NGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik04Ljc1NjM2MzY0LDYuNDAzOTgxODIgTDQuNzU0OTA5MDksNi40MDM5ODE4MiBDNC4zNjY3MjcyNyw2LjQwMzk4MTgyIDQuMDUyMzYzNjQsNi4wODk2MTgxOCA0LjA1MjM2MzY0LDUuNzAwMTYzNjQgQzQuMDUyMzYzNjQsNS4zMTE5ODE4MiA0LjM2NjcyNzI3LDQuOTk2MzQ1NDUgNC43NTQ5MDkwOSw0Ljk5NjM0NTQ1IEw4Ljc1NjM2MzY0LDQuOTk2MzQ1NDUgQzkuMTQ1ODE4MTgsNC45OTYzNDU0NSA5LjQ2MTQ1NDU1LDUuMzExOTgxODIgOS40NjE0NTQ1NSw1LjcwMDE2MzY0IEM5LjQ2MTQ1NDU1LDYuMDg5NjE4MTggOS4xNDU4MTgxOCw2LjQwMzk4MTgyIDguNzU2MzYzNjQsNi40MDM5ODE4MiIgaWQ9IkZpbGwtMTkiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/sound-editor/icon--slower.svg" /*!******************************************************!*\ !*** ./src/components/sound-editor/icon--slower.svg ***! \******************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aWNvbi0tc2xvd2VyPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9InNsb3dlciIgZmlsbD0iI0NGNjNDRiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yLjU3NCw4LjkzOTM2NDQxIEw5LjU5NjY2NjY3LDQuNjY5OTg5NDEgQzEwLjM2MzMzMzMsNC4xOTE0ODk0MSAxMS4zMjA2NjY3LDQuNzg1NDg5NDEgMTEuMzIwNjY2Nyw1LjcxMDg2NDQxIEwxMS4zMjA2NjY3LDcuNjk0OTg5NDEgTDE2LjI3NTMzMzMsNC42Njk5ODk0MSBDMTcuMDQyLDQuMTkxNDg5NDEgMTcuOTk5MzMzMyw0Ljc4NTQ4OTQxIDE3Ljk5OTMzMzMsNS43MTA4NjQ0MSBMMTcuOTk5MzMzMywxNC4yODEyMzk0IEMxNy45OTkzMzMzLDE1LjIyMDM2NDQgMTcuMDQyLDE1LjgwMDYxNDQgMTYuMjc1MzMzMywxNS4zMzcyMzk0IEwxMS4zMjA2NjY3LDEyLjMxMjIzOTQgTDExLjMyMDY2NjcsMTQuMjgxMjM5NCBDMTEuMzIwNjY2NywxNS4yMjAzNjQ0IDEwLjM2MzMzMzMsMTUuODAwNjE0NCA5LjU5NjY2NjY3LDE1LjMzNzIzOTQgTDIuNTc0LDExLjA1MjczOTQgQzEuODA4NjY2NjcsMTAuNTg5MzY0NCAxLjgwODY2NjY3LDkuNDE3ODY0NDEgMi41NzQsOC45MzkzNjQ0MSI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/sound-editor/icon--softer.svg" /*!******************************************************!*\ !*** ./src/components/sound-editor/icon--softer.svg ***! \******************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aWNvbi0tc29mdGVyPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9InNvZnRlciI+CiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcuNTQwMTEyNDYsMS4zODczNjI1IEw3LjU0MDExMjQ2LDEwLjg1MzExMjUgQzcuNTQwMTEyNDYsMTEuMjQ1NzM3NSA3LjIyMjk0NjU5LDExLjU2Mjk4NzUgNi44MzE1NTA0MSwxMS41NjI5ODc1IEw1LjUwNzc3NjU1LDExLjU2Mjk4NzUgQzUuMjAxODU3NywxMS41NjI5ODc1IDQuOTI5Njc5OSwxMS4zNjYxMTI1IDQuODM0MDgwMjYsMTEuMDczNjEyNSBDNC4yOTQyMjM0Niw5LjQyNjYxMjUgMi43NTc4ODA5OCw4LjMxMjg2MjUgMS4wMjQ3MTU3Miw4LjMxMjg2MjUgTDAuNzA5Nzk5MjUxLDguMzEyODYyNSBDMC4zMTk1Mjc3NzMsOC4zMTI4NjI1IDAuMDAwMTEyNSw3Ljk5MzM2MjUgMC4wMDAxMTI1LDcuNjAyOTg3NSBMMC4wMDAxMTI1LDQuNjM3NDg3NSBDMC4wMDAxMTI1LDQuMjQ3MTEyNSAwLjMxOTUyNzc3MywzLjkyNzYxMjUgMC43MDk3OTkyNTEsMy45Mjc2MTI1IEwxLjAyNDcxNTcyLDMuOTI3NjEyNSBDMi43NTc4ODA5OCwzLjkyNzYxMjUgNC4yOTQyMjM0NiwyLjgxMzg2MjUgNC44MzQwODAyNiwxLjE2Njg2MjUgQzQuOTI5Njc5OSwwLjg3NDM2MjUgNS4yMDE4NTc3LDAuNjc3NDg3NSA1LjUwNzc3NjU1LDAuNjc3NDg3NSBMNi44MzE1NTA0MSwwLjY3NzQ4NzUgQzcuMjIyOTQ2NTksMC42Nzc0ODc1IDcuNTQwMTEyNDYsMC45OTQ3Mzc1IDcuNTQwMTEyNDYsMS4zODczNjI1IiBpZD0iRmlsbC0xIiBmaWxsPSIjQ0Y2M0NGIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4yNSw0Ljg2NDUxMjUgQzkuOTM4NSw1LjU1NDEzNzUgOS45Mzg1LDYuNjg1ODg3NSA5LjI1LDcuMzc1NTEyNSIgaWQ9IlN0cm9rZS0zIiBzdHJva2U9IiNDRjYzQ0YiIHN0cm9rZS13aWR0aD0iMS43NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/sound-editor/icon--stop.svg" /*!****************************************************!*\ !*** ./src/components/sound-editor/icon--stop.svg ***! \****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjUycHgiIGhlaWdodD0iNTJweCIgdmlld0JveD0iMCAwIDUyIDUyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c3RvcC1wbGF5YmFjazwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxyZWN0IGlkPSJwYXRoLTEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgcng9IjQiPjwvcmVjdD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJEZXNrdG9wLS0tMTI4MHg3MjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MTkuMDAwMDAwLCAtMzQ1LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0iU3RlcC00LS0tUGxheWluZy1UcmltIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgNDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iUGxheS0vLVJlY29yZC0vLVN0b3AiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYyMy4wMDAwMDAsIDMwNy4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0ic3RvcC1wbGF5YmFjayI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEiIHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iNDMiIGhlaWdodD0iNDMiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/sound-editor/icon--undo.svg" /*!****************************************************!*\ !*** ./src/components/sound-editor/icon--undo.svg ***! \****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+dW5kbzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJ1bmRvIiBmaWxsPSIjODU1Q0Q2Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE1LjU1ODE2MzUsMTIuNzcwMDY1MSBMMTEuODQwMzk3MiwxNi40OTQxMzE1IEMxMS41NjEwOTIyLDE2Ljc2NzEzNjQgMTEuMTgzMDg1NCwxNi45MjExMzkxIDEwLjc5MDM3ODQsMTYuOTIxMTM5MSBDMTAuMzk5MDcxNSwxNi45MjExMzkxIDEwLjAyMTA2NDcsMTYuNzY3MTM2NCA5Ljc0MDM1OTcxLDE2LjQ5NDEzMTUgTDYuMDIzOTkzNDIsMTIuNzcwMDY1MSBDNS41OTY5ODU4LDEyLjM0MzA1NzQgNS40NzA5ODM1NSwxMS43MDYwNDYxIDUuNzAxOTg3NjcsMTEuMTUzMDM2MiBDNS45MzI5OTE3OSwxMC42MDAwMjYzIDYuNDY1MDAxMjgsMTAuMjQzMDIgNy4wNjcwMTIwMiwxMC4yNDMwMiBMOC40MDQwMzU4NywxMC4yNDMwMiBDOC4zNjkwMzUyNSw5LjkyMTAxNDIzIDguMjc4MDMzNjIsOS41NTcwMDc3NCA4LjEyNDAzMDg4LDkuMTcyMDAwODcgQzguMDc1NzMwMDIsOS4wNTk5OTg4NyA4LjAyNjAyOTEzLDguOTQ3OTk2ODggNy45NzAwMjgxMyw4LjgzNTk5NDg4IEM3Ljg5MzAyNjc2LDguNzA5OTkyNjMgNy45MDA3MjY4OSw4LjY3NDk5MjAxIDcuNzk1MDI1MDEsOC41MjA5ODkyNiBDNy42MjcwMjIwMSw4LjI2ODk4NDc2IDcuNDczMDE5MjYsOC4wNzk5ODEzOSA3LjI5MDMxNjAxLDcuODYyOTc3NTIgQzYuOTIwMDA5NCw3LjQ2Mzk3MDQgNi40NzIwMDE0MSw3LjEyMDk2NDI5IDUuOTk1OTkyOTIsNi44Njg5NTk3OSBDNS41MTI5ODQzLDYuNjE2OTU1MyA1LjAwODk3NTMxLDYuNDYyOTUyNTUgNC41NjA5NjczMiw2LjM3ODk1MTA1IEM0LjExOTk1OTQ1LDYuMzAxOTQ5NjggMy43MTM5NTIyMSw2LjI5NDk0OTU1IDMuNDc1OTQ3OTYsNi4yOTQ5NDk1NSBDMy4zNTY5NDU4NCw2LjI4Nzk0OTQzIDMuMjAyOTQzMSw2LjMxNTk0OTkzIDMuMTI1OTQxNzIsNi4zMjI5NTAwNSBDMy4wNDE5NDAyMiw2LjMyOTk1MDE4IDIuOTkyOTM5MzUsNi4zMzY5NTAzIDIuOTkyOTM5MzUsNi4zMzY5NTAzIEMyLjQ5NTkzMDQ4LDYuMzg1OTUxMTcgMi4wNDc5MjI0OSw2LjAyMTk0NDY4IDEuOTk4OTIxNjIsNS41MjQ5MzU4MiBDMS45NTY5MjA4Nyw1LjEwNDkyODMyIDIuMjAxOTI1MjQsNC43MjY5MjE1OCAyLjU3MjkzMTg2LDQuNTg2OTE5MDggQzIuNTcyOTMxODYsNC41ODY5MTkwOCAyLjYyMTkzMjczLDQuNTY1OTE4NzEgMi42OTg5MzQxLDQuNTM3OTE4MjEgQzIuNzg5OTM1NzMsNC41MDk5MTc3MSAyLjg3MzkzNzIzLDQuNDYwOTE2ODQgMy4wNjk5NDA3Miw0LjQwNDkxNTg0IEMzLjQ2MTk0NzcyLDQuMjg1OTEzNzEgMy45NTg5NTY1OCw0LjE1OTkxMTQ3IDQuNjA5OTY4MTksNC4wOTY5MTAzNCBDNS4yNTM5Nzk2OCw0LjA0MDkwOTM0IDYuMDMwOTkzNTQsNC4wNTQ5MDk1OSA2Ljg1MDcwODE2LDQuMjIyOTEyNTkgQzcuNjY5MDIyNzYsNC4zOTc5MTU3MSA4LjUzMDAzODEyLDQuNzI2OTIxNTggOS4zMjgwNTIzNSw1LjIwMjkzMDA3IEM5LjcwNjA1OTEsNS40NDc5MzQ0NCAxMC4xMTIwNjYzLDUuNzM0OTM5NTYgMTAuNDI3MDcyLDYuMDE0OTQ0NTYgQzEwLjU2NzA3NDUsNi4xMTk5NDY0MyAxMC44MDUwNzg3LDYuMzU3OTUwNjggMTAuOTQ1MDgxMiw2LjUwNDk1MzMgQzExLjEwNjA4NDEsNi42NzI5NTYyOSAxMS4yNTMwODY3LDYuODQwOTU5MjkgMTEuNDAwNzg5Myw3LjAxNTk2MjQxIEMxMS45NjcwOTk0LDcuNzE1OTc0OSAxMi4zODcxMDY5LDguNDcxOTg4MzkgMTIuNjYwMTExOCw5LjE1ODAwMDYyIEMxMi44MjExMTQ3LDkuNTUwMDA3NjIgMTIuOTMzMTE2Nyw5LjkyMTAxNDIzIDEzLjAxNzExODIsMTAuMjQzMDIgTDE0LjUxNTE0NDksMTAuMjQzMDIgQzE1LjExNzE1NTYsMTAuMjQzMDIgMTUuNjQ5MTY1MSwxMC42MDAwMjYzIDE1Ljg4MDE2OTIsMTEuMTUzMDM2MiBDMTYuMTExMTczNCwxMS43MDYwNDYxIDE1Ljk4NTE3MTEsMTIuMzQzMDU3NCAxNS41NTgxNjM1LDEyLjc3MDA2NTEiIGlkPSJGaWxsLTEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguOTk0MjQ3LCAxMC40OTQyNDcpIHNjYWxlKC0xLCAxKSByb3RhdGUoLTQ1LjAwMDAwMCkgdHJhbnNsYXRlKC04Ljk5NDI0NywgLTEwLjQ5NDI0NykgIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K"; /***/ }, /***/ "./src/components/sprite-info/icon--hide.svg" /*!***************************************************!*\ !*** ./src/components/sprite-info/icon--hide.svg ***! \***************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aGlkZS1pY29uLWFjdGl2ZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJoaWRlLWljb24tYWN0aXZlIiBmaWxsPSIjODU1Q0Q2Ij4KICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS4wMDAwMDAsIDEuMDAwMDAwKSIgaWQ9IkNvbWJpbmVkLVNoYXBlIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yLjA2Njc1NTM3LDEwLjU2Njk1MzEgQzAuOTk5Mjk5OTQ3LDkuNjAxMDA2MyAwLjQ5MDg3MDQ0LDguNjM1MjkwMDkgMC40OTA4NzA0NCw4LjYzNTI5MDA5IEMtMC4xNTA1MTk1MTgsNy43MzIxNDQzIC0wLjE3NjU5NzU3MSw2LjI0Njc4MDcxIDAuNDkwODcwNDQsNS4zNjQ3MDk4NyBDMC40OTA4NzA0NCw1LjM2NDcwOTg3IDIuNTI1NTU5ODYsMS41IDYuOTk5OTk5OTksMS41IEM4LjMxNjcyMTE4LDEuNSA5LjQyMjE2MzY4LDEuODM0Njc3OTggMTAuMzI2NjUsMi4zMDcwNTg0MiBMMTEuOTczNzA4NSwwLjY1OTk5OTk2NyBMMTIuNjgwODE1MiwxLjM2NzEwNjc1IEwxLjM2NzEwNjc1LDEyLjY4MDgxNTIgTDAuNjU5OTk5OTY3LDExLjk3MzcwODUgTDIuMDY2NzU1MzcsMTAuNTY2OTUzMSBaIE05LjA2MTUwNDQ3LDMuNTcyMjAzOTYgQzguNDU5MjUzMSwzLjIwODk3MzIxIDcuNzUzNDc3NzYsMyA2Ljk5ODg5NDEyLDMgQzQuNzkwMDYwNSwzIDIuOTk5NDQ3MDYsNC43OTA2MTM0NCAyLjk5OTQ0NzA2LDYuOTk5NDQ3MDYgQzIuOTk5NDQ3MDYsNy43NTQwMzA3MSAzLjIwODQyMDI3LDguNDU5ODA2MDUgMy41NzE2NTEwMiw5LjA2MjA1NzQxIEw1LjA3ODE2NjQ1LDcuNTU1NTQxOTggQzUuMDI3MjcxMzksNy4zNzkxNjI3MSA1LDcuMTkyNzY2MTQgNSw3IEM1LDUuODk1NDMwNSA1Ljg5NTQzMDUsNSA3LDUgQzcuMTkyNzY2MTQsNSA3LjM3OTE2MjcxLDUuMDI3MjcxMzkgNy41NTU1NDE5OCw1LjA3ODE2NjQ1IEw5LjA2MTUwNDQ3LDMuNTcyMjAzOTYgWiBNMy42ODc1NzI0NCwxMS43MDAzNDk1IEw0Ljk1MTg3NjAxLDEwLjQzNjA0NTkgQzUuNTUwNzAyNDEsMTAuNzkzNTA2OSA2LjI1MDgxMjg5LDEwLjk5ODg5NDEgNi45OTg4OTQxMiwxMC45OTg4OTQxIEM5LjIwNzcyNzcsMTAuOTk4ODk0MSAxMC45OTgzNDEyLDkuMjA4MjgwNjggMTAuOTk4MzQxMiw2Ljk5OTQ0NzA2IEMxMC45OTgzNDEyLDYuMjUxMzY1ODMgMTAuNzkyOTU0LDUuNTUxMjU1MzUgMTAuNDM1NDkzLDQuOTUyNDI4OTUgTDExLjk0NDU4OTcsMy40NDMzMzIyMSBDMTMuMDA0MzAyOCw0LjQwNTgzNjc2IDEzLjUwOTEyOTUsNS4zNjQ3MDk4NyAxMy41MDkxMjk1LDUuMzY0NzA5ODcgQzE0LjE1MDUxOTUsNi4yNjc4NTU2NiAxNC4xNzY1OTc2LDcuNzUzMjE5MjUgMTMuNTA5MTI5NSw4LjYzNTI5MDA5IEMxMy41MDkxMjk1LDguNjM1MjkwMDkgMTEuNDc0NDQwMSwxMi41IDYuOTk5OTk5OTksMTIuNSBDNS42OTAxNzIzMiwxMi41IDQuNTg5NDE2ODgsMTIuMTY4ODE3MiAzLjY4NzU3MjQ0LDExLjcwMDM0OTUgWiBNNi40NjEzMDY5Niw4LjkyNjYxNDk0IEw4LjkyNjYxNDk0LDYuNDYxMzA2OTYgQzguOTc0NDM0Nyw2LjYzMjY5Mjk5IDksNi44MTMzNjA5NSA5LDcgQzksOC4xMDQ1Njk1IDguMTA0NTY5NSw5IDcsOSBDNi44MTMzNjA5NSw5IDYuNjMyNjkyOTksOC45NzQ0MzQ3IDYuNDYxMzA2OTYsOC45MjY2MTQ5NCBaIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/components/sprite-info/icon--show.svg" /*!***************************************************!*\ !*** ./src/components/sprite-info/icon--show.svg ***! \***************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2hvdy1pY29uLWFjdGl2ZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJzaG93LWljb24tYWN0aXZlIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9IiM4NTVDRDYiPgogICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxLjAwMDAwMCwgMi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMy41MDkxMjk1LDQuMzY0NzA5ODcgQzE0LjE1MDUxOTUsNS4yNjc4NTU2NiAxNC4xNzY1OTc2LDYuNzUzMjE5MjUgMTMuNTA5MTI5NSw3LjYzNTI5MDA5IEMxMy41MDkxMjk1LDcuNjM1MjkwMDkgMTEuNDc0NDQwMSwxMS41IDYuOTk5OTk5OTksMTEuNSBDMi41MjU1NTk4NiwxMS41IDAuNDkwODcwNDQsNy42MzUyOTAwOSAwLjQ5MDg3MDQ0LDcuNjM1MjkwMDkgQy0wLjE1MDUxOTUxOCw2LjczMjE0NDMgLTAuMTc2NTk3NTcxLDUuMjQ2NzgwNzEgMC40OTA4NzA0NCw0LjM2NDcwOTg3IEMwLjQ5MDg3MDQ0LDQuMzY0NzA5ODcgMi41MjU1NTk4NiwwLjUgNi45OTk5OTk5OSwwLjUgQzExLjQ3NDQ0MDEsMC41IDEzLjUwOTEyOTUsNC4zNjQ3MDk4NyAxMy41MDkxMjk1LDQuMzY0NzA5ODcgWiBNNi45OTg4OTQxMiw5Ljk5ODg5NDEyIEM5LjIwNzcyNzcsOS45OTg4OTQxMiAxMC45OTgzNDEyLDguMjA4MjgwNjggMTAuOTk4MzQxMiw1Ljk5OTQ0NzA2IEMxMC45OTgzNDEyLDMuNzkwNjEzNDQgOS4yMDc3Mjc3LDIgNi45OTg4OTQxMiwyIEM0Ljc5MDA2MDUsMiAyLjk5OTQ0NzA2LDMuNzkwNjEzNDQgMi45OTk0NDcwNiw1Ljk5OTQ0NzA2IEMyLjk5OTQ0NzA2LDguMjA4MjgwNjggNC43OTAwNjA1LDkuOTk4ODk0MTIgNi45OTg4OTQxMiw5Ljk5ODg5NDEyIFoiIGlkPSJDb21iaW5lZC1TaGFwZSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbCIgY3g9IjciIGN5PSI2IiByPSIyIj48L2NpcmNsZT4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/sprite-info/icon--x.svg" /*!************************************************!*\ !*** ./src/components/sprite-info/icon--x.svg ***! \************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+eC1pY29uX1YyPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICA8ZyBpZD0ieC1pY29uX1YyIiBzdHJva2U9IiM1NzVFNzUiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zLDggTDEyLDgiIGlkPSJTdHJva2UtMSI+PC9wYXRoPgogICAgICAgICAgICA8cG9seWxpbmUgaWQ9IlN0cm9rZS01IiBwb2ludHM9IjQgMTAgMiA3Ljk5OTQzNDIzIDQgNiI+PC9wb2x5bGluZT4KICAgICAgICAgICAgPHBvbHlsaW5lIGlkPSJTdHJva2UtNS1Db3B5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy4wMDAwMDAsIDguMDAwMDAwKSBzY2FsZSgtMSwgMSkgdHJhbnNsYXRlKC0xMy4wMDAwMDAsIC04LjAwMDAwMCkgIiBwb2ludHM9IjE0IDEwIDEyIDcuOTk5NDM0MjMgMTQgNiI+PC9wb2x5bGluZT4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/sprite-info/icon--y.svg" /*!************************************************!*\ !*** ./src/components/sprite-info/icon--y.svg ***! \************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+eSBpY29uIFYyPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICA8ZyBpZD0ieS1pY29uLVYyIiBzdHJva2U9IiM1NzVFNzUiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxnIGlkPSJ5LWljb24iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguMDAwMDAwLCA4LjAwMDAwMCkgcm90YXRlKDkwLjAwMDAwMCkgdHJhbnNsYXRlKC04LjAwMDAwMCwgLTguMDAwMDAwKSB0cmFuc2xhdGUoMi4wMDAwMDAsIDYuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMSwyIEwxMCwyIiBpZD0iU3Ryb2tlLTEiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBpZD0iU3Ryb2tlLTUiIHBvaW50cz0iMiA0IDAgMS45OTk0MzQyMyAyIDAiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgaWQ9IlN0cm9rZS01LUNvcHkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExLjAwMDAwMCwgMi4wMDAwMDApIHNjYWxlKC0xLCAxKSB0cmFuc2xhdGUoLTExLjAwMDAwMCwgLTIuMDAwMDAwKSAiIHBvaW50cz0iMTIgNCAxMCAxLjk5OTQzNDIzIDEyIDAiPjwvcG9seWxpbmU+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/stage-header/icon--fullscreen.svg" /*!**********************************************************!*\ !*** ./src/components/stage-header/icon--fullscreen.svg ***! \**********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0Ny4xICg0NTQyMikgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+RnVsbHNjcmVlbjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJGdWxsc2NyZWVuIiBmaWxsPSIjNTc1RTc1Ij4KICAgICAgICAgICAgPGcgaWQ9ImZ1bGxzY3JlZW4iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuMDAwMDAwLCAzLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEzLjMzODA5Myw0LjM1MDM1MjY0IEwxMi40NDg4NjQ0LDMuNDU4ODMxOTkgTDkuMzE0ODM1MTIsNS44MzM0Mjc0MSBDOC45NTcxMzc5MSw2LjEwODI1NzA4IDguNDM4OTc4NCw2LjAzNjE5ODA4IDguMTY0ODU1Myw1LjY2NzUyNDEzIEM3Ljk0MjU0ODE2LDUuMzcwOTA5MTggNy45NDc1NjI2MSw0Ljk2MjAxNjI1IDguMTY0ODU1Myw0LjY4MjE1OTIgTDEwLjUzMzM0NTcsMS41NDAwNTE2NSBMOS42NjU4NDY0MSwwLjY2ODY0MDQ4NyBDOS40MTY3OTU1NCwwLjQxODk0NzY3NCA5LjU5Mzk3MjY3LDAuMDA1MDI3MzcyMDggOS45MzQ5NTUwNiwwLjAwNTAyNzM3MjA4IEwxMy42MTIyMTYxLDAgQzEzLjgyNDQ5NDQsMC4wMDUwMjczNzIwOCAxNCwwLjE4MDk4NTM5NSAxNCwwLjM4ODc4MzQ0MSBMMTQsNC4wODA1NTAzNCBDMTQsNC40MjI0MTE2NCAxMy41ODIxMjk0LDQuNTk1MDE4MDggMTMuMzM4MDkzLDQuMzUwMzUyNjQiIGlkPSJGaWxsLTEiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLjY2MTkwNjk4OSw5LjY0OTI4ODM0IEwxLjU1MTEzNTU3LDEwLjU0MDg4MjYgTDQuNjg1MTY0ODgsOC4xNjYwOTExOCBDNS4wNDI4NjIwOSw3Ljg5MTIzODgyIDUuNTYxMDIxNiw3Ljk2NDk3OTcgNS44MzUxNDQ3LDguMzMyMDA4MTUgQzYuMDU3NDUxODQsOC42Mjg2NDc1OCA2LjA1MjQzNzM5LDkuMDM3NTc0MjUgNS44MzUxNDQ3LDkuMzE3NDU0NCBMMy40NjQ5ODI4LDEyLjQ1OTgyMTMgTDQuMzM0MTUzNTksMTMuMzMxMzA0MyBDNC41ODMyMDQ0NiwxMy41ODEwMTc4IDQuNDA2MDI3MzMsMTMuOTk0OTcyMiA0LjA2NTA0NDk0LDEzLjk5NDk3MjIgTDAuMzg3NzgzODkzLDE0IEMwLjE3NTUwNTY0MSwxMy45OTQ5NzIyIDAsMTMuODE4OTk5NyAwLDEzLjYxMTE4NDUgTDAsOS45MTkxMTI5IEMwLDkuNTc3MjIzMzkgMC40MTc4NzA1NzQsOS40MDQ2MDI3IDAuNjYxOTA2OTg5LDkuNjQ5Mjg4MzQiIGlkPSJGaWxsLTMiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLjY2MTkwNjk4OSw0LjM1MDM1MjY0IEwxLjU1MTEzNTU3LDMuNDU4ODMxOTkgTDQuNjg1MTY0ODgsNS44MzM0Mjc0MSBDNS4wNDI4NjIwOSw2LjEwODI1NzA4IDUuNTYxMDIxNiw2LjAzNjE5ODA4IDUuODM1MTQ0Nyw1LjY2NzUyNDEzIEM2LjA1NzQ1MTg0LDUuMzcwOTA5MTggNi4wNTI0MzczOSw0Ljk2MjAxNjI1IDUuODM1MTQ0Nyw0LjY4MjE1OTIgTDMuNDY0OTgyOCwxLjU0MDA1MTY1IEw0LjMzNDE1MzU5LDAuNjY4NjQwNDg3IEM0LjU4MzIwNDQ2LDAuNDE4OTQ3Njc0IDQuNDA2MDI3MzMsMC4wMDUwMjczNzIwOCA0LjA2NTA0NDk0LDAuMDA1MDI3MzcyMDggTDAuMzg3NzgzODkzLDAgQzAuMTc1NTA1NjQxLDAuMDA1MDI3MzcyMDggMCwwLjE4MDk4NTM5NSAwLDAuMzg4NzgzNDQxIEwwLDQuMDgwNTUwMzQgQzAsNC40MjI0MTE2NCAwLjQxNzg3MDU3NCw0LjU5NTAxODA4IDAuNjYxOTA2OTg5LDQuMzUwMzUyNjQiIGlkPSJGaWxsLTUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMy4zMzgwOTMsOS42NDkyODgzNCBMMTIuNDQ4ODY0NCwxMC41NDA4ODI2IEw5LjMxNDgzNTEyLDguMTY2MDkxMTggQzguOTU3MTM3OTEsNy44OTEyMzg4MiA4LjQzODk3ODQsNy45NjQ5Nzk3IDguMTY0ODU1Myw4LjMzMjAwODE1IEM3Ljk0MjU0ODE2LDguNjI4NjQ3NTggNy45NDc1NjI2MSw5LjAzNzU3NDI1IDguMTY0ODU1Myw5LjMxNzQ1NDQgTDEwLjUzMzM0NTcsMTIuNDU5ODIxMyBMOS42NjU4NDY0MSwxMy4zMzEzMDQzIEM5LjQxNjc5NTU0LDEzLjU4MTAxNzggOS41OTM5NzI2NywxMy45OTQ5NzIyIDkuOTM0OTU1MDYsMTMuOTk0OTcyMiBMMTMuNjEyMjE2MSwxNCBDMTMuODI0NDk0NCwxMy45OTQ5NzIyIDE0LDEzLjgxODk5OTcgMTQsMTMuNjExMTg0NSBMMTQsOS45MTkxMTI5IEMxNCw5LjU3NzIyMzM5IDEzLjU4MjEyOTQsOS40MDQ2MDI3IDEzLjMzODA5Myw5LjY0OTI4ODM0IiBpZD0iRmlsbC03Ij48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="; /***/ }, /***/ "./src/components/stage-header/icon--large-stage.svg" /*!***********************************************************!*\ !*** ./src/components/stage-header/icon--large-stage.svg ***! \***********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0Ny4xICg0NTQyMikgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+TGFyZ2UgU3RhZ2UgKGFjdGl2ZSk8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgICAgIDxnIGlkPSJMYXJnZS1TdGFnZS0oYWN0aXZlKSIgc3Ryb2tlPSIjODU1Q0Q2Ij4KICAgICAgICAgICAgPGcgaWQ9ImxhcmdlLXN0YWdlLShpbmFjdGl2ZSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuMDAwMDAwLCA0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEsMCBMNywwIEw3LDEyIEwxLDEyIEwxLDEyIEMwLjQ0NzcxNTI1LDEyIDYuNzYzNTM3NTFlLTE3LDExLjU1MjI4NDcgMCwxMSBMMCwxIEwwLDEgQy02Ljc2MzUzNzUxZS0xNywwLjQ0NzcxNTI1IDAuNDQ3NzE1MjUsMS4wMTQ1MzA2M2UtMTYgMSwwIFoiIGlkPSJSZWN0YW5nbGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03LDAgTDEzLDAgTDEzLDAgQzEzLjU1MjI4NDcsLTEuMDE0NTMwNjNlLTE2IDE0LDAuNDQ3NzE1MjUgMTQsMSBMMTQsNS4yNSBMNyw1LjI1IEw3LDAgWiIgaWQ9IlJlY3RhbmdsZSIgZmlsbD0iIzg1NUNENiI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsNSBMMTQsNSBMMTQsMTEgTDE0LDExIEMxNCwxMS41NTIyODQ3IDEzLjU1MjI4NDcsMTIgMTMsMTIgTDcsMTIgTDcsNSBaIiBpZD0iUmVjdGFuZ2xlLUNvcHkiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/stage-header/icon--small-stage.svg" /*!***********************************************************!*\ !*** ./src/components/stage-header/icon--small-stage.svg ***! \***********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0Ny4xICg0NTQyMikgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+U21hbGwgU3RhZ2UgKGluYWN0aXZlKTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgPGcgaWQ9IlNtYWxsLVN0YWdlLShpbmFjdGl2ZSkiIHN0cm9rZT0iIzg1NUNENiI+CiAgICAgICAgICAgIDxnIGlkPSJzbWFsbC1zdGFnZS0oaW5hY3RpdmUpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjAwMDAwMCwgNC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xLDAgTDEwLDAgTDEwLDEyIEwxLDEyIEwxLDEyIEMwLjQ0NzcxNTI1LDEyIDYuNzYzNTM3NTFlLTE3LDExLjU1MjI4NDcgMCwxMSBMMCwxIEwwLDEgQy02Ljc2MzUzNzUxZS0xNywwLjQ0NzcxNTI1IDAuNDQ3NzE1MjUsMS4wMTQ1MzA2M2UtMTYgMSwwIFoiIGlkPSJSZWN0YW5nbGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMCwwIEwxMywwIEwxMywwIEMxMy41NTIyODQ3LC0xLjAxNDUzMDYzZS0xNiAxNCwwLjQ0NzcxNTI1IDE0LDEgTDE0LDMgTDEwLDMgTDEwLDAgWiIgaWQ9IlJlY3RhbmdsZSIgZmlsbD0iIzg1NUNENiI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwLDMgTDE0LDMgTDE0LDExIEwxNCwxMSBDMTQsMTEuNTUyMjg0NyAxMy41NTIyODQ3LDEyIDEzLDEyIEwxMCwxMiBMMTAsMyBaIiBpZD0iUmVjdGFuZ2xlLUNvcHkiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/stage-header/icon--unfullscreen.svg" /*!************************************************************!*\ !*** ./src/components/stage-header/icon--unfullscreen.svg ***! \************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4xICg0NzI1MCkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+dW4tZnVsbHNjcmVlbjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJ1bi1mdWxsc2NyZWVuIiBmaWxsPSIjNTc1RTc1Ij4KICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi4wMDAwMDAsIDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTUuMzM4MDkzLDQuMzUwMzUyNjQgTDE0LjQ0ODg2NDQsMy40NTg4MzE5OSBMMTEuMzE0ODM1MSw1LjgzMzQyNzQxIEMxMC45NTcxMzc5LDYuMTA4MjU3MDggMTAuNDM4OTc4NCw2LjAzNjE5ODA4IDEwLjE2NDg1NTMsNS42Njc1MjQxMyBDOS45NDI1NDgxNiw1LjM3MDkwOTE4IDkuOTQ3NTYyNjEsNC45NjIwMTYyNSAxMC4xNjQ4NTUzLDQuNjgyMTU5MiBMMTIuNTMzMzQ1NywxLjU0MDA1MTY1IEwxMS42NjU4NDY0LDAuNjY4NjQwNDg3IEMxMS40MTY3OTU1LDAuNDE4OTQ3Njc0IDExLjU5Mzk3MjcsMC4wMDUwMjczNzIwOCAxMS45MzQ5NTUxLDAuMDA1MDI3MzcyMDggTDE1LjYxMjIxNjEsMCBDMTUuODI0NDk0NCwwLjAwNTAyNzM3MjA4IDE2LDAuMTgwOTg1Mzk1IDE2LDAuMzg4NzgzNDQxIEwxNiw0LjA4MDU1MDM0IEMxNiw0LjQyMjQxMTY0IDE1LjU4MjEyOTQsNC41OTUwMTgwOCAxNS4zMzgwOTMsNC4zNTAzNTI2NCIgaWQ9IkZpbGwtMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTMuMDAwMDAwLCAzLjAwMDAwMCkgcm90YXRlKDE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtMTMuMDAwMDAwLCAtMy4wMDAwMDApICI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTAuNjYxOTA2OTg5LDExLjY0OTI4ODMgTDEuNTUxMTM1NTcsMTIuNTQwODgyNiBMNC42ODUxNjQ4OCwxMC4xNjYwOTEyIEM1LjA0Mjg2MjA5LDkuODkxMjM4ODIgNS41NjEwMjE2LDkuOTY0OTc5NyA1LjgzNTE0NDcsMTAuMzMyMDA4MSBDNi4wNTc0NTE4NCwxMC42Mjg2NDc2IDYuMDUyNDM3MzksMTEuMDM3NTc0MyA1LjgzNTE0NDcsMTEuMzE3NDU0NCBMMy40NjQ5ODI4LDE0LjQ1OTgyMTMgTDQuMzM0MTUzNTksMTUuMzMxMzA0MyBDNC41ODMyMDQ0NiwxNS41ODEwMTc4IDQuNDA2MDI3MzMsMTUuOTk0OTcyMiA0LjA2NTA0NDk0LDE1Ljk5NDk3MjIgTDAuMzg3NzgzODkzLDE2IEMwLjE3NTUwNTY0MSwxNS45OTQ5NzIyIDAsMTUuODE4OTk5NyAwLDE1LjYxMTE4NDUgTDAsMTEuOTE5MTEyOSBDMCwxMS41NzcyMjM0IDAuNDE3ODcwNTc0LDExLjQwNDYwMjcgMC42NjE5MDY5ODksMTEuNjQ5Mjg4MyIgaWQ9IkZpbGwtMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy4wMDAwMDAsIDEzLjAwMDAwMCkgcm90YXRlKDE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtMy4wMDAwMDAsIC0xMy4wMDAwMDApICI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTAuNjYxOTA2OTg5LDQuMzUwMzUyNjQgTDEuNTUxMTM1NTcsMy40NTg4MzE5OSBMNC42ODUxNjQ4OCw1LjgzMzQyNzQxIEM1LjA0Mjg2MjA5LDYuMTA4MjU3MDggNS41NjEwMjE2LDYuMDM2MTk4MDggNS44MzUxNDQ3LDUuNjY3NTI0MTMgQzYuMDU3NDUxODQsNS4zNzA5MDkxOCA2LjA1MjQzNzM5LDQuOTYyMDE2MjUgNS44MzUxNDQ3LDQuNjgyMTU5MiBMMy40NjQ5ODI4LDEuNTQwMDUxNjUgTDQuMzM0MTUzNTksMC42Njg2NDA0ODcgQzQuNTgzMjA0NDYsMC40MTg5NDc2NzQgNC40MDYwMjczMywwLjAwNTAyNzM3MjA4IDQuMDY1MDQ0OTQsMC4wMDUwMjczNzIwOCBMMC4zODc3ODM4OTMsMCBDMC4xNzU1MDU2NDEsMC4wMDUwMjczNzIwOCAwLDAuMTgwOTg1Mzk1IDAsMC4zODg3ODM0NDEgTDAsNC4wODA1NTAzNCBDMCw0LjQyMjQxMTY0IDAuNDE3ODcwNTc0LDQuNTk1MDE4MDggMC42NjE5MDY5ODksNC4zNTAzNTI2NCIgaWQ9IkZpbGwtNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy4wMDAwMDAsIDMuMDAwMDAwKSByb3RhdGUoMTgwLjAwMDAwMCkgdHJhbnNsYXRlKC0zLjAwMDAwMCwgLTMuMDAwMDAwKSAiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNS4zMzgwOTMsMTEuNjQ5Mjg4MyBMMTQuNDQ4ODY0NCwxMi41NDA4ODI2IEwxMS4zMTQ4MzUxLDEwLjE2NjA5MTIgQzEwLjk1NzEzNzksOS44OTEyMzg4MiAxMC40Mzg5Nzg0LDkuOTY0OTc5NyAxMC4xNjQ4NTUzLDEwLjMzMjAwODEgQzkuOTQyNTQ4MTYsMTAuNjI4NjQ3NiA5Ljk0NzU2MjYxLDExLjAzNzU3NDMgMTAuMTY0ODU1MywxMS4zMTc0NTQ0IEwxMi41MzMzNDU3LDE0LjQ1OTgyMTMgTDExLjY2NTg0NjQsMTUuMzMxMzA0MyBDMTEuNDE2Nzk1NSwxNS41ODEwMTc4IDExLjU5Mzk3MjcsMTUuOTk0OTcyMiAxMS45MzQ5NTUxLDE1Ljk5NDk3MjIgTDE1LjYxMjIxNjEsMTYgQzE1LjgyNDQ5NDQsMTUuOTk0OTcyMiAxNiwxNS44MTg5OTk3IDE2LDE1LjYxMTE4NDUgTDE2LDExLjkxOTExMjkgQzE2LDExLjU3NzIyMzQgMTUuNTgyMTI5NCwxMS40MDQ2MDI3IDE1LjMzODA5MywxMS42NDkyODgzIiBpZD0iRmlsbC03IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy4wMDAwMDAsIDEzLjAwMDAwMCkgcm90YXRlKDE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtMTMuMDAwMDAwLCAtMTMuMDAwMDAwKSAiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/components/stop-all/icon--stop-all.svg" /*!****************************************************!*\ !*** ./src/components/stop-all/icon--stop-all.svg ***! \****************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxNCAxNCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTQgMTQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojRUM1OTU5O3N0cm9rZTojQjg0ODQ4O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9Cjwvc3R5bGU+Cjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iNC4zLDAuNSA5LjcsMC41IDEzLjUsNC4zIDEzLjUsOS43IDkuNywxMy41IDQuMywxMy41IDAuNSw5LjcgMC41LDQuMyAiLz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/components/telemetry-modal/telemetry-modal-header.png" /*!*******************************************************************!*\ !*** ./src/components/telemetry-modal/telemetry-modal-header.png ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/telemetry-modal-header.93babda8f98fc8009c28.png"; /***/ }, /***/ "./src/components/turbo-mode/icon--turbo.svg" /*!***************************************************!*\ !*** ./src/components/turbo-mode/icon--turbo.svg ***! \***************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+dHVyYm8tYm9sdC1pY29uPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9InR1cmJvLWJvbHQtaWNvbiIgc3Ryb2tlPSIjRkY4QzFBIiBmaWxsPSIjRkY4QzFBIj4KICAgICAgICAgICAgPHBhdGggZD0iTTYuMTkxOTI2NSw5Ljk3MDQxMjY3IEM2LjM5ODE3NTc4LDEwLjQ4Mjc5OTMgNi44NDUxMjk2LDEwLjU1MTU0MTggNy4xOTQ1NjA0NCwxMC4xMTg1ODI1IEw3LjQ2MTQ0NDgsOS43ODc5MDE2NyBDNy44MDg5MzQ5Niw5LjM1NzM0Njk0IDguNDM0MjI1NjQsOS4yODU0NTUxNiA4Ljg3MzQ2NjYxLDkuNjM5NzQ1MjEgTDExLjY4NjU2LDExLjkwODc3NTQgQzEyLjExODkwOCwxMi4yNTc1MDU1IDEyLjMwMzA4NTgsMTIuMTI2NTkwMyAxMi4wOTYyNzA1LDExLjYxMjIzNDEgTDkuNzQ5MjE1NzUsNS43NzUwMzQ1MyBDOS41NDMxNDQ2Miw1LjI2MjUyOTEyIDkuMDk1ODQ0NzIsNS4xOTQwMTczOCA4Ljc0NTgwMTIsNS42MjczODUxNSBMOC40Nzg0NDg5LDUuOTU4Mzc3OSBDOC4xMzAzNDk0Nyw2LjM4OTMzODgxIDcuNTA0NTY0ODYsNi40NjE1NTk4NyA3LjA2NTMyMzg5LDYuMTA3MjY5ODIgTDQuMjUyMjMwNDgsMy44MzgyMzk2NyBDMy44MTk4ODI1MiwzLjQ4OTUwOTQ5IDMuNjM1ODQ4NTEsMy42MjAzMjg5MSAzLjg0Mjg0MjYxLDQuMTM0NTY1OTEgTDYuMTkxOTI2NSw5Ljk3MDQxMjY3IFoiIGlkPSJ0dXJiby1ib2x0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3Ljk2OTM5NSwgNy44NzM1MDgpIHJvdGF0ZSg2OS4wMDAwMDApIHRyYW5zbGF0ZSgtNy45NjkzOTUsIC03Ljg3MzUwOCkgIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/components/webgl-modal/unsupported.png" /*!****************************************************!*\ !*** ./src/components/webgl-modal/unsupported.png ***! \****************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/unsupported.aa52a97a8ebf84287c83.png"; /***/ }, /***/ "./src/lib/assets/icon--back.svg" /*!***************************************!*\ !*** ./src/lib/assets/icon--back.svg ***! \***************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjIgKDQ3MzI3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5iYWNrLWljb248L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iYmFjay1pY29uIiBmaWxsPSIjRkZGRkZGIj4KICAgICAgICAgICAgPHBhdGggZD0iTTQuMTA4MDQ5MTIsOC41Nzc2NTA1NSBMOS4zMzIwMzYzOCwzLjM1MzY2MzI5IEM5LjYzODIwNDEzLDMuMDQ1NTgxOTkgMTAuMTE2NTkxMiwzLjA0NTU4MTk5IDEwLjQyMjc1OSwzLjM1MzY2MzI5IEwxNS42NDY3NDYyLDguNTc3NjUwNTUgQzE2LjE0NDI2ODgsOS4wNzUxNzMxNCAxNS43ODA2OTQ2LDkuODk2MDg1NDMgMTUuMDkxODE3Miw5Ljg5NjA4NTQzIEwxMi40ODkzOTEzLDkuODk2MDg1NDMgTDEwLjkzOTQxNzEsMTYuMDM4NTc1OSBDMTAuNzg2MzMzMiwxNi42MzM2ODk1IDEwLjE3Mzk5NzcsMTYuOTk1MzUwMiA5LjU4MDc5NzY4LDE2Ljg0MjI2NjMgQzkuMTU5ODE3MDIsMTYuNzQ4NTAyNCA4Ljg1MzY0OTI3LDE2LjQyMzE5OTIgOC43NTc5NzE4NCwxNi4wMzg1NzU5IEw3LjIwNzk5NzYsOS44OTYwODU0MyBMNC42NjI5NzgxNyw5Ljg5NjA4NTQzIEMzLjk3NDEwMDczLDkuODk2MDg1NDMgMy42MTA1MjY1Myw5LjA3NTE3MzE0IDQuMTA4MDQ5MTIsOC41Nzc2NTA1NSIgaWQ9IkZpbGwtMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS44NzczOTgsIDEwLjAwMDAwMCkgcm90YXRlKC05MC4wMDAwMDApIHRyYW5zbGF0ZSgtOS44NzczOTgsIC0xMC4wMDAwMDApICI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/lib/assets/icon--help.svg" /*!***************************************!*\ !*** ./src/lib/assets/icon--help.svg ***! \***************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5oZWxwPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9ImhlbHAiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik05Ljk5OTA1NDQ5LDE4IEM1LjU4MTYwOTc0LDE4IDIsMTQuNDE3MzQ2MSAyLDEwLjAwMDk0NTMgQzIsNS41ODI2NTM5MSA1LjU4MTYwOTc0LDIgOS45OTkwNTQ0OSwyIEMxNC40MTgzOTAzLDIgMTgsNS41ODI2NTM5MSAxOCwxMC4wMDA5NDUzIEMxOCwxNC40MTczNDYxIDE0LjQxODM5MDMsMTggOS45OTkwNTQ0OSwxOCBaIE05Ljg1MzI1NjEyLDEyLjM2MTUyNjYgQzkuMjY4OTI4MDIsMTIuMzYxNTI2NiA4LjgwNTYyNTgxLDEyLjgzNjA2MjkgOC44MDU2MjU4MSwxMy40MjIxNDM0IEM4LjgwNTYyNTgxLDEzLjk5MzA5OTQgOS4yNjg5MjgwMiwxNC40Njc2MzU2IDkuODUzMjU2MTIsMTQuNDY3NjM1NiBDMTAuNDM5NDc1MiwxNC40Njc2MzU2IDEwLjkxNDEyMzYsMTMuOTkzMDk5NCAxMC45MTQxMjM2LDEzLjQyMjE0MzQgQzEwLjkxNDEyMzYsMTIuODM2MDYyOSAxMC40Mzk0NzUyLDEyLjM2MTUyNjYgOS44NTMyNTYxMiwxMi4zNjE1MjY2IFogTTkuNDYxODEzMDIsMTEuNjQzMTA1MyBMMTAuMTU5NjAyOSwxMS42NDMxMDUzIEMxMC4zNDg3MDU4LDExLjY0MzEwNTMgMTAuNTI0NTcxNiwxMS41MjM5OTg2IDEwLjU2OTk1NjMsMTEuMzQwNjEyMSBDMTAuNjU4ODM0NywxMC45NzAwNTc5IDEwLjkxNDEyMzYsMTAuNzE2NzE5OCAxMS4yNTQ1MDg5LDEwLjQ2MTQ5MTIgTDExLjcxNTkyMDEsMTAuMTIxMTg2MyBDMTIuNDQ1ODU3NSw5LjU3MjkxNzQxIDEyLjg5NzgxMzUsOC45MDU1NDE3NyAxMi44OTc4MTM1LDcuOTMwMDAxMTggQzEyLjg5NzgxMzUsNi43MTQzNTY2MSAxMS45MTA2OTYxLDUuNTMyNzQyNTMgOS45MzgzNTI0NCw1LjUzMjc0MjUzIEM4LjE2MDc4NDc4LDUuNTMyNzQyNTMgNy4xMDE4MDgzLDYuNzM3MDQzNiA3LjEwMTgwODMsOC4xNjA2NTIyNSBDNy4xMDE4MDgzLDguMTk4NDYzOSA3LjEwMzY5OTMzLDguMjM2Mjc1NTUgNy4xMDM2OTkzMyw4LjI3NTk3Nzc5IEM3LjExMzE1NDQ3LDguNDk3MTc1OTQgNy4yODkwMjAyMSw4LjY3ODY3MTg3IDcuNTEwMjcwNjUsOC42ODYyMzQyIEw4LjM4MzkyNjI1LDguNzE2NDgzNTIgQzguNjI0MDg2OTksOC43MjU5MzY0MyA4LjgxODg2MzAyLDguNTMzMDk3MDEgOC44MTg4NjMwMiw4LjI5Mjk5MzAzIEw4LjgxODg2MzAyLDguMjgzNTQwMTIgQzguODE4ODYzMDIsNy43MTI1ODQxOSA5LjIzMjk5ODQ2LDcuMTM5NzM3NjggOS45MzgzNTI0NCw3LjEzOTczNzY4IEMxMC42NzAxODA4LDcuMTM5NzM3NjggMTEuMDIxOTEyMyw3LjYwMTAzOTgyIDExLjAyMTkxMjMsOC4wNzU1NzYwNCBDMTEuMDIxOTEyMyw4LjM5MzE5MzkgMTAuOTE0MTIzNiw4LjY4NjIzNDIgMTAuNTg1MDg0NSw4LjkzMDExOTM0IEw5Ljk2NDgyNjg1LDkuMzkzMzEyMDYgQzkuMjY4OTI4MDIsOS45MTUxMTI4NCA5LjAzNjMzMTQsMTAuNTM1MjIzOSA5LjAzNjMzMTQsMTEuMTA4MDcwNCBDOS4wMzYzMzE0LDExLjE1MTU1MzggOS4wMzgyMjI0MywxMS4xOTUwMzcyIDkuMDM4MjIyNDMsMTEuMjM0NzM5NSBDOS4wNDU3ODY1NSwxMS40NjM0OTk5IDkuMjMyOTk4NDYsMTEuNjQzMTA1MyA5LjQ2MTgxMzAyLDExLjY0MzEwNTMgWiIgaWQ9ImhlbHAtaWNvbiIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/lib/assets/icon--success.svg" /*!******************************************!*\ !*** ./src/lib/assets/icon--success.svg ***! \******************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5BbGVydHMvQ2hlY2s8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iQWxlcnRzL0NoZWNrIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cGF0aCBkPSJNMTUuMjI0NzgyLDQuNTE0MjQ3MzIgQzE1LjgyNDQzMDEsMy44NjUxOTU4MiAxNi44MzY3MDEyLDMuODI1MTQ2NDUgMTcuNDg1NzUyNyw0LjQyNDc5NDU1IEMxOC4xMzQ4MDQyLDUuMDI0NDQyNjUgMTguMTc0ODUzNSw2LjAzNjcxMzY4IDE3LjU3NTIwNTUsNi42ODU3NjUxOCBMOS40NDUwMzY5LDE1LjQ4NTc1NjYgQzguODExNTczNTcsMTYuMTcxNDA5MyA3LjcyODA3NjgyLDE2LjE3MTQwOTMgNy4wOTQ2MTM0OSwxNS40ODU3NTY2IEwyLjQyNDc5NDU1LDEwLjQzMTIwMzcgQzEuODI1MTQ2NDUsOS43ODIxNTIyNCAxLjg2NTE5NTgyLDguNzY5ODgxMjEgMi41MTQyNDczMiw4LjE3MDIzMzExIEMzLjE2MzI5ODgzLDcuNTcwNTg1MDEgNC4xNzU1Njk4Niw3LjYxMDYzNDM5IDQuNzc1MjE3OTYsOC4yNTk2ODU4OSBMOC4yNjk4MjUxOSwxMi4wNDIyMDQ1IEwxNS4yMjQ3ODIsNC41MTQyNDczMiBaIiBpZD0iQ2hlY2siIGZpbGw9IiMwRUJEOEMiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/lib/assets/icon--tutorials.svg" /*!********************************************!*\ !*** ./src/lib/assets/icon--tutorials.svg ***! \********************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUxICg1NzQ2MikgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+VHV0b3JpYWxzPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlR1dG9yaWFscyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTE5LjAwMDAwMDIsOS40ODk4NjkyNSBDMTkuMDAwMDAwMiw5Ljg2OTc3NjM4IDE4LjY5MDY0NzMsMTAuMTU5MjI5NCAxOC4zMTI1NDkyLDEwLjE1OTIyOTQgTDE3LjI4MTM3MjcsMTAuMTU5MjI5NCBDMTYuOTAxNDY1NSwxMC4xNTkyMjk0IDE2LjU5MzkyMTcsOS44Njk3NzYzOCAxNi41OTM5MjE3LDkuNDg5ODY5MjUgQzE2LjU5MzkyMTcsOS4xMDk5NjIxMSAxNi45MDE0NjU1LDguODAyNDE4MjMgMTcuMjgxMzcyNyw4LjgwMjQxODIzIEwxOC4zMTI1NDkyLDguODAyNDE4MjMgQzE4LjY5MDY0NzMsOC44MDI0MTgyMyAxOS4wMDAwMDAyLDkuMTA5OTYyMTEgMTkuMDAwMDAwMiw5LjQ4OTg2OTI1IFogTTUuMzIyNDM4NjksMTQuMTU3NDgwNyBDNS41OTM4MDA5MywxNC40Mjg4NDMgNS41OTM4MDA5MywxNC44NDQ5MzE3IDUuMzIyNDM4NjksMTUuMTE2Mjk0IEw0LjYwMDYxNTEzLDE1Ljg1ODAxNzQgQzQuNDU1ODg4NiwxNS45ODQ2NTMxIDQuMjkzMDcxMjYsMTYuMDU3MDE2NCA0LjExMDM1NDAxLDE2LjA1NzAxNjQgQzMuOTI5NDQ1ODUsMTYuMDU3MDE2NCAzLjc2NjYyODUxLDE1Ljk4NDY1MzEgMy42MjM3MTEwNiwxNS44NTgwMTc0IEMzLjM2ODYzMDU1LDE1LjU4NjY1NTIgMy4zNjg2MzA1NSwxNS4xNTI0NzU2IDMuNjIzNzExMDYsMTQuODk5MjA0MiBMNC4zNjM2MjU0NCwxNC4xNTc0ODA3IEM0LjYzNDk4NzY4LDEzLjg4NjExODUgNS4wNjkxNjcyNywxMy44ODYxMTg1IDUuMzIyNDM4NjksMTQuMTU3NDgwNyBaIE0xNi4zNTg5MjIsMy4xMjI2MjU2MSBDMTYuNjEyMTkzNCwzLjM5MjE3ODc3IDE2LjYxMjE5MzQsMy44MjgxNjc0NCAxNi4zNTg5MjIsNC4wNzk2Mjk3OCBMMTUuNjE3MTk4NSw0LjgyMTM1MzI0IEMxNS40OTA1NjI4LDQuOTQ5Nzk4MDQgMTUuMzA5NjU0Niw1LjAyMjE2MTMgMTUuMTQ2ODM3Myw1LjAyMjE2MTMgQzE0Ljk2NDEyLDUuMDIyMTYxMyAxNC44MDMxMTE4LDQuOTQ5Nzk4MDQgMTQuNjU4Mzg1Miw0LjgyMTM1MzI0IEMxNC40MDUxMTM4LDQuNTUxODAwMDggMTQuNDA1MTEzOCw0LjExNzYyMDUgMTQuNjU4Mzg1MiwzLjg2MjUzOTk5IEwxNS40MDAxMDg3LDMuMTIyNjI1NjEgQzE1LjY1MTU3MTEsMi44NTEyNjMzNyAxNi4wODc1NTk3LDIuODUxMjYzMzcgMTYuMzU4OTIyLDMuMTIyNjI1NjEgWiBNMTIuNDEzODU3NywxNy4zNDA5MjE2IEMxMi41OTY1NzQ5LDE4LjUwMDU0MjkgMTEuOTI1NDA1NywxOS40Nzc0NDcgOS45ODk2ODgzNCwxOS40Nzc0NDcgQzguMDU1NzgwMSwxOS40Nzc0NDcgNy4zODQ2MTA4MiwxOC41MDA1NDI5IDcuNTY1NTE4OTgsMTcuMzQwOTIxNiBDNy42NTU5NzMwNiwxNi44MzQzNzg4IDguMTQ2MjM0MTgsMTcuNTIzNjM4OSA5Ljk4OTY4ODM0LDE3LjU1ODAxMTQgQzExLjg1MzA0MjQsMTcuNTU4MDExNCAxMi4zNDE0OTQ0LDE2LjgzNDM3ODggMTIuNDEzODU3NywxNy4zNDA5MjE2IFogTTMuNjIyODA2NTIsNC4wODAxNzI1MSBDMy4zNjc3MjYwMSwzLjgyNjkwMTA4IDMuMzY3NzI2MDEsMy4zOTI3MjE0OSAzLjYyMjgwNjUyLDMuMTIzMTY4MzMgQzMuODkyMzU5NjgsMi44NDk5OTcwMSA0LjMyODM0ODM1LDIuODQ5OTk3MDEgNC41OTk3MTA1OSwzLjEyMzE2ODMzIEw1LjMyMTUzNDE1LDMuODYzMDgyNzEgQzUuNTk0NzA1NDcsNC4xMTgxNjMyMiA1LjU5NDcwNTQ3LDQuNTUyMzQyODEgNS4zMjE1MzQxNSw0LjgyMTg5NTk3IEM1LjE5NjcwNzUyLDQuOTQ4NTMxNjggNS4wMTU3OTkzNiw1LjAyMjcwNDAzIDQuODUyOTgyMDEsNS4wMjI3MDQwMyBDNC42NzAyNjQ3Nyw1LjAyMjcwNDAzIDQuNDg5MzU2NjEsNC45NDg1MzE2OCA0LjM2MjcyMDksNC44MjE4OTU5NyBMMy42MjI4MDY1Miw0LjA4MDE3MjUxIFogTTMuMzg3OTg3NzMsOS40ODk4NjkyNSBDMy4zODc5ODc3Myw5Ljg2OTc3NjM4IDMuMDgwNDQzODUsMTAuMTU5MjI5NCAyLjcxODYyNzUzLDEwLjE1OTIyOTQgTDEuNjY5MzYwMiwxMC4xNTkyMjk0IEMxLjMwNzU0Mzg3LDEwLjE1OTIyOTQgMSw5Ljg2OTc3NjM4IDEsOS40ODk4NjkyNSBDMSw5LjEwOTk2MjExIDEuMzA3NTQzODcsOC44MDI0MTgyMyAxLjY2OTM2MDIsOC44MDI0MTgyMyBMMi43MTg2Mjc1Myw4LjgwMjQxODIzIEMzLjA4MDQ0Mzg1LDguODAyNDE4MjMgMy4zODc5ODc3Myw5LjEwOTk2MjExIDMuMzg3OTg3NzMsOS40ODk4NjkyNSBaIE05LjMyMDUwOTA1LDIuMTk4NzI3NjMgTDkuMzIwNTA5MDUsMS4xNjkzNjAyIEM5LjMyMDUwOTA1LDAuNzg5NDUzMDU4IDkuNjA5OTYyMTEsMC41IDkuOTg5ODY5MjUsMC41IEMxMC4zNjk3NzY0LDAuNSAxMC42NzczMjAzLDAuNzg5NDUzMDU4IDEwLjY3NzMyMDMsMS4xNjkzNjAyIEwxMC42NzczMjAzLDIuMTk4NzI3NjMgQzEwLjY3NzMyMDMsMi41Nzg2MzQ3NyAxMC4zNjk3NzY0LDIuODg2MTc4NjQgOS45ODk4NjkyNSwyLjg4NjE3ODY0IEM5LjYwOTk2MjExLDIuODg2MTc4NjQgOS4zMjA1MDkwNSwyLjU3ODYzNDc3IDkuMzIwNTA5MDUsMi4xOTg3Mjc2MyBaIE0xNS4wMDIxMTA4LDguODAyNTk5MTQgQzE1LjEyNjkzNzQsMTAuMTU5NDEwMyAxNC43MzA3NDg1LDExLjQyNTc2NzUgMTMuOTcwOTM0MiwxMi4zODI3NzE2IEMxMy4yNjM1ODMzLDEzLjMwNzIxMjQgMTIuODExMzEyOSwxMy41MDYyMTEzIDEyLjc5MzIyMjEsMTQuNjI3ODQxOSBDMTIuNzkzMjIyMSwxNS4yMDY3NDggMTIuNTAzNzY5MSwxNS42NzcxMDkzIDEyLjAzMzQwNzgsMTUuODk0MTk5MSBMMTIuMDE3MTI2MSwxNS44OTQxOTkxIEMxMC43MzI2NzgyLDE2LjUyNzM3NzYgOS4yNDc0MjIxNSwxNi41MDkyODY4IDcuOTYyOTc0MjEsMTUuODk0MTk5MSBDNy41MTA3MDM4MSwxNS42NzcxMDkzIDcuMjIxMjUwNzUsMTUuMjA2NzQ4IDcuMjIxMjUwNzUsMTQuNzAwMjA1MiBDNy4yMjEyNTA3NSwxMy41MjQzMDIxIDYuNzUwODg5NTMsMTMuMzQzMzk0IDYuMDI3MjU2ODksMTIuNDAyNjcxNSBDNS4zNTk3MDU3NywxMS41NTI0MDMyIDQuOTU5ODk4NzQsMTAuNDY2OTU0MiA0Ljk1OTg5ODc0LDkuMzA5MTQxOTkgQzQuOTU5ODk4NzQsNi4zMjQxNTczNCA3LjU0ODY5NDUyLDMuOTcyMzUxMjQgMTAuNTg3OTUxNiw0LjMxNjA3Njc1IEMxMi45MDM1NzYxLDQuNTg3NDM4OTkgMTQuNzg1MDIxLDYuNDg2OTc0NjggMTUuMDAyMTEwOCw4LjgwMjU5OTE0IFogTTE2LjM1ODkyMiwxNC44OTkzODUxIEMxNi42MTIxOTM0LDE1LjE1MjY1NjUgMTYuNjEyMTkzNCwxNS41ODY4MzYxIDE2LjM1ODkyMiwxNS44NTgxOTgzIEMxNi4yMzIyODYzLDE1Ljk4NDgzNCAxNi4wNTEzNzgxLDE2LjA1NzE5NzMgMTUuODY4NjYwOCwxNi4wNTcxOTczIEMxNS43MDc2NTI2LDE2LjA1NzE5NzMgMTUuNTI0OTM1MywxNS45ODQ4MzQgMTUuNDAwMTA4NywxNS44NTgxOTgzIEwxNC42NTgzODUyLDE1LjExNjQ3NDkgQzE0LjQwNTExMzgsMTQuODQ1MTEyNiAxNC40MDUxMTM4LDE0LjQyOTAyMzkgMTQuNjU4Mzg1MiwxNC4xNTc2NjE2IEMxNC45Mjk3NDc1LDEzLjg4NDQ5MDMgMTUuMzYyMTE4LDEzLjg4NDQ5MDMgMTUuNjE3MTk4NSwxNC4xNTc2NjE2IEwxNi4zNTg5MjIsMTQuODk5Mzg1MSBaIiBpZD0iQ29tYmluZWQtU2hhcGUiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/lib/libraries/decks/steps/add-backdrop.LTR.png" /*!************************************************************!*\ !*** ./src/lib/libraries/decks/steps/add-backdrop.LTR.png ***! \************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/add-backdrop.LTR.739aaba44ece850bef76.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/add-effects.en.png" /*!**********************************************************!*\ !*** ./src/lib/libraries/decks/steps/add-effects.en.png ***! \**********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/add-effects.en.271fe87512284ea5a176.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/add-sprite.LTR.gif" /*!**********************************************************!*\ !*** ./src/lib/libraries/decks/steps/add-sprite.LTR.gif ***! \**********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/add-sprite.LTR.42ed010d53b81aec0679.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/add-variable.en.gif" /*!***********************************************************!*\ !*** ./src/lib/libraries/decks/steps/add-variable.en.gif ***! \***********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/add-variable.en.c9511f360d83de3bce6b.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/animate-char-add-sound.en.png" /*!*********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/animate-char-add-sound.en.png ***! \*********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/animate-char-add-sound.en.9e7a8bf737637a20dacd.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/animate-char-change-color.en.png" /*!************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/animate-char-change-color.en.png ***! \************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/animate-char-change-color.en.683a168bd0f8b3ae87fd.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/animate-char-jump.en.png" /*!****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/animate-char-jump.en.png ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/animate-char-jump.en.e69b327a1b60b153f51d.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/animate-char-move.en.png" /*!****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/animate-char-move.en.png ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/animate-char-move.en.b057370f6873a62241f6.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/animate-char-pick-sprite.LTR.gif" /*!************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/animate-char-pick-sprite.LTR.gif ***! \************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/animate-char-pick-sprite.LTR.0b35c3a02f8b6bd517d9.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/animate-char-say-something.en.png" /*!*************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/animate-char-say-something.en.png ***! \*************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/animate-char-say-something.en.3673311acab7c2a02d43.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/animate-char-talk.en.png" /*!****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/animate-char-talk.en.png ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/animate-char-talk.en.84043284d2bf8d98eaf8.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/change-size.en.png" /*!**********************************************************!*\ !*** ./src/lib/libraries/decks/steps/change-size.en.png ***! \**********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/change-size.en.97b539a9234a4dab6050.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/chase-game-add-backdrop.LTR.gif" /*!***********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/chase-game-add-backdrop.LTR.gif ***! \***********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/chase-game-add-backdrop.LTR.df1e4e6760d6cfff89a7.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/chase-game-add-sprite1.LTR.gif" /*!**********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/chase-game-add-sprite1.LTR.gif ***! \**********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/chase-game-add-sprite1.LTR.efd7de8f57f6d47445c1.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/chase-game-add-sprite2.LTR.gif" /*!**********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/chase-game-add-sprite2.LTR.gif ***! \**********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/chase-game-add-sprite2.LTR.7c1343b98e6b76c182a8.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/chase-game-change-score.en.png" /*!**********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/chase-game-change-score.en.png ***! \**********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/chase-game-change-score.en.805bd19e55fcfb40b332.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/chase-game-move-randomly.en.png" /*!***********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/chase-game-move-randomly.en.png ***! \***********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/chase-game-move-randomly.en.6adb9b968cd1c25cad10.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/chase-game-play-sound.en.png" /*!********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/chase-game-play-sound.en.png ***! \********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/chase-game-play-sound.en.ac71335f6961bc4cefd4.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/chase-game-right-left.en.png" /*!********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/chase-game-right-left.en.png ***! \********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/chase-game-right-left.en.000853e4f4cf983a3e8c.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/chase-game-up-down.en.png" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/chase-game-up-down.en.png ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/chase-game-up-down.en.24d55c2bdbfda43cd74f.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/cn-backdrop.en.png" /*!**********************************************************!*\ !*** ./src/lib/libraries/decks/steps/cn-backdrop.en.png ***! \**********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/cn-backdrop.en.45686dbab02e5bfe8dcb.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/cn-collect.en.png" /*!*********************************************************!*\ !*** ./src/lib/libraries/decks/steps/cn-collect.en.png ***! \*********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/cn-collect.en.f8e0214f95236c4941e3.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/cn-glide.en.png" /*!*******************************************************!*\ !*** ./src/lib/libraries/decks/steps/cn-glide.en.png ***! \*******************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/cn-glide.en.7c71210a204459473c95.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/cn-pick-sprite.LTR.gif" /*!**************************************************************!*\ !*** ./src/lib/libraries/decks/steps/cn-pick-sprite.LTR.gif ***! \**************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/cn-pick-sprite.LTR.6fe9f9f6e7c071455bb6.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/cn-say.en.png" /*!*****************************************************!*\ !*** ./src/lib/libraries/decks/steps/cn-say.en.png ***! \*****************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/cn-say.en.3ef47cd9de72c9490a31.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/cn-score.en.png" /*!*******************************************************!*\ !*** ./src/lib/libraries/decks/steps/cn-score.en.png ***! \*******************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/cn-score.en.cea052dc75a4f68f1a4a.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/cn-show-character.LTR.gif" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/cn-show-character.LTR.gif ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/cn-show-character.LTR.0011b33b66457f864a30.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/code-cartoon-01-say-something.en.png" /*!****************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/code-cartoon-01-say-something.en.png ***! \****************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/code-cartoon-01-say-something.en.51f62929788625f14a12.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/code-cartoon-02-animate.en.png" /*!**********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/code-cartoon-02-animate.en.png ***! \**********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/code-cartoon-02-animate.en.d0de3dbfb3730707467d.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/code-cartoon-03-select-different-character.LTR.png" /*!******************************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/code-cartoon-03-select-different-character.LTR.png ***! \******************************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/code-cartoon-03-select-different-character.LTR.8c13f742b18587c21420.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/code-cartoon-04-use-minus-sign.en.png" /*!*****************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/code-cartoon-04-use-minus-sign.en.png ***! \*****************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/code-cartoon-04-use-minus-sign.en.698ef15131ee7afb084c.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/code-cartoon-05-grow-shrink.en.png" /*!**************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/code-cartoon-05-grow-shrink.en.png ***! \**************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/code-cartoon-05-grow-shrink.en.847dd8f8c24123a89639.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/code-cartoon-06-select-another-different-character.LTR.png" /*!**************************************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/code-cartoon-06-select-another-different-character.LTR.png ***! \**************************************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/code-cartoon-06-select-another-different-character.LTR.c5e54268164eadcafa13.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/code-cartoon-07-jump.en.png" /*!*******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/code-cartoon-07-jump.en.png ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/code-cartoon-07-jump.en.ccc994f6531e23f20cb1.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/code-cartoon-08-change-scenes.en.png" /*!****************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/code-cartoon-08-change-scenes.en.png ***! \****************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/code-cartoon-08-change-scenes.en.b649dcd4da5c78e38bd7.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/code-cartoon-09-glide-around.en.png" /*!***************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/code-cartoon-09-glide-around.en.png ***! \***************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/code-cartoon-09-glide-around.en.35d81c0b48cd9393fd7c.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/code-cartoon-10-change-costumes.en.png" /*!******************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/code-cartoon-10-change-costumes.en.png ***! \******************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/code-cartoon-10-change-costumes.en.8a061f8e13b047da286f.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/code-cartoon-11-choose-more-characters.LTR.png" /*!**************************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/code-cartoon-11-choose-more-characters.LTR.png ***! \**************************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/code-cartoon-11-choose-more-characters.LTR.8a0ca3ba4092266d0627.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/fly-choose-backdrop.LTR.gif" /*!*******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/fly-choose-backdrop.LTR.gif ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/fly-choose-backdrop.LTR.57b4371e91c1437849b2.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/fly-choose-character.LTR.png" /*!********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/fly-choose-character.LTR.png ***! \********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/fly-choose-character.LTR.b6451bd41221e0ebef9c.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/fly-choose-scenery.LTR.gif" /*!******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/fly-choose-scenery.LTR.gif ***! \******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/fly-choose-scenery.LTR.1b73747e05f1e66f7e25.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/fly-flying-heart.en.png" /*!***************************************************************!*\ !*** ./src/lib/libraries/decks/steps/fly-flying-heart.en.png ***! \***************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/fly-flying-heart.en.9380de8daef16e0dc6b6.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/fly-keep-score.en.png" /*!*************************************************************!*\ !*** ./src/lib/libraries/decks/steps/fly-keep-score.en.png ***! \*************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/fly-keep-score.en.cf26d6037a9b4fbba6e9.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/fly-make-interactive.en.png" /*!*******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/fly-make-interactive.en.png ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/fly-make-interactive.en.65982d0fe3c1c51d5175.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/fly-move-scenery.en.png" /*!***************************************************************!*\ !*** ./src/lib/libraries/decks/steps/fly-move-scenery.en.png ***! \***************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/fly-move-scenery.en.2c81458d2d6c90f4b3c4.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/fly-object-to-collect.LTR.png" /*!*********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/fly-object-to-collect.LTR.png ***! \*********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/fly-object-to-collect.LTR.8a81f6b82f7a2e6efdac.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/fly-say-something.en.png" /*!****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/fly-say-something.en.png ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/fly-say-something.en.d0b4a333e34ac8d5c856.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/fly-select-flyer.LTR.png" /*!****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/fly-select-flyer.LTR.png ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/fly-select-flyer.LTR.d012da76b57d0653a25c.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/fly-switch-costume.en.png" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/fly-switch-costume.en.png ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/fly-switch-costume.en.e7a13bc20dc5e8c77d12.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/glide-around-back-and-forth.en.png" /*!**************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/glide-around-back-and-forth.en.png ***! \**************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/glide-around-back-and-forth.en.405df25772d831074eb1.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/glide-around-point.en.png" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/glide-around-point.en.png ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/glide-around-point.en.00b8fd0fbdc14136504f.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/hide-show.en.png" /*!********************************************************!*\ !*** ./src/lib/libraries/decks/steps/hide-show.en.png ***! \********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/hide-show.en.fbab79667a258440d762.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-change-costumes.en.png" /*!**********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-change-costumes.en.png ***! \**********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-change-costumes.en.863a431f5a841f808062.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-choose-another-backdrop.LTR.png" /*!*******************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-choose-another-backdrop.LTR.png ***! \*******************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-choose-another-backdrop.LTR.ed0ee289a23ad1c0cad5.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-choose-another-sprite.LTR.png" /*!*****************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-choose-another-sprite.LTR.png ***! \*****************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-choose-another-sprite.LTR.382b3239922223bd857c.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-choose-any-sprite.LTR.png" /*!*************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-choose-any-sprite.LTR.png ***! \*************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-choose-any-sprite.LTR.afeb2801c7076e47b539.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-choose-backdrop.LTR.png" /*!***********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-choose-backdrop.LTR.png ***! \***********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-choose-backdrop.LTR.034c274c8ab97fdb3975.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-choose-sound.en.png" /*!*******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-choose-sound.en.png ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-choose-sound.en.21fbcded3da99e037136.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-click-green-flag.en.png" /*!***********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-click-green-flag.en.png ***! \***********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-click-green-flag.en.e4bb5388ad198f29326f.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-fly-around.en.png" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-fly-around.en.png ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-fly-around.en.3f849ea282961c9b83eb.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-glide-to-point.en.png" /*!*********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-glide-to-point.en.png ***! \*********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-glide-to-point.en.6113622464c234475115.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-grow-shrink.en.png" /*!******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-grow-shrink.en.png ***! \******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-grow-shrink.en.8fb2cd36ab770d430d46.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-left-right.en.png" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-left-right.en.png ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-left-right.en.73986486a1a4556df536.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-record-a-sound.en.gif" /*!*********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-record-a-sound.en.gif ***! \*********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-record-a-sound.en.857d7298041194367b9a.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-switch-backdrops.en.png" /*!***********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-switch-backdrops.en.png ***! \***********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-switch-backdrops.en.5e695f7b81f4bd606ea4.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-type-what-you-want.en.png" /*!*************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-type-what-you-want.en.png ***! \*************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-type-what-you-want.en.2f57a5396aa1bf61c38e.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/imagine-up-down.en.png" /*!**************************************************************!*\ !*** ./src/lib/libraries/decks/steps/imagine-up-down.en.png ***! \**************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine-up-down.en.f272d1980ab7e1be0562.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/intro-1-move.en.gif" /*!***********************************************************!*\ !*** ./src/lib/libraries/decks/steps/intro-1-move.en.gif ***! \***********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/intro-1-move.en.35a023a211c9e123ef88.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/intro-2-say.en.gif" /*!**********************************************************!*\ !*** ./src/lib/libraries/decks/steps/intro-2-say.en.gif ***! \**********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/intro-2-say.en.b277b8762debfb5c3a6b.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/intro-3-green-flag.en.gif" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/intro-3-green-flag.en.gif ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/intro-3-green-flag.en.5e2cf7b1d36c26f8b8c3.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/move-arrow-keys-left-right.en.png" /*!*************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/move-arrow-keys-left-right.en.png ***! \*************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/move-arrow-keys-left-right.en.785276cd2ac25c6b9e73.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/move-arrow-keys-up-down.en.png" /*!**********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/move-arrow-keys-up-down.en.png ***! \**********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/move-arrow-keys-up-down.en.6a1a4e5a0b0b6178c626.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/music-make-beat.en.png" /*!**************************************************************!*\ !*** ./src/lib/libraries/decks/steps/music-make-beat.en.png ***! \**************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/music-make-beat.en.b48dd01130cec0b7f91f.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/music-make-beatbox.en.png" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/music-make-beatbox.en.png ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/music-make-beatbox.en.bbea375f6378de561164.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/music-make-song.en.png" /*!**************************************************************!*\ !*** ./src/lib/libraries/decks/steps/music-make-song.en.png ***! \**************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/music-make-song.en.2e0f5b9b7a06c2d50004.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/music-pick-instrument.LTR.gif" /*!*********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/music-pick-instrument.LTR.gif ***! \*********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/music-pick-instrument.LTR.63c8fb90b1eb30d8faf7.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/music-play-sound.en.png" /*!***************************************************************!*\ !*** ./src/lib/libraries/decks/steps/music-play-sound.en.png ***! \***************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/music-play-sound.en.637d8e3d86c55bab69e4.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/name-change-color.en.png" /*!****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/name-change-color.en.png ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/name-change-color.en.7d3a3face346890508fb.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/name-grow.en.png" /*!********************************************************!*\ !*** ./src/lib/libraries/decks/steps/name-grow.en.png ***! \********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/name-grow.en.31033144e14c0bb0ae2e.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/name-pick-letter.LTR.gif" /*!****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/name-pick-letter.LTR.gif ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/name-pick-letter.LTR.c376ac42ba0eee346412.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/name-pick-letter2.LTR.gif" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/name-pick-letter2.LTR.gif ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/name-pick-letter2.LTR.af6c5e7043dd84000c54.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/name-play-sound.en.png" /*!**************************************************************!*\ !*** ./src/lib/libraries/decks/steps/name-play-sound.en.png ***! \**************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/name-play-sound.en.b8aff50f8793580d6936.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/name-spin.en.png" /*!********************************************************!*\ !*** ./src/lib/libraries/decks/steps/name-spin.en.png ***! \********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/name-spin.en.1ccfcb5fd3c161ec6e44.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pick-backdrop.LTR.gif" /*!*************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pick-backdrop.LTR.gif ***! \*************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pick-backdrop.LTR.8d67c0cc444eaeaca805.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pong-add-a-paddle.LTR.gif" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pong-add-a-paddle.LTR.gif ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pong-add-a-paddle.LTR.1ea752cba084af62649d.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pong-add-backdrop.LTR.png" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pong-add-backdrop.LTR.png ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pong-add-backdrop.LTR.d470248cd235c3544220.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pong-add-ball-sprite.LTR.png" /*!********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pong-add-ball-sprite.LTR.png ***! \********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pong-add-ball-sprite.LTR.c1f42703b6047c0687a4.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pong-add-code-to-ball.en.png" /*!********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pong-add-code-to-ball.en.png ***! \********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pong-add-code-to-ball.en.d728f305eb7336613732.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pong-add-line.LTR.gif" /*!*************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pong-add-line.LTR.gif ***! \*************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pong-add-line.LTR.9d352e96823fa81f2f76.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pong-bounce-around.en.png" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pong-bounce-around.en.png ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pong-bounce-around.en.f3eced34b594951ace5f.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pong-choose-score.en.png" /*!****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pong-choose-score.en.png ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pong-choose-score.en.d10a34e19e07d9ba4f11.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pong-game-over.en.png" /*!*************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pong-game-over.en.png ***! \*************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pong-game-over.en.212941173b83fbc5a404.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pong-insert-change-score.en.png" /*!***********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pong-insert-change-score.en.png ***! \***********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pong-insert-change-score.en.d00d5538ae5cae651991.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pong-move-the-paddle.en.png" /*!*******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pong-move-the-paddle.en.png ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pong-move-the-paddle.en.40da269fec27e12b6069.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pong-reset-score.en.png" /*!***************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pong-reset-score.en.png ***! \***************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pong-reset-score.en.a7102d5c3483d79f2cb1.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pong-select-ball.LTR.png" /*!****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pong-select-ball.LTR.png ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pong-select-ball.LTR.4a7eba64b7666cd4c380.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pop-game-change-color.en.png" /*!********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pop-game-change-color.en.png ***! \********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pop-game-change-color.en.35c3970891eb911f679b.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pop-game-change-score.en.png" /*!********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pop-game-change-score.en.png ***! \********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pop-game-change-score.en.199c103c3f733032aecd.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pop-game-pick-sprite.LTR.gif" /*!********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pop-game-pick-sprite.LTR.gif ***! \********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pop-game-pick-sprite.LTR.701e72920ce1528819b4.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pop-game-play-sound.en.png" /*!******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pop-game-play-sound.en.png ***! \******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pop-game-play-sound.en.00587c9232d07371b8d9.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pop-game-random-position.en.png" /*!***********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pop-game-random-position.en.png ***! \***********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pop-game-random-position.en.6bc3585d97c0d5b3ce3f.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/pop-game-reset-score.en.png" /*!*******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/pop-game-reset-score.en.png ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pop-game-reset-score.en.04635554fcde3556d5a4.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/record-a-sound-choose-sound.en.png" /*!**************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/record-a-sound-choose-sound.en.png ***! \**************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/record-a-sound-choose-sound.en.9f8688afc5f84878273a.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/record-a-sound-click-record.en.png" /*!**************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/record-a-sound-click-record.en.png ***! \**************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/record-a-sound-click-record.en.7916ec3f0cfae2ab9a4f.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/record-a-sound-play-your-sound.en.png" /*!*****************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/record-a-sound-play-your-sound.en.png ***! \*****************************************************************************/ (module) { "use strict"; module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4QAAAGQCAMAAADBSF6tAAACKFBMVEX////5+fnl8P/PY8//vwDJT8nEzNm9Qr1Mv1bsp63GUsbMmQDbndtGmj3bitvnsefRnqXRd1/GTMbKW8r4+Pnz2PPXe9f/z0BFmT3/34Dd3d3iyXzy1PLkp+TBSsHlrAC4SrjytQDu4bvv7+//78Dm5ubSbdLJZsn57Pm/Rb/QtQ/89vzETcPhnuHYgNjk7PvUnqbBR8HVd9XXoKf89fzuxu7qu+pKr0z/xyD/wxD/+/DkqOT24vbOYc7/12Dw0PDopazIV8j/yzDelN7EScTo6OjVrbbMWsxLtk/dkd3TcNO/S7/NXs1Ho0P7vAD/67D/01D/45D/23DUnwD/56D13/X/9+DrsADepgDrvevZogD/89BgukjPngr1ugH17vXz7drahtpOvFPdpt1Hn0FGnD/WqynG0N3e6/fR2+nXsDnHYcf28+nUj9PahkeeqyDSoxbitOKky7BxsHHdvV1YsESzsBn09fbX4enhnOHHVcfBUp74tQzL1OHo1Zvlz4xapVZZukxKqkfb5PHmvebx58rNeMq11cS8VbyZxqHgw2xQmzn3+f3s8Pby4PLq6urqy+ri4uLXk9fJa8nXs7zTpq6Jvo9cnjbougjiqgDShdLr26tQoErcuAv8/v/i5/HJ4NzczNi/29Gs0LjdoamCpinu1+6/SLLEWZJgp13at0lnoDJzoi7vqBzA29DBYcHHYITLcm7Gbl/du1fFsxPXuMJmqWPlmC9dWUeDAAAa2UlEQVR42uzdva7aMBiA4coTDJZ8JxyJwSvTURZuIiISc7MwIhaUHZgY+FtYztZeXw2kTQPF53NDdCTnfaQog+dXsS3F/vaHAvAViBAIQ4RAbIgQCEOEQGyIEAhDhEBsiBAIQ4RAbIgQCEOEQGyIEAhDhEBsiBAIQ4RAbIgQCEOEQGyIEAhDhEBsiBAIQ4RAbIgQCEOEQGyIEAJFlk+Vs1sWy536X4OVubMaKBAhJLTWm815614T92zPm+VUBRv8MOatxpj1ngyJEBL6YmKTtNfrpYm9lHhUNdNiqfwG7+Zt1K8ZuQzfqZAIIeCiy2yv4jKcFNNqfFpstVZerkHjGqTCe0QIEReh7dVYrbfFh7r6OM61ozyuDZ76fSp8QISQqCKsJJl2tnk+1xdjf4SuwctklAofESFEqggr6SLTpWyRJp4IPQ3eKtyrTiNCCFQR1iV2sbht13gi9DRYVrju9qeQCCFQRujhidDTYFlhxyekRAiBRhH6G3RGHV8WEiEEGkW48jfonIxZqe4iQgg0itDXYLU5o7qLCCHQMMJh/xNDIiRC+BBhm4gQAkTYJiKEABG2iQghQIRtIkIIEGGbiBACRNgmIoQAEbaJCCFAhG0iQggQYZuIEAJE2CYihEQZYZpYO7Y2SYnwhYgQArcI7UT/NrFE+DJECBEXXqadeb7J57cMifBFiBAil/42y5m6mS03Zz22aZVgasd6op5YG3Ma9X1GxqxVdxEhBFyE31XNYa5dh0l6XSku3Hh+UP/En/WfIEJIVBFWZrn+y/yonuGMGT8ihEgZYd0h/1kWmB+VB6eteREhRMoIH+0OgluaOHfUhwgh4IlQhhO4PYgQAs0j5C6K54gQEs0j5Famp4gQIs0j5H7CZ4gQAt4I5QZr8zasoUGHCCGSeSKU25s7NOgQIUSKLJ+qxgYrc2dFg4oIgS9HhEAYIgRiQ4RAGCIEYkOEQBgiBH6xZ8c2DMJAGIWdK/4J2MNjGU+AG1duwwph1ZSRCBhZMo153w5Pd6cbDRECbYgQGA0RAm2IEBgNEQJtiBAYDRECbYgQGA0RAm2IEBgNEQJtiBAYDRECbYgQGA0RAm2IEBjNL0LhaUKOxdslX2IOwm2I8OnibFVzFO71i/CFp5mWNUmKVlGkkNb3x+E2RPhw0yZlb2fmELa3wzEiRB9LVPCnDWYSPEeE6KUons7B1eEUEaKbEuxQ1sYxWEGE6CdHOxCVaLCGCNFP0mx/ZgUOwioiRD+r4tEg3BxqiBD9TJK3Hc8gvEKE6Cip2E5RcqgiQty7j0bxnrhAhOhoUbadLLbRC0SIjiYF2wniP3GBCNGTZDuSQx0RgghH88KTEeGX3TrUTSCIojCck9RhUYwgu5t9lFoMgk0TGtSKSQWCBMcqTA1B9w14yrKLbJv0UppcuP+nxhw3f3I9ECIjQg+EyIjQAyEyIvRAiIwIPRAiI0IPhMiI0AMhMiL0QIiMCD0QIiNCD2RVb2V2kFlVyaxmc94Q4d2RUT05yL4Zy+po31QT+6YOviFCD+w/vZJ5c7RHWD+bN9uJfVMF3xChB7Iaj2V2zYTNlRvO0bsjREaEHgiREaEHQmRE6IEQGRF6IERGhB4IkRGhB0JkROiBEBkReiBERoQeCJERoQdCZETogRAZEXogREaEHgiREaEHQmRE6IEQGRF6oH+wKsuUUs5t2y5Hg3Xb5nxKqSvLN8EPIvTgxvWlTV6PLuYvZ8100PTv+eiizamjRR+I0APdyH73nke9c3eLopg9fWtWFNPppcZlTh8rwYYIH5FuoEx5OeS3+BrfTzFOmz7F9abbC79HhI9If7TvTv3p2Sxen4yGEocQd9ymn+zau24CMRCFYY003WmpoEBLlEdJ68aFEZK3pEApKKhDzxsg3iBtXjDalXIjWvByW2t8vt7lr5n1OhUjtEiuMdut2wCdXqwOTYjLLTfTJIzQoitm4CYCPtR6tWrv2WEaRmjRpfegzQxMGIGp6rZD7qXnMEKL5BJvK8CnF5jeYdzwnuYkRmiR9PY6icDe6R1U82YcCnVihBb13kM3gA96L27qsZ5wK+3CCC3qmeAHMK/0roJHZIYdGKFFvRN0enfVghl2YIQW9VtE0xO8PsOt0D+M0KIe1zFNgg9TeawPQkcYoUWS5rDGotKHCsCK/++PMEKL0jbRd/igj+amwEToN0ZokSTYRuydDsAtsOTf+98YoUUJY3AFX+tAAofhH4zQIjnnEDHVwbTDkF+G3xihRXLGDr7WQQVEvmT7wggtOrOKLjF3OrDaYyfUYoQWySmziKDDc3Ms+YCmxQgtkhPegFqzEBB5S9pghBZJtw384KvolwpxciszIUaYE+mWwefgj9rjVvgejhHmRbphqha54MHrVkaYkfIiVHUeXEkZYT5KjFAdVkKMMBdFRqh78BUOI8xGmRFW3EcZYT4YYdEYYQ5Kj/D5SdLZO8MIc1B4hM/j8UiS2TvDCHNQeIRP45eRJLN3hhHmoPAIZTSSdPbOMMIclB5h4RhhDhhh0RhhDhhh0T7ZuXvlxGEgDuAUKu4NLPWq8gSSChfqGX8MQ2MmBQM1FfRcywNAkzLVpbwHvPWujDnncmjwTKLA/meOjbXmrMK/kT8yYYQphBE+dBhhCmGEDx1GmEIY4UOHEaYQRvjQYYQphBE+dBhhCmGEDx1GmEI+H+HL29f/CTdGyAgTyqcjPB3kr9Pu7Sjlr9ddNEdGSGGE95hPR/gk20y3kJWUm0iGjJDCCO8xX4FwvV3+wOy36+NL13jebX6LD8MIMYzwHvMVCKc/zllO5eaE47ujXB1O4qMwQgwjvMd8IULKdg03h5u3g5zuF/JJfBBGSGGE95gRCLXW+TiElMXP6XS63cMP8una8fCzumEmOezDCBlhkhmBEL6tRiPsgwivHQ8/9Q0zUbAPI2SESYYRPnQYYQr5dgizLPOMkBHeU+IQWjj1DVQDFQpKoFPf16o0gmJKpXIruv1spurMjkWY1Sr3Q4Q0JziauURoqEet2ogQmIZnhIww3cQhNLBnBVVDNUJYKAWe+rMJxOUCYqsJbviw7njXbjZ+FMLSTdpo/+5ytJ5gZubcwQPmbYu+lBNB3CgqRsgIU00cQuGAExY8t3MsrbgJBmE2+BPtoPqevhlhwBxoDxAWXaex1OkNzrrWrFXcbTBCRphqIhHOUJrHU5u2rKATfTYhHBWUqqwcgAl45pVGoLcjNC0/lVVQikuEZKups5ZiRR1LBqml83oOBeS2pchrxwgZYbKJREhrX4228MwmFM4KlDlDL+q8o0I2JDO7HWGBXyf0lwhxBs4IrA2OVQ0ZxCENxeK0sjARzwgZYbKJREindIEXmcbT+U4cQi3bHRQEt9rPElrZOIQNEqMnLvYvhDid0IEtSiW66ShIuwbSzSku5YyQEaaaSIToTzi4xAR/NV5kEgpIYNeHtrL/I9wvllcREqwuPUL8f+uLDsVZOmQfXIr5FQUjTDuRCOkyE5afEv4ByEaMQriYrqWUq+3yKkIVh5BSDBEaRsgI008sQgv7zsEhVIcCBgjLy0cwVxCuVvK4+f20e5Xr/SXC/RBhuL0TpdbaXyK03RpZQwfHXDbHS2Bs5SKEL0cZ4TdILEKhaWnp6hCh77ZmWtdXEMrDTmBOr/Lnsje4PjwLMTymD9UOH8zMLYhzUMNMynBBCkM6+CzOD2asY4SMMNVEI+yejKq2NmKIUBT4LiBvS3YNYb/g7Q7rnwsUuIXlkcZDwtddXhbDVxQ0m6bM9XlMhRmEVl1WOEivKLK84aejjDDZRCM04R1h1tbqPULj+juzeITieXOQlOPmWQxTffiyXnedue06xtEFadO3+GU9I/wGiUYouhdxDqp/j1CY4KKy8QhpZAPZvYh/pXbEyYsBQht8atN16KjOXrT6X3xr+J6QESabaIT0sg6qh4oDUE2ongZypWpzua+l+h5hdEymlCr74/VH8yV0/HAmme1bFAsbpTXQYoSMMMlEIBybGITjw3/eghF+1zDChw4jTCGM8KHDCFMII/zD3h27JBDGYRznxx284LVIDuHgkEgILv0BDg5NSasihFuLdRSIQzqGg1Po0uKaLkG59O8lOFjSe9y7eM+9v+ezP9O9X2554VWNESJghKoxQgRHj3C5jXDpvGKEO4zQR0ePMBydjdxHjHCHEfro+BGGb2HmGCEjBMJHQlVjhAgYoWqMEAEjVI0RImCEqjFCBIxQNUaIgBGqxggRMELVGCEC7RHWqpKefxtGiEB5hLVyuSSp+bdhhAiUR1gtXzkcWv82jBCB8gil5HJm/dswQgTaI1SOESJghKoxQgSMUDVGiEDsHnuhrzqMkBHiELthdBN6qncrxAhRiN151A391IlmQowQhSSYRV0v/4Wd6O5eiBGikCTDKIqLf3yHjj7iIprN5uvhRIeXPiPMAUnSn5pDq6JTgmtDmZr3GSE8SfB+bRqnwW/tVsWsJ2FasTGFdkCZaTXMoM8I0UmCQX2b4KGCGU9SN3jJBDPWMlNGiE7snszz/591PEnbYDOgjBXMKyMEJ3aLehDYKmSDedE0c0YITuxMI7BXyAbzorJghODEzhSChArZYE5ULhghONcI9xWywXxghPCcI9xXyAZzgRHCSxGhe4VFNoiDEcJzjnBf4Sq2XJP5ZIM/7Nq9aoRAFIbhgcPwgc0SRbvYH3ADQkhnIQxs4xUlF5SUyR1mslnC5ocExd18ZzlvMZ2IA48O4xDlCOlbjFAqxePTy9XXnh+AQs7UNBY8VZxvHkdI33KEMoxdi29pe6aTavn2Cq60qIQuR0jf7wh5mzoAfSojTWWZFNB7tu+hI6TPJsKhywKJAH6UNDMUqhwhfSYRjspJ8J0h2bF1R0ifQYRDB2UluGcIjMKTI6TPHsKhRx+pKxWd0OQI6TOHMBtMkb2eSKEjpM8aQhMGqRQ6QvqsIWxNGHxTyLJJ6gjpM4awMGIwRgXJHqkjpM8WwgkajVRChSJHSJ8thC2Y/018LpHMnyOkzxTCce3F6K5pmt1hXD0FxQk2R0ifKYSqcd2aEEJzGP9uE8L1nAUpxwQ6QvqWIazr+k5O3jbfRo6qkP4T4e52HsKoKjO7yU+8FdmPP825I7zIliHMF9Zy8jYhBDnqlX3zWZUahsJ4IBTBRQIX7qxamVWIdFKwTLtpoYsKw4xuZzErGVz7ALoWcSWiO1/CVzT5enIz1rbeERWq/RZJT9JkuOfmNzn5M5sH0R+B8BDH8SH6mQ5HdiWET+9/fa3sCBOMMck50p7g8wXCf1JzgvDBkz8D4T10iDVjAxDebDabR8+8NlY3UdD9T+xvrUMXCP9XzQjCfjQax/GenzRzMJ1iti08TvviyI7e2iXxdhsnO1TEsbQJS1yL4zY+X86ESM/FVsevI+h1vNWng2sDWgcgfLYe0rNwYv/4SgiVECJfIPzfdE8IcyEEV61s1fcDIjNSVpl7cC/w8EASlZRC3VlGtjnnNNoU5TlZWVXZ1LczWR/Ch71o1NaetjbBjgm0B3UxWSdnnbcM2p6tkTAWn4DSnkHHsCZEemKQDN1sC9tmBEIL3Od3L53eNk2Dh1fvvq7Xj0I8Gg7s4RjvSlgZHNo5r2asFkINQwi/B58rAUeFf4uQBj3TP6TKFwjnpftBCB5MyqyKCwiNZlCd8dJmrauyRSknUX1awmpTWLc5xV2Ccom0rV2lzoBg90k9CB897kFIihLQ4imMQRexdEAV6g6AEI8JmMLzJYRBPAqdAkKoB+HN+j3qe3q7Xof90TffTXbMuxLWrcH7hXIGJAbD0RJ1xkMoGVQqes7grAZUCt11uUA4K10BIam+g7BlXppn3f8eOZgDYV7lZRepGIIw9T1Rv1Q0cUDRjbck4TY77aKDtq3t1OcQ3EW8s+KOzL0rJLC0TFau+DWKexBKvnL8niPuELTcnsYh3Kw/sSF9BYQQXDgGYUrvm2kIC6okCGtv1Ap9oRtqUDFSs0A4J10DYWNkikFDEDY2q1TuhlDG624GlDA6lSBNYG4Enak0BTAegJClhe0IpTp81iWE/QMKBpK6+W0XdUidgZ2zXtv8wCkqBUscEB5dpSdL9sNR2qxJwPIe5xKjED5bv2RDehcgfLwZh9BKl6lzRwhHByCEb0pTEoTSNaiq2hV2FtNSM7g4T+/qzALhjHQFhA1NdLqDECdXBX3/CqQtvqjrMOzAVGvfy0Bs5gPbAQi16nqquPGf9XMItcsLC2FsdQQkGtCQgFd4SBymZL0OxZQSYxx5Amqt4omZ8BUb0vsLCB9NQVh10Tub2h2F31o0wytp5ynlSFMoLKlvvJqqrk+9QDgjXQFh68cEQQgpYTSAUohHcxpbYTFTl91mjiY6FWHXh1ASdhKflfvPmoaw6DAhARKsBb2SAKEna/cjmyHdo1//ajQN4c16/YH9qFfr+0KoKNichLAmohR8nnn/GjiQ4g7kwrm4EVauz3yBcD66AsK7h9xDaBq/rhFAJuUVxhZJ+doi7PiBxtsRCPFSYE/+FMKEMNEJaRUhfPQ6X9J2JrImZsJVgNBbxxEIEY++/zDE4OaeEMKahhDPTfBbC7/RmxW19hCyC4kFwvnoVyAUBGGBHmqKOg1tcTahlapqBqV5GFj1b4YQa0IUrFYrHsVkgaKD69BbhzsId34STcYghFUA0z6E0xSCwT8GIU2APmhYIPw3dAWEGULMEI5mjsCLnc7UFvqoNUggKDWutvFhVYk2ZgDCyXD0ySCEmO7cYfyeQMP+CteAUXd7nIct1o8EIW2aongEQrRkxV6yKQhB4QSDdGUmQIj8KgixyA7hqPdbNyX2IEytZ5fD+hnqCggLijBTgtAQfBXlhc1R63WxcS5pEeQ3XwT1JwcgNMAUw27qnDAwEYMU3eGyc/nxyLraM6rwwjlACODYEcXDEKIlNL47ShR+HGeQjijCDksODw5DmI5uzJCXwSlSQjnvQXhLy0dhd8IWCGekKyBkhWhrGiV+fSLpZF1QhAR8IBpZgkYIxldthDNShR5YU92yAQi5dt10n8XG728HJvjRA8Mjmt6YP4yQjCQjghA60SvjEEZ79HNKpiDEzbW3owze+Bvc3oValikbgZAVMh85okjhN+BXMuy+NC7zrb9zcSXc2c4C4Zx0/WF9qgjCHFaKwopWLeGQ0B+6o16ry0PnFl/w0CCELQviQW8e3Pxwd5Qek6ND8LSDscO5mSZeVsWW+Xul+zgGUHh0pTu6NRrSi353q2TPw8YMVYxTGBgcvLaWM9IQhHL0sB5vQkBL6fB/6EMYnJpmC4Qz0tXX1uqc+6DIMAiHVf4lzS/kWoTLaJKMbmNBY7C0QxBSx3X5PYTPJ39OeOCX1go8knZk9MSjCXFLXBL2cCYECj2DUz8olPRXDUGo0lEI6dur8He8GxZu//UgDC5e1oRz0hUQ8twUdBtbCOG4ymUpq5wsv9y7lDKykFKQlbeyRAdUVRq0zblCauXz3JSyVbk1ez+s/3vS7hiD77uA9WcUvtyyF1/A4NRP6zNZyhaXrnvXuZ2ElJUiRyANyirrNlz57kxTlhUe0drnilzcSLNszMxL39i7g5Y2gjCM430YygtLaWGT9iAYhJDCwPawpdccAtuDJF+gJykePXmSei7Sk0a9+QH8nLWxhaokdVaTPu/O87spvjf/zE6yzKREuNLr2+3Ox7A+xSaPedp98ceXxc+rK/xxubNo8I6G4tRDRUjv2SJ883t/t0azjV5C8fV29/Xp28t/Guz8Ut3/tdWBgCKk97wRvg1rVW32xMN3u9vbTziGreG4nEkR0ntUhIsdy+pFbvEXH96Hu1wvhU9FcvqvIqTn6sjDUDg6/Lc2jgvsFSE9XxGOo5sKWQ7gVoT8fEUYel4uoyitpjh/WxE64CzCMPGxLSwtMnw9oQhd8BZhqDxUWBrFV4SK0Ad3EYaK/4m0NI5vJxShD/4iDMdG/ulMw/Msqgg9cBhh6EXmR9Iy2oDkMxlF6IPHCMO4Mms4V8MyWmS5rV4ROuEywhB6A7Oa7vr6solmFdMyqAg9cBphCLMqmsW6KUk0TR3NYkG0G1SETriN8MakGBiROOArUBF64DnChR4Jxv4UoQ/uIxRF6J0i7DpFSE8Rdp0ipKcIu04R0lOEXacI6WG5ogriX7xUhOSw3JWRvfshLfRsXxGSw3Jz01Lo3rienipCcljhiu49SEk0q20fipAcVlcYq+Jvk15INJsU8t9UZq+gCNlhpfmJ3RMnSQlSvdyZn+nJHIqQHpJcHxYpj6gTm17M9yC0FCEDpLqwevzoBg9OIcwUIQMkO7R6/NgGtQqSU4QM0K5CNdgNipABWlaoBjtBETJA2wrVYBcoQgZoXaEa7ABFyADtK1SD/ilCBlhHhcdq0AlFyADtK4y9ZYcRqkEvFCEDtPZ9arEqHhqYXahBJxQhA7S3t385tYcOrq4hTihCBpCcKUIGkJwpQgaQnClCBpCcKUIGkJwpQgaQnClCBpCcKUIGkJwpQgZINTpCsjMkGw6RbKSZmxlF6A4SjbbOkD7TR6rz9JnhVvrMKPMZRcgg/T99iOSZ8356uJ+TZ4620meGmc8oQgZI1e8jWZsRzbSc0eOoO5CcKUIGkJwpQgaQnClCBpCcKUIGkJwpQgaQnClCBpCcKUIGkJwpQgaQnClCBpCcKUIGkJwpQgaQnClCBpCcKUIGkJwpQgaQnClCBpCcKcKf7daxjQJREARRVQ5YuKsN5WIiDETGF8PHalT1/PampFlAzIpwATErwgXErAgXELMiXEDMinABMSvCBcSsCBcQsyJcQMyKcAExK8IFxKwIFxCzIlxAzIpwATErwgXErAgXELMiXEDMinABMSvCBcSsCBcQsyJcQMyKcAExK8IFxKwIFxCzIlxAzIpwATErwgXErAgXELMiXEDMinABMSvCBcSsCBcQsyJcwKn7xbE3x66LY3cb7qsIfw6H7ueb882DU5/zzfU839zyTREuOL/0i+PN5zzC++9483qeby75pggXcOrx4Ng3kzZfbnpHfw4xK8IFxKwIFxCzIlxAzIpwATErwgXErAgXELMiXEDMinABMSvCBcSsCBcQsyJcQMyKcAExK8IFxKwIFxCzIlxAzIpwATErwgXErAgXELMiXEDMinABMSvCBcSsCBcQsyJcQMyKMInWPzVdMyLSAKSKAAAAAElFTkSuQmCC"; /***/ }, /***/ "./src/lib/libraries/decks/steps/record-a-sound-press-record-button.en.png" /*!*********************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/record-a-sound-press-record-button.en.png ***! \*********************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/record-a-sound-press-record-button.en.864f3052ab3f49c35b68.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/record-a-sound-sounds-tab.en.png" /*!************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/record-a-sound-sounds-tab.en.png ***! \************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/record-a-sound-sounds-tab.en.96205cad1e7fd0c7e9d5.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/speech-add-extension.en.gif" /*!*******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/speech-add-extension.en.gif ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/speech-add-extension.en.1634588e729f12cc8573.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/speech-add-sprite.LTR.gif" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/speech-add-sprite.LTR.gif ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/speech-add-sprite.LTR.66c4abf4099e14375a63.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/speech-change-color.en.png" /*!******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/speech-change-color.en.png ***! \******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/speech-change-color.en.c80ea036ee5cfbc5613c.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/speech-grow-shrink.en.png" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/speech-grow-shrink.en.png ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/speech-grow-shrink.en.9c6670a724fcb93f0458.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/speech-move-around.en.png" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/speech-move-around.en.png ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/speech-move-around.en.49e176447e37140da6f5.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/speech-say-something.en.png" /*!*******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/speech-say-something.en.png ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/speech-say-something.en.cda1015f26ecf7986b35.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/speech-set-voice.en.png" /*!***************************************************************!*\ !*** ./src/lib/libraries/decks/steps/speech-set-voice.en.png ***! \***************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/speech-set-voice.en.9a851b78b248793cbb8b.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/speech-song.en.png" /*!**********************************************************!*\ !*** ./src/lib/libraries/decks/steps/speech-song.en.png ***! \**********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/speech-song.en.52c6fce72f8f80170c10.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/speech-spin.en.png" /*!**********************************************************!*\ !*** ./src/lib/libraries/decks/steps/speech-spin.en.png ***! \**********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/speech-spin.en.aa27762928c1dc3a126c.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/spin-point-in-direction.en.png" /*!**********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/spin-point-in-direction.en.png ***! \**********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/spin-point-in-direction.en.1b1f10641683aca6c9af.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/spin-turn.en.png" /*!********************************************************!*\ !*** ./src/lib/libraries/decks/steps/spin-turn.en.png ***! \********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/spin-turn.en.c9e83835806c0aae5b2b.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/story-conversation.en.png" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/story-conversation.en.png ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/story-conversation.en.eaef6f94445e6998a03d.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/story-flip.en.gif" /*!*********************************************************!*\ !*** ./src/lib/libraries/decks/steps/story-flip.en.gif ***! \*********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/story-flip.en.d6f1f594a486809ffd7c.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/story-hide-character.en.png" /*!*******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/story-hide-character.en.png ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/story-hide-character.en.61eb92d6f6d535ed6803.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/story-pick-backdrop.LTR.gif" /*!*******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/story-pick-backdrop.LTR.gif ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/story-pick-backdrop.LTR.b71afdeb3c313605616e.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/story-pick-backdrop2.LTR.gif" /*!********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/story-pick-backdrop2.LTR.gif ***! \********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/story-pick-backdrop2.LTR.7ab53f9bcf39c5cd51b6.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/story-pick-sprite.LTR.gif" /*!*****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/story-pick-sprite.LTR.gif ***! \*****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/story-pick-sprite.LTR.ba7b3edc2e914270eaa7.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/story-pick-sprite2.LTR.gif" /*!******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/story-pick-sprite2.LTR.gif ***! \******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/story-pick-sprite2.LTR.aa71937b3517b09fadb7.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/story-say-something.en.png" /*!******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/story-say-something.en.png ***! \******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/story-say-something.en.3e0accd769c45aecce7f.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/story-show-character.en.png" /*!*******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/story-show-character.en.png ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/story-show-character.en.8d3a40f6a92a202defbb.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/story-switch-backdrop.en.png" /*!********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/story-switch-backdrop.en.png ***! \********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/story-switch-backdrop.en.924ec7c6e8dc295a26a6.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/switch-costumes.en.png" /*!**************************************************************!*\ !*** ./src/lib/libraries/decks/steps/switch-costumes.en.png ***! \**************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/switch-costumes.en.f1f70649811172a62b7c.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/talking-10-choose-third-backdrop.LTR.png" /*!********************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/talking-10-choose-third-backdrop.LTR.png ***! \********************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/talking-10-choose-third-backdrop.LTR.732af5f39332f8ad5017.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/talking-11-choose-sound.en.gif" /*!**********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/talking-11-choose-sound.en.gif ***! \**********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/talking-11-choose-sound.en.f25b05fd7194af8fed79.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/talking-12-dance-moves.en.png" /*!*********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/talking-12-dance-moves.en.png ***! \*********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/talking-12-dance-moves.en.1b3bb3d38f8046cd8009.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/talking-13-ask-and-answer.en.png" /*!************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/talking-13-ask-and-answer.en.png ***! \************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/talking-13-ask-and-answer.en.117680f5f35f92e789ca.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/talking-2-choose-sprite.LTR.png" /*!***********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/talking-2-choose-sprite.LTR.png ***! \***********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/talking-2-choose-sprite.LTR.4df9667fc8897a9f2db9.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/talking-3-say-something.en.png" /*!**********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/talking-3-say-something.en.png ***! \**********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/talking-3-say-something.en.8e5a33f8b13b50ff97fd.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/talking-4-choose-backdrop.LTR.png" /*!*************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/talking-4-choose-backdrop.LTR.png ***! \*************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/talking-4-choose-backdrop.LTR.c385289b09544e8a7b41.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/talking-5-switch-backdrop.en.png" /*!************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/talking-5-switch-backdrop.en.png ***! \************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/talking-5-switch-backdrop.en.c7363f8f519058137a82.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/talking-6-choose-another-sprite.LTR.png" /*!*******************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/talking-6-choose-another-sprite.LTR.png ***! \*******************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/talking-6-choose-another-sprite.LTR.4dceca5b04bb0a456575.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/talking-7-move-around.en.png" /*!********************************************************************!*\ !*** ./src/lib/libraries/decks/steps/talking-7-move-around.en.png ***! \********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/talking-7-move-around.en.bdf093898c6856057f59.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/talking-8-choose-another-backdrop.LTR.png" /*!*********************************************************************************!*\ !*** ./src/lib/libraries/decks/steps/talking-8-choose-another-backdrop.LTR.png ***! \*********************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/talking-8-choose-another-backdrop.LTR.165acba7399c4792dd61.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/talking-9-animate.en.png" /*!****************************************************************!*\ !*** ./src/lib/libraries/decks/steps/talking-9-animate.en.png ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/talking-9-animate.en.9ab9feb3f9d4449ac2de.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/video-add-extension.en.gif" /*!******************************************************************!*\ !*** ./src/lib/libraries/decks/steps/video-add-extension.en.gif ***! \******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/video-add-extension.en.3cbbce5839962de901c1.gif"; /***/ }, /***/ "./src/lib/libraries/decks/steps/video-animate.en.png" /*!************************************************************!*\ !*** ./src/lib/libraries/decks/steps/video-animate.en.png ***! \************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/video-animate.en.ae21fb5998a430548e7f.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/video-pet.en.png" /*!********************************************************!*\ !*** ./src/lib/libraries/decks/steps/video-pet.en.png ***! \********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/video-pet.en.12a52e7ae4a1310fa605.png"; /***/ }, /***/ "./src/lib/libraries/decks/steps/video-pop.en.png" /*!********************************************************!*\ !*** ./src/lib/libraries/decks/steps/video-pop.en.png ***! \********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/video-pop.en.d1b897c44a090b02ae09.png"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/add-backdrop.jpg" /*!*************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/add-backdrop.jpg ***! \*************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/add-backdrop.3d71dd48613895c4ed9d.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/add-effects.jpg" /*!************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/add-effects.jpg ***! \************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/add-effects.316864c7b28097124b92.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/add-sprite.jpg" /*!***********************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/add-sprite.jpg ***! \***********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/add-sprite.602d48da2d064c459699.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/animate-a-character.jpg" /*!********************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/animate-a-character.jpg ***! \********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/animate-a-character.9d72f82fa6dbcfca230a.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/animate-a-name.jpg" /*!***************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/animate-a-name.jpg ***! \***************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/animate-a-name.d17af710c766436e3cce.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/animate-sprite.jpg" /*!***************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/animate-sprite.jpg ***! \***************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/animate-sprite.ae69452028161eddf7a6.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/cartoon-network.jpg" /*!****************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/cartoon-network.jpg ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/cartoon-network.963ae0ec26486c12da2f.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/change-size.jpg" /*!************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/change-size.jpg ***! \************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/change-size.25db5e5bcc09e8b973e5.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/chase-game.jpg" /*!***********************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/chase-game.jpg ***! \***********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/chase-game.968d91edff114957b894.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/code-a-cartoon.jpg" /*!***************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/code-a-cartoon.jpg ***! \***************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/code-a-cartoon.a6592ba549a17e9afeaa.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/getting-started-asl.png" /*!********************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/getting-started-asl.png ***! \********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/getting-started-asl.76911fb8f3dea25e9ed9.png"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/getting-started.jpg" /*!****************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/getting-started.jpg ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/getting-started.2d87300fabb15fd7c2ef.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/glide-around.jpg" /*!*************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/glide-around.jpg ***! \*************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/glide-around.a3e2db68a0243f03e751.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/hide-and-show.jpg" /*!**************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/hide-and-show.jpg ***! \**************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/hide-and-show.ecd34a51965de9cc31cf.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/imagine.jpg" /*!********************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/imagine.jpg ***! \********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/imagine.c50860fc8c66731a66ce.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/make-it-fly.jpg" /*!************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/make-it-fly.jpg ***! \************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/make-it-fly.964ebf18d6afc9069f92.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/make-music.jpg" /*!***********************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/make-music.jpg ***! \***********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/make-music.133c58ac17103d7221de.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/move-arrow-keys.jpg" /*!****************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/move-arrow-keys.jpg ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/move-arrow-keys.d2d2931bdedce06edff2.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/pong.jpg" /*!*****************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/pong.jpg ***! \*****************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pong.48845e5afc905e2ebbd0.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/pop-game.jpg" /*!*********************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/pop-game.jpg ***! \*********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pop-game.6a559591c59185e10a44.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/record-a-sound.jpg" /*!***************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/record-a-sound.jpg ***! \***************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/record-a-sound.723302d314c4ed6c4459.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/spin.jpg" /*!*****************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/spin.jpg ***! \*****************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/spin.b2e37e698b1672b97067.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/talking.png" /*!********************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/talking.png ***! \********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/talking.93629e2fcf65ceb36972.png"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/tell-a-story.jpg" /*!*************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/tell-a-story.jpg ***! \*************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/tell-a-story.6d971205e4e09bbc704e.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/text-to-speech.jpg" /*!***************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/text-to-speech.jpg ***! \***************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/text-to-speech.6c1e56fd6b1c5ba7fb7d.jpg"; /***/ }, /***/ "./src/lib/libraries/decks/thumbnails/video-sensing.jpg" /*!**************************************************************!*\ !*** ./src/lib/libraries/decks/thumbnails/video-sensing.jpg ***! \**************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/video-sensing.47a31ffe10589efbb521.jpg"; /***/ }, /***/ "./src/lib/libraries/extensions/boost/boost-button-illustration.svg" /*!**************************************************************************!*\ !*** ./src/lib/libraries/extensions/boost/boost-button-illustration.svg ***! \**************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/boost-button-illustration.7bd83c9ad44bff4a20f0.svg"; /***/ }, /***/ "./src/lib/libraries/extensions/boost/boost-illustration.svg" /*!*******************************************************************!*\ !*** ./src/lib/libraries/extensions/boost/boost-illustration.svg ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/boost-illustration.c3a88fa1746d8e5169db.svg"; /***/ }, /***/ "./src/lib/libraries/extensions/boost/boost-small.svg" /*!************************************************************!*\ !*** ./src/lib/libraries/extensions/boost/boost-small.svg ***! \************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiNGRkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEgMTJoMzh2MTZIMXoiLz48cGF0aCBzdHJva2U9IiNFNkU3RTgiIGZpbGw9IiNFNkU3RTgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTE2IDEydjJoMXYtMWgydjFoMXYtMnoiLz48cGF0aCBkPSJNMTQuNSAxMkgyMiIgc3Ryb2tlPSIjN0M4N0E1IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIi8+PHBhdGggc3Ryb2tlPSIjN0M4N0E1IiBmaWxsPSIjRkZGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGQ9Ik0xIDE2aDE5djZoNHY0aC00djJIMXoiLz48cGF0aCBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiNFNkU3RTgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEgMjZoMzh2Mkgxek0xIDE5aDlsMyAzaDR2NEgxeiIvPjxjaXJjbGUgZmlsbD0iI0ZGNjYxQSIgY3g9IjQuNSIgY3k9IjIyLjUiIHI9IjEuNSIvPjxjaXJjbGUgZmlsbD0iIzdDODdBNSIgY3g9IjIyIiBjeT0iMjQiIHI9IjEiLz48cGF0aCBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiNGRkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTI5IDIyaDEwdjRIMjl6Ii8+PGNpcmNsZSBmaWxsPSIjN0M4N0E1IiBjeD0iMzEiIGN5PSIyNCIgcj0iMSIvPjxjaXJjbGUgZmlsbD0iIzdDODdBNSIgY3g9IjM0IiBjeT0iMjQiIHI9IjEiLz48Y2lyY2xlIGZpbGw9IiM3Qzg3QTUiIGN4PSIzNyIgY3k9IjI0IiByPSIxIi8+PGcgc3Ryb2tlPSIjN0M4N0E1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDE2di0uNU01IDE2di0uNU03IDE2di0uNU05IDE2di0uNU0xMSAxNnYtLjVNMTMgMTZ2LS41Ii8+PC9nPjxnIHN0cm9rZT0iIzdDODdBNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjEgMjJ2LS41TTIzIDIydi0uNSIvPjwvZz48ZyBzdHJva2U9IiM3Qzg3QTUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgMTJ2LS41TTUgMTJ2LS41TTcgMTJ2LS41TTkgMTJ2LS41TTExIDEydi0uNU0xMyAxMnYtLjUiLz48L2c+PGcgc3Ryb2tlPSIjN0M4N0E1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yOCAxMnYtLjVNMjYgMTJ2LS41TTI0IDEydi0uNU0zMCAxMnYtLjVNMzIgMTJ2LS41TTM0IDEydi0uNU0zNiAxMnYtLjVNMzggMTJ2LS41Ii8+PC9nPjxnIHN0cm9rZT0iIzdDODdBNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMzEgMjJ2LS41TTMzIDIydi0uNU0zNSAyMnYtLjVNMzcgMjJ2LS41Ii8+PC9nPjwvZz48L3N2Zz4="; /***/ }, /***/ "./src/lib/libraries/extensions/boost/boost.png" /*!******************************************************!*\ !*** ./src/lib/libraries/extensions/boost/boost.png ***! \******************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/boost.4a2ce7f91157e3155ee7.png"; /***/ }, /***/ "./src/lib/libraries/extensions/ev3/ev3-hub-illustration.svg" /*!*******************************************************************!*\ !*** ./src/lib/libraries/extensions/ev3/ev3-hub-illustration.svg ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/ev3-hub-illustration.e6e16daaf665399c8826.svg"; /***/ }, /***/ "./src/lib/libraries/extensions/ev3/ev3-small.svg" /*!********************************************************!*\ !*** ./src/lib/libraries/extensions/ev3/ev3-small.svg ***! \********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5ldjMtYmxvY2staWNvbjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJldjMtYmxvY2staWNvbiIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImV2MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS41MDAwMDAsIDMuNTAwMDAwKSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiNGRkZGRkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgeD0iMC41IiB5PSIzLjU5IiB3aWR0aD0iMjgiIGhlaWdodD0iMjUuODEiIHJ4PSIxIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgc3Ryb2tlPSIjN0M4N0E1IiBmaWxsPSIjRTZFN0U4IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHg9IjIuNSIgeT0iMC41IiB3aWR0aD0iMjQiIGhlaWdodD0iMzIiIHJ4PSIxIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgc3Ryb2tlPSIjN0M4N0E1IiBmaWxsPSIjRkZGRkZGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHg9IjIuNSIgeT0iMTQuNSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjEzIj48L3JlY3Q+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNC41LDEwLjUgTDE0LjUsMTQuNSIgaWQ9IlNoYXBlIiBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiNFNkU3RTgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiM0MTQ3NTciIHg9IjQuNSIgeT0iMi41IiB3aWR0aD0iMjAiIGhlaWdodD0iMTAiIHJ4PSIxIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iIzdDODdBNSIgb3BhY2l0eT0iMC41IiB4PSIxMy41IiB5PSIyMC4xMyIgd2lkdGg9IjIiIGhlaWdodD0iMiIgcng9IjAuNSI+PC9yZWN0PgogICAgICAgICAgICA8cGF0aCBkPSJNOS4wNiwyMC4xMyBMMTAuNTYsMjAuMTMgQzEwLjgzNjE0MjQsMjAuMTMgMTEuMDYsMjAuMzUzODU3NiAxMS4wNiwyMC42MyBMMTEuMDYsMjEuNjMgQzExLjA2LDIxLjkwNjE0MjQgMTAuODM2MTQyNCwyMi4xMyAxMC41NiwyMi4xMyBMOS4wNiwyMi4xMyBDOC41MDc3MTUyNSwyMi4xMyA4LjA2LDIxLjY4MjI4NDcgOC4wNiwyMS4xMyBDOC4wNiwyMC41Nzc3MTUzIDguNTA3NzE1MjUsMjAuMTMgOS4wNiwyMC4xMyBaIiBpZD0iU2hhcGUiIGZpbGw9IiM3Qzg3QTUiIG9wYWNpdHk9IjAuNSI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMTguOTEsMjAuMTMgTDIwLjQyLDIwLjEzIEMyMC42OTYxNDI0LDIwLjEzIDIwLjkyLDIwLjM1Mzg1NzYgMjAuOTIsMjAuNjMgTDIwLjkyLDIxLjYzIEMyMC45MiwyMS45MDYxNDI0IDIwLjY5NjE0MjQsMjIuMTMgMjAuNDIsMjIuMTMgTDE4LjkyLDIyLjEzIEMxOC4zNjc3MTUzLDIyLjEzIDE3LjkyLDIxLjY4MjI4NDcgMTcuOTIsMjEuMTMgQzE3LjkxOTk3MjYsMjAuNTgxNTk3IDE4LjM2MTYyNDUsMjAuMTM1NDg0IDE4LjkxLDIwLjEzIFoiIGlkPSJTaGFwZSIgZmlsbD0iIzdDODdBNSIgb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOS40MjAwMDAsIDIxLjEzMDAwMCkgcm90YXRlKC0xODAuMDAwMDAwKSB0cmFuc2xhdGUoLTE5LjQyMDAwMCwgLTIxLjEzMDAwMCkgIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04LjIzLDE3LjUgTDUsMTcuNSBDNC43MjM4NTc2MywxNy41IDQuNSwxNy4yNzYxNDI0IDQuNSwxNyBMNC41LDE0LjUgTDEwLjUsMTQuNSBMOC42NSwxNy4yOCBDOC41NTQ2Njk2MSwxNy40MTc5MDgyIDguMzk3NjUwMDYsMTcuNTAwMTU2NiA4LjIzLDE3LjUgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjN0M4N0E1IiBvcGFjaXR5PSIwLjUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTE4LjE1LDE4Ljg1IEwxNy42NSwxOS4zNSBDMTcuNTUyMzQxNiwxOS40NDQwNzU2IDE3LjQ5ODAzMzksMTkuNTc0NDE0MiAxNy41LDE5LjcxIEwxNy41LDIwIEMxNy41LDIwLjI3NjE0MjQgMTcuMjc2MTQyNCwyMC41IDE3LDIwLjUgTDE2LjUsMjAuNSBDMTYuMjIzODU3NiwyMC41IDE2LDIwLjI3NjE0MjQgMTYsMjAgQzE2LDE5LjcyMzg1NzYgMTUuNzc2MTQyNCwxOS41IDE1LjUsMTkuNSBMMTMuNSwxOS41IEMxMy4yMjM4NTc2LDE5LjUgMTMsMTkuNzIzODU3NiAxMywyMCBDMTMsMjAuMjc2MTQyNCAxMi43NzYxNDI0LDIwLjUgMTIuNSwyMC41IEwxMiwyMC41IEMxMS43MjM4NTc2LDIwLjUgMTEuNSwyMC4yNzYxNDI0IDExLjUsMjAgTDExLjUsMTkuNzEgQzExLjUwMTk2NjEsMTkuNTc0NDE0MiAxMS40NDc2NTg0LDE5LjQ0NDA3NTYgMTEuMzUsMTkuMzUgTDEwLjg1LDE4Ljg1IEMxMC42NTgyMTY3LDE4LjY1MjE4NjMgMTAuNjU4MjE2NywxOC4zMzc4MTM3IDEwLjg1LDE4LjE0IEwxMi4zNiwxNi42NSBDMTIuNDUwMjgwMywxNi41NTI4NjE3IDEyLjU3NzM5NjEsMTYuNDk4MzgzNSAxMi43MSwxNi41IEwxNi4yOSwxNi41IEMxNi40MjI2MDM5LDE2LjQ5ODM4MzUgMTYuNTQ5NzE5NywxNi41NTI4NjE3IDE2LjY0LDE2LjY1IEwxOC4xNSwxOC4xNCBDMTguMzQxNzgzMywxOC4zMzc4MTM3IDE4LjM0MTc4MzMsMTguNjUyMTg2MyAxOC4xNSwxOC44NSBaIiBpZD0iU2hhcGUiIGZpbGw9IiM3Qzg3QTUiIG9wYWNpdHk9IjAuNSI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAuODUsMjMuNDUgTDExLjM1LDIyLjk1IEMxMS40NDc2NTg0LDIyLjg1NTkyNDQgMTEuNTAxOTY2MSwyMi43MjU1ODU4IDExLjUsMjIuNTkgTDExLjUsMjIuMyBDMTEuNSwyMi4wMjM4NTc2IDExLjcyMzg1NzYsMjEuOCAxMiwyMS44IEwxMi41LDIxLjggQzEyLjc3NjE0MjQsMjEuOCAxMywyMi4wMjM4NTc2IDEzLDIyLjMgQzEzLDIyLjU3NjE0MjQgMTMuMjIzODU3NiwyMi44IDEzLjUsMjIuOCBMMTUuNSwyMi44IEMxNS43NzYxNDI0LDIyLjggMTYsMjIuNTc2MTQyNCAxNiwyMi4zIEMxNiwyMi4wMjM4NTc2IDE2LjIyMzg1NzYsMjEuOCAxNi41LDIxLjggTDE3LDIxLjggQzE3LjI3NjE0MjQsMjEuOCAxNy41LDIyLjAyMzg1NzYgMTcuNSwyMi4zIEwxNy41LDIyLjU5IEMxNy40OTgwMzM5LDIyLjcyNTU4NTggMTcuNTUyMzQxNiwyMi44NTU5MjQ0IDE3LjY1LDIyLjk1IEwxOC4xNSwyMy40NSBDMTguMzQwNTcxNCwyMy42NDQ0MjE4IDE4LjM0MDU3MTQsMjMuOTU1NTc4MiAxOC4xNSwyNC4xNSBMMTYuNjQsMjUuNjUgQzE2LjU0OTcxOTcsMjUuNzQ3MTM4MyAxNi40MjI2MDM5LDI1LjgwMTYxNjUgMTYuMjksMjUuOCBMMTIuNzEsMjUuOCBDMTIuNTc3Mzk2MSwyNS44MDE2MTY1IDEyLjQ1MDI4MDMsMjUuNzQ3MTM4MyAxMi4zNiwyNS42NSBMMTAuODUsMjQuMTUgQzEwLjY1OTQyODYsMjMuOTU1NTc4MiAxMC42NTk0Mjg2LDIzLjY0NDQyMTggMTAuODUsMjMuNDUgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjN0M4N0E1IiBvcGFjaXR5PSIwLjUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTIxLjUsMjcuNSBMMjYuNSwyNy41IEwyNi41LDMxLjUgQzI2LjUsMzIuMDUyMjg0NyAyNi4wNTIyODQ3LDMyLjUgMjUuNSwzMi41IEwyMS41LDMyLjUgTDIxLjUsMjcuNSBaIiBpZD0iU2hhcGUiIHN0cm9rZT0iI0NDNEMyMyIgZmlsbD0iI0YxNUEyOSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; /***/ }, /***/ "./src/lib/libraries/extensions/ev3/ev3.png" /*!**************************************************!*\ !*** ./src/lib/libraries/extensions/ev3/ev3.png ***! \**************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/ev3.418b2c6093a9ab9daa41.png"; /***/ }, /***/ "./src/lib/libraries/extensions/gdxfor/gdxfor-illustration.svg" /*!*********************************************************************!*\ !*** ./src/lib/libraries/extensions/gdxfor/gdxfor-illustration.svg ***! \*********************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzYiIGhlaWdodD0iMTMzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGcgZmlsbD0iIzQxNDc1NyIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2U9IiM0MTQ3NTciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQyIDB2M0gzMFYwaDQuNXYxLjVoM1Ywek0zNC41IDNoM3Y2aC0zek0zNC41IDNIMzNsLjguOC0uOC43LjguOC0uOC43aDEuNXpNMzQuNSA2SDMzbC44LjgtLjguNy44LjgtLjguN2gxLjV6Ii8+PHBhdGggZD0iTTM3LjUgMi4zSDM5bC0uOC43LjguOC0uOC43LjguOGgtMS41ek0zNy41IDUuM0gzOWwtLjguNy44LjgtLjguNy44LjgtLjguN2gtLjd6TTM0LjUgM2gzdjZoLTN6TTM0LjUgM0gzM2wuOC44LS44LjcuOC44LS44LjdoMS41ek0zNC41IDZIMzNsLjguOC0uOC43LjguOC0uOC43aDEuNXoiLz48cGF0aCBkPSJNMzcuNSAyLjNIMzlsLS44LjcuOC44LS44LjcuOC44aC0xLjV6TTM3LjUgNS4zSDM5bC0uOC43LjguOC0uOC43LjguOC0uOC43aC0uN3oiLz48L2c+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zNiAxMjlhNy41IDcuNSAwIDAgMS03LjUtNy41YzAtLjguNy0xLjUgMS41LTEuNXMxLjUuNyAxLjUgMS41YTQuNSA0LjUgMCAwIDAgOSAwdi0uNWMwLTEuMi0uNS0yLjQtMS4zLTMuMmwtMi41LTIuNWE3LjQgNy40IDAgMCAxLTIuMi01LjN2LTMuNWMwLS44LjctMS41IDEuNS0xLjVzMS41LjcgMS41IDEuNXYzLjVjMCAxLjIuNSAyLjQgMS4zIDMuMmwyLjUgMi41YTcuNCA3LjQgMCAwIDEgMi4yIDUuM3YuNWMwIDQuMS0zLjQgNy41LTcuNSA3LjV6TTMxLjUgOTNoOXY4LjNoLTl6IiBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiNFNkU3RTgiLz48cGF0aCBzdHJva2U9IiMyMzFGMjAiIGZpbGw9IiMyMzFGMjAiIG9wYWNpdHk9Ii4xIiBkPSJNMzEuNSA5M2gyLjN2OC4zaC0yLjN6TTM4LjMgOTNoMi4zdjguM2gtMi4zeiIvPjxwYXRoIGQ9Ik00MiAxMDUuOHYxLjRjMCAuNS0uMy44LS44LjhIMzAuOGEuOC44IDAgMCAxLS43LS44di0xLjRjMC0uNS4zLS44LjgtLjhoMWMuNyAwIDEuMi0uNSAxLjItMS4xIDAtLjYtLjUtMS4xLTEuMS0xLjFoLS40di0xLjVoOXYxLjVoLS40Yy0uNiAwLTEuMS41LTEuMSAxIDAgLjcuNSAxLjIgMS4xIDEuMmgxLjFjLjUgMCAuOC4zLjguOHoiIHN0cm9rZT0iIzdDODdBNSIgZmlsbD0iIzg1OTJBRiIvPjxwYXRoIGQ9Ik0zMS45IDEwNWMuNiAwIDEuMS0uNSAxLjEtMS4xIDAtLjYtLjUtMS4xLTEuMS0xLjFoLS40IDktLjRjLS42IDAtMS4xLjUtMS4xIDEgMCAuNy41IDEuMiAxLjEgMS4ySDMyeiIgc3Ryb2tlPSIjN0M4N0E1IiBmaWxsPSIjN0M4N0E1Ii8+PC9nPjxwYXRoIGQ9Ik03MC41IDloLTY5Qy43IDkgMCA5LjcgMCAxMC41djg0YzAgLjguNyAxLjUgMS41IDEuNWg2OWMuOCAwIDEuNS0uNyAxLjUtMS41di04NGMwLS44LS43LTEuNS0xLjUtMS41ek0zOS45IDM5LjJhNC4yIDQuMiAwIDAgMS03LjggMGwtMi4zLTYuN2E2LjUgNi41IDAgMSAxIDEyLjQgMGwtMi4zIDYuN3oiIHN0cm9rZT0iIzdDODdBNSIgZmlsbD0iIzg1OTJBRiIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNiAxNXY3NWg2MFYxNUg2em0zNCAyNC4yYTQuMiA0LjIgMCAwIDEtOCAwbC0yLjItNi43YTYuNSA2LjUgMCAxIDEgMTIuNCAwbC0yLjMgNi43eiIgc3Ryb2tlPSIjN0M4N0E1IiBmaWxsPSIjODU5MkFGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik05IDE4djY5aDU0VjE4SDl6bTI3IDZjNC40IDAgNy42IDQuMyA2LjIgOC41bC0yLjMgNi43YTQuMiA0LjIgMCAwIDEtNy44IDBsLTIuMy02LjdBNi41IDYuNSAwIDAgMSAzNiAyNHoiIHN0cm9rZT0iIzdDODdBNSIgZmlsbD0iIzVDQjFENiIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiM4NTkyQUYiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNNjMgODdIOVY2OWw1NC0xMnoiLz48cGF0aCBkPSJNNiAxNUwuNyA5LjdNNjYgMTVsNS4zLTUuM00uOCA5NS4zTDYgOTBNNzEuMyA5NS4zTDY2IDkwTTE1IDkxLjVWOTNNNTcgOTEuNVY5M00xNSAxMnYxLjVNNTcgMTJ2MS41TTY5IDI3aC0xLjVNNjkgODFoLTEuNU00LjUgMjdIM000LjUgODFIMyIgc3Ryb2tlPSIjN0M4N0E1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48Y2lyY2xlIGZpbGw9IiNGRkJGMDAiIGZpbGwtcnVsZT0ibm9uemVybyIgY3g9IjM2IiBjeT0iNTIuNSIgcj0iNC41Ii8+PGNpcmNsZSBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiM4NTkyQUYiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjeD0iMjUuNSIgY3k9IjUyLjUiIHI9IjEuNSIvPjxjaXJjbGUgc3Ryb2tlPSIjN0M4N0E1IiBmaWxsPSIjODU5MkFGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY3g9IjQ2LjUiIGN5PSI1Mi41IiByPSIxLjUiLz48cGF0aCBkPSJNNDYuNSA3NWgtMjFjLS44IDAtMS41LS43LTEuNS0xLjVzLjctMS41IDEuNS0xLjVoMjFjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNXpNNTIuNSA4MWgtMzNjLS44IDAtMS41LS43LTEuNS0xLjVzLjctMS41IDEuNS0xLjVoMzNjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNXoiIGZpbGw9IiNGRkJGMDAiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik0xLjMgOTQuN0w2IDkwaDYwVjE1bDQuNy00LjdhLjguOCAwIDAgMSAxLjMuNXY4My43YzAgLjgtLjcgMS41LTEuNSAxLjVIMS44Yy0uNyAwLTEtLjgtLjUtMS4zeiIgc3Ryb2tlPSIjMjMxRjIwIiBmaWxsPSIjMjMxRjIwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9Ii4xIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L2c+PC9zdmc+"; /***/ }, /***/ "./src/lib/libraries/extensions/gdxfor/gdxfor-small.svg" /*!**************************************************************!*\ !*** ./src/lib/libraries/extensions/gdxfor/gdxfor-small.svg ***! \**************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCAuNSkiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTEyIDM5YTMgMyAwIDAgMS0zLTNjMC0uNi40LTEgMS0xIC41IDAgMSAuNCAxIDFhMSAxIDAgMSAwIDIgMHYtLjJhMSAxIDAgMCAwLS4zLS43bC0uOC0uOGEzIDMgMCAwIDEtMS0yLjFWMzBjMC0uNi41LTEgMS0xIC42IDAgMSAuNCAxIDF2Mi4ybC40LjcuOC44Yy42LjYuOSAxLjMuOSAyLjF2LjJhMyAzIDAgMCAxLTMgM3oiIHN0cm9rZS1vcGFjaXR5PSIuMSIgc3Ryb2tlPSIjMDAwIiBmaWxsPSIjRTZFN0U4Ii8+PHBhdGggZD0iTTIzLjcuM0ExIDEgMCAwIDAgMjMgMEgxYTEgMSAwIDAgMC0uNy4zQTEgMSAwIDAgMCAwIDF2MjZjMCAuMy4xLjUuMy43LjIuMi40LjMuNy4zaDIyYy4zIDAgLjUtLjEuNy0uMy4yLS4yLjMtLjQuMy0uN1YxYTEgMSAwIDAgMC0uMy0uN3pNMTIgNGMyIDAgMy4zIDIgMi42IDMuOEwxMy4zIDExYTEuNCAxLjQgMCAwIDEtMi43IDBMOS41IDcuN2wtLjItMUM5LjIgNS40IDEwLjQgNCAxMiA0eiIgc3Ryb2tlPSIjN0M4N0E1IiBmaWxsPSIjODU5MkFGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yIDJ2MjRoMjBWMkgyem0xMCAyYzIgMCAzLjMgMiAyLjYgMy44TDEzLjMgMTFhMS40IDEuNCAwIDAgMS0yLjcgMEw5LjUgNy43bC0uMi0xQzkuMiA1LjQgMTAuNCA0IDEyIDR6IiBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiM1Q0IxRDYiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggc3Ryb2tlPSIjN0M4N0E1IiBmaWxsPSIjODU5MkFGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGQ9Ik0yMiAyNkgydi02bDIwLTR6Ii8+PHBhdGggZD0iTS4zIDI3LjdMMiAyNk0uMy4zTDIgMk0yMiAyTDIzLjcuM00yMy43IDI3LjdMMjIgMjYiIHN0cm9rZT0iIzdDODdBNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PGNpcmNsZSBmaWxsPSIjRkZCRjAwIiBjeD0iMTIiIGN5PSIxNC44IiByPSIxLjIiLz48cGF0aCBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiNFNkU3RTgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDI4aDR2NGgtNHoiLz48cGF0aCBkPSJNMTUuNSAyMmgtN2EuNS41IDAgMCAxLS41LS41YzAtLjMuMi0uNS41LS41aDdjLjMgMCAuNS4yLjUuNXMtLjIuNS0uNS41ek0xNy41IDI0aC0xMWEuNS41IDAgMCAxLS41LS41YzAtLjMuMi0uNS41LS41aDExYy4zIDAgLjUuMi41LjVzLS4yLjUtLjUuNXoiIGZpbGw9IiNGRkJGMDAiLz48L2c+PC9zdmc+"; /***/ }, /***/ "./src/lib/libraries/extensions/gdxfor/gdxfor.png" /*!********************************************************!*\ !*** ./src/lib/libraries/extensions/gdxfor/gdxfor.png ***! \********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/gdxfor.03ca595a957a7e134daf.png"; /***/ }, /***/ "./src/lib/libraries/extensions/makeymakey/makeymakey-small.svg" /*!**********************************************************************!*\ !*** ./src/lib/libraries/extensions/makeymakey/makeymakey-small.svg ***! \**********************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHN0eWxlPi5zdDJ7ZmlsbDpyZWR9LnN0M3tmaWxsOiNlMGUwZTB9LnN0NHtmaWxsOm5vbmU7c3Ryb2tlOiM2NjY7c3Ryb2tlLXdpZHRoOi41O3N0cm9rZS1taXRlcmxpbWl0OjEwfTwvc3R5bGU+PHBhdGggZD0iTTM1IDI4SDVhMSAxIDAgMCAxLTEtMVYxMmMwLS42LjQtMSAxLTFoMzBjLjUgMCAxIC40IDEgMXYxNWMwIC41LS41IDEtMSAxeiIgZmlsbD0iI2ZmZiIgaWQ9IkxheWVyXzYiLz48ZyBpZD0iTGF5ZXJfNCI+PHBhdGggY2xhc3M9InN0MiIgZD0iTTQgMjVoMzJ2Mi43SDR6TTEzIDI0aC0yLjJhMSAxIDAgMCAxLTEtMXYtOS43YzAtLjYuNC0xIDEtMUgxM2MuNiAwIDEgLjQgMSAxVjIzYzAgLjYtLjUgMS0xIDF6Ii8+PHBhdGggY2xhc3M9InN0MiIgZD0iTTYuMSAxOS4zdi0yLjJjMC0uNS40LTEgMS0xaDkuN2MuNSAwIDEgLjUgMSAxdjIuMmMwIC41LS41IDEtMSAxSDcuMWExIDEgMCAwIDEtMS0xeiIvPjxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjIyLjgiIGN5PSIxOC4yIiByPSIzLjQiLz48Y2lyY2xlIGNsYXNzPSJzdDIiIGN4PSIzMC42IiBjeT0iMTguMiIgcj0iMy40Ii8+PHBhdGggY2xhc3M9InN0MiIgZD0iTTQuMiAyN2gzMS45di43SDQuMnoiLz48L2c+PGcgaWQ9IkxheWVyXzUiPjxjaXJjbGUgY2xhc3M9InN0MyIgY3g9IjIyLjgiIGN5PSIxOC4yIiByPSIyLjMiLz48Y2lyY2xlIGNsYXNzPSJzdDMiIGN4PSIzMC42IiBjeT0iMTguMiIgcj0iMi4zIi8+PHBhdGggY2xhc3M9InN0MyIgZD0iTTEyLjUgMjIuOWgtMS4yYy0uMyAwLS41LS4yLS41LS41VjE0YzAtLjMuMi0uNS41LS41aDEuMmMuMyAwIC41LjIuNS41djguNGMwIC4zLS4yLjUtLjUuNXoiLz48cGF0aCBjbGFzcz0ic3QzIiBkPSJNNy4yIDE4Ljd2LTEuMmMwLS4zLjItLjUuNS0uNWg4LjRjLjMgMCAuNS4yLjUuNXYxLjJjMCAuMy0uMi41LS41LjVINy43Yy0uMyAwLS41LS4yLS41LS41ek00IDI2aDMydjJINHoiLz48L2c+PGcgaWQ9IkxheWVyXzMiPjxwYXRoIGNsYXNzPSJzdDQiIGQ9Ik0zNS4yIDI3LjlINC44YTEgMSAwIDAgMS0xLTFWMTIuMWMwLS42LjUtMSAxLTFoMzAuNWMuNSAwIDEgLjQgMSAxVjI3YTEgMSAwIDAgMS0xLjEuOXoiLz48cGF0aCBjbGFzcz0ic3Q0IiBkPSJNMzUuMiAyNy45SDQuOGExIDEgMCAwIDEtMS0xVjEyLjFjMC0uNi41LTEgMS0xaDMwLjVjLjUgMCAxIC40IDEgMVYyN2ExIDEgMCAwIDEtMS4xLjl6Ii8+PC9nPjwvc3ZnPg=="; /***/ }, /***/ "./src/lib/libraries/extensions/makeymakey/makeymakey.png" /*!****************************************************************!*\ !*** ./src/lib/libraries/extensions/makeymakey/makeymakey.png ***! \****************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/makeymakey.d93b3fbb26a6c63230cf.png"; /***/ }, /***/ "./src/lib/libraries/extensions/microbit/microbit-illustration.svg" /*!*************************************************************************!*\ !*** ./src/lib/libraries/extensions/microbit/microbit-illustration.svg ***! \*************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/microbit-illustration.d1f14e4e1372d8f9c090.svg"; /***/ }, /***/ "./src/lib/libraries/extensions/microbit/microbit-small.svg" /*!******************************************************************!*\ !*** ./src/lib/libraries/extensions/microbit/microbit-small.svg ***! \******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/microbit-small.7d043362c1c4cabd22ae.svg"; /***/ }, /***/ "./src/lib/libraries/extensions/microbit/microbit.png" /*!************************************************************!*\ !*** ./src/lib/libraries/extensions/microbit/microbit.png ***! \************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/microbit.53f036b94c09775819ff.png"; /***/ }, /***/ "./src/lib/libraries/extensions/music/music-small.svg" /*!************************************************************!*\ !*** ./src/lib/libraries/extensions/music/music-small.svg ***! \************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHRpdGxlPm11c2ljLWJsb2NrLWljb248L3RpdGxlPjxkZWZzPjxwYXRoIGQ9Ik0zMi4xOCAyNS44NzRDMzIuNjM2IDI4LjE1NyAzMC41MTIgMzAgMjcuNDMzIDMwYy0zLjA3IDAtNS45MjMtMS44NDMtNi4zNzItNC4xMjYtLjQ1OC0yLjI4NSAxLjY2NS00LjEzNiA0Ljc0My00LjEzNi42NDcgMCAxLjI4My4wODQgMS44OS4yMzQuMzM4LjA4Ni42MzcuMTguOTM4LjMwMi44Ny0uMDItLjEwNC0yLjI5NC0xLjgzNS0xMi4yMy0yLjEzNC0xMi4zMDIgMy4wNi0xLjg3IDguNzY4LTIuNzUyIDUuNzA4LS44ODUuMDc2IDQuODItMy42NSAzLjg0NC0zLjcyNC0uOTg3LTQuNjUtNy4xNTMuMjYzIDE0LjczOHptLTE2Ljk5OCA1Ljk5QzE1LjYzIDM0LjE0OCAxMy41MDcgMzYgMTAuNDQgMzZjLTMuMDcgMC01LjkyMi0xLjg1Mi02LjM4LTQuMTM2LS40NDgtMi4yODQgMS42NzQtNC4xMzUgNC43NS00LjEzNSAxLjAwMyAwIDEuOTc1LjE5NiAyLjg1NS41NDMuODIyLS4wNTUtLjE1LTIuMzc3LTEuODYyLTEyLjIyOC0yLjEzMy0xMi4zMDMgMy4wNi0xLjg3IDguNzY0LTIuNzUzIDUuNzA2LS44OTQuMDc2IDQuODItMy42NDggMy44MzQtMy43MjQtLjk4Ny00LjY1LTcuMTUyLjI2MiAxNC43Mzh6IiBpZD0iYSIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjx1c2UgZmlsbD0iI0ZGRiIgeGxpbms6aHJlZj0iI2EiLz48cGF0aCBzdHJva2Utb3BhY2l0eT0iLjEiIHN0cm9rZT0iIzAwMCIgZD0iTTI4LjQ1NiAyMS42NzVjLS4wMS0uMzEyLS4wODctLjgyNS0uMjU2LTEuNzAyLS4wOTYtLjQ5NS0uNjEyLTMuMDIyLS43NTMtMy43My0uMzk1LTEuOTgtLjc2LTMuOTItMS4xNDItNi4xMTMtLjczMi00LjIyMy0uNjkzLTYuMDUuMzQ0LTYuNTI3LjUtLjIzIDEuMDYtLjA4IDEuODQuMzUuNDE0LjIyNyAyLjE4MiAxLjM2NSAyLjA3IDEuMjk2IDEuOTk0IDEuMjQyIDMuNDY0IDEuNzc0IDQuOTMgMS41NDggMS41MjYtLjIzNyAyLjUwNC0uMDYgMi44NzYuNjE4LjM0OC42MzUuMDE1IDEuNDE2LS43MyAyLjE4LTEuNDcyIDEuNTE2LTMuOTc1IDIuNTE0LTUuODQ4IDIuMDIzLS44MjItLjIyLTEuMjM4LS40NjUtMi4zOC0xLjI2N2wtLjA5NS0uMDY2Yy4wNDcuNTkzLjI2NCAxLjc0LjcxNyAzLjgwMy4yOTQgMS4zMzYgMi4wOCA5LjE4NyAyLjYzNyAxMS42NzRsLjAwMi4wMTJjLjUyOCAyLjYzNy0xLjg3MyA0LjcyNC01LjIzNiA0LjcyNC0zLjI5IDAtNi4zNjMtMS45ODgtNi44NjItNC41MjgtLjUzLTIuNjQgMS44NzMtNC43MzQgNS4yMzMtNC43MzQuNjcyIDAgMS4zNDcuMDg1IDIuMDE0LjI1LjIyNy4wNTcuNDM2LjExOC42MzYuMTg3em0tMTYuOTk2IDUuOTljLS4wMS0uMzE4LS4wOS0uODM4LS4yNjYtMS43MzctLjA5LS40Ni0uNTk1LTIuOTM3LS43NTMtMy43MjctLjM5LTEuOTYtLjc1LTMuODktMS4xMy02LjA3LS43MzItNC4yMjMtLjY5Mi02LjA1LjM0NC02LjUyNi41MDItLjIzIDEuMDYtLjA4MiAxLjg0LjM1LjQxNS4yMjcgMi4xODIgMS4zNjQgMi4wNyAxLjI5NSAxLjk5MyAxLjI0MiAzLjQ2MiAxLjc3NCA0LjkyNiAxLjU0OCAxLjUyNS0uMjQgMi41MDQtLjA2NCAyLjg3Ni42MTQuMzQ4LjYzNS4wMTUgMS40MTUtLjcyOCAyLjE4LTEuNDc0IDEuNTE3LTMuOTc3IDIuNTEzLTUuODQ3IDIuMDE3LS44Mi0uMjItMS4yMzYtLjQ2NC0yLjM3OC0xLjI2N2wtLjA5NS0uMDY1Yy4wNDcuNTkzLjI2NCAxLjc0LjcxNyAzLjgwMi4yOTQgMS4zMzcgMi4wNzggOS4xOSAyLjYzNiAxMS42NzVsLjAwMy4wMTNjLjUxNyAyLjYzOC0xLjg4NCA0LjczMi01LjIzNCA0LjczMi0zLjI4NyAwLTYuMzYtMS45OTMtNi44Ny00LjU0LS41Mi0yLjY0IDEuODg0LTQuNzMgNS4yNC00LjczLjkwNSAwIDEuODAzLjE1IDIuNjUuNDM2eiIvPjwvZz48L3N2Zz4="; /***/ }, /***/ "./src/lib/libraries/extensions/music/music.png" /*!******************************************************!*\ !*** ./src/lib/libraries/extensions/music/music.png ***! \******************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/music.e6f72b57b0d9ac6966cf.png"; /***/ }, /***/ "./src/lib/libraries/extensions/pen/pen-small.svg" /*!********************************************************!*\ !*** ./src/lib/libraries/extensions/pen/pen-small.svg ***! \********************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+cGVuLWljb248L3RpdGxlPjxnIHN0cm9rZT0iIzU3NUU3NSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik04Ljc1MyAzNC42MDJsLTQuMjUgMS43OCAxLjc4My00LjIzN2MxLjIxOC0yLjg5MiAyLjkwNy01LjQyMyA1LjAzLTcuNTM4TDMxLjA2NiA0LjkzYy44NDYtLjg0MiAyLjY1LS40MSA0LjAzMi45NjcgMS4zOCAxLjM3NSAxLjgxNiAzLjE3My45NyA0LjAxNUwxNi4zMTggMjkuNTljLTIuMTIzIDIuMTE2LTQuNjY0IDMuOC03LjU2NSA1LjAxMiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yOS40MSA2LjExcy00LjQ1LTIuMzc4LTguMjAyIDUuNzcyYy0xLjczNCAzLjc2Ni00LjM1IDEuNTQ2LTQuMzUgMS41NDYiLz48cGF0aCBkPSJNMzYuNDIgOC44MjVjMCAuNDYzLS4xNC44NzMtLjQzMiAxLjE2NGwtOS4zMzUgOS4zYy4yODItLjI5LjQxLS42NjguNDEtMS4xMiAwLS44NzQtLjUwNy0xLjk2My0xLjQwNi0yLjg2OC0xLjM2Mi0xLjM1OC0zLjE0Ny0xLjgtNC4wMDItLjk5TDMwLjk5IDUuMDFjLjg0NC0uODQgMi42NS0uNDEgNC4wMzUuOTYuODk4LjkwNCAxLjM5NiAxLjk4MiAxLjM5NiAyLjg1NU0xMC41MTUgMzMuNzc0Yy0uNTczLjMwMi0xLjE1Ny41Ny0xLjc2NC44M0w0LjUgMzYuMzgybDEuNzg2LTQuMjM1Yy4yNTgtLjYwNC41My0xLjE4Ni44MzMtMS43NTcuNjkuMTgzIDEuNDQ4LjYyNSAyLjEwOCAxLjI4Mi42Ni42NTggMS4xMDIgMS40MTIgMS4yODcgMi4xMDIiIGZpbGw9IiM0Qzk3RkYiLz48cGF0aCBkPSJNMzYuNDk4IDguNzQ4YzAgLjQ2NC0uMTQuODc0LS40MzMgMS4xNjVsLTE5Ljc0MiAxOS42OGMtMi4xMyAyLjExLTQuNjczIDMuNzkzLTcuNTcyIDUuMDFMNC41IDM2LjM4bC45NzQtMi4zMTYgMS45MjUtLjgwOGMyLjg5OC0xLjIxOCA1LjQ0LTIuOSA3LjU3LTUuMDFsMTkuNzQzLTE5LjY4Yy4yOTItLjI5Mi40MzItLjcwMi40MzItMS4xNjUgMC0uNjQ2LS4yNy0xLjQtLjc4LTIuMTIyLjI1LjE3Mi41LjM3Ny43MzcuNjE0Ljg5OC45MDUgMS4zOTYgMS45ODMgMS4zOTYgMi44NTYiIGZpbGw9IiM1NzVFNzUiIG9wYWNpdHk9Ii4xNSIvPjxwYXRoIGQ9Ik0xOC40NSAxMi44M2MwIC41LS40MDQuOTA1LS45MDQuOTA1cy0uOTA1LS40MDUtLjkwNS0uOTA0YzAtLjUuNDA3LS45MDMuOTA2LS45MDMuNSAwIC45MDQuNDA0LjkwNC45MDR6IiBmaWxsPSIjNTc1RTc1Ii8+PC9nPjwvc3ZnPg=="; /***/ }, /***/ "./src/lib/libraries/extensions/pen/pen.png" /*!**************************************************!*\ !*** ./src/lib/libraries/extensions/pen/pen.png ***! \**************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/pen.a7fa73e1f7b8e8e6acfb.png"; /***/ }, /***/ "./src/lib/libraries/extensions/text2speech/text2speech-small.svg" /*!************************************************************************!*\ !*** ./src/lib/libraries/extensions/text2speech/text2speech-small.svg ***! \************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5FeHRlbnNpb25zL1NvZnR3YXJlL1RleHQtdG8tU3BlZWNoLUJsb2NrPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9IkV4dGVuc2lvbnMvU29mdHdhcmUvVGV4dC10by1TcGVlY2gtQmxvY2siIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1vcGFjaXR5PSIwLjE1Ij4KICAgICAgICA8ZyBpZD0idGV4dDJzcGVlY2giIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuMDAwMDAwLCA0LjAwMDAwMCkiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlPSIjMDAwMDAwIj4KICAgICAgICAgICAgPHBhdGggZD0iTTExLjUsMTcuNjY5MzQzNSBDMTEuNSwxNi42NTM5MjY5IDEwLjAwNjAxNDUsMTYuMDg0NDI3NCA5LjExMjU2MDI0LDE2Ljg4ODMgTDYuNDEyNTYwMjQsMTkuMDUwNzE0IEM1LjM5MzQ2NzU1LDE5Ljg2Njg5OTQgNC4wNzQ5NzM1MSwyMC4zMzE3NTc1IDIuNywyMC4zMzE3NTc1IEwyLjMsMjAuMzMxNzU3NSBDMS4yNjUxOTIzMywyMC4zMzE3NTc1IDAuNSwyMS4wMjEyMDAzIDAuNSwyMS45MDQwNzEgTDAuNSwyNi4xMzg3OTg2IEMwLjUsMjcuMDIxNjY5MyAxLjI2NTE5MjMzLDI3LjcxMTExMiAyLjMsMjcuNzExMTEyIEwyLjcsMjcuNzExMTEyIEM0LjE1NzU1NjgyLDI3LjcxMTExMiA1LjQ1MzcyMzIyLDI4LjEzMzUyNzEgNi41MTk3MjA5OCwyOC45OTggTDkuMTE4NDAyOTMsMzEuMTU5MzIxNiBDMTAuMDI2MTg1NSwzMS45MDkwNzkzIDExLjUsMzEuMzQ3MjY4OSAxMS41LDMwLjI4MzQyNTUgTDExLjUsMTcuNjY5MzQzNSBaIiBpZD0ic3BlYWtlciIgZmlsbD0iIzRENEQ0RCI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMjEuNjQzNjA2NiwxNi41IEMxOS45NzcwMDk5LDE4LjQzNzAyMzQgMTcuMTA1MDI3NSwxOS45Mjg1NzE0IDE1LjY2NjY2NjcsMTkuOTI4NTcxNCBDMTUuNTEyNjM5NywxOS45Mjg1NzE0IDE1LjMxNjYyOTIsMTkuODk1OTAzIDE1LjEwOTcyNjUsMTkuNzkyNDUxNyBDMTQuNzM3NjAzOSwxOS42MDYzOTA0IDE0LjUsMTkuMjQ5OTg0NiAxNC41LDE4Ljc2MTkwNDggQzE0LjUsMTguNjU2ODA0MSAxNC41MTcwNTU1LDE4LjU1NDUwNzYgMTQuNTQ5NDQ2NywxOC40NTQwODQ0IEMxNC42MjU3NTQ1LDE4LjIxNzUwNjMgMTUuMTczNTcyMSwxNy40Njc1MzEgMTUuMjc3MjA3MSwxNy4yODA5ODgxIEMxNS41NDYzNTI2LDE2Ljc5NjUyNjEgMTUuNzM5MDI1LDE2LjIwNjM1NjEgMTUuODQzMjg5MSwxNS40MTYwMDM0IEMxMy4xODk3MDA1LDEzLjkyNjgzNjkgMTEuNSwxMS4xMTM5NjY4IDExLjUsOCBDMTEuNSwzLjMwNTU3OTYzIDE1LjMwNTU3OTYsLTAuNSAyMCwtMC41IEwyNCwtMC41IEMyOC42OTQ0MjA0LC0wLjUgMzIuNSwzLjMwNTU3OTYzIDMyLjUsOCBDMzIuNSwxMi42OTQ0MjA0IDI4LjY5NDQyMDQsMTYuNSAyNCwxNi41IEwyMS42NDM2MDY2LDE2LjUgWiIgaWQ9InNwZWVjaCIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/lib/libraries/extensions/text2speech/text2speech.png" /*!******************************************************************!*\ !*** ./src/lib/libraries/extensions/text2speech/text2speech.png ***! \******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/text2speech.0ab67d44ea028509ccae.png"; /***/ }, /***/ "./src/lib/libraries/extensions/translate/translate-small.png" /*!********************************************************************!*\ !*** ./src/lib/libraries/extensions/translate/translate-small.png ***! \********************************************************************/ (module) { "use strict"; module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAABYlAAAWJQFJUiTwAAAN+UlEQVR4Ae1ce2xT1xn/Tkhq4hqHJKRLDAlQGI+GUfFc14HaLmxuGd0ab93GgK6Vmm01y9BUsaU0RfyRFTakaRHq3So6jVapWEUxa9dRuU8x6IAGCoO6wa1KXiSQOE9jkjivO/2u7yWOuff6XvvekFb5SUdx7ON7v/vz9zrnO+cwnudpAokjZYK75DBBYJKYIDBJTBCYJCYITBJfOgIZYzbGWA5jLJ8xNm/z5s334a/4P1omYyzNsPt9WdIYxhiUId/j8azPz89fY7VaF6ampjqi+4TD4Qvd3d0f7t+/fx/HcTVE1M7z/EBS99VDoCikTWzWMdTgYSLqIaIQGs/zwzKyOaqrq1+aOnVqUUZGBqWnp5PFYqG0tDQaHh6mvr4+GhwcpFAoJLSenp4P9+7dW8Zx3Fme5zsTFSxVa0eovtPpnL1ly5YfzJgxw2WxWBYketNEAO25dOmSp7Ky8iBjrFbmoW12u70oOzubMjMzR32QkpJCVqtVeG2322lgYIACgcDK0tLS1+6+++4yxpiH5/krCQkGDYzXiCi3qqrKXVNTE7x48SLf0dHB9/X18WMF3Av3xL0hA2SBTNFyE9E8v9/PX758WbNUuCa+4/F4ymKvp7XF1UDGWK7H43m0sLBwZ05Ozg2/7lgApoiGe3d2dk5ZsWLFcx6Px84Y2xelOcHW1taXiOiRcDgsaJ2gljab0GDKscD1Jk2ahHd3ejwePOtenufb9TySKoEw26qqKhfIy83NFdT/ZiP6oauqqoKMsf2iObeuXr26vKKiwpOVlTXFbrfb8/LyFubk5KyBu1H68aVnGh4e3uZ2u08yxo7pCixKqgrX4XQ6l8JkoOrjDZAJskFGyBolt0UMcGhgJ19yP2rm3dDQwJ85c+akXlNWI9B++PDh38PvjFdANsgIWVUfksheUVHxfZDY3d0t+zT9/f2CP3S73feJWYZFC4FqJmxDtJ06daphRnuiluhrDqJbLcZcD7JBRiJ6Dj5Qrg9jDHfLhlm3tbUdslgsj8i5IvhI+MpNmzaVLlq0yCN+9wMiCvA8H1KSQY1AK3yHFP6ThfcTouePEaVNItrzI6LbpiR/TcgmplOyQmLE4XQ6C3fv3v0y+iEQIbggjZELKiB2+vTpxXl5ecUIRD6fr/nQoUNuxtjbPM/3yN1DLREWPsNNjUBNC9HgMFEKI2q5asglo2VTeo7sioqKP6anpwtBZObMmZSfny9LHokRG5+jn8PhoFtuucVRXFzMQdmVZPiyTyakIblGBqE3/QKZIBLDQafTmavUT/NIRA3XwkSlB4jaFD3FCPqHiJ5+Xb3PNBvRnoeN85UYyiUCmDHg9XoVn8wQDTxRR9RxjQjxLl4DgfH64Fq4pgEY6OjoONTe3q6bRPTH9zBmFsfgsjBEA4vmE/kuE30eiPzfN0B0WYyJGelEWQpx6FJXhNC0FKIcG9Fk0TUVZEWuaQBad+zYUbF79+6FjY2NC+DfpBGKGkBeY2MjBYPBC2VlZU9g1sZUAoFf3zvyGia9/u8RbRrmiSofvrG/1IeEaEn0/E+NkmQEmLVhjPmIaAMisRYSo8nbunXrBq/X6+N5PqzU35QgAt8177bI655+ovPNN/Z50xeJyIyIlswwQ4oI8PAgAWSAFJCjZM56ySMzo/DP7iJKTSEaGibi/jP6M2jfwbNEQzzRpBSin68yS4oItJCYCHlkJoEYcWSKvu9KkOjwxyOf7T9F1DsQ0b6CTGOS6niQIxEJNSVBHhnpA+Xwm28RPfOvSAL9t+NEy2cShcJEr5+P+EcQ+PT9ZkowGiBF8olIsMPhcBFmrnt7e4Voi4Chhzwym0BoYWFexAcODBGVvUbU3RshbxIjWrdobLQvGhKJXq+3xO12z1q3bt2aN9544x2O45A4Neshj8wmENjmJHr8ZaJQ/0iizcRk+fFvmn13eYgk1TLGWjiOwxQWKY1148H0oRwiMohiUYky8Oz3zL5zfIA0qSV6DdM18NWPiF4+FXnNogh84h9EW9cQ3TV7pC+ceVTVTNPooa5OGLLMYkgmE0fcqp8STCPwYhvRn94jauqKBBHJbOED4Q8xAtn1FtH8rxA9WUSUNthJiQy5Zs2aRX6/35usvBqqfrJQrAujmu/3+/3z5s3TJQgCxsEzRP9riuSAUsBYXhCJysCWVyP+EHkgiA0Hr9D9Xw3S/QuJJlvShIlSca4vASr0A5MG0Piuri68vnr69OmyjRs3aip1GqaByPNePRuZCMDwTSIuPY1oy32jTfWFDUQvniB67RzRta4rtDwvSN8tJBrnVT9ZGEIgpupf+C/RgGh90CpMEKwtJFq/XH5aCiOVb0zvpH+fipD3Baj6yUKNQIEOqLcWU4IPx9ANGue6k+iBQvX5PPi6lHD7dc0bD+RJgCxDQ0O0bNmyXU6n8wRjrFsxsKhUshznzp2r0VrSbAny/OcB7eU7VMdQBfuiV/3U8sAQohIcqxZgRHH7NO2/MlIVEitr4xVRVT+bkoiqBCKkIyp1dia8eEkRiHokVtbGK+JV/VQJhM17vd5ahPRAIICZCkMfU8r3xipVSQQaqn7qURjRB0u/ENIRleBYb0aaEQ+Btk4qfXLnqF7bn/oF3bFgjun3jjsWRh7kcrn2VVdXb25pablaW1uLXOl6xWo84LD36A1SHDl6akwk05QHgkTkQwjpsQsstSa/V65cGeUGMIbFMMwIyJFVfdpHj2zopVut6YbcQwmaZ2Ngzl6v9+zatWv/sHjx4u9UVlYKAzMUoOMB5HV1dV09cODAQ/NFOJ1OpxEPAKJ6evtueB/vnTrtM+IWqtA1nYXAwvM81GgAi3CUFi5KQKBobm4WyDt48OCm8vLy93me/xQNSmjEAxw5NqJ91vTJQpNQ/dE4I5AikwxWjuPWZGVlFWM9shLgI+vr6zHDcoHjuAdF8gwN5dd6eulUFEkrlhUKTQI+Q4AxE4lMqOasWrXqafg9uRREquiDvKamppe2bdv2kz179pwwmjyS8X3Lly4SWjSqT38s/2WDkMhkggUBJHbsCuIQndH6+/ubjxw58ju32/0eXKCeCUo9iDbfadMyr2sfzFjyi4ffOkZrnatNoi8xAoX1JjabrRhDnehZZBDn9/v3uFyuV+ItTEwWdQ3NVN9w+fpVViwdMV0QeeTYaeF1W1un0HdWgcNoEQQkYsJd27dvfxa+7dKlS9TQ0NBcV1d36OTJk5sLCwtXuVwujuf5WjPJIxnzvWf18uuvY834TZk80Sjo1kBxdPLp4sWLizBnKr4NewnqLQkmg1gCy575s+LVkOo8UWKOHAlV5cSAgGmadnG/WWCsyZPL/ZSAvmaNTHRroLho2xFdlGaMXRSDxZiQGJvf3bHgdtl+n1y4OOo70WZuFHQRCPKwaHvXrl1/sVqtK7EsYs6cOdsee+yxd8vLy3+Lir/ZJCKvi879Zhbk0fanfinb91dP7hSCCEXlhDnTjJ0M0WzCEnlYZ5eZmbly7ty5woLs2bNnYzxchPfxuaihpiE2r7tnlbJWRUdmMikn1ERgNHl2u33UIkUM5fA/3h8LEpHXRWPFskWKfWNNNva7RkDLZkNF8iTgf7yPFaDoh9VPZpnzvVEaZ7VOVjVJ5H4/fOjbRoswGnG2SIG8pSgu1dXV8UNDQ6pFGHyOfugv7mFT3C5FRHNRVBrLbbN6AdkgI2RNZK+cLvIkyJCYonB9XVW/mwHIBhkhayJVuWxEWyWzVYJkzjabbcGOHTvKUbBT6Kqr6nczANkgo9o2BzVWbEhVMGWllbzrF01JIXwPU16IMwrdTK36JQuxbHEVMiZEoNPpFKaaE62axSPd7KpfMoAskAmyQUa12STFKOz1egODg4PN9fX1Dqxb0TJ1LwG/HuYEg8Hgu5i9Ueo3Hqt+kB3k+Xy+p8QVWqrmoZbGtGOrJ3YrNjc3O6StonhAOTKx4h21D0xvYTYa6+0wOlHb5UMjBat9WMiDtShdXV1TvkjL21TPjcEpQJiB5jhOWM28ZMkSV0FBQTG2gsoBJU/MQp8/f/5tt9v9gZ5F20Yeq4LJXlhNPEjaRjELLEWz1eaYNR57AlWwYTs88iJsj5cDFgxhWz2218fbhq90ToN4zgF+obk4ykRvk7b2azn+JGabf754b9m0S3ceqPCAuTiYAQc0KAGCR53tIgklHQKh6RyCZFr0+QhNTU1x81f0OX78uMe0c2Ni0I7jknDiTzAYxNEiN3SA6VgsFmGV57lz50oDgcA7fr9f2ErQ0dFxlTH2ERE1mVUnwVwlY+z9lpaWB0tKSv4aDocXwOUo+VOkW6FQqJjjOI94gpG+FfsJmFk2TvqB6iudgCGZBzJ5aCsaRif4ztGjR19M9NfWKadl3bp1d+J+uG9bW5uiNra2tkojjpm675OgcLkSiXqGYjBvcWw5z2wC+RGf6uA4bqPP52v67LPPZImMGvPqliuhNdKxqUdvb+8UrJFRW6VAN2Epm+gmmhlj/ySiDzwez4/nz59f2tnZ6ZCOhEJqhvQFlUa1nFUJCS8ylxYcud3umpKSkl2hUGilJFRqaipNnjz5+hEjyLOwoa+7u1tKrk2t2MnIKmygYYzhBI5XqqqqHpgzZ84au93+dRwqgRQGlUaxzqMLSR/AKJ4Gme12uxeuX7/+0YyMjJWxORxGND09PTWNjY3vuFyu/UTUaFYQ0SizRcwOpIU0Q2JVUf8Pa6C/AZGZYuqSL+VkYh6H/3OQS46F7xvLNnGSeZKYOMU3SUwQmCQmCEwSEwQmiQkCkwER/R+aET3lwEIlXgAAAABJRU5ErkJggg=="; /***/ }, /***/ "./src/lib/libraries/extensions/translate/translate.png" /*!**************************************************************!*\ !*** ./src/lib/libraries/extensions/translate/translate.png ***! \**************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/translate.d6f44dd7136e86d27730.png"; /***/ }, /***/ "./src/lib/libraries/extensions/videoSensing/video-sensing-small.svg" /*!***************************************************************************!*\ !*** ./src/lib/libraries/extensions/videoSensing/video-sensing-small.svg ***! \***************************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5FeHRlbnNpb25zL1NvZnR3YXJlL1ZpZGVvLVNlbnNpbmctQmxvY2s8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iRXh0ZW5zaW9ucy9Tb2Z0d2FyZS9WaWRlby1TZW5zaW5nLUJsb2NrIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2Utb3BhY2l0eT0iMC4xNSI+CiAgICAgICAgPGcgaWQ9InZpZGVvLW1vdGlvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDEwLjAwMDAwMCkiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlPSIjMDAwMDAwIj4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBmaWxsPSIjRkZGRkZGIiBvcGFjaXR5PSIwLjI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGN4PSIzMiIgY3k9IjE2IiByPSI0LjUiPjwvY2lyY2xlPgogICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLUNvcHkiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjeD0iMzIiIGN5PSIxMiIgcj0iNC41Ij48L2NpcmNsZT4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBmaWxsPSIjRkZGRkZGIiBvcGFjaXR5PSIwLjc1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGN4PSIzMiIgY3k9IjgiIHI9IjQuNSI+PC9jaXJjbGU+CiAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwiIGZpbGw9IiNGRkZGRkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY3g9IjMyIiBjeT0iNCIgcj0iNC41Ij48L2NpcmNsZT4KICAgICAgICAgICAgPHBhdGggZD0iTTIyLjY3MTk0NzcsNC40MTk1NzY0OSBMMTYuNSw4LjQxOTkxMjk4IEwxNi41LDYuMSBDMTYuNSw0LjA4OTc2NDU0IDE0LjkzNzE4MDYsMi41IDEzLDIuNSBMNC4xLDIuNSBDMi4wNzYxNDIzNywyLjUgMC41LDQuMDc2MTQyMzcgMC41LDYuMSBMMC41LDE0IEMwLjUsMTUuOTI3Mzk4NyAyLjA4NDQ5ODM5LDE3LjUxMTg5NzEgNC4xLDE3LjYgTDEzLDE3LjYgQzE0LjkwMTY2MDIsMTcuNiAxNi41LDE1Ljk0NjU0NSAxNi41LDE0IEwxNi41LDExLjcxNjkwNDggTDIyLjc1NzI0NzksMTUuNDcxMjUzNSBMMjIuODUzNTUzNCwxNS41NDY0NDY2IEMyMi44NzM3ODg2LDE1LjU2NjY4MTggMjIuOTUxNTMxLDE1LjYgMjMsMTUuNiBDMjMuMjY2OTg2NSwxNS42IDIzLjUsMTUuMzgyNTIwNyAyMy41LDE1LjEgTDIzLjUsNC44IEMyMy41LDQuODM2NzY1MzggMjMuNDQzODA1OCw0LjcwNTY0NTYzIDIzLjM3MTI1MzUsNC41NTcyNDc4OCBDMjMuMjI1OTA1Niw0LjMxNTAwMTM5IDIyLjk0MTU5MzcsNC4yNTgxMzg5OSAyMi42NzE5NDc3LDQuNDE5NTc2NDkgWiIgaWQ9InZpZGVvXzM3XyIgZmlsbD0iIzRENEQ0RCI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }, /***/ "./src/lib/libraries/extensions/videoSensing/video-sensing.png" /*!*********************************************************************!*\ !*** ./src/lib/libraries/extensions/videoSensing/video-sensing.png ***! \*********************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/video-sensing.bd3bec8a8f45ebbf5e1d.png"; /***/ }, /***/ "./src/lib/libraries/extensions/wedo2/wedo-button-illustration.svg" /*!*************************************************************************!*\ !*** ./src/lib/libraries/extensions/wedo2/wedo-button-illustration.svg ***! \*************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/wedo-button-illustration.9c0ac6e5681567da6d6f.svg"; /***/ }, /***/ "./src/lib/libraries/extensions/wedo2/wedo-illustration.svg" /*!******************************************************************!*\ !*** ./src/lib/libraries/extensions/wedo2/wedo-illustration.svg ***! \******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/wedo-illustration.831a9fd5f488f356a503.svg"; /***/ }, /***/ "./src/lib/libraries/extensions/wedo2/wedo-small.svg" /*!***********************************************************!*\ !*** ./src/lib/libraries/extensions/wedo2/wedo-small.svg ***! \***********************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/wedo-small.86f568a0ecc0badac2c4.svg"; /***/ }, /***/ "./src/lib/libraries/extensions/wedo2/wedo.png" /*!*****************************************************!*\ !*** ./src/lib/libraries/extensions/wedo2/wedo.png ***! \*****************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/wedo.4f95145c890c2acc1f60.png"; /***/ }, /***/ "./src/lib/themes/default/icon.svg" /*!*****************************************!*\ !*** ./src/lib/themes/default/icon.svg ***! \*****************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjciIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAyNyAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC42MDIwODEiIHdpZHRoPSIyNiIgaGVpZ2h0PSIyNiIgcng9IjEzIiBmaWxsPSIjRTVGMEZGIi8+CjxjaXJjbGUgY3g9IjE5LjcxMjYiIGN5PSIxMy4wMDA0IiByPSIzLjQ0NjY1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCAxOS43MTI2IDEzLjAwMDQpIiBmaWxsPSIjRkZCRjAwIiBzdHJva2U9IiNDQzk5MDAiIHN0cm9rZS13aWR0aD0iMC44NjE2NjMiLz4KPGNpcmNsZSBjeD0iMTguODkzOSIgY3k9IjkuOTQ0NjIiIHI9IjMuNDQ2NjUiIHRyYW5zZm9ybT0icm90YXRlKC0xMjAgMTguODkzOSA5Ljk0NDYyKSIgZmlsbD0iI0NGNjNDRiIgc3Ryb2tlPSIjQkQ0MkJEIiBzdHJva2Utd2lkdGg9IjAuODYxNjYzIi8+CjxjaXJjbGUgY3g9IjE2LjY1NzEiIGN5PSI3LjcwODI5IiByPSIzLjQ0NjY1IiB0cmFuc2Zvcm09InJvdGF0ZSgtMTUwIDE2LjY1NzEgNy43MDgyOSkiIGZpbGw9IiM5OTY2RkYiIHN0cm9rZT0iIzc3NERDQiIgc3Ryb2tlLXdpZHRoPSIwLjg2MTY2MyIvPgo8Y2lyY2xlIGN4PSIxMy42MDIiIGN5PSI2Ljg4OTUyIiByPSIzLjQ0NjY1IiBmaWxsPSIjNEM5N0ZGIiBzdHJva2U9IiMzMzczQ0MiIHN0cm9rZS13aWR0aD0iMC44NjE2NjMiLz4KPGNpcmNsZSBjeD0iMTAuNTQ3IiBjeT0iNy43MDgzNCIgcj0iMy40NDY2NSIgdHJhbnNmb3JtPSJyb3RhdGUoLTMwIDEwLjU0NyA3LjcwODM0KSIgZmlsbD0iIzU3NUU3NSIgc3Ryb2tlPSIjNTc1RTc1IiBzdHJva2Utd2lkdGg9IjAuODYxNjYzIi8+CjxjaXJjbGUgY3g9IjguMzEwMjIiIGN5PSI5Ljk0NTE2IiByPSIzLjQ0NjY1IiB0cmFuc2Zvcm09InJvdGF0ZSgxMjAgOC4zMTAyMiA5Ljk0NTE2KSIgZmlsbD0iIzBGQkQ4QyIgc3Ryb2tlPSIjMEI4NDYyIiBzdHJva2Utd2lkdGg9IjAuODYxNjYzIi8+CjxjaXJjbGUgY3g9IjcuNDkxNTIiIGN5PSIxMy4wMDA0IiByPSIzLjQ0NjY1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA3LjQ5MTUyIDEzLjAwMDQpIiBmaWxsPSIjRkY2NjgwIiBzdHJva2U9IiNGRjMzNTUiIHN0cm9rZS13aWR0aD0iMC44NjE2NjMiLz4KPGNpcmNsZSBjeD0iOC4zMTAyMSIgY3k9IjE2LjA1NSIgcj0iMy40NDY2NSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA4LjMxMDIxIDE2LjA1NSkiIGZpbGw9IiNGRjY2MUEiIHN0cm9rZT0iI0U2NEQwMCIgc3Ryb2tlLXdpZHRoPSIwLjg2MTY2MyIvPgo8Y2lyY2xlIGN4PSIxMC41NDY2IiBjeT0iMTguMjkxOCIgcj0iMy40NDY2NSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCAxMC41NDY2IDE4LjI5MTgpIiBmaWxsPSIjRkY4QzFBIiBzdHJva2U9IiNEQjZFMDAiIHN0cm9rZS13aWR0aD0iMC44NjE2NjMiLz4KPGNpcmNsZSBjeD0iMTMuNjAyIiBjeT0iMTkuMTEwNyIgcj0iMy40NDY2NSIgZmlsbD0iIzU5QzA1OSIgc3Ryb2tlPSIjMzg5NDM4IiBzdHJva2Utd2lkdGg9IjAuODYxNjYzIi8+CjxwYXRoIGQ9Ik0yMC4xMDM4IDE4LjI5MTRDMjAuMTAzOCAyMC4xOTQ5IDE4LjU2MDcgMjEuNzM4IDE2LjY1NzIgMjEuNzM4QzE0Ljc1MzYgMjEuNzM4IDEzLjIxMDUgMjAuMTk0OSAxMy4yMTA1IDE4LjI5MTRDMTMuMjEwNSAxNi4zODc4IDE0Ljc1MzYgMTQuODQ0NyAxNi42NTcyIDE0Ljg0NDdMMjAuMTAzOCAxOC4yOTE0WiIgZmlsbD0iIzVDQjFENiIgc3Ryb2tlPSIjMkU4RUI4IiBzdHJva2Utd2lkdGg9IjAuODYxNjYzIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTYuMzQ0NSAxMy43MDk1QzE2LjY4MTUgMTUuMjU5NyAxOC4wNjE0IDE2LjQyMDcgMTkuNzEyNiAxNi40MjA3QzIwLjcyMjggMTYuNDIwNyAyMS42MzE1IDE1Ljk4NjEgMjIuMjYxOSAxNS4yOTM2QzIyLjMxMzQgMTUuNTMwNiAyMi4zNDA2IDE1Ljc3NjYgMjIuMzQwNiAxNi4wMjlDMjIuMzQwNiAxNy45MzI1IDIwLjc5NzQgMTkuNDc1NyAxOC44OTM5IDE5LjQ3NTdDMTYuOTkwNCAxOS40NzU3IDE1LjQ0NzMgMTcuOTMyNSAxNS40NDczIDE2LjAyOUMxNS40NDczIDE1LjEzNTcgMTUuNzg3MSAxNC4zMjE4IDE2LjM0NDUgMTMuNzA5NVoiIGZpbGw9IiNGRkFCMTkiLz4KPHBhdGggZD0iTTE2LjM0NDUgMTMuNzA5NUwxNi43NjU1IDEzLjYxOEMxNi43MzEzIDEzLjQ2MDQgMTYuNjEyIDEzLjMzNTIgMTYuNDU2MiAxMy4yOTM0QzE2LjMwMDUgMTMuMjUxNiAxNi4xMzQ1IDEzLjMwMDIgMTYuMDI2IDEzLjQxOTRMMTYuMzQ0NSAxMy43MDk1Wk0yMi4yNjE5IDE1LjI5MzZMMjIuNjgyOSAxNS4yMDIxQzIyLjY0ODcgMTUuMDQ0NSAyMi41Mjk0IDE0LjkxOTMgMjIuMzczNiAxNC44Nzc1QzIyLjIxNzkgMTQuODM1NyAyMi4wNTE5IDE0Ljg4NDMgMjEuOTQzNCAxNS4wMDM2TDIyLjI2MTkgMTUuMjkzNlpNMTkuNzEyNiAxNS45ODk5QzE4LjI2ODMgMTUuOTg5OSAxNy4wNjAzIDE0Ljk3NDMgMTYuNzY1NSAxMy42MThMMTUuOTIzNSAxMy44MDFDMTYuMzAyNiAxNS41NDUxIDE3Ljg1NDUgMTYuODUxNSAxOS43MTI2IDE2Ljg1MTVWMTUuOTg5OVpNMjEuOTQzNCAxNS4wMDM2QzIxLjM5MTEgMTUuNjEwMSAyMC41OTY1IDE1Ljk4OTkgMTkuNzEyNiAxNS45ODk5VjE2Ljg1MTVDMjAuODQ5MSAxNi44NTE1IDIxLjg3MTkgMTYuMzYyIDIyLjU4MDUgMTUuNTgzNkwyMS45NDM0IDE1LjAwMzZaTTIxLjg0MDkgMTUuMzg1MUMyMS44ODU5IDE1LjU5MjIgMjEuOTA5NyAxNS44MDc2IDIxLjkwOTcgMTYuMDI5SDIyLjc3MTRDMjIuNzcxNCAxNS43NDU3IDIyLjc0MDkgMTUuNDY4OSAyMi42ODI5IDE1LjIwMjFMMjEuODQwOSAxNS4zODUxWk0yMS45MDk3IDE2LjAyOUMyMS45MDk3IDE3LjY5NDYgMjAuNTU5NSAxOS4wNDQ4IDE4Ljg5MzkgMTkuMDQ0OFYxOS45MDY1QzIxLjAzNTQgMTkuOTA2NSAyMi43NzE0IDE4LjE3MDUgMjIuNzcxNCAxNi4wMjlIMjEuOTA5N1pNMTguODkzOSAxOS4wNDQ4QzE3LjIyODMgMTkuMDQ0OCAxNS44NzgxIDE3LjY5NDYgMTUuODc4MSAxNi4wMjlIMTUuMDE2NEMxNS4wMTY0IDE4LjE3MDUgMTYuNzUyNCAxOS45MDY1IDE4Ljg5MzkgMTkuOTA2NVYxOS4wNDQ4Wk0xNS44NzgxIDE2LjAyOUMxNS44NzgxIDE1LjI0NzEgMTYuMTc1MSAxNC41MzU2IDE2LjY2MzEgMTMuOTk5NUwxNi4wMjYgMTMuNDE5NEMxNS4zOTkxIDE0LjEwOCAxNS4wMTY0IDE1LjAyNDMgMTUuMDE2NCAxNi4wMjlIMTUuODc4MVoiIGZpbGw9IiNDRjhCMTciLz4KPHBhdGggZD0iTTE2LjM0NDUgMTMuNzA5NUMxNi42ODE1IDE1LjI1OTcgMTguMDYxNCAxNi40MjA3IDE5LjcxMjYgMTYuNDIwN0MyMC43MjI4IDE2LjQyMDcgMjEuNjMxNSAxNS45ODYxIDIyLjI2MTkgMTUuMjkzNiIgc3Ryb2tlPSIjQ0M5OTAwIiBzdHJva2Utd2lkdGg9IjAuODYxNjYzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/lib/themes/high-contrast/extensions/musicIcon.svg" /*!***************************************************************!*\ !*** ./src/lib/themes/high-contrast/extensions/musicIcon.svg ***! \***************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI2LjQzMzggMzBDMjkuNTEzIDMwIDMxLjYzNjYgMjguMTU2OSAzMS4xNzkgMjUuODc0QzI4LjI5OTQgMTMuMDQzNiAyNy40MjU2IDkuODUxMzQgMjcuOTQ1NCA5LjYwNTQ3QzI4LjMxMjUgOS40MzE4MyAyOS4zNzQ2IDEwLjcyNzYgMzAuOTE2MiAxMS4xMzU5QzM0LjY0MTYgMTIuMTEyNiA0MC4yNzQyIDYuNDA3NTEgMzQuNTY1NSA3LjI5MTg2QzMyLjMyMjQgNy42MzkgMzAuMTU4NyA2LjIzODM2IDI4LjQ4NzkgNS4xNTY3OUMyNS45MDcyIDMuNDg2MiAyNC41MDI0IDIuNTc2ODQgMjUuNzk3NCAxMC4wNDUxQzI2LjQzNDkgMTMuNzAzNSAyNi45Njk3IDE2LjMyMzEgMjcuMzQ3NSAxOC4xNzM5QzI3Ljk5NTcgMjEuMzQ5NCAyOC4xODE5IDIyLjI2MTYgMjcuNjMyNSAyMi4yNzQxQzI3LjMzMjEgMjIuMTUyIDI3LjAzMjcgMjIuMDU3OCAyNi42OTU3IDIxLjk3MjRDMjYuMDg4IDIxLjgyMjUgMjUuNDUxNiAyMS43MzgyIDI0LjgwNTMgMjEuNzM4MkMyMS43MjcxIDIxLjczODIgMTkuNjAzNiAyMy41ODkyIDIwLjA2MjEgMjUuODc0QzIwLjUxMDcgMjguMTU2OSAyMy4zNjQ2IDMwIDI2LjQzMzggMzBaIiBmaWxsPSJibGFjayIvPgo8cGF0aCBkPSJNOS40Mzg2MSAzNi4wMDAxQzEyLjUwNjUgMzYuMDAwMSAxNC42MzAyIDM0LjE0OCAxNC4xODE3IDMxLjg2NDJDMTEuMzAzMiAxOS4wMzM2IDEwLjQyOTkgMTUuODQxNiAxMC45NDk2IDE1LjU5NThDMTEuMzE2NiAxNS40MjIyIDEyLjM3ODMgMTYuNzE3NyAxMy45MTkgMTcuMTI2QzE3LjY0MjggMTguMTEzNiAyMy4yNzI5IDEyLjM5ODUgMTcuNTY2NyAxMy4yOTE4QzE1LjMyNDggMTMuNjM4NiAxMy4xNjIzIDEyLjIzODIgMTEuNDkyMiAxMS4xNTY5QzguOTEyMzcgOS40ODYzNiA3LjUwNzk3IDguNTc2OTggOC44MDI1MSAxNi4wNDUxQzkuNDQyOTQgMTkuNzI4NiA5Ljk3OTggMjIuMzU5NCAxMC4zNTggMjQuMjEyNUMxMC45OTEyIDI3LjMxNTQgMTEuMTc5NSAyOC4yMzg0IDEwLjY2NDQgMjguMjczMkM5Ljc4NDMyIDI3LjkyNTggOC44MTIzOSAyNy43MjkzIDcuODEwODIgMjcuNzI5M0M0LjczNCAyNy43MjkzIDIuNjExMzQgMjkuNTgwNCAzLjA1OTc4IDMxLjg2NDJDMy41MTgwOSAzNC4xNDggNi4zNzA2OSAzNi4wMDAxIDkuNDM4NjEgMzYuMDAwMVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/lib/themes/high-contrast/extensions/penIcon.svg" /*!*************************************************************!*\ !*** ./src/lib/themes/high-contrast/extensions/penIcon.svg ***! \*************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04Ljc1MjkgMzQuNjAyNUw0LjUwMTkgMzYuMzgwNUw2LjI4NTkgMzIuMTQ0NUM3LjUwMzkgMjkuMjUzNSA5LjE5MjkgMjYuNzIyNSAxMS4zMTU5IDI0LjYwNzVMMzEuMDY2OSA0LjkyOTVDMzEuOTExOSA0LjA4NzUgMzMuNzE2OSA0LjUyMDUgMzUuMDk3OSA1Ljg5NjVDMzYuNDc4OSA3LjI3MjUgMzYuOTEzOSA5LjA3MDUgMzYuMDY3OSA5LjkxMjVMMTYuMzE3OSAyOS41OTA1QzE0LjE5NDkgMzEuNzA1NSAxMS42NTM5IDMzLjM4ODUgOC43NTI5IDM0LjYwMjVaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNOC43NTI5IDM0LjYwMjVMNC41MDE5IDM2LjM4MDVMNi4yODU5IDMyLjE0NDVDNy41MDM5IDI5LjI1MzUgOS4xOTI5IDI2LjcyMjUgMTEuMzE1OSAyNC42MDc1TDMxLjA2NjkgNC45Mjk1QzMxLjkxMTkgNC4wODc1IDMzLjcxNjkgNC41MjA1IDM1LjA5NzkgNS44OTY1QzM2LjQ3ODkgNy4yNzI1IDM2LjkxMzkgOS4wNzA1IDM2LjA2NzkgOS45MTI1TDE2LjMxNzkgMjkuNTkwNUMxNC4xOTQ5IDMxLjcwNTUgMTEuNjUzOSAzMy4zODg1IDguNzUyOSAzNC42MDI1IiBzdHJva2U9IiMwQjhFNjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMjkuNDA5MiA2LjExMTNDMjkuNDA5MiA2LjExMTMgMjQuOTYwMiAzLjczMjMgMjEuMjA4MiAxMS44ODIzQzE5LjQ3NDIgMTUuNjQ4MyAxNi44NTgyIDEzLjQyODMgMTYuODU4MiAxMy40MjgzIiBzdHJva2U9IiMwQjhFNjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTM2LjQyMDkgOC44MjUxQzM2LjQyMDkgOS4yODgxIDM2LjI3OTkgOS42OTgxIDM1Ljk4NzkgOS45ODkxTDI2LjY1MjkgMTkuMjkwMUMyNi45MzQ5IDE4Ljk5OTEgMjcuMDYzOSAxOC42MjIxIDI3LjA2MzkgMTguMTY5MUMyNy4wNjM5IDE3LjI5NjEgMjYuNTU1OSAxNi4yMDcxIDI1LjY1NjkgMTUuMzAyMUMyNC4yOTQ5IDEzLjk0NDEgMjIuNTA5OSAxMy41MDIxIDIxLjY1NDkgMTQuMzExMUwzMC45ODk5IDUuMDEwMUMzMS44MzM5IDQuMTY5MSAzMy42NDA5IDQuNjAwMSAzNS4wMjQ5IDUuOTY5MUMzNS45MjI5IDYuODc0MSAzNi40MjA5IDcuOTUyMSAzNi40MjA5IDguODI1MVoiIGZpbGw9IiM0Qzk3RkYiLz4KPHBhdGggZD0iTTM2LjQyMDkgOC44MjUxQzM2LjQyMDkgOS4yODgxIDM2LjI3OTkgOS42OTgxIDM1Ljk4NzkgOS45ODkxTDI2LjY1MjkgMTkuMjkwMUMyNi45MzQ5IDE4Ljk5OTEgMjcuMDYzOSAxOC42MjIxIDI3LjA2MzkgMTguMTY5MUMyNy4wNjM5IDE3LjI5NjEgMjYuNTU1OSAxNi4yMDcxIDI1LjY1NjkgMTUuMzAyMUMyNC4yOTQ5IDEzLjk0NDEgMjIuNTA5OSAxMy41MDIxIDIxLjY1NDkgMTQuMzExMUwzMC45ODk5IDUuMDEwMUMzMS44MzM5IDQuMTY5MSAzMy42NDA5IDQuNjAwMSAzNS4wMjQ5IDUuOTY5MUMzNS45MjI5IDYuODc0MSAzNi40MjA5IDcuOTUyMSAzNi40MjA5IDguODI1MSIgc3Ryb2tlPSIjMEI4RTY5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC41MTQ2IDMzLjc3MzlDOS45NDE2IDM0LjA3NTkgOS4zNTc2IDM0LjM0NDkgOC43NTA2IDM0LjYwMzlMNC40OTk2IDM2LjM4MTlMNi4yODU2IDMyLjE0NjlDNi41NDM2IDMxLjU0MjkgNi44MTQ2IDMwLjk2MDkgNy4xMTg2IDMwLjM4OTlDNy44MDk2IDMwLjU3MjkgOC41Njc2IDMxLjAxNDkgOS4yMjc2IDMxLjY3MTlDOS44ODY2IDMyLjMyOTkgMTAuMzI5NiAzMy4wODM5IDEwLjUxNDYgMzMuNzczOVoiIGZpbGw9IiM0Qzk3RkYiLz4KPHBhdGggZD0iTTEwLjUxNDYgMzMuNzczOUM5Ljk0MTYgMzQuMDc1OSA5LjM1NzYgMzQuMzQ0OSA4Ljc1MDYgMzQuNjAzOUw0LjQ5OTYgMzYuMzgxOUw2LjI4NTYgMzIuMTQ2OUM2LjU0MzYgMzEuNTQyOSA2LjgxNDYgMzAuOTYwOSA3LjExODYgMzAuMzg5OUM3LjgwOTYgMzAuNTcyOSA4LjU2NzYgMzEuMDE0OSA5LjIyNzYgMzEuNjcxOUM5Ljg4NjYgMzIuMzI5OSAxMC4zMjk2IDMzLjA4MzkgMTAuNTE0NiAzMy43NzM5IiBzdHJva2U9IiMwQjhFNjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8ZyBvcGFjaXR5PSIwLjE1Ij4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNi40OTggOC43NDg1QzM2LjQ5OCA5LjIxMTUgMzYuMzU3IDkuNjIxNSAzNi4wNjUgOS45MTI1TDE2LjMyMyAyOS41OTI1QzE0LjE5MiAzMS43MDQ1IDExLjY1IDMzLjM4NTUgOC43NTEgMzQuNjAzNUw0LjUgMzYuMzgxNUw1LjQ3NCAzNC4wNjQ1TDcuMzk5IDMzLjI1NjVDMTAuMjk4IDMyLjAzODUgMTIuODQgMzAuMzU3NSAxNC45NzEgMjguMjQ1NUwzNC43MTMgOC41NjU1QzM1LjAwNSA4LjI3NDUgMzUuMTQ1IDcuODY0NSAzNS4xNDUgNy40MDE1QzM1LjE0NSA2Ljc1NDUgMzQuODc1IDYuMDAwNSAzNC4zNjYgNS4yNzg1QzM0LjYxNSA1LjQ1MDUgMzQuODY0IDUuNjU1NSAzNS4xMDIgNS44OTI1QzM2IDYuNzk3NSAzNi40OTggNy44NzU1IDM2LjQ5OCA4Ljc0ODVaIiBmaWxsPSIjMEI4RTY5Ii8+CjxwYXRoIGQ9Ik0zNi40OTggOC43NDg1QzM2LjQ5OCA5LjIxMTUgMzYuMzU3IDkuNjIxNSAzNi4wNjUgOS45MTI1TDE2LjMyMyAyOS41OTI1QzE0LjE5MiAzMS43MDQ1IDExLjY1IDMzLjM4NTUgOC43NTEgMzQuNjAzNUw0LjUgMzYuMzgxNUw1LjQ3NCAzNC4wNjQ1TDcuMzk5IDMzLjI1NjVDMTAuMjk4IDMyLjAzODUgMTIuODQgMzAuMzU3NSAxNC45NzEgMjguMjQ1NUwzNC43MTMgOC41NjU1QzM1LjAwNSA4LjI3NDUgMzUuMTQ1IDcuODY0NSAzNS4xNDUgNy40MDE1QzM1LjE0NSA2Ljc1NDUgMzQuODc1IDYuMDAwNSAzNC4zNjYgNS4yNzg1QzM0LjYxNSA1LjQ1MDUgMzQuODY0IDUuNjU1NSAzNS4xMDIgNS44OTI1QzM2IDYuNzk3NSAzNi40OTggNy44NzU1IDM2LjQ5OCA4Ljc0ODUiIHN0cm9rZT0iIzBCOEU2OSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjwvZz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xOC40NTAyIDEyLjgzMUMxOC40NTAyIDEzLjMzIDE4LjA0NjIgMTMuNzM1IDE3LjU0NjIgMTMuNzM1QzE3LjA0NzIgMTMuNzM1IDE2LjY0MTIgMTMuMzMgMTYuNjQxMiAxMi44MzFDMTYuNjQxMiAxMi4zMzEgMTcuMDQ3MiAxMS45MjcgMTcuNTQ2MiAxMS45MjdDMTguMDQ2MiAxMS45MjcgMTguNDUwMiAxMi4zMzEgMTguNDUwMiAxMi44MzFaIiBmaWxsPSIjMEI4RTY5IiBzdHJva2U9IiMwQjhFNjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K"; /***/ }, /***/ "./src/lib/themes/high-contrast/extensions/text2speechIcon.svg" /*!*********************************************************************!*\ !*** ./src/lib/themes/high-contrast/extensions/text2speechIcon.svg ***! \*********************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE2IDIxLjY2OTNWMzQuMjgzNEMxNiAzNS44MTUxIDE0IDM2LjUzNTkgMTIuOCAzNS41NDQ4TDEwLjIgMzMuMzgyNEM5LjIgMzIuNTcxNSA4IDMyLjIxMTEgNi43IDMyLjIxMTFINi4zQzUgMzIuMjExMSA0IDMxLjMxMDEgNCAzMC4xMzg4VjI1LjkwNDFDNCAyNC43MzI4IDUgMjMuODMxOCA2LjMgMjMuODMxOEg2LjdDOCAyMy44MzE4IDkuMiAyMy4zODEzIDEwLjEgMjIuNjYwNEwxMi44IDIwLjQ5OEMxNCAxOS40MTY4IDE2IDIwLjIyNzcgMTYgMjEuNjY5M1oiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0yNCA0QzE5LjU4MTcgNCAxNiA3LjU4MTcyIDE2IDEyQzE2IDE1LjExNDcgMTcuNzc5OSAxNy44MTM2IDIwLjM3ODEgMTkuMTM1MUMyMC4yMDk1IDIwLjkwODcgMTkuNjU2NCAyMS42NjU1IDE5LjMwNDIgMjIuMTQ3M0MxOS4xMjY1IDIyLjM5MDQgMTkgMjIuNTYzNSAxOSAyMi43NjE5QzE5IDIzLjQyODYgMTkuNjY2NyAyMy40Mjg2IDE5LjY2NjcgMjMuNDI4NkMyMC42MTMyIDIzLjQyODYgMjMuNTgxMyAyMi4yNjIzIDI1LjQwOTcgMjBIMjhDMzIuNDE4MyAyMCAzNiAxNi40MTgzIDM2IDEyQzM2IDcuNTgxNzIgMzIuNDE4MyA0IDI4IDRIMjRaIiBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSIjMEI4RTY5Ii8+Cjwvc3ZnPgo="; /***/ }, /***/ "./src/lib/themes/high-contrast/extensions/translateIcon.svg" /*!*******************************************************************!*\ !*** ./src/lib/themes/high-contrast/extensions/translateIcon.svg ***! \*******************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { "use strict"; module.exports = __webpack_require__.p + "assets/translateIcon.ef4a998a82a8567de018.svg"; /***/ }, /***/ "./src/lib/themes/high-contrast/extensions/videoSensingIcon.svg" /*!**********************************************************************!*\ !*** ./src/lib/themes/high-contrast/extensions/videoSensingIcon.svg ***! \**********************************************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBvcGFjaXR5PSIwLjI1IiBjeD0iMzIiIGN5PSIyNiIgcj0iNCIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzBCOEU2OSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxjaXJjbGUgb3BhY2l0eT0iMC41IiBjeD0iMzIiIGN5PSIyMiIgcj0iNCIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzBCOEU2OSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxjaXJjbGUgb3BhY2l0eT0iMC43NSIgY3g9IjMyIiBjeT0iMTgiIHI9IjQiIGZpbGw9IndoaXRlIiBzdHJva2U9IiMwQjhFNjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8Y2lyY2xlIGN4PSIzMiIgY3k9IjE0IiByPSI0IiBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSIjMEI4RTY5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTE3IDE3LjVMMjIuNCAxNEMyMi45IDEzLjcgMjMuNSAxMy44IDIzLjggMTQuM0MyMy45IDE0LjUgMjQgMTQuNyAyNCAxNC44VjI1LjFDMjQgMjUuNyAyMy41IDI2LjEgMjMgMjYuMUMyMi44IDI2LjEgMjIuNiAyNiAyMi41IDI1LjlMMTcgMjIuNlYyNEMxNyAyNi4yIDE1LjIgMjguMSAxMyAyOC4xSDQuMUMxLjggMjggMCAyNi4yIDAgMjRWMTYuMUMwIDEzLjggMS44IDEyIDQuMSAxMkgxM0MxNS4yIDEyIDE3IDEzLjggMTcgMTYuMVYxNy41WiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg=="; /***/ }, /***/ "./src/lib/themes/high-contrast/icon.svg" /*!***********************************************!*\ !*** ./src/lib/themes/high-contrast/icon.svg ***! \***********************************************/ (module) { "use strict"; module.exports = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAyNiAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjI2IiBoZWlnaHQ9IjI2IiByeD0iMTMiIGZpbGw9IiNFNUYwRkYiLz4KPGNpcmNsZSBjeD0iMTkuMTEwNSIgY3k9IjEzLjAwMDQiIHI9IjMuNDQ2NjUiIHRyYW5zZm9ybT0icm90YXRlKDkwIDE5LjExMDUgMTMuMDAwNCkiIGZpbGw9IiNGRkQ5NjYiIHN0cm9rZT0iI0NDOTkwMCIgc3Ryb2tlLXdpZHRoPSIwLjg2MTY2MyIvPgo8Y2lyY2xlIGN4PSIxOC4yOTE5IiBjeT0iOS45NDQ2MiIgcj0iMy40NDY2NSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCAxOC4yOTE5IDkuOTQ0NjIpIiBmaWxsPSIjRTE5REUxIiBzdHJva2U9IiNCRDQyQkQiIHN0cm9rZS13aWR0aD0iMC44NjE2NjMiLz4KPGNpcmNsZSBjeD0iMTYuMDU1MSIgY3k9IjcuNzA4MjkiIHI9IjMuNDQ2NjUiIHRyYW5zZm9ybT0icm90YXRlKC0xNTAgMTYuMDU1MSA3LjcwODI5KSIgZmlsbD0iI0NDQjNGRiIgc3Ryb2tlPSIjNzc0RENCIiBzdHJva2Utd2lkdGg9IjAuODYxNjYzIi8+CjxjaXJjbGUgY3g9IjEzIiBjeT0iNi44ODk1MiIgcj0iMy40NDY2NSIgZmlsbD0iIzgwQjVGRiIgc3Ryb2tlPSIjMzM3M0NDIiBzdHJva2Utd2lkdGg9IjAuODYxNjYzIi8+CjxjaXJjbGUgY3g9IjkuOTQ0OTQiIGN5PSI3LjcwODM0IiByPSIzLjQ0NjY1IiB0cmFuc2Zvcm09InJvdGF0ZSgtMzAgOS45NDQ5NCA3LjcwODM0KSIgZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMC44NjE2NjMiLz4KPGNpcmNsZSBjeD0iNy43MDgxNyIgY3k9IjkuOTQ1MTYiIHI9IjMuNDQ2NjUiIHRyYW5zZm9ybT0icm90YXRlKDEyMCA3LjcwODE3IDkuOTQ1MTYpIiBmaWxsPSIjMTNFQ0FGIiBzdHJva2U9IiMwQjhFNjkiIHN0cm9rZS13aWR0aD0iMC44NjE2NjMiLz4KPGNpcmNsZSBjeD0iNi44ODk0NyIgY3k9IjEzLjAwMDQiIHI9IjMuNDQ2NjUiIHRyYW5zZm9ybT0icm90YXRlKDkwIDYuODg5NDcgMTMuMDAwNCkiIGZpbGw9IiNGRjk5QUEiIHN0cm9rZT0iI0ZGMzM1NSIgc3Ryb2tlLXdpZHRoPSIwLjg2MTY2MyIvPgo8Y2lyY2xlIGN4PSI3LjcwODE2IiBjeT0iMTYuMDU1IiByPSIzLjQ0NjY1IiB0cmFuc2Zvcm09InJvdGF0ZSgtMTIwIDcuNzA4MTYgMTYuMDU1KSIgZmlsbD0iI0ZGOTk2NiIgc3Ryb2tlPSIjRTY0RDAwIiBzdHJva2Utd2lkdGg9IjAuODYxNjYzIi8+CjxjaXJjbGUgY3g9IjkuOTQ0NTgiIGN5PSIxOC4yOTE4IiByPSIzLjQ0NjY1IiB0cmFuc2Zvcm09InJvdGF0ZSgtMTUwIDkuOTQ0NTggMTguMjkxOCkiIGZpbGw9IiNGRkE1NEMiIHN0cm9rZT0iI0RCNkUwMCIgc3Ryb2tlLXdpZHRoPSIwLjg2MTY2MyIvPgo8Y2lyY2xlIGN4PSIxMyIgY3k9IjE5LjExMDciIHI9IjMuNDQ2NjUiIGZpbGw9IiM3RUNFN0UiIHN0cm9rZT0iIzM4OTQzOCIgc3Ryb2tlLXdpZHRoPSIwLjg2MTY2MyIvPgo8cGF0aCBkPSJNMTkuNTAxOCAxOC4yOTE0QzE5LjUwMTggMjAuMTk0OSAxNy45NTg2IDIxLjczOCAxNi4wNTUxIDIxLjczOEMxNC4xNTE2IDIxLjczOCAxMi42MDg1IDIwLjE5NDkgMTIuNjA4NSAxOC4yOTE0QzEyLjYwODUgMTYuMzg3OCAxNC4xNTE2IDE0Ljg0NDcgMTYuMDU1MSAxNC44NDQ3TDE5LjUwMTggMTguMjkxNFoiIGZpbGw9IiM4NUM0RTAiIHN0cm9rZT0iIzJFOEVCOCIgc3Ryb2tlLXdpZHRoPSIwLjg2MTY2MyIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE1Ljc0MjUgMTMuNzA5NUMxNi4wNzk0IDE1LjI1OTcgMTcuNDU5NCAxNi40MjA3IDE5LjExMDUgMTYuNDIwN0MyMC4xMjA3IDE2LjQyMDcgMjEuMDI5NSAxNS45ODYxIDIxLjY1OTkgMTUuMjkzNkMyMS43MTE0IDE1LjUzMDYgMjEuNzM4NSAxNS43NzY2IDIxLjczODUgMTYuMDI5QzIxLjczODUgMTcuOTMyNSAyMC4xOTU0IDE5LjQ3NTcgMTguMjkxOSAxOS40NzU3QzE2LjM4ODMgMTkuNDc1NyAxNC44NDUyIDE3LjkzMjUgMTQuODQ1MiAxNi4wMjlDMTQuODQ1MiAxNS4xMzU3IDE1LjE4NSAxNC4zMjE4IDE1Ljc0MjUgMTMuNzA5NVoiIGZpbGw9IiNGRkJFNEMiLz4KPHBhdGggZD0iTTE1Ljc0MjUgMTMuNzA5NUwxNi4xNjM1IDEzLjYxOEMxNi4xMjkyIDEzLjQ2MDQgMTYuMDA5OSAxMy4zMzUyIDE1Ljg1NDIgMTMuMjkzNEMxNS42OTg1IDEzLjI1MTYgMTUuNTMyNCAxMy4zMDAyIDE1LjQyMzkgMTMuNDE5NEwxNS43NDI1IDEzLjcwOTVaTTIxLjY1OTkgMTUuMjkzNkwyMi4wODA5IDE1LjIwMjFDMjIuMDQ2NiAxNS4wNDQ1IDIxLjkyNzMgMTQuOTE5MyAyMS43NzE2IDE0Ljg3NzVDMjEuNjE1OSAxNC44MzU3IDIxLjQ0OTggMTQuODg0MyAyMS4zNDEzIDE1LjAwMzZMMjEuNjU5OSAxNS4yOTM2Wk0xOS4xMTA1IDE1Ljk4OTlDMTcuNjY2MyAxNS45ODk5IDE2LjQ1ODMgMTQuOTc0MyAxNi4xNjM1IDEzLjYxOEwxNS4zMjE1IDEzLjgwMUMxNS43MDA1IDE1LjU0NTEgMTcuMjUyNCAxNi44NTE1IDE5LjExMDUgMTYuODUxNVYxNS45ODk5Wk0yMS4zNDEzIDE1LjAwMzZDMjAuNzg5MSAxNS42MTAxIDE5Ljk5NDUgMTUuOTg5OSAxOS4xMTA1IDE1Ljk4OTlWMTYuODUxNUMyMC4yNDcgMTYuODUxNSAyMS4yNjk5IDE2LjM2MiAyMS45Nzg1IDE1LjU4MzZMMjEuMzQxMyAxNS4wMDM2Wk0yMS4yMzg5IDE1LjM4NTFDMjEuMjgzOSAxNS41OTIyIDIxLjMwNzcgMTUuODA3NiAyMS4zMDc3IDE2LjAyOUgyMi4xNjkzQzIyLjE2OTMgMTUuNzQ1NyAyMi4xMzg5IDE1LjQ2ODkgMjIuMDgwOSAxNS4yMDIxTDIxLjIzODkgMTUuMzg1MVpNMjEuMzA3NyAxNi4wMjlDMjEuMzA3NyAxNy42OTQ2IDE5Ljk1NzUgMTkuMDQ0OCAxOC4yOTE5IDE5LjA0NDhWMTkuOTA2NUMyMC40MzMzIDE5LjkwNjUgMjIuMTY5MyAxOC4xNzA1IDIyLjE2OTMgMTYuMDI5SDIxLjMwNzdaTTE4LjI5MTkgMTkuMDQ0OEMxNi42MjYzIDE5LjA0NDggMTUuMjc2IDE3LjY5NDYgMTUuMjc2IDE2LjAyOUgxNC40MTQ0QzE0LjQxNDQgMTguMTcwNSAxNi4xNTA0IDE5LjkwNjUgMTguMjkxOSAxOS45MDY1VjE5LjA0NDhaTTE1LjI3NiAxNi4wMjlDMTUuMjc2IDE1LjI0NzEgMTUuNTczIDE0LjUzNTYgMTYuMDYxMSAxMy45OTk1TDE1LjQyMzkgMTMuNDE5NEMxNC43OTcxIDE0LjEwOCAxNC40MTQ0IDE1LjAyNDMgMTQuNDE0NCAxNi4wMjlIMTUuMjc2WiIgZmlsbD0iI0NGOEIxNyIvPgo8cGF0aCBkPSJNMTUuNzQyNSAxMy43MDk1QzE2LjA3OTQgMTUuMjU5NyAxNy40NTk0IDE2LjQyMDcgMTkuMTEwNSAxNi40MjA3QzIwLjEyMDggMTYuNDIwNyAyMS4wMjk1IDE1Ljk4NjEgMjEuNjU5OSAxNS4yOTM2IiBzdHJva2U9IiNDQzk5MDAiIHN0cm9rZS13aWR0aD0iMC44NjE2NjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K"; /***/ }, /***/ "?9c55" /*!**********************************!*\ !*** ./node/extend.js (ignored) ***! \**********************************/ () { /* (ignored) */ /***/ }, /***/ "?fcde" /*!********************************!*\ !*** ./node/self.js (ignored) ***! \********************************/ () { /* (ignored) */ /***/ }, /***/ "?13bc" /*!*********************************!*\ !*** readable-stream (ignored) ***! \*********************************/ () { /* (ignored) */ /***/ }, /***/ "?023d" /*!*******************************!*\ !*** ./lib/locales (ignored) ***! \*******************************/ () { /* (ignored) */ /***/ }, /***/ "?3dfc" /*!*******************************!*\ !*** ./lib/locales (ignored) ***! \*******************************/ () { /* (ignored) */ /***/ }, /***/ "?2dd4" /*!*******************************************!*\ !*** ./locale-data/complete.js (ignored) ***! \*******************************************/ () { /* (ignored) */ /***/ }, /***/ "?b77a" /*!*****************************************!*\ !*** ../locale-data/index.js (ignored) ***! \*****************************************/ () { /* (ignored) */ /***/ }, /***/ "./src/generated/microbit-hex-url.cjs" /*!********************************************!*\ !*** ./src/generated/microbit-hex-url.cjs ***! \********************************************/ (module, __unused_webpack_exports, __webpack_require__) { // This file is generated by scripts/prepublish.mjs // Do not edit this file directly // This file relies on a loader to turn this `require` into a URL module.exports = __webpack_require__(/*! ./../../static/microbit/scratch-microbit-1.2.0.hex */ "./static/microbit/scratch-microbit-1.2.0.hex"); /***/ }, /***/ "./node_modules/classnames/index.js" /*!******************************************!*\ !*** ./node_modules/classnames/index.js ***! \******************************************/ (module, exports) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ /* global define */ (function () { 'use strict'; var hasOwn = {}.hasOwnProperty; function classNames () { var classes = ''; for (var i = 0; i < arguments.length; i++) { var arg = arguments[i]; if (arg) { classes = appendClass(classes, parseValue(arg)); } } return classes; } function parseValue (arg) { if (typeof arg === 'string' || typeof arg === 'number') { return arg; } if (typeof arg !== 'object') { return ''; } if (Array.isArray(arg)) { return classNames.apply(null, arg); } if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) { return arg.toString(); } var classes = ''; for (var key in arg) { if (hasOwn.call(arg, key) && arg[key]) { classes = appendClass(classes, key); } } return classes; } function appendClass (value, newClass) { if (!newClass) { return value; } if (value) { return value + ' ' + newClass; } return value + newClass; } if ( true && module.exports) { classNames.default = classNames; module.exports = classNames; } else if (true) { // register as 'classnames', consistent with npm package name !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { return classNames; }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else // removed by dead control flow {} }()); /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _arrayLikeToArray) /* harmony export */ }); function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _arrayWithHoles) /* harmony export */ }); function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _arrayWithoutHoles) /* harmony export */ }); /* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); function _arrayWithoutHoles(r) { if (Array.isArray(r)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r); } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _assertThisInitialized) /* harmony export */ }); function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _classCallCheck) /* harmony export */ }); function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _createClass) /* harmony export */ }); /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _defineProperty) /* harmony export */ }); /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); function _defineProperty(e, r, t) { return (r = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } /***/ }, /***/ "./node_modules/@babel/runtime/helpers/esm/extends.js" /*!************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/extends.js ***! \************************************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _extends) /* harmony export */ }); function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _getPrototypeOf) /* harmony export */ }); function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _inherits) /* harmony export */ }); /* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t, e); } /***/ }, /***/ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js" /*!******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js ***! \******************************************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _inheritsLoose) /* harmony export */ }); /* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t, o); } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _iterableToArray) /* harmony export */ }); function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _iterableToArrayLimit) /* harmony export */ }); function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _nonIterableRest) /* harmony export */ }); function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _nonIterableSpread) /* harmony export */ }); function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } /***/ }, /***/ "./node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js" /*!*****************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js ***! \*****************************************************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _objectDestructuringEmpty) /* harmony export */ }); function _objectDestructuringEmpty(t) { if (null == t) throw new TypeError("Cannot destructure " + t); } /***/ }, /***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js" /*!****************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js ***! \****************************************************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _objectWithoutProperties) /* harmony export */ }); /* harmony import */ var _objectWithoutPropertiesLoose_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = (0,_objectWithoutPropertiesLoose_js__WEBPACK_IMPORTED_MODULE_0__["default"])(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } /***/ }, /***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js" /*!*********************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js ***! \*********************************************************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _objectWithoutPropertiesLoose) /* harmony export */ }); function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _possibleConstructorReturn) /* harmony export */ }); /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); /* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js"); function _possibleConstructorReturn(t, e) { if (e && ("object" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return (0,_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t); } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _setPrototypeOf) /* harmony export */ }); function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _slicedToArray) /* harmony export */ }); /* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js"); /* harmony import */ var _iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArrayLimit.js */ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js"); /* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); /* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js"); function _slicedToArray(r, e) { return (0,_arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r) || (0,_iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__["default"])(r, e) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(r, e) || (0,_nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _toConsumableArray) /* harmony export */ }); /* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"); /* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js"); /* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"); /* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"); function _toConsumableArray(r) { return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(r) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(r) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__["default"])(); } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ toPrimitive) /* harmony export */ }); /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); function toPrimitive(t, r) { if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ toPropertyKey) /* harmony export */ }); /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); /* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); function toPropertyKey(t) { var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : i + ""; } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _typeof) /* harmony export */ }); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } /***/ }, /***/ "./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"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray) /* harmony export */ }); /* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"); function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(r, a) : void 0; } } /***/ }, /***/ "./node_modules/lodash-es/_Symbol.js" /*!*******************************************!*\ !*** ./node_modules/lodash-es/_Symbol.js ***! \*******************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js"); /** Built-in value references. */ var Symbol = _root_js__WEBPACK_IMPORTED_MODULE_0__["default"].Symbol; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Symbol); /***/ }, /***/ "./node_modules/lodash-es/_baseGetTag.js" /*!***********************************************!*\ !*** ./node_modules/lodash-es/_baseGetTag.js ***! \***********************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ "./node_modules/lodash-es/_Symbol.js"); /* harmony import */ var _getRawTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getRawTag.js */ "./node_modules/lodash-es/_getRawTag.js"); /* harmony import */ var _objectToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_objectToString.js */ "./node_modules/lodash-es/_objectToString.js"); /** `Object#toString` result references. */ var nullTag = '[object Null]', undefinedTag = '[object Undefined]'; /** Built-in value references. */ var symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].toStringTag : undefined; /** * The base implementation of `getTag` without fallbacks for buggy environments. * * @private * @param {*} value The value to query. * @returns {string} Returns the `toStringTag`. */ function baseGetTag(value) { if (value == null) { return value === undefined ? undefinedTag : nullTag; } return (symToStringTag && symToStringTag in Object(value)) ? (0,_getRawTag_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) : (0,_objectToString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (baseGetTag); /***/ }, /***/ "./node_modules/lodash-es/_freeGlobal.js" /*!***********************************************!*\ !*** ./node_modules/lodash-es/_freeGlobal.js ***! \***********************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** Detect free variable `global` from Node.js. */ var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (freeGlobal); /***/ }, /***/ "./node_modules/lodash-es/_getPrototype.js" /*!*************************************************!*\ !*** ./node_modules/lodash-es/_getPrototype.js ***! \*************************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _overArg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_overArg.js */ "./node_modules/lodash-es/_overArg.js"); /** Built-in value references. */ var getPrototype = (0,_overArg_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Object.getPrototypeOf, Object); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getPrototype); /***/ }, /***/ "./node_modules/lodash-es/_getRawTag.js" /*!**********************************************!*\ !*** ./node_modules/lodash-es/_getRawTag.js ***! \**********************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ "./node_modules/lodash-es/_Symbol.js"); /** Used for built-in method references. */ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** * Used to resolve the * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) * of values. */ var nativeObjectToString = objectProto.toString; /** Built-in value references. */ var symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].toStringTag : undefined; /** * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. * * @private * @param {*} value The value to query. * @returns {string} Returns the raw `toStringTag`. */ function getRawTag(value) { var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag]; try { value[symToStringTag] = undefined; var unmasked = true; } catch (e) {} var result = nativeObjectToString.call(value); if (unmasked) { if (isOwn) { value[symToStringTag] = tag; } else { delete value[symToStringTag]; } } return result; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getRawTag); /***/ }, /***/ "./node_modules/lodash-es/_objectToString.js" /*!***************************************************!*\ !*** ./node_modules/lodash-es/_objectToString.js ***! \***************************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** Used for built-in method references. */ var objectProto = Object.prototype; /** * Used to resolve the * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) * of values. */ var nativeObjectToString = objectProto.toString; /** * Converts `value` to a string using `Object.prototype.toString`. * * @private * @param {*} value The value to convert. * @returns {string} Returns the converted string. */ function objectToString(value) { return nativeObjectToString.call(value); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (objectToString); /***/ }, /***/ "./node_modules/lodash-es/_overArg.js" /*!********************************************!*\ !*** ./node_modules/lodash-es/_overArg.js ***! \********************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** * Creates a unary function that invokes `func` with its argument transformed. * * @private * @param {Function} func The function to wrap. * @param {Function} transform The argument transform. * @returns {Function} Returns the new function. */ function overArg(func, transform) { return function(arg) { return func(transform(arg)); }; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (overArg); /***/ }, /***/ "./node_modules/lodash-es/_root.js" /*!*****************************************!*\ !*** ./node_modules/lodash-es/_root.js ***! \*****************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_freeGlobal.js */ "./node_modules/lodash-es/_freeGlobal.js"); /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; /** Used as a reference to the global object. */ var root = _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__["default"] || freeSelf || Function('return this')(); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (root); /***/ }, /***/ "./node_modules/lodash-es/isObjectLike.js" /*!************************************************!*\ !*** ./node_modules/lodash-es/isObjectLike.js ***! \************************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is object-like, else `false`. * @example * * _.isObjectLike({}); * // => true * * _.isObjectLike([1, 2, 3]); * // => true * * _.isObjectLike(_.noop); * // => false * * _.isObjectLike(null); * // => false */ function isObjectLike(value) { return value != null && typeof value == 'object'; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isObjectLike); /***/ }, /***/ "./node_modules/lodash-es/isPlainObject.js" /*!*************************************************!*\ !*** ./node_modules/lodash-es/isPlainObject.js ***! \*************************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js"); /* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ "./node_modules/lodash-es/_getPrototype.js"); /* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js"); /** `Object#toString` result references. */ var objectTag = '[object Object]'; /** Used for built-in method references. */ var funcProto = Function.prototype, objectProto = Object.prototype; /** Used to resolve the decompiled source of functions. */ var funcToString = funcProto.toString; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** Used to infer the `Object` constructor. */ var objectCtorString = funcToString.call(Object); /** * Checks if `value` is a plain object, that is, an object created by the * `Object` constructor or one with a `[[Prototype]]` of `null`. * * @static * @memberOf _ * @since 0.8.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. * @example * * function Foo() { * this.a = 1; * } * * _.isPlainObject(new Foo); * // => false * * _.isPlainObject([1, 2, 3]); * // => false * * _.isPlainObject({ 'x': 0, 'y': 0 }); * // => true * * _.isPlainObject(Object.create(null)); * // => true */ function isPlainObject(value) { if (!(0,_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value) || (0,_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) != objectTag) { return false; } var proto = (0,_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value); if (proto === null) { return true; } var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isPlainObject); /***/ }, /***/ "./node_modules/scratch-l10n/src/index.mjs" /*!*************************************************!*\ !*** ./node_modules/scratch-l10n/src/index.mjs ***! \*************************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* reexport safe */ _supported_locales_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]), /* harmony export */ isRtl: () => (/* reexport safe */ _supported_locales_mjs__WEBPACK_IMPORTED_MODULE_1__.isRtl), /* harmony export */ localeData: () => (/* reexport safe */ _locale_data_mjs__WEBPACK_IMPORTED_MODULE_0__["default"]), /* harmony export */ localeMap: () => (/* reexport safe */ _supported_locales_mjs__WEBPACK_IMPORTED_MODULE_1__.localeMap) /* harmony export */ }); /* harmony import */ var _locale_data_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./locale-data.mjs */ "./node_modules/scratch-l10n/src/locale-data.mjs"); /* harmony import */ var _supported_locales_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./supported-locales.mjs */ "./node_modules/scratch-l10n/src/supported-locales.mjs"); /***/ }, /***/ "./node_modules/scratch-l10n/src/locale-data.mjs" /*!*******************************************************!*\ !*** ./node_modules/scratch-l10n/src/locale-data.mjs ***! \*******************************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ localeData) /* harmony export */ }); /* harmony import */ var _locale_data_af_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./locale-data/af.js */ "./node_modules/scratch-l10n/src/locale-data/af.js"); /* harmony import */ var _locale_data_am_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./locale-data/am.js */ "./node_modules/scratch-l10n/src/locale-data/am.js"); /* harmony import */ var _locale_data_ar_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./locale-data/ar.js */ "./node_modules/scratch-l10n/src/locale-data/ar.js"); /* harmony import */ var _locale_data_ast_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./locale-data/ast.js */ "./node_modules/scratch-l10n/src/locale-data/ast.js"); /* harmony import */ var _locale_data_az_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./locale-data/az.js */ "./node_modules/scratch-l10n/src/locale-data/az.js"); /* harmony import */ var _locale_data_be_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./locale-data/be.js */ "./node_modules/scratch-l10n/src/locale-data/be.js"); /* harmony import */ var _locale_data_bg_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./locale-data/bg.js */ "./node_modules/scratch-l10n/src/locale-data/bg.js"); /* harmony import */ var _locale_data_bn_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./locale-data/bn.js */ "./node_modules/scratch-l10n/src/locale-data/bn.js"); /* harmony import */ var _locale_data_ca_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./locale-data/ca.js */ "./node_modules/scratch-l10n/src/locale-data/ca.js"); /* harmony import */ var _locale_data_ckb_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./locale-data/ckb.js */ "./node_modules/scratch-l10n/src/locale-data/ckb.js"); /* harmony import */ var _locale_data_cs_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./locale-data/cs.js */ "./node_modules/scratch-l10n/src/locale-data/cs.js"); /* harmony import */ var _locale_data_cy_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./locale-data/cy.js */ "./node_modules/scratch-l10n/src/locale-data/cy.js"); /* harmony import */ var _locale_data_da_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./locale-data/da.js */ "./node_modules/scratch-l10n/src/locale-data/da.js"); /* harmony import */ var _locale_data_de_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./locale-data/de.js */ "./node_modules/scratch-l10n/src/locale-data/de.js"); /* harmony import */ var _locale_data_el_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./locale-data/el.js */ "./node_modules/scratch-l10n/src/locale-data/el.js"); /* harmony import */ var _locale_data_en_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./locale-data/en.js */ "./node_modules/scratch-l10n/src/locale-data/en.js"); /* harmony import */ var _locale_data_eo_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./locale-data/eo.js */ "./node_modules/scratch-l10n/src/locale-data/eo.js"); /* harmony import */ var _locale_data_es_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./locale-data/es.js */ "./node_modules/scratch-l10n/src/locale-data/es.js"); /* harmony import */ var _locale_data_et_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./locale-data/et.js */ "./node_modules/scratch-l10n/src/locale-data/et.js"); /* harmony import */ var _locale_data_eu_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./locale-data/eu.js */ "./node_modules/scratch-l10n/src/locale-data/eu.js"); /* harmony import */ var _locale_data_fa_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./locale-data/fa.js */ "./node_modules/scratch-l10n/src/locale-data/fa.js"); /* harmony import */ var _locale_data_fi_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./locale-data/fi.js */ "./node_modules/scratch-l10n/src/locale-data/fi.js"); /* harmony import */ var _locale_data_fil_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./locale-data/fil.js */ "./node_modules/scratch-l10n/src/locale-data/fil.js"); /* harmony import */ var _locale_data_fr_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./locale-data/fr.js */ "./node_modules/scratch-l10n/src/locale-data/fr.js"); /* harmony import */ var _locale_data_fy_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./locale-data/fy.js */ "./node_modules/scratch-l10n/src/locale-data/fy.js"); /* harmony import */ var _locale_data_ga_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./locale-data/ga.js */ "./node_modules/scratch-l10n/src/locale-data/ga.js"); /* harmony import */ var _locale_data_gd_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./locale-data/gd.js */ "./node_modules/scratch-l10n/src/locale-data/gd.js"); /* harmony import */ var _locale_data_gl_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./locale-data/gl.js */ "./node_modules/scratch-l10n/src/locale-data/gl.js"); /* harmony import */ var _locale_data_ha_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./locale-data/ha.js */ "./node_modules/scratch-l10n/src/locale-data/ha.js"); /* harmony import */ var _locale_data_he_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./locale-data/he.js */ "./node_modules/scratch-l10n/src/locale-data/he.js"); /* harmony import */ var _locale_data_hi_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./locale-data/hi.js */ "./node_modules/scratch-l10n/src/locale-data/hi.js"); /* harmony import */ var _locale_data_hr_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./locale-data/hr.js */ "./node_modules/scratch-l10n/src/locale-data/hr.js"); /* harmony import */ var _locale_data_hu_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./locale-data/hu.js */ "./node_modules/scratch-l10n/src/locale-data/hu.js"); /* harmony import */ var _locale_data_hy_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./locale-data/hy.js */ "./node_modules/scratch-l10n/src/locale-data/hy.js"); /* harmony import */ var _locale_data_id_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./locale-data/id.js */ "./node_modules/scratch-l10n/src/locale-data/id.js"); /* harmony import */ var _locale_data_is_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./locale-data/is.js */ "./node_modules/scratch-l10n/src/locale-data/is.js"); /* harmony import */ var _locale_data_it_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./locale-data/it.js */ "./node_modules/scratch-l10n/src/locale-data/it.js"); /* harmony import */ var _locale_data_ja_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./locale-data/ja.js */ "./node_modules/scratch-l10n/src/locale-data/ja.js"); /* harmony import */ var _locale_data_ka_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./locale-data/ka.js */ "./node_modules/scratch-l10n/src/locale-data/ka.js"); /* harmony import */ var _locale_data_kk_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./locale-data/kk.js */ "./node_modules/scratch-l10n/src/locale-data/kk.js"); /* harmony import */ var _locale_data_km_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./locale-data/km.js */ "./node_modules/scratch-l10n/src/locale-data/km.js"); /* harmony import */ var _locale_data_ko_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./locale-data/ko.js */ "./node_modules/scratch-l10n/src/locale-data/ko.js"); /* harmony import */ var _locale_data_ku_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./locale-data/ku.js */ "./node_modules/scratch-l10n/src/locale-data/ku.js"); /* harmony import */ var _locale_data_lt_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./locale-data/lt.js */ "./node_modules/scratch-l10n/src/locale-data/lt.js"); /* harmony import */ var _locale_data_lv_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./locale-data/lv.js */ "./node_modules/scratch-l10n/src/locale-data/lv.js"); /* harmony import */ var _locale_data_mi_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./locale-data/mi.js */ "./node_modules/scratch-l10n/src/locale-data/mi.js"); /* harmony import */ var _locale_data_mn_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./locale-data/mn.js */ "./node_modules/scratch-l10n/src/locale-data/mn.js"); /* harmony import */ var _locale_data_nb_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./locale-data/nb.js */ "./node_modules/scratch-l10n/src/locale-data/nb.js"); /* harmony import */ var _locale_data_nl_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./locale-data/nl.js */ "./node_modules/scratch-l10n/src/locale-data/nl.js"); /* harmony import */ var _locale_data_nn_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./locale-data/nn.js */ "./node_modules/scratch-l10n/src/locale-data/nn.js"); /* harmony import */ var _locale_data_nso_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./locale-data/nso.js */ "./node_modules/scratch-l10n/src/locale-data/nso.js"); /* harmony import */ var _locale_data_or_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./locale-data/or.js */ "./node_modules/scratch-l10n/src/locale-data/or.js"); /* harmony import */ var _locale_data_pl_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./locale-data/pl.js */ "./node_modules/scratch-l10n/src/locale-data/pl.js"); /* harmony import */ var _locale_data_pt_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./locale-data/pt.js */ "./node_modules/scratch-l10n/src/locale-data/pt.js"); /* harmony import */ var _locale_data_qu_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./locale-data/qu.js */ "./node_modules/scratch-l10n/src/locale-data/qu.js"); /* harmony import */ var _locale_data_ro_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./locale-data/ro.js */ "./node_modules/scratch-l10n/src/locale-data/ro.js"); /* harmony import */ var _locale_data_ru_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./locale-data/ru.js */ "./node_modules/scratch-l10n/src/locale-data/ru.js"); /* harmony import */ var _locale_data_sk_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./locale-data/sk.js */ "./node_modules/scratch-l10n/src/locale-data/sk.js"); /* harmony import */ var _locale_data_sl_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./locale-data/sl.js */ "./node_modules/scratch-l10n/src/locale-data/sl.js"); /* harmony import */ var _locale_data_sr_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./locale-data/sr.js */ "./node_modules/scratch-l10n/src/locale-data/sr.js"); /* harmony import */ var _locale_data_sv_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./locale-data/sv.js */ "./node_modules/scratch-l10n/src/locale-data/sv.js"); /* harmony import */ var _locale_data_sw_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./locale-data/sw.js */ "./node_modules/scratch-l10n/src/locale-data/sw.js"); /* harmony import */ var _locale_data_th_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./locale-data/th.js */ "./node_modules/scratch-l10n/src/locale-data/th.js"); /* harmony import */ var _locale_data_tn_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./locale-data/tn.js */ "./node_modules/scratch-l10n/src/locale-data/tn.js"); /* harmony import */ var _locale_data_tr_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./locale-data/tr.js */ "./node_modules/scratch-l10n/src/locale-data/tr.js"); /* harmony import */ var _locale_data_uk_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./locale-data/uk.js */ "./node_modules/scratch-l10n/src/locale-data/uk.js"); /* harmony import */ var _locale_data_uz_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./locale-data/uz.js */ "./node_modules/scratch-l10n/src/locale-data/uz.js"); /* harmony import */ var _locale_data_vi_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./locale-data/vi.js */ "./node_modules/scratch-l10n/src/locale-data/vi.js"); /* harmony import */ var _locale_data_xh_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./locale-data/xh.js */ "./node_modules/scratch-l10n/src/locale-data/xh.js"); /* harmony import */ var _locale_data_zh_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./locale-data/zh.js */ "./node_modules/scratch-l10n/src/locale-data/zh.js"); /* harmony import */ var _locale_data_zu_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./locale-data/zu.js */ "./node_modules/scratch-l10n/src/locale-data/zu.js"); /* harmony import */ var _supported_locales_mjs__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./supported-locales.mjs */ "./node_modules/scratch-l10n/src/supported-locales.mjs"); // temporarily we have all the locale data in scratch-l10n const localeData = [].concat( _locale_data_en_js__WEBPACK_IMPORTED_MODULE_15__, _locale_data_af_js__WEBPACK_IMPORTED_MODULE_0__, _locale_data_am_js__WEBPACK_IMPORTED_MODULE_1__, _locale_data_ar_js__WEBPACK_IMPORTED_MODULE_2__, _locale_data_ast_js__WEBPACK_IMPORTED_MODULE_3__, _locale_data_az_js__WEBPACK_IMPORTED_MODULE_4__, _locale_data_be_js__WEBPACK_IMPORTED_MODULE_5__, _locale_data_bg_js__WEBPACK_IMPORTED_MODULE_6__, _locale_data_bn_js__WEBPACK_IMPORTED_MODULE_7__, _locale_data_ca_js__WEBPACK_IMPORTED_MODULE_8__, _locale_data_ckb_js__WEBPACK_IMPORTED_MODULE_9__, _locale_data_cs_js__WEBPACK_IMPORTED_MODULE_10__, _locale_data_cy_js__WEBPACK_IMPORTED_MODULE_11__, _locale_data_da_js__WEBPACK_IMPORTED_MODULE_12__, _locale_data_de_js__WEBPACK_IMPORTED_MODULE_13__, _locale_data_el_js__WEBPACK_IMPORTED_MODULE_14__, _locale_data_eo_js__WEBPACK_IMPORTED_MODULE_16__, _locale_data_es_js__WEBPACK_IMPORTED_MODULE_17__, _locale_data_et_js__WEBPACK_IMPORTED_MODULE_18__, _locale_data_eu_js__WEBPACK_IMPORTED_MODULE_19__, _locale_data_fa_js__WEBPACK_IMPORTED_MODULE_20__, _locale_data_fi_js__WEBPACK_IMPORTED_MODULE_21__, _locale_data_fil_js__WEBPACK_IMPORTED_MODULE_22__, _locale_data_fr_js__WEBPACK_IMPORTED_MODULE_23__, _locale_data_fy_js__WEBPACK_IMPORTED_MODULE_24__, _locale_data_ga_js__WEBPACK_IMPORTED_MODULE_25__, _locale_data_gd_js__WEBPACK_IMPORTED_MODULE_26__, _locale_data_gl_js__WEBPACK_IMPORTED_MODULE_27__, _locale_data_ha_js__WEBPACK_IMPORTED_MODULE_28__, _locale_data_he_js__WEBPACK_IMPORTED_MODULE_29__, _locale_data_hi_js__WEBPACK_IMPORTED_MODULE_30__, _locale_data_hu_js__WEBPACK_IMPORTED_MODULE_32__, _locale_data_hr_js__WEBPACK_IMPORTED_MODULE_31__, _locale_data_hy_js__WEBPACK_IMPORTED_MODULE_33__, _locale_data_id_js__WEBPACK_IMPORTED_MODULE_34__, _locale_data_is_js__WEBPACK_IMPORTED_MODULE_35__, _locale_data_it_js__WEBPACK_IMPORTED_MODULE_36__, _locale_data_ja_js__WEBPACK_IMPORTED_MODULE_37__, _locale_data_ka_js__WEBPACK_IMPORTED_MODULE_38__, _locale_data_kk_js__WEBPACK_IMPORTED_MODULE_39__, _locale_data_ko_js__WEBPACK_IMPORTED_MODULE_41__, _locale_data_km_js__WEBPACK_IMPORTED_MODULE_40__, _locale_data_ku_js__WEBPACK_IMPORTED_MODULE_42__, _locale_data_lt_js__WEBPACK_IMPORTED_MODULE_43__, _locale_data_lv_js__WEBPACK_IMPORTED_MODULE_44__, _locale_data_mi_js__WEBPACK_IMPORTED_MODULE_45__, _locale_data_mn_js__WEBPACK_IMPORTED_MODULE_46__, _locale_data_nl_js__WEBPACK_IMPORTED_MODULE_48__, _locale_data_nb_js__WEBPACK_IMPORTED_MODULE_47__, _locale_data_nn_js__WEBPACK_IMPORTED_MODULE_49__, _locale_data_nso_js__WEBPACK_IMPORTED_MODULE_50__, _locale_data_or_js__WEBPACK_IMPORTED_MODULE_51__, _locale_data_pl_js__WEBPACK_IMPORTED_MODULE_52__, _locale_data_pt_js__WEBPACK_IMPORTED_MODULE_53__, _locale_data_sl_js__WEBPACK_IMPORTED_MODULE_58__, _locale_data_sk_js__WEBPACK_IMPORTED_MODULE_57__, _locale_data_sr_js__WEBPACK_IMPORTED_MODULE_59__, _locale_data_sv_js__WEBPACK_IMPORTED_MODULE_60__, _locale_data_sw_js__WEBPACK_IMPORTED_MODULE_61__, _locale_data_qu_js__WEBPACK_IMPORTED_MODULE_54__, _locale_data_ro_js__WEBPACK_IMPORTED_MODULE_55__, _locale_data_ru_js__WEBPACK_IMPORTED_MODULE_56__, _locale_data_th_js__WEBPACK_IMPORTED_MODULE_62__, _locale_data_tn_js__WEBPACK_IMPORTED_MODULE_63__, _locale_data_tr_js__WEBPACK_IMPORTED_MODULE_64__, _locale_data_uk_js__WEBPACK_IMPORTED_MODULE_65__, _locale_data_uz_js__WEBPACK_IMPORTED_MODULE_66__, _locale_data_vi_js__WEBPACK_IMPORTED_MODULE_67__, _locale_data_xh_js__WEBPACK_IMPORTED_MODULE_68__, _locale_data_zh_js__WEBPACK_IMPORTED_MODULE_69__, _locale_data_zu_js__WEBPACK_IMPORTED_MODULE_70__, ) for (const lang in _supported_locales_mjs__WEBPACK_IMPORTED_MODULE_71__.customLocales) { localeData.push(_supported_locales_mjs__WEBPACK_IMPORTED_MODULE_71__.customLocales[lang]) } /***/ }, /***/ "./node_modules/scratch-l10n/src/supported-locales.mjs" /*!*************************************************************!*\ !*** ./node_modules/scratch-l10n/src/supported-locales.mjs ***! \*************************************************************/ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ customLocales: () => (/* binding */ customLocales), /* harmony export */ "default": () => (/* binding */ locales), /* harmony export */ isRtl: () => (/* binding */ isRtl), /* harmony export */ localeMap: () => (/* binding */ localeMap) /* harmony export */ }); /** * Currently supported locales for the Scratch Project * @type {object} Key Value pairs of locale code: Language name written in the language */ const locales = { ab: { name: 'Аҧсшәа' }, af: { name: 'Afrikaans' }, ar: { name: 'العربية' }, am: { name: 'አማርኛ' }, an: { name: 'Aragonés' }, ast: { name: 'Asturianu' }, az: { name: 'Azeri' }, id: { name: 'Bahasa Indonesia' }, bn: { name: 'বাংলা' }, be: { name: 'Беларуская' }, bg: { name: 'Български' }, ca: { name: 'Català' }, cs: { name: 'Česky' }, cy: { name: 'Cymraeg' }, da: { name: 'Dansk' }, de: { name: 'Deutsch' }, et: { name: 'Eesti' }, el: { name: 'Ελληνικά' }, en: { name: 'English' }, es: { name: 'Español (España)' }, 'es-419': { name: 'Español Latinoamericano' }, eo: { name: 'Esperanto' }, eu: { name: 'Euskara' }, fa: { name: 'فارسی' }, fil: { name: 'Filipino' }, fr: { name: 'Français' }, fy: { name: 'Frysk' }, ga: { name: 'Gaeilge' }, gd: { name: 'Gàidhlig' }, gl: { name: 'Galego' }, ko: { name: '한국어' }, ha: { name: 'Hausa' }, hy: { name: 'Հայերեն' }, he: { name: 'עִבְרִית' }, hi: { name: 'हिंदी' }, hr: { name: 'Hrvatski' }, xh: { name: 'isiXhosa' }, zu: { name: 'isiZulu' }, is: { name: 'Íslenska' }, it: { name: 'Italiano' }, ka: { name: 'ქართული ენა' }, kk: { name: 'қазақша' }, qu: { name: 'Kichwa' }, sw: { name: 'Kiswahili' }, ht: { name: 'Kreyòl ayisyen' }, ku: { name: 'Kurdî' }, ckb: { name: 'کوردیی ناوەندی' }, lv: { name: 'Latviešu' }, lt: { name: 'Lietuvių' }, hu: { name: 'Magyar' }, mi: { name: 'Māori' }, mn: { name: 'Монгол хэл' }, nl: { name: 'Nederlands' }, ja: { name: '日本語' }, 'ja-Hira': { name: 'にほんご' }, nb: { name: 'Norsk Bokmål' }, nn: { name: 'Norsk Nynorsk' }, oc: { name: 'Occitan' }, or: { name: 'ଓଡ଼ିଆ' }, uz: { name: 'Oʻzbekcha' }, th: { name: 'ไทย' }, km: { name: 'ភាសាខ្មែរ' }, pl: { name: 'Polski' }, pt: { name: 'Português' }, 'pt-br': { name: 'Português Brasileiro' }, rap: { name: 'Rapa Nui' }, ro: { name: 'Română' }, ru: { name: 'Русский' }, nso: { name: 'Sepedi' }, tn: { name: 'Setswana' }, sk: { name: 'Slovenčina' }, sl: { name: 'Slovenščina' }, sr: { name: 'Српски' }, fi: { name: 'Suomi' }, sv: { name: 'Svenska' }, vi: { name: 'Tiếng Việt' }, tr: { name: 'Türkçe' }, uk: { name: 'Українська' }, 'zh-cn': { name: '简体中文' }, 'zh-tw': { name: '繁體中文' }, } const customLocales = { ab: { locale: 'ab', parentLocale: 'ru', }, // Aragonese is not in the locale data, using es for Spain an: { locale: 'an', parentLocale: 'es', }, // haitian creole is not in locale-langData ht: { locale: 'ht', parentLocale: 'fr', }, oc: { locale: 'oc', parentLocale: 'fr', }, rap: { locale: 'rap', parentLocale: 'es', }, // TODO: replace zh-cn, zh-tw with zh-Hans and zh-Hant then customLocales is unnecessary 'zh-cn': { locale: 'zh-cn', parentLocale: 'zh', }, 'zh-tw': { locale: 'zh-tw', parentLocale: 'zh', }, } const localeMap = { 'aa-dj': 'aa_DJ', 'es-419': 'es_419', // ja-Hira: no map - it's 'ja-Hira' on transifex 'pt-br': 'pt_BR', 'zh-cn': 'zh_CN', 'zh-tw': 'zh_TW', } // list of RTL locales supported, and a function to check whether a locale is RTL const rtlLocales = ['ar', 'ckb', 'fa', 'he'] const isRtl = locale => rtlLocales.indexOf(locale) !== -1 /***/ }, /***/ "./node_modules/css-tree/data/patch.json" /*!***********************************************!*\ !*** ./node_modules/css-tree/data/patch.json ***! \***********************************************/ (module) { "use strict"; module.exports = /*#__PURE__*/JSON.parse('{"atrules":{"charset":{"prelude":""},"font-face":{"descriptors":{"unicode-range":{"comment":"replaces , an old production name","syntax":"#"}}}},"properties":{"-moz-background-clip":{"comment":"deprecated syntax in old Firefox, https://developer.mozilla.org/en/docs/Web/CSS/background-clip","syntax":"padding | border"},"-moz-border-radius-bottomleft":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius","syntax":"<\'border-bottom-left-radius\'>"},"-moz-border-radius-bottomright":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius","syntax":"<\'border-bottom-right-radius\'>"},"-moz-border-radius-topleft":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius","syntax":"<\'border-top-left-radius\'>"},"-moz-border-radius-topright":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius","syntax":"<\'border-bottom-right-radius\'>"},"-moz-control-character-visibility":{"comment":"firefox specific keywords, https://bugzilla.mozilla.org/show_bug.cgi?id=947588","syntax":"visible | hidden"},"-moz-osx-font-smoothing":{"comment":"misssed old syntax https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth","syntax":"auto | grayscale"},"-moz-user-select":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/user-select","syntax":"none | text | all | -moz-none"},"-ms-flex-align":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align","syntax":"start | end | center | baseline | stretch"},"-ms-flex-item-align":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align","syntax":"auto | start | end | center | baseline | stretch"},"-ms-flex-line-pack":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-line-pack","syntax":"start | end | center | justify | distribute | stretch"},"-ms-flex-negative":{"comment":"misssed old syntax implemented in IE; TODO: find references for comfirmation","syntax":"<\'flex-shrink\'>"},"-ms-flex-pack":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-pack","syntax":"start | end | center | justify | distribute"},"-ms-flex-order":{"comment":"misssed old syntax implemented in IE; https://msdn.microsoft.com/en-us/library/jj127303(v=vs.85).aspx","syntax":""},"-ms-flex-positive":{"comment":"misssed old syntax implemented in IE; TODO: find references for comfirmation","syntax":"<\'flex-grow\'>"},"-ms-flex-preferred-size":{"comment":"misssed old syntax implemented in IE; TODO: find references for comfirmation","syntax":"<\'flex-basis\'>"},"-ms-interpolation-mode":{"comment":"https://msdn.microsoft.com/en-us/library/ff521095(v=vs.85).aspx","syntax":"nearest-neighbor | bicubic"},"-ms-grid-column-align":{"comment":"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466338.aspx","syntax":"start | end | center | stretch"},"-ms-grid-row-align":{"comment":"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466348.aspx","syntax":"start | end | center | stretch"},"-ms-hyphenate-limit-last":{"comment":"misssed old syntax implemented in IE; https://www.w3.org/TR/css-text-4/#hyphenate-line-limits","syntax":"none | always | column | page | spread"},"-webkit-appearance":{"comment":"webkit specific keywords","references":["http://css-infos.net/property/-webkit-appearance"],"syntax":"none | button | button-bevel | caps-lock-indicator | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button"},"-webkit-background-clip":{"comment":"https://developer.mozilla.org/en/docs/Web/CSS/background-clip","syntax":"[ | border | padding | content | text ]#"},"-webkit-column-break-after":{"comment":"added, http://help.dottoro.com/lcrthhhv.php","syntax":"always | auto | avoid"},"-webkit-column-break-before":{"comment":"added, http://help.dottoro.com/lcxquvkf.php","syntax":"always | auto | avoid"},"-webkit-column-break-inside":{"comment":"added, http://help.dottoro.com/lclhnthl.php","syntax":"always | auto | avoid"},"-webkit-font-smoothing":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth","syntax":"auto | none | antialiased | subpixel-antialiased"},"-webkit-mask-box-image":{"comment":"missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image","syntax":"[ | | none ] [ {4} <-webkit-mask-box-repeat>{2} ]?"},"-webkit-print-color-adjust":{"comment":"missed","references":["https://developer.mozilla.org/en/docs/Web/CSS/-webkit-print-color-adjust"],"syntax":"economy | exact"},"-webkit-text-security":{"comment":"missed; http://help.dottoro.com/lcbkewgt.php","syntax":"none | circle | disc | square"},"-webkit-user-drag":{"comment":"missed; http://help.dottoro.com/lcbixvwm.php","syntax":"none | element | auto"},"-webkit-user-select":{"comment":"auto is supported by old webkit, https://developer.mozilla.org/en-US/docs/Web/CSS/user-select","syntax":"auto | none | text | all"},"alignment-baseline":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#AlignmentBaselineProperty"],"syntax":"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical"},"baseline-shift":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#BaselineShiftProperty"],"syntax":"baseline | sub | super | "},"behavior":{"comment":"added old IE property https://msdn.microsoft.com/en-us/library/ms530723(v=vs.85).aspx","syntax":"+"},"clip-rule":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/masking.html#ClipRuleProperty"],"syntax":"nonzero | evenodd"},"cue":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<\'cue-before\'> <\'cue-after\'>?"},"cue-after":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":" ? | none"},"cue-before":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":" ? | none"},"cursor":{"comment":"added legacy keywords: hand, -webkit-grab. -webkit-grabbing, -webkit-zoom-in, -webkit-zoom-out, -moz-grab, -moz-grabbing, -moz-zoom-in, -moz-zoom-out","references":["https://www.sitepoint.com/css3-cursor-styles/"],"syntax":"[ [ [ ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing | hand | -webkit-grab | -webkit-grabbing | -webkit-zoom-in | -webkit-zoom-out | -moz-grab | -moz-grabbing | -moz-zoom-in | -moz-zoom-out ] ]"},"display":{"comment":"extended with -ms-flexbox","syntax":"| <-non-standard-display>"},"position":{"comment":"extended with -webkit-sticky","syntax":"| -webkit-sticky"},"dominant-baseline":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#DominantBaselineProperty"],"syntax":"auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge"},"image-rendering":{"comment":"extended with <-non-standard-image-rendering>, added SVG keywords optimizeSpeed and optimizeQuality","references":["https://developer.mozilla.org/en/docs/Web/CSS/image-rendering","https://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty"],"syntax":"| optimizeSpeed | optimizeQuality | <-non-standard-image-rendering>"},"fill":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#FillProperty"],"syntax":""},"fill-opacity":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#FillProperty"],"syntax":""},"fill-rule":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#FillProperty"],"syntax":"nonzero | evenodd"},"filter":{"comment":"extend with IE legacy syntaxes","syntax":"| <-ms-filter-function-list>"},"glyph-orientation-horizontal":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#GlyphOrientationHorizontalProperty"],"syntax":""},"glyph-orientation-vertical":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#GlyphOrientationVerticalProperty"],"syntax":""},"kerning":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#KerningProperty"],"syntax":"auto | "},"letter-spacing":{"comment":"fix syntax -> ","references":["https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing"],"syntax":"normal | "},"marker":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | "},"marker-end":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | "},"marker-mid":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | "},"marker-start":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | "},"max-width":{"comment":"fix auto -> none (https://github.com/mdn/data/pull/431); extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/max-width","syntax":"none | | min-content | max-content | fit-content() | <-non-standard-width>"},"width":{"comment":"per spec fit-content should be a function, however browsers are supporting it as a keyword (https://github.com/csstree/stylelint-validator/issues/29)","syntax":"| fit-content | -moz-fit-content | -webkit-fit-content"},"min-width":{"comment":"extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width","syntax":"auto | | min-content | max-content | fit-content() | <-non-standard-width>"},"overflow":{"comment":"extend by vendor keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow","syntax":"| <-non-standard-overflow>"},"pause":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<\'pause-before\'> <\'pause-after\'>?"},"pause-after":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"